/* Case Manager - same visual language as On Record (Ovation navy + gold). */
:root{
  --navy:#0B1F6B;--navy-deep:#08175A;--navy-ink:#131A3A;--navy-2:#4A5480;--muted:#5B6485;
  --gold:#F0B424;--gold-deep:#8A6100;--gold-text:#8A6100;--gold-line-c:#C98F0A;--gold-soft:#FFF3D1;--gold-line:#F1DDA3;
  --paper:#F3F4F8;--card:#FFFFFF;--line:#DDE1EA;--line-2:#ECEEF4;
  --err:#A8231B;--err-soft:#FBE9E7;--err-line:#F0C8C3;--ok:#2C7A3E;--ok-soft:#E6F2E9;--ok-text:#1F4D2B;--line-top:3px solid var(--gold);
  --rail-w:260px;
  --sans:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --mono:"Cascadia Mono","Consolas","SF Mono",ui-monospace,Menlo,monospace;
  --ink:var(--navy-ink);--accent:var(--navy);--red:var(--err);--orange:var(--gold-deep);--green:var(--ok);--blue:var(--navy);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
body{margin:0;background:var(--paper);color:var(--navy-ink);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--navy);text-decoration:none}a:hover{text-decoration:underline}
code{font:12.5px var(--mono);background:var(--line-2);padding:1px 5px;border-radius:4px;word-break:break-all}
h1{font-size:21px;font-weight:650;letter-spacing:-.01em;color:var(--navy);margin:0 0 6px}
button{font:inherit}

