:root{--bg:#f6f8fa;--surface:#fff;--navy:#1a3a52;--navy-deep:#122a3c;--navy-soft:#2a5475;--text:#1a3a52;--text-soft:#425466;--text-muted:#8898aa;--border:#1a3a521a;--border-strong:#1a3a522e;--primary:#1a3a52;--primary-hover:#122a3c;--accent:#c89b3c;--success:#00b67a;--warning:#c4421a;--shadow-sm:0 1px 2px #1a3a520f;--shadow-md:0 4px 12px #1a3a5214;--shadow-lg:0 12px 40px #1a3a5224;--font-serif:"Playfair Display", Georgia, "Times New Roman", serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:15px;line-height:1.5}button,input{font-family:inherit}.login-shell{background:radial-gradient(1200px 600px at 80% -10%, #635bff1f, transparent 60%), radial-gradient(900px 500px at -10% 110%, #00d4ff1a, transparent 60%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--surface);width:100%;max-width:400px;box-shadow:var(--shadow-lg);border:1px solid var(--border);border-radius:16px;padding:36px 32px}.brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.brand-mark{background:var(--navy);width:36px;height:36px;box-shadow:var(--shadow-sm);color:#fff;font-family:var(--font-serif);letter-spacing:.02em;border-radius:8px;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.brand-mark:after{content:"I"}.brand-title{font-family:var(--font-serif);color:var(--navy);font-size:18px;font-weight:600}.brand-sub{color:var(--text-muted);font-size:13px}.label{color:var(--text-soft);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.input{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-size:15px;transition:border-color .12s,box-shadow .12s}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #635bff26}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;width:100%;box-shadow:var(--shadow-sm);border:none;border-radius:8px;margin-top:16px;padding:11px 16px;font-size:14px;font-weight:600;transition:background .12s,transform 60ms}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error{color:var(--warning);background:#fff1f0;border:1px solid #ffd2cc;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:13px}.app-shell{background:var(--bg);min-height:100vh}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;padding:14px 32px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:12px;display:flex}.topbar h1{font-family:var(--font-serif);color:var(--navy);letter-spacing:.005em;margin:0;font-size:18px;font-weight:600}.topbar .sub{color:var(--text-muted);font-size:13px}.btn-ghost{border:1px solid var(--border-strong);color:var(--text-soft);cursor:pointer;background:0 0;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:500}.btn-ghost:hover{background:var(--bg)}.container{max-width:960px;margin:0 auto;padding:40px 32px 80px}.page-title{font-family:var(--font-serif);letter-spacing:-.005em;color:var(--navy);margin:0 0 6px;font-size:32px;font-weight:600}.page-sub{color:var(--text-muted);margin:0 0 28px}.search-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:14px;margin-bottom:24px;padding:20px}.search-row{gap:10px;display:flex}.search-input{border:1px solid var(--border-strong);color:var(--text);border-radius:10px;flex:1;padding:12px 14px;font-size:15px;transition:border-color .12s,box-shadow .12s}.search-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #635bff26}.search-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:12px 22px;font-size:14px;font-weight:600}.search-btn:hover{background:var(--primary-hover)}.search-btn:disabled{opacity:.6;cursor:not-allowed}.hint{color:var(--text-muted);margin-top:10px;font-size:13px}.empty{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-title{color:var(--text-soft);margin-bottom:4px;font-weight:600}.contact-block{margin-bottom:36px}.contact-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;padding:0 4px;display:flex}.contact-name{color:var(--text);font-size:19px;font-weight:600}.contact-phones{color:var(--text-muted);font-size:13px}.matter-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:12px;padding:20px 22px;transition:box-shadow .12s,border-color .12s}.matter-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.matter-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.matter-title{color:var(--text);margin:0 0 4px;font-size:15px;font-weight:600}.matter-meta{color:var(--text-muted);font-size:13px}.status-pill{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.status-open{color:var(--success);background:#00b67a1f}.status-closed{color:var(--text-soft);background:#0a254014}.status-other{color:var(--primary);background:#635bff1a}.assignments{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 24px;margin-bottom:16px;display:grid}.field-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:3px;font-size:11px;font-weight:600}.field-value{color:var(--text);font-size:14px;font-weight:500}.field-value.muted{color:var(--text-muted);font-style:italic;font-weight:400}.note-block{border:1px solid var(--border);background:#f6f9fc;border-radius:8px;padding:14px 16px}.note-head{color:var(--text-muted);justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.note-body{color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:200px;font-size:14px;overflow-y:auto}.note-empty{color:var(--text-muted);font-size:13px;font-style:italic}.landing-shell{background:radial-gradient(1400px 700px at 50% 110%, #c89b3c0f, transparent 60%), linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 100%);flex-direction:column;justify-content:center;align-items:center;gap:28px;min-height:100vh;padding:24px;display:flex}.landing-logo{max-width:min(520px,80vw);height:auto;display:block}.landing-rule{background:#ffffff40;width:80px;height:1px;margin:8px 0}.landing-tagline{font-family:var(--font-serif);letter-spacing:.18em;text-transform:uppercase;color:#ffffffbf;font-size:16px;font-weight:500}.tool-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.tool-card{background:var(--surface);border:1px solid var(--border);color:inherit;box-shadow:var(--shadow-sm);border-radius:12px;padding:22px 24px;text-decoration:none;transition:border-color .12s,box-shadow .12s,transform 60ms;display:block}.tool-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.tool-card:active{transform:translateY(1px)}.tool-title{color:var(--text);margin-bottom:6px;font-size:16px;font-weight:600}.tool-desc{color:var(--text-soft);margin-bottom:14px;font-size:14px;line-height:1.45}.tool-cta{color:var(--primary);font-size:13px;font-weight:600}.spinner{vertical-align:-2px;border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
