:root { color-scheme: light; --ink:#102e2a; --deep:#0b221f; --gold:#c3a464; --cream:#f6f2e9; --line:#dfe4df; font-family:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--ink); background:radial-gradient(circle at 10% 0,rgba(195,164,100,.14),transparent 30rem),#f8faf7; }
button,input,select,textarea { font:inherit; }
a { color:inherit; }
.portal-skip { position:fixed; z-index:50; top:.5rem; left:.5rem; padding:.7rem 1rem; color:#fff; background:var(--deep); transform:translateY(-150%); }
.portal-skip:focus { transform:none; }
.portal-bar { min-height:5rem; display:flex; align-items:center; justify-content:space-between; padding:.8rem clamp(1rem,4vw,4rem); color:#fff; background:var(--deep); border-bottom:1px solid rgba(255,255,255,.12); }
.portal-brand { display:flex; align-items:center; gap:.8rem; text-decoration:none; }
.portal-brand__mark { display:grid; place-items:center; width:2.8rem; height:2.8rem; color:var(--gold); border:1px solid var(--gold); border-radius:50%; font:1rem Georgia,serif; }
.portal-brand__text { display:grid; gap:.15rem; }
.portal-brand strong { font-size:.78rem; letter-spacing:.16em; }
.portal-brand small,.portal-account small { color:rgba(255,255,255,.6); font-size:.68rem; }
.portal-account { display:grid; justify-items:end; gap:.12rem; font-size:.78rem; }
.portal-signout { color:#fff; border:0; background:transparent; cursor:pointer; }
.portal-main { min-height:calc(100vh - 8rem); }
.portal-state { display:grid; place-items:center; min-height:68vh; color:#61716c; }
.portal-auth { max-width:74rem; min-height:calc(100vh - 8rem); display:grid; grid-template-columns:1.1fr minmax(21rem,.9fr); gap:clamp(2rem,8vw,8rem); align-items:center; margin:auto; padding:clamp(3rem,7vw,7rem) clamp(1.2rem,4vw,4rem); }
.eyebrow { margin:0 0 .8rem; color:#876f3e; font-size:.66rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.portal-auth h1,.portal-welcome h1,.admin-heading h1 { margin:0; font:400 clamp(2.8rem,5vw,5rem)/.98 Georgia,serif; letter-spacing:-.045em; }
.portal-auth__copy>p:not(.eyebrow) { max-width:35rem; color:#53645f; font-size:1.1rem; line-height:1.7; }
.security-note { display:grid; gap:.28rem; padding:1rem; border-left:3px solid var(--gold); background:#f1eee4; font-size:.84rem; }
.security-note span { color:#5d6b67; line-height:1.45; }
.portal-card { padding:clamp(1.5rem,4vw,2.7rem); background:#fff; border:1px solid var(--line); border-radius:1rem; box-shadow:0 1.4rem 4rem rgba(15,45,41,.1); }
.portal-card h2 { margin:0 0 1.4rem; font:400 1.7rem Georgia,serif; }
.provider-list { display:grid; gap:.65rem; }
.provider-list button { min-height:3.7rem; display:grid; grid-template-columns:2rem 1fr auto; align-items:center; gap:.7rem; padding:.6rem 1rem; color:var(--ink); text-align:left; border:1px solid #d5ddda; border-radius:.5rem; background:#fff; cursor:pointer; }
.provider-list button:hover { background:#f5f8f6; border-color:#80958e; }
.provider-list b { display:grid; place-items:center; width:2rem; height:2rem; color:#fff; border-radius:50%; background:#25413b; }
.provider-list i { color:#84918e; font-style:normal; }
.portal-card>small { display:block; margin-top:1rem; color:#74817d; line-height:1.5; }
.alert { padding:.8rem 1rem; border:1px solid transparent; border-radius:.4rem; font-size:.82rem; }
.notice { padding:.8rem 1rem; color:#743c2e; border-radius:.4rem; background:#fff0e9; font-size:.82rem; }
.alert--error { color:#8f1d1d; background:#fff0f0; border-color:#e9b4b4; }
.alert--success { color:#165c35; background:#eaf8ef; border-color:#9fd2b0; }
.dashboard { max-width:82rem; margin:auto; padding:clamp(2.5rem,6vw,5rem) clamp(1rem,4vw,3.5rem); }
.portal-welcome,.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; }
.portal-welcome { padding-bottom:2.5rem; border-bottom:1px solid var(--line); }
.portal-welcome h1 { font-size:clamp(2.5rem,5vw,4.2rem); }
.portal-welcome p:last-child { color:#65746f; }
.trust { min-width:13rem; display:grid; grid-template-columns:2rem auto; gap:.15rem .65rem; padding:.8rem 1rem; border:1px solid #cddbd6; border-radius:.65rem; background:#f1f7f4; }
.trust>span { grid-row:1/3; display:grid; place-items:center; color:#fff; border-radius:50%; background:#39705e; }
.trust small { color:#687873; }
.section-heading { margin:3rem 0 1.2rem; }
.section-heading h2 { margin:0; font:400 clamp(1.8rem,3vw,2.5rem) Georgia,serif; }
.client-account-total { padding:.45rem .7rem; color:#315e53; border:1px solid #bfd1ca; border-radius:999px; background:#edf5f1; font-size:.72rem; font-weight:800; white-space:nowrap; }
.primary { display:inline-flex; align-items:center; justify-content:center; min-height:3rem; padding:.75rem 1.15rem; color:#fff; text-decoration:none; border:1px solid var(--ink); border-radius:.35rem; background:var(--ink); cursor:pointer; }
.matter-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.matter { padding:1.35rem; border:1px solid var(--line); border-radius:.7rem; background:#fff; box-shadow:0 .7rem 2rem rgba(16,46,42,.05); }
.matter__top,.matter footer { display:flex; justify-content:space-between; gap:1rem; }
.matter__top { color:#6c7975; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; }
.matter h3 { margin:1.1rem 0; font:400 1.5rem Georgia,serif; }
.matter__status { display:grid; gap:.2rem; padding:.85rem 1rem; border-radius:.4rem; background:#eff5f2; }
.matter__status small,.matter__next small { color:#6d7c77; font-size:.63rem; letter-spacing:.1em; text-transform:uppercase; }
.matter dl { margin:.8rem 0; }
.matter dl div { display:flex; justify-content:space-between; gap:1rem; padding:.65rem 0; border-bottom:1px solid #edf0ee; font-size:.78rem; }
.matter dt { color:#6e7d78; }.matter dd { margin:0; text-align:right; font-weight:700; }
.matter__next { min-height:5rem; padding:.8rem 0; }.matter__next p { margin:.35rem 0; font-size:.86rem; line-height:1.5; }
.matter footer { align-items:center; padding-top:1rem; border-top:1px solid var(--line); font-size:.7rem; }
.matter footer span { color:#788681; }.matter footer a,.matter footer button { color:var(--ink); border:0; background:transparent; font-weight:700; cursor:pointer; }
.portal-empty { grid-column:1/-1; padding:4rem 2rem; text-align:center; border:1px solid var(--line); border-radius:.7rem; background:#fff; }
.portal-footer { display:flex; justify-content:center; gap:1rem; flex-wrap:wrap; padding:1.2rem; color:#7c8b86; border-top:1px solid var(--line); font-size:.7rem; }

body.staff { background:#f3f5f2; }
.staff-login { min-height:100vh; display:grid; place-items:center; padding:2rem; background:linear-gradient(115deg,var(--deep) 0 38%,#f5f7f4 38%); }
.staff-login .portal-card { width:min(31rem,100%); margin-left:20vw; }.staff-login h1 { margin:0; font:400 3.4rem Georgia,serif; }.staff-login p { color:#5d6b67; line-height:1.6; }.microsoft-login { width:100%; min-height:3.25rem; display:flex; align-items:center; justify-content:center; gap:.75rem; padding:.75rem 1.15rem; color:#1f1f1f; border:1px solid #8c8c8c; border-radius:.2rem; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.14); font-family:"Segoe UI",Arial,sans-serif; font-size:.95rem; font-weight:600; cursor:pointer; }.microsoft-login:hover { background:#f5f5f5; }.microsoft-login:focus-visible { outline:3px solid rgba(0,120,212,.35); outline-offset:2px; }.microsoft-login__logo { flex:none; width:1.35rem; height:1.35rem; }
.admin-layout { min-height:calc(100vh - 5rem); display:grid; grid-template-columns:14rem minmax(0,1fr); }
.admin-nav { padding:2rem 1rem; background:#e8ede9; border-right:1px solid #d8dfda; }.admin-nav a { display:block; margin:.3rem 0; padding:.75rem; text-decoration:none; border-radius:.35rem; }.admin-nav a[aria-current=page] { color:#fff; background:var(--ink); }.admin-nav p { margin:2rem .75rem; color:#75827e; font-size:.7rem; line-height:1.5; }
.admin-work { min-width:0; padding:clamp(1.5rem,4vw,3.5rem); }.admin-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; }.admin-heading h1 { font-size:3.5rem; }
.admin-search { width:100%; min-height:3.2rem; margin:2rem 0 .8rem; padding:0 1rem; border:1px solid #cfd8d3; border-radius:.4rem; }
.admin-list { display:grid; gap:.55rem; }.admin-list>button { display:grid; grid-template-columns:1.2fr 1fr auto; gap:1rem; align-items:center; width:100%; padding:1rem; color:var(--ink); text-align:left; border:1px solid #dbe2dd; border-radius:.45rem; background:#fff; cursor:pointer; }.admin-list>button>span { display:grid; gap:.2rem; }.admin-list small { color:#74827d; }
.admin-list>button.has-client-updates { border-color:#d4ad55; background:#fffaf0; box-shadow:inset .28rem 0 #d4ad55; }.client-update-badge { width:max-content; margin-top:.3rem; padding:.25rem .45rem; color:#5a4315; border-radius:999px; background:#f5dfa4; font-size:.66rem; font-style:normal; font-weight:800; }
.client-account-badge { width:max-content; margin-top:.3rem; padding:.25rem .45rem; color:#28594a; border-radius:999px; background:#e4f0ea; font-size:.66rem; font-style:normal; font-weight:800; }
.queue-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(10rem,1fr)); gap:.75rem; margin:1rem 0 1.5rem; }.queue-card { display:grid; gap:.25rem; padding:1rem; color:var(--ink); text-decoration:none; border:1px solid #d8e0db; border-radius:.55rem; background:#fff; }.queue-card:hover { border-color:#8ca49b; box-shadow:0 .5rem 1.5rem rgba(9,39,34,.08); }.queue-card strong { font:400 2rem Georgia,serif; }.queue-card span { color:#63736e; font-size:.76rem; font-weight:750; }
.queue-card--updates { border-color:#79ad8f; background:#edf8f1; box-shadow:inset 0 -.22rem #4e936b; }.queue-card--updates strong,.queue-card--updates span { color:#195b37; }
.editor-backdrop { position:fixed; z-index:20; inset:0; display:grid; justify-items:end; overflow:hidden; background:rgba(6,23,20,.4); }.editor { width:min(29rem,100%); height:100%; max-height:100dvh; min-height:0; display:grid; grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden; background:#fff; box-shadow:-1rem 0 3rem rgba(0,0,0,.18); }.editor header,.editor footer { flex:none; padding:1.2rem; border-bottom:1px solid var(--line); }.editor header { display:flex; justify-content:space-between; }.editor header button { border:0;background:transparent;font-size:1.6rem;cursor:pointer; }.editor__body { min-height:0; display:grid; align-content:start; gap:1rem; padding:1.2rem; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }.editor label { display:grid; gap:.4rem; color:#586762; font-size:.74rem;font-weight:700; }.editor select,.editor textarea { width:100%; padding:.75rem; color:var(--ink); border:1px solid #cfd8d3; border-radius:.35rem;background:#fff; }.editor textarea { min-height:8rem;resize:vertical; }.editor footer { border-top:1px solid var(--line);border-bottom:0; }.editor footer button { width:100%; }
.editor .approval-check { display:flex; align-items:flex-start; gap:.65rem; padding:.85rem; border:1px solid #d6dfda; border-radius:.4rem; background:#f5f8f6; line-height:1.45; }.editor .approval-check input { width:auto; min-height:0; margin:.15rem 0 0; }
.editor--wide { width:min(44rem,100%); }
.editor-backdrop--workspace { place-items:center; padding:clamp(.5rem,2vw,1.5rem); }
.editor--workspace { width:min(86rem,100%); height:min(58rem,calc(100dvh - clamp(1rem,4vw,3rem))); border:1px solid #c8d4cf; border-radius:.7rem; box-shadow:0 1.5rem 4rem rgba(4,25,21,.24); }
.matter-workspace-header { min-height:5.7rem; align-items:center; padding:1rem 1.35rem!important; background:#fff; }
.matter-workspace-header>div { min-width:0; }
.matter-workspace-header small { color:#66756f; font-size:.64rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.matter-workspace-header h2 { margin:.18rem 0 0; font:400 clamp(1.55rem,2vw,2.15rem) Georgia,serif; color:var(--ink); }
.matter-workspace-header p { margin:.12rem 0 0; overflow:hidden; color:#6d7b76; font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.matter-workspace-layout { min-height:0; display:grid; grid-template-columns:14rem minmax(25rem,1fr) 13.5rem; overflow:hidden; background:#f5f7f5; }
.matter-workspace-nav { min-height:0; display:flex; flex-direction:column; gap:.18rem; padding:1rem .75rem; overflow:auto; border-right:1px solid #d5ddd9; background:#f8faf8; }
.matter-workspace-nav>small,.matter-action-rail>small { margin:.1rem .45rem .65rem; color:#71807a; font-size:.6rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.matter-workspace-nav>button { display:grid; grid-template-columns:1.8rem 1fr; gap:.45rem; align-items:center; width:100%; padding:.62rem .55rem; color:#41534d; text-align:left; border:0; border-radius:.35rem; background:transparent; cursor:pointer; font:750 .75rem/1.2 inherit; }
.matter-workspace-nav>button span { display:grid; place-items:center; width:1.55rem; height:1.55rem; color:#688078; border:1px solid #cbd6d1; border-radius:50%; font-size:.55rem; }
.matter-workspace-nav>button:hover { background:#eaf1ed; }
.matter-workspace-nav>button.is-active { color:#fff; background:var(--deep); }
.matter-workspace-nav>button.is-active span { color:#fff; border-color:#6e9185; background:#254d44; }
.matter-nav-status { display:grid; gap:.25rem; margin-top:auto; padding:.85rem; border:1px solid #d5dfda; border-radius:.45rem; background:#fff; }
.matter-nav-status small { color:#78857f; font-size:.58rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.matter-nav-status strong { color:var(--ink); font-size:.76rem; }
.matter-nav-status span { width:max-content; padding:.18rem .4rem; color:#45675d; border-radius:2rem; background:#e6f0eb; font-size:.6rem; font-weight:800; text-transform:capitalize; }
.matter-workspace-main { scroll-behavior:smooth; gap:.85rem; padding:1rem; }
.matter-panel { scroll-margin-top:1rem; display:grid; gap:.85rem; padding:1rem; border:1px solid #d5ddd9; border-radius:.5rem; background:#fff; box-shadow:0 .15rem .45rem rgba(21,50,43,.035); }
.matter-panel__heading { display:flex; align-items:center; gap:.65rem; padding-bottom:.72rem; border-bottom:1px solid #dfe5e2; }
.matter-panel__heading>span { display:grid; place-items:center; width:1.8rem; height:1.8rem; flex:none; color:#fff; border-radius:.35rem; background:var(--deep); font-size:.6rem; font-weight:850; }
.matter-panel__heading>div { display:grid; gap:.05rem; }
.matter-panel__heading small { color:#77847f; font-size:.56rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.matter-panel__heading h3 { margin:0; color:var(--ink); font:700 .95rem/1.2 inherit; }
.matter-panel__heading>button { margin-left:auto; padding:.42rem .65rem; color:var(--ink); border:1px solid #c3d0ca; border-radius:.3rem; background:#fff; cursor:pointer; font-size:.68rem; font-weight:750; }
.matter-panel__updated { justify-self:end; margin-top:-.6rem; color:#7b8782; font-size:.58rem; }
.matter-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
.matter-field--wide { grid-column:1/-1; }
.matter-field-grid textarea { min-height:5.5rem; }
.matter-panel .security-note { margin-top:.1rem; }
.matter-panel--resources #resource-items { display:grid; gap:.65rem; }
.matter-action-rail { min-height:0; display:flex; flex-direction:column; gap:.75rem; padding:1rem .8rem; overflow:auto; border-left:1px solid #d5ddd9; background:#fbfcfb; }
.matter-action-rail .workspace-actions { display:grid; }
.matter-action-rail .workspace-actions>* { width:100%; text-align:center; }
.matter-action-rail .workspace-actions .primary { color:#fff; border-color:var(--deep); background:var(--deep); }
.matter-action-rail .workspace-gate { font-size:.67rem; }
.action-ready { margin:0; padding:.7rem; color:#235746; border:1px solid #bcd6ca; border-radius:.4rem; background:#edf7f2; font-size:.67rem; line-height:1.4; }
.matter-action-summary { display:grid; gap:.55rem; margin-top:auto; padding-top:.8rem; border-top:1px solid #d8e0dc; }
.matter-action-summary span { display:grid; gap:.12rem; }
.matter-action-summary small { color:#78857f; font-size:.55rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.matter-action-summary strong { overflow-wrap:anywhere; color:#425750; font-size:.67rem; text-transform:capitalize; }
.matter-workspace-footer { display:flex; justify-content:flex-end; gap:.65rem; padding:.8rem 1rem!important; }
.matter-workspace-footer button { width:auto!important; min-width:10.5rem; padding:.7rem 1rem; }
.workspace-actions { display:flex; gap:.55rem; flex-wrap:wrap; }
.workspace-actions button,.workspace-actions a,.back-link { padding:.65rem .8rem; color:var(--ink); text-decoration:none; border:1px solid #cbd6d1; border-radius:.35rem; background:#fff; cursor:pointer; }
.workspace-actions button:disabled { color:#7c8884; cursor:not-allowed; background:#edf0ee; opacity:.7; }.workspace-gate { margin:0; padding:.7rem .8rem; color:#72400f; border:1px solid #ddbd8c; border-radius:.4rem; background:#fff7e7; font-size:.75rem; line-height:1.45; }
.client-update-banner { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:.85rem 1rem; color:#174b32; border:1px solid #8ec5a4; border-radius:.5rem; background:#eaf8ef; }.client-update-banner>span { display:grid; gap:.2rem; }.client-update-banner small { color:#527262; }.client-update-banner button { padding:.5rem .7rem; color:#174b32; border:1px solid #79ad8f; border-radius:.35rem; background:#fff; cursor:pointer; }
.client-account-strip { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:.8rem .9rem; border:1px solid #cddbd5; border-radius:.5rem; background:#f2f7f4; }.client-account-strip>span { min-width:0; display:grid; grid-template-columns:auto 1fr; gap:.15rem .6rem; align-items:baseline; }.client-account-strip small { grid-column:1/-1; color:#6d7c77; font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.client-account-strip strong { overflow-wrap:anywhere; }.client-account-strip em { color:#5c7068; font-size:.7rem; font-style:normal; }.client-account-strip button { flex:none; padding:.5rem .7rem; color:var(--ink); border:1px solid #aebfb8; border-radius:.35rem; background:#fff; cursor:pointer; }
.client-account-preview { display:grid; gap:.25rem; padding:.8rem; color:#24533f; border:1px solid #a9ccb9; border-radius:.45rem; background:#eef8f2; font-size:.75rem; line-height:1.45; }
.resource-list { display:grid; gap:.7rem; }
.resource-list h3 { margin:.5rem 0 0; font:400 1.35rem Georgia,serif; }
.resource-list__heading { display:flex; justify-content:space-between; gap:1rem; align-items:end; }.resource-list__heading>span { display:flex; gap:.55rem; align-items:center; }.resource-list__heading small { color:#6e7d78; }.resource-list__heading button { padding:.4rem .6rem; border:1px solid #b8c7c1; border-radius:.3rem; background:#fff; color:var(--ink); cursor:pointer; }
#resource-items { display:grid; gap:.7rem; }
.resource { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.75rem 1rem; align-items:start; padding:1rem; border:1px solid #d9e1dc; border-radius:.5rem; background:#fff; }
.resource--focus { scroll-margin-top:1.5rem; border-color:#a3864d; box-shadow:0 0 0 3px rgba(163,134,77,.18),0 .8rem 2rem rgba(16,46,42,.08); }
.resource>div { display:grid; gap:.25rem; }.resource small,.resource .scan-status { color:#6e7d78; line-height:1.45; }.resource>b { color:#4f6e63; font-size:.74rem; }.resource a { display:block; margin-top:.3rem; font-size:.7rem; }
.resource--pending { color:#68746f; background:#eef1ef; filter:saturate(.35); }.resource--pending strong { color:#69746f; }.scan-status { grid-column:1/-1; font-size:.72rem; }
.resource--success { border-color:#91c9a7; background:#eff9f2; box-shadow:inset .25rem 0 #4e936b; }.resource--attention { border-color:#dfbd69; background:#fff9e9; box-shadow:inset .25rem 0 #d4a83c; }.resource--file { align-items:center; }.admin-file { min-width:0; display:flex!important; gap:.75rem; align-items:center; }.admin-file>i { width:2.8rem; height:2.8rem; display:grid; flex:none; place-items:center; color:#255847; border-radius:.42rem; background:#dcece4; font-size:.62rem; font-style:normal; font-weight:900; letter-spacing:.05em; }.admin-file>span { min-width:0; display:grid; gap:.2rem; }.admin-file strong { overflow-wrap:anywhere; }
.editor #resource-items .resource--admin { grid-template-columns:1fr; gap:.65rem; padding:.85rem; }.resource-card-main { min-width:0; display:grid!important; grid-template-columns:2.7rem minmax(0,1fr) auto; gap:.75rem!important; align-items:center; }.resource-card-icon { width:2.7rem; height:2.7rem; display:grid; place-items:center; color:#28594a; border-radius:.42rem; background:#dfece6; font-size:.58rem; font-style:normal; font-weight:900; letter-spacing:.04em; }.resource-card-main>span { min-width:0; display:grid; gap:.18rem; }.resource-card-main strong { overflow-wrap:anywhere; line-height:1.25; }.resource-card-main small { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; }.resource-status { align-self:start; padding:.28rem .48rem; color:#335e51; border-radius:999px; background:rgba(255,255,255,.78); white-space:nowrap; font-size:.66rem; }.resource-card-actions { display:flex!important; flex-wrap:wrap; gap:.45rem!important; align-items:center; padding-top:.55rem; border-top:1px solid rgba(81,110,98,.16); }.resource-card-actions a,.resource-card-actions button { margin:0!important; padding:.38rem .55rem; color:var(--ink); text-decoration:none; border:1px solid #b8c7c1; border-radius:.3rem; background:#fff; font-size:.68rem; cursor:pointer; }.resource-card-actions .resource-email-status { max-width:none; margin:0 auto 0 0; overflow-wrap:anywhere; }.resource-card-note { margin:0; padding-top:.5rem; color:#62736c; border-top:1px solid rgba(81,110,98,.16); font-size:.7rem; line-height:1.4; }
.resource-recovery { display:flex; align-items:center; gap:.55rem; padding:.65rem; border:1px solid #d7c48d; border-radius:.42rem; background:#fff9e8; }.resource-recovery>div { display:grid; flex:1; gap:.15rem; }.resource-recovery strong { color:#554416; font-size:.75rem; }.resource-recovery small { color:#6d5d31; line-height:1.4; }.resource-recovery a,.resource-recovery button { flex:0 0 auto; padding:.42rem .6rem; color:#173f35; text-decoration:none; border:1px solid #a99a6d; border-radius:.32rem; background:#fff; font-size:.68rem; font-weight:700; cursor:pointer; }.resource-recovery--warning { border-color:#d7aaa2; background:#fff2ef; }.resource-recovery--warning strong,.resource-recovery--warning small { color:#733c33; }
.resource-email-status { display:block; margin-top:.35rem; max-width:16rem; font-size:.7rem; }.resource-email-status--sent { color:#165c35; }.resource-email-status--failed { color:#8f1d1d; }.resource [data-notify-id] { margin-top:.45rem; padding:.4rem .55rem; border:1px solid #b8c7c1; border-radius:.3rem; background:#fff; color:var(--ink); cursor:pointer; }
.form-submission { grid-column:1/-1; padding-top:.75rem; border-top:1px solid var(--line); }.form-submission summary { color:var(--ink); cursor:pointer; font-weight:700; }.form-submission dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 1rem; margin:.8rem 0 0; }.form-submission dl div { padding:.65rem; border-radius:.35rem; background:#f5f7f5; }.form-submission dt { color:#6e7d78; font-size:.68rem; font-weight:700; }.form-submission dd { margin:.25rem 0 0; color:var(--ink); white-space:pre-wrap; overflow-wrap:anywhere; font-size:.78rem; }
.resource form { grid-column:1/-1; display:grid; gap:.7rem; padding-top:.75rem; border-top:1px solid var(--line); }.resource form label,.upload-control { display:grid; gap:.35rem; color:#576661; font-size:.75rem; font-weight:700; }.resource form input,.resource form textarea,.editor input { min-height:2.8rem; padding:.65rem; border:1px solid #cbd6d1; border-radius:.35rem; }.resource form textarea { min-height:6rem; }.upload-control { grid-column:1/-1; padding:.7rem; border:1px dashed #9cada7; border-radius:.35rem; cursor:pointer; }.back-link { margin-bottom:1.25rem; }
.resource--draft { border-color:#d5b866!important; background:#fffaf0; }.resource--complete { border-color:#9bcbb0; background:#f1f9f4; }.client-form__intro { grid-column:1/-1; }.client-form__notice { display:grid; gap:.25rem; padding:.75rem; color:#355d50; border:1px solid #c8ddd3; border-radius:.45rem; background:#f1f7f4; }.client-form__notice span { color:#8a6f37; font-size:.62rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.client-form__notice p { margin:0; font-size:.74rem; line-height:1.45; }.client-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }.client-form__grid label { align-content:start; }.client-form__wide { grid-column:1/-1; }.client-form__check { min-height:2.8rem; display:flex; gap:.55rem; align-items:center; padding:.65rem; border:1px solid #cbd6d1; border-radius:.35rem; background:#fff; }.resource form .client-form__check input { width:1.05rem; min-height:0; margin:0; padding:0; }.client-form__actions { display:flex; justify-content:flex-end; gap:.6rem; padding-top:.2rem; }.client-form__actions button { min-height:2.8rem; padding:.65rem 1rem; border:1px solid #9fb2ab; border-radius:.35rem; background:#fff; cursor:pointer; }.client-form__actions .primary { color:#fff; border-color:var(--deep); background:var(--deep); }.draft-status { margin:0; color:#63736e; font-size:.7rem; line-height:1.45; }
.profile-email-editor { display:grid; gap:.7rem; padding:.9rem; border:1px solid #d6dfda; border-radius:.5rem; background:#f7f9f7; }.profile-email-editor>div:first-child { display:grid; gap:.25rem; }.profile-email-editor small { color:#6d7b76; line-height:1.4; }.profile-email-add { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:.5rem; }.profile-email-add button { padding:.55rem .7rem; border:1px solid #b8c7c1; border-radius:.35rem; background:#fff; color:var(--ink); cursor:pointer; }.profile-email-add button:disabled { cursor:not-allowed; opacity:.5; }
.email-template-page { display:grid; gap:1.25rem; margin-top:2rem; }.email-template-intro { display:flex; justify-content:space-between; gap:1.5rem; align-items:center; padding:1.2rem 1.35rem; color:#edf7f3; border-radius:.7rem; background:var(--deep); }.email-template-intro h2 { margin:0 0 .35rem; font:400 1.65rem Georgia,serif; }.email-template-intro p { max-width:50rem; margin:0; color:#cfe0da; line-height:1.5; }.email-template-intro>span { flex:none; padding:.4rem .65rem; color:#173d34; border-radius:999px; background:#e7d4a2; font-size:.68rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.email-template-layout { display:grid; grid-template-columns:minmax(13rem,18rem) minmax(0,1fr); gap:1rem; align-items:start; }.email-template-nav { display:grid; gap:.55rem; }.email-template-nav button { display:grid; gap:.3rem; padding:1rem; color:var(--ink); text-align:left; border:1px solid #d5dfda; border-radius:.55rem; background:#fff; cursor:pointer; }.email-template-nav button[aria-current=true] { color:#fff; border-color:var(--deep); background:var(--deep); box-shadow:0 .6rem 1.5rem rgba(11,34,31,.12); }.email-template-nav small { color:#70807a; line-height:1.4; }.email-template-nav button[aria-current=true] small { color:#cfe0da; }.email-template-editor { min-width:0; display:grid; gap:1rem; padding:clamp(1rem,2.5vw,1.5rem); border:1px solid #d6dfda; border-radius:.65rem; background:#fff; box-shadow:0 .75rem 2rem rgba(18,50,45,.06); }.email-template-editor>header { display:flex; justify-content:space-between; gap:1rem; align-items:start; padding-bottom:1rem; border-bottom:1px solid var(--line); }.email-template-editor h2 { margin:.2rem 0; font:400 2rem Georgia,serif; }.email-template-editor header p:not(.eyebrow) { margin:.3rem 0 0; color:#687771; line-height:1.45; }.template-state { flex:none; padding:.35rem .55rem; border-radius:999px; font-size:.66rem; font-weight:800; }.template-state--ok { color:#165c35; background:#eaf8ef; }.template-state--error { color:#8f1d1d; background:#fff0f0; }.template-security { display:grid; gap:.3rem; padding:.8rem .9rem; color:#315b4d; border:1px solid #b9d4c8; border-radius:.45rem; background:#eef7f2; }.template-security span { font-size:.75rem; line-height:1.45; }.email-template-editor>label { display:grid; gap:.4rem; color:#4e6059; font-size:.74rem; font-weight:750; }.email-template-editor input,.email-template-editor textarea { width:100%; padding:.8rem; color:var(--ink); border:1px solid #c8d4ce; border-radius:.4rem; background:#fff; line-height:1.5; }.email-template-editor textarea { min-height:21rem; resize:vertical; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.78rem; }.template-placeholders { display:grid; gap:.45rem; padding:.85rem; border:1px solid #e0d09f; border-radius:.45rem; background:#fffbef; }.template-placeholders p { margin:0; color:#6e6447; font-size:.73rem; }.template-placeholders div { display:flex; flex-wrap:wrap; gap:.4rem; }.template-placeholders code { padding:.3rem .45rem; color:#173f35; border:1px solid #d6c58e; border-radius:.3rem; background:#fff; font-size:.72rem; }.template-preview { border:1px solid #d7e0db; border-radius:.45rem; background:#fafcfb; }.template-preview summary { padding:.8rem .9rem; cursor:pointer; font-weight:800; }.template-preview>div { display:grid; gap:.8rem; padding:0 .9rem .9rem; }.template-preview pre { max-height:20rem; margin:0; padding:1rem; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; color:#344a43; border-radius:.35rem; background:#edf3f0; font:400 .76rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace; }.email-template-editor>footer { display:flex; justify-content:flex-end; gap:.65rem; padding-top:.9rem; border-top:1px solid var(--line); }.email-template-editor>footer button { min-height:2.8rem; padding:.65rem 1rem; border:1px solid #aebdb7; border-radius:.4rem; background:#fff; cursor:pointer; }.email-template-editor>footer .primary { color:#fff; border-color:var(--deep); background:var(--deep); }.email-template-editor>footer button:disabled { cursor:wait; opacity:.6; }
.send-email-preview { min-width:0; border:1px solid #cfdad4; border-radius:.5rem; background:#f7faf8; }.send-email-preview>summary { padding:.8rem .9rem; color:#294d42; cursor:pointer; font-size:.76rem; font-weight:800; }.send-email-preview>div { padding:0 .75rem .75rem; }.outgoing-email-preview { min-width:0; overflow:hidden; color:#28443c; border:1px solid #d5dfda; border-radius:.5rem; background:#edf3f0; }.email-preview-envelope { display:grid; gap:.35rem; padding:.7rem .85rem; border-bottom:1px solid #d5dfda; background:#f7faf8; }.email-preview-envelope>div { min-width:0; display:grid; grid-template-columns:3.5rem minmax(0,1fr); gap:.5rem; align-items:baseline; }.email-preview-envelope span { color:#71807a; font-size:.61rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.email-preview-envelope strong { min-width:0; overflow-wrap:anywhere; font-size:.7rem; }.email-preview-message { margin:.75rem; padding:1rem; border:1px solid #e0e6e2; border-radius:.4rem; background:#fff; box-shadow:0 .35rem 1rem rgba(14,48,41,.05); }.email-preview-copy { color:#304c44; font-size:.72rem; line-height:1.6; }.email-preview-copy p { margin:0 0 .8rem; }.email-preview-cta { display:inline-block; margin:.15rem 0 .3rem; padding:.55rem .8rem; color:#fff; border-radius:.3rem; background:#123d35; font-weight:800; }.email-preview-link { display:block; color:#436c60; overflow-wrap:anywhere; font-size:.62rem; }.email-preview-signature { display:flex; gap:.7rem; align-items:flex-start; margin-top:1.2rem; padding-top:1rem; border-top:1px solid #d9e2dd; }.email-preview-mark { width:2.5rem; height:2.5rem; display:grid; flex:none; place-items:center; color:#8b6f36; border:1px solid #b99b5f; border-radius:50%; font:400 .78rem Georgia,serif; }.email-preview-signature>div { min-width:0; display:grid; gap:.18rem; }.email-preview-signature strong { color:#123d35; font-size:.72rem; letter-spacing:.08em; }.email-preview-signature b { color:#52675f; font-size:.64rem; font-weight:500; }.email-preview-signature small { margin-top:.25rem; color:#6b7b75; overflow-wrap:anywhere; font-size:.6rem; line-height:1.5; }.email-preview-note { margin:0; padding:0 .85rem .75rem; color:#65756f; font-size:.64rem; line-height:1.4; }.email-preview-unavailable { margin:0; padding:.8rem; color:#7c3b2f; border:1px solid #e1b6ad; border-radius:.4rem; background:#fff2ef; font-size:.72rem; line-height:1.45; }
.resource-receipt { grid-column:1/-1; margin:0; padding:.75rem; color:#165c35; border:1px solid #9fd2b0; border-radius:.4rem; background:#eaf8ef; font-size:.78rem; }.upload-stage { grid-column:1/-1; display:grid!important; gap:.7rem!important; padding-top:.75rem; border-top:1px solid var(--line); }.upload-stage>small { font-weight:400; }.upload-queue { display:grid!important; gap:.45rem!important; }.queued-file { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:.7rem; border:1px solid #d7e0db; border-radius:.4rem; background:#f7f9f7; }.queued-file span { display:grid; gap:.2rem; min-width:0; }.queued-file strong { overflow-wrap:anywhere; font-size:.78rem; }.queued-file button { padding:.4rem .6rem; color:#8f1d1d; border:1px solid #d8aaaa; border-radius:.3rem; background:#fff; cursor:pointer; }.queue-empty { margin:0; color:#72807b; font-size:.75rem; }.upload-stage>.primary:disabled { cursor:not-allowed; opacity:.55; }
.dashboard--matter { max-width:92rem; padding-top:2rem; }
.portal-welcome--matter { align-items:center; padding-bottom:1.8rem; }
.portal-welcome--matter h1 { max-width:18ch; font-size:clamp(2rem,4vw,3.4rem); }
.client-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(17rem,22rem); gap:clamp(1.2rem,3vw,2.4rem); align-items:start; margin-top:1.5rem; }
.client-workspace__main { min-width:0; display:grid; gap:1.25rem; }
.client-latest { display:grid; grid-template-columns:8rem minmax(0,1fr); gap:1rem; align-items:center; padding:1rem 1.15rem; color:#fff; border-radius:.7rem; background:linear-gradient(120deg,#10352f,#1e5548); box-shadow:0 .8rem 2rem rgba(16,46,42,.12); }
.client-latest__label { color:#e0cb99; font-size:.64rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.client-latest div { display:grid; gap:.25rem; }
.client-latest strong { overflow-wrap:anywhere; font:400 1.1rem Georgia,serif; }
.client-latest small { color:#cadbd5; font-size:.72rem; }
.client-latest--quiet { color:var(--ink); border:1px solid #d7dfda; background:#f2f6f3; box-shadow:none; }
.client-latest--quiet small { color:#66756f; }
.client-section { padding:1.15rem; border:1px solid #dce3df; border-radius:.75rem; background:rgba(255,255,255,.82); box-shadow:0 .55rem 1.8rem rgba(16,46,42,.035); }
.client-section>header { display:flex; justify-content:space-between; gap:1rem; align-items:end; margin-bottom:.9rem; padding-bottom:.8rem; border-bottom:1px solid #e5eae7; }
.client-section>header .eyebrow { margin-bottom:.3rem; }
.client-section>header h2 { margin:0; font:400 clamp(1.4rem,2.2vw,1.85rem) Georgia,serif; }
.client-section>header>span { min-width:2rem; height:2rem; display:grid; place-items:center; color:#fff; border-radius:50%; background:#315e53; font-size:.75rem; font-weight:800; }
.client-section--actions { border-color:#d4c08f; background:#fffdf7; }
.client-section--actions>header>span { color:#523e18; background:#ead9aa; }
.resource-list--tasks .resource--task { border-color:#d8dfda; box-shadow:0 .35rem 1.1rem rgba(16,46,42,.04); }
.resource__header { grid-column:1/-1; display:flex!important; justify-content:space-between; gap:1rem; align-items:center; padding-bottom:.65rem; border-bottom:1px solid #e6ebe8; }
.resource__header b { color:#3e665a; font-size:.72rem; }
.resource__type { color:#8a6f37; font-size:.63rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.client-up-to-date { display:flex; gap:.8rem; align-items:center; padding:1rem; border:1px solid #bcd7c9; border-radius:.55rem; background:#f0f8f3; }
.client-up-to-date>span { width:2rem; height:2rem; display:grid; flex:none; place-items:center; color:#fff; border-radius:50%; background:#3b765f; }
.client-up-to-date strong { color:#1f5945; }
.client-up-to-date p { margin:.2rem 0 0; color:#60736b; font-size:.76rem; }
.client-file-grid { display:grid; gap:.6rem; }
.client-file-grid--pictures { grid-template-columns:repeat(2,minmax(0,1fr)); }
.client-file { min-width:0; display:grid; grid-template-columns:2.8rem minmax(0,1fr) auto; gap:.75rem; align-items:center; padding:.8rem; border:1px solid #dce3df; border-radius:.55rem; background:#fff; }
.client-file__icon { width:2.8rem; height:2.8rem; display:grid; place-items:center; color:#315a4e; border-radius:.45rem; background:#e6f0eb; font-size:.61rem; font-weight:900; letter-spacing:.08em; }
.client-file__icon--picture { color:#765d2b; background:#f5ead0; }
.client-file>div { min-width:0; display:grid; gap:.25rem; }
.client-file strong { overflow-wrap:anywhere; font-size:.8rem; }
.client-file small { color:#70807a; font-size:.68rem; }
.client-file__security { color:#2d6b56; white-space:nowrap; font-size:.66rem; font-weight:700; }
.client-file--pending { color:#68746f; background:#eef1ef; filter:saturate(.35); }
.client-section__empty { margin:.25rem 0; padding:.8rem; color:#71807b; border:1px dashed #d5ddd8; border-radius:.45rem; font-size:.75rem; text-align:center; }
.matter-summary { position:sticky; top:1.2rem; display:grid; gap:1rem; padding:1.2rem; border:1px solid #d7dfda; border-radius:.8rem; background:#fff; box-shadow:0 .8rem 2.4rem rgba(16,46,42,.07); }
.matter-summary>.eyebrow { margin:0; }
.matter-summary__status { display:grid; gap:.25rem; padding:1rem; border-radius:.55rem; background:#eef5f1; }
.matter-summary__status small,.matter-summary section>small { color:#6a7974; font-size:.62rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.matter-summary__status strong { font:400 1.25rem Georgia,serif; }
.matter-summary section { padding:.2rem 0 .8rem; border-bottom:1px solid #e7ebe9; }
.matter-summary section p { margin:.4rem 0 0; color:#4f625b; font-size:.82rem; line-height:1.5; }
.matter-summary dl { margin:0; }
.matter-summary dl div { display:grid; grid-template-columns:6rem minmax(0,1fr); gap:.8rem; padding:.65rem 0; border-bottom:1px solid #edf0ee; font-size:.72rem; }
.matter-summary dt { color:#6d7c77; }
.matter-summary dd { margin:0; overflow-wrap:anywhere; text-align:right; font-weight:750; }
.matter-summary__security { display:flex; gap:.6rem; align-items:flex-start; padding:.75rem; color:#416459; border-radius:.45rem; background:#f3f7f4; }
.matter-summary__security>span { width:1.35rem; height:1.35rem; display:grid; flex:none; place-items:center; color:#fff; border-radius:50%; background:#3a725e; font-size:.7rem; }
.matter-summary__security p { margin:0; font-size:.7rem; line-height:1.45; }
.portal-state--small { min-height:5rem; }
.form-preview { padding:.85rem; color:#5f6f69; border:1px solid var(--line); border-radius:.4rem; background:#f7f9f7; font-size:.78rem; line-height:1.6; }
[hidden] { display:none!important; }
.consult { max-width:76rem; margin:auto; padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,3.5rem); }
.consult-hero { display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(2rem,6vw,6rem); align-items:end; padding-bottom:3rem; border-bottom:1px solid var(--line); }
.consult-hero h1 { max-width:13ch; margin:0; font:400 clamp(2.7rem,5vw,4.8rem)/1 Georgia,serif; letter-spacing:-.045em; }
.consult-hero p:not(.eyebrow) { color:#586863; line-height:1.7; }
.consult-fee { padding:1.3rem; color:#fff; border-radius:.75rem; background:var(--deep); }.consult-fee small { color:#c9d5d1; }.consult-fee strong { display:block; margin:.2rem 0; color:#dfc788; font:400 2.6rem Georgia,serif; }.consult-fee p { margin:.6rem 0 0; color:#dce6e2!important; font-size:.8rem;line-height:1.5!important; }
.consult-flow { display:grid; grid-template-columns:14rem minmax(0,1fr); gap:clamp(2rem,6vw,6rem); padding-top:3rem; }.consult-steps { margin:0;padding:0;list-style:none;counter-reset:steps; }.consult-steps li { display:grid; grid-template-columns:2rem 1fr; gap:.7rem; align-items:center; padding:.75rem 0;color:#70807a;font-size:.76rem;border-bottom:1px solid var(--line); }.consult-steps li::before { counter-increment:steps; content:counter(steps,decimal-leading-zero); color:#a3864d;font:700 .66rem Arial; }.consult-steps li[aria-current=step] { color:var(--ink);font-weight:700; }
.consult-form { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.consult-form>h2,.consult-form>.form-intro,.consult-form>.full,.consult-form>fieldset,.consult-form>.form-actions { grid-column:1/-1; }.consult-form h2 { margin:0;font:400 2.2rem Georgia,serif; }.form-intro { margin:0 0 .5rem;color:#64736f;line-height:1.6; }.field { display:grid;gap:.4rem; }.field label,.consult-form legend { color:#52625d;font-size:.74rem;font-weight:750; }.field input,.field select,.field textarea { width:100%;min-height:3.1rem;padding:.75rem;color:var(--ink);border:1px solid #cbd6d1;border-radius:.4rem;background:#fff; }.field textarea { min-height:7rem;resize:vertical;line-height:1.5; }.consult-form fieldset { display:grid;gap:.65rem;margin:0;padding:1rem;border:1px solid #d4ddd8;border-radius:.45rem;background:#fff; }.consult-form fieldset label { display:flex;gap:.65rem;align-items:flex-start;color:#52625d;font-size:.8rem;line-height:1.45; }.consult-form input[type=checkbox] { margin-top:.15rem; }.form-actions { display:flex;justify-content:flex-end; }.payment-result { padding:clamp(1.5rem,4vw,3rem);border:1px solid #cbd8d3;border-radius:.8rem;background:#fff;box-shadow:0 1rem 3rem rgba(16,46,42,.08); }.payment-result h2 { margin:.2rem 0 1rem;font:400 2.5rem Georgia,serif; }.payment-result dl { margin:1.5rem 0;border-top:1px solid var(--line); }.payment-result dl div { display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line); }.payment-result dt { color:#677771; }.payment-result dd { margin:0;font-weight:800;text-align:right; }.payment-result code { padding:.25rem .45rem;color:var(--ink);background:#edf2ef;border-radius:.25rem;font:700 .9rem ui-monospace,monospace; }.payment-result .security-note { margin-top:1.5rem; }
.payment-report-form { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--line); }.payment-report-form>h3 { grid-column:1/-1; margin:0; font:400 1.55rem Georgia,serif; }
.admin-work--dashboard { padding-top:2rem; }
.admin-work--dashboard .admin-heading { align-items:end; margin-bottom:1rem; }
.admin-work--dashboard .admin-heading h1 { margin-top:.2rem; font-size:clamp(2.1rem,3.5vw,3.15rem); line-height:1; }
.queue-overview { display:grid; gap:.7rem; margin:0 0 1rem; padding:1rem; border:1px solid #d5dfda; border-radius:.65rem; background:#f9fbfa; }
.queue-overview__heading { display:flex; justify-content:space-between; gap:1rem; align-items:baseline; }
.queue-overview__heading strong { color:var(--ink); font-size:.78rem; }
.queue-overview__heading small { color:#71807a; font-size:.65rem; }
.queue-grid--active { grid-template-columns:repeat(auto-fit,minmax(11rem,16rem)); gap:.65rem; }
.queue-grid--active .queue-card { min-height:5.2rem; display:grid; grid-template-columns:auto 1fr; gap:.15rem .65rem; align-items:center; padding:.75rem .85rem; }
.queue-grid--active .queue-card strong { grid-row:1/3; font-size:1.7rem; }
.queue-grid--active .queue-card span { align-self:end; }
.queue-grid--active .queue-card i { align-self:start; color:#70807a; font-size:.58rem; font-style:normal; }
.queue-card--urgent { border-color:#d8a89c!important; background:#fff4f1!important; box-shadow:inset 0 -.2rem #b85645!important; }
.queue-all-clear { grid-column:1/-1; margin:0; padding:.7rem; color:#2c6751; border-radius:.4rem; background:#edf7f2; font-size:.72rem; }
.queue-clear-row { display:flex; flex-wrap:wrap; gap:.4rem; padding-top:.65rem; border-top:1px solid #e0e6e2; }
.queue-clear-row span { display:flex; gap:.3rem; align-items:center; padding:.3rem .5rem; color:#63736d; border:1px solid #dbe3df; border-radius:999px; background:#fff; font-size:.61rem; }
.queue-clear-row b { color:#347057; }
.matter-toolbar { display:grid; grid-template-columns:minmax(18rem,1fr) auto auto; gap:.65rem; align-items:center; margin:0 0 .75rem; padding:.65rem; border:1px solid #d6dfda; border-radius:.55rem; background:#fff; box-shadow:0 .25rem .8rem rgba(16,46,42,.035); }
.matter-toolbar>label { position:relative; min-width:0; }
.matter-toolbar input { width:100%; min-height:2.55rem; padding:.55rem .7rem .55rem 2.25rem; border:1px solid #cbd6d1; border-radius:.4rem; background:#f9fbfa; }
.matter-toolbar__search-icon { position:absolute; top:50%; left:.8rem; color:#698078; transform:translateY(-50%); font-size:1rem; }
.matter-filter-group { display:flex; gap:.3rem; flex-wrap:wrap; }
.matter-filter-group button { min-height:2.2rem; padding:.42rem .62rem; color:#53665f; border:1px solid transparent; border-radius:999px; background:#eef3f0; cursor:pointer; font-size:.66rem; font-weight:750; }
.matter-filter-group button:hover { border-color:#aebfb8; }
.matter-filter-group button.is-active { color:#fff; background:var(--deep); }
.matter-toolbar>small { min-width:4.5rem; color:#6d7d77; text-align:right; font-size:.63rem; }
.admin-list .matter-row { grid-template-columns:minmax(14rem,.9fr) minmax(22rem,1.1fr) auto; gap:1rem; align-items:center; min-height:4.4rem; padding:.7rem .9rem; }
.matter-row__identity { min-width:0; display:grid; gap:.12rem; }
.matter-row__identity>strong { font-size:.8rem; }
.matter-row__identity>small { color:#6e7d78; font-size:.66rem; }
.matter-row__badges { display:flex; gap:.3rem; flex-wrap:wrap; margin-top:.15rem; }
.matter-row__chips { min-width:0; display:flex!important; gap:.35rem; flex-wrap:wrap; align-items:center; }
.status-chip { width:max-content; padding:.3rem .5rem; border-radius:999px; font-size:.59rem; font-style:normal; font-weight:800; text-transform:capitalize; }
.status-chip--current { color:#1c5441; background:#e5f2eb; }
.status-chip--attention { color:#75400d; background:#fff0c9; }
.status-chip--complete { color:#1d603f; background:#ddf3e5; }
.status-chip--waiting { color:#81501f; background:#fff1dc; }
.status-chip--quiet { color:#687771; background:#edf1ef; }
.admin-list .matter-row>i { color:#315a4e; }
.client-update-banner em { padding:.28rem .5rem; color:#245b43; border-radius:999px; background:#fff; font-size:.6rem; font-style:normal; font-weight:800; }
.recipient-chip-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(14rem,1fr)); gap:.55rem; }
.recipient-chip { min-width:0; display:grid; grid-template-columns:1.9rem minmax(0,1fr) auto; gap:.2rem .55rem; align-items:center; padding:.65rem; color:#41554e; text-align:left; border:1px solid #d0dad5; border-radius:.45rem; background:#fff; cursor:pointer; }
.recipient-chip>span { grid-row:1/3; width:1.8rem; height:1.8rem; display:grid; place-items:center; color:#557067; border-radius:50%; background:#edf3f0; font-size:.58rem; font-weight:850; }
.recipient-chip strong { min-width:0; overflow:hidden; text-overflow:ellipsis; font-size:.7rem; }
.recipient-chip em { color:#75827d; font-size:.56rem; font-style:normal; text-transform:uppercase; }
.recipient-chip.is-selected { color:#fff; border-color:var(--deep); background:var(--deep); box-shadow:0 .35rem .9rem rgba(16,46,42,.12); }
.recipient-chip.is-selected>span { color:#fff; background:#315e53; }
.recipient-chip.is-selected em { color:#ccdbd6; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.recipient-fieldset { display:grid; gap:.7rem; }
.recipient-choice-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(14rem,1fr)); gap:.55rem; }
.recipient-choice { position:relative; min-width:0; display:grid!important; grid-template-columns:1.8rem minmax(0,1fr); gap:.15rem .55rem!important; align-items:center!important; padding:.7rem!important; border:1px solid #cfdad5; border-radius:.45rem; background:#fff; cursor:pointer; }
.recipient-choice input { position:absolute; inset:.5rem .5rem auto auto; }
.recipient-choice>span { grid-row:1/3; width:1.75rem; height:1.75rem; display:grid; place-items:center; border-radius:50%; background:#e8f0ec; font-size:.56rem; font-weight:850; }
.recipient-choice strong { min-width:0; padding-right:1.2rem; overflow:hidden; text-overflow:ellipsis; font-size:.68rem; }
.recipient-choice em { color:#71807a; font-size:.56rem; font-style:normal; text-transform:uppercase; }
.recipient-choice:has(input:checked) { border-color:#3f7764; background:#edf7f2; box-shadow:inset .2rem 0 #3f7764; }
.workflow-checklist { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:0; padding:0; overflow:hidden; list-style:none; border:1px solid #d4ddd8; border-radius:.5rem; background:#f8faf9; }
.workflow-step { position:relative; min-width:0; display:grid; grid-template-columns:1.4rem minmax(0,1fr); gap:.1rem .35rem; align-items:center; padding:.65rem .55rem; border-right:1px solid #dce3df; }
.workflow-step:last-child { border-right:0; }
.workflow-step>span { grid-row:1/3; width:1.35rem; height:1.35rem; display:grid; place-items:center; color:#77847f; border:1px solid #c8d3ce; border-radius:50%; background:#fff; font-size:.6rem; }
.workflow-step strong { overflow:hidden; text-overflow:ellipsis; font-size:.62rem; }
.workflow-step small { overflow:hidden; color:#7a8782; text-overflow:ellipsis; white-space:nowrap; font-size:.52rem; }
.workflow-step--complete { background:#edf7f2; }
.workflow-step--complete>span { color:#fff; border-color:#3e775e; background:#3e775e; }
.workflow-step--active,.workflow-step--ready { background:#fff7e7; }
.workflow-step--active>span,.workflow-step--ready>span { border-color:#c99b45; box-shadow:inset 0 0 0 .28rem #fff7e7; background:#c99b45; }
.workflow-step--locked { opacity:.58; }
.activity-timeline { position:relative; padding-left:1rem; }
.activity-timeline::before { position:absolute; top:.25rem; bottom:.25rem; left:.32rem; width:1px; content:""; background:#cfdad5; }
.activity-timeline__item { position:relative; }
.activity-timeline__marker { position:absolute; z-index:1; top:1.35rem; left:-1.08rem; width:.55rem; height:.55rem; border:2px solid #fff; border-radius:50%; background:#3d7461; box-shadow:0 0 0 1px #9fb7ad; }
.resource-card-main time { color:#82908b; font-size:.56rem; }
.matter-recommendation { color:var(--ink); font:400 1rem/1.3 Georgia,serif; }
.matter-action-rail .workspace-actions { gap:.45rem; }
.matter-action-rail .workspace-actions .action-secondary { color:#536760; border-color:#d3dcd8; background:transparent; }
.matter-action-rail .workspace-actions .action-secondary:hover { background:#f0f5f2; }
.matter-workspace-footer { position:relative; z-index:3; border-top:1px solid #d3dcd8!important; background:#fff!important; box-shadow:0 -.35rem 1rem rgba(16,46,42,.06); }
.matter-workspace-footer .footer-secondary { color:#52665f; border-color:transparent; background:#f0f4f2; }
.external-matter-editor { display:grid; gap:.65rem; margin:1rem 0; padding:.85rem; border:1px solid #d4ddd8; border-radius:.5rem; background:#f8faf8; }
.external-matter-editor>div:first-child { display:grid; gap:.15rem; }
.external-matter-editor>div:first-child strong { color:var(--ink); font-size:.75rem; }
.external-matter-editor>div:first-child small { color:#70807a; font-size:.61rem; }
#external-matter-list { display:grid; gap:.4rem; }
#external-matter-list>p { margin:0; color:#7a8883; font-size:.65rem; }
#external-matter-list article { display:flex; gap:.6rem; align-items:center; justify-content:space-between; padding:.55rem .65rem; border:1px solid #d8e0dc; border-radius:.4rem; background:#fff; }
#external-matter-list article span { min-width:0; display:grid; gap:.08rem; }
#external-matter-list article strong { overflow-wrap:anywhere; font-size:.7rem; }
#external-matter-list article small { color:#71817b; font-size:.58rem; }
#external-matter-list article button { padding:.3rem .45rem; color:#76534d; border:1px solid #ead8d4; border-radius:.3rem; background:#fff8f6; cursor:pointer; font-size:.58rem; }
.external-matter-add { display:grid; grid-template-columns:minmax(8rem,.8fr) minmax(10rem,1fr) minmax(10rem,1fr) auto; gap:.45rem; align-items:end; }
.external-matter-add label { display:grid; gap:.2rem; color:#52645d; font-size:.6rem; font-weight:750; }
.external-matter-add input { width:100%; min-height:2.35rem; }
.external-matter-add button { min-height:2.35rem; padding:.45rem .65rem; color:#fff; border:0; border-radius:.35rem; background:var(--deep); cursor:pointer; font-size:.63rem; font-weight:800; }
.external-matter-badge { padding:.2rem .4rem; color:#315e51; border-radius:999px; background:#e8f2ed; font-size:.56rem; font-style:normal; font-weight:800; }
.create-matter-reference { display:grid; gap:.4rem; padding:.7rem; border:1px solid #d4ddd8; border-radius:.45rem; background:#f8faf8; }
.create-matter-reference legend { padding:0 .25rem; color:var(--ink); font-size:.68rem; font-weight:800; }
.create-matter-reference legend small { color:#78857f; font-weight:500; }
.create-matter-reference>div { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; }
.create-matter-reference>small { color:#71807a; font-size:.58rem; }
@media(max-width:980px){.client-workspace{grid-template-columns:1fr}.matter-summary{position:static;grid-row:1}.client-workspace__main{grid-row:2}.client-file-grid--pictures{grid-template-columns:1fr 1fr}}
@media(max-width:1050px){.matter-workspace-layout{grid-template-columns:11.5rem minmax(23rem,1fr)}.matter-action-rail{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;border-top:1px solid #d5ddd9;border-left:0}.matter-action-rail>small{display:none}.matter-action-rail .workspace-actions{display:flex;flex-wrap:nowrap}.matter-action-rail .workspace-gate,.matter-action-rail .action-ready{margin:0}.matter-action-summary{display:none}}
@media(max-width:760px){.portal-auth{grid-template-columns:1fr}.matter-grid{grid-template-columns:1fr}.portal-welcome,.section-heading{align-items:stretch;flex-direction:column}.portal-welcome--matter{align-items:stretch}.client-latest{grid-template-columns:1fr;gap:.35rem}.client-file-grid--pictures{grid-template-columns:1fr}.client-file{grid-template-columns:2.8rem minmax(0,1fr)}.client-file__security{grid-column:2;white-space:normal}.client-section{padding:.85rem}.client-form__grid{grid-template-columns:1fr}.client-form__wide{grid-column:1}.client-form__actions{display:grid}.profile-email-add{grid-template-columns:1fr}.client-update-banner,.client-account-strip{align-items:stretch;flex-direction:column}.client-account-strip button{width:100%}.resource-card-main{grid-template-columns:2.7rem minmax(0,1fr)}.resource-status{grid-column:2;justify-self:start}.resource-card-actions{align-items:stretch;flex-direction:column}.resource-card-actions .resource-email-status{margin:0}.admin-layout{grid-template-columns:1fr}.admin-nav{display:none}.admin-list>button{grid-template-columns:1fr auto}.admin-list>button>span:nth-child(2){display:none}.email-template-intro,.email-template-editor>header{align-items:stretch;flex-direction:column}.email-template-layout{grid-template-columns:1fr}.email-template-nav{grid-template-columns:1fr}.email-template-editor textarea{min-height:17rem}.email-template-editor>footer{display:grid}.staff-login{background:linear-gradient(180deg,var(--deep) 0 12rem,#f5f7f4 12rem)}.staff-login .portal-card{margin:7rem 0 0}.form-submission dl{grid-template-columns:1fr}.primary{width:100%}.editor-backdrop--workspace{padding:0}.editor--workspace{height:100dvh;border:0;border-radius:0}.matter-workspace-layout{grid-template-columns:1fr;overflow:auto}.matter-workspace-nav{position:sticky;z-index:2;top:0;display:flex;flex-direction:row;gap:.35rem;padding:.55rem;overflow-x:auto;border-right:0;border-bottom:1px solid #d5ddd9}.matter-workspace-nav>small,.matter-nav-status{display:none}.matter-workspace-nav>button{flex:0 0 auto;grid-template-columns:1fr;padding:.5rem .7rem}.matter-workspace-nav>button span{display:none}.matter-workspace-main{overflow:visible}.matter-action-rail{position:sticky;bottom:0;display:block;padding:.55rem}.matter-action-rail .workspace-actions{display:grid;grid-template-columns:1fr 1fr}.matter-action-rail .workspace-actions a{grid-column:1/-1}.matter-action-rail .workspace-gate,.matter-action-rail .action-ready{display:none}.matter-field-grid{grid-template-columns:1fr}.matter-field--wide{grid-column:1}.matter-workspace-footer{display:grid;grid-template-columns:1fr 1fr}.matter-workspace-footer button{min-width:0}.matter-workspace-header{min-height:4.8rem}}
@media(max-width:760px){.consult-hero,.consult-flow{grid-template-columns:1fr}.consult-form{grid-template-columns:1fr}.consult-form>*{grid-column:1!important}.consult-steps{display:none}}
@media(max-width:1100px){.matter-toolbar{grid-template-columns:1fr}.matter-toolbar>small{text-align:left}.admin-list .matter-row{grid-template-columns:minmax(12rem,.8fr) minmax(18rem,1.2fr) auto}.workflow-checklist{grid-template-columns:1fr}.workflow-step{grid-template-columns:1.5rem minmax(0,1fr) auto;border-right:0;border-bottom:1px solid #dce3df}.workflow-step:last-child{border-bottom:0}.workflow-step small{white-space:normal;text-align:right}}
@media(max-width:760px){.admin-work--dashboard{padding-top:1.2rem}.queue-grid--active{grid-template-columns:1fr 1fr}.queue-clear-row{overflow-x:auto;flex-wrap:nowrap}.queue-clear-row span{flex:0 0 auto}.matter-filter-group{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.15rem}.matter-filter-group button{flex:0 0 auto}.admin-list .matter-row{grid-template-columns:1fr auto}.matter-row__chips{grid-column:1/-1}.recipient-chip-list,.recipient-choice-grid{grid-template-columns:1fr}.activity-timeline{padding-left:.8rem}.activity-timeline__marker{left:-.88rem}.matter-recommendation{display:none}.external-matter-add,.create-matter-reference>div{grid-template-columns:1fr}}
