:root{--canvas:#141a15;--surface-raised:#1e271e;--surface-sunken:#19211a;--ink-primary:#eaf2e8;--ink-secondary:#a9bba7;--ink-muted:#8a9a88;--hairline:#2c382c;--accent:#86be95;--accent-ink:#12210f;--accent-hover:#9bcda8;--handled:#93c79e;--handled-tint:#1d2e22;--destructive:#e68a77;--destructive-tint:#35211c;--needs-reply:#e4b85f;--needs-reply-tint:#322b18;--fallback-over-email:#b6a8de;--fallback-over-email-tint:#262338;--warning:#a8cbd3;--warning-tint:#20302f;--bubble-in:#19211a;--bubble-in-ink:#eaf2e8;--bubble-out:#26362a;--bubble-out-ink:#dcebdd;--focus-ring:#86be95;--shadow:0 12px 32px #00000059;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;--bg:var(--canvas);--card:var(--surface-raised);--border:var(--hairline);--text:var(--ink-primary);--muted:var(--ink-secondary);--ok:var(--handled);--err:var(--destructive);--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font:16px/1.5 var(--sans);color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased}body{margin:0}h1,h2{margin:0;font-weight:600}input,textarea{font:inherit;color:var(--text);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);box-sizing:border-box;width:100%;padding:9px 11px}input:focus,textarea:focus{border-color:var(--accent);outline:none}button{font:inherit;color:var(--text);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;padding:9px 16px;font-weight:600}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.ghost{background:0 0}:where(button,input,textarea,[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}:root[data-palette=soft-green][data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#141a15;--surface-raised:#1e271e;--surface-sunken:#19211a;--ink-primary:#eaf2e8;--ink-secondary:#a9bba7;--ink-muted:#8a9a88;--hairline:#2c382c;--accent:#86be95;--accent-ink:#12210f;--accent-hover:#9bcda8;--handled:#93c79e;--handled-tint:#1d2e22;--destructive:#e68a77;--destructive-tint:#35211c;--needs-reply:#e4b85f;--needs-reply-tint:#322b18;--fallback-over-email:#b6a8de;--fallback-over-email-tint:#262338;--warning:#a8cbd3;--warning-tint:#20302f;--bubble-in:#19211a;--bubble-in-ink:#eaf2e8;--bubble-out:#26362a;--bubble-out-ink:#dcebdd;--focus-ring:#86be95;--shadow:0 12px 32px #00000059}:root[data-palette=soft-green][data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#eaf0e8;--surface-raised:#f8fbf6;--surface-sunken:#eff4ec;--ink-primary:#2b342b;--ink-secondary:#5c6a5a;--ink-muted:#5d685b;--hairline:#d8e2d3;--accent:#4a7559;--accent-ink:#fff;--accent-hover:#3b6048;--handled:#4b7052;--handled-tint:#e1eedf;--destructive:#a84a38;--destructive-tint:#f4e4df;--needs-reply:#8a5a12;--needs-reply-tint:#f4e9ce;--fallback-over-email:#6e6290;--fallback-over-email-tint:#ece9f4;--warning:#35626e;--warning-tint:#e3eef0;--bubble-in:#eff4ec;--bubble-in-ink:#2b342b;--bubble-out:#e3eee2;--bubble-out-ink:#33472f;--focus-ring:#4a7559;--shadow:0 12px 32px #23211e24}:root[data-palette=cool-slate][data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#14181c;--surface-raised:#1e242a;--surface-sunken:#191f24;--ink-primary:#ecf1f5;--ink-secondary:#aab6c0;--ink-muted:#8c99a5;--hairline:#2e3841;--accent:#6fa8c7;--accent-ink:#10202b;--accent-hover:#8abbd5;--handled:#8fbfaa;--handled-tint:#1e2c28;--destructive:#e8897b;--destructive-tint:#35211d;--needs-reply:#e6b863;--needs-reply-tint:#332b19;--fallback-over-email:#b4a7e0;--fallback-over-email-tint:#262338;--warning:#a8cbd3;--warning-tint:#20302f;--bubble-in:#191f24;--bubble-in-ink:#ecf1f5;--bubble-out:#25323c;--bubble-out-ink:#dce7ef;--focus-ring:#6fa8c7;--shadow:0 12px 32px #00000059}:root[data-palette=cool-slate][data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#e8ecef;--surface-raised:#f7f9fb;--surface-sunken:#edf1f4;--ink-primary:#262e36;--ink-secondary:#5c6874;--ink-muted:#5b6874;--hairline:#d6dee4;--accent:#3e6b85;--accent-ink:#fff;--accent-hover:#345a70;--handled:#4f7160;--handled-tint:#e2ede8;--destructive:#a94336;--destructive-tint:#f6e4e0;--needs-reply:#7f4f0b;--needs-reply-tint:#f5e9d2;--fallback-over-email:#6a5f92;--fallback-over-email-tint:#eceaf6;--warning:#35626e;--warning-tint:#e3eef0;--bubble-in:#edf1f4;--bubble-in-ink:#262e36;--bubble-out:#e2eaf0;--bubble-out-ink:#2c3a45;--focus-ring:#3e6b85;--shadow:0 12px 32px #23211e24}:root[data-palette=rose-pine][data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#191724;--surface-raised:#1f1d2e;--surface-sunken:#171523;--ink-primary:#e0def4;--ink-secondary:#b9b3d0;--ink-muted:#9a94b5;--hairline:#343148;--accent:#c4a7e7;--accent-ink:#191724;--accent-hover:#d6c1f0;--handled:#9ccfd8;--handled-tint:#1d2c34;--destructive:#eb6f92;--destructive-tint:#3a1f2a;--needs-reply:#f6c177;--needs-reply-tint:#3a2b1d;--fallback-over-email:#ebbcba;--fallback-over-email-tint:#3a2630;--warning:#a8cbd3;--warning-tint:#20302f;--bubble-in:#1f1d2e;--bubble-in-ink:#e0def4;--bubble-out:#2a263b;--bubble-out-ink:#e0def4;--focus-ring:#c4a7e7;--shadow:0 12px 32px #00000059}:root[data-palette=rose-pine][data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#faf4ed;--surface-raised:#fffaf3;--surface-sunken:#f3eae1;--ink-primary:#575279;--ink-secondary:#68647f;--ink-muted:#69647e;--hairline:#e4dcd3;--accent:#75618f;--accent-ink:#fff;--accent-hover:#66537d;--handled:#286983;--handled-tint:#e2ede9;--destructive:#a24f66;--destructive-tint:#f7e5e8;--needs-reply:#8a5a12;--needs-reply-tint:#f5e7cc;--fallback-over-email:#6f5a8a;--fallback-over-email-tint:#efe7f1;--warning:#35626e;--warning-tint:#e3eef0;--bubble-in:#f2e9e1;--bubble-in-ink:#575279;--bubble-out:#f4dfe4;--bubble-out-ink:#5d3e48;--focus-ring:#75618f;--shadow:0 12px 32px #23211e24}:root[data-palette=nord][data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#2e3440;--surface-raised:#3b4252;--surface-sunken:#2a2f3a;--ink-primary:#eceff4;--ink-secondary:#d8dee9;--ink-muted:#a3b1c4;--hairline:#434c5e;--accent:#88c0d0;--accent-ink:#2e3440;--accent-hover:#8fbcbb;--handled:#a3be8c;--handled-tint:#2a3527;--destructive:#dd8791;--destructive-tint:#3a2528;--needs-reply:#ebcb8b;--needs-reply-tint:#393322;--fallback-over-email:#c3a0bd;--fallback-over-email-tint:#332b3a;--warning:#a8cbd3;--warning-tint:#20302f;--bubble-in:#3b4252;--bubble-in-ink:#eceff4;--bubble-out:#3b4a5e;--bubble-out-ink:#e5e9f0;--focus-ring:#88c0d0;--shadow:0 12px 32px #00000059}:root[data-palette=nord][data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#eceff4;--surface-raised:#f8fafc;--surface-sunken:#e5e9f0;--ink-primary:#2e3440;--ink-secondary:#434c5e;--ink-muted:#4c566a;--hairline:#d8dee9;--accent:#4c6a8a;--accent-ink:#fff;--accent-hover:#3e5874;--handled:#3f6a45;--handled-tint:#e3ede2;--destructive:#a33a44;--destructive-tint:#f6e2e4;--needs-reply:#7a5a00;--needs-reply-tint:#f6ebd2;--fallback-over-email:#6d4f86;--fallback-over-email-tint:#ece6f3;--warning:#35626e;--warning-tint:#e3eef0;--bubble-in:#e5e9f0;--bubble-in-ink:#2e3440;--bubble-out:#dfe7f0;--bubble-out-ink:#2e3440;--focus-ring:#4c6a8a;--shadow:0 12px 32px #23211e24}.topbar{z-index:20;background:var(--surface-raised);border-bottom:1px solid var(--hairline);flex:none;align-items:center;gap:18px;height:64px;padding:0 20px;display:flex;position:sticky;top:0}.topbar-brand{flex:none;align-items:center;gap:10px;display:flex}.topbar-mark{background:var(--accent);width:32px;height:32px;color:var(--accent-ink);border-radius:10px;justify-content:center;align-items:center;display:flex}.topbar-wordmark{color:var(--ink-primary);letter-spacing:.01em;white-space:nowrap;font-size:15px;font-weight:600}.topbar-nav{border-left:1px solid var(--hairline);align-items:center;gap:4px;margin-left:2px;padding-left:10px;display:flex}.topbar-nav-link{border-radius:var(--radius-md);width:34px;height:34px;color:var(--ink-secondary);border:1px solid #0000;place-items:center;text-decoration:none;display:grid}.topbar-nav-link:hover{background:var(--surface-sunken);color:var(--ink-primary)}.topbar-nav-link.is-active{background:var(--surface-sunken);border-color:var(--hairline);color:var(--accent)}.topbar-right{align-items:center;gap:12px;margin-left:auto;display:flex}.locale-switch{background:var(--surface-sunken);border:1px solid var(--hairline);border-radius:var(--radius-full);gap:2px;padding:2px;display:inline-flex}.locale-switch button{border-radius:var(--radius-full);color:var(--ink-secondary);letter-spacing:.04em;background:0 0;border:1px solid #0000;padding:5px 9px;font-size:11px;font-weight:600;line-height:1.2}.locale-switch button:hover:not(:disabled){color:var(--ink-primary);border-color:#0000}.locale-switch button.is-active{background:var(--accent);color:var(--accent-ink)}.topbar-account{border-left:1px solid var(--hairline);flex-direction:column;align-items:flex-end;max-width:200px;padding-left:12px;line-height:1.2;display:flex}.topbar-account-label{color:var(--ink-muted);font-size:11px}.topbar-account-value{max-width:190px;color:var(--ink-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.topbar-menu{background:var(--surface-sunken);border:1px solid var(--hairline);border-radius:var(--radius-md);width:34px;height:34px;color:var(--ink-secondary);flex:none;justify-content:center;align-items:center;padding:0;display:flex}.topbar-popover{z-index:30;background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius-lg);min-width:230px;box-shadow:var(--shadow);padding:6px;position:absolute;top:calc(100% + 6px);right:20px}.topbar-popover-meta{border-bottom:1px solid var(--hairline);flex-direction:column;gap:3px;margin:0;padding:10px 12px;display:flex}.topbar-popover-meta span{color:var(--ink-muted);font-size:11px}.topbar-popover-meta strong{color:var(--ink-primary);text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.topbar-popover-item{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--ink-secondary);background:0 0;border:1px solid #0000;padding:9px 12px;font-size:13px;font-weight:500}.topbar-popover-item:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink-primary);border-color:#0000}@media (width<=767px){.topbar{gap:10px;padding:0 14px}.topbar-account{display:none}.topbar-wordmark{font-size:14px}.topbar-popover{right:14px}}a.topbar-popover-item{box-sizing:border-box;text-decoration:none;display:block}a.topbar-brand{color:inherit;text-decoration:none}.theme-control{flex:none;position:relative}.topbar-theme{background:var(--surface-sunken);border:1px solid var(--hairline);border-radius:var(--radius-md);height:34px;color:var(--ink-secondary);align-items:center;gap:6px;padding:0 9px;display:inline-flex}.theme-swatch{border:1px solid var(--hairline);border-radius:9999px;flex:none;width:16px;height:16px}.theme-menu{z-index:30;overscroll-behavior:contain;background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius-lg);width:360px;max-width:calc(100vw - 28px);max-height:min(72vh,560px);box-shadow:var(--shadow);padding:6px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.theme-section.theme-palette-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 4px;display:grid}.theme-palette-section .theme-section-label{grid-column:1/-1}.theme-palette-section .theme-item{gap:6px;min-width:0;padding:7px 8px}.theme-palette-section .theme-item-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.theme-palette-section .theme-swatch{width:14px;height:14px}.theme-palette-section .theme-check{margin-left:auto}.theme-section{flex-direction:column;gap:2px;padding:4px;display:flex}.theme-style-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.theme-style-option{justify-content:center}.theme-style-option .theme-item-label{flex:none}.theme-style-option .theme-check{display:none}.theme-style-option[aria-checked=true]{background:var(--surface-sunken);border-color:var(--hairline)}.theme-section-label{color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;padding:6px 8px 4px;font-size:11px;font-weight:600}.theme-item{border-radius:var(--radius-sm);width:100%;color:var(--ink-secondary);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.theme-item:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink-primary);border-color:#0000}.theme-item[aria-checked=true]{color:var(--ink-primary)}.theme-item-label{flex:1}.theme-icon{color:var(--ink-muted);flex:none;display:inline-flex}.theme-item[aria-checked=true] .theme-icon{color:var(--accent)}.theme-check{color:var(--accent);flex:none}.theme-separator{background:var(--hairline);height:1px;margin:4px 6px}@media (width<=640px){.topbar-wordmark{display:none}.theme-menu{width:auto;max-width:none;max-height:calc(100vh - 70px);position:fixed;top:58px;left:12px;right:12px}}@media (width<=360px){.theme-section.theme-palette-section{grid-template-columns:minmax(0,1fr)}}.settings-page{flex-direction:column;gap:20px;width:100%;max-width:680px;margin:0 auto;padding:32px 20px 64px;display:flex}.settings-head h1{color:var(--ink-primary);margin:0;font-size:24px}.settings-head p{color:var(--ink-secondary);margin:8px 0 0}.settings-card{gap:14px}.settings-card h2{color:var(--ink-primary);margin:0;font-size:17px}.settings-card .hint{margin:4px 0 0}.settings-details{flex-direction:column;gap:8px;margin:0;display:flex}.settings-details div{border-bottom:1px solid var(--hairline);justify-content:space-between;gap:16px;padding-bottom:8px;display:flex}.settings-details div:last-child{border-bottom:0;padding-bottom:0}.settings-details dt{color:var(--ink-muted);font-size:12px}.settings-details dd{color:var(--ink-primary);text-align:right;overflow-wrap:anywhere;margin:0;font-size:13px}.settings-form{flex-direction:column;gap:10px;display:flex}.settings-form .primary{align-self:flex-start}.settings-template-tabs{background:var(--surface-sunken);border:1px solid var(--hairline);border-radius:var(--radius-full);align-self:flex-start;gap:2px;padding:2px;display:inline-flex}.settings-template-tabs button{border-radius:var(--radius-full);color:var(--ink-secondary);letter-spacing:.04em;background:0 0;border:1px solid #0000;padding:5px 12px;font-size:11px;font-weight:600;line-height:1.2}.settings-template-tabs button:hover:not(:disabled){color:var(--ink-primary);border-color:#0000}.settings-template-tabs button.is-active{background:var(--accent);color:var(--accent-ink)}.settings-export{align-items:center;gap:10px;display:flex}@media (width<=600px){.settings-page{padding:24px 16px 48px}}.audit-page{flex-direction:column;gap:20px;width:100%;max-width:1100px;margin:0 auto;padding:32px 20px 64px;display:flex}.audit-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.audit-head h1{color:var(--ink-primary);margin:0;font-size:24px}.audit-head p{color:var(--ink-secondary);margin:8px 0 0}.audit-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.audit-status{margin:0}.audit-filters{gap:12px}.audit-filters h2{color:var(--ink-primary);margin:0;font-size:17px}.audit-filters form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.audit-filter-actions{grid-column:1/-1;gap:8px;display:flex}.audit-list{gap:0;padding:0;overflow:hidden}.audit-row{border-bottom:1px solid var(--hairline);text-align:left;grid-template-columns:minmax(140px,.9fr) minmax(160px,1.1fr) minmax(170px,1.2fr) minmax(160px,1.1fr) 80px;align-items:center;gap:12px;padding:11px 16px;font-size:12px;display:grid}.audit-row:last-child{border-bottom:0}.audit-row-head{background:var(--card-muted,var(--hairline));color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.audit-row-button{width:100%;color:var(--ink-secondary);cursor:pointer;background:0 0;border:0;font-family:inherit}.audit-row-button:hover,.audit-row-button.selected{background:var(--hairline)}.audit-action,.audit-mono{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.audit-outcome-ok{color:var(--ok,#2f7d4f)}.audit-outcome-fail{color:var(--err)}.audit-more{align-self:flex-start;margin:12px 16px}.audit-detail{gap:12px}.audit-detail-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.audit-detail-head h2,.audit-detail h3{color:var(--ink-primary);margin:0;font-size:16px}.audit-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:0;display:grid}.audit-detail-grid div{flex-direction:column;gap:2px;min-width:0;display:flex}.audit-detail-grid dt{color:var(--ink-muted);font-size:11px}.audit-detail-grid dd{color:var(--ink-primary);overflow-wrap:anywhere;margin:0;font-size:13px}.audit-metadata{background:var(--hairline);color:var(--ink-secondary);border-radius:8px;margin:0;padding:12px;font-size:12px;overflow-x:auto}@media (width<=760px){.audit-page{padding:24px 16px 48px}.audit-head{flex-direction:column}.audit-filters form{grid-template-columns:minmax(0,1fr)}.audit-list{overflow-x:auto}.audit-row{min-width:760px}.audit-detail-grid{grid-template-columns:minmax(0,1fr)}}.auth-page{background:var(--canvas);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;gap:18px;width:100%;max-width:400px;padding:24px;display:flex}.auth-brand{align-items:center;gap:10px;display:flex}.auth-mark{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);border-radius:10px;justify-content:center;align-items:center;display:flex}.auth-wordmark{color:var(--ink-primary);font-size:15px;font-weight:600}.auth-card h1{color:var(--ink-primary);font-size:22px}.auth-card p{color:var(--ink-secondary);margin:6px 0 0;font-size:14px}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field label{color:var(--ink-secondary);font-size:13px}.auth-hint{color:var(--ink-muted);font-size:12px}.auth-error{color:var(--destructive);margin:0;font-size:13px}.auth-switch{color:var(--accent);background:0 0;border:none;align-self:flex-start;padding:0;font-size:14px;font-weight:600}.auth-loading{color:var(--ink-secondary);font-size:14px}.case-number-picker{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.case-number-picker legend{color:var(--ink-muted);padding:0;font-size:11px;font-weight:600}.case-number-picker-list{flex-direction:column;gap:4px;max-height:130px;display:flex;overflow-y:auto}.case-number-picker-list label{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--ink-secondary);align-items:center;gap:7px;padding:6px 8px;font-size:12px;display:flex}.case-number-picker .case-number-picker-list input[type=checkbox]{box-sizing:border-box;width:15px;min-width:15px;max-width:15px;height:15px;accent-color:var(--accent);background:0 0;border:0;border-radius:0;flex:0 0 15px;margin:0;padding:0}.appointment-form-dialog{width:min(520px,100%)}.ics-event-badges{flex-wrap:wrap;gap:5px;margin-top:2px;display:flex}.ics-badge{background:var(--surface-raised);color:var(--ink-muted);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.ics-form{flex-direction:column;gap:12px;display:flex}.ics-source{border-radius:var(--radius-md);background:var(--surface-sunken);flex-direction:column;gap:3px;padding:10px 12px;display:flex}.ics-source strong{color:var(--ink-primary);overflow-wrap:anywhere;font-size:14px}.ics-source-label{color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.ics-form .appointment-label{min-width:0;color:var(--ink-muted);flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.ics-form .appointment-date-time{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:8px;display:grid}.ics-form .appointment-date-input{cursor:pointer;display:block;position:relative}.ics-form .appointment-date-input>input{cursor:pointer;padding-right:34px}.ics-form .appointment-date-picker{width:26px;height:26px;color:var(--ink-muted);pointer-events:none;place-items:center;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.ics-form .appointment-native-date{opacity:0;pointer-events:none;height:1px;position:absolute;bottom:0;left:0;width:1px!important;min-width:0!important}.ics-form input,.ics-form select,.ics-form textarea{width:100%;min-width:0}.ics-form select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text);font:inherit;padding:9px 11px}.ics-location-fields{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:8px;display:grid}.ics-form .appointment-modal-actions{margin-top:2px}@media (width<=560px){.ics-form .appointment-date-time,.ics-location-fields{grid-template-columns:minmax(0,1fr)}}.ics-event-list{flex-direction:column;gap:8px;max-height:50vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.ics-event-option{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-sunken);width:100%;color:var(--ink-secondary);text-align:left;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.ics-event-option:hover{border-color:var(--accent)}.ics-event-summary{color:var(--ink-primary);overflow-wrap:anywhere;font-size:14px}.ics-event-meta{overflow-wrap:anywhere;font-size:12px}.calendar-page{flex-direction:column;gap:20px;width:100%;max-width:1100px;margin:0 auto;padding:32px 20px 64px;display:flex}.calendar-page-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.calendar-page-head h1{color:var(--ink-primary);font-size:24px}.calendar-page-head p{color:var(--ink-secondary);margin:8px 0 0}.calendar-page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-drop-overlay{z-index:70;pointer-events:none;background:#00000094;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.calendar-drop-overlay span{border:2px dashed var(--accent);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--ink-primary);text-align:center;padding:24px 32px;font-size:18px;font-weight:700}.calendar-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.calendar-card{gap:12px}.calendar-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-head h2{color:var(--ink-primary);margin:0;font-size:16px}.calendar-nav{align-items:center;gap:6px;display:flex}.calendar-nav .ghost{padding:5px 10px;font-size:12px}.calendar-nav .icon-button{font-size:18px;line-height:1}.month-grid{border-collapse:collapse;table-layout:fixed;width:100%}.month-grid th{text-align:left;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;padding:4px 6px 8px;font-size:11px;font-weight:600}.calendar-day{vertical-align:top;border:1px solid var(--hairline);background:var(--surface-sunken);width:14.285%;height:96px;padding:5px}.calendar-day.is-outside{opacity:.42}.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--accent)}.calendar-day-number{color:var(--ink-secondary);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.calendar-day.is-today .calendar-day-number{color:var(--accent);font-weight:700}.calendar-events{flex-direction:column;gap:3px;display:flex}.calendar-event{text-align:left;cursor:pointer;border:none;border-radius:4px;align-items:baseline;gap:4px;width:100%;min-width:0;padding:2px 4px;font-size:10px;font-weight:600;line-height:1.3;display:flex}.calendar-event.is-court{background:var(--needs-reply-tint);color:var(--needs-reply)}.calendar-event.is-preparation{background:var(--handled-tint);color:var(--handled)}.calendar-event.is-other{background:var(--surface-raised);color:var(--ink-secondary)}.calendar-event:hover{filter:brightness(1.08)}.calendar-event-time{font-variant-numeric:tabular-nums;flex:none}.calendar-event-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calendar-more{color:var(--ink-muted);padding:1px 4px;font-size:10px}.appointments-list-card{max-height:calc(100vh - 190px);overflow-y:auto}.appointments-list-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.appointments-list-head h2{color:var(--ink-primary);margin:0;font-size:16px}.appointments-list-head-actions{align-items:center;gap:8px;display:flex}.appointment-group-toggle{color:var(--ink-secondary);white-space:nowrap;cursor:pointer;align-items:center;gap:5px;font-size:10px;font-weight:600;display:inline-flex}.appointment-group-toggle input{width:13px;height:13px;accent-color:var(--accent);margin:0}.appointment-groups{flex-direction:column;gap:12px;display:flex}.appointment-group{flex-direction:column;gap:5px;display:flex}.appointment-group-head{justify-content:space-between;align-items:baseline;gap:8px;padding:0 2px;display:flex}.appointment-group-head a{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-primary);font-size:12px;font-weight:700;text-decoration:none;overflow:hidden}.appointment-group-head a:hover{color:var(--accent)}.appointment-group-count{color:var(--ink-muted);flex:none;font-size:10px;font-weight:600}.appointment-show-more{border:1px solid var(--hairline);border-radius:var(--radius-sm);color:var(--ink-secondary);cursor:pointer;background:0 0;align-self:flex-start;padding:2px 6px;font-size:10px;font-weight:600}.appointment-show-more:hover{border-color:var(--accent);color:var(--ink-primary)}.appointments-section{flex-direction:column;gap:8px;display:flex}.appointments-section+.appointments-section{border-top:1px solid var(--hairline);padding-top:10px}.appointments-section-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.appointments-section-head h3{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted);margin:0;font-size:11px;font-weight:700}.appointment-list{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.appointment-list-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);width:100%;color:var(--ink-primary);text-align:left;cursor:pointer;border-left-width:3px;flex-direction:column;gap:2px;padding:7px 9px;font-weight:400;display:flex}.appointment-list-item.is-court{border-left-color:var(--needs-reply)}.appointment-list-item.is-preparation{border-left-color:var(--handled)}.appointment-list-item.is-other{border-left-color:var(--hairline)}.appointment-list-item:hover{border-color:var(--accent)}.appointment-list-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.appointment-list-when{color:var(--ink-secondary);font-size:11px;font-weight:600}.appointment-type{border-radius:var(--radius-full);letter-spacing:.03em;text-transform:uppercase;flex:none;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.appointment-type.is-court{background:var(--needs-reply-tint);color:var(--needs-reply)}.appointment-type.is-preparation{background:var(--handled-tint);color:var(--handled)}.appointment-type.is-other{background:var(--surface-raised);color:var(--ink-secondary)}.appointment-list-client{color:var(--ink-primary);font-size:14px;font-weight:600}.appointment-list-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-muted);font-size:11px;overflow:hidden}.appointment-modal-backdrop{z-index:60;background:#0000008c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.appointment-modal{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(440px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow);flex-direction:column;gap:16px;padding:20px;display:flex;overflow-y:auto}.appointment-modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.appointment-modal-head h2{color:var(--ink-primary);overflow-wrap:anywhere;margin:6px 0 0;font-size:20px}.appointment-details{flex-direction:column;gap:12px;margin:0;display:flex}.appointment-details dt{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:600}.appointment-details dd{color:var(--ink-primary);overflow-wrap:anywhere;margin:3px 0 0}.appointment-details a{color:var(--accent)}.appointment-modal-actions{flex-wrap:wrap;gap:8px;display:flex}.appointment-modal-actions .button-link,.appointment-modal-actions button{flex:1}@media (width<=900px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.appointments-list-card{max-height:none}}@media (width<=700px){.calendar-page{padding:24px 16px 48px}.calendar-page-head{flex-direction:column}.calendar-day{height:76px;padding:3px}.calendar-event{padding:1px 3px;font-size:9px}.calendar-event-name{display:none}.month-grid th{padding:2px 2px 6px;font-size:9px}.calendar-day-number{font-size:10px}.calendar-more{padding:0 2px;font-size:9px}}.template-row{flex-wrap:wrap;gap:5px;display:flex}.template-chip{border:1px solid var(--hairline);background:var(--surface-sunken);max-width:100%;color:var(--ink-secondary);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:600;line-height:1.35;overflow:hidden}.template-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.template-chip:disabled{opacity:.5;cursor:default}.document-viewer-backdrop{z-index:70;background:#0000009e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.document-viewer{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(1100px,96vw);height:min(90vh,900px);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.document-viewer-head{border-bottom:1px solid var(--hairline);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.document-viewer-head h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-primary);margin:0;font-size:15px;overflow:hidden}.document-viewer-actions{flex:none;align-items:center;gap:8px;display:flex}.document-viewer-actions .button-link{padding:6px 10px;font-size:12px}.document-sent-indicator{border-radius:var(--radius-full);background:var(--handled-tint);width:24px;height:24px;color:var(--handled);flex:none;justify-content:center;align-items:center;display:inline-flex}.document-viewer-body{background:var(--surface-sunken);flex:1;place-items:center;min-height:0;display:grid;position:relative;overflow:auto}.document-viewer-body>.hint,.document-viewer-body>.err{padding:20px}.document-viewer-image-stage{width:100%;min-width:0;height:100%;min-height:0;color:inherit;cursor:zoom-in;box-sizing:border-box;background:0 0;border:0;justify-content:center;align-items:center;padding:20px;display:flex;overflow:auto}.document-viewer-image-stage.is-zoomed{cursor:zoom-out;justify-content:flex-start;align-items:flex-start}.document-viewer-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.document-viewer-image-stage.is-zoomed .document-viewer-image{max-width:none;max-height:none}@media (width<=700px){.document-viewer-backdrop{padding:0}.document-viewer{border:0;border-radius:0;width:100vw;height:100dvh}.document-viewer-head{padding:10px 12px}.document-viewer-actions{flex-wrap:wrap;justify-content:flex-end}}.document-viewer-count{color:var(--ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.document-viewer-nav{z-index:5;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface-raised) 90%, transparent);width:40px;height:56px;color:var(--ink-primary);box-shadow:var(--shadow);place-items:center;padding:0;font-size:28px;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.document-viewer-nav.is-previous{left:12px}.document-viewer-nav.is-next{right:12px}.document-viewer-nav:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.document-viewer-nav:disabled{opacity:.35}@media (width<=700px){.document-viewer-nav{width:34px;height:46px;font-size:24px}.document-viewer-nav.is-previous{left:6px}.document-viewer-nav.is-next{right:6px}}.contact-detail{flex-direction:column;gap:20px;width:100%;max-width:1100px;margin:0 auto;padding:32px 20px 64px;display:flex}.contact-detail-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.contact-detail-left,.contact-detail-right{flex-direction:column;gap:20px;min-width:0;display:flex}.contact-detail-right>.card{box-sizing:border-box;width:100%}.contact-name-editor{flex-direction:column;gap:4px;max-width:100%;display:flex}.contact-name-field{align-items:center;width:100%;min-width:0;display:flex;position:relative}.contact-name-input{border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--ink-primary);background:0 0;border:1px solid #0000;flex:1;padding:2px 4px;font-size:24px;font-weight:600;line-height:1.25}.contact-name-input.has-inline-actions{padding-right:62px}.contact-name-input:hover:not(:disabled),.contact-name-input:focus{border-color:var(--hairline);background:var(--surface-sunken)}.contact-name-actions{align-items:center;gap:2px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.contact-name-save,.contact-name-reset{border-radius:var(--radius-sm);background:0 0;border:0;place-items:center;width:28px;height:28px;padding:0;display:grid}.contact-name-save{color:var(--accent)}.contact-name-reset{color:var(--ink-secondary)}.contact-name-save:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}.contact-name-reset:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink-primary)}.contact-name-save:disabled,.contact-name-reset:disabled{opacity:.5}.contact-name-save svg,.contact-name-reset svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.contact-save-client-row{justify-content:flex-end;align-items:center;gap:4px;display:flex}.contact-client-reset{flex:none}.contact-save-client{margin-top:2px;padding:7px 14px;font-size:12px;font-weight:700}.contact-name-notice{margin:0;font-size:11px}.client-notes{gap:8px;padding:12px}.client-notes-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.client-notes-head h2{color:var(--ink-primary);margin:0;font-size:13px}.client-notes-actions{align-items:center;gap:4px;display:flex}.client-notes-head button{padding:4px 8px;font-size:10px}.client-notes-reset{width:22px;height:22px;color:var(--ink-muted);background:0 0;border-color:#0000;place-items:center;padding:0;display:grid}.client-notes-reset:hover:not(:disabled){border-color:var(--border);color:var(--ink-primary)}.client-notes-reset svg{width:14px;height:14px}.client-notes textarea{resize:vertical;min-height:90px;font-size:12px}.contact-detail-name-line{align-items:flex-start;gap:10px;min-width:0;display:flex}.contact-detail-name-line .contact-name-editor,.contact-detail-name-line>h1{flex:1}.contact-detail-name-actions{flex-direction:column;align-items:flex-start;display:flex}.client-export{flex-direction:column;flex:none;align-items:flex-start;gap:3px;display:flex}.client-export-button{white-space:nowrap;padding:5px 8px;font-size:10px}.client-export-error{max-width:180px;margin:0;font-size:10px}.contact-detail-identity{flex-direction:column;gap:14px;min-width:0;display:flex}.contact-detail-identity-main{justify-content:space-between;align-items:flex-start;gap:24px;min-width:0;display:flex}.contact-detail-identity-aside{flex-direction:column;flex:0 280px;gap:14px;min-width:0;display:flex}.contact-detail-identity-main .contact-detail-title{flex:1}.contact-detail-back-to-dashboard{color:var(--ink-secondary);align-self:flex-start;font-size:14px;text-decoration:none}.contact-detail-back-to-dashboard:hover{color:var(--ink-primary)}.contact-detail-title{flex-direction:column;gap:6px;display:flex}.contact-detail-title h1{color:var(--ink-primary);overflow-wrap:anywhere;font-size:24px}.contact-badges{flex-wrap:wrap;gap:8px;display:flex}.client-details{border-top:1px solid var(--hairline);padding-top:10px}.client-details-summary{cursor:pointer;color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:10px;font-weight:700;list-style:none;display:flex}.client-details-summary:hover{color:var(--ink-primary)}.client-details-summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.client-details-summary::-webkit-details-marker{display:none}.client-details-summary svg{flex:none;transition:transform .15s}.client-details[open] .client-details-summary svg{transform:rotate(180deg)}.client-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding-top:12px;display:grid}.client-details-field{flex-direction:column;gap:4px;min-width:0;display:flex}.client-details-label{color:var(--ink-muted);font-size:11px;font-weight:600}.client-details-control{align-items:center;min-width:0;display:flex;position:relative}.client-details-input{border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--ink-primary);background:0 0;border:1px solid #0000;padding:6px 8px;font-size:13px}.client-details-input.has-inline-actions{padding-right:56px}.client-details-input.has-date-picker{padding-right:34px}.client-details-input.has-date-picker.has-inline-actions{padding-right:84px}.client-details-date-picker{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--ink-muted);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.client-details-control.has-inline-actions .client-details-date-picker{right:54px}.client-details-date-picker:hover:not(:disabled){color:var(--ink-primary)}.client-details-native-date{opacity:0;pointer-events:none;height:1px;position:absolute;bottom:0;left:0;width:1px!important;min-width:0!important}.client-details-input:hover:not(:disabled),.client-details-input:focus{border-color:var(--hairline);background:var(--surface-sunken)}.client-details-actions{align-items:center;gap:1px;display:flex;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.client-details-save,.client-details-reset{border-radius:var(--radius-sm);background:0 0;border:0;place-items:center;width:24px;height:24px;padding:0;display:grid}.client-details-save{color:var(--accent)}.client-details-reset{color:var(--ink-secondary)}.client-details-save:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}.client-details-reset:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink-primary)}.client-details-save svg,.client-details-reset svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.client-details-error{margin:0;font-size:10px}.client-details-status{margin:10px 0 0;font-size:11px}.case-numbers-card{box-sizing:border-box;align-self:flex-start;gap:6px;width:min(100%,300px);padding:10px}.card.case-numbers-card{background:0 0}.case-numbers-card h2{color:var(--ink-primary);font-size:16px}.case-number-add{border:1px dashed var(--hairline);width:22px;height:22px;color:var(--ink-muted);background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.case-number-add:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.case-numbers-card .icon-button{width:26px;height:26px}.case-numbers-card .appointment-actions button{padding:6px 10px}.case-number-value{font-family:var(--mono);font-size:14px}.case-number-notice{margin:0;font-size:11px}.appointment-card{box-sizing:border-box;gap:12px;width:100%}.appointment-card h2{color:var(--ink-primary);font-size:16px}.appointment-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.appointment-head-actions{flex:none;gap:6px;display:flex}.icon-button{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-sunken);width:30px;height:30px;color:var(--ink-secondary);flex:none;justify-content:center;align-items:center;padding:0;display:flex}.appointment-value{color:var(--ink-primary);margin:0;font-size:15px;font-weight:600;line-height:1.4}.other-appointments{border-top:1px solid var(--hairline);flex-direction:column;gap:6px;padding-top:10px;display:flex}.other-appointments h3{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin:0;font-size:11px;font-weight:700}.other-appointments-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.appointment-item-shell{border:1px solid var(--border);border-left:3px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-sunken);width:100%;color:var(--ink-primary);text-align:left;box-sizing:border-box;padding:7px 9px;font-weight:400}.other-appointment{flex-direction:column;gap:2px;display:flex}.other-appointment:hover{border-color:var(--accent)}.other-appointment-when{font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.other-appointment-meta{color:var(--ink-muted);overflow-wrap:anywhere;font-size:11px}.other-appointment-notes{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-secondary);font-size:11px;overflow:hidden}.other-appointments-empty{margin:0;font-size:11px}.court-view-toggle{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-sunken);gap:2px;padding:2px;display:flex}.court-view-button{border-radius:var(--radius-sm);width:26px;height:24px;color:var(--ink-muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.court-view-button:hover:not(:disabled){color:var(--ink-primary)}.court-view-button.is-active{background:var(--surface-raised);color:var(--ink-primary);box-shadow:0 1px 2px #00000029}.court-calendar{flex-direction:column;gap:8px;display:flex}.court-calendar-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.court-calendar-month{color:var(--ink-primary);font-size:13px;font-weight:600}.court-calendar-nav{align-items:center;gap:4px;display:flex}.court-calendar-nav .icon-button{width:24px;height:24px;padding:0;font-size:15px}.court-calendar-weekdays,.court-calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.court-calendar-weekdays span{color:var(--ink-muted);text-align:center;text-transform:uppercase;padding:2px 0;font-size:9px;font-weight:600}.court-calendar-day{border-radius:var(--radius-sm);min-height:34px;color:var(--ink-secondary);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;padding:3px 0;font-size:11px;font-weight:500;display:flex}.court-calendar-day:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink-primary)}.court-calendar-day.is-outside{opacity:.42}.court-calendar-day.is-today{box-shadow:inset 0 0 0 1px var(--accent)}.court-calendar-day.is-selected{border-color:var(--hairline);background:var(--surface-sunken);color:var(--ink-primary)}.court-calendar-day-number{line-height:1}.court-calendar-dots{align-items:center;gap:2px;min-height:4px;display:flex}.court-calendar-dot{background:var(--accent);border-radius:50%;width:4px;height:4px}.court-calendar-agenda{border-top:1px solid var(--hairline);flex-direction:column;gap:4px;padding-top:6px;display:flex}.court-calendar-agenda h3{color:var(--ink-primary);margin:0;font-size:12px;font-weight:600}.court-calendar-agenda ul{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.court-calendar-agenda li{color:var(--ink-secondary);justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;display:flex}.court-calendar-time{color:var(--ink-primary);font-variant-numeric:tabular-nums;flex:none;font-weight:600}.court-calendar-location{overflow-wrap:anywhere;text-align:right;min-width:0}.court-date-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.court-date-row{justify-content:space-between;align-items:center;gap:8px;min-height:30px;display:flex}.court-date-main{flex:1;min-width:0}.court-date-row .appointment-value{font-variant-numeric:tabular-nums;font-size:14px;line-height:1.25}.court-date-case-number{color:var(--ink-muted);overflow-wrap:anywhere;margin:2px 0 0;font-size:12px;font-weight:600}.court-date-location{color:var(--ink-muted);overflow-wrap:anywhere;margin:2px 0 0;font-size:12px;line-height:1.35}.court-date-actions{flex:none;align-items:center;gap:4px;display:flex}.appointment-prompt{width:100%;color:var(--ink-secondary);border-style:dashed;justify-content:center;align-items:center;gap:8px;padding:9px 12px;display:flex}.appointment-prompt:hover:not(:disabled){color:var(--ink-primary)}.reminder-form{margin-top:6px}.appointment-form{flex-direction:column;gap:8px;display:flex}.appointment-form input{width:100%;min-width:0}.appointment-date-time{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:8px;display:grid}.appointment-date-time .appointment-label{min-width:0}.appointment-location-fields{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:8px;display:grid}.appointment-location-fields .appointment-label{min-width:0}.court-building-field,.court-building-input{position:relative}.court-building-input input{padding-right:34px}.court-building-toggle{width:28px;height:28px;color:var(--ink-muted);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.court-building-toggle:hover{color:var(--ink-primary)}.court-building-menu{background:var(--surface-sunken);border:1px solid var(--hairline);border-radius:var(--radius-md);max-height:180px;margin:4px 0 0;padding:4px;list-style:none;overflow-y:auto}.court-building-menu li{margin:0;padding:0}.court-building-menu button{border-radius:var(--radius-sm);width:100%;color:var(--ink-primary);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:7px 8px;font-size:12px;line-height:1.35;display:block}.court-building-menu button:hover{background:var(--surface-sunken)}.court-building-empty{color:var(--ink-muted);padding:7px 8px;font-size:12px}.appointment-date-input{cursor:pointer;display:block;position:relative}.appointment-date-input>input{cursor:pointer;padding-right:34px}.appointment-date-picker{width:26px;height:26px;color:var(--ink-muted);pointer-events:none;place-items:center;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.appointment-native-date{opacity:0;pointer-events:none;height:1px;position:absolute;bottom:0;left:0;width:1px!important;min-width:0!important}.appointment-label{color:var(--ink-muted);flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.appointment-label select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);width:100%;min-width:0;color:var(--text);font:inherit;padding:8px 10px}.appointment-label textarea{resize:vertical;min-height:76px;color:var(--ink-primary);font-weight:400}.appointment-actions{flex-wrap:wrap;gap:8px;display:flex}.appointment-actions button{flex:1}.chat-card{gap:12px}.chat-card h2{color:var(--ink-primary);font-size:16px}.chat-log{flex-direction:column;gap:10px;min-height:160px;max-height:420px;padding:10px 12px;display:flex;overflow-y:auto}.chat-message{border-radius:var(--radius-lg);flex-direction:column;gap:4px;max-width:78%;padding:9px 12px;display:flex;position:relative}.chat-message p{overflow-wrap:anywhere;margin:0;font-size:14px}.chat-message time{opacity:.7;font-size:11px}.chat-message.in{background:var(--bubble-in);color:var(--bubble-in-ink);border-bottom-left-radius:var(--radius-sm);align-self:flex-start}.chat-message.out{background:var(--bubble-out);color:var(--bubble-out-ink);border-bottom-right-radius:var(--radius-sm);align-self:flex-end}.chat-composer{align-items:center;gap:10px;display:flex}.chat-composer input{flex:1}.documents-card{position:relative}.documents-card.is-drag-active{border-color:var(--accent)}.documents-drop-overlay{z-index:8;border:2px dashed var(--accent);border-radius:inherit;background:color-mix(in srgb, var(--accent) 16%, var(--surface-raised));color:var(--ink-primary);pointer-events:none;place-items:center;font-size:13px;font-weight:600;display:grid;position:absolute;inset:0}.documents-card{gap:12px}.documents-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.documents-head-title{align-items:baseline;gap:8px;min-width:0;display:flex}.documents-head h2{color:var(--ink-primary);font-size:16px}.documents-head .hint{margin:0}.document-pending{border:1px dashed var(--hairline);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--ink-secondary);flex-wrap:wrap;align-items:center;gap:8px;padding:10px;font-size:13px;display:flex}.document-pending span{overflow-wrap:anywhere;flex:100%}.document-list{flex-direction:column;gap:8px;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.document-row{background:var(--surface-sunken);border:1px solid var(--hairline);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.document-row-main{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.document-actions{flex:none;align-items:center;gap:6px;display:flex}.document-send{border-top:1px solid var(--hairline);flex-direction:column;gap:8px;padding-top:8px;display:flex}.document-send input{width:100%;min-width:0}.document-send-actions{gap:8px;display:flex}.document-send-actions button{flex:1}.document-main{flex-direction:column;gap:2px;min-width:0;display:flex}.document-rename{flex-direction:column;gap:6px;width:100%;display:flex}.document-rename-field{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-sunken);box-sizing:border-box;align-items:center;width:100%;min-width:0;padding-right:52px;display:flex;position:relative}.document-rename-field:focus-within{border-color:var(--accent)}.document-rename-input{width:100%;min-width:0;color:var(--ink-primary);background:0 0;border:0;border-radius:0;flex:1;padding:4px 6px;font-size:13px;font-weight:600}.document-rename-input:focus{outline:none}.document-rename-extension{color:var(--ink-muted);flex:none;font-size:13px;font-weight:600}.document-rename-actions{align-items:center;gap:1px;display:flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.document-rename-save,.document-rename-reset{border-radius:var(--radius-sm);background:0 0;border:0;place-items:center;width:22px;height:22px;padding:0;display:grid}.document-rename-save{color:var(--accent)}.document-rename-reset{color:var(--ink-secondary)}.document-rename-save:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}.document-rename-reset:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink-primary)}.document-rename-save:disabled,.document-rename-reset:disabled{opacity:.5}.document-rename-save svg,.document-rename-reset svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.document-name{color:var(--ink-primary);overflow-wrap:anywhere;font-weight:600;text-decoration:none}.document-name:hover{text-decoration:underline}.document-name-button{text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.document-name-button:hover{color:var(--ink-primary);text-decoration:underline}.document-meta{color:var(--ink-muted);font-size:12px}.document-confirm{flex:none;align-items:center;gap:6px;display:flex}.document-delete{background:var(--destructive-tint);border-color:color-mix(in srgb, var(--destructive) 35%, var(--hairline));color:var(--destructive);padding:5px 9px;font-size:12px}@media (width<=900px){.contact-detail-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.contact-detail-identity-main{flex-direction:column}.contact-detail-identity-aside{flex:auto;width:100%}.client-details-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.contact-detail{padding:24px 16px 48px}.chat-message{max-width:88%}}.chat-attachment{margin-top:4px;display:inline-block;position:relative}.chat-attachment-link{cursor:pointer;background:0 0;border:0;padding:0;display:block}.chat-attachment-image{border-radius:var(--radius-sm);object-fit:cover;width:auto;max-width:220px;height:auto;max-height:160px;display:block}.chat-attachment-save{border:1px solid var(--border);background:var(--surface-raised);width:30px;height:30px;color:var(--ink-primary);box-shadow:var(--shadow);cursor:pointer;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:6px;right:6px}.chat-attachment-save:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chat-attachment-save:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.chat-attachment-save:disabled{opacity:.55;cursor:default}.chat-attachment-save svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.document-ocr-status{border-radius:var(--radius-full);background:var(--surface-sunken);color:var(--ink-muted);margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.document-ocr-status.is-ready{background:var(--handled-tint);color:var(--handled)}.document-ocr-status.is-pending,.document-ocr-status.is-running{background:var(--warning-tint);color:var(--warning)}.document-ocr-status.is-failed{background:var(--destructive-tint);color:var(--destructive)}.contact-client-hint{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-sunken);margin:0;padding:10px 12px}.document-group-title{color:var(--ink-muted);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:8px;margin:4px 0 0;padding:0 2px;font-size:10px;font-weight:700;display:flex}.document-group-title.is-first{margin-top:0}.document-group-title span{flex:none}.document-group-title:after{content:"";background:var(--hairline);flex:1;height:1px}.chat-reactions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;display:flex}.chat-reaction,.chat-reaction-add{border:1px solid var(--hairline);background:color-mix(in srgb, var(--surface-raised) 35%, transparent);color:inherit;border-radius:999px;align-items:center;gap:3px;padding:1px 6px;font-size:11px;line-height:1.4;display:inline-flex}.chat-reaction:hover:not(:disabled),.chat-reaction.is-mine{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.chat-reaction-add{background:var(--surface-raised);opacity:.7;justify-content:center;width:20px;height:20px;padding:0}.chat-reaction-add:hover:not(:disabled){opacity:1;border-color:var(--accent);color:var(--accent);background:var(--surface-sunken)}.chat-reaction-picker-wrap{z-index:4;display:inline-flex;position:absolute;bottom:-10px}.chat-message.in .chat-reaction-picker-wrap{right:-10px}.chat-message.out .chat-reaction-picker-wrap{left:-10px}.chat-reaction-picker{z-index:5;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow);gap:2px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0}.chat-message.in .chat-reaction-picker{left:auto;right:0}.chat-message.out .chat-reaction-picker{left:0;right:auto}.chat-reaction-picker button{border-radius:var(--radius-sm);background:0 0;border:0;width:28px;height:28px;padding:0;font-size:17px;line-height:1}.chat-reaction-picker button:hover:not(:disabled){background:var(--surface-sunken)}.dashboard-page{flex-direction:column;gap:20px;width:100%;max-width:1240px;margin:0 auto;padding:32px 20px 64px;display:flex}.dashboard-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dashboard-head h1{color:var(--ink-primary);font-size:24px}.dashboard-head p{color:var(--ink-secondary);margin:8px 0 0}.dashboard-grid{grid-template-columns:minmax(280px,330px) minmax(0,1fr) minmax(320px,380px);align-items:start;gap:20px;display:grid}.dashboard-column{flex-direction:column;gap:20px;min-width:0;min-height:0;max-height:calc(100vh - 190px);display:flex}.dashboard-column .recent-messages-card{flex:auto;min-height:0;max-height:none}.dashboard-column .recent-message-list{flex:auto;min-height:0}.quick-send-card{flex:none}.dashboard-card{flex-direction:column;gap:12px;min-width:0;display:flex}.recent-messages-card,.todo-card{max-height:calc(100vh - 190px)}.dashboard-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.dashboard-card-head h2{color:var(--ink-primary);margin:0;font-size:16px}.dashboard-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.dashboard-card-actions .ghost{padding:4px 8px;font-size:11px}.recent-unread-first{color:var(--ink-secondary);white-space:nowrap;cursor:pointer;align-items:center;gap:5px;font-size:10px;font-weight:600;display:inline-flex}.recent-unread-first input{width:13px;height:13px;accent-color:var(--accent);margin:0}.dashboard-link{color:var(--ink-secondary);white-space:nowrap;font-size:12px;font-weight:600;text-decoration:none}.dashboard-link:hover{color:var(--ink-primary)}.dashboard-first-run,.quick-send-form{flex-direction:column;gap:10px;display:flex}.quick-send-field{flex-direction:column;gap:6px;display:flex}.quick-send-field>span{color:var(--ink-secondary);font-size:12px}.quick-send-form select,.todo-add-form select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);width:100%;color:var(--text);font:inherit;padding:8px 10px}.quick-send-form textarea{resize:vertical;min-height:64px}.quick-send-form .hint,.quick-send-form .ok,.quick-send-form .err{margin:0;font-size:12px}.quick-send-form button{align-self:flex-start;padding:8px 16px}.recent-message-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.recent-message{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);border-left-width:3px;align-items:stretch;gap:6px;padding:8px;display:flex}.recent-message.is-unread{border-left-color:var(--accent);background:var(--handled-tint)}.recent-message-main{min-width:0;color:inherit;flex-direction:column;flex:1;gap:3px;text-decoration:none;display:flex}.recent-message-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.recent-message-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-primary);align-items:center;gap:5px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.recent-message.is-unread .recent-message-name{font-weight:700}.recent-unread-dot{background:var(--accent);border-radius:999px;flex:none;width:7px;height:7px}.recent-message-top time{color:var(--ink-muted);flex:none;font-size:10px}.recent-message-preview{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-secondary);font-size:12px;overflow:hidden}.recent-message-side{flex-direction:column;flex:none;justify-content:center;align-items:flex-end;gap:4px;display:flex}.recent-unread-count{border-radius:var(--radius-full);background:var(--accent);min-width:20px;height:20px;color:var(--accent-ink);justify-content:center;align-items:center;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex}.recent-mark-read{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink-secondary);white-space:nowrap;padding:2px 5px;font-size:9px;font-weight:600}.recent-save-client{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--handled-tint);color:var(--handled);white-space:nowrap;padding:2px 5px;font-size:9px;font-weight:700}.recent-save-client:hover:not(:disabled){border-color:var(--handled)}.recent-save-client:disabled{opacity:.55}.recent-not-client{border:1px solid color-mix(in srgb, var(--destructive) 35%, var(--hairline));border-radius:var(--radius-sm);background:var(--destructive-tint);color:var(--destructive);white-space:nowrap;padding:2px 5px;font-size:9px;font-weight:700}.recent-not-client:hover:not(:disabled){border-color:var(--destructive);color:var(--destructive)}.recent-not-client:disabled{opacity:.55}.recent-mark-read:hover:not(:disabled){color:var(--ink-primary)}.todo-head-actions{align-items:center;gap:6px;display:flex}.todo-add{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);width:24px;height:24px;color:var(--ink-secondary);place-items:center;padding:0;display:grid}.todo-add:hover{border-color:var(--accent);color:var(--ink-primary)}.todo-add-form{flex-direction:column;gap:6px;display:flex}.todo-add-field{flex-direction:column;gap:4px;display:flex}.todo-add-field>span{color:var(--ink-muted);font-size:11px;font-weight:600}.todo-add-actions{gap:6px;display:flex}.todo-add-actions button{flex:1;padding:9px 12px}.todo-card.is-inline{max-height:none;box-shadow:none;background:0 0;border:0;gap:8px;padding:0}.todo-card.is-inline .dashboard-card-head h2{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);font-size:12px;font-weight:700}.todo-card.is-inline .todo-list{max-height:220px}.todo-groups{flex-direction:column;flex:auto;gap:12px;min-height:0;display:flex;overflow-y:auto}.todo-group{flex-direction:column;gap:4px;display:flex}.todo-group-head{color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:8px;padding:0 2px;font-size:10px;font-weight:700;display:flex}.todo-group-head a{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:inherit;text-decoration:none;overflow:hidden}.todo-group-head a:hover{color:var(--ink-primary)}.todo-group-count{flex:none;font-weight:600}.todo-group .todo-list{overflow:visible}.todo-completed-group{border-top:1px solid var(--hairline);padding-top:8px}.todo-completed-group summary{cursor:pointer;list-style:none}.todo-completed-group summary::-webkit-details-marker{display:none}.todo-group-meta{align-items:center;gap:8px;display:inline-flex}.todo-group-caret{border-bottom:1.5px solid;border-right:1.5px solid;flex:none;width:6px;height:6px;transition:transform .15s;transform:rotate(-45deg)}.todo-completed-group[open] .todo-group-caret{transform:rotate(45deg)}.todo-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.todo-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);flex-direction:column;gap:1px;padding:4px 8px;display:flex}.todo-item.is-overdue{border-color:var(--needs-reply);background:var(--needs-reply-tint)}.todo-item.is-due-today{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface-sunken))}.todo-item.is-completed{opacity:.6}.todo-name-row{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.todo-check{width:15px;height:15px;accent-color:var(--accent);flex:none;margin:0}.todo-title-form{flex:1;align-items:center;min-width:0;display:flex;position:relative}.todo-title-input{border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--ink-primary);background:0 0;border:1px solid #0000;padding:2px 4px;font-size:13px}.todo-title-input.has-inline-actions{padding-right:48px}.todo-title-input:hover:not(:disabled),.todo-title-input:focus{border-color:var(--hairline);background:var(--surface-sunken)}.todo-item.is-completed .todo-title-input{text-decoration:line-through}.todo-title-actions{align-items:center;gap:1px;display:flex;position:absolute;top:50%;right:1px;transform:translateY(-50%)}.todo-title-save,.todo-title-reset{border-radius:var(--radius-sm);background:0 0;border:0;place-items:center;width:22px;height:22px;padding:0;display:grid}.todo-title-save{color:var(--accent)}.todo-title-reset{color:var(--ink-secondary)}.todo-title-save:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}.todo-title-reset:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink-primary)}.todo-title-save:disabled,.todo-title-reset:disabled{opacity:.5}.todo-title-save svg,.todo-title-reset svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.todo-date-row{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:4px;padding-left:21px;font-size:10px;display:flex}.todo-client{color:var(--ink-secondary);font-weight:600;text-decoration:none}.todo-client:hover{color:var(--ink-primary)}.todo-due-input{border-radius:var(--radius-sm);width:auto;min-width:118px;color:var(--ink-muted);background:0 0;border:1px solid #0000;padding:1px 4px;font-size:11px}.todo-due-input:hover:not(:disabled),.todo-due-input:focus{border-color:var(--hairline);background:var(--surface-sunken);color:var(--ink-primary)}.todo-overdue,.todo-due-today{border-radius:var(--radius-full);padding:1px 5px;font-weight:700}.todo-overdue{background:var(--needs-reply-tint);color:var(--needs-reply)}.todo-due-today{background:color-mix(in srgb, var(--accent) 18%, var(--surface-sunken));color:var(--accent)}.todo-item-actions{align-items:center;gap:2px;margin-left:auto;display:flex}.todo-delete{border-radius:var(--radius-sm);width:22px;height:20px;color:var(--ink-muted);background:0 0;border:1px solid #0000;flex:none;padding:0;font-size:15px;line-height:1}.todo-delete:hover:not(:disabled){border-color:var(--border);color:var(--destructive)}.mini-calendar-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.mini-calendar-month{color:var(--ink-primary);font-size:13px;font-weight:600}.mini-calendar-nav{align-items:center;gap:4px;display:flex}.mini-calendar-nav .ghost{padding:3px 7px;font-size:10px}.mini-calendar-nav .icon-button{width:26px;height:26px;font-size:16px}.mini-calendar{flex-direction:column;gap:2px;display:flex}.mini-weekdays,.mini-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.mini-weekdays span{text-align:center;color:var(--ink-muted);text-transform:uppercase;padding:2px 0;font-size:9px;font-weight:600}.mini-day{border-radius:var(--radius-sm);background:var(--surface-sunken);min-height:36px;color:var(--ink-secondary);border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:2px;font-size:11px;font-weight:600;display:flex}.mini-day:hover:not(:disabled){border-color:var(--accent)}.mini-day.is-outside{opacity:.35}.mini-day.is-today{border-color:var(--accent);color:var(--accent)}.mini-day.is-selected{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.mini-day-number{line-height:1}.mini-dots{justify-content:center;align-items:center;gap:2px;min-height:5px;display:flex}.mini-dot{border-radius:999px;width:4px;height:4px}.mini-dot.is-court{background:var(--needs-reply)}.mini-dot.is-preparation{background:var(--handled)}.mini-dot.is-other{background:var(--ink-muted)}.mini-day.is-selected .mini-dot{background:var(--accent-ink)}.mini-dot-more{font-size:8px;line-height:1}.mini-agenda{border-top:1px solid var(--hairline);flex-direction:column;gap:6px;padding-top:8px;display:flex}.mini-agenda h3{color:var(--ink-muted);margin:0;font-size:11px;font-weight:600}.mini-agenda ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.mini-agenda-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);width:100%;color:var(--ink-primary);text-align:left;border-left-width:3px;align-items:baseline;gap:8px;padding:6px 8px;font-weight:400;display:flex}.mini-agenda-item.is-court{border-left-color:var(--needs-reply)}.mini-agenda-item.is-preparation{border-left-color:var(--handled)}.mini-agenda-item.is-other{border-left-color:var(--hairline)}.mini-agenda-item:hover{border-color:var(--accent)}.mini-agenda-time{color:var(--ink-secondary);flex:none;font-size:11px;font-weight:600}.mini-agenda-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}@media (width<=1100px){.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mini-calendar-card{grid-column:1/-1}.recent-messages-card,.todo-card,.dashboard-column{max-height:none}.dashboard-column .recent-messages-card{flex:none}}@media (width<=760px){.dashboard-page{padding:24px 16px 48px}.dashboard-head{flex-direction:column}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.mini-calendar-card{grid-column:auto}.todo-add-form{grid-template-columns:minmax(0,1fr)}}.contacts-page{flex-direction:column;gap:20px;width:100%;max-width:1100px;margin:0 auto;padding:32px 20px 64px;display:flex}.contacts-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.contacts-head h1{color:var(--ink-primary);font-size:24px}.contacts-head p{color:var(--ink-secondary);margin:8px 0 0}.contacts-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ghost-link{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);align-items:center;padding:9px 16px;font-weight:600;text-decoration:none;display:inline-flex}.ghost-link:hover{border-color:var(--accent)}.contacts-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.contacts-toolbar input[type=search]{flex:1;min-width:200px}.contacts-toolbar button{flex:none}.contacts-status{background:var(--surface-sunken);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--ink-secondary);align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:flex}.contacts-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.contacts-list-card{gap:8px;padding:12px}.contacts-list-head{justify-content:space-between;align-items:baseline;gap:12px;padding:2px 4px;display:flex}.contacts-list-head h2{color:var(--ink-primary);margin:0;font-size:16px}.contact-picker-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.contact-picker-row{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-sunken);align-items:stretch;gap:8px;padding:7px;display:flex}.contact-picker-row.is-selected{border-color:var(--accent)}.contact-picker-row.is-hidden{opacity:.6}.contact-picker-main{min-width:0;color:var(--ink-primary);text-align:left;background:0 0;border:0;flex-wrap:wrap;flex:1;align-items:baseline;gap:6px;padding:3px 5px;display:flex}.contact-picker-name{overflow-wrap:anywhere;font-size:14px;font-weight:600}.contact-picker-number{font-family:var(--mono);color:var(--ink-muted);overflow-wrap:anywhere;font-size:11px}.contact-picker-actions{flex-direction:column;flex:none;justify-content:center;align-items:stretch;gap:4px;display:flex}.contact-quick-save{white-space:nowrap;padding:5px 8px;font-size:10px}.contact-picker-remove-client,.contact-picker-not-client{border:1px solid color-mix(in srgb, var(--destructive) 35%, var(--hairline));border-radius:var(--radius-sm);background:var(--destructive-tint);color:var(--destructive);white-space:nowrap;padding:4px 7px;font-size:9px;font-weight:700}.client-preview{gap:12px;position:sticky;top:84px}.client-preview-title h2{color:var(--ink-primary);margin:0;font-size:16px}.client-preview-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.client-preview-head h2{overflow-wrap:anywhere;margin:0;font-size:19px}.client-preview-head .contact-number{margin-top:3px;display:block}.client-preview-head .button-link{flex:none;padding:6px 9px;font-size:11px}.client-preview-section{border-top:1px solid var(--hairline);flex-direction:column;gap:4px;padding-top:8px;display:flex}.client-preview-section h3{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin:0;font-size:11px;font-weight:700}.client-preview-section p{color:var(--ink-primary);margin:0;font-size:13px}.client-preview-section .hint{font-size:11px}.client-preview-case-list{flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none;display:flex}.client-preview-case-list li{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--ink-primary);font-family:var(--mono);padding:2px 6px;font-size:11px}.client-preview-notes{white-space:pre-wrap;overflow-wrap:anywhere}@media (width<=900px){.contacts-layout{grid-template-columns:minmax(0,1fr)}.client-preview{position:static}}@media (width<=600px){.contacts-page{padding:24px 16px 48px}.contacts-head,.contact-picker-row{flex-direction:column}.contact-picker-actions{flex-direction:row}}.contacts-filter{gap:6px;display:flex}.link-page{flex-direction:column;gap:20px;width:100%;max-width:720px;margin:0 auto;padding:32px 20px 64px;display:flex}.link-head h1{color:var(--ink-primary);font-size:24px}.link-head p{color:var(--ink-secondary);margin:8px 0 0}.link-subhead{color:var(--ink-secondary);margin:4px 0 0;font-size:14px;font-weight:600}.link-account{font-family:var(--mono);color:var(--ink-primary);margin:0;font-size:15px}.link-steps{color:var(--ink-secondary);flex-direction:column;gap:6px;margin:0;padding-left:20px;font-size:14px;display:flex}.qr-card{text-align:center;align-items:center}.qr-frame{border-radius:var(--radius-lg);background:#fff;flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex}.qr-image{width:260px;height:260px;image-rendering:pixelated;display:block}.qr-loading,.qr-error p{color:#1a1a1a;margin:0;font-size:13px}.qr-error{flex-direction:column;align-items:center;gap:10px;min-width:220px;display:flex}.qr-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.link-status{color:var(--ink-secondary);font-size:14px;font-weight:600}.link-note{border-radius:var(--radius-md);background:var(--warning-tint);width:100%;color:var(--warning);text-align:left;margin:0;padding:10px 12px;font-size:13px}.device-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.device-list li{background:var(--surface-sunken);border:1px solid var(--hairline);border-radius:var(--radius-md);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.device-name{color:var(--ink-primary);font-weight:600}.device-meta{color:var(--ink-muted);font-size:12px}.link-confirm{border-color:color-mix(in srgb, var(--accent) 35%, var(--hairline))}.link-success{border-color:color-mix(in srgb, var(--handled) 45%, var(--hairline))}.link-success h2{color:var(--handled)}@media (width<=767px){.link-page{padding:24px 16px 48px}.qr-image{width:220px;height:220px}}.shell{flex-direction:column;min-height:100vh;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;padding:18px;display:flex}.card.muted{background:0 0}.hint{color:var(--muted);font-size:12px}.buttons{flex-wrap:wrap;gap:10px;display:flex}.ok{color:var(--ok);font-family:var(--mono);font-size:13px}.err{color:var(--err);word-break:break-word;font-size:13px}.muted h2{font-size:16px}.muted ul{font-family:var(--mono);margin:0;padding-left:18px;font-size:14px}.muted p{color:var(--muted);font-size:14px}.button-link{border-radius:var(--radius-md);background:var(--accent);color:var(--accent-ink);justify-content:center;align-self:flex-start;align-items:center;padding:9px 16px;font-weight:600;text-decoration:none;display:inline-flex}.button-link:hover{background:var(--accent-hover)}.contact-badge{border-radius:var(--radius-full);background:var(--surface-raised);border:1px solid var(--hairline);color:var(--ink-secondary);padding:2px 8px;font-size:11px;font-weight:600}.contact-badge-saved{background:var(--handled-tint);border-color:color-mix(in srgb, var(--handled) 40%, var(--hairline));color:var(--handled)}:root[data-style=grid] .card{border:1px solid var(--hairline);box-shadow:none;background:0 0;border-radius:0}:root[data-style=grid] .dashboard-grid,:root[data-style=grid] .contacts-layout,:root[data-style=grid] .contact-detail-layout,:root[data-style=grid] .calendar-layout,:root[data-style=grid] .audit-detail-grid{background:var(--hairline);border:1px solid var(--hairline);box-sizing:border-box;border-radius:0;align-items:stretch;gap:1px}:root[data-style=grid] .audit-detail-grid{padding:1px}:root[data-style=grid] .dashboard-column,:root[data-style=grid] .contact-detail-left,:root[data-style=grid] .contact-detail-right,:root[data-style=grid] .contact-detail-identity-aside{background:var(--canvas);gap:0}:root[data-style=grid] .contact-detail-identity-aside{flex-direction:column;display:flex}:root[data-style=grid] .dashboard-grid .card,:root[data-style=grid] .contacts-layout .card,:root[data-style=grid] .contact-detail-layout .card,:root[data-style=grid] .calendar-layout .card,:root[data-style=grid] .audit-detail-grid>div{background:var(--canvas);box-shadow:none;border:0;border-radius:0;padding:8px}:root[data-style=grid] .dashboard-column>*,:root[data-style=grid] .contact-detail-left>*,:root[data-style=grid] .contact-detail-right>*,:root[data-style=grid] .contact-detail-identity-aside>*{background:var(--canvas)}:root[data-style=grid] .dashboard-column>*+*,:root[data-style=grid] .contact-detail-layout .contact-detail-left>*+*,:root[data-style=grid] .contact-detail-layout .contact-detail-right>*+*,:root[data-style=grid] .contact-detail-layout .contact-detail-identity-aside>*+*{border-top:1px solid var(--hairline)}:root[data-style=grid] .contact-detail-layout .chat-card{border-bottom:1px solid var(--hairline)}:root[data-style=grid] .dashboard-head,:root[data-style=grid] .contacts-head,:root[data-style=grid] .calendar-page-head,:root[data-style=grid] .audit-head,:root[data-style=grid] .settings-head,:root[data-style=grid] .link-head,:root[data-style=grid] .contact-detail-title{border-bottom:1px solid var(--hairline);padding-bottom:14px}:root[data-style=grid] .dashboard-card-head,:root[data-style=grid] .contacts-list-head,:root[data-style=grid] .client-preview-title,:root[data-style=grid] .calendar-head,:root[data-style=grid] .appointments-list-head,:root[data-style=grid] .chat-card>h2,:root[data-style=grid] .documents-head,:root[data-style=grid] .client-notes-head,:root[data-style=grid] .appointment-head,:root[data-style=grid] .case-numbers-card>h2,:root[data-style=grid] .audit-filters>h2,:root[data-style=grid] .audit-detail-head,:root[data-style=grid] .settings-card>h2,:root[data-style=grid] .link-page .card>h2{border-bottom:1px solid var(--hairline);margin:0;padding-bottom:10px}:root[data-style=grid] .recent-message-list,:root[data-style=grid] .todo-list,:root[data-style=grid] .contact-picker-list,:root[data-style=grid] .appointment-list,:root[data-style=grid] .court-date-list,:root[data-style=grid] .document-list,:root[data-style=grid] .device-list{gap:0}:root[data-style=grid] .recent-message,:root[data-style=grid] .todo-item,:root[data-style=grid] .contact-picker-row,:root[data-style=grid] .appointment-list-item,:root[data-style=grid] .appointment-item-shell,:root[data-style=grid] .court-date-row,:root[data-style=grid] .document-row,:root[data-style=grid] .device-list li{border:0;border-bottom:1px solid var(--hairline);background:0 0;border-radius:0}:root[data-style=grid] .recent-message,:root[data-style=grid] .contact-picker-row,:root[data-style=grid] .appointment-list-item,:root[data-style=grid] .appointment-item-shell{border-left:3px solid #0000}:root[data-style=grid] .contact-picker-row.is-selected{border-left-color:var(--accent)}:root[data-style=grid] .recent-message.is-unread{border-left-color:var(--accent);border-bottom-color:var(--hairline);background:var(--handled-tint)}:root[data-style=grid] .todo-item.is-overdue{border-bottom-color:var(--needs-reply);background:var(--needs-reply-tint)}:root[data-style=grid] .todo-item.is-due-today{border-bottom-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}:root[data-style=grid] .appointment-list-item.is-court{border-left-color:var(--needs-reply)}:root[data-style=grid] .appointment-list-item.is-preparation{border-left-color:var(--handled)}:root[data-style=grid] .appointment-list-item.is-other{border-left-color:var(--hairline)}:root[data-style=grid] .client-preview-case-list li{background:0 0;border-radius:0}
