*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--navy:#1e3a5f;--navy-light:#2a4f82;--navy-dark:#152d4a;--accent:#e84545;--accent-orange:#f97316;--accent-amber:#f59e0b;--accent-green:#22c55e;--text:#0f172a;--text-muted:#64748b;--border:#e2e8f0;--bg:#f8fafc;--bg-white:#ffffff;--sidebar-width:240px;--radius:8px;--shadow:0 1px 3px rgba(0,0,0,0.1),0 1px 2px rgba(0,0,0,0.06);--shadow-md:0 4px 6px rgba(0,0,0,0.07),0 2px 4px rgba(0,0,0,0.06)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit}input,select,textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;width:100%;background:white;color:var(--text);outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--navy-light);box-shadow:0 0 0 3px rgba(42,79,130,.1)}h1{font-size:24px;font-weight:700}h2{font-size:20px}h2,h3{font-weight:600}h3{font-size:16px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:14px;font-weight:500;transition:all .15s;cursor:pointer}.btn-primary{background:var(--navy);color:white}.btn-primary:hover{background:var(--navy-light)}.btn-secondary{background:white;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg)}.btn-danger{background:#dc2626;color:white}.btn-danger:hover{background:#b91c1c}.btn-sm{padding:5px 10px;font-size:13px}.card{background:white;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:13px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:640px){.form-grid{grid-template-columns:1fr}}.alert-box{padding:12px 16px;border-radius:var(--radius);font-size:13px;border:1px solid}.alert-box.warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.alert-box.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.alert-box.info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.alert-box.success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}table{width:100%;border-collapse:collapse}th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}td,th{border-bottom:1px solid var(--border)}td{padding:12px;vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg)}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--navy);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.badge-red{background:#fef2f2;color:#991b1b}.badge-orange{background:#fff7ed;color:#c2410c}.badge-amber{background:#fffbeb;color:#b45309}.badge-emerald{background:#f0fdf4;color:#166534}.badge-purple{background:#f5f3ff;color:#6d28d9}.badge-neutral{background:#f1f5f9;color:#64748b}.text-navy{color:var(--navy)}.text-red{color:#dc2626}.text-orange{color:#f97316}.text-amber{color:#b45309}.text-green{color:#16a34a}.text-purple{color:#9333ea}.text-muted{color:var(--text-muted)}.text-capitalize{text-transform:capitalize}.text-sm{font-size:13px}.text-xs{font-size:12px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.page-subtitle{color:var(--text-muted);margin-top:4px;font-size:14px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:32px}.two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width:900px){.two-col-grid{grid-template-columns:1fr}}.card-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.card-header-link{font-size:13px;color:var(--text-muted);transition:color .1s}.card-header-link:hover{color:var(--navy)}.card-body{padding:16px;display:flex;flex-direction:column;gap:10px}.stat-card{padding:20px 16px;text-align:center}.stat-value{font-size:32px;font-weight:700}.stat-label{font-size:12px;color:var(--text-muted);margin-top:4px}.empty-state{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:13px}.page-loader{align-items:center;height:60vh}.loader-centered,.page-loader{display:flex;justify-content:center}.loader-centered{padding:80px}.spinner-lg{width:32px;height:32px}.alert-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg);border-radius:var(--radius);border:1px solid var(--border)}.alert-item-title{font-weight:500;font-size:13px}.activity-item{padding:8px 12px;background:var(--bg);border-radius:var(--radius);font-size:13px}.activity-action{font-weight:500;color:var(--navy);text-transform:capitalize}.coverage-bar{margin-top:24px;padding:16px 20px;background:var(--navy);border-radius:var(--radius);color:white;font-size:13px;line-height:1.6}.matter-link{font-weight:600;color:var(--navy)}.matter-link:hover{color:var(--navy-light)}.filter-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.filter-btn{background:white;color:var(--text);border:1px solid var(--border)}.filter-btn-active{background:var(--navy);color:white;border-color:var(--navy)}.nl-result{margin-top:12px;border:1px solid var(--border);border-radius:var(--radius);padding:12px}.nl-result-explanation,.nl-result-query{font-size:13px;margin-bottom:6px}.nl-result-explanation,.nl-result-meta{color:var(--text-muted)}.nl-result-meta{font-size:12px}.badge-blue{background:#eff6ff;color:#1d4ed8}.back-btn{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:13px;margin-bottom:8px;background:none;border:none;padding:0;cursor:pointer;transition:color .1s}.back-btn:hover{color:var(--navy)}.matter-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.matter-header-desc,.matter-header-meta{color:var(--text-muted);margin-top:4px}.matter-header-desc{font-size:13px}.matter-actions{display:flex;gap:8px}.btn-delete-outline{color:#dc2626;border-color:#fecaca}.urgency-banner{border-radius:var(--radius);padding:16px 20px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;border:1px solid}.urgency-banner-red{background:#fef2f2;border-color:#fca5a540;--banner-color:#991b1b}.urgency-banner-amber{background:#fffbeb;border-color:#fcd34d40;--banner-color:#b45309}.urgency-banner-emerald{background:#f0fdf4;border-color:#86efac40;--banner-color:#166534}.urgency-banner-purple{background:#f5f3ff;border-color:#c4b5fd40;--banner-color:#7c3aed}.urgency-banner-neutral{background:#f8fafc;border-color:#e2e8f040;--banner-color:#64748b}.urgency-banner-label{font-weight:600;font-size:15px;color:var(--banner-color,var(--text))}.edit-form{display:flex;flex-direction:column;gap:16px}.form-actions{display:flex;gap:12px}.calc-count{font-size:12px;color:var(--text-muted)}.alert-acknowledged{color:#16a34a;font-weight:500}.page-wrapper{padding:32px}.card-overflow{overflow:hidden}.card-mb{margin-bottom:24px}.filter-card{padding:16px;margin-bottom:20px}.filter-card-title{margin-bottom:8px}.filter-input-row{display:flex;gap:8px;flex-wrap:wrap}.filter-input-grow{min-width:280px;flex:1}.status-select{width:auto;font-size:13px}.audit-badge{font-family:monospace;font-size:11px}.table-cell-nowrap{font-size:13px;color:var(--text-muted);white-space:nowrap}.table-cell-mono{font-size:12px;color:var(--text-muted);font-family:monospace}.pagination-footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:13px}.pagination-buttons{display:flex;gap:8px}.table-empty,.table-loading{padding:48px;text-align:center}.table-empty{color:var(--text-muted)}textarea.resize-v{resize:vertical}.text-danger{color:#dc2626}.text-success{color:#16a34a}.not-found-page{padding:64px;text-align:center}.not-found-code{font-size:48px;color:var(--text-muted);margin-bottom:8px}.approval-actions{display:flex;gap:8px;flex-wrap:wrap}.banner-warning{max-width:320px}.banner-warning-reason{margin-top:6px}.form-page{padding:32px;max-width:760px}.form-page-header{margin-bottom:24px}.form-page-subtitle{color:var(--text-muted);margin-top:4px;font-size:14px}.form-section{padding:24px}.form-section,.form-section-title{margin-bottom:20px}.field-error{font-size:12px;color:#dc2626}.field-hint{font-size:12px;color:var(--text-muted)}.input-error{border-color:#dc2626}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.checkbox-label input[type=checkbox]{width:auto;flex-shrink:0}.intake-card{padding:16px;margin-bottom:20px}.intake-card-subtitle{margin:0 0 12px;font-size:13px;color:var(--text-muted)}.intake-draft{margin-top:12px;border:1px solid var(--border);border-radius:var(--radius);padding:12px}.intake-draft-summary{font-weight:600;margin-bottom:8px}.intake-draft-section-label{font-size:13px;margin-bottom:6px}.intake-draft-list{margin:0 0 10px 18px;padding:0}.intake-draft-list li{margin-bottom:4px;font-size:13px}.intake-draft-empty{font-size:13px;color:var(--text-muted)}.form-submit-row{display:flex;gap:12px}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{padding:32px;max-width:440px;width:90%}.modal-title{margin-bottom:8px}.modal-body{font-size:14px;color:var(--text-muted);margin-bottom:20px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.detail-page{padding:32px;max-width:800px}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.detail-header-meta{color:var(--text-muted);margin-top:4px}.status-selector-group{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.label-xs{display:block;font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.banner-date-label{font-size:13px;color:var(--text-muted);margin-bottom:4px}.banner-date-value{font-size:28px;font-weight:700;color:var(--banner-color,var(--text))}.banner-urgency-text{font-size:14px;color:var(--banner-color,var(--text-muted));margin-top:4px}.dates-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.date-card{padding:14px 16px;background:var(--bg);border-radius:var(--radius);border:1px solid var(--border)}.date-card-highlight{background:var(--navy);border-color:var(--navy)}.date-card-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.date-card-highlight .date-card-label{color:rgba(255,255,255,.7)}.date-card-value{font-size:17px;font-weight:600}.date-card-highlight .date-card-value{color:white}.inputs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input-field-row{padding:10px 0;border-bottom:1px solid var(--border)}.input-field-label{font-size:12px;color:var(--text-muted);margin-bottom:2px}.input-field-value{font-size:14px;font-weight:500}.notes-block{margin-top:16px;padding:12px;background:var(--bg);border-radius:var(--radius)}.notes-block-label{font-size:12px;color:var(--text-muted);margin-bottom:4px}.section-subtitle{font-size:13px;color:var(--text-muted);margin-bottom:16px}.reasoning-step{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.reasoning-step:last-child{border-bottom:none}.step-number{width:28px;height:28px;border-radius:50%;background:var(--navy);color:white;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0;margin-top:2px}.step-title{font-weight:600;font-size:14px;margin-bottom:4px}.step-desc{font-size:13px;color:var(--text-muted);line-height:1.6}.step-date-badge{display:inline-block;margin-top:6px;background:#eff6ff;color:#1d4ed8;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.legal-refs-grid{display:grid;gap:12px}.legal-ref-card{border:1px solid var(--border);border-radius:var(--radius);padding:12px}.legal-ref-title{font-size:14px;font-weight:600}.legal-ref-meta{font-size:13px;color:var(--text-muted);margin-top:4px}.legal-ref-summary{font-size:13px;margin-top:8px}.legal-ref-footer{font-size:12px;color:var(--text-muted);margin-top:8px}.ai-support-fields{display:grid;gap:12px}.ai-result{margin-top:16px;border:1px solid var(--border);border-radius:var(--radius);padding:16px}.ai-result-model{font-size:13px;color:var(--text-muted);margin-bottom:6px}.ai-result-summary{font-weight:600;margin-bottom:8px}.ai-result-list{margin:0 0 10px 18px;padding:0}.ai-result-list li{margin-bottom:6px;font-size:14px}html[data-theme=dark]{color-scheme:dark;--navy-light:#3b6ea8;--text:#e2e8f0;--text-muted:#94a3b8;--border:#2d3e55;--bg:#0f172a;--bg-white:#1e293b;--shadow:0 1px 3px rgba(0,0,0,0.3),0 1px 2px rgba(0,0,0,0.2);--shadow-md:0 4px 6px rgba(0,0,0,0.3),0 2px 4px rgba(0,0,0,0.2)}html[data-theme=dark] body{background:var(--bg)}html[data-theme=dark] .card{background:var(--bg-white);border-color:var(--border)}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#0f172a;color:var(--text);border-color:var(--border)}html[data-theme=dark] input:focus,html[data-theme=dark] select:focus,html[data-theme=dark] textarea:focus{border-color:var(--navy-light);box-shadow:0 0 0 3px rgba(59,110,168,.2)}html[data-theme=dark] .btn-secondary{background:var(--bg-white);color:var(--text);border-color:var(--border)}html[data-theme=dark] .btn-secondary:hover{background:#263348}html[data-theme=dark] .btn-danger{background:#b91c1c}html[data-theme=dark] .alert-box{border-color:var(--border);background:var(--bg-white)}html[data-theme=dark] .alert-box.error{background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.3);color:#fca5a5}html[data-theme=dark] .alert-box.success{background:rgba(74,222,128,.1);border-color:rgba(74,222,128,.3);color:#86efac}html[data-theme=dark] .alert-box.info{background:rgba(96,165,250,.1);border-color:rgba(96,165,250,.3);color:#93c5fd}html[data-theme=dark] .alert-box.warning{background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.3);color:#fcd34d}html[data-theme=dark] .shell-sidebar{background:var(--navy);border-right-color:#0a1525}html[data-theme=dark] .badge-neutral{background:#1e293b;color:#94a3b8}html[data-theme=dark] .badge-blue{background:rgba(96,165,250,.15);color:#93c5fd}html[data-theme=dark] table,html[data-theme=dark] th{border-color:var(--border)}html[data-theme=dark] th{background:#0a1525}html[data-theme=dark] td{border-color:var(--border)}html[data-theme=dark] tr:hover td{background:#1a2840}html[data-theme=dark] .card-header{border-color:var(--border)}html[data-theme=dark] .card-body{background:var(--bg-white)}html[data-theme=dark] .alert-item{background:#0a1525;border-color:var(--border)}html[data-theme=dark] .activity-item{background:#0a1525}html[data-theme=dark] .coverage-bar{background:var(--navy)}html[data-theme=dark] .urgency-banner-red{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.25)}html[data-theme=dark] .urgency-banner-amber{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.25)}html[data-theme=dark] .urgency-banner-emerald{background:rgba(74,222,128,.12);border-color:rgba(74,222,128,.25)}html[data-theme=dark] .urgency-banner-purple{background:rgba(167,139,250,.12);border-color:rgba(167,139,250,.25)}html[data-theme=dark] .date-card,html[data-theme=dark] .urgency-banner-neutral{background:#0a1525;border-color:var(--border)}html[data-theme=dark] .notes-block{background:#0a1525}html[data-theme=dark] .intake-card{background:var(--bg-white);border-color:var(--border)}html[data-theme=dark] .intake-draft{background:#0a1525;border-color:var(--border)}html[data-theme=dark] .step-date-badge{background:rgba(96,165,250,.15);color:#93c5fd}html[data-theme=dark] .ai-result,html[data-theme=dark] .legal-ref-card,html[data-theme=dark] .nl-result{background:#0a1525;border-color:var(--border)}html[data-theme=dark] .modal-overlay{background:rgba(0,0,0,.7)}html[data-theme=dark] .filter-btn{background:var(--bg-white);border-color:var(--border);color:var(--text)}html[data-theme=dark] .filter-btn:hover{background:#263348}.error-boundary{padding:20px 24px;border:1px solid #ef4444;border-radius:8px;background:#fff0f0;color:var(--text)}.error-boundary-title{font-weight:600;margin-bottom:4px}.error-boundary-detail{font-size:12px;color:var(--text-muted);margin-bottom:12px;font-family:monospace}html[data-theme=dark] .error-boundary{background:#2d1a1a;border-color:#f87171}