/* Juristra Real Estate.
   Forest for the brand and decisions, sage for calm surfaces, brass only for "this is happening now / needs you".
   Newsreader for headings and the one sentence that says where a matter stands, Instrument Sans for reading,
   IBM Plex Mono for matter codes, document numbers and the time stamps on the docket. */
:root{
  --forest:#313131;--forest-2:#3F3F3F;--forest-3:#515151;--on-forest:#E8EFEA;--on-forest-mute:#AFAFAF;
  --paper:#F7F8F5;--card:#FFFFFF;--ink:#1E1E1E;--mute:#676767;--line:#E2E6E0;--line-2:#CBD2CC;
  --sage:#EEF3EE;--sage-line:#D3E0D6;--brass:#9C7A33;--brass-ink:#6E5520;--brass-tint:#FBF5E6;--brass-line:#E9DDBE;
  --warn:#9B2C1F;--warn-ink:#7E2316;--warn-tint:#FBEFEC;--warn-line:#EBC9C2;
  --radius:10px;--btn:var(--forest);
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --bg:var(--paper);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:15.5px/1.6 var(--sans)}
a{color:var(--forest-2);text-underline-offset:2px}
a:hover{color:var(--forest)}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px}

/* ---------- app shell: sidebar, top bar, workspace ---------- */
body.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;background:linear-gradient(to right,var(--forest) 248px,var(--paper) 248px)}
.side{background:var(--forest);color:var(--on-forest);padding:24px 16px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;padding:0 8px;margin-bottom:26px}
.brand:hover{color:#fff}
.brand .mark{width:34px;height:38px;border:1.5px solid rgba(255,255,255,.72);border-radius:6px;display:grid;place-items:center;font:400 25px/1 var(--serif);padding-top:2px}
.brand .word{font:500 27px/1 var(--serif);letter-spacing:-.3px}
.brand .word i{font-style:normal;color:#C9A55A}
.sidelabel{font:600 10.5px/1 var(--sans);letter-spacing:2px;text-transform:uppercase;color:var(--on-forest-mute);margin:18px 10px 8px}
.sidenav{display:flex;flex-direction:column;gap:2px}
.sidenav a{display:flex;align-items:center;gap:11px;color:var(--on-forest);text-decoration:none;font-size:14.5px;padding:9px 11px;border-radius:8px;transition:background .15s}
.sidenav a:hover{background:var(--forest-2);color:#fff}
.sidenav a.on{background:var(--forest-2);color:#fff;font-weight:600;box-shadow:inset 2px 0 0 #C9A55A}
.sidenav .count{margin-left:auto;font:500 11px/1 var(--mono);font-style:normal;background:rgba(255,255,255,.12);border-radius:5px;padding:4px 7px}
.ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sidefoot{margin-top:auto;padding:16px 8px 0;border-top:1px solid rgba(255,255,255,.1)}
.sidefoot .who{display:flex;gap:10px;align-items:flex-start;font-size:13px}
.sidefoot .who>i{font:600 11px/30px var(--sans);font-style:normal;width:30px;height:30px;border-radius:50%;text-align:center;background:#C9A55A;color:var(--forest);flex:none}
.sidefoot .who.plain .ico{width:17px;height:17px;margin-top:2px;opacity:.85}
.sidefoot .who b{display:block;font-weight:500;color:#fff}
.sidefoot .who small{display:block;color:var(--on-forest-mute);font-size:11.5px;line-height:1.45;margin-top:1px}
.sidefoot .signout{display:flex;align-items:center;gap:9px;margin-top:14px;color:var(--on-forest-mute);text-decoration:none;font-size:13px}
.sidefoot .signout:hover{color:#fff}
.maincol{min-width:0;display:flex;flex-direction:column;min-height:100vh}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;height:58px;padding:0 40px;border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:50}
.crumbs{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--mute);min-width:0}
.crumbs b{font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crumbs .ico{width:14px;height:14px}
.chip{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--brass-ink);background:var(--brass-tint);border:1px solid var(--brass-line);border-radius:6px;padding:5px 10px;white-space:nowrap}
.chip i{width:6px;height:6px;border-radius:50%;background:var(--brass)}
main.work{flex:1;width:100%;max-width:none;padding:6px 40px 40px}
footer.legal{padding:18px 40px 26px;border-top:1px solid var(--line);font-size:11.5px;line-height:1.6;color:var(--mute);max-width:none}
footer.legal p{margin:0 0 6px}
footer.legal b{font-weight:600;color:var(--ink)}
@media(max-width:900px){
  body.app{display:block;background:var(--paper)}
  .side{position:relative;height:auto;padding:12px 14px 8px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 12px}
  .brand{margin:0;padding:0}.brand .mark{width:28px;height:31px;font-size:20px}.brand .word{font-size:22px}
  .sidelabel,.sidefoot{display:none}
  .sidenav{flex-direction:row;width:auto;overflow-x:auto;gap:4px;padding-bottom:4px;scrollbar-width:none}
  .side{gap:2px 4px}.side .brand{width:100%;margin-bottom:6px}
  .topbar{background:#fff}
  .sidenav a{white-space:nowrap;padding:7px 10px;font-size:13.5px}
  .topbar{padding:0 16px;height:50px;position:static}.crumbs>span,.crumbs>.ico{display:none}
  main.work,footer.legal{padding-left:16px;padding-right:16px}
}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 32px}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.2;letter-spacing:-.2px;color:var(--ink)}
h1{font-size:34px;margin:30px 0 8px;letter-spacing:-.5px}
h2{font-size:23px;margin:32px 0 10px}
h3{font-size:18px;margin:22px 0 6px}
p.lead{font-size:16.5px;color:var(--mute);margin:0 0 18px;max-width:680px}
.eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font:600 11px/1.4 var(--sans);letter-spacing:1.8px;text-transform:uppercase;color:var(--mute);margin:30px 0 10px}
.eyebrow .code{font:500 12.5px var(--mono);letter-spacing:.4px;color:var(--ink);text-transform:none}
.mono{font-family:var(--mono)}
code,pre{font:12.5px/1.5 var(--mono)}
pre{background:#F1F3EF;padding:12px;overflow:auto;border-radius:8px;max-height:340px;white-space:pre-wrap}
.hint{color:var(--mute);font-size:13px;margin:4px 0 0}
.right{text-align:right}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- base components ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin:16px 0}
label{display:block;font-weight:500;font-size:13.5px;margin:14px 0 6px;color:var(--ink)}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=date],select,textarea{width:100%;padding:10px 12px;min-height:40px;border:1px solid var(--line-2);border-radius:8px;font:inherit;font-size:15px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}
input:hover,select:hover,textarea:hover{border-color:#AEB8B1}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--forest-3);box-shadow:0 0 0 3px rgba(81,81,81,.15)}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E6A64' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;padding-right:34px}
textarea{min-height:90px;resize:vertical}
::placeholder{color:#9AA39E}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}
@media(max-width:700px){.row2,.row3{grid-template-columns:1fr}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--btn);color:#fff;border:1px solid var(--btn);border-radius:8px;padding:10px 19px;font:600 14.5px/1.2 var(--sans);cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}
.btn:hover{background:var(--forest-2);border-color:var(--forest-2);color:#fff}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line-2)}
.btn.ghost:hover{background:var(--sage);border-color:#AEB8B1;color:var(--ink)}
.btn.small{padding:6px 12px;font-size:13px}
.btn.danger{background:var(--warn);border-color:var(--warn)}
.flash{padding:12px 16px;border:1px solid var(--sage-line);background:var(--sage);margin:16px 0;border-radius:8px;font-size:14.5px}
.flash.err{border-color:var(--warn-line);background:var(--warn-tint);color:var(--warn-ink)}
.banner{background:var(--brass-tint);border:1px solid var(--brass-line);padding:11px 15px;border-radius:8px;font-size:14px;margin:14px 0}
.chk{display:flex;gap:11px;align-items:flex-start;font-weight:400;font-size:14.5px;margin:12px 0}
.chk input{margin-top:3px;width:18px;height:18px;accent-color:var(--forest);flex:none}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:10px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--mute)}
.pill{display:inline-block;border:1px solid var(--line-2);border-radius:20px;padding:1px 10px;font-size:12px;white-space:nowrap;background:#fff;font-family:var(--sans);vertical-align:middle}
.pill.hi{border-color:var(--warn);color:var(--warn);font-weight:600}
.tag{display:inline-block;font-size:10.5px;border:1px solid var(--line-2);border-radius:4px;padding:0 6px;margin-left:6px;text-transform:uppercase;letter-spacing:.5px}
.tag.warn{border-color:var(--warn);color:var(--warn)}
details{margin:6px 0}
summary{cursor:pointer;font-weight:600}
details.more{border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;margin:12px 0;background:#fff}
details.more summary{font-weight:500;font-size:14.5px;color:var(--forest-2)}
.frow{border:1px solid var(--line);border-radius:8px;padding:14px;margin:10px 0;background:#FBFCFA}
.frow .row2{margin-top:6px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:620px){.grid3{grid-template-columns:1fr}.grid3[style*="repeat(4"]{grid-template-columns:1fr 1fr!important}}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;font-size:13px;color:var(--mute);text-decoration:none}
.stat b{display:block;font:400 32px/1.15 var(--serif);color:var(--ink);margin-bottom:2px}
.stat.on{border-color:var(--forest-3);box-shadow:inset 0 0 0 1px var(--forest-3)}
.steps{display:flex;gap:6px;margin:18px 0;flex-wrap:wrap}
.step{flex:1;min-width:130px;border-top:3px solid var(--line);padding-top:8px;font-size:13px;color:var(--mute)}
.step.on{border-top-color:var(--forest);color:var(--ink);font-weight:600}
.step.now{border-top-color:var(--brass);color:var(--ink);font-weight:600}
.bigdate{font:500 34px/1.15 var(--serif);margin:2px 0 6px;letter-spacing:-.4px}
.bar{height:6px;background:#E4E9E4;border-radius:6px;overflow:hidden;margin:10px 0 12px}
.bar i{display:block;height:100%;background:var(--forest-3);transition:width .3s}
.statusline{font:500 26px var(--serif);margin:0 0 8px}
.stepno{display:flex;align-items:center;gap:10px;font:500 20px var(--serif);margin:28px 0 8px;border-top:1px solid var(--line);padding-top:16px}
.stepno span{display:inline-block;min-width:28px;height:28px;line-height:28px;text-align:center;background:var(--forest);color:#fff;border-radius:50%;font:500 13px var(--mono)}
.stepno small{font:400 13px var(--sans);color:var(--mute);margin-left:6px}
.svcgroup{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:10px 16px;margin:12px 0}
.svchead{font:600 11px var(--sans);text-transform:uppercase;letter-spacing:1.4px;color:var(--mute);border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:6px}
.svc{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line);cursor:pointer;font-weight:400}
.svc:last-child{border-bottom:0}
.svc input{margin-top:4px;width:auto;accent-color:var(--forest)}
.svcfee{font-size:13px;font-weight:600;margin-left:6px}
.rec{display:block;font-size:12.5px;font-style:italic;color:var(--mute)}
.rec.on{font-weight:600;font-style:normal;color:var(--ink)}
.yn{border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:10px 14px}
.yn legend{font-weight:600;padding:0 6px}
.feebox,.keyterms{border:1px solid var(--line-2);border-radius:var(--radius);background:#fff;padding:14px 18px;margin:16px 0}
.bigfee{font:500 28px var(--serif)}
.opt{font-weight:400;color:var(--mute);font-size:12.5px}

/* ---------- intake: one page, four boxes ---------- */
.intro{margin:28px 0 20px}
.intro h1{margin:0;font-size:clamp(30px,3.6vw,40px);display:flex;align-items:center;flex-wrap:wrap;gap:14px;line-height:1.12;letter-spacing:-.6px}
.earlytag{font:600 10.5px/1 var(--sans);letter-spacing:1.4px;text-transform:uppercase;background:var(--brass-tint);border:1px solid var(--brass-line);color:var(--brass-ink);padding:6px 9px;border-radius:5px}
.intro .lead{margin:8px 0 0;font-size:17px}
.onepage{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;margin-bottom:18px}
.onepage>.box{min-width:0}
.card.box{margin:0;padding:22px 24px}
@media(max-width:860px){.onepage{grid-template-columns:1fr}}
.steph{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font:500 21px/1.2 var(--serif);margin:0 0 14px;letter-spacing:-.2px}
.steph .n{font-style:normal;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--forest);color:#fff;font:500 12px var(--mono);flex:none}
.steph small{font:400 13px/1.3 var(--sans);color:var(--mute)}
.steph small.afnote{display:inline-block;font:500 12px/1.3 var(--sans);color:var(--brass-ink);background:var(--brass-tint);border:1px solid var(--brass-line);border-radius:6px;padding:3px 8px}
.steph small.afnote[hidden]{display:none}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.fgrid .full{grid-column:1/-1}
.fgrid label{margin:12px 0 5px}
@media(max-width:520px){.fgrid{grid-template-columns:1fr}}
.drop{border:1.5px dashed #B6B6B6;background:linear-gradient(180deg,#F6F9F6,#FBFCFA);border-radius:12px;padding:24px 18px 18px;text-align:center;position:relative;transition:background .15s,border-color .15s}
.drop:hover{border-color:var(--forest-3)}
.drop.over{background:var(--sage);border-color:var(--forest);border-style:solid}
.drop .docico{color:var(--forest-3)}
.droptitle{font:500 19px/1.25 var(--serif);margin:6px 0 10px}
.drop p{margin:0 0 10px}
.drop .hint{margin:2px 0}
.drop .hint.sm{font-size:12px}
.drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
html:not(.js) .drop input[type=file]{position:static;width:auto;height:auto;opacity:1;pointer-events:auto}
html:not(.js) #pick{display:none}
.filecount{font:500 13px var(--sans);color:var(--mute);margin:14px 0 0;padding-bottom:8px;border-bottom:1px solid var(--line)}
.filecount.has{color:var(--ink)}
.filelist{list-style:none;margin:0;padding:0}
.frow2{display:flex;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line)}
.frow2 .num{font:500 12px var(--mono);color:var(--mute);min-width:18px}
.frow2 .badge{font:500 10px/1 var(--mono);letter-spacing:.4px;color:var(--forest-2);background:var(--sage);border:1px solid var(--sage-line);padding:5px 6px;border-radius:4px;min-width:40px;text-align:center}
.frow2 .fname{flex:1;min-width:0;overflow-wrap:anywhere;font-weight:500;font-size:14px;line-height:1.35}
.frow2 .fname small{display:block;font:400 11.5px var(--mono);color:var(--mute);margin-top:2px}
.frow2 .fstate{font-size:12.5px;color:var(--mute);white-space:nowrap}
.frow2.ok .fstate{color:var(--forest-2);font-weight:600}
.frow2.now .fstate{color:var(--brass);font-weight:600}
.frow2.bad,.frow2.bad .num,.frow2.bad .fname small{color:var(--warn)}
.frow2 .rm{background:none;border:0;color:var(--mute);font:500 12.5px var(--sans);cursor:pointer;padding:4px 6px;border-radius:5px}
.frow2 .rm:hover{color:var(--warn);background:var(--warn-tint)}
.autofill{border:1px solid var(--sage-line);background:var(--sage);border-radius:var(--radius);padding:12px 14px;margin:14px 0 0}
.autofill[hidden]{display:none}
.autofilled{background:#FBF8EE!important;border-color:#D9C690!important}
.svcopt{display:flex;gap:14px;align-items:flex-start;padding:12px 2px;border-top:1px solid var(--line);margin:0;font-weight:400;cursor:pointer}
.svcopt:first-of-type{border-top:0;padding-top:2px}
.svcopt input{margin:3px 0 0;width:18px;height:18px;accent-color:var(--forest);flex:none}
.svcopt b{display:block;font-size:14.5px;font-weight:600}
.svcopt .hint{display:block;margin-top:1px}
.svcopt.off{opacity:.5;cursor:not-allowed}
.scopenote{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:10px 13px;background:var(--sage);border:1px solid var(--sage-line);border-radius:8px;font-size:13.5px;color:var(--forest-2)}
.scopenote svg{flex:none}
#box-confirm{padding:16px 22px;position:sticky;bottom:12px;z-index:40;box-shadow:0 10px 30px rgba(25,25,25,.12);border-color:var(--line-2)}
@media(max-width:1000px){#box-confirm{position:static;box-shadow:none}}
.confirmrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;align-items:center}
.confirmrow>div{padding:0 22px;min-width:0}
.confirmrow>div:first-child{padding-left:0}
.confirmrow>div+div{border-left:1px solid var(--line)}
.agreecol .chk{margin:0 0 8px}
.agreecol .chk.small{font-size:12.5px;color:var(--mute);margin:0}
.timeline{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:space-between;gap:6px}
.timeline li{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.25;min-width:0}
.timeline li i{font-style:normal;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--sage);border:1px solid var(--sage-line);color:var(--forest-2);font:500 11px var(--mono);flex:none}
.timeline li.arr{color:var(--line-2);font-size:14px}
.timeline li b{font-weight:500;max-width:76px}
.hint.tl{margin:8px 0 0;text-align:center}
.submitcol{text-align:center;padding-right:0!important}
.submitcol .btn{padding:12px 26px;font-size:15px;white-space:nowrap}
.submitcol .hint{display:block;margin-top:6px;font-size:12.5px}
@media(max-width:1000px){.confirmrow{grid-template-columns:1fr;gap:16px}.confirmrow>div{padding:0}.confirmrow>div+div{border-left:0;border-top:1px solid var(--line);padding-top:16px}.submitcol .btn{width:100%}}
@media(max-width:560px){.timeline{flex-wrap:wrap;gap:10px}.timeline li.arr{display:none}.timeline li{flex:1 1 44%}}
.progress{margin:14px 0 0}
.progress .bar{height:8px}
dialog.termsdlg{width:min(760px,94vw);max-height:86vh;padding:0;border:1px solid var(--line-2);border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 24px 60px rgba(25,25,25,.25)}
dialog.termsdlg::backdrop{background:rgba(21,21,21,.5)}
.termshead{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff}
.termshead b{font:500 19px var(--serif)}
.termsbody{padding:8px 26px 20px;overflow:auto;max-height:calc(86vh - 64px);font:15px/1.6 var(--serif)}
.termslist li{margin-bottom:10px}
.wiz[hidden]{display:none}
html:not(.js) ol.wizsteps{display:none}
html:not(.js) .wizbtns [data-next],html:not(.js) .wizbtns [data-back]{display:none}

/* ---------- the matter's standing: headline, docket, document index ---------- */
.mhead{margin:6px 0 22px}
.mhead .eyebrow{margin-top:28px}
.nowline{border-left:3px solid var(--line-2);padding:2px 0 2px 18px;max-width:760px}
.nowline.n-live{border-left-color:var(--brass)}
.nowline.n-act{border-left-color:var(--warn)}
.nowline.n-done{border-left-color:var(--forest-3)}
.nowtitle{font:500 clamp(30px,3.8vw,42px)/1.1 var(--serif);letter-spacing:-.7px;margin:0 0 8px}
.nowtext{font-size:16.5px;color:var(--mute);margin:0}
.standing{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;align-items:start}
@media(max-width:880px){.standing{grid-template-columns:1fr}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}
.panel+.panel{margin-top:18px}
.plabel{display:flex;justify-content:space-between;align-items:center;gap:10px;font:600 11px/1 var(--sans);letter-spacing:1.8px;text-transform:uppercase;color:var(--mute);margin:0 0 16px}
.livedot{display:inline-flex;align-items:center;gap:7px;font:500 11px var(--mono);letter-spacing:.3px;text-transform:none;color:var(--forest-2)}
.livedot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--forest-3);animation:breathe 2s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:1}50%{opacity:.3}}

/* the docket: a register of what has happened to the matter, each entry stamped like a registry endorsement */
.docket{list-style:none;margin:0;padding:0}
.dk{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;position:relative;padding-bottom:20px}
.dk:last-child{padding-bottom:0}
.dk:not(:last-child)::after{content:"";position:absolute;left:13px;top:30px;bottom:2px;border-left:1.5px solid var(--line-2)}
.dk.dk-done:not(:last-child)::after{border-left-color:var(--forest-3)}
.dkmark{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line-2);background:#fff;position:relative;z-index:1}
.dk-done .dkmark{background:var(--forest-3);border-color:var(--forest-3)}
.dk-done .dkmark::after{content:"";position:absolute;left:9px;top:5px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.dk-now .dkmark,.dk-wait .dkmark{border:2px solid var(--brass);background:var(--brass-tint)}
.dk-now .dkmark::after,.dk-wait .dkmark::after{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--brass)}
.dk-wait .dkmark{border-color:var(--warn);background:var(--warn-tint)}
.dk-wait .dkmark::after{background:var(--warn)}
.dk-live .dkmark::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--brass);opacity:0;animation:seal 2.4s ease-out infinite}
@keyframes seal{0%{opacity:.7;transform:scale(.8)}100%{opacity:0;transform:scale(1.35)}}
.dkbody{min-width:0;padding-top:3px}
.dkhead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.dkhead b{font-weight:600;font-size:15px;line-height:1.35}
.dk-todo .dkhead b{color:var(--mute);font-weight:500}
.dknote{display:block;font-size:13.5px;color:var(--mute);line-height:1.45;margin-top:2px}
.dk-wait .dknote{color:var(--warn-ink);font-weight:500}
.stamp{font:500 11px/1 var(--mono);letter-spacing:.6px;color:var(--forest-2);border:1px solid var(--sage-line);background:var(--sage);border-radius:4px;padding:4px 6px;white-space:nowrap}
.stamp-now{color:var(--brass-ink);border-color:var(--brass-line);background:var(--brass-tint);text-transform:uppercase}
.dk-wait .stamp-now{color:var(--warn-ink);border-color:var(--warn-line);background:var(--warn-tint)}

/* app layout: what you act on in the main column, where things stand in the rail */
.appgrid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}
.appmain>:first-child,.apprail>:first-child{margin-top:0}
.appmain>.panel,.appmain>.card{margin:0 0 18px}
.apprail{position:sticky;top:76px;display:flex;flex-direction:column;gap:18px}
.apprail .panel+.panel{margin-top:0}
.appmain .secth:first-child{margin-top:0}
@media(max-width:1060px){.appgrid{grid-template-columns:1fr}.apprail{position:static}}

/* the date card */
.datecard .bigdate{font-size:clamp(26px,2.6vw,34px)}
.datecard .bigdate.tbc{font-size:24px}
.datecard p:not(.plabel){font-size:14px;margin:8px 0 0}
.datecard .hint{font-size:12.5px}

/* the index of documents, numbered in the order received, as in a title report's annexure */
.docindex{list-style:none;margin:0;padding:0}
.di{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}
.di:first-child{border-top:0;padding-top:0}
.dinum{font:500 12px var(--mono);color:var(--mute)}
.diext{font:500 10px/1 var(--mono);letter-spacing:.4px;color:var(--forest-2);background:var(--sage);border:1px solid var(--sage-line);padding:5px 6px;border-radius:4px;min-width:40px;text-align:center}
.diname{min-width:0;overflow-wrap:anywhere;font-weight:500;font-size:14.5px;line-height:1.35}
.diname small{display:block;font:400 11.5px var(--mono);color:var(--mute);margin-top:2px}
.distate{font-size:12.5px;font-weight:600;color:var(--mute);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.distate::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--line-2)}
.di-read .distate,.di-checked .distate{color:var(--forest-2)}
.di-read .distate::before,.di-checked .distate::before{background:var(--forest-3)}
.di-reading .distate{color:var(--brass-ink)}
.di-reading .distate::before{background:var(--brass);animation:breathe 1.4s ease-in-out infinite}
.di-manual .distate{color:var(--brass-ink);font-weight:500;white-space:normal;text-align:right;max-width:190px}
.di-manual .distate::before{background:var(--brass)}
.di-deleted{opacity:.6}
@media(max-width:560px){.di{grid-template-columns:auto minmax(0,1fr);row-gap:4px}.diext{display:none}.distate{grid-column:2;white-space:normal}.di-manual .distate{text-align:left;max-width:none}}

/* activity, newest first */
.activity{list-style:none;margin:0;padding:0}
.activity li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
.activity li:first-child{border-top:0;padding-top:0}
.activity .stamp{justify-self:start;background:none;border:0;padding:0;color:var(--mute)}
@media(max-width:560px){.activity li{grid-template-columns:1fr;gap:2px}}

/* things the client must do, and what they receive */
.secth{font:500 22px/1.25 var(--serif);margin:34px 0 12px;display:flex;align-items:center;gap:10px}
.needcard{border:1px solid var(--warn-line);border-left:3px solid var(--warn);background:#fff}
.needcard b.needtitle{display:block;font-size:16px;font-weight:600}
.fileinput,.needcard input[type=file]{display:block;width:100%;font:inherit;font-size:14px;padding:12px;border:1.5px dashed #B6B6B6;border-radius:8px;background:#F6F9F6;cursor:pointer}
.needcard input[type=file]::file-selector-button{font:600 13px var(--sans);background:var(--forest);color:#fff;border:0;border-radius:6px;padding:7px 12px;margin-right:12px;cursor:pointer}
.updatecard{border-left:3px solid var(--forest-3)}
.updatecard p{margin:6px 0 0;font:400 17px/1.55 var(--serif)}
.reportcard{border-color:var(--sage-line)}
.reporttop{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.reporttop h2{margin:0}
.rating{font-size:13px;font-weight:600;border-radius:6px;padding:5px 11px;border:1px solid var(--line);background:#F4F6F3}
.rating.r-green{background:var(--sage);border-color:var(--sage-line);color:var(--forest-2)}
.rating.r-amber{background:var(--brass-tint);border-color:var(--brass-line);color:var(--brass-ink)}
.rating.r-red{background:var(--warn-tint);border-color:var(--warn-line);color:var(--warn-ink)}
.summary{font:400 17px/1.6 var(--serif);margin:14px 0 0}
.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0 0}
.fineprint{font-size:12.5px;color:var(--mute);max-width:760px}

/* confirmation */
.linkbox{display:flex;align-items:center;gap:12px;background:#FBFCFA;border:1px solid var(--line);border-radius:8px;padding:11px 12px;margin:10px 0}
.linkbox a{flex:1;min-width:0;overflow-wrap:anywhere;font:500 12.5px/1.5 var(--mono)}
@media(max-width:560px){.linkbox{flex-direction:column;align-items:stretch}}

/* ---------- the advocate's view of the AI ---------- */
.aistrip{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--forest-3);border-radius:var(--radius);padding:14px 18px;margin:16px 0}
.aistrip b{display:block;font-weight:600;font-size:15px}
.aistrip span:not(.aiseal){display:block;font-size:13px;color:var(--mute);margin-top:1px}
.aiseal{width:16px;height:16px;border-radius:50%;flex:none;background:var(--forest-3);position:relative}
.aistrip.a-running{border-left-color:var(--brass);background:#FFFDF7}
.aistrip.a-running .aiseal{background:var(--brass)}
.aistrip.a-running .aiseal::before{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid var(--brass);animation:seal 2.4s ease-out infinite}
.aistrip.a-failed{border-left-color:var(--warn);background:var(--warn-tint)}
.aistrip.a-failed .aiseal{background:var(--warn)}
.draftguard{margin:0 0 12px}
.draftguard[hidden]{display:none}

/* ---------- toasts ---------- */
.toasts{position:fixed;right:24px;bottom:24px;z-index:1000;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;width:min(392px,calc(100vw - 32px));pointer-events:none;transition:bottom .25s ease}
/* Above the AI progress panel when it is showing (both live in the bottom-right corner). */
body:has(#aidock:not([hidden])) .toasts{bottom:calc(24px + var(--dockh,96px) + 12px)}
.toast{pointer-events:auto;position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:12px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:14px 10px 14px 14px;font:14px/1.45 var(--sans);box-shadow:0 18px 40px -14px rgba(25,25,25,.30),0 2px 6px rgba(25,25,25,.06);animation:toastin .26s cubic-bezier(.2,.8,.2,1)}
.toast>i{position:relative;flex:none;width:24px;height:24px;border-radius:50%;background:#737373;margin-top:-1px}
.toast>i::after{content:"";position:absolute;inset:0;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat}
.toast.err>i{background:#C73A2A}
.toast.err>i::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 6.5v7M12 17.6v.1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 6.5v7M12 17.6v.1'/%3E%3C/svg%3E")}
.toast.info>i{background:#B98A2E}
.toast.info>i::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 10.5v7M12 6.4v.1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 10.5v7M12 6.4v.1'/%3E%3C/svg%3E")}
.toast.busy>i{background:none;border:2.5px solid #D5E6DB;border-top-color:#737373;width:22px;height:22px;animation:tspin .8s linear infinite}
.toast.busy>i::after{display:none}
@keyframes tspin{to{transform:rotate(360deg)}}
.toast>span{flex:1;min-width:0;overflow-wrap:anywhere;padding-top:1px}
.toastx{flex:none;display:grid;place-items:center;width:26px;height:26px;margin:-3px 0 -3px 2px;background:none;border:0;border-radius:7px;color:var(--mute);font-size:20px;line-height:1;cursor:pointer}
.toastx:hover{background:#F1F3F1;color:var(--ink)}
.toastx:focus-visible{outline:2px solid var(--forest-3);outline-offset:1px}
/* A thin line along the bottom shows how long a toast that closes by itself has left. */
.toast.timed::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:#737373;opacity:.35;transform-origin:left;animation:tleft 6.5s linear forwards}
.toast.info.timed::after{background:#B98A2E}
.toast.timed:hover::after{animation-play-state:paused}
@keyframes tleft{to{transform:scaleX(0)}}
.toast.out{opacity:0;transform:translateX(16px);transition:opacity .22s,transform .22s}
@keyframes toastin{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:620px){.toasts{right:16px;left:16px;bottom:16px;width:auto}body:has(#aidock:not([hidden])) .toasts{bottom:calc(16px + var(--dockh,96px) + 10px)}}
@media(prefers-reduced-motion:reduce){.toast,.toast.out{animation:none;transition:none}.toast.busy>i{animation-duration:2.4s}}

/* ---------- finish: depth, surfaces and the dossier cover ---------- */
:root{--paper:#F4F5F1;--line:#E4E7E1;--radius:14px;--lift:0 1px 2px rgba(34,34,34,.04),0 10px 28px -14px rgba(34,34,34,.14);--lift-2:0 2px 4px rgba(34,34,34,.05),0 22px 48px -20px rgba(34,34,34,.28)}
body{background:var(--paper);font-size:15px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

.side{background:none;box-shadow:inset -1px 0 0 rgba(255,255,255,.05);isolation:isolate}
.railbg{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#363636 0%,#313131 45%,#282828 100%);pointer-events:none}
.gatebrand{position:relative;isolation:isolate}
.gatebrand .railbg{background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 32px),radial-gradient(90% 70% at 100% 0%,#515151 0%,rgba(81,81,81,0) 60%),linear-gradient(160deg,#363636,#252525)}
.sidenav a{border-radius:9px;padding:9px 12px;color:#D9E4DD}
.sidenav a .ico{opacity:.8}
.sidenav a.on{background:rgba(255,255,255,.08);box-shadow:inset 3px 0 0 #C9A55A}
.sidenav a.on .ico{opacity:1;color:#E3C989}
.topbar{background:rgba(255,255,255,.82);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px)}
.card,.panel{border-color:var(--line);border-radius:var(--radius);box-shadow:var(--lift)}
.panel{padding:22px 24px}
.card.box{border-radius:var(--radius)}
.plabel{font-size:10.5px;letter-spacing:2px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.btn{border-radius:9px;padding:11px 20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1px 2px rgba(34,34,34,.18)}
.btn.ghost{box-shadow:0 1px 2px rgba(34,34,34,.06)}
.btn.small{padding:7px 13px}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=date],select,textarea{border-radius:9px;background:#FCFDFB}
.kicker{font:600 10.5px/1 var(--sans);letter-spacing:2.2px;text-transform:uppercase;color:var(--brass);margin:0 0 10px}
.intro h1{font-size:clamp(32px,3.6vw,44px);letter-spacing:-.9px}
.steph{font-size:20px}
.drop{border-radius:12px;background:radial-gradient(120% 90% at 50% 0%,#FFFFFF 0%,#F3F7F3 100%)}
#box-confirm{border-radius:16px;box-shadow:var(--lift-2)}

/* the cover */
.dossier{position:relative;overflow:hidden;margin:22px 0 22px;border-radius:18px;padding:26px 32px 20px;color:#EEF4F0;background:
  repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 30px),
  radial-gradient(90% 140% at 100% 0%,#515151 0%,rgba(81,81,81,0) 60%),
  linear-gradient(135deg,#353535,#252525);box-shadow:var(--lift-2)}
.dossier::after{content:"";position:absolute;left:32px;right:32px;top:62px;border-top:1px solid rgba(255,255,255,.12)}
.dtop{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.dcode{font:500 12.5px var(--mono);letter-spacing:1.4px;color:#E3C989;border:1px solid rgba(227,201,137,.45);border-radius:5px;padding:5px 9px}
.dmeta{font:500 11px var(--sans);letter-spacing:1.6px;text-transform:uppercase;color:#BCBCBC}
.dossier .nowline{border-left:2px solid #C9A55A;padding-left:20px;max-width:820px}
.dossier.d-act .nowline{border-left-color:#F0A898}
.dossier.d-done .nowline{border-left-color:#C1C1C1}
.dossier .nowtitle{color:#fff;font-size:clamp(32px,4vw,48px);letter-spacing:-1px;margin-bottom:10px}
.dossier .nowtext{color:#C9D9D0;font-size:16px;max-width:680px}
.dfoot{display:flex;align-items:center;gap:12px;margin-top:24px;font:500 11.5px var(--mono);color:#BCBCBC;letter-spacing:.3px}
.dsteps{display:inline-flex;gap:5px}
.dsteps i{width:26px;height:4px;border-radius:3px;background:rgba(255,255,255,.16)}
.dsteps i.on{background:#C9A55A}
@media(max-width:700px){.dossier{padding:20px 18px 16px;border-radius:14px}.dossier::after{left:18px;right:18px;top:56px}}

/* calmer action card, capsules for states */
.needcard{border:1px solid var(--warn-line);border-left:1px solid var(--warn-line);background:linear-gradient(180deg,#FFF8F6,#FFFFFF 60%);position:relative;padding-top:42px}
.needcard::before{content:"Action needed";position:absolute;top:16px;left:24px;font:600 10.5px/1 var(--sans);letter-spacing:2px;text-transform:uppercase;color:var(--warn)}
.distate{padding:4px 9px 4px 8px;border-radius:20px;background:#F1F3EF}
.di-read .distate,.di-checked .distate{background:var(--sage)}
.di-reading .distate,.di-manual .distate{background:var(--brass-tint)}
.di{padding:12px 8px;margin:0 -8px;border-radius:9px;transition:background .15s}
.di:hover{background:#F7F9F6}
.stamp{border-radius:5px}
.dk{padding-bottom:22px}
.datecard .bigdate{font-size:clamp(28px,2.4vw,36px)}

#box-you{display:flex;flex-direction:column}
.boxnote{margin-top:auto;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;background:var(--sage);border:1px solid var(--sage-line);font-size:13px;color:var(--forest-2);line-height:1.5}
#box-you .fgrid{margin-bottom:20px}
.boxnote .ico{width:17px;height:17px;margin-top:1px;flex:none}

/* the advocate's rail */
.backlink{margin:22px 0 0;font-size:13.5px}
.backlink a{text-decoration:none;color:var(--mute)}
.backlink a:hover{color:var(--forest-2)}
.backlink+.dossier{margin-top:12px}
.matterg{grid-template-columns:minmax(0,1fr) 340px}
.matterrail{position:static}
.appmain>.aistrip:first-child{margin-top:0}
.appmain h2{font-size:22px;margin:28px 0 12px}
.facts{margin:0}
.facts>div{padding:9px 0;border-top:1px solid var(--line)}
.facts>div:first-child{border-top:0;padding-top:0}
.facts dt{font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--mute);margin-bottom:2px}
.facts dd{margin:0;font-size:14px;overflow-wrap:anywhere}
.small,.facts dd.small{font-size:13px;line-height:1.55}
.sidedocs{list-style:none;margin:0;padding:0}
.sidedocs li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--line)}
.sidedocs li:first-child{border-top:0;padding-top:0}
.sidedocs .diext{margin-top:2px;min-width:38px}
.sidedocs .dname{min-width:0;overflow-wrap:anywhere;font-size:13.5px;font-weight:500}
.sidedocs .dname a{color:var(--ink);text-decoration:none}
.sidedocs .dname a:hover{text-decoration:underline}
.sidedocs .dname small{display:block;font:400 11.5px var(--mono);color:var(--mute);margin-top:2px}
.stack{display:flex;flex-direction:column;gap:8px}
.stack .btn{white-space:normal}
/* Data tables marked for phone cards also carry .stack: on desktop they stay real tables (the flex rule above is for layout boxes).
   The phone rules further down still turn them into cards below 700px. */
table.stack{display:table;width:100%}
table.stack thead{display:table-header-group}
table.stack tbody{display:table-row-group}
table.stack tr{display:table-row}
.inlineform{display:flex;gap:8px;align-items:center}
.inlineform select{flex:1;min-width:0;width:auto}
@media(max-width:1060px){.matterg{grid-template-columns:1fr}}

/* tables in the workspace */
td select{width:auto;min-width:130px}
td form[style*="flex"]{flex-wrap:nowrap!important;align-items:center}
td a.mono,td>a:first-child{font-weight:500;text-decoration:none;color:var(--forest-2)}
td a.mono:hover,td>a:first-child:hover{text-decoration:underline}
.card>table:first-child th{padding-top:4px}

/* ---------- overview: how it works ---------- */
.btn.big{padding:13px 24px;font-size:15px;border-radius:11px}
.btn.light{background:#fff;color:var(--forest);border-color:#fff;box-shadow:0 8px 24px -10px rgba(0,0,0,.4)}
.btn.light:hover{background:#E3F0E7;border-color:#E3F0E7;color:var(--forest)}
.ovhero{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:40px;align-items:center;margin:22px 0 28px;padding:48px 48px 44px;border-radius:22px;color:#EEF4F0;overflow:hidden;background:
  radial-gradient(70% 90% at 100% 0%,rgba(193,193,193,.22) 0%,rgba(193,193,193,0) 60%),
  radial-gradient(60% 80% at 0% 100%,rgba(81,81,81,.9) 0%,rgba(81,81,81,0) 70%),
  linear-gradient(135deg,#3A3A3A,#232323);box-shadow:var(--lift-2)}
.ovhero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 34px);pointer-events:none}
.ovcopy{position:relative}
.ovkicker{font:600 10.5px/1 var(--sans);letter-spacing:2.2px;text-transform:uppercase;color:#CCCCCC;margin:0 0 16px}
.ovhero h1{color:#fff;font-size:clamp(40px,5vw,64px);line-height:1.02;letter-spacing:-1.6px;margin:0 0 18px}
.ovlead{font-size:16.5px;line-height:1.65;color:#C9D9D0;max-width:560px;margin:0}
.ovhero .actions{margin-top:28px}
.ovfacts{list-style:none;display:flex;gap:28px;margin:32px 0 0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.12)}
.ovfacts li{display:flex;flex-direction:column;gap:2px}
.ovfacts b{font:400 26px/1 var(--serif);color:#fff;letter-spacing:-.4px}
.ovfacts span{font-size:12px;color:#BCBCBC}
.specimen{position:relative;margin:0;background:#fff;color:var(--ink);border-radius:18px;padding:20px 22px 16px;box-shadow:0 30px 60px -24px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08);transform:perspective(900px) rotateY(-6deg) rotateX(2deg)}
.spechead{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--line);font:500 11px var(--sans);letter-spacing:1.2px;text-transform:uppercase;color:var(--mute)}
.spechead .dcode{font-size:10.5px;padding:4px 8px}
.specimen .dk{padding-bottom:16px}
.specimen figcaption{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font:italic 400 15px var(--serif);color:var(--mute)}
@media(max-width:1000px){.ovhero{grid-template-columns:1fr;padding:32px 24px}.specimen{transform:none}}
.ovsection{margin:52px 0 0}
.ovhead{text-align:center;max-width:640px;margin:0 auto 26px}
.ovhead h2,.ovtext h2{font-size:clamp(28px,2.8vw,36px);letter-spacing:-.7px;margin:0}
.ovsteps{list-style:none;margin:0;padding:30px 28px 28px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative;background:linear-gradient(180deg,#fff,#FBFCFA);border:1px solid var(--line);border-radius:20px;box-shadow:var(--lift)}
.ovsteps::before{content:"";position:absolute;left:12.5%;right:12.5%;top:56px;border-top:1.5px dashed var(--sage-line)}
.ovsteps li{position:relative;text-align:center;padding:0 6px}
.ovnode{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;margin:0 auto 18px;border-radius:16px;background:linear-gradient(135deg,var(--forest-3),var(--forest));color:#fff;box-shadow:0 10px 22px -10px rgba(49,49,49,.6),0 0 0 6px #fff}
.ovnode .ico{width:22px;height:22px}
.ovsteps b{display:block;font:500 19px/1.25 var(--serif);margin-bottom:6px}
.ovsteps span:not(.ovnode){display:block;font-size:13.5px;color:var(--mute);line-height:1.55}
@media(max-width:1000px){.ovsteps{grid-template-columns:1fr 1fr}.ovsteps::before{display:none}}
@media(max-width:560px){.ovsteps{grid-template-columns:1fr}}
.ovreceive{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.ovtext h2{margin-bottom:18px}
.ticks{list-style:none;margin:0 0 18px;padding:0}
.ticks li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.ticks li::before{content:"";flex:none;width:20px;height:20px;margin-top:1px;border-radius:50%;background:#E3F0E7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%232A5D4C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 8.3 2.3 2.2 4.7-5'/%3E%3C/svg%3E") center/13px no-repeat}
.reportpeek{position:relative;margin:0;background:#FFFEFA;border:1px solid var(--line);border-radius:16px;padding:24px 26px 30px;box-shadow:var(--lift-2);overflow:hidden;font-family:var(--serif)}
.reportpeek::before{content:"";position:absolute;top:62px;bottom:0;left:40px;border-left:1px solid #EBD3CA}
.rphead{display:flex;justify-content:space-between;align-items:center;font:600 10.5px var(--sans);letter-spacing:1.6px;text-transform:uppercase;color:var(--mute);padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.rphead .rating{font-size:11px;letter-spacing:.5px;text-transform:none}
.rpsec{font:600 13px var(--sans);letter-spacing:.4px;text-transform:uppercase;margin:16px 0 6px 30px}
.rpline{margin:0 0 8px 30px;font-size:15.5px;line-height:1.5}
.rpline b{font:500 12.5px var(--mono);color:var(--forest-2);margin-right:8px}
.rpline i{display:block;font:400 11.5px var(--mono);color:var(--mute);font-style:normal}
.rpline.muted{color:var(--mute)}
.rpfade{position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(180deg,rgba(255,254,250,0),#FFFEFA)}
@media(max-width:900px){.ovreceive{grid-template-columns:1fr;gap:28px}}
.ovtrust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:52px 0 0}
.ovtrust>div{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;padding:20px;border-radius:16px;background:linear-gradient(180deg,#F4F9F5,#EDF4EF);border:1px solid var(--sage-line)}
.ovtrust .ico{grid-row:span 2;width:40px;height:40px;padding:9px;border-radius:12px;background:#fff;color:var(--forest-3);box-shadow:0 1px 2px rgba(34,34,34,.08)}
.ovtrust b{font-weight:600;font-size:14.5px}
.ovtrust span{font-size:13px;color:var(--mute);line-height:1.5}
@media(max-width:900px){.ovtrust{grid-template-columns:1fr}}
.ctaband{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;border-radius:20px;padding:30px 34px;margin:52px 0 10px;color:#EEF4F0;background:radial-gradient(90% 160% at 100% 0%,rgba(193,193,193,.25) 0%,rgba(193,193,193,0) 60%),linear-gradient(135deg,#3A3A3A,#232323);box-shadow:var(--lift-2)}
.ctaband h2{color:#fff;margin:0 0 4px;font-size:28px;letter-spacing:-.5px}
.ctaband p{margin:0;color:#C9D9D0;font-size:14.5px}

/* ---------- motion: pages glide into one another ---------- */
@view-transition{navigation:auto}
/* Only a plain green layer morphs between the gateway panel and the sidebar; text never stretches, it fades with the page. */
.railbg{view-transition-name:railbg}
::view-transition-group(railbg){animation-duration:.48s;animation-timing-function:cubic-bezier(.65,0,.35,1)}
::view-transition-old(railbg),::view-transition-new(railbg){animation:none;mix-blend-mode:normal;height:100%}
::view-transition-old(railbg){display:none}
::view-transition-old(root){animation:.3s ease both vtout}
::view-transition-new(root){animation:.36s cubic-bezier(.2,.8,.2,1) both vtin}
/* The text in the green panel has its own layer above the moving green, so it fades rather than hiding under it. */
.sidein{view-transition-name:sidein;display:flex;flex-direction:column;flex:1;min-height:0}
.gatein{view-transition-name:gatein;display:flex;flex-direction:column;justify-content:space-between;flex:1;min-height:0}
::view-transition-group(sidein),::view-transition-group(gatein){animation-duration:.4s}
::view-transition-new(sidein){animation:.32s cubic-bezier(.2,.8,.2,1) .16s both vtin}
::view-transition-new(gatein){animation:.3s cubic-bezier(.2,.8,.2,1) .34s both vtin}
::view-transition-group(gatein){animation:none}
::view-transition-old(gatein),::view-transition-old(sidein){animation:.2s ease both vtout}
@media(max-width:900px){.sidein{display:contents;view-transition-name:none}}
@keyframes vtout{to{opacity:0}}
@keyframes vtin{from{opacity:0;transform:translateY(8px)}}
main.work>*{animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
main.work>*:nth-child(2){animation-delay:.04s}main.work>*:nth-child(3){animation-delay:.08s}main.work>*:nth-child(4){animation-delay:.12s}main.work>*:nth-child(n+5){animation-delay:.16s}
@keyframes rise{from{opacity:0;transform:translateY(12px)}}
.gatechoose>*{animation:rise .55s cubic-bezier(.2,.8,.2,1) both}
.gatechoose>*:nth-child(2){animation-delay:.05s}.gatechoose>*:nth-child(3){animation-delay:.1s}.gatechoose>*:nth-child(4){animation-delay:.15s}
.choices>*{animation:rise .55s cubic-bezier(.2,.8,.2,1) both}
.choices>*:nth-child(1){animation-delay:.12s}.choices>*:nth-child(2){animation-delay:.18s}.choices>*:nth-child(3){animation-delay:.24s}
.gate.leaving .gatechoose{opacity:0;transform:translateX(16px);transition:opacity .25s,transform .25s}
.choice.picked{border-color:var(--forest-3);box-shadow:inset 0 0 0 2px var(--forest-3),var(--lift-2)}
.choice.picked .carrow{transform:translateX(5px)}
#toasts{view-transition-name:none}

/* ---------- intake: four steps, one form ---------- */
.stephead{margin:0 0 18px}
.stepnum{display:none;font:600 10.5px/1 var(--sans);letter-spacing:2px;text-transform:uppercase;color:var(--forest-3);margin-bottom:10px}
.stephead .steph{margin:0}
.stepsub{display:none;margin:6px 0 0;color:var(--mute);font-size:14.5px}
.stepgrid{display:block}
.stepaside{display:none}
.wizprog,.wiznav{display:none}
html.wizard .intro{margin-bottom:22px}
html.wizard .wizprog{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0 0;padding:0;counter-reset:w}
html.wizard .wizprog li{counter-increment:w;position:relative;padding-top:14px;font-size:13px;font-weight:500;color:var(--mute);cursor:default}
html.wizard .wizprog li::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:4px;background:#DCE5DE}
html.wizard .wizprog li::after{content:counter(w,decimal-leading-zero) "  ";position:static;font:500 11px var(--mono);color:var(--line-2);margin-right:2px}
html.wizard .wizprog li.done{color:var(--forest-2);cursor:pointer}
html.wizard .wizprog li.done::before{background:var(--forest-3)}
html.wizard .wizprog li.now{color:var(--ink);font-weight:600}
html.wizard .wizprog li.now::before{background:linear-gradient(90deg,var(--forest-3),#C1C1C1)}
html.wizard .wizprog li{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:6px}
html.wizard .onepage{display:block;margin:0}
html.wizard .onepage>.box{padding:30px 32px 32px;border-radius:20px;box-shadow:var(--lift-2)}
html.wizard .onepage{transition:height .42s cubic-bezier(.2,.8,.2,1);overflow:hidden;overflow:clip;overflow-clip-margin:40px}
html.wizard .onepage>.box{min-height:560px}
html.wizard .onepage>.box.leave{opacity:0;transition:opacity .17s ease,transform .17s ease}
html.wizard .onepage>.box.leave.fwd{transform:translateX(-14px)}
html.wizard .onepage>.box.leave.bwd{transform:translateX(14px)}
html.wizard .onepage>.box.enter.fwd{animation:stepin .4s cubic-bezier(.2,.8,.2,1) both}
html.wizard .onepage>.box.enter.bwd{animation:stepback .4s cubic-bezier(.2,.8,.2,1) both}
html.wizard .onepage>.box.enter .stepaside{animation:rise .5s cubic-bezier(.2,.8,.2,1) .06s both}
@keyframes stepin{from{opacity:0;transform:translateX(18px)}}
@keyframes stepback{from{opacity:0;transform:translateX(-18px)}}
html.wizard .stepnum{display:block}
html.wizard .stepsub{display:block}
html.wizard .stephead{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--line)}
html.wizard .stephead .steph{font-size:clamp(26px,2.6vw,32px);letter-spacing:-.6px}
html.wizard .steph .n{display:none}
html.wizard .stepgrid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;align-items:start}
html.wizard .stepaside{display:block;position:sticky;top:84px;padding:18px 20px;border-radius:14px;background:linear-gradient(180deg,#F2F8F4,#EAF2EC);border:1px solid var(--sage-line)}
.stepaside b{display:block;font:600 11px var(--sans);letter-spacing:1.6px;text-transform:uppercase;color:var(--forest-3);margin-bottom:10px}
.stepaside ul{list-style:none;margin:0;padding:0}
.stepaside li{position:relative;padding:6px 0 6px 18px;font-size:13.5px;line-height:1.45;color:var(--forest-2)}
.stepaside li::before{content:"";position:absolute;left:2px;top:13px;width:6px;height:6px;border-radius:50%;background:var(--forest-3)}
html.wizard #box-you .boxnote,html.wizard .scopenote{display:none}
html.wizard .fgrid{gap:0 20px}
html.wizard .fgrid label{font-size:13px;font-weight:600;margin:16px 0 7px}
html.wizard input[type=text],html.wizard input[type=email],html.wizard input[type=tel],html.wizard select{min-height:48px;padding:12px 14px;font-size:15.5px;border-radius:11px;background:#fff}
html.wizard .drop{padding:40px 24px 30px;border-radius:16px}
html.wizard .droptitle{font-size:22px}
html.wizard .svcopt{padding:16px 16px;margin:0 0 10px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:border-color .15s,box-shadow .15s}
html.wizard .svcopt:first-of-type{padding-top:16px;border-top:1px solid var(--line)}
html.wizard .svcopt:hover{border-color:var(--forest-3)}
html.wizard .svcopt:has(input:checked){border-color:var(--forest-3);box-shadow:inset 0 0 0 1px var(--forest-3);background:#F6FAF7}
html.wizard .wiznav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 0;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.7);border:1px solid var(--line);backdrop-filter:blur(8px)}
html.wizard .wiznav .btn{min-width:150px;padding:12px 20px}
html.wizard .wiznav .btn[hidden]{display:inline-flex!important;visibility:hidden}
.wizdots{display:flex;gap:8px}
.wizdots i{width:8px;height:8px;border-radius:50%;background:#D3DDD6;transition:all .25s}
.wizdots i.done{background:var(--forest-3)}
.wizdots i.on{width:26px;border-radius:5px;background:var(--forest)}
html.wizard #box-confirm{position:static;box-shadow:var(--lift);margin-top:18px;border-radius:16px}
html.wizard #box-confirm.inline{margin:22px 0 0;padding:18px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;background:none}
html.wizard #box-confirm.inline .confirmrow{grid-template-columns:minmax(0,1fr) auto}
html.wizard #box-confirm.inline .tlcol{display:none}
html.wizard #box-confirm.inline .submitcol{padding-left:22px}
html.wizard #box-confirm[hidden]{display:none}
@media(max-width:900px){html.wizard .stepgrid{grid-template-columns:1fr}html.wizard .stepaside{position:static}html.wizard .onepage>.box{padding:22px 18px}html.wizard .wizprog li{font-size:0}html.wizard .wizprog li::after{font-size:11px}}

/* per-file upload progress */
.fbar{display:block;height:4px;margin-top:7px;border-radius:4px;background:#E2E9E3;overflow:hidden;max-width:420px}
.fbar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--forest-3),#AAAAAA);transition:width .25s ease}
.frow2.st-uploading .fbar i{background-size:200% 100%;animation:barflow 1.2s linear infinite;background-image:linear-gradient(90deg,var(--forest-3),#C1C1C1,var(--forest-3))}
@keyframes barflow{to{background-position:-200% 0}}
.frow2.st-done .fbar i{background:var(--forest-3)}
.frow2.st-done .fstate{color:var(--forest-2);font-weight:600}
.frow2.st-uploading .fstate{color:var(--forest-2);font-weight:600;font-variant-numeric:tabular-nums}
.frow2.st-failed .fstate,.frow2.st-failed .fname small{color:var(--warn)}
.frow2 .rm.retry{color:var(--forest-2);font-weight:600}
.filecount.has{font-variant-numeric:tabular-nums}
.testchip{display:inline-block;margin-left:10px;padding:3px 8px;border-radius:6px;background:#FFF3D6;border:1px solid #F0D9A0;color:#7A5C1E;font:600 10px/1.2 var(--sans);letter-spacing:.8px;vertical-align:1px}

.testnote{margin:0 0 18px;padding:12px 16px;border-radius:12px;background:#FFF3D6;border:1px solid #F0D9A0;color:#6B4F16;font-size:14px}

/* ---------- admin: advocates on the panel ---------- */
.pagehd{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin:26px 0 22px}
.pagehd h1{margin:0 0 6px;font-size:clamp(30px,3vw,40px);letter-spacing:-.7px}
.pagehd .lead{margin:0}
.countpill{font:600 11px/1 var(--sans);background:#FDE7E3;color:var(--warn-ink);border-radius:20px;padding:4px 8px;margin-left:4px}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 20px}
.kpi{display:flex;flex-direction:column;gap:2px;padding:18px 20px;border-radius:16px;background:linear-gradient(180deg,#fff,#FBFCFA);border:1px solid var(--line);box-shadow:var(--lift);text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.kpi:hover{border-color:var(--forest-3);color:var(--ink)}
.kpi.on{border-color:var(--forest-3);box-shadow:inset 0 0 0 1px var(--forest-3),var(--lift)}
.kpi span{font:600 10.5px/1 var(--sans);letter-spacing:1.6px;text-transform:uppercase;color:var(--mute)}
.kpi b{font:400 40px/1.05 var(--serif);letter-spacing:-.6px;margin:10px 0 2px}
.kpi small{font-size:12.5px;color:var(--mute)}
@media(max-width:760px){.kpis{grid-template-columns:1fr}}
.advlist{padding:0;overflow:auto}
.advt th{padding:14px 18px;background:#F6F9F7;border-bottom:1px solid var(--line)}
.advt td{padding:14px 18px;vertical-align:middle;font-size:14px}
.advt td small{display:block;font-size:12px;color:var(--mute);margin-top:2px}
.advt tbody tr:hover td{background:#FAFCFA}
.advt tbody tr:last-child td{border-bottom:0}
.advt tr.inactive td{opacity:.55}
.advt .who{display:flex;align-items:center;gap:12px}
.advt .who>i{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:600 12px var(--sans);font-style:normal;color:#fff;background:linear-gradient(135deg,var(--forest-3),var(--forest))}
.advt .who b{font-weight:600}
.advt .num{font:500 15px var(--serif)}
.advt td.right{white-space:nowrap}
.advt td.right .btn{margin-left:6px}
.advt td:nth-child(4){white-space:nowrap}
.advt td:nth-child(4) small{white-space:normal}
.newtag{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:20px;background:#E3F0E7;color:var(--forest-2);font:600 10px/1.4 var(--sans);letter-spacing:.6px;text-transform:uppercase;vertical-align:1px}
.status{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;border-radius:20px;padding:4px 10px;border:1px solid var(--line);background:#F4F6F3;color:var(--mute)}
.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.status.s-done{background:var(--sage);border-color:var(--sage-line);color:var(--forest-2)}
.emptyp{text-align:center;padding:40px 24px}
.emptyp b{display:block;font:500 20px var(--serif);margin-bottom:6px}

.scopes{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px;padding:4px;border-radius:12px;background:#E6EDE8;width:max-content;max-width:100%}
.scopes a{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:9px;font-size:13.5px;font-weight:500;color:var(--forest-2);text-decoration:none}
.scopes a em{font:500 11px var(--mono);font-style:normal;background:rgba(49,49,49,.08);border-radius:5px;padding:2px 6px}
.scopes a:hover{background:rgba(255,255,255,.6)}
.scopes a.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(34,34,34,.12)}

.pager{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 2px 6px;font-size:13.5px;color:var(--mute)}
.pgcount b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.pglinks{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.pglinks a,.pglinks span{min-width:34px;height:34px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-variant-numeric:tabular-nums}
.pglinks a{color:var(--forest-2);text-decoration:none;border:1px solid var(--line);background:#fff}
.pglinks a:hover{border-color:var(--forest-3);background:var(--sage)}
.pglinks .cur{background:var(--forest);color:#fff;font-weight:600}
.pglinks .off{color:#B5BFB9;border:1px solid transparent}
.pglinks .gap{min-width:20px;padding:0}

/* the AI's progress: on the matter strip and in the floating panel */
.aibar{display:block;height:6px;margin-top:9px;border-radius:6px;background:#E2E9E3;overflow:hidden;max-width:520px}
.aibar i,.aidbar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--forest-3),#C1C1C1,var(--forest-3));background-size:200% 100%;animation:barflow 1.4s linear infinite;transition:width .6s ease}
.aidock{position:fixed;right:24px;bottom:24px;z-index:900;width:min(360px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 48px -16px rgba(25,25,25,.35),0 2px 6px rgba(25,25,25,.08);overflow:hidden;animation:toastin .25s ease-out}
.aidhead{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(135deg,#3A3A3A,#232323);color:#fff}
.aidhead b{flex:1;font-size:13.5px;font-weight:600}
.aidhead .aiseal{width:10px;height:10px;border-radius:50%;background:#C1C1C1;position:relative;flex:none}
.aidhead .aiseal::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid #C1C1C1;animation:seal 2.4s ease-out infinite}
.aidmin{background:rgba(255,255,255,.12);border:0;color:#fff;width:24px;height:24px;border-radius:6px;cursor:pointer;font-size:16px;line-height:1}
.aidock ul{list-style:none;margin:0;padding:6px;max-height:300px;overflow:auto}
.aidock.min ul{display:none}
.aidock li a{display:block;padding:10px 10px;border-radius:10px;text-decoration:none;color:var(--ink)}
.aidock li a:hover{background:var(--sage)}
.aidtop{display:flex;align-items:baseline;gap:8px}
.aidtop b{font:500 12px var(--mono)}
.aidtop span{flex:1;min-width:0;font-size:13px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aidtop em{font-style:normal;font-weight:600;font-size:13px;color:var(--forest-2);font-variant-numeric:tabular-nums}
.aidbar{display:block;height:5px;margin:7px 0 5px;border-radius:5px;background:#E2E9E3;overflow:hidden}
.aidock small{display:block;font-size:12px;color:var(--mute)}
.aid-queued .aidbar i{animation:none;background:#CBD5CE}
.aid-stalled .aidtop em,.aid-stalled small{color:var(--warn)}
@media(max-width:620px){.aidock{right:16px;left:16px;bottom:16px;width:auto}}

/* ---------- the due-diligence agent, in plain words ---------- */
.aghead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 12px}
.aghead h2{margin:0}
.nerd{display:inline-flex;align-items:center;gap:10px;margin:0;cursor:pointer;font:300 12.5px/1 var(--sans);letter-spacing:.4px;color:var(--mute);user-select:none}
.nerd input{position:absolute;opacity:0;width:1px;height:1px}
.nerd i{position:relative;width:30px;height:17px;border-radius:17px;background:#D3DBD5;transition:background .2s}
.nerd i::after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .2s}
.nerd input:checked+i{background:var(--forest-3)}
.nerd input:checked+i::after{transform:translateX(13px)}
.nerd input:focus-visible+i{outline:2px solid var(--brass);outline-offset:2px}
.agentbox .nerdonly{display:none;margin-top:22px;padding-top:18px;border-top:1px dashed var(--line-2)}
.agentbox.nerd-on .nerdonly{display:block;animation:rise .3s ease both}
.agstate{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:#F4F8F5;border:1px solid var(--sage-line)}
.agstate b{display:block;font-size:15px}
.agstate span:not(.agdot){display:block;font-size:13.5px;color:var(--mute);margin-top:2px}
.agdot{flex:none;width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--forest-3)}
.ag-run .agdot{background:var(--brass);animation:breathe 1.4s ease-in-out infinite}
.ag-bad{background:var(--warn-tint);border-color:var(--warn-line)}
.ag-bad .agdot{background:var(--warn)}
.ag-todo{background:#F4F6F3;border-color:var(--line)}
.ag-todo .agdot{background:var(--line-2)}
.agnote{margin:10px 0 0;padding:10px 14px;border-radius:10px;background:var(--brass-tint);border:1px solid var(--brass-line);font-size:13.5px;color:var(--brass-ink)}
.agsec{margin-top:24px}
.agsec h3{font:600 11px/1 var(--sans);letter-spacing:1.8px;text-transform:uppercase;color:var(--mute);margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.agrate{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.agcounts{font-size:13.5px;color:var(--mute)}
.agcounts b{font-weight:600}
.agsum{font:400 16px/1.6 var(--serif);margin:12px 0 0}
.sv{display:inline-block;font:600 10.5px/1 var(--sans);letter-spacing:.5px;text-transform:uppercase;padding:4px 7px;border-radius:5px;background:#EEF1EE;color:var(--mute)}
.agcounts .sv{background:none;padding:0;font-size:14px;letter-spacing:0;text-transform:none}
.sv-high{background:var(--warn-tint);color:var(--warn-ink)}.agcounts .sv-high{color:var(--warn)}
.sv-medium{background:var(--brass-tint);color:var(--brass-ink)}.agcounts .sv-medium{color:var(--brass)}
.sv-low{background:#E8F0FA;color:#2B5A8A}.agcounts .sv-low{color:#2B5A8A}
.agfind{list-style:none;margin:14px 0 0;padding:0}
.agfind li{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.agfind li .sv{justify-self:start;align-self:start;margin-top:2px}
.agfind b{display:block;font-weight:600;font-size:14.5px}
.agfind span{display:block;font-size:13.5px;color:#474747;margin-top:3px;line-height:1.55}
.agfind small,.agdocs small{display:block;font-size:12px;color:var(--mute);margin-top:4px}
.agdocs{list-style:none;margin:0;padding:0}
.agdocs li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:11px 0;border-top:1px solid var(--line)}
.agdocs li:first-child,.agfind li:first-child{border-top:0}
.agst{justify-self:start;font-size:12px;font-weight:600;padding:4px 9px;border-radius:20px;background:var(--sage);color:var(--forest-2);height:max-content}
.agdocs li.bad .agst{background:var(--warn-tint);color:var(--warn-ink)}
.agdocs b{font-weight:600;font-size:14px}
.agdocs span{display:block;font-size:13.5px;color:#474747;margin-top:3px}
.aglist{list-style:none;margin:0;padding:0}
.aglist li{padding:8px 0;border-top:1px solid var(--line);font-size:14px}
.aglist li:first-child{border-top:0}
.aglist .tag{margin-left:0;margin-right:6px}
.aglist.plain li{color:#474747}
.nerddl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;margin:0 0 16px}
.nerddl dt{font-size:11px;color:var(--mute)}
.nerddl dd{margin:0 0 6px;font-size:12px;overflow-wrap:anywhere}
.nerdpre{max-height:420px}
.nerdonly h3{font:600 11px/1 var(--sans);letter-spacing:1.6px;text-transform:uppercase;color:var(--mute);margin:16px 0 8px}
@media(max-width:600px){.agfind li,.agdocs li{grid-template-columns:1fr}.nerddl{grid-template-columns:1fr}}

/* ---------- documents and scope ---------- */
.scopehead{margin:0 0 18px}
.scopehead h2{margin:0 0 6px}
.scopehead .lead{margin:0 0 16px;font-size:15px}
.sflow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;counter-reset:sf}
.sflow li{counter-increment:sf}
.sflow a{display:flex;flex-direction:column;gap:2px;height:100%;padding:12px 14px 12px 46px;position:relative;border-radius:12px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--ink);transition:border-color .15s}
.sflow a:hover{border-color:var(--forest-3)}
.sflow a::before{content:counter(sf);position:absolute;left:12px;top:12px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:500 11px var(--mono);border:1.5px solid var(--line-2);color:var(--mute);background:#fff}
.sflow b{font-size:13.5px;font-weight:600}
.sflow span{font-size:12.5px;color:var(--mute)}
.sflow .done a::before{content:"\2713";background:var(--forest-3);border-color:var(--forest-3);color:#fff;font:700 12px var(--sans)}
.sflow .now a{border-color:var(--forest-3);box-shadow:inset 0 0 0 1px var(--forest-3)}
.sflow .now a::before{border-color:var(--forest);background:var(--forest);color:#fff}
.sflow .wait a{border-color:var(--warn-line);background:#FFF9F7}
.sflow .wait a::before{border-color:var(--warn);color:var(--warn)}
.sflow .wait span{color:var(--warn-ink)}
@media(max-width:860px){.sflow{grid-template-columns:1fr}}
.scard{padding:22px 24px}
.shead{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.shead h3{font:500 20px/1.25 var(--serif);margin:0 0 3px;letter-spacing:-.2px}
.shead p{margin:0;font-size:13.5px;color:var(--mute)}
.shead .tag{margin-left:8px}
.snum{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:500 12px var(--mono);color:#fff;background:linear-gradient(135deg,var(--forest-3),var(--forest))}
.snum.plus{background:var(--sage);color:var(--forest-2);border:1px solid var(--sage-line);font-size:16px}
.snote{margin:0 0 14px;padding:10px 14px;border-radius:10px;background:var(--brass-tint);border:1px solid var(--brass-line);font-size:13.5px;color:var(--brass-ink)}
.sempty{display:flex;flex-direction:column;gap:3px;padding:18px;border-radius:12px;background:#F6F9F7;border:1px dashed var(--sage-line);text-align:center}
.sempty b{font-weight:600;font-size:14.5px}
.sempty span{font-size:13px;color:var(--mute)}
/* suggestions */
.sugg{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.sg{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:#fff;transition:opacity .2s,border-color .2s}
.sg:hover{border-color:#B9C6BD}
.sg.off{opacity:.5;background:#FAFBFA}
.sgpick{margin:2px 0 0;cursor:pointer;position:relative}
.sgpick input{position:absolute;opacity:0;width:1px;height:1px}
.sgpick i{display:block;width:22px;height:22px;border-radius:7px;border:1.5px solid var(--line-2);background:#fff;transition:all .15s}
.sgpick input:checked+i{background:var(--forest-3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 8.3 2.6 2.5 5.4-5.6'/%3E%3C/svg%3E") center/16px no-repeat;border-color:var(--forest-3)}
.sgpick input:focus-visible+i{outline:2px solid var(--brass);outline-offset:2px}
.sgchips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.chipk,.chipp{font:600 10.5px/1 var(--sans);letter-spacing:.5px;text-transform:uppercase;padding:5px 8px;border-radius:6px}
.k-doc{background:#E8F0FA;color:#2B5A8A}
.k-search{background:var(--sage);color:var(--forest-2)}
.p-ess{background:var(--warn-tint);color:var(--warn-ink)}
.p-help{background:#F1F3EF;color:var(--mute)}
input.sgtitle,input.sgwhy{width:100%;border:1px solid transparent;background:transparent;padding:4px 6px;margin-left:-6px;min-height:0;border-radius:7px}
input.sgtitle{font-size:15.5px;font-weight:600}
input.sgwhy{font-size:13.5px;color:#474747}
input.sgtitle:hover,input.sgwhy:hover{border-color:var(--line)}
input.sgtitle:focus,input.sgwhy:focus{border-color:var(--forest-3);background:#fff}
.sglab{display:block;margin:6px 0 0;font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--mute)}
.sglab input{text-transform:none;letter-spacing:0;font-weight:400;margin-top:2px}
.sgwarn{margin:8px 0 0;font-size:12.5px;color:var(--warn-ink)}
.sfoot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.scount{margin-right:auto;font-size:13.5px;font-weight:500;color:var(--forest-2);font-variant-numeric:tabular-nums}
/* requests */
.rqgroup{margin-top:16px}
.rqgroup:first-of-type{margin-top:0}
.rqgh{display:flex;align-items:baseline;gap:8px;margin:0 0 8px}
.rqgh b{font-size:13.5px;font-weight:600}
.rqgh span{font:500 11px var(--mono);background:#EEF2EF;border-radius:5px;padding:2px 6px}
.rqgh small{font-size:12px;color:var(--mute)}
.rq-wait .rqgh b{color:var(--warn-ink)}
.rq-wait .rqgh span{background:var(--warn-tint);color:var(--warn-ink)}
.rqlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.rq{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:#fff}
.rq-wait .rq{border-color:var(--warn-line);background:#FFFBFA}
.rq-done .rq,.rq-drop .rq{background:#FAFBFA}
.rq-drop .rq{opacity:.7}
.rqico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center}
.rqico .ico{width:18px;height:18px}
.rk-doc{background:#E8F0FA;color:#2B5A8A}
.rk-search{background:var(--sage);color:var(--forest-2)}
.rqtitle{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.rqtitle b{font-size:15px;font-weight:600}
.rqmeta{margin:3px 0 0;font-size:12.5px;color:var(--mute)}
.rqmeta .tag{margin-left:0}
.rqdetail{margin:6px 0 0;font-size:13.5px;color:#474747}
.rqclient{margin:8px 0 0;padding:8px 12px;border-radius:9px;background:#FFF4E5;border:1px solid #F3DDB6;font-size:13.5px}
.rqresult{margin:8px 0 0;padding:8px 12px;border-radius:9px;background:var(--sage);border:1px solid var(--sage-line);font-size:13.5px}
.rqmore{margin:10px 0 0;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:#FBFCFA}
.rqmore summary{font-size:13px;font-weight:500;color:var(--forest-2)}
.rqact{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
.rqact input[type=text]{flex:1 1 220px;min-height:36px;padding:7px 10px;font-size:13.5px}
/* add: tabs */
.segtabs{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:#E6EDE8;margin:0 0 14px;flex-wrap:wrap}
.segtabs button{border:0;background:none;padding:8px 14px;border-radius:9px;font:500 13.5px var(--sans);color:var(--forest-2);cursor:pointer}
.segtabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(34,34,34,.12)}
.segpane label:first-of-type{margin-top:0}
/* confirm */
.sconfirm{border-left:3px solid var(--forest)}
.sconfirm.is-done{border-left-color:var(--forest-3);background:linear-gradient(180deg,#F4F9F5,#fff)}
.sconfirmf{display:flex;gap:10px;flex-wrap:wrap}
.sconfirmf input{flex:1 1 260px}

/* advocates: how it works */
.btn.ghostlight{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.btn.ghostlight:hover{background:rgba(255,255,255,.1);color:#fff;border-color:#fff}
.advhero{grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr)}
.advfacts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;position:relative}
.advfacts li{padding:16px 18px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(4px)}
.advfacts b{display:block;font:400 22px/1.1 var(--serif);color:#fff;margin-bottom:4px}
.advfacts span{font-size:13px;color:#C9D9D0}
.advjoin{padding:24px 26px;border-radius:18px;background:linear-gradient(180deg,#fff,#FBFCFA);border:1px solid var(--line);box-shadow:var(--lift)}
.advjoin h3{font:500 22px/1.2 var(--serif);margin:0 0 14px}
.advsteps{list-style:none;margin:0;padding:0;counter-reset:as}
.advsteps li{counter-increment:as;position:relative;padding:0 0 16px 40px}
.advsteps li::before{content:counter(as);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:500 11px var(--mono);color:#fff;background:linear-gradient(135deg,var(--forest-3),var(--forest))}
.advsteps li:not(:last-child)::after{content:"";position:absolute;left:12.5px;top:30px;bottom:2px;border-left:1.5px dashed var(--sage-line)}
.advsteps b{display:block;font-weight:600;font-size:14.5px}
.advsteps span{display:block;font-size:13.5px;color:var(--mute);line-height:1.5}
@media(max-width:1000px){.advhero{grid-template-columns:1fr}}
.choice.linked{position:relative}
.choice.linked .cover{position:absolute;inset:0;border-radius:inherit;z-index:1}
.choice.linked .join{position:relative;z-index:2;font-weight:600;color:var(--forest-2);text-decoration:underline;text-underline-offset:2px}
.choice.linked:hover{border-color:var(--forest-3);box-shadow:var(--lift-2);transform:translateY(-1px)}
.choice.linked:hover .carrow{transform:translateX(3px)}

/* ---------- How it works guides (signed in) ---------- */
.ghero{margin:26px 0 26px;padding:30px 34px;border-radius:20px;background:radial-gradient(80% 140% at 100% 0%,rgba(193,193,193,.28) 0%,rgba(193,193,193,0) 60%),linear-gradient(180deg,#F3F8F4,#EAF2EC);border:1px solid var(--sage-line)}
.ghero h1{font-size:clamp(30px,3.4vw,42px);letter-spacing:-.8px;margin:0 0 8px}
.ghero .lead{margin:0;max-width:720px}
.gjump{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}
.gjump a{font-size:13px;font-weight:500;color:var(--forest-2);text-decoration:none;padding:6px 12px;border-radius:20px;background:#fff;border:1px solid var(--sage-line)}
.gjump a:hover{border-color:var(--forest-3)}
.gsec{margin:0 0 18px;padding:24px 26px;border-radius:18px;background:linear-gradient(180deg,#fff,#FBFCFA);border:1px solid var(--line);box-shadow:var(--lift);scroll-margin-top:80px}
.gsechead{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.gsechead h2{font-size:22px;margin:0 0 3px}
.gsechead p{margin:0;font-size:14px;color:var(--mute)}
.gnum{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:500 12px var(--mono);color:#fff;background:linear-gradient(135deg,var(--forest-3),var(--forest))}
.gsecbody{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}
@media(max-width:900px){.gsecbody{grid-template-columns:1fr}}
.gshow{padding:18px;border-radius:14px;background:#F2F6F3;border:1px dashed var(--sage-line);display:flex;flex-direction:column;gap:10px}
.gdo{list-style:none;margin:0;padding:0}
.gdo li{position:relative;padding:9px 0 9px 22px;border-top:1px solid var(--line);font-size:14.5px;line-height:1.55}
.gdo li:first-child{border-top:0;padding-top:0}
.gdo li::before{content:"";position:absolute;left:4px;top:17px;width:6px;height:6px;border-radius:50%;background:var(--forest-3)}
.gdo li:first-child::before{top:8px}
.gdo li:has(.gdot)::before{display:none}
.gdo li .gdot{position:absolute;left:2px;top:15px}
.gdo li:first-child .gdot{top:6px}
.gdot{display:inline-block;width:10px;height:10px;border-radius:50%}
.gdot.act{background:var(--warn)}.gdot.wait{background:var(--brass)}.gdot.bad{background:#5A1A12}
/* small pictures of the real thing */
.gmini{display:flex;flex-wrap:wrap;gap:6px}
.side-mini{flex-direction:column;gap:3px;padding:12px;border-radius:12px;background:linear-gradient(180deg,#363636,#282828);max-width:240px}
.side-mini span{display:flex;justify-content:space-between;padding:7px 10px;border-radius:8px;color:#D9E4DD;font-size:13px}
.side-mini span.on{background:rgba(255,255,255,.1);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 #C1C1C1}
.side-mini em,.tabs-mini em{font:500 10.5px var(--mono);font-style:normal;background:rgba(255,255,255,.14);border-radius:4px;padding:2px 5px}
.tabs-mini{padding:4px;border-radius:11px;background:#E1E9E3;width:max-content;max-width:100%}
.tabs-mini span{padding:6px 10px;border-radius:8px;font-size:12.5px;color:var(--forest-2)}
.tabs-mini span.on{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.1);color:var(--ink)}
.tabs-mini em{background:rgba(49,49,49,.08);margin-left:3px}
.kpi-mini span{flex:1 1 90px;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid var(--line);font-size:11.5px;color:var(--mute)}
.kpi-mini b{display:block;font:400 24px/1.1 var(--serif);color:var(--ink)}
.gchip{display:inline-flex;align-items:center;font-size:12px;font-weight:500;padding:4px 10px;border-radius:20px;border:1px solid var(--line);background:#fff}
.gchip.act{color:#8A2618;border-color:#EBC9C2}
.gchip.wait{color:var(--brass-ink);border-color:var(--brass-line);background:var(--brass-tint)}
.gchip.bad{color:#fff;background:#5A1A12;border-color:#5A1A12}
.gchip.done{color:var(--forest-2);border-color:var(--sage-line);background:var(--sage)}
.dock-mini{flex-direction:column;gap:0;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);max-width:300px}
.dock-mini p{margin:0;display:flex;align-items:center;gap:8px;padding:9px 12px;background:linear-gradient(135deg,#3A3A3A,#232323);color:#fff;font-size:12.5px;font-weight:600}
.dock-mini p .aiseal{width:8px;height:8px;border-radius:50%;background:#C1C1C1}
.dock-mini div{padding:10px 12px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}
.dock-mini div b{font:500 11.5px var(--mono);flex:1}
.dock-mini div em{font-style:normal;font-weight:600;font-size:12.5px;color:var(--forest-2)}
.dock-mini .aidbar{flex-basis:100%;margin:2px 0}
.dock-mini small{font-size:11.5px;color:var(--mute)}
.letter-mini{flex-direction:column;gap:2px;padding:14px 16px;border-radius:10px;background:#fff;border:1px solid var(--line);font-family:var(--serif)}
.letter-mini b{font-size:16px;font-weight:500}
.letter-mini span{font:400 12.5px var(--sans);color:var(--mute)}
.cover-mini{flex-direction:column;gap:6px;padding:16px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#3A3A3A,#232323)}
.cover-mini .dcode{align-self:flex-start;font-size:10.5px}
.cover-mini b{font:400 22px/1.1 var(--serif)}
.cover-mini small{font-size:12px;color:#C9D9D0}
.cover-mini .dsteps i{width:18px}
.legend-mini{flex-direction:column;gap:8px;padding:14px;border-radius:12px;background:linear-gradient(180deg,#363636,#282828)}
.legend-mini p{margin:0;display:flex;align-items:center;gap:10px;font-size:12.5px;color:#D9E4DD}
.lk{flex:none;width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3)}
.lk.done{background:#AAAAAA;border-color:#AAAAAA}
.lk.now{background:#fff;border-color:#fff;box-shadow:0 0 0 3px rgba(193,193,193,.3)}
.lk.wait{background:#F7D2C9;border-color:#F7D2C9}
.lk.view{border-radius:5px;width:26px;background:rgba(255,255,255,.12);border:0;box-shadow:inset 3px 0 0 #C1C1C1}
.geach{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.geach li{display:flex;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:#fff}
.geach span{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:500 11px var(--mono);background:var(--sage);color:var(--forest-2);border:1px solid var(--sage-line)}
.geach b{display:block;font-size:14.5px;font-weight:600}
.geach p{margin:3px 0 0;font-size:13.5px;color:var(--mute);line-height:1.5}
@media(max-width:800px){.geach{grid-template-columns:1fr}}
.gend{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:6px 0 10px;padding:20px 24px;border-radius:16px;background:var(--sage);border:1px solid var(--sage-line)}
.gend p{margin:0;font-size:14.5px;color:var(--forest-2)}
.sidehelp{margin:2px 0 6px}
.sidehelp a{font-size:13.5px}

/* ---------- guided draft editor ---------- */
.deditor{min-width:0;margin:-6px -6px 0;font-family:var(--serif)}
.dbar{position:sticky;top:64px;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:6px;margin-bottom:14px;border-radius:13px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border:1px solid var(--line);box-shadow:0 8px 22px -14px rgba(49,49,49,.4);font-family:var(--sans)}
.dtabs{display:flex;gap:2px;padding:3px;border-radius:10px;background:#EEF3EF}
.dtab{display:flex;align-items:center;gap:6px;height:32px;padding:0 13px;border:0;border-radius:8px;background:none;color:var(--forest-2);font:500 13.5px var(--sans);cursor:pointer;white-space:nowrap}
.dtab:hover{color:var(--ink)}
.dtab[aria-selected="true"]{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(25,25,25,.12),0 0 0 1px rgba(25,25,25,.04)}
.dtab em{font:500 10.5px var(--mono);font-style:normal;color:var(--mute)}
.dtab em:empty{display:none}
.dtab:focus-visible{outline:2px solid var(--forest-3);outline-offset:1px}
.dbarr{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dbar .dtb{height:32px;min-width:32px;padding:0 10px;font-size:13px}
.deditor select.djump{width:auto!important;max-width:190px;height:32px;padding:0 28px 0 10px;font-size:13px;border-radius:8px;margin:0}
.dsaved{font-size:12px;color:var(--brass-ink)}
.dmode{font:500 12.5px var(--sans);color:var(--forest-2);background:none;border:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px 6px}
.dtb{display:inline-grid;place-items:center;height:26px;min-width:26px;padding:0 6px;border-radius:7px;border:1px solid var(--line);background:#fff;color:var(--forest-2);font:500 13px var(--sans);cursor:pointer;line-height:1}
.dtb:hover{border-color:var(--forest-3);background:var(--sage)}
.dtb:focus-visible{outline:2px solid var(--forest-3);outline-offset:1px}
/* one sheet per document, like the page it becomes */
.dsheet{position:relative;padding:26px 40px 30px;border-radius:14px;background:#FFFEFA;border:1px solid #E9E3D4;box-shadow:0 1px 0 #fff inset,0 18px 40px -30px rgba(60,48,20,.35)}
.dsheetnote{margin:0 0 18px;padding:9px 12px;border-radius:9px;background:#F4F7F4;border:1px solid var(--sage-line);font:13px/1.45 var(--sans);color:var(--forest-2)}
.s-notes .dsheetnote{background:var(--brass-tint);border-color:var(--brass-line);color:var(--brass-ink)}
.dttl{margin:4px 0 14px;text-align:center;font:600 15px var(--serif);letter-spacing:3px;color:var(--ink)}
.dpart{position:relative;padding:14px 0 14px;border-top:1px solid #EFE9DC;scroll-margin-top:140px}
.dsheetnote+.dpart,.dttl+.dpart{border-top:0}
.dpart::before{content:"";position:absolute;left:-22px;top:14px;bottom:14px;width:3px;border-radius:3px;background:transparent;transition:background .15s}
.dpart:focus-within::before{background:#C1C1C1}
.dpart.inobs::before,.dobs>.dpart::before{display:none}
.dphead{margin-bottom:8px}
.dphead h3{display:flex;align-items:baseline;gap:10px;margin:0;font:700 13.5px var(--sans);letter-spacing:.9px;text-transform:uppercase;color:var(--ink)}
.dphead h3.anx{font-size:12.5px;letter-spacing:.8px;color:var(--forest)}
.dphead h3.sub{font:600 11.5px var(--sans);letter-spacing:.9px;color:var(--forest-2)}
.dphead p{margin:3px 0 0;font:12.5px/1.45 var(--sans);color:var(--mute)}
.dlet{flex:none;min-width:26px;font:500 13px var(--mono);color:var(--forest-2)}
.dlet:empty{display:none}
/* Observations holds everything printed under it, indented like the report */
.dobs>.dpart{border-top:0;margin-left:36px;padding:8px 0 8px 16px;border-left:2px solid #EFE9DC}
.dobs>.dpart:focus-within{border-left-color:#C1C1C1}
.dobs>.dphead p{margin-left:36px}
/* empty parts shrink to one line */
.dempty{display:none;margin:0 0 4px;font:italic 14px var(--serif);color:#9A9C94}
.dpart.isempty>.dempty{display:block}
.dpart.isempty>.dparas,.dpart.isempty>.dgroups,.dpart.isempty>.dfinds{display:none}
.dpart.isempty.k-rows>.dtable,.dpart.isempty.k-terms>.dtable{display:none}
.dpart.isempty .dadd{margin-top:2px}
.drerow{display:flex;gap:12px;align-items:baseline}
.drel{font:700 16px var(--serif);flex:none}
.dpart.re .dtext{font-weight:600}
[contenteditable]{outline:none;cursor:text}
[contenteditable]:empty::before{content:attr(data-ph);color:#A8ACA4;font-style:italic;font-weight:400}
.dtext{flex:1;min-height:1.7em;font-size:16px;line-height:1.7;padding:3px 6px;margin:0 -6px;border-radius:6px}
.dtext:hover{background:rgba(255,255,255,.7)}
.dtext:focus{background:#fff;box-shadow:inset 0 0 0 1px var(--sage-line)}
.dparas{margin:0}
.dp{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:4px;align-items:start;padding:2px 0;border-radius:6px}
.dp[data-sub="1"]{grid-template-columns:36px 32px minmax(0,1fr) auto}
.dp[data-sub="1"]::before{content:"";grid-column:1}
.dn{font:500 13px/1.75 var(--mono);color:var(--forest-2);padding-top:2px;text-align:right;padding-right:8px;user-select:none}
.dp[data-sub="1"] .dn{color:var(--mute)}
.roman .dn{font-size:12px}
.dt{font-size:16px;line-height:1.7;padding:1px 6px;border-radius:6px;min-height:1.7em}
.dt:hover{background:rgba(255,255,255,.7)}
.dt:focus{background:#fff;box-shadow:inset 0 0 0 1px var(--sage-line)}
.dt b,.dtext b,.dc b{font-weight:700;color:#141414}
.dtools{display:flex;gap:3px;opacity:0;transition:opacity .15s;padding-top:3px}
.dp:hover>.dtools,.dp:focus-within>.dtools,.dghead:hover .dtools,.dghead:focus-within .dtools,tr:hover .dtools,tr:focus-within .dtools,.dfind:hover .dtools,.dfind:focus-within .dtools{opacity:1}
@media(hover:none){.dtools{opacity:1}.dp>.dtools{display:none}.dp:focus-within>.dtools{display:flex}}
.dadd{margin:6px 0 0 36px;font:500 12.5px var(--sans);color:var(--forest-2);background:none;border:1px dashed var(--sage-line);border-radius:8px;padding:4px 10px;cursor:pointer}
.dadd:hover{background:var(--sage);border-style:solid}
.dadd span{font-weight:700}
.k-rows>.dadd,.k-terms>.dadd,.k-findings>.dadd,.k-text>.dadd,.dpart.isempty>.dadd{margin-left:0}
.dgroup{margin:0 0 6px;padding:4px 0 10px}
.dgroup+.dgroup{border-top:1px dotted #E2DCCB;padding-top:12px}
.dghead{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.dghead .dlet{min-width:26px}
.deditor input.dgh{flex:1;width:auto;height:auto;box-shadow:none;margin:0;border:0;border-bottom:1px dashed transparent;border-radius:0;background:none;padding:4px 0;font:700 13.5px var(--sans);letter-spacing:.9px;text-transform:uppercase;color:var(--ink)}
.deditor input.dgh:hover{border-bottom-color:#D9D3C3}
.deditor input.dgh:focus{border-bottom-color:var(--forest-3);outline:none}
.deditor input.dgh::placeholder{text-transform:none;letter-spacing:0;font-weight:400;font-style:italic;color:#A8ACA4}
.k-blocks>.dphead{display:none}
.k-blocks.isempty>.dphead,.s-letter .k-blocks>.dphead{display:block}
.k-blocks>.dphead p{max-width:640px}
.dtable{overflow-x:auto;margin:0}
.dtable table{width:100%;border-collapse:collapse;font-size:14.5px}
.dtable th{font:600 11px var(--sans);letter-spacing:.5px;text-transform:uppercase;color:var(--forest-2);text-align:left;padding:7px 8px;border:1px solid #E2DCCB;background:#F6F2E8}
.dtable td{padding:0;border:1px solid #ECE7DA;vertical-align:top;background:#fff}
.dc{padding:7px 8px;min-height:1.6em;line-height:1.5}
.dc:focus{box-shadow:inset 0 0 0 1.5px var(--sage-line)}
.dc:empty::before{font-size:13px}
.dtable th.dtcol,.dtable td.dtcol{width:1%;white-space:nowrap;padding:4px 3px;border:0;background:none}
.dfield{display:flex;align-items:center;gap:10px;margin:0 0 10px;font:12.5px var(--sans);color:var(--mute)}
.dfield input{margin:0;flex:1;font-family:var(--serif);font-size:15px}
.drating{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dr{text-align:left;padding:11px 14px;border-radius:11px;border:1.5px solid var(--line);background:#fff;cursor:pointer;font-family:var(--sans)}
.dr b{display:flex;align-items:center;gap:8px;font-size:14.5px}
.dr b::before{content:"";width:10px;height:10px;border-radius:50%;background:currentColor}
.dr span{display:block;font-size:12px;color:var(--mute);margin-top:2px}
.dr.r-green{color:#676767}.dr.r-amber{color:#9A6B12}.dr.r-red{color:#9B2C1C}
.dr[aria-checked="true"]{border-color:currentColor;background:color-mix(in srgb,currentColor 8%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,currentColor 15%,transparent)}
.dr:disabled{cursor:default}
@media(max-width:640px){.drating{grid-template-columns:1fr}}
.dfinds{display:flex;flex-direction:column;gap:8px}
.dfind{padding:10px 10px 10px 14px;border-radius:10px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--mute);font-family:var(--sans)}
.dfind[data-sev="High"]{border-left-color:#9B2C1C}.dfind[data-sev="Medium"]{border-left-color:#C08A2B}.dfind[data-sev="Low"]{border-left-color:var(--forest-3)}
.dfind[data-sev="Info"]{background:#FAFAF8}
.dfrow{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.dfrow select{width:auto;margin:0;flex:none;height:34px}
.dfrow input{margin:0;flex:1}
.dfind .dft{font-weight:600}
.dfnp{display:none;flex:none;font-size:11.5px;color:var(--mute);background:#F1F1EE;border-radius:6px;padding:3px 7px}
.dfind[data-sev="Info"] .dfnp{display:inline}
.dfrow.two{margin:6px 0 0}
.dfrow.two label{flex:1;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--mute);margin:0}
.dfrow.two input{font-size:13px;height:32px}
.dfind textarea{margin:0;min-height:54px;font-size:14px;resize:vertical}
.dfind .dtools{padding:0}
.dnote{margin:0 0 12px;padding:12px 14px;border-radius:10px;background:var(--warn-tint);border:1px solid var(--warn-line);color:var(--warn-ink);font:14px/1.5 var(--sans)}
.dback{margin:0 0 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.matterg>.appmain{min-width:0}
@media(max-width:700px){.dsheet{padding:18px 14px}.dpart::before{left:-10px}.dp{grid-template-columns:28px minmax(0,1fr)}.dp[data-sub="1"]{grid-template-columns:22px 26px minmax(0,1fr)}.dp>.dtools{grid-column:2/-1;justify-content:flex-end}.dadd{margin-left:0}.dbar{top:56px}.dtabs{width:100%;overflow-x:auto}.dtab{padding:0 10px;font-size:13px}.dobs>.dpart{margin-left:6px;padding-left:10px}.dobs>.dphead p{margin-left:0}}

/* ---------- draft preview: pop-up, or docked beside the editor ---------- */
:root{--pvw:clamp(440px,44vw,780px)}
.pvwrap{position:fixed;inset:0;z-index:950}
.pvback{position:absolute;inset:0;background:rgba(21,21,21,.42);backdrop-filter:blur(2px);animation:pvfade .18s ease-out}
.pvpanel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(940px,calc(100vw - 48px));height:calc(100vh - 56px);display:flex;flex-direction:column;background:#F3F2EE;border-radius:16px;overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.45);animation:pvin .22s cubic-bezier(.2,.8,.2,1)}
.pvhead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px 10px 18px;background:#fff;border-bottom:1px solid var(--line);font-family:var(--sans)}
.pvl{display:flex;align-items:baseline;gap:10px}
.pvl b{font:500 18px var(--serif)}
.pvdraft{font-size:12px;color:var(--brass-ink);background:var(--brass-tint);border:1px solid var(--brass-line);border-radius:20px;padding:2px 9px}
.pvseg{display:flex;gap:2px;padding:3px;border-radius:9px;background:#EEF3EF}
.pvseg button{height:28px;padding:0 11px;border:0;border-radius:7px;background:none;font:500 12.5px var(--sans);color:var(--forest-2);cursor:pointer}
.pvseg button[aria-selected="true"]{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(25,25,25,.12)}
.pvr{display:flex;align-items:center;gap:6px}
.pvstate{font-size:12px;color:var(--mute);min-width:84px;text-align:right}
.pvstate.busy{color:var(--brass-ink)}.pvstate.ok{color:#676767}.pvstate.err{color:#B3261E;min-width:0}
.pvbtn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--forest-2);font:500 12.5px var(--sans);cursor:pointer}
.pvbtn:hover{border-color:var(--forest-3);background:var(--sage)}
.pvbtn svg,.dpv svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pvx{width:32px;height:32px;border:0;border-radius:8px;background:none;font-size:22px;line-height:1;color:var(--mute);cursor:pointer}
.pvx:hover{background:#F1F3F1;color:var(--ink)}
.pvbtn:focus-visible,.pvx:focus-visible,.pvseg button:focus-visible{outline:2px solid var(--forest-3);outline-offset:1px}
.pvbody{position:relative;flex:1;min-height:0;padding:14px;background:#E9E8E3}
.pvbody iframe{display:block;width:100%;height:100%;border:0;border-radius:6px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.pvbody iframe[hidden]{display:none}
/* docked: a panel on the right; the page makes room for it */
.pvwrap.docked{inset:auto;top:0;right:0;bottom:0;width:var(--pvw)}
.pvwrap.docked .pvback{display:none}
.pvwrap.docked .pvpanel{position:static;transform:none;width:100%;height:100%;border-radius:0;border-left:1px solid var(--line);box-shadow:-12px 0 32px -18px rgba(25,25,25,.35);animation:pvslide .24s cubic-bezier(.2,.8,.2,1)}
.pvwrap.docked .pvdraft{display:none}
body.pvdocked .maincol{margin-right:var(--pvw)}
/* side by side: only the editable draft on the left and the preview on the right */
body.app.pvdocked{grid-template-columns:minmax(0,1fr);background:var(--paper)}
body.pvdocked .side,body.pvdocked .topbar,body.pvdocked .dossier,body.pvdocked footer.legal,body.pvdocked .matterrail{display:none!important}
body.pvdocked main.work{padding:0 28px 32px}
body.pvdocked .dsaved,body.pvdocked .dpv{display:none!important}
body.pvdocked .appmain form>.stg:not(.stg-editor):not(.stg-keep):not(.stg-guard),body.pvdocked .appmain>*:not(form){display:none!important}
body.pvdocked .appmain form>.stg.stg-editor{display:block!important}
body.pvdocked .stg-guard>*:not(.draftguard){display:none!important}
body.pvdocked .stg-editor>.card{border:0;box-shadow:none;background:none;padding:0}
body.pvdocked .dbar{top:58px}
.dfocus{display:none}
body.pvdocked .dfocus{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:12px;margin:0 -6px 10px;padding:10px 6px;background:var(--paper);border-bottom:1px solid var(--line);font-family:var(--sans)}
.dfback{height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--forest-2);font:500 13px var(--sans);cursor:pointer;white-space:nowrap}
.dfback:hover{border-color:var(--forest-3);background:var(--sage)}
.dfwhere{flex:1;min-width:0;display:flex;align-items:baseline;gap:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dfwhere b{font:500 12px var(--mono);letter-spacing:.5px;color:var(--forest)}
.dfwhere span{font-size:13.5px;color:var(--mute);overflow:hidden;text-overflow:ellipsis}
.dfsaved{font-size:12px;color:var(--brass-ink);white-space:nowrap}
body.pvdocked .matterrail{display:none}
body.pvdocked .matterg{grid-template-columns:minmax(0,1fr)}
body.pvdocked .toasts{right:calc(var(--pvw) + 24px)}
body.pvdocked .aidock{right:calc(var(--pvw) + 24px)}
body.pvmodal{overflow:hidden}
.pvsplit{display:none}
.pvwrap.docked .pvsplit{display:block;position:absolute;left:-6px;top:0;bottom:0;width:12px;z-index:2;cursor:col-resize;touch-action:none}
.pvsplit span{position:absolute;left:50%;top:50%;width:6px;height:44px;margin:-22px 0 0 -3px;border-radius:4px;background:#C9D2CC;box-shadow:0 0 0 3px var(--paper);transition:background .15s,height .15s,margin .15s}
.pvsplit::before{content:"";position:absolute;left:5px;top:0;bottom:0;width:2px;background:transparent;transition:background .15s}
.pvsplit:hover span,.pvsplit:focus-visible span,body.pvresizing .pvsplit span{background:var(--forest-3);height:64px;margin-top:-32px}
.pvsplit:hover::before,.pvsplit:focus-visible::before,body.pvresizing .pvsplit::before{background:#C1C1C1}
.pvsplit:focus-visible{outline:none}
body.pvresizing{cursor:col-resize;user-select:none}
body.pvresizing iframe{pointer-events:none}
body.pvresizing .pvwrap.docked .pvpanel,body.pvresizing .maincol{transition:none}
.dpv{gap:6px;display:inline-flex!important;align-items:center}
@keyframes pvfade{from{opacity:0}}
@keyframes pvin{from{opacity:0;transform:translate(-50%,-48%) scale(.98)}}
@keyframes pvslide{from{transform:translateX(24px);opacity:.4}}
@media(max-width:700px){.pvpanel{width:100vw;height:100vh;border-radius:0}.pvhead{padding:8px 10px}.pvbody{padding:0}.pvbody iframe{border-radius:0}.pvstate{display:none}}
@media(prefers-reduced-motion:reduce){.pvback,.pvpanel,.pvwrap.docked .pvpanel{animation:none}}

/* intake: what to expect, on the first step */
.expect{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 4px}
.expect>div{padding:12px 14px;border-radius:12px;background:#F4F8F5;border:1px solid var(--sage-line)}
.expect b{display:block;font-size:13px;font-weight:600;color:var(--forest);margin-bottom:3px}
.expect span{display:block;font-size:12.8px;line-height:1.5;color:var(--forest-2)}
@media(max-width:900px){.expect{grid-template-columns:1fr}}
/* matter page: the admin's Start AI reading card */
.aistart{display:flex;align-items:center;gap:16px;margin:14px 0 6px;padding:16px 18px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.aistart.first{background:linear-gradient(135deg,#F2F8F4,#FFFFFF 70%);border-color:var(--sage-line);box-shadow:var(--lift)}
.aisico{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--forest);color:#fff}
.aisico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.aistext{flex:1;min-width:0}
.aistext>b{display:block;font:500 17px var(--serif);margin-bottom:2px}
.aistext>span{display:block;font-size:13.5px;color:var(--mute);line-height:1.5}
.aistext .aiest{margin-top:4px;color:var(--forest-2)}
.aistext .aiest b{font-weight:600}
@media(max-width:700px){.aistart{flex-wrap:wrap}.aistart .btn{width:100%}}
.aistrip.a-idle{border-left-color:var(--mute);background:#FAFAF8}
.aistrip.a-idle .aiseal{background:#B9BEB9}
/* System page: settings */
.setcard h2{margin:0 0 4px;font-size:20px}
.setopts{display:flex;flex-direction:column;gap:8px}
.setopt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;margin:0}
.setopt:has(input:checked){border-color:var(--forest-3);background:#F4F8F5}
.setopt input{margin-top:4px;width:auto}
.setopt b{display:block;font-size:14.5px}
.setopt small{display:block;font-size:13px;color:var(--mute);line-height:1.45}

/* ---------- matters list: filters, sorting, AI mark, bulk actions ---------- */
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mcount{margin:8px 2px 10px;font-size:13px;color:var(--mute)}
.mtable table{width:100%}
.mtable th{white-space:nowrap}
.msort{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:none}
.msort svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.35}
.msort:hover svg{opacity:.8}
.msort.on{color:var(--forest)}
.msort.on svg{opacity:1}
th[aria-sort="ascending"] .msort .dn,th[aria-sort="descending"] .msort .up{opacity:.2}
.mchk{width:34px;padding-right:0!important}
.mchk input{width:16px;height:16px;margin:0;accent-color:var(--forest)}
.maicol{width:44px;text-align:center}
.aimark{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#737373;vertical-align:middle}
.aimark svg{width:13px;height:13px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.aimark.run{background:none;border:2px solid #D5E6DB;border-top-color:#737373;width:16px;height:16px;animation:tspin .9s linear infinite}
.mtable tr.sel td{background:#F2F8F4}
.mempty{text-align:center;padding:28px!important;color:var(--mute)}
.bulkbar{position:fixed;left:calc(248px + 50%);transform:translateX(calc(-50% - 124px));bottom:20px;z-index:800;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;width:min(860px,calc(100vw - 248px - 48px));padding:10px 12px 10px 18px;border-radius:14px;background:var(--forest);color:#fff;box-shadow:0 20px 44px -16px rgba(0,0,0,.45);animation:bulkin .2s cubic-bezier(.2,.8,.2,1)}
.bbl{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bbl b{font-size:14px}
.blink{background:none;border:0;color:#DADADA;font:500 13px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:2px}
.blink:hover{color:#fff}
.bbr{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bassign{display:flex;align-items:center;gap:8px;margin:0}
.bassign span{font-size:12.5px;color:#C9D9D0}
.bassign select{margin:0;height:34px;width:auto;min-width:180px;font-size:13px}
.bulkbar .btn{height:34px}
.bulkbar .btn:not(.ghost){background:#fff;color:var(--forest);border-color:#fff}
.bulkbar .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.bulkbar .btn.ghost:hover{background:rgba(255,255,255,.1)}
.bulkbar .btn:disabled{opacity:.45;cursor:not-allowed}
.bulkbar .btn em{font-style:normal;opacity:.8}
body.bulkon .toasts{bottom:96px}
body.bulkon main.work{padding-bottom:110px}
.mtable td form select{height:32px;min-width:130px;max-width:170px;font-size:13px;padding:0 26px 0 9px}
.mtable td form .btn{height:32px}
body.bulkon .aidock{bottom:96px}
@keyframes bulkin{from{opacity:0;transform:translate(calc(-50% - 124px),12px)}}
@media(max-width:1060px){.bulkbar{left:50%;transform:translateX(-50%);width:calc(100vw - 32px)}@keyframes bulkin{from{opacity:0}}}

/* ---------- My profile ---------- */
/* the header: dark green with white text, like the matter page's header */
.pfhead{position:relative;overflow:hidden;display:flex;gap:20px;align-items:flex-start;margin:26px 0 22px;padding:26px 28px;border-radius:18px;color:#fff;background:radial-gradient(80% 160% at 100% 0%,rgba(193,193,193,.22),rgba(193,193,193,0) 55%),linear-gradient(135deg,#3F3F3F,#282828);box-shadow:0 20px 44px -26px rgba(25,25,25,.6)}
.pfhead::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 28px);pointer-events:none}
.pfav{position:relative;z-index:1;flex:none;width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font:500 24px var(--serif);color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28)}
.pfwho{position:relative;z-index:1;flex:1;min-width:0}
.pfwho .kicker{margin:0 0 2px;color:#C1C1C1}
.pfwho h1{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:30px;margin:0 0 14px;color:#fff}
.pfwho h1 .pill{font:600 11px var(--sans);letter-spacing:.5px;color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3)}
.pffacts{display:flex;flex-wrap:wrap;gap:8px 30px;margin:0}
.pffacts div{min-width:0}
.pffacts dt{font:600 10.5px var(--sans);letter-spacing:.8px;text-transform:uppercase;color:#BBBBBB}
.pffacts dd{margin:2px 0 0;font-size:14.5px;color:#fff}
.pfnote{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);font-size:12.8px;color:#C9D9D0}
.pfnote a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.pfnote b{color:#FFD9CF}
.pfgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,400px);gap:24px;align-items:start}
@media(max-width:1100px){.pfgrid{grid-template-columns:1fr}.pfside{order:-1}}
.pfcard{padding:22px 24px;margin:0 0 16px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--lift);scroll-margin-top:80px}
.pfch{margin-bottom:14px}
.pfch h2{margin:0 0 3px;font-size:21px}
.pfch p{margin:0;font-size:13.5px;color:var(--mute);line-height:1.5}
.pfcard label{margin-top:12px}
.pfcard label:first-of-type{margin-top:0}
.pfcard textarea{min-height:84px;font-family:var(--serif);font-size:15px;line-height:1.5}
.pfwarn{margin:6px 0 0;padding:8px 11px;border-radius:9px;background:var(--warn-tint);border:1px solid var(--warn-line);color:var(--warn-ink);font-size:13px}
.sigpad{position:relative;display:grid;place-items:center;height:132px;border-radius:12px;background:#FFFEFA;border:1px solid #E6E0D0;box-shadow:inset 0 1px 3px rgba(60,48,20,.06);overflow:hidden}
.sigpad img{max-height:84px;max-width:80%;object-fit:contain;position:relative;z-index:1;margin-bottom:12px;mix-blend-mode:multiply}
.pfsig img{mix-blend-mode:multiply}
.sigline{position:absolute;left:12%;right:12%;bottom:28px;border-bottom:1px dashed #CFC8B4}
.sigpad::after{content:"Signature";position:absolute;left:12%;bottom:9px;font:11px var(--sans);color:#A8A08A;letter-spacing:.4px}
.sigempty{font:italic 15px var(--serif);color:#A8ACA4;margin-bottom:12px}
.sigtag{position:absolute;top:10px;right:10px;font:600 11px var(--sans);color:var(--brass-ink);background:var(--brass-tint);border:1px solid var(--brass-line);border-radius:20px;padding:2px 9px}
.sigdrop{display:flex;flex-direction:column;align-items:center;gap:3px;margin-top:10px;padding:14px;border-radius:12px;border:1.5px dashed var(--sage-line);background:#F8FBF9;text-align:center;cursor:pointer;transition:background .15s,border-color .15s}
.sigdrop:hover,.sigdrop.over,.sigdrop:focus-visible{background:var(--sage);border-color:var(--forest-3);outline:none}
.sigdrop svg{width:22px;height:22px;fill:none;stroke:var(--forest-2);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sigdrop span{font-size:13.5px;color:var(--forest-2)}
.sigdrop small{font-size:12px;color:var(--mute);max-width:420px}
.sigrm{margin-top:10px!important}
.pfsave{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:4px 0 6px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.pfsave.flat{margin:16px 0 0;padding:0;border:0;background:none}
.pfdirty{font-size:13px;color:var(--mute)}
.pfdirty.on{color:var(--brass-ink);font-weight:500}
.pfapply{margin:0 0 22px}
.pwbox{position:relative}
.pwbox input{padding-right:64px}
.pweye{position:absolute;right:6px;top:50%;transform:translateY(-50%);height:28px;padding:0 10px;border:0;border-radius:6px;background:#F1F3F1;color:var(--forest-2);font:500 12px var(--sans);cursor:pointer}
.pweye:hover{background:var(--sage)}
.pwmeter{height:4px;border-radius:4px;background:#EDEFEC;margin-top:7px;overflow:hidden}
.pwmeter i{display:block;height:100%;width:0;background:var(--brass);transition:width .2s}
.pwmeter i.ok{background:#737373}
.pwhint{margin:5px 0 0;font-size:12.5px;color:var(--mute)}
.pwhint.ok{color:#676767}.pwhint.bad{color:var(--warn-ink)}
.pfside{position:sticky;top:76px}
.pfpaper{position:relative;padding:30px 28px 26px;border-radius:6px;background:#fff;border:1px solid #E4E1D8;box-shadow:0 1px 0 #fff inset,0 22px 44px -28px rgba(30,30,20,.45),0 2px 6px rgba(30,30,20,.06);font-family:Georgia,"Times New Roman",serif;color:#000;aspect-ratio:1/1.2}
.pfpl{position:absolute;top:-10px;left:16px;margin:0;padding:2px 9px;border-radius:20px;background:var(--forest);color:#fff;font:600 10.5px var(--sans);letter-spacing:.6px;text-transform:uppercase}
.pflh{text-align:center;border-bottom:1px solid #000;padding-bottom:9px;margin-bottom:16px;line-height:1.45;font-size:11.5px}
.pflh .n{font-size:15px;font-weight:700;letter-spacing:.6px}
.pfbody{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.pfbody i{display:block;height:6px;border-radius:3px;background:#ECEAE4}
.pfbody i.s{width:62%}
.pfsig{display:flex;flex-direction:column;align-items:flex-end;text-align:right;font-size:11.5px;line-height:1.45}
.pfsig img{max-height:46px;max-width:160px;object-fit:contain;margin-bottom:2px}
.pfsig b{font-size:12px}

/* matters list: whose matters (segmented) and filter chips */
.mbar{position:relative;z-index:30;display:flex;flex-direction:column;gap:12px;margin:18px 0 6px}
.mchips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mchipl{font:600 10.5px var(--sans);letter-spacing:.9px;text-transform:uppercase;color:var(--mute);margin-right:2px}
.mchipw{position:relative;display:inline-flex;align-items:center}
.mchip>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:20px;border:1px dashed #C4CCC6;background:#fff;color:var(--forest-2);font:500 13px var(--sans);cursor:pointer;user-select:none;transition:border-color .15s,background .15s}
.mchip>summary::-webkit-details-marker{display:none}
.mchip>summary:hover{border-color:var(--forest-3);background:#F7FAF8}
.mchip>summary:focus-visible{outline:2px solid var(--forest-3);outline-offset:2px}
.mchip>summary svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.mchip[open]>summary svg{transform:rotate(180deg)}
.mchip.on>summary{border-style:solid;border-color:var(--forest-3);background:#EAF3ED;color:var(--forest);padding-right:34px}
.mchip.on>summary b{font-weight:600;color:var(--ink);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mchipx{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:var(--forest-2);text-decoration:none;font-size:16px;line-height:1}
.mchipx:hover{background:rgba(49,49,49,.12);color:var(--ink)}
.mchip.on>summary svg{display:none}
.mpop{position:absolute;left:0;top:calc(100% + 6px);z-index:60;min-width:240px;max-width:340px;max-height:360px;overflow:auto;padding:6px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px -14px rgba(25,25,25,.35),0 2px 6px rgba(25,25,25,.08);animation:popin .14s ease-out}
.mpoph{margin:4px 8px 6px;font:600 10.5px var(--sans);letter-spacing:.9px;text-transform:uppercase;color:var(--mute)}
.mopt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 8px 30px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:13.5px;position:relative}
.mopt:hover,.mopt:focus-visible{background:var(--sage);outline:none}
.mopt.on{font-weight:600;color:var(--forest)}
.mopt.on::before{content:"";position:absolute;left:10px;top:50%;width:12px;height:12px;margin-top:-6px;background:var(--forest);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 5 5L20 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 5 5L20 7'/%3E%3C/svg%3E") center/contain no-repeat}
.mopt em{font:500 11px var(--mono);font-style:normal;color:var(--mute);background:#F1F3F1;border-radius:6px;padding:1px 6px}
.mclear{font-size:13px;font-weight:500;color:var(--forest-2);padding:6px 6px;text-underline-offset:3px}
@keyframes popin{from{opacity:0;transform:translateY(-4px)}}
@media(max-width:700px){.mpop{position:fixed;left:16px;right:16px;top:auto;bottom:16px;max-width:none}.bassign select{min-width:0}}

/* footer: one line of legal information, Read more opens the full text */
footer.legal .lgmore>summary{list-style:none;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;cursor:pointer;padding:2px 0;font-size:12px;color:var(--mute)}
footer.legal .lgmore>summary::-webkit-details-marker{display:none}
footer.legal .lgl{font:600 10.5px var(--sans);letter-spacing:.8px;text-transform:uppercase;color:var(--forest-2)}
footer.legal .lgline{flex:0 1 auto}
footer.legal .lgtog::after{content:"Read more";font-weight:600;color:var(--forest-2);text-decoration:underline;text-underline-offset:3px}
footer.legal .lgmore[open] .lgtog::after{content:"Show less"}
footer.legal .lgmore>summary:hover .lgtog::after{color:var(--ink)}
footer.legal .lgmore>summary:focus-visible{outline:2px solid var(--forest-3);outline-offset:3px;border-radius:4px}
footer.legal .lgfull{margin-top:10px;padding:12px 14px;border-radius:10px;background:#fff;border:1px solid var(--line);animation:popin .16s ease-out}
footer.legal .lgfull p:last-child{margin-bottom:0}

.pgsize{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--mute)}
.pgsize a,.pgsize .cur{display:inline-grid;place-items:center;min-width:34px;height:28px;padding:0 8px;border-radius:7px;text-decoration:none;font-weight:500}
.pgsize a{color:var(--forest-2);border:1px solid var(--line);background:#fff}
.pgsize a:hover{border-color:var(--forest-3);background:var(--sage)}
.pgsize .cur{background:var(--forest);color:#fff}

.bkbanner{margin:12px 0;padding:12px 16px;border-radius:12px;background:var(--brass-tint);border:1px solid var(--brass-line);color:var(--brass-ink);font-size:14px}
.bkbanner a{color:var(--ink);font-weight:600}
.bklatest{margin:0 0 10px;font-size:14px}
.bkrows{display:flex;flex-direction:column;gap:8px}
.bkrow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#fff}
.bkrow.key{background:#FAFAF8}
.bkrow b{display:block;font-size:14.5px}
.bkrow span{display:block;font-size:13px;color:var(--mute)}
.bkrow small{display:block;font-size:12px;color:var(--forest-2);margin-top:2px}
@media(max-width:640px){.bkrow{flex-direction:column;align-items:flex-start}}

/* sign-in screens */
.auth{max-width:460px;margin:56px auto 24px}
.authcard{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--lift-2);padding:32px 32px 30px;position:relative;overflow:hidden}
.authcard::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--forest),var(--forest-3) 60%,#C9A55A)}
.authcard h1{font-size:34px;letter-spacing:-.7px;margin:0 0 8px}
.authcard .lead{font-size:15px;margin:0 0 20px}
.authcard label:first-of-type{margin-top:0}
.btn.block{width:100%;margin-top:20px;padding:12px 20px}
.codeinput{font:500 26px/1.2 var(--mono)!important;letter-spacing:12px;text-align:center}
.authfoot{text-align:center;font-size:13.5px;color:var(--mute);margin:18px 0 0}
@media(max-width:560px){.auth{margin-top:24px}.authcard{padding:24px 20px}}

/* ---------- the gateway: who is this for ---------- */
body.bare{background:var(--paper)}
.barework{min-height:100vh}
.gate{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);min-height:100vh}
.gatebrand{display:flex;flex-direction:column;justify-content:space-between;padding:36px 44px;color:#EEF4F0}
.gatebrand .brand{padding:0;margin:0}
.gatequote{font:400 clamp(30px,3.2vw,44px)/1.12 var(--serif);letter-spacing:-.8px;color:#fff;margin:0;max-width:460px}
.gatebrand .kicker{color:#E3C989}
.gatefoot{margin:0;font-size:12.5px;color:#BCBCBC;max-width:380px}
.gatechoose{display:flex;flex-direction:column;justify-content:center;padding:56px clamp(24px,6vw,96px);max-width:820px}
.gatechoose h1{font-size:clamp(32px,3.4vw,44px);letter-spacing:-.9px;margin:0 0 10px}
.choices{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.choice{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--lift);text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .15s}
a.choice:hover{border-color:var(--forest-3);box-shadow:var(--lift-2);transform:translateY(-1px);color:var(--ink)}
.choice.primary{border-color:var(--forest-3);box-shadow:inset 0 0 0 1px var(--forest-3),var(--lift)}
.cico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--sage);border:1px solid var(--sage-line);color:var(--forest-2)}
.choice.primary .cico{background:var(--forest);border-color:var(--forest);color:#E3C989}
.cico .ico{width:20px;height:20px}
.ctext b{display:block;font:500 19px/1.25 var(--serif);margin-bottom:3px}
.ctext span{display:block;font-size:13.5px;color:var(--mute);line-height:1.5}
.carrow{font-size:20px;color:var(--forest-3);transition:transform .15s}
a.choice:hover .carrow{transform:translateX(3px)}
.cbtns{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.cbtns .join{display:inline-flex;justify-content:center;padding:6px 12px;font-size:13px;font-weight:600;color:var(--ink);border:1px solid var(--line-2);border-radius:9px;text-decoration:none;background:#fff}
.cbtns .join:hover{background:var(--sage)}
.gatelegal{margin-top:22px}
@media(max-width:860px){.gate{grid-template-columns:1fr}.gatebrand{padding:24px 20px;gap:28px}.gatequote{font-size:28px}.gatechoose{padding:28px 18px 40px}.choice{grid-template-columns:40px minmax(0,1fr)}.carrow{display:none}.cbtns{grid-column:1/-1;flex-direction:row}}

/* ---------- the visitor's sidebar: a guide through their steps ---------- */
.guide{list-style:none;margin:4px 0 0;padding:0 2px;counter-reset:g}
.guide>li{counter-increment:g;position:relative;padding-bottom:10px}
.guide>li:not(:last-child)::after{content:"";position:absolute;left:19px;top:36px;bottom:0;border-left:1.5px solid rgba(255,255,255,.14)}
.guide>li.g-done:not(:last-child)::after{border-left-color:#AAAAAA}
.guide>li>a,.guide>li>.gitem{display:flex;gap:12px;align-items:flex-start;padding:8px 8px;border-radius:10px;text-decoration:none;color:var(--on-forest)}
.guide>li>a:hover{background:rgba(255,255,255,.06);color:#fff}
.gmark{flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid rgba(255,255,255,.28);display:grid;place-items:center;font:500 11px var(--mono);color:var(--on-forest-mute);position:relative;z-index:1;background:var(--forest)}
.gmark::before{content:counter(g)}
.g-done .gmark{background:#AAAAAA;border-color:#AAAAAA;color:var(--forest)}
.g-done .gmark::before{content:"\2713";font:700 12px var(--sans)}
.g-now .gmark{background:#fff;border-color:#fff;color:var(--forest);box-shadow:0 0 0 4px rgba(193,193,193,.25)}
.gtext b{display:block;font-weight:600;font-size:14px;line-height:24px;color:#fff}
.g-todo .gtext b{color:var(--on-forest-mute);font-weight:500}
.gtext small{display:block;font-size:12px;color:var(--on-forest-mute);line-height:1.4;margin-top:2px}
.g-now>a,.g-now>.gitem{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.gsub{list-style:none;margin:4px 0 6px 44px;padding:0;display:flex;flex-direction:column;gap:1px}
.gsub a{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--on-forest-mute);text-decoration:none;padding:5px 8px;border-radius:7px}
.gsub a::before{content:"";width:7px;height:7px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);flex:none}
.gsub a:hover{color:#fff;background:rgba(255,255,255,.05)}
.gsub a.on{color:#fff;background:rgba(255,255,255,.08)}
.gsub a.on::before{border-color:#fff;background:#fff}
.gsub a.ok::before{border-color:#AAAAAA;background:#AAAAAA}
.g-wait .gmark{background:#F7D2C9;border-color:#F7D2C9;color:var(--warn-ink)}
.g-wait .gtext b{color:#F7C4B8}
.g-wait>a,.g-wait>.gitem{background:rgba(255,255,255,.08)}
.g-now>a,.g-now>.gitem,.g-wait>a,.g-wait>.gitem{background:none;box-shadow:none}
html.staged .guide>li.viewing .gtext b{color:#fff;font-weight:600}
html.staged .guide>li.viewing>a{background:rgba(255,255,255,.1);box-shadow:inset 3px 0 0 #C1C1C1}
.sideall{display:flex;align-items:center;gap:10px;margin:10px 2px 0;padding:10px 10px;border-top:1px solid rgba(255,255,255,.1);border-radius:0 0 10px 10px;font-size:13.5px;color:var(--on-forest-mute);text-decoration:none}
.sideall:hover{color:#fff}
html.staged .sideall.viewing{color:#fff;background:rgba(255,255,255,.1);border-radius:10px;box-shadow:inset 3px 0 0 #C1C1C1}
.chk.openreqs{padding:10px 12px;border-radius:10px;background:var(--brass-tint);border:1px solid var(--brass-line)}
.stg.enter{animation:rise .38s cubic-bezier(.2,.8,.2,1) both}
html.staged .stg>h2:first-child,html.staged .stg>.card:first-child,html.staged .stg>.panel:first-child{margin-top:0}
html.staged .appmain>.stg{margin-bottom:18px}
.sideback{display:inline-flex;align-items:center;gap:6px;margin:0 8px 4px;font-size:13px;color:var(--on-forest-mute);text-decoration:none}
.sideback:hover{color:#fff}
html{scroll-padding-top:76px}
.sidecta{display:flex;justify-content:center;margin:16px 6px 0;padding:10px 14px;border-radius:10px;font-weight:600;font-size:14px;text-decoration:none;background:#fff;color:var(--forest)}
.sidecta:hover{background:#E3F0E7;color:var(--forest)}
.sidecta.ghost{background:none;color:var(--on-forest);border:1px solid rgba(255,255,255,.22);font-weight:500;font-size:13px}
.sidecta.ghost:hover{background:rgba(255,255,255,.06);color:#fff}
.sidelive{display:flex;align-items:center;gap:8px;margin:0 8px 14px;font:500 11.5px var(--mono);color:#CCCCCC}
.sidelive::before{content:"";width:7px;height:7px;border-radius:50%;background:#AAAAAA;animation:breathe 2s ease-in-out infinite}
/* the matter's docket, set in the dark sidebar */
.sideguide{padding:0 6px}
.side .dk:not(:last-child)::after{border-left-color:rgba(255,255,255,.14)}
.side .dk.dk-done:not(:last-child)::after{border-left-color:#AAAAAA}
.side .dkmark{background:var(--forest);border-color:rgba(255,255,255,.28);width:24px;height:24px}
.side .dk{grid-template-columns:24px minmax(0,1fr);gap:12px;padding-bottom:18px}
.side .dk:not(:last-child)::after{left:11px;top:26px}
.side .dk-done .dkmark{background:#AAAAAA;border-color:#AAAAAA}
.side .dk-done .dkmark::after{left:8px;top:4px;width:5px;height:10px;border-color:var(--forest)}
.side .dk-now .dkmark{background:#fff;border-color:#fff}
.side .dk-now .dkmark::after{background:var(--forest-3);inset:6px}
.side .dk-wait .dkmark{background:#F7D2C9;border-color:#F7D2C9}
.side .dk-wait .dkmark::after{background:var(--warn);inset:6px}
.side .dk-live .dkmark::before{border-color:#C1C1C1}
.side .dkhead{flex-direction:column;gap:4px}
.side .dkhead b{color:#fff;font-size:14px}
.side .dk-todo .dkhead b{color:var(--on-forest-mute)}
.side .dknote{display:none}
.side .dk-wait .dknote{display:block;font-size:12.5px}
.side .dk-wait .dknote{color:#F7C4B8}
.side .stamp{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#DEDEDE;align-self:flex-start}
.side .stamp-now{background:#E3F0E7;border-color:#E3F0E7;color:var(--forest)}
.side .dk-wait .stamp-now{background:#F7D2C9;border-color:#F7D2C9;color:var(--warn-ink)}
@media(max-width:900px){.guide,.sideguide,.sidecta,.sidelive{display:none}}

/* ---------- colour: green-led, brass only as a small accent, nothing plain white ---------- */
body.app{background-color:#EEF2EE}
@media(min-width:901px){body.app{background:radial-gradient(1100px 600px at 70% -200px,#DCE9E1 0%,rgba(220,233,225,0) 70%),linear-gradient(180deg,#F1F5F1,#EBF0EC)}}
.panel,.card,.card.box{background:linear-gradient(180deg,#FFFFFF 0%,#FBFCFA 100%)}
.plabel{border-bottom-color:#E6ECE7}
.kicker{color:var(--forest-3)}
.chip{color:var(--forest-2);background:#E3F0E7;border-color:var(--sage-line)}
.chip i{background:var(--forest-3)}
.sidenav a.on{box-shadow:inset 3px 0 0 #C1C1C1}
.sidenav a.on .ico{color:#CCCCCC}
.sidefoot .who>i{background:#C1C1C1}
.dcode{color:#DEDEDE;border-color:rgba(222,222,222,.4)}
.dossier .nowline{border-left-color:#C1C1C1}
.dossier.d-live .nowline{border-left-color:#C1C1C1}
.dsteps i.on{background:#C1C1C1}
.stamp-now{color:var(--forest-2);border-color:var(--sage-line);background:#E3F0E7}
.dk-now .dkmark{border-color:var(--forest-3);background:#E3F0E7}
.dk-now .dkmark::after{background:var(--forest-3)}
.dk-live .dkmark::before{border-color:var(--forest-3)}
.di-reading .distate{color:var(--forest-2);background:#E3F0E7}
.di-reading .distate::before{background:var(--forest-3)}
.spechead .dcode{color:var(--forest-2);border-color:var(--sage-line);background:#E3F0E7}
.aistrip.a-running{border-left-color:var(--forest-3);background:linear-gradient(90deg,#F2F8F4,#FFFFFF)}
.aistrip.a-running .aiseal{background:var(--forest-3)}
.aistrip.a-running .aiseal::before{border-color:var(--forest-3)}
.fourstep li::before{color:var(--forest-3)}
.steph .n{background:linear-gradient(135deg,var(--forest-3),var(--forest))}
.card.box{border-top:3px solid transparent;background:linear-gradient(#fff,#FBFCFA) padding-box,linear-gradient(90deg,var(--forest-3),#C1C1C1) border-box;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.gatebrand .kicker{color:#CCCCCC}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* hidden always wins over a layout display value */
[hidden]{display:none!important}

/* ---------- phones: the sidebar becomes a top bar with a Menu button that opens it as a drawer ---------- */
.sidemenu,.navback{display:none}
@media(max-width:900px){
  .side{position:sticky;top:0;z-index:70;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;height:58px;padding:0 10px 0 16px;gap:0;overflow:hidden}
  .side{background:linear-gradient(180deg,#363636,#282828)}
  .side .railbg{view-transition-name:none;display:none}
  .sidein{display:flex;flex-direction:row;width:100%;align-items:center;justify-content:space-between}
  html:not(.navopen) .sidein>*:not(.brand):not(.sidemenu){display:none!important}
  .side .brand{width:auto;margin:0}
  .sidemenu{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 13px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;font:600 13.5px var(--sans);cursor:pointer}
  .sidemenu svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
  .sidemenu:focus-visible{outline:2px solid #C1C1C1;outline-offset:2px}
  html.navopen{overflow:hidden}
  html.navopen .side{position:fixed;inset:0 auto 0 0;width:min(330px,88vw);height:100dvh;flex-direction:column;align-items:stretch;padding:14px 14px 18px;overflow-y:auto;box-shadow:18px 0 44px rgba(0,0,0,.35);animation:navin .22s cubic-bezier(.2,.8,.2,1)}
  html.navopen .sidein{flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:100%}
  html.navopen .sidein>.brand{margin:4px 4px 14px}
  html.navopen .sidemenu{position:absolute;top:12px;right:12px}
  html.navopen .sidelabel,html.navopen .guide,html.navopen .sideguide{display:block}
  html.navopen .sidenav{flex-direction:column;overflow:visible;width:auto;padding-bottom:0}
  html.navopen .sidenav a{white-space:normal;padding:10px 12px;font-size:15px}
  html.navopen .sidefoot{display:block;margin-top:auto}
  html.navopen .sidecta,html.navopen .sidelive,html.navopen .sideall{display:flex}
  html.navopen .navback{display:block;position:fixed;inset:0;z-index:65;background:rgba(21,21,21,.45);animation:pvfade .2s}
  @keyframes navin{from{transform:translateX(-24px);opacity:.4}}
}

/* ---------- phones: the wizard bar, the guide's pictures, and tables as cards ---------- */
@media(max-width:700px){
  html.wizard .wiznav{gap:8px;padding:10px}
  html.wizard .wiznav .btn{min-width:0;flex:1 1 0;padding:12px 10px}
  html.wizard .wiznav .btn[hidden]{display:none!important}
  .wizdots{flex:none}
  .tabs-mini{width:auto;max-width:100%;flex-wrap:wrap}
  .gshow .gmini{max-width:100%}
  /* tables read as cards: the heading row hides; each cell shows its column heading as a small label */
  table.stack,table.stack tbody{display:block;width:100%}
  table.stack tr.stackhead{display:none}
  table.stack tr{display:block;position:relative;padding:12px 14px;border-bottom:1px solid var(--line)}
  table.stack tr:last-child{border-bottom:0}
  table.stack td{display:block;border:0!important;padding:3px 0!important;text-align:left!important;width:auto!important}
  table.stack td[data-label]::before{content:attr(data-label);display:block;font:600 10px var(--sans);letter-spacing:.8px;text-transform:uppercase;color:var(--mute);margin-bottom:1px}
  table.stack td:empty{display:none}
  .card:has(> table.stack),.mtable{overflow:visible!important}
  /* the matters list: the tick box sits in the card's corner; the AI mark beside the reference */
  .mtable table.stack td.mchk{position:absolute;top:12px;right:12px;padding:0!important}
  .mtable table.stack td.mchk::before,.mtable table.stack td.maicol::before{display:none}
  .mtable table.stack td.maicol{position:absolute;top:12px;right:44px;width:auto}
  .mtable table.stack td:has(> a.mono)::before{display:none}
  .mtable table.stack tr{padding-right:70px}
  table.stack td form{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
  table.stack td form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),table.stack td form select{flex:1 1 140px;min-width:0;max-width:100%;width:auto;margin:0}
  .mtable table.stack td form{flex-wrap:nowrap}
  .bulkbar{left:16px;right:16px;width:auto;transform:none;animation:none;bottom:16px;padding:10px 12px}
  .bulkbar .bbr{width:100%}
  .bassign{flex:1 1 100%}
  .bassign select{flex:1;min-width:0}
  .bulkbar .btn{flex:1}
  .mtable table.stack td form select{max-width:none;flex:1}
}

/* Juristra.ai shared palette, verified against the main site. */
:root{--forest:#262626;--forest-2:#414141;--forest-3:#515151;--on-forest:#F6F5F1;--on-forest-mute:#C9D5D3;--paper:#F6F5F1;--ink:#16150F;--mute:#625F58;--line:#DEDED8;--line-2:#C9D5D3;--sage:#E9EEEB;--sage-line:#C9D5D3;--btn:#16150F}
.brand .word i{color:#C9D5D3}.card.box{border-top-color:#C9D5D3}body{background-color:#F6F5F1}.btn:not(.ghost):not(.danger):not(.light):not(.ghostlight){background-color:var(--btn)}

footer.legal{background:#262626;color:#C9D5D3;border-color:#515151}footer.legal a{color:#F6F5F1}footer.legal .lgline,footer.legal .lgl{color:#C9D5D3}
/* Shared brand surfaces, including the legacy decorative rails. */
body.app{background:#F6F5F1}.railbg{background:#262626}.gatebrand .railbg{background:linear-gradient(150deg,#353535,#262626)}
.side-mini,.legend-mini,.cover-mini,.pfhead{background:#262626}.brand .word i{color:#C9D5D3}
@media(max-width:900px){.side{background:#262626}}

/* Monochrome application panels. Warning/danger colours remain semantic. */
:root{--forest:#151515;--forest-2:#292929;--forest-3:#404040;--on-forest:#FFFFFF;--on-forest-mute:#BFBFBF;--paper:#FAFAFA;--card:#FFFFFF;--ink:#161616;--mute:#626262;--line:#E3E3E3;--line-2:#CECECE;--sage:#F3F3F3;--sage-line:#D8D8D8;--brass:#454545;--brass-ink:#333333;--brass-tint:#F2F2F2;--brass-line:#D6D6D6;--btn:#171717}
body.app{background:#FAFAFA}.railbg,.gatebrand .railbg,.side-mini,.legend-mini,.cover-mini,.pfhead,.ovhero{background:#171717}
.brand .word{font-family:Geist,system-ui,sans-serif;font-size:26px;font-weight:500;letter-spacing:-.78px}.brand .ai{font-weight:400;opacity:.7}.brand{gap:9px}.brand .word i{color:inherit}
.ovhero .btn.light{background:#FFFFFF;color:#161616;border-color:#FFFFFF}.ovhero .btn.light:hover{background:#EEEEEE;color:#111111}.ovhero .btn.ghostlight{background:transparent;color:#FFFFFF;border-color:#9C9C9C}.ovhero .btn.ghostlight:hover{background:#333333;color:#FFFFFF}
footer.legal{background:#171717;color:#C7C7C7;border-color:#383838}footer.legal .lgline,footer.legal .lgl{color:#D1D1D1}.ovhero .ovkicker,.ovhero .ovlead,.ovhero .advfacts span{color:#D1D1D1}
@media(max-width:900px){.side{background:#171717}}
/* Explicit foregrounds for surfaces whose parent may use an inverse theme. */
.card,.authcard,.gatechoose,.lgfull,.doccard,.panel{color:#202020}
footer.legal .lgfull,footer.legal .lgfull p,footer.legal .lgfull b{background:#FFFFFF;color:#303030}footer.legal .lgfull a{color:#202020;text-decoration:underline}
.card .hint,.authcard .hint,.panel .hint,.work .hint{color:#565656}
.btn:not(.ghost):not(.light):not(.ghostlight):not(.danger){color:#FFFFFF}.btn.ghost{color:#202020;background:#FFFFFF}
.ovhero,.gatebrand,.side,.pfhead,.bulkbar{color:#FFFFFF}.ovhero .hint,.gatebrand .hint,.side .hint,.pfhead .hint{color:#D1D1D1}
.ovhero .btn.light{background:#FFFFFF;color:#171717}.ovhero .btn.ghostlight,.bulkbar .btn.ghost{background:transparent;color:#FFFFFF}
.pill,.tag,.chip{color:#333333;background:#EFEFEF}.pill.hi{color:#8A251C;background:#FFF1ED}
button:disabled,.btn:disabled{opacity:1;color:#555555;background:#E7E7E7;border-color:#CCCCCC;box-shadow:none}
input::placeholder,textarea::placeholder{color:#666666;opacity:1}
/* The client journey: upload, confirm, track. */
.easy-progress{display:flex;gap:12px;max-width:820px;margin:24px auto 12px;padding:0;align-items:center}.easy-progress span{flex:1;display:flex;align-items:center;gap:10px;padding:14px 16px;background:#ededed;border:1px solid #ddd;border-radius:12px;color:#575757;font-size:14px;font-weight:600}.easy-progress i{display:inline-grid;place-items:center;width:25px;height:25px;border:1px solid #a0a0a0;border-radius:50%;font-style:normal;flex-shrink:0}.easy-progress [aria-current],.easy-progress .complete{background:#171717;color:#fff;border-color:#171717}.easy-progress [aria-current] i{border-color:#fff}.draft-status{max-width:820px;margin:0 auto 22px;color:#595959;font-size:12px}.easy-nav{max-width:820px;margin:20px auto;display:flex;justify-content:flex-end;gap:12px}.easy-nav[hidden],#intake [hidden]{display:none!important}.easy-help{max-width:820px;margin:26px auto;color:#333;font-size:14px;border-top:1px solid #ddd;padding-top:16px}.easy-help summary{cursor:pointer;font-weight:600}.easy-help p{line-height:1.6}.wa-alternative{text-align:center;font-size:14px;margin:20px 0}.wa-alternative a{text-decoration:underline}#box-extra>summary{cursor:pointer;font-weight:600;font-size:16px}#box-extra>summary .hint{display:block;margin-top:6px;font-size:13px;font-weight:400}#box-extra[open]>summary{margin-bottom:20px}#box-extra .stephead{display:none}#intake .drop{padding:38px 20px}#intake .intro{scroll-margin-top:90px}.client-journey{display:flex;gap:12px;margin:0 0 22px;list-style:none;padding:0}.client-journey li{flex:1;border-top:3px solid #d4d4d4;padding:12px 0;font-size:13px;color:#555}.client-journey .done,.client-journey .now{border-color:#171717;color:#171717}.client-journey .now{font-weight:700}.next-action{padding:12px 16px;background:#f0f0f0;color:#222;border-radius:8px;font-size:14px;margin:16px 0}.intro h1{letter-spacing:-.035em}@media(max-width:560px){.easy-progress{gap:6px}.easy-progress span{padding:12px 8px;gap:6px;font-size:12px}.easy-progress i{width:22px;height:22px}.easy-nav .btn{font-size:13px;padding:12px}.client-journey{gap:8px}}

/* Inverse buttons define both colours; never inherit a dark fill from the primary button. */
.btn.light,.ctaband .btn.light{background:#FFFFFF;color:#171717;border-color:#FFFFFF}
.btn.light:hover,.ctaband .btn.light:hover{background:#EEEEEE;color:#111111;border-color:#EEEEEE}
.btn.ghostlight{background:transparent;color:#FFFFFF;border-color:#A0A0A0}
.btn.ghostlight:hover{background:#333333;color:#FFFFFF;border-color:#FFFFFF}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #2768B0;outline-offset:3px}

/* ---------- matter page: admin actions (tracking link, retention hold, delete) ---------- */
.admacts{padding:0;overflow:hidden}
.admacts>summary{padding:16px 22px;font-size:15px}
.admacts>summary .hint{font-weight:400;font-size:13px}
.admacts[open]>summary{border-bottom:1px solid var(--line)}
.admrow{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 22px;border-bottom:1px solid var(--line)}
.admrow>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.admrow>div span,.admdanger>span{font-size:13px;color:var(--mute)}
.admrow form{flex:none;margin:0}
.admdanger{margin:0;max-width:760px;padding:16px 18px;border:1px solid var(--warn-line);border-radius:var(--radius);background:var(--warn-tint);display:flex;flex-direction:column;gap:4px}
.admacts .admdanger{margin:16px 22px 20px;max-width:none}
.admdanger>b{color:var(--warn-ink)}
.admdanger label{margin:12px 0 6px;font-size:13px}
.admdanger code{font:600 12.5px var(--mono,ui-monospace,monospace);background:#fff;border:1px solid var(--warn-line);border-radius:5px;padding:1px 6px}
.admdelrow{display:flex;gap:10px;align-items:center}
.admdelrow input{flex:1 1 auto;max-width:320px;background:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.5px}
.admdelrow .btn:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:700px){.admrow{flex-direction:column;align-items:flex-start}.admdelrow{flex-direction:column;align-items:stretch}.admdelrow input{max-width:none}}

/* Property details asked at the AI run button when the client was unsure */
.aitype{display:block;margin:0 0 12px;padding:10px 12px;border:1px solid var(--warn-line,#e3c9a0);background:var(--warn-tint,#fbf4e8);border-radius:8px}
.aitype b{display:block;margin-bottom:2px}
.aitypes{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.aitypes label{flex:1 1 200px;margin:0;font-size:13px}
.aitypes select{width:100%;margin-top:4px}

/* "Go there" / "Show me": the element to act on is marked for a moment */
.jr-here{outline:3px solid var(--forest-2,#2f6b4f);outline-offset:4px;border-radius:8px;animation:jrhere 1s ease-in-out 3}
@keyframes jrhere{0%,100%{outline-color:rgba(47,107,79,1)}50%{outline-color:rgba(47,107,79,.25)}}
.toast .toastgo{margin-left:8px;padding:2px 10px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.pvok{color:var(--forest-2,#2f6b4f);font-size:14px;font-weight:600;margin-left:6px}

/* Data tables in the workspace: a header band with even spacing, rows that line up under it, room at both edges */
main.work table th{padding:13px 14px;background:#F6F7F4;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}
main.work table td{padding:14px 14px}
main.work table th:first-child,main.work table td:first-child{padding-left:20px}
main.work table th:last-child,main.work table td:last-child{padding-right:20px}
@media(max-width:700px){main.work table th{white-space:normal}}
.admheld{margin:0 0 8px;padding:8px 10px;border-radius:8px;background:#FFF4D6;border:1px solid #E9CD7A;color:#6B4E00;font-size:13px}

/* Matter page document list: "Download" next to a file, for admins only (advocates open files in the viewer) */
.sidedocs a.dl{margin-left:6px;font-size:12px;color:var(--mute,#6b6a65);text-decoration:underline}
.sidecta.ghost.on{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.45)}

/* ---------- service packages: pricing page ----------
   Three screens as you scroll: the four packages (centred in the first view), the full comparison, then specialised
   counsel in one graphite band with the call form inside. Monochrome graphite in tones, never flat black and white:
   soft stone greys behind, white cards with depth, one graphite card for the recommendation. */
html:has(.pricing){scroll-behavior:smooth}
.pricing{--g0:#F1F0ED;--g1:#E7E6E2;--g2:#5B5A57;--g3:#3A3936;--g4:#2A2927;--g5:#1D1C1B;margin:0 -40px;padding:0 40px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pmeter{display:inline-flex;gap:3px;align-items:flex-end;height:13px}
.pmeter i{width:4px;border-radius:2px;background:#D3D2CE}
.pmeter i:nth-child(1){height:5px}.pmeter i:nth-child(2){height:8px}.pmeter i:nth-child(3){height:10px}.pmeter i:nth-child(4){height:13px}
.pmeter i.on{background:var(--g4,#2A2927)}
.pdepth{display:inline-flex;align-items:center;gap:7px;font:500 11px/1 var(--mono);color:#8A8985}
.peyebrow{font:600 11px/1.4 var(--sans);letter-spacing:2.2px;text-transform:uppercase;color:#8A8985;margin:0 0 14px}
.phead{text-align:center;max-width:960px;margin:0 auto 44px}
.phead h1{margin:0 0 12px;font-size:clamp(32px,3.6vw,46px);line-height:1.08;letter-spacing:-1px}
.plede{margin:0;color:var(--mute);font-size:16px}
.phead-sm{margin-bottom:28px}.phead-sm h2{margin:0;font-size:clamp(26px,2.6vw,32px);letter-spacing:-.5px}

.pscreen{min-height:calc(100vh - 58px);display:flex;flex-direction:column;justify-content:center;padding:48px 0;scroll-margin-top:0}
.pscreen-tiers{margin:0 -40px;padding:48px 40px;background:radial-gradient(70% 60% at 50% 0%,#FFFFFF 0%,rgba(255,255,255,0) 70%),linear-gradient(180deg,var(--g0),var(--g1))}

/* screen 1: four cards */
.ptiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:center;max-width:1200px;width:100%;margin:0 auto}
.ptier{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:30px 26px 26px;background:#fff;border-radius:22px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 18px 40px -26px rgba(29,28,27,.35);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.ptier:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(0,0,0,.04),0 28px 50px -26px rgba(29,28,27,.45)}
.ptier h2{margin:22px 0 2px;font-size:25px;letter-spacing:-.3px}
.ptier-who{margin:0;color:#7A7975;font-size:14px}
.ptier-price{display:flex;align-items:baseline;gap:6px;margin:34px 0 28px}
.ptier-price span{font:500 40px/1 var(--serif);letter-spacing:-1.2px}
.ptier-price small{font-size:12.5px;color:#8A8985}
.ptier .btn{width:100%;margin-top:auto}
.ptier-rec{padding:44px 26px 30px;color:#fff;background:radial-gradient(120% 80% at 100% 0%,#4A4945 0%,rgba(74,73,69,0) 60%),linear-gradient(165deg,var(--g3),var(--g5));box-shadow:0 34px 60px -30px rgba(29,28,27,.75)}
.ptier-rec:hover{box-shadow:0 40px 70px -30px rgba(29,28,27,.8)}
.ptier-rec h2{color:#fff}
.ptier-rec .ptier-who,.ptier-rec .ptier-price small,.ptier-rec .pdepth{color:#B4B3AE}
.ptier-rec .pmeter i{background:rgba(255,255,255,.2)}.ptier-rec .pmeter i.on{background:#fff}
.pbadge{position:absolute;top:16px;right:16px;font:600 10px/1 var(--sans);letter-spacing:1px;text-transform:uppercase;padding:6px 10px;border-radius:20px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.2)}
.btn.light{background:#fff;color:var(--g5);border-color:#fff}
.btn.light:hover{background:#ECEBE8;border-color:#ECEBE8;color:var(--g5)}
.pnext{display:inline-flex;flex-direction:column;align-items:center;gap:8px;margin:44px auto 0;color:#7A7975;font-size:13px;text-decoration:none}
.pnext::after{content:"";width:9px;height:9px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);animation:pbob 1.8s ease-in-out infinite}
.pnext:hover{color:var(--g5)}
@keyframes pbob{50%{transform:translateY(4px) rotate(45deg)}}

/* screen 2: the comparison */
.pcompare{--t0:var(--g4);--t1:#5B5A57;--t2:#4A4946;--t3:#3A3936;--t4:#2A2927;width:100%;background:#fff;border-radius:22px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 24px 50px -32px rgba(29,28,27,.4);overflow:hidden}
.pcompare table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0}
.pcompare th,.pcompare td,main.work .pcompare th{white-space:normal;border:0;border-bottom:0!important;border-top:1px solid #EEEDEA;border-left:1px solid #EEEDEA;padding:16px 22px;text-align:left;vertical-align:top;font-size:14px;line-height:1.6;position:static}
.pcompare tr>:first-child{border-left:0;width:170px}
main.work .pcompare thead th,.pcompare thead td{border-top:0;border-left:1px solid rgba(255,255,255,.07);vertical-align:bottom;padding:24px 22px;color:#fff;font-weight:400;text-transform:none;letter-spacing:0}
main.work .pcompare thead th.pt1{background:var(--t1)}main.work .pcompare thead th.pt2{background:var(--t2)}main.work .pcompare thead th.pt3{background:var(--t3)}main.work .pcompare thead th.pt4{background:var(--t4)}
.pcompare thead th>*{display:flex}.pcompare thead th>*+*{margin-top:6px}
.pcompare thead .pdepth{color:rgba(255,255,255,.55)}
.pcompare thead .pmeter i{background:rgba(255,255,255,.2)}.pcompare thead .pmeter i.on{background:#fff}
.pname{font:500 19px/1.2 var(--serif)}
.pprice{font:500 22px/1.1 var(--serif);align-items:baseline}
.pprice small{font:400 12px var(--sans);opacity:.6;margin-left:6px}
.pcorner,main.work .pcompare .pcorner{background:var(--t0);border-left:0}
main.work .pcompare tbody th{background:var(--t0);color:#B4B3AE;font:600 10.5px/1.6 var(--sans);letter-spacing:1.5px;text-transform:uppercase;border-top-color:rgba(255,255,255,.06);padding-top:19px}
.pr-reader td{font-weight:600}
.pr-boundary td,.pr-terms td{color:var(--mute);font-size:13.5px}
.pcompare td.prec{background:#F8F7F5}
.pcards{display:none}
.pfine{max-width:900px;margin:20px auto 0;text-align:center;font-size:12px;line-height:1.6;color:#8A8985}

/* screen 3: specialised counsel, one band */
.pspecial{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);gap:56px;align-items:center;min-height:calc(100vh - 58px);margin:0 -40px;padding:64px 40px;scroll-margin-top:0;color:#fff;
  background:radial-gradient(60% 80% at 0% 0%,#4A4945 0%,rgba(74,73,69,0) 60%),radial-gradient(50% 70% at 100% 100%,#34332F 0%,rgba(52,51,47,0) 70%),linear-gradient(160deg,var(--g4),var(--g5))}
.pspecial .peyebrow{color:#9C9B96}
.pspecial h2{margin:0 0 10px;color:#fff;font-size:clamp(32px,3.4vw,46px);letter-spacing:-1px;line-height:1.08}
.pspecial-lede{margin:0 0 36px;color:#B4B3AE;font-size:16px}
.pmandates{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:680px}
.pmandate{padding-top:18px;border-top:1px solid rgba(255,255,255,.18)}
.pmandate h3{margin:0 0 12px;color:#fff;font-size:20px}
.pmandate ul{list-style:none;margin:0;padding:0}
.pmandate li{position:relative;padding:4px 0 4px 20px;font-size:14px;color:#D2D1CC}
.pmandate li::before{content:"";position:absolute;left:2px;top:10px;width:8px;height:4px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg)}
.pform{background:#fff;color:var(--ink);border-radius:22px;padding:30px 30px 28px;box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
.pform h3{margin:0 0 16px;font-size:24px;letter-spacing:-.3px}
.pform label{margin:14px 0 6px}
.pform label small{font-weight:400;color:#8A8985;margin-left:4px}
.pform textarea{min-height:64px;resize:vertical}
.pform .btn{width:100%;margin-top:20px;padding:13px 20px}
.pint{border:0;margin:0;padding:4px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--g0);border-radius:12px}
.pint label{margin:0;position:relative}
.pint input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pint span{display:block;text-align:center;padding:9px 6px;border-radius:9px;font-size:13.5px;font-weight:500;color:#5B5A57;transition:background .15s,color .15s,box-shadow .15s}
.pint label:hover span{color:var(--g5)}
.pint input:checked+span{background:#fff;color:var(--g5);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.pint input:focus-visible+span{outline:2px solid var(--g4);outline-offset:1px}
.ptwo{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.psent{text-align:center;padding:30px 8px}
.psent-mark{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--g5);color:#fff;font-size:20px;margin-bottom:14px}
.psent h3{margin:0 0 6px}.psent p{margin:0;color:var(--mute)}

@media(max-width:1100px){.ptiers{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.ptier-rec{padding-top:30px}.pspecial{grid-template-columns:1fr;gap:36px}}
@media(max-width:980px){
  .pricing,.pscreen-tiers,.pspecial{margin:0 -18px;padding-left:18px;padding-right:18px}
  .pricing{margin:0}
  .pscreen{min-height:0}
  .pspecial{min-height:0}
  .pcompare{display:none}
  .pcards{display:grid;gap:12px}
  .pcard{padding:20px;background:#fff;border-radius:18px;box-shadow:0 14px 30px -22px rgba(29,28,27,.35)}
  .pcard h3{margin:0}.pcard dl{margin:0}
  .pcard dt{font:600 10.5px/1.6 var(--sans);letter-spacing:1.2px;text-transform:uppercase;color:#8A8985;margin-top:12px}
  .pcard dd{margin:2px 0 0;font-size:14px}
}
@media(max-width:600px){.ptiers,.pmandates,.ptwo{grid-template-columns:1fr}.pform{padding:22px 18px}}
@media(prefers-reduced-motion:reduce){.ptier{transition:none}.ptier:hover{transform:none}.pnext::after{animation:none}}

/* the choice on the upload form: one row per package */
.pchoice{display:flex;flex-direction:column;gap:10px}
.prow{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:4px 14px;align-items:start;margin:0;padding:16px 18px;border:1px solid var(--line-2);border-radius:12px;background:#fff;font-weight:400;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.prow:hover{border-color:#AEB8B1;background:#FCFDFB}
.prow input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--forest)}
.prow:has(input:checked){border-color:var(--forest);background:#F6F6F6;box-shadow:inset 0 0 0 1px var(--forest)}
.prow:has(input:focus-visible){outline:2px solid var(--brass);outline-offset:2px}
.prow-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.prow-name{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-weight:600;font-size:15.5px}
.prow-name em{font:600 10.5px/1 var(--sans);font-style:normal;padding:4px 8px;border-radius:20px;background:var(--forest);color:#fff}
.prow-text{font-size:14px;color:var(--ink);line-height:1.5}
.prow-terms{font-size:12.5px;color:var(--mute);line-height:1.45}
.prow-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right;white-space:nowrap}
.prow-price{font:500 19px/1 var(--serif);letter-spacing:-.2px}
.prow-gst{font-size:11.5px;color:var(--mute);margin-top:-3px}
.pmore{margin-top:14px}
@media(max-width:560px){.prow{grid-template-columns:20px minmax(0,1fr)}.prow-side{grid-column:2;flex-direction:row;align-items:center;gap:10px}.prow-gst{margin:0}}

/* the client's package on the tracking page, and admin forms */
.pkgmine{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:14px}
.pkgmine>.hint:last-child{flex-basis:100%}
.pkgset{display:flex;gap:8px;align-items:center}
.pkgset select{max-width:280px}
@media(prefers-reduced-motion:reduce){.prow{transition:none}}

/* ---------- orders and payments: client account, receipt, admin ---------- */
.pill.ord-pending{color:var(--mute)}
.pill.ord-due{border-color:var(--brass-line);background:var(--brass-tint);color:var(--brass-ink);font-weight:600}
.pill.ord-paid{border-color:var(--forest-3);color:var(--forest);font-weight:600}
.pill.ord-refunded,.pill.ord-cancelled{color:var(--mute);text-decoration:line-through}
.receipt{max-width:760px}
.rgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin:0 0 20px}
.rgrid dt{font:600 10.5px/1.6 var(--sans);letter-spacing:1.4px;text-transform:uppercase;color:var(--mute)}
.rgrid dd{margin:2px 0 0}
.rlines{width:100%;border-collapse:collapse;margin:0 0 14px}
main.work .rlines td{padding:12px 0;border-bottom:1px solid var(--line);background:none}
.rlines .num{text-align:right;white-space:nowrap}
.rlines .rtotal td{font-weight:600;font-size:16px;border-bottom:0}
.ordadmin h3{margin:0 0 12px}
.ordadmin table{width:100%}
.ordform{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;margin:2px 6px 2px 0}
.ordform select,.ordform input{width:auto;min-height:34px;padding:6px 10px;font-size:13px}
.ordform input{max-width:180px}
@media print{.side,.topbar,.noprint,.legalbar,footer{display:none!important}body.app{display:block;background:#fff}main.work{padding:0}.card{box-shadow:none}}
@media(max-width:600px){.rgrid{grid-template-columns:1fr}}

/* client account: needs-attention list, section heads, top bar sign-in */
.todo{padding:6px 22px}
.todorow{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line)}
.todorow:first-child{border-top:0}
.secthead{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.secthead h1,.secthead h2{margin-bottom:8px}
.topacts{display:flex;align-items:center;gap:10px}

/* payments: client report, order page, admin filters and charges */
.pill.ord-verifying{border-color:var(--brass);color:var(--brass-ink);background:var(--brass-tint);font-weight:600}
.pill.ord-part_refunded{border-color:var(--forest-3);color:var(--forest-2)}
.ordpage{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:18px;align-items:start}
.ordpage>.card{margin:0}
.payside h3{margin:18px 0 8px;font-size:17px}.payside h3:first-child{margin-top:0}
.payside .ordform{display:flex;margin:0 0 6px}
.payside .ordform input[type=text]{flex:1;max-width:none}
.paidform{margin-top:6px;padding-top:4px;border-top:1px solid var(--line)}
.warnnote{border-color:var(--warn-line);background:var(--warn-tint);color:var(--warn-ink);margin-bottom:12px}
.ordacts{white-space:nowrap}
.payfilter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,2fr) auto;gap:0 12px;align-items:end;padding:14px 18px}
.payfilter label{margin-top:0}
.payfilter .go{display:flex;gap:10px;align-items:center;padding-bottom:4px}
.kpis5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1100px){.kpis5{grid-template-columns:repeat(3,minmax(0,1fr))}.payfilter{grid-template-columns:1fr 1fr}.payfilter .wide{grid-column:1/-1}}
@media(max-width:900px){.ordpage{grid-template-columns:1fr}}

/* package work: client cards, preliminary report, staff panel */
.pkgwork h2{margin-top:0}
.pkgwork h3,.pkgpanel h4{margin:18px 0 6px;font-size:15px}
.pkgpanel h3{margin:0}
.obstext{padding:12px 14px;border-radius:10px;background:var(--sage);border:1px solid var(--sage-line);font-size:14px;line-height:1.6}
.calllist{margin:6px 0 10px;padding-left:18px}.calllist li{margin:4px 0}
.inlineup{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.pkgform{margin-top:8px}
.pkgform textarea{min-height:90px}
.callgrid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:0 12px}
.flagrow{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}
.flagrow:first-child{border-top:0;padding-top:0}
.flagrow p{margin:4px 0 0;font-size:14px;color:var(--mute)}
.pill.sev-high{border-color:var(--warn-line);background:var(--warn-tint);color:var(--warn-ink);font-weight:600}
.pill.sev-medium{border-color:var(--brass-line);background:var(--brass-tint);color:var(--brass-ink);font-weight:600}
.checklist{margin:0;padding-left:20px}.checklist li{margin:5px 0}
.upsell{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
@media(max-width:600px){.callgrid{grid-template-columns:1fr}}

/* online payment block */
.rzpbox{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.rzpbox h3{margin-top:0}
.orpay{margin:10px 0 0}

.admlink{display:flex;gap:6px;margin-top:6px}.admlink input{flex:1;min-width:0;font:12px/1.4 ui-monospace,Menlo,monospace;padding:5px 8px;border:1px solid var(--line,#ddd);border-radius:6px;background:#fff}

.policylinks{display:flex;flex-wrap:wrap;gap:6px 18px;padding:14px 0 8px;font-size:13px}.policylinks a{color:inherit;opacity:.75;text-decoration:none}.policylinks a:hover{opacity:1;text-decoration:underline}
.contactlist{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:14px 20px;margin:0}.contactlist dt{font-weight:600}.contactlist dd{margin:0}@media(max-width:640px){.contactlist{grid-template-columns:1fr;gap:4px}.contactlist dd{margin-bottom:12px}}