/* ================= rail ================= */
.shell{display:grid;grid-template-columns:var(--rail-w) 1fr;min-height:100vh}
aside.rail{background:var(--navy-deep);color:#E9ECF7;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:12px;padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.08);color:#fff}
.brand:hover{text-decoration:none}
.brand img{width:44px;height:44px;border-radius:50%;background:#fff;flex:none}
.brand .name{font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.1}
.brand .firm{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:3px}
aside nav{display:flex;flex-direction:column;padding:12px 0}
aside nav a{display:flex;align-items:center;gap:8px;padding:10px 20px 10px 17px;color:rgba(233,236,247,.78);border-left:3px solid transparent;font-weight:500}
aside nav a:hover{background:rgba(255,255,255,.05);text-decoration:none;color:#fff}
aside nav a.on{background:rgba(255,255,255,.08);border-left-color:var(--gold);color:#fff}
aside nav .count{margin-left:auto;font:600 11px var(--mono);background:rgba(255,255,255,.12);border-radius:10px;padding:1px 8px;color:#fff}
aside nav a.on .count{background:var(--gold);color:var(--navy-deep)}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#5DC27A;vertical-align:1px}
.dot.off,.dot.warn{background:#E8624F}
aside nav em.dot{margin-left:auto}
.railsync{padding:14px 16px 8px;margin-top:auto;border-top:1px solid rgba(255,255,255,.08)}
.railsync .btn{width:100%;justify-content:center}
.syncline{margin-top:8px;font:12px var(--mono);color:rgba(233,236,247,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.engines{padding:10px 20px 16px;font-size:11.5px;color:rgba(233,236,247,.55);display:flex;flex-direction:column;gap:3px}
.engines .dot{width:6px;height:6px;margin-right:7px}

/* ================= work area ================= */
.work{min-width:0;padding:22px 28px 36px}
main{max-width:1320px}
.pagehead{display:flex;align-items:baseline;gap:16px;margin:0 0 14px;flex-wrap:wrap;padding-bottom:8px;border-bottom:2px solid var(--gold)}
.pagehead h1{margin:0}
.flash{max-width:1320px;margin:0 0 14px}
.notice{padding:11px 16px;border-radius:8px;font-size:13px;margin:0 0 10px}
.notice.ok{background:var(--ok-soft);color:#1f4d2b;border:1px solid #bfdcb5;font-weight:600}
.notice.err{background:var(--err-soft);color:#7A1710;border:1px solid var(--err-line)}
.notice.warn{background:var(--gold-soft);color:#6B4A00;border:1px solid var(--gold-line)}
.setupbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;max-width:1320px;margin-bottom:16px}
.setupbar .step{color:#6B4A00;opacity:.8}.setupbar .step.done{text-decoration:line-through;opacity:.55}

/* ================= buttons ================= */
.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--navy-ink);cursor:pointer;font-weight:500;line-height:1.3}
.btn:hover{border-color:#B9C0D2;background:#FAFBFD;text-decoration:none}
.btn:disabled{opacity:.5;cursor:default}
.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.primary:hover{background:#0E2785}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy-deep);font-weight:600}.btn.gold:hover{background:#F7C13A}
.btn.small{padding:4px 10px;font-size:12.5px}
.btn:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.muted{color:var(--muted)}.small{font-size:12.5px}
.ok{color:var(--ok);font-weight:600}.bad{color:var(--err);font-weight:600}

/* ================= cards ================= */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(540px,1fr));gap:16px}
.grid .card .body.scroll{max-height:440px;overflow:auto}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:16px}
.grid .card{margin-bottom:0}
.card h2{margin:0;padding:11px 16px 9px;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-2);display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line-2)}
.card h2.red{color:var(--err)}.card h2.orange{color:var(--gold-deep)}.card h2.green{color:var(--ok)}.card h2.blue{color:var(--navy)}.card h2.dark{color:var(--navy-2)}
.card h2 .n{margin-left:auto;font:600 11px var(--mono);letter-spacing:0;background:var(--line-2);color:var(--navy-ink);border-radius:10px;padding:1px 8px}
.card h2.red .n{background:var(--err-soft);color:var(--err)}.card h2.orange .n{background:var(--gold-soft);color:#6B4A00}.card h2.green .n{background:var(--ok-soft);color:var(--ok)}
.card .body{padding:10px 16px 14px;overflow:auto}
.card.wide{grid-column:1/-1}
.card.hero .body{padding:22px 24px}
.card.hero h1{margin-bottom:10px}
.why{margin:2px 0 10px;color:var(--navy-2);font-size:12.5px}

/* setup checklist */
ol.steps{list-style:none;margin:0;padding:0}
ol.steps li{padding:12px 0;border-bottom:1px solid var(--line-2)}
ol.steps li:last-child{border-bottom:0}
ol.steps.compact li{padding:7px 0;border:0;display:flex;align-items:center;gap:10px}
.step-h{display:flex;align-items:center;gap:10px;font-size:15px}
.step-b{margin:8px 0 0 30px}
.mark{display:inline-block;width:20px;height:20px;border-radius:50%;border:2px solid #B9C0D2;flex:none;position:relative}
ol.steps li.done .mark{background:var(--ok);border-color:var(--ok)}
ol.steps li.done .mark:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
ol.steps li.done .step-h b{color:var(--muted)}

/* tables */
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:7px 9px;border-bottom:1px solid var(--line-2);vertical-align:top}
th{font-size:10.5px;color:var(--navy-2);font-weight:600;text-transform:uppercase;letter-spacing:.12em;background:#FAFBFD}
tr:hover td{background:#FAFBFD}
.empty{color:var(--muted);padding:6px 0 2px}

/* statuses + flags */
.status{display:inline-block;padding:2px 9px;border-radius:10px;font-size:12.5px;background:var(--line-2);border:0;font-weight:600;color:var(--navy-ink)}
select.status{cursor:pointer;appearance:auto;max-width:170px}
.s-New{background:#E3EAFF}.s-Pending.Interview,.s-PendingInterview{background:#EEE6FA}.s-Pending.Docs,.s-PendingDocs{background:var(--gold-soft)}
.s-Case.Review,.s-CaseReview{background:#E6F2E9}.s-Waiting.on.IRS,.s-WaitingonIRS{background:#FDE9D9}.s-Waiting.on.THS,.s-WaitingonTHS{background:#FCE4EC}
.s-Monitor{background:#E0F4F7}.s-Ready.for.Reso{background:#D9EAD3}.s-POA.Sent{background:#E6EEF8}.s-Greeting\.\/\.Onboarding{background:#FFF0E0}.s-Case.Closed,.s-CaseClosed{background:#E5E7EC;color:#777}.s-On.Hold,.s-OnHold{background:#F3E5F5}
.flag{display:inline-block;background:var(--err);color:#fff;padding:1px 8px;border-radius:4px;font-size:11.5px;font-weight:600}
.flag.ns{background:var(--gold-deep)}.flag.ro{background:var(--navy)}
.tag{display:inline-block;white-space:nowrap;border:1px solid var(--line);border-radius:4px;padding:0 6px;font:11.5px var(--mono);color:var(--muted)}
.pill{display:inline-block;background:var(--line-2);border-radius:10px;padding:0 8px;font-size:12px;color:var(--navy);font-weight:600}
.pill.red{background:var(--err-soft);color:var(--err)}

/* forms */
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
form.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}
input[type=text],input[type=email],input[type=search],input[type=date],input[type=number],input:not([type]),select,textarea{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy-ink)}
input[type=file]{font:inherit}
textarea{width:100%;min-height:90px}
label{font-weight:500}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 18px}
.form-grid label{display:block;font-size:12px;color:var(--navy-2);margin-bottom:4px;font-weight:600}
.form-grid .full{grid-column:1/-1}
.chip{display:inline-block;background:var(--line-2);border-radius:5px;padding:2px 7px;margin:0 4px 4px 0;font-size:12.5px}
button.x{border:0;background:none;color:var(--err);cursor:pointer;font-size:15px;padding:0 4px;line-height:1}
button.x:hover{background:var(--err-soft);border-radius:3px}
details summary{cursor:pointer;margin-top:8px}

/* timeline */
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:grid;grid-template-columns:150px 110px 1fr 24px;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-2);position:relative}
.timeline li > span:first-child{font:12px var(--mono);color:var(--muted);padding-top:2px}
.timeline .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--navy-2);font-weight:600;padding-top:3px}
.timeline .k.email_in{color:var(--navy)}.timeline .k.email_out{color:var(--ok)}.timeline .k.call{color:var(--gold-deep)}.timeline .k.appointment,.timeline .k.ro_meeting{color:#6D3F8C}.timeline .k.status{color:var(--err)}
.timeline .snip{color:var(--navy-2);font-size:12.5px;white-space:pre-wrap}
.timeline li form.unlink{display:inline-block}
pre{white-space:pre-wrap;background:#FAFBFD;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font:12.5px/1.5 var(--mono);max-height:520px;overflow:auto}
pre.log{margin-top:10px;max-height:200px}
.prog{height:4px;background:var(--line-2);border-radius:2px;overflow:hidden}.prog i{display:block;height:100%;background:var(--gold)}
.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;margin:8px 0}
.kv > *{overflow-wrap:anywhere}

/* home page: KPI strip, pipeline, focus queue */
.kpis{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin:0 0 16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;color:var(--navy-ink);text-decoration:none}
.kpi:hover{border-color:#B9C0D2;text-decoration:none}
.kpi b{font-size:26px;line-height:1.1;color:var(--navy)}.kpi span{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-2);margin-top:4px}
.kpi.urgent{border-color:var(--gold);background:var(--gold-soft)}.kpi.urgent b{color:var(--err)}
.pipe{display:flex;gap:6px;align-items:stretch;flex-wrap:wrap;padding:12px 16px}
.stage{flex:1 1 96px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);color:var(--navy-ink)}
.stage:hover{background:#FAFBFD;text-decoration:none}
.stage b{font-size:20px;color:var(--navy)}.stage em{font-style:normal;font:600 11px var(--mono);color:var(--gold-deep)}
table.queue td{padding:10px 12px}
table.queue tr.p1 td:first-child{border-left:4px solid var(--err)}
table.queue tr.p2 td:first-child{border-left:4px solid var(--gold)}
table.queue tr.p3 td:first-child{border-left:4px solid var(--line)}
table.queue tr.more{display:none}
.prio{display:inline-block;font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.08em;padding:2px 6px;border-radius:4px;background:var(--line-2);color:var(--navy-2)}
.prio.p1{background:var(--err-soft);color:var(--err)}.prio.p2{background:var(--gold-soft);color:#6B4A00}
.acts{display:flex;gap:6px;flex-wrap:nowrap;align-items:center;white-space:nowrap}
.acts form.inline{display:inline-flex;flex-wrap:nowrap;gap:6px;margin:0}
.acts select.status{max-width:150px}
.nextstep{background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:8px;padding:8px 14px;margin:0 0 16px;color:#3d2e00}
.nextstep > div{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:4px 0}

/* cases page */
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.chip-f{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:3px 11px;color:var(--navy-ink);font-weight:500;background:#fff}
.chip-f b{font:600 12px var(--mono)}
.chip-f.on{outline:2px solid var(--gold);outline-offset:1px}
.chip-f:hover{text-decoration:none;filter:brightness(.97)}
.bulkbar{display:none;gap:10px;align-items:center;background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:8px;padding:8px 14px;margin:0 0 12px}
.statusrow{margin:4px 0 14px}.statusrow label{display:block;font-size:12px;color:var(--navy-2);margin-bottom:6px;font-weight:600}
.pills{display:flex;gap:6px;flex-wrap:wrap}
.pills button.status{border:1px solid transparent;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;padding:4px 10px}
.pills button.status:hover{border-color:#8B93AE}
.pills button.status.on{outline:2px solid var(--gold);outline-offset:1px;cursor:default}

@media (max-width:1100px){.kpis{grid-template-columns:repeat(4,1fr)}.grid{grid-template-columns:1fr}}
@media (max-width:860px){.shell{grid-template-columns:1fr}aside.rail{position:static;height:auto}}

/* ================= case page ================= */
.casehead{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--gold)}
.casehead h1{margin:0;font-size:21px}
.casehead .meta{margin-left:auto}
.casedetails{margin-bottom:16px}
.casedetails > summary{list-style:none;display:flex;align-items:center;gap:16px;padding:11px 16px;cursor:pointer}
.casedetails > summary::-webkit-details-marker{display:none}
.casedetails > summary b{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-2);white-space:nowrap}
.casedetails .kvline{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;min-width:0;flex:1}
.casedetails .kvline i{font-style:normal;color:var(--muted);margin-right:4px;font-size:12px}
.casedetails .notes-peek{color:var(--navy-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}
.casedetails .edit{margin-left:auto;font-size:12.5px;color:var(--navy);font-weight:600;white-space:nowrap}
.casedetails[open] .edit{visibility:hidden}
.casedetails[open] > summary{border-bottom:1px solid var(--line-2)}
.detailsgrid{display:grid;grid-template-columns:2fr 1fr;gap:24px}
.detailsgrid .lbl{display:block;font-size:12px;color:var(--navy-2);margin-bottom:6px;font-weight:600}
label.check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--navy-ink)}
.casegrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;align-items:start}
.col-left .card,.col-right .card{margin-bottom:16px}
.col-right{position:sticky;top:16px}

.callcard{border:1px solid var(--line-2);border-radius:8px;padding:10px 12px;margin-bottom:12px}
.callhead{display:flex;align-items:center;gap:8px;margin-bottom:8px;min-width:0}
.callhead a{white-space:nowrap}
.callhead .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
pre.summary{white-space:pre-wrap;background:#FAFBFD;max-height:none;font:13px/1.55 var(--sans);margin:0 0 8px}
details.transcript{margin-top:8px}
details.transcript summary{font-size:12.5px;color:var(--navy);font-weight:600}
details.transcript pre{max-height:360px;margin-top:6px}
.addcall{padding-top:8px;border-top:1px dashed var(--line);margin-top:4px}
.addcall summary{font-size:12.5px;color:var(--navy);font-weight:600;cursor:pointer}
.noteform{display:flex;gap:8px;align-items:flex-start;margin-bottom:10px}
.noteform textarea{min-height:40px}
.timeline li.more{display:none}

.card.docs{display:flex;flex-direction:column}
.doclist{max-height:220px;overflow:auto;border-bottom:1px solid var(--line-2);flex:none}
.docrow{display:grid;grid-template-columns:38px minmax(0,1fr) auto 24px;gap:8px;align-items:center;padding:7px 14px;cursor:pointer;border-left:3px solid transparent}
.docrow:hover{background:#FAFBFD}
.docrow.on{background:var(--gold-soft);border-left-color:var(--gold)}
.docrow .ext{font:600 10px var(--mono);background:var(--line-2);color:var(--navy-2);border-radius:4px;text-align:center;padding:2px 0}
.docrow .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.docrow .pencil{color:var(--navy-2)}
.renform{display:none;grid-column:2/-1;flex-direction:column;gap:6px;margin:6px 0 2px;cursor:default}
.renform form{display:flex;gap:6px;align-items:center}
.renform input{flex:1;min-width:0}
.renform form:last-child{justify-content:space-between}
.dupes{padding:6px 14px}
.viewer{display:flex;flex-direction:column;min-height:0;flex:1}
.vbar{display:flex;align-items:center;gap:6px;padding:8px 14px;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
.vbar b{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.imgctl{display:inline-flex;gap:4px}
.vbody{position:relative;flex:none;height:calc(100vh - 330px);min-height:480px;background:#525659}
.vbody iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff;display:block}
.imgwrap{position:absolute;inset:0;overflow:auto;background:#525659}
.imgwrap img{display:block;margin:0 auto}
@media (max-width:1200px){.casegrid{grid-template-columns:1fr}.col-right{position:static}.detailsgrid{grid-template-columns:1fr}}
.exportbtns{display:inline-flex;gap:6px;margin-left:auto}
.casehead .exportbtns + .meta{margin-left:0}
.linkbox{margin-top:12px;padding-top:10px;border-top:1px solid var(--line-2)}
.linkbox .chip{margin:4px 4px 4px 0}

/* ================= call page ================= */
.callgrid{grid-template-columns:repeat(auto-fit,minmax(480px,1fr))}
.state{display:inline-flex;align-items:center;gap:6px;font:600 11px var(--mono);letter-spacing:0;text-transform:none;color:var(--navy-2)}
.state.ok{color:var(--ok)}.state.bad{color:var(--err)}.state.busy{color:var(--gold-deep)}
.card h2 .n .state{font-size:11px}
.spin{display:inline-block;width:11px;height:11px;border:2px solid var(--gold);border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}
.spin.big{width:22px;height:22px;border-width:3px}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}}
.waitbox{display:flex;gap:14px;align-items:center;padding:28px 18px;background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:8px}
.statusline{display:flex;justify-content:space-between;align-items:center}
textarea#summary,.mirror{min-height:340px;font:13.5px/1.55 var(--sans);padding:7px 9px;border:1px solid var(--line);border-radius:6px;white-space:pre-wrap;overflow-wrap:break-word;letter-spacing:normal}
.editor{position:relative}
textarea#summary{position:relative;z-index:1;background:transparent;resize:vertical;width:100%;display:block}
.mirror{position:absolute;inset:0;color:transparent;overflow:hidden;background:#fff;border-color:transparent}
.mirror mark{background:#FFE08A;color:transparent;border-radius:2px}
.mirror mark.rn{background:#FBE9E7}
.sumfoot{display:flex;gap:8px;align-items:center;min-height:20px;margin:4px 0}
.sumfoot .grow{flex:1}
.confirms{font:11px var(--mono);color:var(--gold-deep)}
.card h2 .hbtns{margin-left:auto;display:inline-flex;gap:6px;letter-spacing:0;text-transform:none}
pre.tx{max-height:70vh;font-size:12.5px}

.renametitle input{font:650 21px var(--sans);letter-spacing:-.01em;color:var(--navy);border:1px solid transparent;border-radius:4px;padding:1px 4px;background:transparent;min-width:280px;max-width:640px}
.renametitle input:hover,.renametitle input:focus{background:var(--gold-soft);border-color:var(--gold-line);outline:none}
.lines{max-height:70vh;overflow:auto}
.seg{display:grid;grid-template-columns:56px 1fr;gap:10px;padding:6px 0;border-bottom:1px solid var(--line-2)}
.seg .ts{font:11px var(--mono);color:var(--muted);padding-top:3px}
.seg .who{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1px}
.who.s1{color:var(--navy)}.who.s2{color:#2C7A3E}.who.s3{color:#6D3F8C}.who.s4{color:#1E7A8C}.who.s5{color:var(--gold-deep)}
.seg .txl{line-height:1.5}
mark.cf{background:#FFE08A;color:inherit;border-radius:2px;padding:0 1px}
.rnote{display:block;color:var(--err);font-style:italic}

.card.docs{position:relative}
.dropzone{position:absolute;inset:44px 0 0 0;z-index:5;display:flex;align-items:center;justify-content:center;background:rgba(255,243,209,.92);border:2px dashed var(--gold);border-radius:0 0 8px 8px;color:var(--navy);font-size:15px;pointer-events:none}
.dropzone[hidden]{display:none}
.upstatus{padding:8px 14px;background:var(--gold-soft);border-bottom:1px solid var(--gold-line);font-size:13px;display:flex;gap:8px;align-items:center}
.upstatus.bad{background:var(--err-soft);color:var(--err)}
.emptydrop{display:block;padding:34px 18px;text-align:center;border:1.5px dashed var(--line);border-radius:8px;color:var(--navy-2);cursor:pointer;font-weight:400}
.emptydrop:hover{border-color:var(--gold);background:var(--gold-soft)}
.btn.danger{color:var(--err);border-color:var(--err-line)}.btn.danger:hover{background:var(--err-soft)}
label.btn{cursor:pointer}
.card.docs h2 .n{margin-left:4px}

/* ================= case page tabs ================= */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:0 0 16px;position:sticky;top:0;background:var(--paper);z-index:4;padding-top:4px}
.tabs a{padding:9px 16px;color:var(--navy-2);font-weight:600;border-bottom:3px solid transparent;margin-bottom:-1px}
.tabs a:hover{color:var(--navy);text-decoration:none;background:#fff}
.tabs a.on{color:var(--navy);border-bottom-color:var(--gold);background:#fff;border-radius:6px 6px 0 0}
.tabs a b{font:600 11px var(--mono);background:var(--line-2);border-radius:10px;padding:1px 7px;margin-left:4px;color:var(--navy-ink)}
.tabs a.on b{background:var(--gold);color:var(--navy-deep)}
.ovgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}
.ovside .card{margin-bottom:16px}
.card h2 .hnote{letter-spacing:0;text-transform:none;font-weight:400;margin-left:6px}
.facts{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.fact{display:grid;grid-template-columns:96px 1fr;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line-2)}
.fact b{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-2);padding-top:2px}
.fact span{line-height:1.55}
.ovnotes{margin-top:14px;padding:10px 12px;background:#FAFBFD;border:1px solid var(--line-2);border-radius:6px;font-size:13px}
.ovnotes b{display:block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-2);margin-bottom:4px}
.ovdoc{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line-2);color:var(--navy-ink)}
.ovdoc:hover{text-decoration:none;background:#FAFBFD}
.ovdoc .ext{font:600 10px var(--mono);background:var(--line-2);color:var(--navy-2);border-radius:4px;text-align:center;padding:2px 0}
.ovdoc .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* formatted call summary (display only - Copy gives the exact plain text) */
.summary-fmt{border:1px solid var(--line-2);border-radius:8px;padding:12px 14px;background:#fff;margin-bottom:8px}
.s-head{font-weight:650;color:var(--navy);margin-bottom:2px;line-height:1.5}
.s-gap{height:10px}
.s-line{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:3px 0;line-height:1.55}
.s-line b{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-2);padding-top:3px}
.s-sub{font-weight:650;color:var(--navy-ink);margin-top:4px}
.s-sub.fin{font-size:12px;color:var(--navy-2);text-transform:uppercase;letter-spacing:.06em;margin-top:8px}
.s-form{display:grid;grid-template-columns:170px 1fr;gap:10px;padding:1px 0 1px 14px;font-size:13px;border-bottom:1px dotted var(--line-2)}
.s-form span:first-child{color:var(--navy-2)}
.s-div{display:flex;align-items:center;gap:10px;margin:6px 0;color:var(--muted);font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.s-div:before,.s-div:after{content:"";flex:1;border-top:1px solid var(--line)}
.s-text{line-height:1.55;color:var(--navy-ink)}
.s-note{margin-top:8px;padding:6px 10px;background:var(--err-soft);color:#7A1710;border-radius:6px;font-size:13px}
.summary-fmt.compact .s-form,.summary-fmt.compact .s-div,.summary-fmt.compact .s-sub.fin{display:none}
details.callcard{border:1px solid var(--line-2);border-radius:8px;padding:0 12px 10px;margin-bottom:12px}
details.callcard > summary{list-style:none;cursor:pointer;padding:10px 0 8px}
details.callcard > summary::-webkit-details-marker{display:none}
details.callcard:not([open]){padding-bottom:0}
details.callcard:not([open]) > summary{padding-bottom:10px}
.callhead .title{font-weight:600;color:var(--navy-ink)}
.cfcount{font:600 10.5px var(--mono);background:#FFE08A;color:#6B4A00;border-radius:4px;padding:1px 6px}

/* emails tab */
.mailrow{display:grid;grid-template-columns:96px minmax(0,1fr) 24px;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line-2)}
.mailrow .dir{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--navy-2);padding-top:3px}
.mailrow.email_in .dir{color:var(--navy)}.mailrow.email_out .dir{color:var(--ok)}
.mailrow .snip{margin-top:3px}

/* documents tab: list left, viewer right */
.docsplit{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr)}
.docsplit .doclist{max-height:none;border-bottom:0;border-right:1px solid var(--line-2);overflow:auto;height:calc(100vh - 260px);min-height:480px}
.docsplit .vbody{height:calc(100vh - 305px)}
@media (max-width:1100px){.ovgrid,.docsplit{grid-template-columns:1fr}.docsplit .doclist{height:auto;max-height:260px;border-right:0}}
.suggest{margin:8px 0;padding:8px 10px;background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:6px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
details.s-fin{margin:6px 0}
details.s-fin > summary{list-style:none;cursor:pointer}
details.s-fin > summary::-webkit-details-marker{display:none}
details.s-fin > summary span:after{content:"  show";color:var(--navy);text-transform:none;letter-spacing:0;font-family:var(--sans);font-weight:600}
details.s-fin[open] > summary span:after{content:"  hide"}
.rocard{border-color:#B9C0D2}
.tabs a.rotab{color:var(--navy)}
.card h2.gold-h{color:var(--gold-deep)}

/* ================= rail search ================= */
.railsearch{position:relative;padding:14px 16px 4px}
.railsearch input{width:100%;padding:8px 10px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:rgba(255,255,255,.08);color:#fff;font:inherit}
.railsearch input::placeholder{color:rgba(233,236,247,.5)}
.railsearch input:focus{outline:2px solid var(--gold);outline-offset:1px;background:rgba(255,255,255,.12)}
.railsearch .results{position:absolute;left:16px;right:-260px;top:52px;z-index:50;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px rgba(8,23,90,.25);overflow:hidden;max-height:70vh;overflow-y:auto}
.railsearch .results a{display:flex;flex-direction:column;padding:8px 12px;color:var(--navy-ink);border-bottom:1px solid var(--line-2)}
.railsearch .results a span{font-size:12px;color:var(--muted)}
.railsearch .results a:hover,.railsearch .results a.sel{background:var(--gold-soft);text-decoration:none}
.railsearch .results a.closed b{color:var(--muted)}
.railsearch .results a.all{font-size:12.5px;color:var(--navy);font-weight:600;background:#FAFBFD}
.railsearch .results .none{padding:10px 12px;color:var(--muted)}

/* ================= open-case tabs (Logics style) ================= */
.opentabs{display:flex;gap:4px;align-items:flex-end;margin:-22px -28px 18px;padding:8px 28px 0;background:#E9ECF4;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}
#otabs{display:contents}
.otab{display:inline-flex;align-items:center;gap:8px;max-width:230px;padding:6px 8px 6px 12px;border:1px solid var(--line);border-bottom:0;border-radius:7px 7px 0 0;background:#F6F7FA;color:var(--navy-2);font-size:12.5px;line-height:1.2;white-space:nowrap;flex:none}
.otab:hover{background:#fff;text-decoration:none;color:var(--navy)}
.otab.on{background:var(--paper);color:var(--navy);font-weight:600;border-color:#C9CFDC;box-shadow:inset 0 3px 0 var(--gold);margin-bottom:-1px;padding-bottom:7px}
.otab .nm{overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.02em}
.otab .cn{font:11px var(--mono);color:var(--muted)}
.otab .x{font-size:14px;color:var(--muted);padding:0 2px}
.otab .x:hover{color:var(--err)}
.otab.home{padding-right:12px;font-weight:600}
.otab.add{margin-left:auto;border-style:dashed;background:transparent;color:var(--navy);font-weight:600;padding-right:12px}

/* ================= document checks (docscan.py) ================= */
.warn{color:var(--gold-deep);font-weight:600}
.scan{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:650;padding:0 7px;border-radius:999px;line-height:18px;white-space:nowrap;flex:none}
.scan.good{background:var(--ok-soft);color:var(--ok)}
.scan.warn{background:var(--gold-soft);color:#7A5600;border:1px solid var(--gold-line);line-height:16px}
.scan.bad{background:var(--err-soft);color:var(--err);border:1px solid var(--err-line);line-height:16px}
.scan.pending,.scan.muted{background:var(--line-2);color:var(--navy-2)}
.scan .spin{width:9px;height:9px;border-width:2px}
.sline{display:flex;align-items:center;gap:6px;margin-top:2px;min-width:0;font-size:12px;color:var(--navy-2);font-weight:400}
.sline:empty{display:none}
.sline .slabel{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.docrow .nm,.ovdoc .nm{display:flex;flex-direction:column;align-items:stretch}
.docrow .nm,.ovdoc .nm{white-space:normal}
.nm .fn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.docrow.sv-unreadable,.docrow.sv-cantopen{box-shadow:inset 3px 0 0 var(--err)}
.docrow.sv-review{box-shadow:inset 3px 0 0 var(--gold)}
.docrow.on.sv-unreadable,.docrow.on.sv-cantopen,.docrow.on.sv-review{box-shadow:none}
.scanpanel{border-bottom:1px solid var(--line-2);padding:9px 14px;font-size:13px;background:#FBFCFE}
.scanpanel.pending{color:var(--navy-2)}
.scanpanel.v-unreadable,.scanpanel.v-cantopen,.scanpanel.bad{background:var(--err-soft)}
.scanpanel.v-review{background:#FFFBEF}
.sp-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sp-what{color:var(--navy)}
.sp-sum{color:var(--navy-2)}
.sp-acts{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.sp-acts form{margin:0}
.sp-facts{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:6px}
.sp-facts span{color:var(--navy-ink)}
.sp-facts i{font-style:normal;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-right:6px}
.sp-facts .ok,.sp-facts .bad{font-weight:600}
.sp-why{margin:6px 0 0;padding-left:18px;color:var(--err)}
.scanpanel.v-review .sp-why{color:#7A5600}
.sp-why li{margin:1px 0}
.sp-foot{margin-top:5px}

.linkbtn{background:none;border:0;padding:0;color:var(--navy);font:inherit;cursor:pointer;text-decoration:underline}

/* ================= sign-in page (hosted) ================= */
.loginpage{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--navy)}
.loginbox{background:var(--card);border-radius:14px;padding:36px 40px;text-align:center;width:min(380px,92vw);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.loginlogo{width:64px;height:64px;border-radius:50%}
.loginbox h1{margin:12px 0 2px}
.btn.big{display:block;margin:22px 0 10px;padding:12px 16px;font-size:15px;text-align:center}
.railuser{font-size:12px;color:#B8C0DD;padding:0 16px 10px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.railuser a{color:#fff}

/* ================= team / change log ================= */
.teamform{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
.rolepick{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px}
.rolepick label{white-space:nowrap}
table.team td{vertical-align:top}
table.team tr.off{opacity:.55}
.tname{width:160px}

/* ================= matters ================= */
.mtype{font-size:12px;font-weight:600;color:var(--navy-2);background:var(--line-2);border-radius:999px;padding:2px 10px}
.siblings{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px}
.matterbar{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:flex-end;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:0 0 12px}
.matterbar label{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:3px}
.matterbar .mb-next input[type=text]{width:260px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;vertical-align:middle}
.seg label{margin:0;padding:5px 11px;font-size:12.5px;text-transform:none;letter-spacing:0;color:var(--navy-ink);cursor:pointer;border-right:1px solid var(--line)}
.seg label:last-child{border-right:0}
.seg input{display:none}
.seg label.on.b-client{background:#FFF3D1;color:#7A5600;font-weight:600}
.seg label.on.b-agency{background:#E8ECF8;color:var(--navy);font-weight:600}
.seg label.on.b-firm{background:var(--err-soft);color:var(--err);font-weight:600}
table.periods input,table.periods select{font-size:12.5px;padding:3px 5px}
.periodswrap{overflow-x:auto}
table.periods td,table.periods th{padding-left:6px;padding-right:6px}
table.periods select[name=form]{width:76px}table.periods select[name=filing]{width:90px}
table.periods input[name=period]{width:64px}
table.periods input[name=assessed],table.periods input[name=penalties],table.periods input[name=interest],table.periods input[name=balance]{width:82px;text-align:right}
table.periods input[type=date]{width:124px}
table.periods tr.unfiled td{background:#FFFBEF}
table.periods tr.addrow td{background:#FAFBFD}
.ballchip{font-size:11px;font-weight:600;border-radius:999px;padding:1px 8px}
.ballchip.client{background:#FFF3D1;color:#7A5600}.ballchip.agency{background:#E8ECF8;color:var(--navy)}.ballchip.firm{background:var(--err-soft);color:var(--err)}
.ssn{font:13px var(--mono);color:var(--navy-2)}
tr.closedrow td{opacity:.55}
details.addmatter{padding:10px 16px}
details.addmatter summary{list-style:none;display:inline-block;cursor:pointer}
details.addmatter summary::-webkit-details-marker{display:none}
/* tasks */
aside nav .count.late{background:var(--err);color:#fff}
.taskfilter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px}
.taskfilter select{padding:4px 8px}
form.taskadd{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0}
form.taskadd .tk-title{flex:1 1 260px;min-width:200px}
form.taskadd .tk-time{width:104px}
form.taskadd .tk-case{width:84px}
form.taskadd textarea{flex:1 1 100%;min-height:44px}
.tk-chk{display:inline-flex;gap:4px;align-items:center;margin:0;font-size:12.5px;text-transform:none;letter-spacing:0;color:var(--navy-ink)}
table.tasks{width:100%}
table.tasks td{vertical-align:middle;padding-top:7px;padding-bottom:7px}
table.tasks .tk-box{width:30px;text-align:center}
table.tasks .tk-box input{width:16px;height:16px;cursor:pointer}
table.tasks .tk-main{min-width:240px}
table.tasks .tk-t{font-weight:600;color:var(--navy-ink)}
table.tasks .tk-notes{white-space:pre-wrap}
table.tasks .tk-who select,table.tasks .tk-due input{font-size:12.5px;padding:3px 5px}
table.tasks .tk-due input{width:130px}
table.tasks .tk-from{white-space:nowrap}
table.tasks .tk-edit{width:40px}
table.tasks tr.late .tk-due input,table.tasks tr.late .tk-due span{color:var(--err);font-weight:600;border-color:var(--err)}
table.tasks tr.done .tk-t{text-decoration:line-through;color:var(--muted, #8a93a6);font-weight:400}
table.tasks tr.taskedit td{background:#FAFBFD}
.flag.hi{background:var(--gold-deep)}.flag.block{background:var(--navy)}

/* ================= interface patterns: header, queue, action (see ui.py) ================= */
/* colour means urgency or status only */
.card h2.orange,.card h2.green,.card h2.blue,.card h2.dark,.card h2.gold-h{color:var(--navy-2)}
.card h2.orange .n,.card h2.green .n{background:var(--line-2);color:var(--navy-ink)}

/* 1. client header - fixed at the top of every client view, same layout everywhere */
.clienthead{position:sticky;top:0;z-index:20;background:var(--paper);margin:-4px 0 12px;padding:6px 0 0;border-bottom:2px solid var(--gold)}
.ch-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:6px}
.ch-name{font-size:22px;font-weight:650;color:var(--navy);letter-spacing:-.01em}
.ch-ssn{font:13px var(--mono);color:var(--navy-2)}
.ch-matters{display:flex;gap:4px;flex-wrap:wrap;align-items:flex-end}
.ch-matters a{padding:4px 11px;border:1px solid var(--line);border-bottom:0;border-radius:7px 7px 0 0;background:#fff;color:var(--navy-ink);font-size:13px;font-weight:500}
.ch-matters a small{color:var(--muted);font-size:11px;margin-left:3px}
.ch-matters a.on{background:var(--navy);border-color:var(--navy);color:#fff}.ch-matters a.on small{color:#C9CFE8}
.ch-matters a.closed{opacity:.6}
.ch-matters a.add{border-style:dashed;color:var(--navy-2)}
.ch-matters a:hover{text-decoration:none;border-color:#B9C0D2}
.ch-menu{margin-left:auto;position:relative}
.ch-menu summary{list-style:none;cursor:pointer;padding:5px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:13px}
.ch-menu summary::-webkit-details-marker{display:none}
.ch-menu > div{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px rgba(11,31,107,.12);display:flex;flex-direction:column;min-width:240px;z-index:30}
.ch-menu > div a{padding:8px 14px;color:var(--navy-ink)}.ch-menu > div a:hover{background:var(--paper);text-decoration:none}
.ch-q{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:8px}
.ch-q .q{display:flex;align-items:center;gap:10px;padding:8px 14px;min-width:0;border-right:1px solid var(--line-2);flex-wrap:nowrap;overflow:hidden}
.ch-q .q > span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-q .q:last-child{border-right:0}
.ch-q i{font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-2);white-space:nowrap}
.ch-q .dl.late b{color:var(--err)}.ch-q .dl.soon b{color:var(--gold-deep)}
.ch-q select{font-size:12.5px;padding:3px 6px}
.seg button{border:0;border-right:1px solid var(--line);background:#fff;padding:4px 12px;font-size:12.5px;color:var(--navy-ink);cursor:pointer}
.seg button:last-child{border-right:0}
.seg button:disabled{cursor:not-allowed;opacity:.7}
.seg button.on.b-client{background:#FFF3D1;color:#7A5600;font-weight:600}
.seg button.on.b-agency{background:#E8ECF8;color:var(--navy);font-weight:600}
.seg button.on.b-firm{background:var(--err-soft);color:var(--err);font-weight:600}
.ch-next{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:6px 0 10px}
.ch-next .why{flex:1 1 320px;color:var(--navy-ink)}
.ch-next.p1 .why::before{content:"Today · ";color:var(--err);font-weight:600}
.ch-next.p2 .why::before{content:"This week · ";color:var(--gold-deep);font-weight:600}
.ch-next .acts{display:flex;gap:8px;flex-wrap:wrap}
.ch-next.cleared{opacity:.45}
.ch-next.cleared .acts{pointer-events:none}
.matterbar .mb-stage select{font-size:13px}

/* 2. the queue - one list; each row a client, a verb, a due time, a blocker */
.setupline{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--navy-2);margin:0 0 12px}
.setupline .step.done{text-decoration:line-through;opacity:.55}
.queuecard .qadd{padding:10px 16px;border-bottom:1px solid var(--line-2)}
ol.queue{list-style:none;margin:0;padding:0}
.qrow{display:grid;grid-template-columns:78px 230px minmax(0,1fr) 92px 330px;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line-2);border-left:3px solid transparent}
.qrow.p1{border-left-color:var(--err)}.qrow.p2{border-left-color:var(--gold)}
.qrow.more{display:none}
.q-when{font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--navy-2)}
.qrow.p1 .q-when,.q-when .late{color:var(--err)}
.q-who{min-width:0}
.q-due{font-size:12.5px;color:var(--navy-2)}
.q-act{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.tasktag{font:600 10px var(--mono);text-transform:uppercase;background:var(--line-2);border-radius:4px;padding:1px 6px;color:var(--navy-2)}
.blocker{display:inline-block;margin-left:6px;font-size:11.5px;font-weight:600;color:var(--err);background:var(--err-soft);border-radius:4px;padding:0 6px}
.qmore{padding:10px 16px}
.qempty{padding:16px}
details.fold > summary{cursor:pointer;padding:11px 16px;list-style:none}
details.fold > summary::-webkit-details-marker{display:none}
details.fold > summary::before{content:"▸ ";color:var(--navy-2)}details.fold[open] > summary::before{content:"▾ "}

/* 3. the action - confirmations in place, with Undo for 30 s */
.toasts{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:100;display:flex;flex-direction:column;gap:8px;align-items:center;width:min(640px,calc(100vw - 32px))}
.toast{display:flex;align-items:center;gap:12px;background:var(--navy-deep);color:#fff;border-radius:8px;padding:10px 12px 10px 16px;box-shadow:0 8px 24px rgba(8,23,90,.25);font-size:13.5px;width:100%}
.toast span{flex:1}
.toast .undo{background:var(--gold);color:var(--navy-deep);border:0;border-radius:5px;padding:4px 12px;font-weight:650;cursor:pointer}
.toast small{font:11px var(--mono);color:#B9C2E6;min-width:24px}
.toast .x{background:none;border:0;color:#B9C2E6;font-size:18px;cursor:pointer;padding:0 4px}

/* phone: one column without rearranging */
@media (max-width:760px){
  .work{padding:12px 12px 80px}
  aside.rail nav{flex-direction:row;overflow-x:auto;padding:4px 0}
  aside.rail nav a{padding:8px 12px;border-left:0;border-bottom:3px solid transparent;white-space:nowrap}
  aside.rail nav a.on{border-bottom-color:var(--gold)}
  aside.rail .railsync,aside.rail .engines,.opentabs{display:none}
  .shell{grid-template-columns:minmax(0,1fr)}
  aside.rail{min-width:0;max-width:100vw}
  .work,main{max-width:100vw;overflow-x:hidden}
  input,select,textarea{max-width:100%}
  .clienthead{position:static}
  .ch-top{flex-wrap:wrap}
  .ch-matters{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:2px}
  .ch-matters a{white-space:nowrap}
  .ch-menu{margin-left:0}
  .ch-q{grid-template-columns:1fr}.ch-q .q{border-right:0;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
  form.taskadd > *{flex:1 1 100%}
  form.taskadd .btn,form.taskadd .tk-chk{flex:0 0 auto}
  .qrow{grid-template-columns:1fr;gap:4px}
  .q-act{justify-content:flex-start}
  .matterbar{flex-direction:column;align-items:stretch}
  .matterbar .mb-next input[type=text]{width:100%}
  table{display:block;overflow-x:auto}
}
/* document request ledger */
form.reqadd{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
form.reqadd .rq-detail{flex:1 1 220px;min-width:180px}
form.reqadd .rq-year{width:100px}
form.reqadd input[type=month]{width:150px}
.rq-addwrap{padding:10px 16px;border-top:1px solid var(--line-2)}
table.reqs{width:100%}
table.reqs td{vertical-align:top;padding-top:8px;padding-bottom:8px}
.rq-st{width:84px}.rq-who{width:200px}.rq-due{width:110px}
.rq-act form{display:inline-flex;gap:4px;align-items:center;margin:0}
.rq-act{text-align:right;white-space:nowrap}
.rq-act .rq-link select{max-width:230px;font-size:12.5px;padding:3px 5px}
.rqchip{font:600 10.5px var(--mono);text-transform:uppercase;border-radius:4px;padding:1px 6px;background:var(--line-2);color:var(--navy-2)}
.rqchip.received{background:var(--gold-soft);color:#6B4A00}.rqchip.accepted{background:var(--ok-soft);color:var(--ok)}
tr.rq.late .rq-due{color:var(--err);font-weight:600}
.rq-reject{display:inline-block;text-align:left}
.rq-reject[open] form{position:absolute;right:16px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px;z-index:5;box-shadow:0 6px 20px rgba(11,31,107,.12);width:320px}
.rq-reject summary{list-style:none}.rq-reject summary::-webkit-details-marker{display:none}
.dupebox{margin:10px 16px;padding:10px 14px;border:1px solid var(--gold-line);background:var(--gold-soft);border-radius:8px;display:flex;flex-direction:column;gap:6px}
.dupe-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rq-done{margin:0;border-top:1px solid var(--line-2)}
.card h2 .hbtns.btn{letter-spacing:0;text-transform:none;font-size:12.5px}
.card,details.card,.dupebox{scroll-margin-top:210px}
/* department lenses on Today */
nav.lenses{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 12px}
nav.lenses a{padding:5px 12px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--navy-ink);font-size:13px;font-weight:500}
nav.lenses a.on{background:var(--navy);border-color:var(--navy);color:#fff}
nav.lenses a:hover{text-decoration:none;border-color:#B9C0D2}
form.callerbox{display:flex;gap:8px;align-items:center;margin:0 0 12px}
form.callerbox input{flex:0 1 420px;font-size:15px;padding:9px 12px}
form.qmatch input{width:180px;font-size:12.5px;padding:4px 7px}
@media (max-width:760px){nav.lenses{flex-wrap:nowrap;overflow-x:auto}nav.lenses a{white-space:nowrap}}
/* client portal (staff panel) */
.portal-new{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px;padding:10px;border:1px solid var(--gold-line);background:var(--gold-soft);border-radius:8px}
.portal-new input{flex:1 1 360px;font:12.5px var(--mono)}

/* client portal (what the client sees) */
body.portal{background:#F5F6FA}
.p-top{display:flex;align-items:center;gap:12px;background:var(--navy-deep);color:#fff;padding:14px 20px}
.p-top img{width:40px;height:40px;border-radius:50%;background:#fff}
.p-firm{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.p-hello{font-size:18px;font-weight:600}
.p-out{margin-left:auto;color:#C9CFE8;font-size:13px}
.p-main{max-width:720px;margin:0 auto;padding:16px 16px 40px}
.p-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:14px}
.p-label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-2);margin-bottom:6px}
.p-big{font-size:17px;font-weight:550;color:var(--navy-ink);line-height:1.4}
.p-muted{color:#66708F;font-size:14px}
.p-wait{margin-top:8px;padding:8px 12px;border-radius:7px;background:var(--paper);font-size:14.5px}
.p-wait.you{background:var(--gold-soft);color:#5C4100;font-weight:550}
.p-note{background:var(--ok-soft);border:1px solid #bfdcb5;color:#1f4d2b;border-radius:8px;padding:10px 14px;margin-bottom:12px;font-weight:550}
.p-contact{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.p-cb summary{list-style:none;cursor:pointer}.p-cb summary::-webkit-details-marker{display:none}
.p-cb[open] form{display:flex;flex-direction:column;gap:6px;margin-top:10px;min-width:260px}
.p-cb label{font-size:12.5px;color:var(--navy-2);margin-top:4px}
.p-seg{display:flex;gap:12px}.p-seg label{font-size:14px;color:var(--navy-ink)}
.p-need{font-size:14px;margin:14px 0 6px;color:var(--navy)}
ul.p-reqs{list-style:none;margin:0;padding:0}
ul.p-reqs li{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line-2)}
ul.p-reqs li.received .p-what b{color:var(--navy-2)}
.p-ok{color:var(--ok);font-size:13.5px;font-weight:550}
.p-late{color:var(--err);font-size:13.5px}
.p-up{margin:0}.p-up label.btn{cursor:pointer;white-space:nowrap}
.p-recent{margin-top:10px}
.p-foot{color:#8B93AE;font-size:12.5px;text-align:center}
@media (max-width:560px){ul.p-reqs li{flex-direction:column;align-items:stretch}.p-up label.btn{justify-content:center;width:100%}}
/* clocks, notices, submissions */
.ck-sec{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-2);padding:10px 16px 4px;border-top:1px solid var(--line-2)}
.ck-sec:first-child{border-top:0}
table.clocks{width:100%}
table.clocks td{vertical-align:top;padding-top:8px;padding-bottom:8px}
.ck-due{width:120px}.ck-act{text-align:right;white-space:nowrap;width:1%}
.ck-act form{display:inline-flex;gap:4px;margin:0}
tr.ck.paused td{background:#FAFBFD}tr.ck.late .ck-due b{color:var(--err)}
.ck-due b.warn{color:var(--gold-deep)}
.ck-more{display:inline-block;text-align:left;position:relative}
.ck-more summary{list-style:none}.ck-more summary::-webkit-details-marker{display:none}
.ck-more[open] form{position:absolute;right:0;top:calc(100% + 4px);z-index:6;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px;width:300px;box-shadow:0 6px 20px rgba(11,31,107,.12)}
form.ck-add{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 16px 10px}
form.ck-add input[type=text]{flex:1 1 160px}
.clockalarm{display:flex;flex-direction:column;gap:4px;margin:0 0 12px}
.clockalarm a{background:var(--err-soft);border:1px solid var(--err-line);color:#7A1710;border-radius:8px;padding:8px 14px;font-size:13.5px}
.clockalarm a:hover{text-decoration:none;filter:brightness(.98)}
/* readiness: authorization, compliance gate, handoff checklists */
.gate-body{padding:6px 16px 10px}
ul.gate-list{margin:4px 0 8px;padding-left:4px;list-style:none}
ul.gate-list li{padding:2px 0}
.gate-stage{margin-bottom:6px}
.okc{color:var(--ok)}
.gate-refused{margin:10px 16px;padding:10px 14px;border:1px solid var(--err-line);background:var(--err-soft);border-radius:8px;color:#5c130d}
.gate-refused ul{margin:6px 0;padding-left:18px}
tr.pmeta td{background:#FAFBFD;font-size:12.5px;padding-top:4px;padding-bottom:6px;border-top:0}
form.pfiled{display:inline-flex;gap:6px;align-items:center;margin-top:4px}
form.pfiled input[type=text]{width:280px}
/* dispute desk */
.dsp-say{font-size:15px;line-height:1.5;padding:10px 14px;border-left:3px solid var(--gold);background:var(--paper);border-radius:0 6px 6px 0}
h3.dsp-h{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-2);margin:18px 0 8px}
ul.dsp-list{margin:6px 0 0;padding-left:18px}
.dsp-call{padding:6px 0;border-bottom:1px solid var(--line-2)}

/* forms library */
.formsbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}

/* IRS forms: prepare page + representatives */
.ch-menu .menu-sec{padding:8px 14px 2px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-top:1px solid var(--line);margin-top:4px}
.fp .card{margin-bottom:14px}
.repline{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--line)}
.repline:last-of-type{border-bottom:0}
.fp-rows{width:100%;border-collapse:collapse}.fp-rows th{text-align:left;font-weight:600;font-size:12px;color:var(--muted);padding:4px 6px}
.fp-rows td{padding:3px 6px}.fp-rows input{width:100%;min-width:0}
.fp-opts{display:flex;flex-direction:column;gap:8px}.fp-opts .form-grid{margin:4px 0}
.fp-go{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:6px 0 30px}
@media (max-width:700px){.fp-rows th:nth-child(4),.fp-rows td:nth-child(4){display:none}}

/* Financial statement (staff + portal) */
.fin-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.fin-side{position:sticky;top:12px;display:flex;flex-direction:column;gap:12px}.fin-side .card{margin:0}
.fsec{margin-bottom:10px}.fsec summary{display:flex;gap:10px;align-items:baseline}
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 14px}
.fq{display:flex;flex-direction:column;gap:3px;min-width:0}.fq.full{grid-column:1/-1}
.fq label{font-size:12px;font-weight:600;color:var(--muted);line-height:1.25}
.fq input,.fq select,.fq textarea{width:100%;min-width:0}
.frow{border:1px solid var(--line);border-radius:8px;padding:8px 12px 12px;margin:0 0 10px}
.frow legend{font-size:11px;color:var(--muted);padding:0 4px}
.hidden-row{display:none}
.fsum .fs-row{display:flex;justify-content:space-between;gap:8px;padding:3px 0;font-size:13px}
.fsum .fs-row.big{font-size:15px;padding:6px 0}.fsum .fs-row.big b{font-size:17px}
.fsum .fs-sep{border-top:1px solid var(--line);margin:6px 0}
.fsum .fs-lines table{width:100%;font-size:12px}.fsum .fs-lines td{padding:2px 4px}.fsum .num{text-align:right}
.fin-strip{display:flex;gap:18px;flex-wrap:wrap}.fin-form{padding:3px 0}
.p-fin .fsec{background:#fff;border-radius:12px}
.p-fin .fgrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.p-fin .fq label{font-size:14px;color:var(--navy-ink);font-weight:500}
.p-fin .fq input,.p-fin .fq select{font-size:16px;padding:10px}
.p-fin-go{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin:14px 0 24px;position:sticky;bottom:0;background:var(--paper);padding:10px 0}
@media (max-width:900px){.fin-layout{grid-template-columns:minmax(0,1fr)}.fin-side{position:static}}
/* Proof: actual vs claimed */
.proofcmp td.num,.proofcmp th.num,.proofsort td.num,.proofsort th.num,table td.num,table th.num{text-align:right;white-space:nowrap}
tr.flagrow td{background:#fff7e6}
.proofsort select{max-width:240px}
.proofcands table{margin:0 0 8px}
.fin-ask{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.drillrow > td{background:#f7f9fd;padding:10px 12px}
.drilltab{width:100%;font-size:12px}.drilltab td,.drilltab th{padding:4px 6px;vertical-align:top}
.drilltab tr.formula td{border-top:2px solid var(--line);background:#fff}
tr.confirmrow td{background:#fffbea}
.drill b{color:var(--navy-ink)}
.oic-calc{width:100%;max-width:640px}.oic-calc td{padding:4px 6px}.oic-calc tr.sum td{border-top:1px solid var(--line)}
.oic-calc tr.big td{font-size:15px;border-top:2px solid var(--navy-ink)}
.oic-lines td{vertical-align:middle}
.fq-h{grid-column:1/-1;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--navy-ink);border-bottom:1px solid var(--line);padding:8px 0 3px;margin-top:4px}
.p-fin .fq-h{font-size:13px}
.oic-sub td{font-size:12px;color:var(--muted);padding-top:0 !important;padding-bottom:0 !important}
.stmt-edit input{width:100px;text-align:right}
.stmt-part{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;margin:2px 0;max-width:280px}
.stmt-part input{width:90px}
/* Billing */
.pay-choices{display:flex;flex-direction:column;gap:10px;margin:14px 0 8px}.pay-choices form{margin:0}
.pay-btn{width:100%;padding:14px;font-size:16px}
.loanrow{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px}
.paylink{font-size:11px}
/* Pinned notes (above the tabs) */
.pins{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
.pin{border:1px solid var(--line);border-left:5px solid #e0b100;border-radius:8px;background:#fffbea;padding:8px 12px}
.pin-yellow{border-left-color:#e0b100;background:#fffbea}.pin-blue{border-left-color:#2f6fd6;background:#eef4fd}
.pin-red{border-left-color:#c62828;background:#fdeeee}.pin-green{border-left-color:#2e7d32;background:#edf7ee}.pin-gray{border-left-color:#9aa3b5;background:#fff}
.pin-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.pin-title{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--navy-ink)}
.pin-acts{margin-left:auto;display:flex;gap:8px;align-items:center}
.pin-body{white-space:pre-wrap;font-size:14px;line-height:1.45;margin-top:4px;max-height:240px;overflow:auto}
.pin .pin-edit{display:none}.pin.editing .pin-edit{display:flex}.pin.editing .pin-body{display:none}
.pin-edit{flex-direction:column;gap:6px;margin-top:6px}.pin-edit.open{display:flex}
.pin-edit input[type=text]{font-weight:600}.pin-edit textarea{width:100%}
.pin-colors{display:flex;gap:6px;align-items:center}
.pin-colors .pc{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.pin-colors .pc input{margin:0;width:12px;height:12px}
.pin-new summary{list-style:none;cursor:pointer;display:inline-block}.pin-new summary::-webkit-details-marker{display:none}
.pin-new[open]{border:1px dashed var(--line);border-radius:8px;padding:8px 12px;background:#fff}
/* Forms tab */
.formgroup{margin-bottom:14px}
.formcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:8px}
.formcard{border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;background:#fff}
.formcard .fc-top b{font-size:16px;color:var(--navy-ink);margin-right:4px}
.formcard .btn{align-self:flex-start;margin-top:auto}
.rem-pre{white-space:pre-wrap;font-family:inherit;font-size:12px;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:8px;max-width:420px}
.remtab td{vertical-align:top}
.contact-prefs{display:flex;gap:12px;align-items:center;margin:0 0 8px}

/* ================= e-signing ================= */
.sigpad{margin:12px 0;display:grid;gap:8px}
.sp-tabs{display:flex;gap:16px;flex-wrap:wrap}
.sp-tabs label{display:flex;gap:6px;align-items:center;font-size:13.5px}
.sp-type input{width:100%;font-size:16px;padding:9px 10px;border:1px solid var(--line);border-radius:6px}
.sp-preview{font:italic 30px/1.3 "Times New Roman",Times,serif;color:#14205a;min-height:42px;border-bottom:1.5px solid var(--navy-2);padding:4px 2px;margin-top:6px;overflow:hidden;white-space:nowrap}
.sp-draw canvas{width:100%;max-width:600px;aspect-ratio:600/160;height:auto;border:1px dashed var(--navy-2);border-radius:6px;background:#fff;touch-action:none;display:block}
.sp-draw .sp-clear{margin-top:6px}
.sp-agree{font-size:13px;line-height:1.4;align-items:flex-start}
.p-pdf{width:100%;height:70vh;min-height:420px;border:1px solid var(--line);border-radius:6px;margin-top:12px;background:#fff}
.p-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
.p-two input,.p-idform input[type=file]{width:100%}
.p-idform{display:grid;gap:6px;margin-top:10px}
.btn.big{font-size:16px;padding:11px 20px;margin-top:6px}
@media (max-width:560px){.p-two{grid-template-columns:1fr}.p-pdf{height:60vh;min-height:320px}}
table.esign td{padding:10px 14px;vertical-align:top}
.es-who{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px}
.es-chip{font-size:12px;border-radius:12px;padding:2px 9px;background:var(--line-2);color:var(--navy-2)}
.es-chip.signed{background:var(--ok-soft);color:var(--ok)}
.es-chip.locked{background:var(--err-soft);color:var(--err)}
.es-send,.es-id{margin-top:6px}
.es-send>summary,.es-id>summary{cursor:pointer;list-style:none;display:inline-block}
.es-send form,.es-id form{display:grid;gap:6px;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}
.es-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.es-row input[type=text]{flex:1;min-width:160px}
.es-done{margin-top:4px}
.p-pages{display:grid;gap:10px;margin-top:12px;max-height:75vh;overflow:auto;padding:8px;background:var(--line-2);border-radius:6px}
.p-pages img{width:100%;height:auto;background:#fff;box-shadow:0 1px 3px rgba(19,26,58,.18)}
/* ================= case review ================= */
.cr-steps{margin:0;padding-left:20px;display:grid;gap:16px}
.cr-steps>li{padding-left:4px}
.cr-up{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
table.cr-on{margin-top:4px;border-collapse:collapse}
table.cr-on td{padding:3px 12px 3px 0;vertical-align:top;border:0}
.cr-note{display:grid;gap:6px;margin-top:8px}
.pin-review .pin-body{max-height:560px;font:12.5px/1.5 var(--mono)}
.spinner{display:inline-block;width:11px;height:11px;border:2px solid var(--line);border-top-color:var(--navy);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-1px;margin-right:4px}
.std-head{padding:8px 16px;border-bottom:1px solid var(--line-2)}
table.std-tbl{width:100%;margin-top:6px}table.std-tbl td,table.std-tbl th{padding:3px 4px;border:0;border-bottom:1px solid var(--line-2);vertical-align:top}
/* ================= calendar ================= */
.cal-nav{display:flex;gap:6px;align-items:center;margin-left:auto;flex-wrap:wrap}
.cal-status{margin:-4px 0 10px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cal-key{margin-left:auto;display:flex;gap:10px;align-items:center}.cal-key i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:3px;vertical-align:-1px}
.k-event,.cal-ev.t-event{background:#E8ECFA}.k-cm,.cal-ev.t-cm{background:#DCEFE2}.k-task,.cal-ev.t-task{background:var(--gold-soft)}.k-deadline{background:var(--err-soft)}
.cal-week{display:grid;grid-template-columns:44px repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;background:var(--card);overflow:visible}
.cal-dayhead{height:34px;display:flex;gap:6px;align-items:center;justify-content:center;border-bottom:1px solid var(--line);font-size:13px}
.cal-day.today .cal-dayhead{background:var(--navy);color:#fff;border-radius:6px 6px 0 0}
.cal-allday,.cal-allday-h{height:var(--ad,28px);border-bottom:1px solid var(--line);padding:2px;box-sizing:border-box}
.cal-allday-h{display:flex;align-items:center;justify-content:center}
.cal-grid{position:relative;height:calc(var(--px) * var(--h))}
.cal-hr,.cal-slot{height:var(--px);border-bottom:1px solid var(--line-2);box-sizing:border-box}
.cal-hr{text-align:right;padding:2px 6px 0 0}
.cal-day{border-left:1px solid var(--line);min-width:0}
.cal-ev{position:absolute;border-radius:5px;overflow:visible;font-size:11.5px;border-left:3px solid var(--navy)}
.cal-ev.t-cm{border-left-color:var(--ok)}.cal-ev.t-task{border-left-color:var(--gold-deep)}
.cal-chip{display:block;min-width:0}
.cal-chip>summary{list-style:none;cursor:pointer;padding:2px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:1.3}
.cal-chip>summary::-webkit-details-marker{display:none}
.cal-allday .cal-chip>summary{background:var(--err-soft);border-radius:4px;margin-bottom:2px}
.cal-allday .cal-chip.t-event>summary{background:#E8ECFA}
.cal-t{font-weight:600}
.cal-pop{position:absolute;z-index:30;top:100%;left:0;width:240px;background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px rgba(19,26,58,.18);padding:10px;display:grid;gap:4px;white-space:normal}
.cal-chip{position:relative}
.cal-move{display:flex;gap:4px;flex-wrap:wrap}.cal-move input{font-size:12px;padding:2px 4px}
.cal-list{display:none}
.cal-book{display:grid;gap:8px}.cal-book-row{display:flex;flex-wrap:wrap;gap:10px}.cal-book label{display:flex;flex-direction:column;font-size:12px;gap:2px}
@media (max-width:820px){
  .cal-week{display:block;border:0;background:none}
  .cal-hours,.cal-grid,.cal-allday{display:none}
  .cal-day{border:1px solid var(--line);border-radius:10px;background:var(--card);margin-bottom:10px}
  .cal-dayhead{justify-content:flex-start;padding:0 12px}
  .cal-list{display:block;padding:6px 8px}
  .cal-list .cal-chip>summary{font-size:13px;white-space:normal;padding:6px 4px;border-bottom:1px solid var(--line-2)}
  .cal-pop{position:static;width:auto;box-shadow:none;border:0;padding:6px 4px}
  .cal-key{margin-left:0}
}
.cal-key i{border:1px solid rgba(19,26,58,.25)}
.cal-key .k-event{background:#C9D2F2}.cal-key .k-cm{background:#B7DEC3}.cal-key .k-task{background:#F6D98A}.cal-key .k-deadline{background:#F2B8B2}
@media (max-width:820px){.cal-key{display:none}}
/* ================= fax ================= */
.fax-form{display:grid;gap:8px;margin-top:8px}
.fax-docs{max-height:200px;overflow:auto;border:1px solid var(--line-2);border-radius:6px;padding:6px 8px;display:grid;gap:2px}
table.fax-tbl td,table.fax-tbl th{padding:6px 12px;vertical-align:top}
.fax-file input{font-size:12.5px;padding:2px 6px}
/* ================= PDF tools ================= */
.pt-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}
.pt-side{display:grid;gap:10px}.pt-side .card{margin:0}
.pt-doclist{display:grid;gap:3px;max-height:360px;overflow:auto}
.pt-unlock{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.pt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:10px 0 16px}
.pt-page{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:6px;cursor:grab;user-select:none}
.pt-page.off{opacity:.38}.pt-page.drag{outline:2px dashed var(--navy)}
.pt-img{height:190px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border-radius:4px}
.pt-img img{max-width:100%;max-height:186px;transition:transform .15s;box-shadow:0 1px 3px rgba(19,26,58,.2)}
.pt-cap{display:flex;align-items:center;gap:6px;font-size:12px;margin-top:4px}.pt-cap .muted{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.pt-btns{display:flex;gap:2px}.pt-btns .linkbtn{font-size:14px;padding:0 3px}
.pt-make{display:grid;gap:10px;border-top:1px solid var(--line-2);padding-top:12px}
.pt-make label{display:flex;flex-direction:column;gap:2px}.pt-make label.check{flex-direction:row}
.pt-go{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media (max-width:820px){.pt-layout{grid-template-columns:1fr}.pt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pt-img{height:150px}}
.pt-intro{margin:2px 0 10px}
/* ================= pulse ================= */
.pl-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 14px;margin-bottom:14px}
.pl-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:14px}
.pl-tile{padding:12px 16px;margin:0}
.pl-tile .pl-n{font:600 28px/1.1 var(--sans);font-variant-numeric:tabular-nums}
.pl-n{font-weight:650;font-variant-numeric:tabular-nums}.pl-n.zero{color:#5E6787;font-weight:400}
.pl-grid{display:grid;grid-template-columns:1.15fr 1.1fr .9fr;gap:14px;align-items:start}
.pl-grid .card,.pl-depts .card{margin:0}
.pl-depts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:14px;align-items:start}
.pl-kv{width:100%}.pl-kv td{padding:5px 0;border:0}.pl-kv td.num{text-align:right}
.pl-board{width:100%}.pl-board td{padding:5px 6px}.pl-barcell{width:40%}
.pl-bar{height:8px;background:var(--line-2);border-radius:4px;overflow:hidden}.pl-bar i{display:block;height:100%;background:var(--navy)}.pl-bar i.ok{background:var(--ok)}
.pl-res{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 4px;color:#5E6787}
.pl-weeks{display:flex;gap:6px;align-items:flex-end;margin-top:12px;height:86px}
.pl-weeks div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;font-size:11px;color:#5E6787}
.pl-weeks i{display:block;width:100%;max-width:28px;background:var(--gold);border-radius:3px 3px 0 0;min-height:2px}
.pl-weeks b{color:var(--navy-ink);font-weight:600}
@media (max-width:1100px){.pl-grid{grid-template-columns:1fr}}
.pl-grid .status{white-space:nowrap}
/* ================= cases filters ================= */
.cl-bar{flex-wrap:wrap;row-gap:8px}
.cl-moved{display:inline-flex;gap:4px;align-items:center;padding:2px 6px;border:1px solid var(--line);border-radius:6px;background:#fff}
.cl-save{display:flex;gap:6px;align-items:center;margin:-4px 0 10px}
.cl-views{margin-bottom:6px}.cl-view{display:inline-flex;align-items:center;gap:4px}.cl-view a{color:inherit}
.cl-view .x{border:0;background:none;cursor:pointer;color:#5E6787;font-size:14px;padding:0 2px}
.chip-f.warnchip{background:#FFFAEB;color:#B54708}.chip-f.warnchip.on{outline:2px solid #B54708}
/* ================= case overview, simplified ================= */
.ov-add{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 12px}
.ov-add-more{margin-left:auto}
.matterbar .mb-q{flex:1 0 100%;margin:2px 0 -2px;border-top:1px solid var(--line-2);padding-top:8px}
.ch-q.inbar{border:0;margin:0;background:none;grid-template-columns:auto minmax(0,1fr)}
.ch-q.inbar .q{padding:0 18px 0 0;border-right:0}
/* ================= activity rail ================= */
.case-split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
body.ar-off .case-split{grid-template-columns:minmax(0,1fr)}
.arail{position:sticky;top:10px;max-height:calc(100vh - 20px);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.ar-head{display:flex;align-items:baseline;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line-2)}
.ar-head b{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-2)}
.ar-hide{margin-left:auto}
.ar-note{padding:10px 14px 6px;border-bottom:1px solid var(--line-2)}
.ar-note textarea{width:100%;resize:vertical;font:inherit;font-size:13px}
.ar-note-go{display:flex;gap:6px;justify-content:flex-end;margin-top:6px}.ar-note-go select{font-size:12px;max-width:180px}
.ar-chips{display:flex;flex-wrap:wrap;gap:4px;padding:8px 14px;border-bottom:1px solid var(--line-2)}
.ar-chips .chip-f{font-size:12px;padding:2px 9px;cursor:pointer}
.ar-list{overflow-y:auto;padding:2px 14px 10px;flex:1}
.ar-item{padding:8px 0;border-bottom:1px solid var(--line-2);position:relative}
.ar-meta{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:11.5px;color:#5E6787}
.ar-k{font-weight:650;text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;color:var(--navy-2)}
.ar-k.k-note{color:var(--navy)}.ar-k.k-call{color:#8A5D00}.ar-k.k-email{color:#175CD3}.ar-k.k-status{color:var(--err)}.ar-k.k-appt{color:#6D3F8C}
.ar-who{color:var(--navy-ink);font-weight:600}.ar-m{background:var(--line-2);border-radius:4px;padding:0 5px}
.ar-t{font-size:13px;margin-top:2px}.ar-t:empty{display:none}
.ar-b{font-size:13px;white-space:pre-wrap;color:var(--navy-ink);margin-top:2px;max-height:9em;overflow:hidden}
.ar-pin{position:absolute;top:6px;right:0;opacity:0}.ar-item:hover .ar-pin{opacity:1}
.ar-hist{padding:8px 14px;border-top:1px solid var(--line-2);max-height:30vh;overflow:auto}
.ar-show{position:fixed;right:14px;bottom:14px;z-index:30;box-shadow:0 2px 8px rgba(0,0,0,.15)}
@media (max-width:1150px){.case-split{grid-template-columns:minmax(0,1fr)}.arail{position:static;max-height:none}}
.fp-title{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:4px 0 12px}.fp-title h2{margin:0;font-size:18px;color:var(--navy)}
.fp-draft form{display:inline}
.fx-drafts{background:#FFFAEB;border:1px solid #F1DDA3;border-radius:8px;padding:8px 12px;margin:0 0 12px}
.fin-side .arail{position:static;max-height:70vh;margin-top:14px}
.ovgrid.one{grid-template-columns:minmax(0,1fr)}.ovgrid.one .ovside:empty{display:none}
form.kept{box-shadow:inset 3px 0 0 var(--gold)}
/* ================= portal: where your case is ================= */
.pj-bar{height:8px;background:#E8ECF4;border-radius:4px;overflow:hidden;margin:10px 0 14px}.pj-bar i{display:block;height:100%;background:var(--gold);border-radius:4px}
.pj-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:10px}
.pj-steps li{display:flex;gap:8px;align-items:flex-start}
.pj-dot{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;border:2px solid #C9CFDC;color:#5E6787;background:#fff}
.pj-done .pj-dot{background:var(--navy);border-color:var(--navy);color:#fff}
.pj-now .pj-dot{border-color:var(--gold);background:#FFF3D1;color:var(--navy-ink)}
.pj-txt{display:flex;flex-direction:column;font-size:14px;line-height:1.3;color:#5E6787}
.pj-done .pj-txt b,.pj-now .pj-txt b{color:var(--navy-ink)}
.pj-txt em{font-style:normal;font-size:11px;font-weight:700;color:#8A5D00;text-transform:uppercase;letter-spacing:.06em}
.pj-txt span{font-size:13px}
@media (max-width:560px){.pj-steps{grid-template-columns:1fr;gap:8px}}
@media (min-width:561px){.pj-steps li{flex-direction:column;gap:6px}.pj-txt{font-size:13.5px}}
.railnew{margin:0 16px 6px;justify-content:center;display:flex}
.cn-sz{display:flex;gap:12px}
/* ================= financial statement parts ================= */
.fin-parts{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:6px;padding:8px 0 10px;background:var(--paper);margin-bottom:6px}
.fin-parts button{border:1px solid var(--line);background:#fff;border-radius:16px;padding:5px 12px;font:600 13px var(--sans);color:var(--navy-ink);cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.fin-parts button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.fin-parts .fp-n{font:500 11px var(--mono);color:#5E6787}.fin-parts button.on .fp-n{color:#C9CFE8}.fin-parts .fp-n.full{color:var(--ok)}.fin-parts button.on .fp-n.full{color:#9BE3B0}
.fin-jump{margin:0 0 10px}.fin-jump a{white-space:nowrap}
/* ================= financial statement, staff layout ================= */
.fl .fsec > .body{padding-top:10px}
.fl-ledger{width:100%;max-width:620px;border-collapse:collapse}
.fl-ledger th{font-weight:400;text-align:left;padding:3px 10px 3px 0;color:var(--navy-ink)}
.fl-ledger td{padding:3px 0;width:150px}
.fl-ledger td:last-child{width:auto;padding-left:12px;font-size:12px;color:#5E6787;white-space:nowrap}
.fl-ledger input.fmoney{width:140px;text-align:right;font-variant-numeric:tabular-nums}
.fl-ledger tr.fl-r:hover th{background:#F7F9FC}
.fl-ledger tr.fl-r th label{font-weight:400;margin:0;color:inherit;font-size:14px;letter-spacing:0;text-transform:none}
.fl-ledger .fl-desc{width:100%}
.fl-ledger tr.fl-g th{padding-top:14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--navy-2)}
.fl-ledger tr.fl-g td{padding-top:14px}
.fl-sum{text-align:right;font-weight:650;font-variant-numeric:tabular-nums;padding-right:12px!important}
.fl-ledger tr.fl-g .fl-std{color:#8A5D00;font-weight:600}
.fl-ledger tr.fl-total th,.fl-ledger tr.fl-total td{border-top:2px solid var(--line);padding-top:8px;font-weight:700}
.fl-pair{border-collapse:collapse;margin-bottom:10px;width:100%;max-width:760px}
.fl-pair thead th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--navy-2);text-align:left;padding:0 6px 6px}
.fl-pair tbody th,.fl-pair tfoot th{font-weight:400;text-align:left;padding:3px 10px 3px 0;white-space:nowrap;width:190px}
.fl-pair td{padding:3px 6px}.fl-pair td input,.fl-pair td select{width:100%}
.fl-pair input.fmoney{text-align:right;font-variant-numeric:tabular-nums}
.fl-pair tfoot td{font-weight:700;text-align:right;font-variant-numeric:tabular-nums;padding-top:8px;border-top:2px solid var(--line)}
.fl-pair tfoot th{padding-top:8px;border-top:2px solid var(--line);font-weight:700}
.fl[data-married="unmarried"] .fl-sp,.fl[data-married=""] .fl-pair .fl-sp{opacity:.45}
.fl-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fl-cols .fgrid{grid-template-columns:1fr}
.fl-twrap{overflow-x:auto}
.fl-table{width:100%;border-collapse:collapse}
.fl-table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--navy-2);text-align:left;padding:0 6px 6px;white-space:nowrap}
.fl-table thead th.num{text-align:right}
.fl-table td{padding:3px 6px;vertical-align:middle}.fl-table td input,.fl-table td select{width:100%;min-width:70px}
.fl-table td.num input{text-align:right;font-variant-numeric:tabular-nums}
.fl-table .fl-eq{font-weight:650;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.fl-table tbody.frow{border-bottom:1px solid var(--line-2)}
.fl-table tbody.hidden-row{display:none}
.fl-detail td{background:#F7F9FC;padding:8px 10px}
@media (max-width:900px){.fl-cols{grid-template-columns:1fr}}
.fp-fin-sum{max-width:420px;margin-bottom:10px}
/* tasks: who, notes, clear dates */
.tk-l{display:inline-flex;flex-direction:column;gap:1px;margin:0;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--navy-2)}
.tk-l .muted{text-transform:none;letter-spacing:0;font-weight:400}
.tk-by{margin-top:2px}.tk-by .tk-talk{margin-left:8px}
.tk-dl{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--navy-2);margin-right:4px}
table.tasks tr.tasktalk td{background:#FAFBFD;padding-top:6px;padding-bottom:10px}
.tk-thread{max-width:720px}.tk-meta{color:#5E6787;margin-bottom:6px}
.tk-c{border-left:3px solid var(--line);padding:4px 10px;margin:4px 0}.tk-c-b{white-space:pre-wrap;font-size:13.5px}
.tk-add-c{display:flex;gap:6px;margin-top:6px}.tk-add-c textarea{flex:1;font:inherit;font-size:13px;min-height:34px}
button.busy{pointer-events:none;opacity:.75}
.fl-pair tbody th,.fl-pair tfoot th{text-transform:none;letter-spacing:0;font-size:13.5px;color:var(--navy-ink);background:none;font-weight:500}
.fl-pair tfoot th{font-weight:700}
.fl-ledger th{background:none!important}
.fl input[type=text],.fl input[type=date],.fl select{padding:5px 8px;font-size:13.5px;min-height:0}
.fl-ledger tr.fl-r td,.fl-ledger tr.fl-r th,.fl-pair td,.fl-pair th{padding-top:2px;padding-bottom:2px}
.fl-table thead th{background:none}
/* portal: checked before it's accepted */
.p-checks{margin:8px 0}
.p-check{border-radius:8px;padding:8px 12px;margin:6px 0;font-size:14px;line-height:1.4}
.p-check{border-left:3px solid transparent}.p-check div{margin-top:2px;font-size:13.5px}
.p-check.ok{background:#EEF6F0;color:#1f4d2b;border-left-color:#7DBB8C}
.p-check.warn,.p-check.retake{background:#FFF8E6;color:var(--navy-ink);border-left-color:var(--gold)}
.p-check.retake b,.p-check.warn b{color:var(--gold-text)}
.p-check .p-tip{margin-top:4px;font-size:13px;opacity:.9}
.p-hint{font-size:12.5px;color:#5E6787;margin-top:6px}
label.busy{pointer-events:none;opacity:.7}
/* portal tabs, documents, billing, upload progress */
.p-tabs{position:sticky;top:0;z-index:5;display:flex;gap:4px;background:var(--paper);padding:8px 0 10px;margin-bottom:4px}
.p-tabs a{flex:1;text-align:center;padding:10px 6px;border-radius:8px;background:#fff;border:1px solid var(--line);color:var(--navy-ink);font-weight:600;font-size:14px}
.p-tabs a.on{background:var(--navy);border-color:var(--navy);color:#fff}
.p-tabs a b{font-size:11px;font-weight:700;background:var(--gold);color:var(--navy-deep);border-radius:9px;padding:1px 7px;margin-left:4px;white-space:nowrap}
.p-sent{list-style:none;margin:0;padding:0}.p-sent li{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line-2)}
.p-sent li:last-child{border-bottom:0}.p-sent a{word-break:break-word}
.p-st{flex:none;font-size:12px;font-weight:700;border-radius:10px;padding:3px 9px;background:#EFF2F7;color:#5E6787}
.p-st.accepted{background:#E6F2E9;color:#1f4d2b}.p-st.redo{background:#FBE9E7;color:#7A1710}
.p-bill{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.p-bill div{display:flex;flex-direction:column;gap:2px}.p-bill b{font-size:20px;font-variant-numeric:tabular-nums}
.p-tbl{width:100%;font-size:14px}.p-tbl td{padding:6px 0;border-bottom:1px solid var(--line-2)}.p-tbl td.num{text-align:right;font-variant-numeric:tabular-nums}
.p-paydue{display:flex;justify-content:space-between;align-items:center;gap:10px;color:inherit;text-decoration:none;border-color:#F1DDA3;background:#FFFBEF}
.p-progress{margin-top:10px;background:#F7F9FC;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:14px}
.pp-line{display:flex;align-items:center;gap:6px}.pp-pct{margin-left:auto;font-variant-numeric:tabular-nums;color:#5E6787}
.pp-bar{height:6px;background:#E8ECF4;border-radius:3px;overflow:hidden;margin-top:8px}.pp-bar i{display:block;height:100%;background:var(--gold)}
@media (max-width:420px){.p-bill b{font-size:17px}}
.p-tbl{border-collapse:collapse}.p-tbl td{padding:7px 10px 7px 0}.p-tbl td:last-child{padding-right:0}
.p-tabs a,.p-tabs a:hover{text-decoration:none}
.p-card table.p-tbl{width:100%!important;display:table}
.rq-sugg{background:#FFFAEB;border:1px solid #F1DDA3;border-radius:6px;padding:5px 8px;margin-top:4px}

/* ---- Overview: deadlines as a quiet reminder line */
.ck-strip{position:relative;background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px;padding:6px 64px 6px 12px;margin:0 0 12px;font-size:13px}
.ck-line{display:flex;align-items:center;gap:10px;padding:3px 0;min-height:26px;flex-wrap:wrap}
.ck-line+.ck-line{border-top:1px dashed var(--line-2)}
.ck-tag{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--navy-2);background:var(--line-2);border-radius:4px;padding:1px 6px;min-width:52px;text-align:center}
.ck-tag.warn{background:#fdf3d8;color:var(--gold-deep)}.ck-tag.bad{background:#fde8e8;color:#a61b1b}
.ck-go{margin-left:auto;display:inline-flex;gap:4px}.ck-go form{margin:0}
.ck-open{position:absolute;right:10px;top:8px;background:none;border:0;color:var(--navy-2);font-size:12px;cursor:pointer;text-decoration:underline}
.btn.ghost{background:transparent;border-color:transparent;color:var(--navy-2)}.btn.ghost:hover{background:var(--line-2)}

/* ---- Portal sign-in */
.pl-card{max-width:420px;margin:24px auto}
.pl-card .notice{margin:10px 0}
.pl-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px;font-size:15px;margin-top:8px;background:#fff}
.pl-or{display:flex;align-items:center;gap:10px;color:#66708F;font-size:13px;margin:16px 0}
.pl-or:before,.pl-or:after{content:"";flex:1;border-top:1px solid var(--line)}
.pl-email{display:flex;flex-direction:column;gap:8px}
.pl-email label{font-weight:550;color:var(--navy-ink)}
.pl-email input{padding:11px 12px;font-size:16px}
.pl-email .btn{padding:11px;font-size:15px}
.portal-link{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.portal-link input{flex:1 1 280px;font-family:var(--mono,monospace);font-size:12px}

/* ---- Case overview: the client's other matters, and their tasks in the same list */
.om-card{margin-bottom:12px}
table.om{width:100%;border-collapse:collapse;font-size:13px}
table.om td{padding:8px 16px;border-top:1px solid var(--line-2);vertical-align:middle}
table.om tr:first-child td{border-top:0}
table.om tr.closed{opacity:.6}
table.om .stage{display:inline-block;background:#fdf3d8;color:var(--navy-ink);border-radius:999px;padding:1px 9px;font-size:12px}
.mtag{display:inline-block;font-size:11px;background:var(--line-2);color:var(--navy-2);border-radius:4px;padding:0 6px;margin-left:6px;text-decoration:none;vertical-align:1px}


/* =====================================================================================
   The pipeline redesign (handoff pack): station page, My ball, Cases by holder, Pulse board, portal, 433-A.
   One rule for selected: navy fill, white text.
   ===================================================================================== */
.label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mono{font-family:var(--mono)}
.tag{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:5px;line-height:1.4;background:#ECEEF4;color:#3B4260}
.tag.client{background:#FFF3D1;color:#6B4A00}.tag.firm{background:#E3E7F5;color:var(--navy)}
.tag.irs,.tag.prep,.tag.agency,.tag.ths{background:#ECEEF4;color:#3B4260}
.tag.ok{background:var(--ok-soft);color:var(--ok-text)}.tag.today,.tag.late{background:var(--err-soft);color:#7A1710}
.btn:disabled,.btn[disabled]{opacity:.55;cursor:default}
.linkbtn{background:none;border:0;padding:0;color:var(--navy);font-weight:500;text-decoration:underline;text-underline-offset:2px;cursor:pointer;font:inherit}
.prog{height:8px;border-radius:4px;background:#ECEEF4;overflow:hidden;flex:1 1 160px}.prog>i{display:block;height:100%;background:var(--gold)}

/* open-case tabs row: My ball first */
.opentabs .otab.on{background:var(--navy);border-color:var(--navy);color:#fff}
.opentabs .otab-right{margin-left:auto;display:flex;gap:8px}

/* case header */
.cp-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding-bottom:10px;border-bottom:2px solid var(--gold);margin-bottom:14px}
.cp-head h1{margin:0;font-size:26px;font-weight:650;letter-spacing:-.01em;color:var(--navy)}
.cp-head .tel{font-weight:600}
.cp-head .more{margin-left:auto;position:relative}
.cp-more>summary{list-style:none}.cp-more>summary::-webkit-details-marker{display:none}
.cp-more[open]>div{position:absolute;right:0;top:calc(100% + 4px);z-index:20;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(11,31,107,.14);padding:6px 0;min-width:260px;display:flex;flex-direction:column}
.cp-more[open]>div a,.cp-more[open]>div .ms{padding:7px 16px;color:var(--ink);text-decoration:none;font-size:13.5px}
.cp-more[open]>div a:hover{background:var(--paper)}
.cp-more .ms{font-size:10.5px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)!important;padding-top:10px!important}
.cp-gap{display:flex;flex-direction:column;gap:16px}

/* team row */
.teamrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.teamrow>.label{min-width:104px}
.tm{display:inline-flex;flex-direction:column;gap:1px;padding:6px 12px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;line-height:1.3;min-height:44px;justify-content:center;cursor:pointer;font:inherit}
.tm:hover{border-color:#B9C0D2}
.tm .r{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tm .nm{font-weight:600;font-size:13.5px}
.tm.ball{background:var(--navy);border-color:var(--navy);color:#fff}.tm.ball .r{color:var(--gold)}
.tm.open{box-shadow:0 0 0 2px var(--gold)}
.tm.empty .nm{color:var(--muted);font-weight:500}
.taskcomp{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 20px;border-color:var(--gold)}
.taskcomp input[type=text]{flex:1 1 320px;min-width:0;padding:9px 12px;min-height:40px}

/* ball line */
.ballcard{display:flex;flex-direction:column;border-top:var(--line-top)}
.ballcard .bl{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 20px}
.ballcard .who{font-size:17px;font-weight:650;flex:1 1 320px;min-width:0}
.ballcard .who .rest{font-weight:400;font-size:14px;color:var(--muted)}
.ballcard .btn.primary.big{min-height:44px;padding:10px 22px;font-size:15px}
.ballcard .tell{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 20px 12px;border-top:1px solid var(--line-2);background:#FAFBFD}
.ballcard .tell q{flex:1 1 320px;min-width:0;quotes:"\201C" "\201D"}
.ballcard .ballview{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 20px 12px;border-top:1px solid var(--line-2)}

/* pipeline strip */
.pipe{display:flex;flex-direction:column}
.pipe .ph{display:flex;align-items:center;gap:10px;padding:10px 20px 0}
.lane{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;padding:12px 20px}
.st{flex:1 1 84px;min-width:0;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:6px;border:1px solid var(--line);background:#fff;color:#3B4260;font-size:12.5px;font-weight:500;text-align:left;border-top:3px solid var(--line);line-height:1.3;min-height:44px;text-decoration:none}
a.st:hover{border-color:#B9C0D2;text-decoration:none}
.st.done{background:var(--ok-soft);border-color:#C5E0CB;border-top-color:var(--ok);color:var(--ok-text)}
.st.on{background:var(--navy);border-color:var(--navy);border-top-color:var(--gold);color:#fff;font-weight:600}
.st.open{box-shadow:0 0 0 2px var(--gold)}
.st .who{font-size:11px;font-weight:400;opacity:.85}
.st.chip{flex:0 1 128px;border-style:dashed;border-top-style:solid}
.st.na{opacity:.6;background:#F6F7FA}
.st.later{background:#fff}

/* station panel */
.spanel{display:flex;flex-direction:column}
.phead{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 20px 10px}
.phead h2{margin:0;font-size:17px;font-weight:650;color:var(--ink);text-transform:none;letter-spacing:0}
.phead .count{font-size:17px;font-weight:650;color:var(--gold-text)}
.chk{display:flex;align-items:center;gap:12px;padding:11px 20px;border-top:1px solid var(--line-2);flex-wrap:wrap}
.chk input[type=checkbox]{width:18px;height:18px;margin:0;flex:none}
.chk label,.chk .lb{flex:1 1 300px;min-width:0;font-weight:600}
.chk label{cursor:pointer}
.chk.dim label,.chk.dim .lb{font-weight:500;color:var(--muted);cursor:default}
.chk .tag{min-width:60px;text-align:center}
.chk form{margin:0;display:inline-flex}
.chk .meta{font-size:12.5px;color:var(--muted)}
.dropzone2{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 20px 4px;padding:14px 18px;border:2px dashed #B9C0D2;border-radius:8px;background:#FAFBFD}
.dropzone2.over{border-color:var(--gold);background:var(--gold-soft)}
.pfoot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 20px;border-top:1px solid var(--line-2);background:#FAFBFD;border-radius:0 0 8px 8px}
.pfoot .gt{flex:1 1 280px;min-width:0}
.pfoot form{margin:0;display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
.pfoot .btn.primary{min-height:44px}
.sendback>summary{list-style:none;cursor:pointer}.sendback>summary::-webkit-details-marker{display:none}
.sendback[open] form{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));column-gap:24px;padding:0 0 4px}
.addrow{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:10px 20px;border-top:1px solid var(--line-2)}

/* one-liners */
.lines{display:flex;flex-direction:column}
.line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 20px;border-top:1px solid var(--line-2)}
.line:first-child{border-top:0}
.line>.label{min-width:104px}
.line .tx{flex:1 1 320px;min-width:0}
.savedline{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.savedline i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok)}

/* activity drawer */
.adrawer{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;z-index:40;background:var(--paper);border-left:1px solid var(--line);box-shadow:-8px 0 24px rgba(11,31,107,.10);padding:12px;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .18s ease}
.adrawer.on{transform:none}
.adrawer .arail{position:static;max-height:none;flex:1;min-height:0}
.adrawer .ar-head{gap:10px}
body.ar-pinned .work{padding-right:400px}
body.ar-pinned .adrawer{box-shadow:none}

/* My ball */
.mb-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding-bottom:10px;border-bottom:2px solid var(--gold);margin-bottom:16px}
.mb-head h1{margin:0;font-size:26px;font-weight:650;color:var(--navy)}
.mb-head .scope{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.tab{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:500;min-height:36px;text-decoration:none}
.tab:hover{text-decoration:none;border-color:#B9C0D2}
.tab.on{background:var(--navy);border-color:var(--navy);color:#fff}
.tab .n{font:600 11px var(--mono);background:#ECEEF4;color:#3B4260;border-radius:10px;padding:1px 7px}
.tab.on .n{background:rgba(255,255,255,.18);color:#fff}
.mbcase{display:flex;flex-direction:column;margin-bottom:16px}
.mbcase .ch{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 20px}
.mbcase .ch .nm{font-size:16px;font-weight:650}
.mbcase .ch .tel{margin-left:auto;font-weight:600}
.mbcase .chk{padding-left:48px}
.mbcase .foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 20px 12px 48px;border-top:1px solid var(--line-2);background:#FAFBFD;border-radius:0 0 8px 8px}
.mbcase .foot .gt{flex:1 1 280px;min-width:0;font-size:12.5px;color:var(--muted)}
.mbcase .foot form{margin:0}
.leftfor .chk{padding-left:20px}

/* closes bar */
.closes{padding:16px 20px;display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.closes .row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.closes .big{font-size:26px;font-weight:650;color:var(--ink)}.closes .big small{font-size:15px;font-weight:500;color:var(--muted)}
.meter{position:relative;flex:1 1 300px;height:12px;border-radius:6px;background:#ECEEF4}
.meter .f{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:var(--navy)}
.meter .f.hit{background:var(--ok)}
.meter .tail{position:absolute;top:0;bottom:0;border-radius:0 6px 6px 0;background:var(--ok);opacity:.35}
.meter .tick{position:absolute;top:-5px;width:2px;height:22px;background:var(--gold)}
.meter .pace{position:absolute;top:-2px;width:2px;height:16px;background:#7A829E}
.closes .key{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.closes .key i{display:inline-block;width:10px;height:2px;vertical-align:middle;margin-right:6px}

/* Cases by holder */
.cl-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding-bottom:10px;border-bottom:2px solid var(--gold);margin-bottom:14px}
.cl-head h1{margin:0;font-size:26px;font-weight:650;color:var(--navy)}
.cl-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.cl-row>.label{min-width:56px}
.cl-row .sep{width:1px;height:28px;background:var(--line);margin:0 4px}
.cl-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.cl-filters input[type=search]{min-width:240px;padding:8px 12px}
.cl-filters .views{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
table.byholder{width:100%;border-collapse:collapse;font-size:13.5px}
table.byholder th{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
table.byholder td{padding:8px 12px;border-top:1px solid var(--line-2);vertical-align:middle;height:34px}
table.byholder tr.grp td{background:#FAFBFD;padding:10px 12px}
table.byholder tr.grp a{font-weight:650}
table.byholder td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
table.byholder td.late b{color:var(--err);font-weight:700}
table.byholder tr.row[hidden]{display:none}
.cl-foot{font-size:12.5px;color:var(--muted);margin-top:12px;display:flex;flex-direction:column;gap:6px}
.cl-foot b.red{color:var(--err)}

/* Pulse board */
.pb-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:10px;border-bottom:2px solid var(--gold);margin-bottom:16px}
.pb-head h1{margin:0;font-size:26px;font-weight:650;color:var(--navy)}
.pb-head form{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:16px}
.stat{padding:16px 18px;border-left:1px solid var(--line-2)}.stat:first-child{border-left:0}
.stat .k{font-size:13px;color:var(--muted)}
.stat .v{font-size:28px;font-weight:650;color:var(--ink);line-height:1.2}.stat .v small{font-size:16px;font-weight:500;color:var(--muted)}
.stat .v.red{color:var(--err)}
.stat .s{font-size:12.5px;color:var(--muted)}
.pb-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(300px,1fr);gap:16px;align-items:start}
@media (max-width:1100px){.pb-grid{grid-template-columns:1fr}}
table.board{width:100%;border-collapse:collapse;font-size:13.5px}
table.board th{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
table.board th.r,table.board td.r{text-align:right}
table.board td{padding:7px 10px;border-top:1px solid var(--line-2)}
table.board tr.ph td{background:#FAFBFD;font-weight:650;color:var(--navy)}
table.board td.red{color:var(--err);font-weight:700}
.bar{display:flex;align-items:center;gap:6px;min-width:220px}
.bar .f{height:10px;background:var(--navy);border-radius:2px}
.bar .s{height:10px;background:var(--err);border-radius:2px;margin-left:2px}
.bar small{color:var(--muted);font-size:11.5px}
.pb-side{display:flex;flex-direction:column;gap:16px}
.ea-bar{display:flex;align-items:center;gap:12px;padding:8px 16px;border-top:1px solid var(--line-2)}
.ea-bar b{flex:0 0 120px}.ea-bar .n{width:28px;text-align:right;font-weight:650}
.ea-bar .meter{height:12px}

/* financial statement, 433-A (three columns) */
.fx-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.fx-head h1{margin:0;font-size:22px;font-weight:650;color:var(--navy)}
.fx-sub{font-size:12.5px;color:var(--muted);padding-bottom:10px;border-bottom:2px solid var(--gold);margin:6px 0 16px}
.fx3{display:grid;grid-template-columns:220px minmax(0,1fr) 300px;gap:16px;align-items:start}
@media (max-width:1200px){.fx3{grid-template-columns:200px minmax(0,1fr)}.fx3 .fx-side{grid-column:1 / -1}}
@media (max-width:800px){.fx3{grid-template-columns:1fr}}
.fx-nav{position:sticky;top:12px;padding:12px 8px}
.fx-nav a{display:flex;justify-content:space-between;align-items:center;padding:12px 12px;border-radius:6px;color:var(--ink);text-decoration:none;font-weight:500;min-height:44px}
.fx-nav a:hover{background:var(--paper)}
.fx-nav a.on{background:var(--navy);color:#fff}
.fx-nav a small{font-size:11.5px;color:var(--muted)}.fx-nav a.on small{color:#fff}
.fx-nav a small.done{color:var(--ok-text);font-weight:600}
.fx-nav .rules{font-size:12px;color:var(--muted);padding:10px 12px 0;display:flex;flex-direction:column;gap:8px}
.fx-side{position:sticky;top:12px;display:flex;flex-direction:column}
.fx-side .sec{padding:14px 18px;border-top:1px solid var(--line-2)}.fx-side .sec:first-child{border-top:0}
.fx-side .kvrow{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid var(--line-2)}
.fx-side .kvrow:first-of-type{border-top:0}
.fx-side .kvrow.big b{font-size:19px}
.in{text-align:right;font-variant-numeric:tabular-nums}
.in::placeholder{color:#9AA2BA}

/* portal (phone first) */
body.portal{font-size:17px}
.pt-top{background:var(--navy-deep);color:#fff;display:flex;align-items:center;gap:14px;padding:16px 16px}
.pt-top img{width:40px;height:40px;border-radius:50%;background:#fff}
.pt-top .p-firm{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.pt-top .p-hello{font-size:21px;font-weight:650}
.pt-top .out{margin-left:auto;color:#fff;font-size:15px}
.pt-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 16px 0}
.pt-tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:600;text-decoration:none;font-size:16px}
.pt-tabs a.on{background:var(--navy);border-color:var(--navy);color:#fff}
.pt-tabs a .pill{background:var(--gold);color:var(--navy-deep);border-radius:999px;font-size:12px;padding:1px 9px;margin-top:3px}
.pt-main{max-width:560px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:14px}
.pt-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.pt-card.lead{border-top:var(--line-top)}
.pt-card .label{margin-bottom:8px}
.pt-headline{font-size:19px;font-weight:650;color:var(--ink);line-height:1.35}
.pt-card p{margin:8px 0;color:#4A5272}
.pt-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border-radius:10px;font-size:17px;font-weight:600;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;cursor:pointer;box-sizing:border-box;font-family:inherit}
.pt-btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}
.pt-btn+.pt-btn{margin-top:10px}
.pt-steps{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.pt-steps li{display:flex;gap:14px;align-items:flex-start}
.pt-steps .dot{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:650;border:2px solid var(--line);color:var(--muted);background:#fff}
.pt-steps .dot.done{background:var(--navy);border-color:var(--navy);color:#fff}
.pt-steps .dot.now{border-color:var(--gold);background:var(--gold-soft);color:var(--ink)}
.pt-steps b{display:block;font-size:17px;color:var(--ink)}
.pt-steps li.next b{color:#5B6485;font-weight:550}
.pt-steps .now-l{font-size:12px;font-weight:700;color:var(--gold-text);letter-spacing:.06em;margin-left:6px}
.pt-steps span.d{font-size:15px;color:#5B6485}
.pt-doc{padding:14px 0;border-top:1px solid var(--line-2)}
.pt-doc:first-of-type{border-top:0}
.pt-doc b{font-size:17px}
.pt-doc p{margin:4px 0 10px;font-size:15px}
.pt-money{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 14px}
.pt-money span{font-size:14px;color:#5B6485}.pt-money b{display:block;font-size:22px;color:var(--ink)}.pt-money b.due{color:var(--gold-text)}
.pt-foot{text-align:center;font-size:13px;color:#5B6485;padding:8px 16px 24px}
.pt-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line-2)}
.pt-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pt-two .pt-btn+.pt-btn{margin-top:0}

/* open-case tabs, as buttons: My ball, then each case; selected = navy */
.work{padding:14px 28px 36px}
.opentabs{gap:8px;align-items:center;margin:0 0 16px;padding:0;background:none;border:0;overflow-x:auto}
.otab{max-width:240px;padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:14px;font-weight:500;min-height:36px;box-sizing:border-box}
.otab:hover{background:#fff;border-color:#B9C0D2;color:var(--ink)}
.otab.on{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:500;box-shadow:none;margin:0;padding:8px 14px}
.otab .nm{text-transform:none;letter-spacing:0}
.otab .cn{font-size:11.5px;color:inherit;opacity:.75}
.otab.on .x{color:#fff;opacity:.7}
.otab.add{border-style:solid;background:#fff;color:var(--ink);font-weight:500}
.otab.home{padding-right:14px;font-weight:500}
.otab-right{margin-left:auto;display:flex;gap:8px;align-items:center}
.otab-right .otab.add{margin-left:0}
aside.rail nav .more-sep{color:rgba(233,236,247,.6)}
aside.rail nav details.railmore>summary{list-style:none;cursor:pointer}
aside.rail nav details.railmore>summary::-webkit-details-marker{display:none}
/* the older rules these names collide with */
.cp-gap>.card,.cp-gap>section.card,.mbcase,.closes{margin-bottom:0}
.mbcase{margin-bottom:16px}
.card.pipe{display:flex;flex-direction:column;gap:0;padding:0;align-items:stretch}
.phead h2,.card .phead h2{padding:0;border:0;display:block;font-size:17px;color:var(--ink);letter-spacing:0;text-transform:none}
.tag{font-family:inherit;border:0;white-space:nowrap;text-transform:none;letter-spacing:0}
.pt-main .tag{font-size:12px}
table.byholder td:nth-child(2),table.byholder td:nth-child(3){white-space:nowrap}
.pt-main .p-tab{display:flex;flex-direction:column;gap:14px}.pt-main .p-tab[hidden]{display:none}
.pgrid .chk{flex-wrap:nowrap}.pgrid .chk .lb{flex:1 1 auto}.pgrid .chk .meta{white-space:nowrap}

/* ================= Team ================= */
.seeas{display:flex;align-items:center;gap:12px;background:var(--gold-soft);border-bottom:1px solid var(--gold-line);padding:7px 20px;font-size:13px;color:#5A4100}
.seeas span{flex:1}
.tp-add>summary{list-style:none;cursor:pointer}.tp-add>summary h2::after{content:'+';margin-left:auto;font-size:15px;letter-spacing:0}.tp-add[open]>summary h2::after{content:'–'}.tp-add>summary::-webkit-details-marker{display:none}
.tp-form{padding:12px 16px 14px;display:flex;flex-direction:column;gap:12px}
.tp-pair{display:flex;gap:12px;flex-wrap:wrap}.tp-pair label,.tp-name{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);flex:1 1 220px;max-width:340px}.tp-name{flex:none}
.tp-pair input,.tp-name input{font:inherit;font-size:14px;padding:7px 9px;border:1px solid var(--line);border-radius:6px;color:var(--navy-ink)}
.tp-jobs{display:flex;flex-direction:column;gap:6px}
.tp-jg{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tp-jl{width:92px;flex:none;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-2);font-weight:600}
.tp-job{position:relative;cursor:pointer}
.tp-job input{position:absolute;opacity:0;pointer-events:none}
.tp-job span{display:inline-block;border:1px solid var(--line);border-radius:16px;padding:3px 11px;font-size:12.5px;background:#fff;color:var(--navy-ink)}
.tp-job input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.tp-job input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.tp-access{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:13px}
.tp-access input[type=date]{font:inherit;font-size:13px;padding:4px 7px;border:1px solid var(--line);border-radius:6px}
.tp-foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:13px}
.tp-foot select{font:inherit;font-size:13px;padding:3px 6px;border:1px solid var(--line);border-radius:6px;margin-left:4px}
.tp-head,.tp-row>summary,.tp-srow{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(150px,1.4fr) 120px 140px 130px 44px;gap:12px;align-items:center;padding:8px 16px}
.tp-head{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-2);font-weight:600;border-bottom:1px solid var(--line-2);padding-top:6px;padding-bottom:6px}
.tp-group{padding:9px 16px 5px;font-size:12px;font-weight:600;color:var(--navy);background:#FAFBFD;border-top:1px solid var(--line-2);cursor:default;list-style:none}
.tp-offs>summary{cursor:pointer}.tp-offs>summary::-webkit-details-marker{display:none}
.tp-row{border-top:1px solid var(--line-2)}
.tp-row>summary{cursor:pointer;list-style:none}.tp-row>summary::-webkit-details-marker{display:none}
.tp-row>summary:hover{background:#FAFBFD}
.tp-row[open]>summary{background:#FAFBFD}
.tp-row[open]>.tp-form{background:#FAFBFD;border-top:1px dashed var(--line);padding-left:16px}
.tp-row.off .tp-who b{color:var(--muted);font-weight:500}
.tp-who{display:flex;flex-direction:column;min-width:0}.tp-who small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis}
.tp-roles .chip{margin:0 4px 0 0}
.tp-num{font-size:13px}.tp-num b{font-family:var(--mono)}
.tp-edit{color:var(--navy);text-align:right}
.tag.gold{border-color:var(--gold-line);background:var(--gold-soft);color:#6B4A00}
.tp-sample p{margin:0 0 10px;max-width:72ch}
.tp-srow{grid-template-columns:minmax(180px,1.4fr) minmax(150px,1.4fr) 120px 140px;border-top:1px solid var(--line-2);padding-top:6px;padding-bottom:6px}
.tp-srow .chip{justify-self:start;margin:0}
.tp-srow form{justify-self:end}
.fx-ver{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:4px 0;border-top:1px solid var(--line-2);font-size:12.5px}
@media (max-width:900px){.tp-head{display:none}.tp-row>summary,.tp-srow{grid-template-columns:1fr auto;row-gap:4px}.tp-seen{display:none}}
.pt-row>.tag{align-self:flex-start;flex:none}

/* ================= one screen for a case: top, status bar, tabs, right panel ================= */
main:has(.cs-grid){max-width:1760px}
.cs-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.cs-main{min-width:0;display:flex;flex-direction:column;gap:12px}
.cs-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.cs-top h1{margin:0;font-size:24px}
.cs-top .tel{font-weight:600}
.cs-main .teamrow{margin:-4px 0 0}
.cs-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--navy-deep);color:#E9ECF7;border-radius:8px;padding:8px 10px 8px 16px;font-size:13.5px}
.cs-bar b{color:#fff}
.cs-bar .cs-ph{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.cs-bar .cs-dim{color:rgba(233,236,247,.7)}
.cs-bar .cs-gates{color:#fff;text-decoration:underline;text-underline-offset:3px;font-size:13px}
.cs-bar .cs-act{margin-left:auto;display:flex;gap:8px}
.cs-bar.parked{background:#5A4A1A}.cs-bar.closed{background:#2C5A3A}
.cs-tabs{display:flex;align-items:stretch;border-bottom:1px solid var(--line);height:38px}
.cs-tabrow{display:flex;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.cs-tabrow::-webkit-scrollbar{display:none}
.cs-tabrow>a,.cs-more>summary{display:flex;align-items:center;gap:6px;height:38px;box-sizing:border-box;padding:0 10px;white-space:nowrap;flex:none;
  color:var(--navy-2);font-size:13px;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;list-style:none;text-decoration:none}
.cs-more>summary::-webkit-details-marker{display:none}
.cs-more>summary{margin:0 0 -1px}
.cs-tabrow>a:hover,.cs-more>summary:hover{color:var(--navy);text-decoration:none;background:#F7F8FB}
.cs-tabrow>a.on,.cs-more.on>summary{color:var(--navy);border-bottom-color:var(--gold);text-shadow:0 0 .4px var(--navy)}
.cs-tabs .n{font:600 10px/16px var(--mono);height:16px;background:var(--line-2);border-radius:8px;padding:0 5px;color:var(--navy-2)}
.cs-more{position:relative;flex:none;margin:0;padding:0;height:38px;border:0;border-left:1px solid var(--line-2);background:none}
.cs-more>div{position:absolute;z-index:30;top:calc(100% + 4px);right:0;min-width:250px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(11,31,107,.12);padding:6px 0;display:flex;flex-direction:column}
.cs-more>div a{padding:6px 14px;color:var(--navy-ink);font-size:13.5px}.cs-more>div a:hover{background:#F3F4F8;text-decoration:none}
.cs-more .ms{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-2);padding:8px 14px 2px;font-weight:600}
.cs-tell{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:10px 16px}
.cs-tell q{flex:1 1 300px}
.cs-viewing{margin:-4px 2px 0}
/* the right panel */
.cs-rail{position:sticky;top:10px;max-height:calc(100vh - 20px);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.cr-head{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-2)}
.cr-head b{font-size:14px;color:var(--navy);margin-right:auto}
.cr-note{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line-2);background:#FAFBFD}
.cr-note input,.cr-note textarea{font:inherit;font-size:13.5px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;width:100%}
.cr-note>div{display:flex;align-items:center;gap:8px}
.cr-scroll{overflow:auto;padding:10px 10px 14px;display:flex;flex-direction:column;gap:6px}
.cr-pin{border-radius:7px;padding:8px 10px;border:1px solid var(--gold-line);background:#FFF6C9}
.cr-pin.pin-blue{background:#E6EEFF;border-color:#C9D6F5}.cr-pin.pin-red{background:#FDE8E6;border-color:#F3C9C4}.cr-pin.pin-green{background:#E6F2E9;border-color:#C6E0CC}.cr-pin.pin-gray{background:#F3F4F8;border-color:var(--line)}
.cr-pin>summary,.cr-item>summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:1px}
.cr-pin>summary::-webkit-details-marker,.cr-item>summary::-webkit-details-marker{display:none}
.cr-pin b{font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--navy-ink)}
.cr-by{font-size:11.5px;color:var(--muted)}
.cr-peek{font-size:13px;color:var(--navy-ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px}
.cr-pin[open] .cr-peek{display:none}
.cr-full{white-space:pre-wrap;font-size:13px;margin:6px 0 4px;max-height:420px;overflow:auto}
.cr-chips{display:flex;gap:4px;flex-wrap:wrap;margin:6px 0 2px}
.cr-chips button{font:inherit;font-size:12px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:1px 9px;cursor:pointer;color:var(--navy-2)}
.cr-chips button.on{background:var(--navy);border-color:var(--navy);color:#fff}
#crlist{display:flex;flex-direction:column}
.cr-item{border-top:1px solid var(--line-2);padding:7px 2px}
.cr-item>summary{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline}
.cr-item .cr-by{grid-column:2}
.cr-t{font-size:13px;font-weight:600;color:var(--navy-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-item[open] .cr-t{white-space:normal}
.cr-k{font:600 9.5px var(--mono);letter-spacing:.06em;border-radius:4px;padding:1px 5px;background:var(--line-2);color:var(--navy-2)}
.cr-k.k-note{background:#FFF3D1;color:#6B4A00}.cr-k.k-call{background:#E6EEFF;color:#1C3A8A}.cr-k.k-email{background:#E8F4F1;color:#1F5A4A}
.cr-k.k-status{background:#EEE9FA;color:#4A2D8A}.cr-k.k-appt{background:#E6F2E9;color:#1F4D2B}
@media (max-width:1150px){.cs-grid{grid-template-columns:1fr}.cs-rail{position:static;max-height:none}}

/* ================= Documents: one table, like Logics ================= */
.dt-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--line-2)}
.dt-bar input[type=search]{font:inherit;font-size:13.5px;padding:5px 9px;border:1px solid var(--line);border-radius:6px;width:260px}
.dtable{width:100%;border-collapse:collapse}
.dtable th{text-align:left;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-2);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);background:#FAFBFD;white-space:nowrap}
.dtable td{padding:7px 10px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.dtable tr.docrow{cursor:pointer}
.dtable tr.docrow:hover td{background:#FAFBFD}
.dtable tr.docrow.on td{background:#FFF8E6}
.dt-name{min-width:240px}
.dt-name .ext{display:inline-block;font:600 10px var(--mono);color:var(--navy-2);background:var(--line-2);border-radius:3px;padding:1px 4px;margin-right:7px;vertical-align:1px}
.dt-name .fn{font-weight:600;color:var(--navy-ink)}
.dt-orig{display:block;font-size:11.5px;color:var(--muted);margin-left:38px}
.dt-from{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dtable .nowrap{white-space:nowrap}
.dt-acts{white-space:nowrap;text-align:right}
.dt-acts .ic{background:none;border:0;cursor:pointer;font-size:15px;padding:2px 5px;color:var(--navy-2);border-radius:4px;text-decoration:none}
.dt-acts .ic:hover{background:var(--line-2)}
.dt-edit td{background:#FAFBFD}
.dt-edit .renform{gap:12px;flex-wrap:wrap;align-items:center}
.dt-edit .renform form{display:flex;gap:6px}
.dt-edit input{font:inherit;font-size:13px;padding:4px 8px;border:1px solid var(--line);border-radius:6px;min-width:240px}
dialog.dt-view{width:min(1200px,94vw);height:90vh;padding:0;border:1px solid var(--line);border-radius:10px;display:none;flex-direction:column}
dialog.dt-view[open]{display:flex}
dialog.dt-view::backdrop{background:rgba(8,23,90,.35)}
dialog.dt-view .vbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--line-2)}
dialog.dt-view #vname{margin-right:auto;font-size:14px}
dialog.dt-view .vbody{flex:1;min-height:0;overflow:auto}
dialog.dt-view .vbody iframe{width:100%;height:100%;border:0}
dialog.dt-view #vscan{padding:0 14px}
.dtable tr.docrow{display:table-row;padding:0;border-left:0;box-shadow:none;background:none}
.dtable tr.docrow.on{background:none}
.dtable tr.sv-review td:first-child{box-shadow:inset 3px 0 0 var(--gold)}
.dtable tr.sv-unreadable td:first-child,.dtable tr.sv-cantopen td:first-child{box-shadow:inset 3px 0 0 var(--err)}
.dtable td[data-sline]{min-width:170px}
.dtable td[data-sline] .slabel{white-space:normal}
.dtable .dt-from{min-width:120px}
.dtable td:nth-child(2){min-width:140px;max-width:220px}
.dtable .dt-from{max-width:170px}
.dtable td.dt-name{min-width:200px}
.dt-for{color:var(--ok-text);font-weight:600;margin-top:2px}
.dtable td[data-sline]{min-width:150px}
.dt-acts form{display:inline}.dt-acts{min-width:132px}

/* ================= quieter, smaller: the case screens ================= */
.cs-main{gap:9px}
.cs-top{gap:10px;align-items:center}
.cs-top h1{font-size:19px}
.cs-top .mono,.cs-top .small{font-size:12px}
.cs-top .teamrow{gap:4px;margin:0 0 0 auto;flex-wrap:wrap}
.cs-top .teamrow>.label{display:none}
.cs-top .taskcomp{flex-basis:100%}
.cs-top .tm{flex-direction:row;align-items:baseline;gap:5px;min-height:0;padding:2px 8px;border-radius:12px;font-size:12px}
.cs-top .tm .r{font-size:9.5px;letter-spacing:.06em}
.cs-top .tm .nm{font-size:12px}
.cs-top .teamrow>.linkbtn{font-size:12px}
.cs-bar{padding:5px 8px 5px 12px;font-size:12.5px;gap:12px;border-radius:6px}
.cs-bar .btn.small{padding:3px 10px;font-size:12px}
.cs-tell{padding:6px 12px;font-size:12.5px}
.cs-tell .label{font-size:9.5px}
.cs-main .card h2{padding:8px 12px 7px}
.cr-head{padding:8px 12px}
.cr-pin{padding:6px 8px}
.cr-pin b{font-size:11px}
.cr-peek{font-size:12px;-webkit-line-clamp:2}
.cr-item{padding:5px 0}
.cr-t{font-size:12px;font-weight:500}
.cr-by{font-size:10.5px}
.cr-k{font-size:8.5px;padding:0 4px}
.cr-chips button{font-size:11px;padding:0 7px}
/* documents: one line per file */
.dt-bar{padding:7px 10px;gap:10px}
.dt-bar .btn{padding:3px 10px;font-size:12px}
.dt-bar input[type=search]{width:220px;padding:3px 8px;font-size:12.5px}
.dtable{table-layout:fixed}
.dtable th{padding:6px 8px;font-size:9.5px}
.dtable td{padding:4px 8px;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dtable th:nth-child(1){width:34%}.dtable th:nth-child(2){width:22%}.dtable th:nth-child(3){width:10%}.dtable th:nth-child(4){width:14%}.dtable th:nth-child(5){width:13%}.dtable th:nth-child(6){width:96px}
.dtable td.dt-name,.dtable td:nth-child(2),.dtable td[data-sline],.dtable .dt-from{min-width:0;max-width:none}
.dt-name .fn{font-weight:500}
.dt-name .ext{font-size:9px;padding:0 3px;margin-right:6px}
.dt-for{color:var(--ok);font-weight:700}
.dtable .scan{background:none!important;border:0!important;padding:0;font-size:12px;font-weight:600;line-height:inherit}
.dtable .scan.good{color:var(--ok)}.dtable .scan.warn{color:#8A6100}.dtable .scan.bad{color:var(--err)}
.dtable td[data-sline] .slabel{color:var(--muted);font-weight:400;white-space:nowrap}
.dtable .sline{display:inline}
.dt-acts .ic{font-size:12px;padding:1px 3px;opacity:.55}
.dtable tr.docrow:hover .ic{opacity:1}
.dtable tr.sv-review td:first-child,.dtable tr.sv-unreadable td:first-child,.dtable tr.sv-cantopen td:first-child{box-shadow:none}
dialog.dt-view .vbar{padding:6px 10px}
dialog.dt-view .vbar .btn.small{padding:2px 8px;font-size:12px}
dialog.dt-view #vname{font-size:13px}
dialog.dt-view .scanpanel{padding:6px 10px;font-size:12px}
/* the Case tab, quieter */
.cs-main .pipe .ph{padding:7px 12px 0;font-size:11.5px}
.cs-main .lane{flex-wrap:nowrap;gap:3px;padding:6px 12px 10px;overflow-x:auto}
.cs-main .st{flex:1 1 0;min-width:62px;min-height:0;padding:4px 6px;font-size:11px;border-top-width:2px;border-radius:4px;line-height:1.25}
.cs-main .st .who{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs-main .st.chip{flex:0 1 92px}
.cs-main .phead{padding:9px 14px 7px;gap:10px}
.cs-main .phead h2{font-size:14.5px}
.cs-main .phead .count{font-size:14px}
.cs-main .chk{padding:6px 14px;gap:9px;font-size:13px}
.cs-main .chk input[type=checkbox]{width:15px;height:15px}
.cs-main .chk .meta{font-size:11.5px}
.cs-main .chk .btn{padding:2px 9px;font-size:12px}
.cs-main .addrow,.cs-main .dropzone2{font-size:12.5px}
.cs-main .dropzone2{padding:8px 12px;margin:6px 14px}
.cs-main .pfoot{padding:8px 14px;gap:10px;font-size:12.5px}
.cs-main .pfoot .btn{padding:4px 12px;font-size:12.5px;min-height:0}
.cs-main .pfoot .btn.primary{min-height:0}
.cs-main .line{padding:6px 14px;font-size:12.5px;gap:10px}
.cs-main .line .label{font-size:9.5px;min-width:80px}
.cs-main .savedline{font-size:11px}
/* documents: the list stays on the left, the file opens beside it */
.dt-split{display:flex;align-items:stretch;min-height:0}
.dt-listwrap{flex:1 1 auto;min-width:0;overflow-x:auto}
.dt-pane{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;border-left:1px solid var(--line);height:calc(100vh - 215px);min-height:520px;position:sticky;top:8px}
.dt-pane[hidden]{display:none}
.docs.split .dt-listwrap{flex:0 0 250px;max-height:calc(100vh - 215px);overflow-y:auto}
.docs.split .dtable{table-layout:auto}
.docs.split .dtable thead,.docs.split .dtable td:not(.dt-name),.docs.split .dt-edit{display:none}
.docs.split .dtable td.dt-name{padding:6px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}
.docs.split .dtable tr.docrow.on td{background:var(--navy);color:#fff}
.docs.split .dtable tr.docrow.on .fn{color:#fff}
.docs.split .dtable tr.sv-review td.dt-name{box-shadow:inset 3px 0 0 var(--gold)}
.docs.split .dtable tr.sv-unreadable td.dt-name,.docs.split .dtable tr.sv-cantopen td.dt-name{box-shadow:inset 3px 0 0 var(--err)}
.dt-pane .vbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;border-bottom:1px solid var(--line-2);background:#FAFBFD}
.dt-pane #vname{font-size:13px;margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 160px}
.dt-pane .vgrp{display:inline-flex;gap:3px}
.dt-pane .vbar .btn.small{padding:2px 9px;font-size:12px}
.dt-pane .vbar .ic{background:none;border:0;cursor:pointer;font-size:14px;color:var(--navy-2);padding:2px 6px;border-radius:4px}
.dt-pane .vbar .ic:hover{background:var(--line-2)}
.dt-pane #vscan .scanpanel{padding:5px 10px;font-size:12px}
.dt-pane .vbody{flex:1;min-height:0;overflow:auto;background:#525659}
.dt-pane .vbody iframe{width:100%;height:100%;border:0;display:block;background:#525659}
.dt-pane .imgwrap{padding:12px;text-align:center}
.dt-pane .imgwrap img{transition:transform .15s;background:#fff}
.dt-pane #vscan .scanpanel>:not(.sp-head){display:none}
.dt-pane #vscan.more .scanpanel>:not(.sp-head){display:revert}
.dt-pane #vscan .sp-head{cursor:pointer}
.dt-pane #vscan .sp-head::after{content:'details ▾';font-size:11px;color:var(--muted);margin-left:6px}
.dt-pane #vscan.more .sp-head::after{content:'less ▴'}
.dt-ai{color:#6B4AA8;font-weight:600}
/* gates side by side; the ask form on one line */
.gaterow{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px;border-top:1px solid var(--line-2)}
.gaterow .chk{border:1px solid var(--line);border-radius:16px;padding:3px 11px 3px 8px!important;gap:6px!important;flex:0 1 auto;background:#fff}
.gaterow .chk label,.gaterow .chk .lb{flex:0 1 auto;font-size:12.5px}
.gaterow .chk .meta{font-size:11px}
.gaterow .chk .meta:empty{display:none}
.gaterow .chk:has(input:checked){background:var(--ok-soft);border-color:#C5E0CB}
.gaterow .chk:has(input:checked) label,.gaterow .chk:has(input:checked) .lb{color:var(--ok-text)}

/* the ask form: one field per row, labels on the left */
.reqadd{display:flex;flex-direction:column;gap:6px;max-width:560px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#FAFBFD;font-size:13px}
.reqadd .rq-head{font-weight:650;color:var(--navy);margin-bottom:2px}
.reqadd .rq-f{display:flex;align-items:center;gap:10px}
.reqadd .rq-f[hidden]{display:none}
.reqadd .rq-f>span:first-child{width:78px;flex:none;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--navy-2);font-weight:600}
.reqadd select,.reqadd input[type=text],.reqadd input[type=number],.reqadd input[type=date],.reqadd input[type=month]{font:inherit;font-size:13px;padding:4px 7px;border:1px solid var(--line);border-radius:5px;background:#fff}
.reqadd .rq-f>select,.reqadd .rq-f>input[type=text]{flex:1;min-width:0}
.reqadd .rq-pair{display:flex;align-items:center;gap:6px;flex:1}
.reqadd .rq-pair input{flex:1;min-width:0}
.reqadd{text-align:left;align-items:stretch}
.reqadd .rq-f{justify-content:flex-start;width:100%;margin:0;font-weight:400}
.reqadd .rq-f>span:first-child{text-align:left}
.reqadd .rq-f>select,.reqadd .rq-f>input[type=text],.reqadd .rq-f>input[type=number]{flex:1 1 auto;width:auto;max-width:none}
.reqadd .rq-f>input[type=date]{flex:0 0 160px}
.reqadd .rq-f .btn{flex:none}
.reqadd .rq-head{text-align:left}
.irs-t{width:100%;border-collapse:collapse;font-size:12.5px}
.irs-t th{text-align:left;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-2);padding:6px 10px;border-bottom:1px solid var(--line);background:#FAFBFD}
.irs-t td{padding:5px 10px;border-bottom:1px solid var(--line-2)}
.irs-t .num{text-align:right;white-space:nowrap}
.irs-t tr.owed td:first-child{box-shadow:inset 3px 0 0 var(--gold)}
.irs-t tr.tot td{background:#FAFBFD}

/* Snapshot: one EA's cases, one line each */
.snap-who select{font:inherit;font-size:13px;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:#fff}
.snap-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.snap-chips button{font:inherit;font-size:12px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px 10px;cursor:pointer;color:var(--navy)}
.snap-chips button b{font-weight:600;color:var(--muted);margin-left:2px}
.snap-chips button.on{background:var(--navy);border-color:var(--navy);color:#fff}.snap-chips button.on b{color:#fff}
.snap-t{width:100%;border-collapse:collapse;font-size:13px}
.snap-t th{text-align:left;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-2);padding:7px 10px;border-bottom:1px solid var(--line);background:#FAFBFD;cursor:pointer;user-select:none;white-space:nowrap}
.snap-t th.on::after{content:" ▲";font-size:8px}.snap-t th.on.down::after{content:" ▼"}
.snap-t td{padding:4px 10px;border-bottom:1px solid var(--line-2);vertical-align:middle;white-space:nowrap}
.snap-t td a{color:var(--navy);text-decoration:none}.snap-t td a:hover{text-decoration:underline}
.snap-t tbody tr:hover{background:#FAFBFD}
.snap-t .snap-nh{width:46%}
.snap-t td.snap-note{white-space:normal;display:flex;align-items:center;gap:8px}
.snap-note input{flex:1;min-width:0;font:inherit;font-size:13px;border:1px solid transparent;border-radius:5px;padding:3px 6px;background:transparent}
.snap-note input:hover{border-color:var(--line)}.snap-note input:focus{border-color:var(--navy-2);background:#fff;outline:0}
.snap-by{white-space:nowrap}
.late-t{color:#B3261E}

@media (max-width:1520px){.cs-grid{grid-template-columns:minmax(0,1fr) 300px;gap:14px}}

/* Documents: folders */
.dtable .dt-gh td{padding:0;border-bottom:1px solid var(--line);background:#F5F7FA}
.dt-gbtn{display:flex;align-items:center;gap:7px;width:100%;text-align:left;font:600 12px var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--navy);background:none;border:0;padding:7px 10px;cursor:pointer}
.dt-gbtn .caret{display:inline-block;transition:transform .12s;font-size:11px;color:var(--navy-2)}.dt-grp.closed .caret{transform:rotate(-90deg)}
.dt-gbtn .n{font:600 10.5px var(--mono);background:var(--line-2);border-radius:9px;padding:0 6px;color:var(--navy-2)}
.dt-grp.closed .docrow,.dt-grp.closed .dt-edit{display:none}

/* one colour per station */
.stchip{display:inline-flex;align-items:center;gap:6px;padding:2px 9px 2px 7px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;
  background:hsl(var(--h) 65% 93%);color:hsl(var(--h) 55% 26%);border:1px solid hsl(var(--h) 50% 80%)}
.stchip i{width:7px;height:7px;border-radius:50%;background:hsl(var(--h) 60% 50%);flex:none}
.stchip.park{background:#EEF0F3;color:#555;border-color:#DDE1EA}.stchip.park i{background:#9AA1B2}
.stdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:hsl(var(--h) 65% 55%);margin-right:6px;vertical-align:middle;flex:none}
.stdot.park{background:#9AA1B2}
.cs-bar .stdot{width:9px;height:9px;margin-right:8px;box-shadow:0 0 0 2px rgba(255,255,255,.25)}
.snap-t tr.stx td:first-child{box-shadow:inset 4px 0 0 hsl(var(--h) 60% 62%)}
.snap-chips button .stdot{margin-right:4px}
/* quieter chrome: stronger card edges, section bands */
.card{box-shadow:0 1px 2px rgba(11,31,107,.05)}
.spanel .phead,.lines{border-top:0}
.spanel .phead{background:#F7F8FB;border-bottom:1px solid var(--line)}
.line .label,.cs-tell .label{color:var(--navy-2)}
