@font-face{font-family:'Trajan Pro';src:url('TrajanPro-Regular.otf') format('opentype');font-weight:400}
@font-face{font-family:'Trajan Pro';src:url('TrajanPro-Bold.otf') format('opentype');font-weight:700}
/* R4.1 (2026-09-11): the website's own self-hosted faces — Montserrat for
   everything, Cinzel for firm page titles (Rev 2 build specification). */
@font-face{font-family:'Montserrat';src:url('fonts/Montserrat-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('fonts/Montserrat-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Cinzel';src:url('fonts/Cinzel-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{
  --brand-blue:#256AB4; --brand-gray:#798A92;
  /* R4.1 palette (Rev 2 spec §2): navy shell, brand-gold rule, blue actions */
  --navy:#16283A; --navy-2:#244A64; --navy-3:#0F1A30;
  --gold:#CC8800; --gold-soft:#E8B44E; --gold-wash:#FFF7E5;
  --blue:#1F5D96; --heading:#324A5E; --control:#8193A2;
  --ink:#263B4B; --muted:#586976; --line:#D9E2E8; --line-soft:#E3EAF0;
  --bg:#F3F6F8; --card:#fff; --ok:#2C6143; --err:#962E2E; --amber:#795005; --amber-wash:#FFF1D4;
  --shadow:0 1px 2px rgba(22,40,58,.05); --radius:8px;
}
*{box-sizing:border-box;margin:0}
body{font-family:'Montserrat',Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
h1,h2,h3{font-family:'Montserrat',Arial,sans-serif;font-weight:500;color:var(--heading)}
a{color:var(--blue)} button{font:inherit;cursor:pointer}
.lockup{display:inline-flex;align-items:center;gap:11px;text-align:left}
.lockup img{height:46px;width:auto}
.lockup .lk-bar{width:1.5px;align-self:stretch;background:var(--brand-gray);opacity:.65}
.lockup .lk-name{font-family:'Trajan Pro',Georgia,serif;font-weight:700;font-size:23px;color:var(--brand-blue);letter-spacing:.045em;line-height:1.05}
.lockup .lk-sub{font-family:'Trajan Pro',Georgia,serif;font-weight:400;font-size:10.5px;color:var(--brand-gray);letter-spacing:.30em;margin-top:2px}
.lockup-white img{height:34px}
.lockup-white .lk-name{color:#fff;font-size:17px}
.lockup-white .lk-sub{color:#b8c2cc;font-size:8px}
.lockup-white .lk-bar{background:#b8c2cc}
a.lockup{text-decoration:none}a.lockup:focus-visible{outline:3px solid rgba(201,169,97,.55);outline-offset:3px}
/* Agreement template studio */
main.wrap.wrap-wide{max-width:1400px}
.panel-body-pad{padding:14px 24px 18px;font-size:13px;color:var(--ink)}
.studio-cols{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:20px;align-items:start}
@media(max-width:960px){.studio-cols{grid-template-columns:1fr}}
/* R1.53 (2026-08-19): studio mapping workspace — fields down the left,
   document preview in the middle, palette on the right. */
.studio-cols3{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr) minmax(250px,300px);gap:20px;align-items:start}
.studio-cols3 .tpl-viewer{max-height:calc(100vh - 230px)}
.map-list{padding:4px 20px 8px;max-height:calc(100vh - 330px);overflow-y:auto}
.map-row{padding:10px 0;border-bottom:1px solid #eef0f3}
.map-row:last-child{border-bottom:0}
.map-row small{display:block;color:var(--muted);margin:3px 0 0}
.map-row select{width:100%;margin-top:6px}
@media(max-width:1280px){.studio-cols3{grid-template-columns:minmax(280px,1fr) minmax(0,1.6fr)}.studio-cols3>div:last-child{grid-column:1/-1}}
@media(max-width:960px){.studio-cols3{grid-template-columns:1fr}.studio-cols3 .tpl-viewer,.map-list{max-height:560px}}
.tpl-tok{display:inline-block;padding:1px 7px;border-radius:6px;font-family:ui-monospace,Consolas,monospace;font-size:11.5px;line-height:1.7;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.tpl-tok-auto{background:var(--gold-wash);border:1px solid #d8c58e;color:#6b5d3b}
.tpl-tok-attorney{background:#eef2f7;border:1px solid #c6d0dd;color:var(--navy)}
.tpl-tok-unmapped{background:#fdecec;border:1px solid #e5b4b4;color:var(--err)}
.tpl-tok-cond{background:#fff;border:1px dashed var(--brand-gray);color:var(--muted)}
.tpl-viewer{max-height:560px;overflow-y:auto;padding:22px 26px;font-size:13px;line-height:1.7;border-top:1px solid var(--line)}
.tpl-viewer h2,.tpl-viewer h3,.tpl-viewer h4{font-size:15px;margin:14px 0 4px}
.tpl-viewer p{margin:7px 0}
/* R1.54: paragraphs the Word master sets to zero spacing-after (address block) stay single-spaced in previews. */
.tpl-viewer p.tight,.lh-body p.tight{margin:1px 0}
.tpl-viewer .tpl-blank{margin:2px 0}
.tpl-viewer table.tpl-table{margin:10px 0}
.palette{padding:10px 24px 18px}
.palette h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 4px}
.palette-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #eef0f3;font-size:12.5px}
.palette-row code{font-size:11px;color:var(--gold)}
.palette-row .btn-sm,.palette-row form .btn-sm{margin:0;white-space:nowrap}
.palette-add{margin-top:14px;padding-top:8px;border-top:2px solid var(--gold)}
.palette-add label{font-size:12px}
.assist-filled{background:var(--gold-wash)!important;border-color:#d8c58e!important}
.topnav{background:var(--navy);display:flex;align-items:center;gap:18px;padding:10px 28px;min-height:64px;flex-wrap:wrap}
.topnav nav{margin-left:auto;display:flex;gap:24px;align-items:center}
.topnav nav a,.topnav nav .nav-signout{color:#c7cfdd;font-size:13.5px;font-weight:500;text-decoration:none}.topnav nav .nav-signout{background:none;border:0;padding:0;font-family:inherit;cursor:pointer}/* R2.8: the sign-out button follows the tabs' size on phones (it was inline-styled at 13.5px) */
.btn:disabled,.btn-sm:disabled{opacity:.45;cursor:not-allowed}/* R2.8: a disabled action looks disabled */
.intake-asks{margin:16px 24px 0}.intake-asks p{margin:6px 0 0}.intake-asks ul{margin:4px 0 2px 18px;padding:0;font-size:13px}.intake-asks li{margin:2px 0}/* R2.9: the "What we need from you" box on a request */
@media(max-width:700px){.intake-asks{margin:12px 16px 0}}
/* R2.10: the attorney dashboard's "Your matters" panel */
.dash-matter{align-items:flex-start;gap:14px}.dash-matter.pinned{border-left:3px solid var(--gold)}.dash-matter-main{flex:1;min-width:0}.dash-matter-title{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.dash-matter-title a{text-decoration:none;color:var(--navy)}.dash-matter-title .badge{font-size:10px;padding:3px 9px}
.dash-waiting{margin:6px 0 0 16px;padding:0;font-size:13px}.dash-waiting li{margin:2px 0}.dash-waiting li a{color:var(--navy)}.dash-waiting li.urgent a{color:var(--err,#b3261e);font-weight:600}.dash-quiet{margin:6px 0 0;font-size:12.5px}
.dash-matter-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch}.dash-matter-actions .btn-sm{margin:0;text-align:center;text-decoration:none}.dash-matter-actions form .btn-sm{width:100%}
@media(max-width:700px){.dash-matter{flex-direction:column}.dash-matter-actions{flex-direction:row;flex-wrap:wrap;width:100%}.dash-matter-actions .btn-sm,.dash-matter-actions form{flex:1}}
.topnav nav a.act{color:#fff;border-bottom:2px solid var(--gold);padding-bottom:2px}
/* R1.52: admin Tools menu — <details>-based, no-JS-required dropdown */
.nav-tools{position:relative}
.nav-tools>summary{list-style:none;cursor:pointer;color:#c7cfdd;font-size:13.5px;font-weight:500;display:inline-flex;align-items:center;gap:6px;user-select:none}
.nav-tools>summary::-webkit-details-marker{display:none}
.nav-tools>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.nav-tools>summary:hover,.nav-tools[open]>summary{color:#fff}
.nav-tools.act>summary{color:#fff;border-bottom:2px solid var(--gold);padding-bottom:2px}
.nav-tools>summary:focus-visible{outline:3px solid rgba(201,169,97,.55);outline-offset:3px}
.nav-tools-menu{position:absolute;right:-8px;top:calc(100% + 16px);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 50px rgba(15,26,46,.28);min-width:320px;padding:8px;z-index:80}
.nav-tools-menu::before{content:"";position:absolute;top:-6px;right:22px;width:10px;height:10px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.nav-tools-menu a{display:block;padding:9px 12px;border-radius:8px;text-decoration:none}
.nav-tools-menu a b{display:block;color:var(--navy);font-size:13.5px;font-weight:600}
.nav-tools-menu a small{display:block;color:var(--muted);font-size:12px;line-height:1.45;margin-top:1px}
.nav-tools-menu a:hover,.nav-tools-menu a.on{background:var(--gold-wash)}
.nav-tools-menu a.on b::after{content:"·  you are here";color:var(--gold);font-size:11px;font-weight:600;margin-left:8px}
/* R1.52f: section-picker cards with the language they insert */
.sect-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.sect-card{border:1px solid var(--line);border-radius:9px;padding:12px 14px;background:#fff}
.sect-card>label{display:flex;gap:9px;align-items:flex-start;margin:0;font-weight:600;color:var(--navy);cursor:pointer}
.sect-card>label input{margin-top:3px}
.sect-card .sect-desc{display:block;color:var(--muted);font-size:12.5px;line-height:1.55;margin:7px 0 0 25px}
.sect-card details{margin:7px 0 0 25px}
.sect-card summary{cursor:pointer;font-size:12px;color:#8a6f2f;font-weight:600}
.sect-lang{margin-top:8px;padding:11px 13px;background:var(--bg);border:1px solid var(--line);border-radius:7px;font-size:12.5px;line-height:1.65;max-height:280px;overflow:auto}
.sect-card:has(input:checked){border-color:#d8c58e;background:var(--gold-wash)}
@media(max-width:760px){.sect-grid{grid-template-columns:1fr}}
/* R1.52d: agreement preview as a letterhead sheet */
.letterhead-sheet{background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:0 14px 44px rgba(15,26,46,.16);max-width:860px;margin:0 auto;padding:56px 72px 40px}
.lh-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:16px;border-bottom:3px solid var(--gold);margin-bottom:30px}
.lh-head .lockup img{height:44px}
.lh-addr{text-align:right;font-size:11.5px;line-height:1.7;color:var(--muted)}
.lh-body{font-family:Cambria,Georgia,'Times New Roman',serif;font-size:14.5px;line-height:1.65;color:#1c2330}
.lh-body p{margin:0 0 12px}
.lh-body h1,.lh-body h2,.lh-body h3,.lh-body h4{font-family:inherit;font-size:15px;font-weight:700;margin:20px 0 8px;color:#1c2330}
.lh-body .tpl-blank{margin:0;line-height:.9}
.lh-body table.tpl-table{margin:12px 0}
.lh-foot{margin-top:34px;padding-top:12px;border-top:1px solid var(--line);text-align:center;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
@media(max-width:760px){.letterhead-sheet{padding:26px 20px 22px}.lh-head{flex-direction:column}.lh-addr{text-align:left}}
/* R1.52c: the one true button on the agreement page */
.agreement-primary{padding:22px 24px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.agreement-primary .btn{font-size:15px;padding:13px 26px}
.agreement-primary .hint{max-width:640px}
/* R1.52: tool directory cards (Firm page) */
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;padding:18px 24px 22px}
.tool-card{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:#fff;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
.tool-card:hover{transform:translateY(-1px);border-color:#d8c58e;box-shadow:var(--shadow)}
.tool-card b{display:block;color:var(--navy);font-size:14px;font-weight:600}
.tool-card small{display:block;color:var(--muted);font-size:12.5px;line-height:1.5;margin-top:3px}
.goldline{height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-soft))}
.authwrap{flex:1;background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 55%,#2e4470 100%);display:flex;align-items:center;justify-content:center;padding:40px 20px}
.auth-card{background:var(--card);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.35);width:100%;max-width:460px;overflow:hidden}
.auth-head{padding:34px 40px 6px;text-align:center}
.auth-head .portal-tag{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600}
.slogan{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:14px;color:var(--gold);margin:8px 0 6px;letter-spacing:.04em}
.auth-body{padding:16px 40px 34px}
.auth-body h1{font-size:25px;text-align:center;margin-bottom:6px}
.auth-body .sub{text-align:center;color:var(--muted);font-size:13.5px;margin-bottom:20px}
label{display:block;font-size:12.5px;font-weight:600;color:var(--navy);margin:14px 0 5px}
label .opt{font-weight:400;color:var(--muted)}
input,select,textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14.5px;background:#fff}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,141,60,.15)}
input[type=checkbox],input[type=radio]{width:18px;height:18px;padding:0;flex:0 0 auto;accent-color:var(--gold);border-radius:4px;cursor:pointer}
.remember-row{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-weight:400;font-size:13.5px;color:var(--ink);cursor:pointer;line-height:1.45}
.remember-row input[type=checkbox]{margin-top:1px}
.remember-row .rr-hint{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.btn{display:block;width:100%;background:var(--navy);color:#fff;border:none;border-radius:8px;padding:13px;font-size:15px;font-weight:600;margin-top:20px}
.btn:hover{background:var(--navy-2)}
.btn-inline{display:inline-block;width:auto;padding:11px 24px}
.btn-gold{background:var(--gold)} .btn-gold:hover{background:#9a7a30}
.auth-foot{border-top:1px solid var(--line);background:var(--gold-wash);padding:15px 40px;text-align:center;font-size:13px;color:var(--muted)}
.auth-foot a{color:var(--gold);font-weight:600}
.auth-legal{text-align:center;color:#8ea0c0;font-size:11.5px;margin-top:24px;max-width:460px;line-height:1.6}
.nopass{display:flex;gap:10px;background:var(--gold-wash);border:1px solid #ecdfc2;border-radius:8px;padding:12px 14px;font-size:12.5px;color:#6b5d3b;margin-top:16px;line-height:1.5}
.notice{background:var(--gold-wash);border:1px solid #ecdfc2;border-radius:8px;padding:12px 15px;font-size:12.5px;color:#6b5d3b;margin-top:18px;line-height:1.5}
.flash-ok{background:#e9f5ee;border:1px solid #cfe8d9;color:var(--ok);border-radius:8px;padding:12px 15px;font-size:13.5px;margin:14px 0}
.flash-err{background:#fdecea;border:1px solid #f2c8c4;color:var(--err);border-radius:8px;padding:12px 15px;font-size:13.5px;margin:14px 0}
.hp{position:absolute;left:-9999px;top:-9999px}
.wrap{max-width:1060px;margin:0 auto;padding:34px 24px;width:100%}
.hello{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:24px}
.hello h1{font-size:30px}
.hello p{color:var(--muted);font-size:14px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;overflow:hidden}
.panel-h{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--line)}
.panel-h h2{font-size:20px}
.panel .row-item{padding:16px 24px;border-top:1px solid #f0f2f5;display:flex;gap:16px;align-items:baseline;flex-wrap:wrap;font-size:14px}
.panel .row-item:first-of-type{border-top:none}
.badge{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:20px;padding:4px 12px}
.badge.prog{background:var(--gold-wash);color:#8a6d2a;border:1px solid #ecdfc2}
.badge.ok{background:#e9f5ee;color:var(--ok);border:1px solid #cfe8d9}
.badge.err{background:#fdecea;color:var(--err);border:1px solid #f2c3bf}
.badge.pot{background:#eef2f7;color:var(--navy);border:1px solid #c6d0dd}
.badge.dim{background:#f2f3f5;color:var(--muted);border:1px solid #dde0e5}
.grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-bottom:24px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;display:flex;flex-direction:column;gap:8px;text-decoration:none}
.tile h3{font-size:19px} .tile p{font-size:13px;color:var(--muted);flex:1}
.tile .cta{font-size:13.5px;font-weight:600;color:var(--gold)}
.tile.dim{opacity:.55;pointer-events:none}
.tile .soon{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:2px 10px;align-self:flex-start}
.formcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 32px;max-width:780px}
.formcard h2{font-size:21px;margin-bottom:4px}
.formcard .fsub{color:var(--muted);font-size:13px;margin-bottom:8px}
.frow{display:flex;gap:16px;flex-wrap:wrap} .frow>div{flex:1;min-width:200px}
/* R1.50b: when one label wraps to two lines, keep every INPUT on the same
   baseline — labels take the slack at the top, inputs align at the bottom. */
.frow>div{display:flex;flex-direction:column;justify-content:flex-end}
.frow>div>label{margin-top:0}
.hint{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.45}
.wsteps{display:flex;gap:4px;margin:20px 0 24px;max-width:780px}
.wstep{flex:1;text-align:center;font-size:12px;color:var(--muted);padding-bottom:9px;border-bottom:3px solid var(--line)}
.wstep.done{border-color:var(--gold-soft);color:var(--navy)}
.wstep.now{border-color:var(--gold);color:var(--navy);font-weight:600}
.wnav{display:flex;justify-content:space-between;margin-top:24px;max-width:780px}
.wnav .back{background:none;border:1px solid var(--line);border-radius:8px;padding:11px 22px;color:var(--muted)}
.wnav .next{background:var(--navy);color:#fff;border:none;border-radius:8px;padding:11px 26px;font-weight:600}
.savechip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ok);background:#e9f5ee;border:1px solid #cfe8d9;border-radius:20px;padding:5px 13px}
.owner-card{border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:14px 18px 18px;margin:12px 0;position:relative}
.owner-card .oc-head{font-weight:600;color:var(--navy);font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.owner-card .rm{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--err);cursor:pointer;font-size:12px}
.paychooser{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin:6px 0 28px}
.paychoice{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:26px 28px;text-align:left;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:border-color .12s, transform .12s}
.paychoice:hover{border-color:var(--gold);transform:translateY(-1px)}
.paychoice .pc-kicker{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.paychoice .pc-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;font-weight:600;color:var(--navy)}
.paychoice .pc-desc{font-size:13px;color:var(--muted);line-height:1.55;flex:1}
.paychoice .pc-go{font-size:13.5px;font-weight:600;color:var(--gold);margin-top:6px}
.pc-trust{border-top:4px solid var(--gold)}
.pc-invoice{border-top:4px solid var(--ok)}
.paybanner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-radius:12px;padding:20px 28px;margin-bottom:20px;color:#fff}
.pb-trust{background:var(--navy);border-left:6px solid var(--gold)}
.pb-invoice{background:#174f2e;border-left:6px solid #6fbf8f}
.paybanner .pb-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;opacity:.75}
.paybanner .pb-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;font-weight:600;margin:2px 0 4px}
.pb-trust .pb-title{color:var(--gold-soft)}
.pb-invoice .pb-title{color:#a9dfbf}
.paybanner .pb-sub{font-size:13px;line-height:1.55;opacity:.92;max-width:560px}
.pb-switch{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:8px;padding:9px 16px;font-size:13px;white-space:nowrap}
.pb-switch:hover{background:rgba(255,255,255,.2)}
.paysec{margin-bottom:4px}
.paycol{margin-bottom:24px}
.paycol .panel-h{padding:20px 32px}
.paybody{padding:26px 32px 34px}
.paymethod{font-size:16.5px;margin:30px 0 10px;padding-top:24px;border-top:1px solid #f0f2f5}
.paybody .paymethod:first-of-type{border-top:none;padding-top:0;margin-top:24px}
.paybody .notice{margin:0 0 4px}
.payp{font-size:13.5px;color:var(--ink);line-height:1.65;margin:8px 0}
.payempty{font-size:13.5px;color:var(--muted);font-style:italic;margin:8px 0}
.paydetails{width:100%;border-collapse:collapse;font-size:13.5px;margin:12px 0}
.paydetails td{padding:10px 14px 10px 0;border-bottom:1px solid #f0f2f5;vertical-align:top;line-height:1.5}
.paydetails tr:last-child td{border-bottom:none}
.paydetails td:first-child{color:var(--muted);width:37%;font-size:12.5px;padding-right:18px}
.mono{font-family:ui-monospace,'SF Mono',Consolas,monospace;font-size:13px;letter-spacing:.02em;word-break:break-all}
.payaddr{font:inherit;font-size:13.5px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:14px 18px;line-height:1.6;white-space:pre-line;margin:10px 0}
.paywarn{background:#fdecea;border:1px solid #f2c8c4;border-left:4px solid var(--err);border-radius:0 8px 8px 0;padding:14px 18px;font-size:12.5px;color:#7a2a24;line-height:1.6;margin:18px 0}
.btcbox{display:flex;gap:12px;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:14px 18px;flex-wrap:wrap;margin:10px 0}
.payform{padding:24px 32px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px 20px}
.person-row{border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:8px 16px 12px;margin:8px 0;position:relative}
.person-row .prole{font-weight:600;color:var(--navy);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
.person-row .rm{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--err);cursor:pointer;font-size:12px}
.btn-sm.cpy{margin-top:0;font-size:11px;padding:5px 10px;white-space:nowrap}
.btn-sm{background:#fff;color:var(--navy);border:1px solid var(--navy);padding:6px 14px;font-size:.82rem;border-radius:6px;margin-top:8px}
a.btn-sm{display:inline-block;text-decoration:none} /* R1.96h: an <a> styled as a button stays display:inline by default, so its padded box paints OVER the neighboring lines (seen on the signing-package notice's "Open the exact PDF" link); inline-block makes every anchor-button occupy real layout space everywhere */
.hidden{display:none}
footer.portal-foot{text-align:center;color:var(--muted);font-size:11.5px;padding:24px;line-height:1.6;margin-top:auto}
table.admin{width:100%;border-collapse:collapse;font-size:13.5px}
table.admin th,table.admin td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.admin th{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
table.admin td.nowrap{white-space:nowrap}
/* R1.51: contact-reference directory — client rows bold on a tinted band, contacts indented */
tr.dir-client td{background:#f4f6f9;border-top:2px solid var(--line)}
tr.dir-contact td:first-child{padding-left:34px}
tr.dir-contact td{border-bottom:1px solid #f0f2f5}
.confirm-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}
.confirm-actions .btn,.confirm-actions .btn-sm{margin:0}.confirm-actions .hint{margin:0}
@media(max-width:820px){.grid{grid-template-columns:1fr}}

/* Legal document page (terms.php) — 2026-07-12 */
.legalwrap{max-width:780px;margin:0 auto;padding:40px 20px;width:100%}
.authwrap .legalwrap{padding:48px 20px}
.legal-card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.25);padding:38px 46px 42px}
.legal-head{text-align:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:6px}
.legal-head .portal-tag{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-top:10px}
.legal-updated{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.legal-card h2{font-size:18px;margin:24px 0 5px}
.legal-card p{font-size:13.5px;line-height:1.7;margin:6px 0;color:var(--ink)}
.legal-card a{color:var(--gold);font-weight:600}
.assent{text-align:center;font-size:13px;color:var(--muted);margin-top:14px;line-height:1.5}
.assent a{color:var(--blue);font-weight:500}
@media(max-width:560px){.legal-card{padding:28px 22px 32px}}

/* Dropbox document workspace and engagement signing - 2026-07-13 */
.document-upload,.agreement-builder{padding:22px 24px 28px}
.document-upload{display:grid;grid-template-columns:1fr 1.2fr auto;gap:16px 20px;align-items:end}
.document-upload label{margin-top:0}.document-upload .btn{margin:0}.document-hint{grid-column:1/-1}
.document-upload .du-file{grid-column:1/-1}
.stepup-gate{padding:24px}.stepup-gate p{font-size:13.5px;color:var(--muted);margin-bottom:12px}.stepup-gate .btn{margin:0;text-decoration:none}.stepup-wrap{max-width:600px}.stepup-body{padding:24px}.stepup-body>p{color:var(--muted);font-size:13.5px}.stepup-code{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.document-row{padding:15px 24px;border-top:1px solid #f0f2f5;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.document-row:first-of-type{border-top:none}
.document-icon{width:38px;height:38px;border:1px solid #dfd5ba;background:var(--gold-wash);color:#8a6d2a;border-radius:8px;display:grid;place-items:center;font-size:10px;font-weight:700}
.document-main{display:flex;flex-direction:column;min-width:220px;flex:1}.document-main b{font-size:14px}.document-main span{font-size:12.5px;color:var(--muted)}
.document-actions{display:flex;gap:8px;align-items:center}.document-actions .btn-sm,.document-row>.btn-sm{margin:0;text-decoration:none}
.action-gold{background:#7d6222!important;color:#fff!important;border-color:#7d6222!important} /* R1.89: AA contrast for filled gold actions (was var(--gold) 3.2:1) */
.admin-table-wrap{overflow:auto}table.admin .btn-sm{display:inline-block;text-decoration:none;margin:0;white-space:nowrap}
.client-merge-card{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:18px;padding:18px 24px;background:var(--gold-wash);border-bottom:1px solid #ecdfc2}
.client-merge-card div{display:flex;flex-direction:column}.client-merge-card span{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:#8a6d2a}.client-merge-card b{color:var(--navy)}.client-merge-card small{color:var(--muted)}
.agreement-builder textarea{resize:vertical}.agreement-preview{margin:18px 0;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.agreement-preview summary{padding:11px 14px;cursor:pointer;font-weight:600;color:var(--navy);font-size:13px}.agreement-preview pre{white-space:pre-wrap;font:12.5px/1.6 ui-monospace,Consolas,monospace;padding:0 16px 16px;color:#444;max-height:360px;overflow:auto}
.template-help{padding:18px 24px 0;color:var(--muted);font-size:13px}.template-help code{display:inline-block;background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:2px 6px;margin:8px 2px 0;color:var(--navy)}
.template-list{border-top:1px solid var(--line)}.template-list>div{padding:12px 24px;display:flex;justify-content:space-between;gap:12px;border-top:1px solid #f0f2f5}.template-list span{font-size:12px;color:var(--muted)}
.agreement-page{max-width:940px}.agreement-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:-10px 0 12px}.agreement-toolbar .badge{margin-right:auto}.agreement-toolbar .btn-sm{margin:0;text-decoration:none}
.agreement-shell{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:52px 64px;margin-bottom:24px}
.agreement-document header{text-align:center;border-bottom:2px solid var(--gold);padding-bottom:22px}.agreement-document h1{font-size:29px;margin-top:6px}.agreement-document h2{font-size:20px}.agreement-firm{font-size:11px;letter-spacing:.16em;color:var(--gold);font-weight:700}
.agreement-summary{margin:24px 0;border:1px solid var(--line);border-radius:8px;padding:14px 18px}.agreement-summary>div{display:flex;gap:18px;padding:4px 0}.agreement-summary dt{width:72px;color:var(--muted);font-size:12px}.agreement-summary dd{margin:0;font-weight:600;color:var(--navy)}
.agreement-body{font-family:Georgia,serif;font-size:14.5px;line-height:1.75;margin:30px 0}.signature-record{border-top:2px solid var(--gold);margin-top:36px;padding-top:20px}.signed-name{font:italic 25px Georgia,serif;color:var(--navy);margin:10px 0}.signature-record p{margin:5px 0;word-break:break-word}.record-note{font-size:12px;color:var(--muted)}
.signature-panel .panel-h span{font-size:12px;color:var(--muted)}.esign-disclosure{margin:20px 24px 0;padding:12px 16px;border:1px solid #ecdfc2;border-radius:8px;background:var(--gold-wash);font-size:12.5px;color:#5f5338}.esign-disclosure summary{cursor:pointer;font-weight:700;color:var(--navy)}.esign-disclosure p{margin-top:8px}.signature-steps{padding:24px;display:grid;grid-template-columns:.8fr 1.6fr;gap:26px}.signature-steps>div{display:flex;gap:12px;align-items:flex-start}.signature-steps>div>span{width:28px;height:28px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:700;font-size:12px}.signature-steps p{font-size:12.5px;color:var(--muted);margin:4px 0}.signature-form{flex:1}.signature-complete{word-break:break-word}
.security-strip{display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap;margin:-8px 0 20px;padding:11px 16px;border:1px solid #e7dcc1;border-radius:8px;background:var(--gold-wash);color:#655a40;font-size:12px}
.security-strip span{display:inline-flex;align-items:center;gap:7px}.security-strip span:before{content:'\2713';width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#e4d6b3;color:#6f5721;font-size:10px;font-weight:800}
.gate-kicker{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-weight:700;margin-bottom:4px}
.empty-state{padding:34px 24px 38px;text-align:center;color:var(--muted)}.empty-state b{display:block;color:var(--navy);margin-top:9px}.empty-state p{font-size:12.5px;margin-top:3px}.empty-icon{width:42px;height:42px;margin:auto;display:grid;place-items:center;border:1px solid #dfd5ba;border-radius:10px;background:var(--gold-wash);color:#8a6d2a;font-size:10px;font-weight:800}
.priority-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin:0 0 24px;padding:17px 20px;border:1px solid #ddc98f;border-left:5px solid var(--gold);border-radius:10px;background:var(--gold-wash);color:var(--navy);text-decoration:none;box-shadow:var(--shadow)}
.priority-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#fff;font-weight:800}.priority-card b,.priority-card small{display:block}.priority-card small{color:#6b5d3b;margin-top:2px}.priority-card strong{font-size:13px;color:#7d6226;white-space:nowrap}
.matter-row>span:not(.badge){color:var(--muted)}.matter-row .matter-date{font-size:12.5px}.matter-row .badge{margin-left:auto}
.hello-actions{display:flex;gap:7px;align-items:center}.hello-actions .btn-sm{margin:0;text-decoration:none}
.form-section{display:flex;align-items:center;gap:9px;font:600 16px/1.3 'Cormorant Garamond',Georgia,serif;margin:24px 0 2px;color:var(--navy)}.form-section:first-of-type{margin-top:0}.form-section span:first-child{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font:700 11px/1 system-ui,sans-serif}
/* R1.52c: a .opt hint inside a numbered heading is a hint, not a step circle */
.form-section .opt{width:auto;height:auto;background:none;border-radius:0;display:inline;color:var(--muted);font:400 12.5px/1.4 system-ui,sans-serif}
.template-manager>summary{cursor:pointer;list-style:none}.template-manager>summary::-webkit-details-marker{display:none}.template-manager>summary span{font-size:12px;color:var(--gold);font-weight:600}.template-manager>summary:after{content:'+';font:500 22px/1 system-ui;color:var(--gold);margin-left:10px}.template-manager[open]>summary:after{content:'\2212'}
.panel{overflow-x:auto;overflow-y:hidden}.panel>table.admin{min-width:720px}
.tile,.btn,.btn-sm,.priority-card{transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease,border-color .12s ease}.tile:hover,.priority-card:hover{transform:translateY(-1px);border-color:#d8c58e}.topnav nav a:hover{color:#fff}.topnav nav a:focus-visible,.btn:focus-visible,.btn-sm:focus-visible,.tile:focus-visible,.priority-card:focus-visible{outline:3px solid rgba(201,169,97,.55);outline-offset:3px}
@media(max-width:760px){
 .topnav{padding:10px 16px 0;gap:6px;align-items:flex-start}.topnav .lockup{width:100%}.topnav nav{margin:0 -4px;width:calc(100% + 8px);gap:2px;flex-wrap:wrap;padding:5px 0 9px}.topnav nav a,.topnav nav .nav-signout{font-size:12px;padding:5px;white-space:nowrap}/* R2.6 UX: tabs wrap on phones — the hidden-scrollbar strip cut off Firm / Tools / Sign out with no affordance */
 /* R1.52: inside the horizontal tab scroller an absolute menu would be
    clipped — pin it to the viewport under the nav instead */
 .nav-tools{position:static}.nav-tools>summary{font-size:12px;padding:5px;white-space:nowrap}
 .nav-tools-menu{position:fixed;left:12px;right:12px;top:150px;min-width:0;max-height:calc(100vh - 170px);overflow:auto}
 .nav-tools-menu::before{display:none}
 .wrap{padding:24px 16px}.hello{align-items:flex-start;margin-bottom:18px}.hello h1{font-size:27px;line-height:1.15}.hello>.btn{width:100%;text-align:center}.hello-actions{width:100%}.hello-actions .btn-sm{flex:1;text-align:center}
 .panel-h{padding:14px 16px}.panel .row-item,.document-row{padding:14px 16px}.document-upload{grid-template-columns:1fr;padding:18px 16px 22px}.document-hint{grid-column:auto}.document-upload .btn,.stepup-gate .btn,.agreement-builder>.btn{width:100%;text-align:center}.stepup-gate{padding:20px 16px}.security-strip{display:grid;grid-template-columns:1fr;margin-top:-4px;padding:12px 14px;gap:8px}
 .client-merge-card{grid-template-columns:1fr;padding:16px}.agreement-shell{padding:30px 22px}.signature-steps{grid-template-columns:1fr;padding:20px 16px}.agreement-toolbar{align-items:flex-start;flex-wrap:wrap}.agreement-builder{padding:20px 16px 24px}.esign-disclosure{margin:16px 16px 0}
 .priority-card{grid-template-columns:auto 1fr;padding:15px}.priority-card strong{grid-column:2;white-space:normal}.matter-row{display:grid!important;grid-template-columns:1fr auto;gap:4px 12px!important;align-items:start!important}.matter-row>b{min-width:0}.matter-row>span:not(.badge){grid-column:1/-1}.matter-row .badge{grid-column:2;grid-row:1;margin:0}
 .document-main{min-width:0;word-break:break-word}.document-actions{width:100%}.document-actions .btn-sm{flex:1;text-align:center}.template-list>div{flex-direction:column}.template-manager>summary span{display:none}
}
@media print{.topnav,.goldline,.portal-foot,.agreement-page>.hello,.agreement-toolbar,.signature-panel,.signature-complete{display:none!important}.wrap.agreement-page{max-width:none;padding:0}.agreement-shell{border:0;box-shadow:none;padding:0;margin:0}.agreement-document{font-size:12pt}}

/* Configurable new-matter and conflict intake - 2026-07-14 */
.intake-wrap{max-width:980px}.intake-guardrail{margin:0 0 20px;padding:14px 18px;border:1px solid #ecdfc2;border-left:4px solid var(--gold);border-radius:8px;background:var(--gold-wash);color:#655a40;font-size:13px;line-height:1.6}
.intake-progress{display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin:0 0 18px;list-style:none;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.intake-progress li{display:flex;align-items:center;gap:8px;padding:12px 10px;color:var(--muted);font-size:11px;border-right:1px solid var(--line)}.intake-progress li:last-child{border:0}.intake-progress li span{width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--bg);border:1px solid var(--line);font-weight:700}.intake-progress li.now{background:var(--gold-wash);color:var(--navy)}.intake-progress li.now span{background:var(--gold);border-color:var(--gold);color:#fff}.intake-progress li.done span{background:var(--navy);border-color:var(--navy);color:#fff}.intake-progress li.done span:after{content:'\2713';font-size:10px}.intake-progress li.done span{font-size:0}
.intake-form{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:28px 32px;margin-bottom:24px}.intake-step{min-height:360px}.step-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.step-heading>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;flex:0 0 auto}.step-heading h2{font-size:24px}.step-heading p{font-size:13px;color:var(--muted)}
.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.workflow-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.choice-card{display:flex;gap:11px;align-items:center;margin:0;padding:15px 16px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer;font-size:13px;font-weight:400}.choice-card:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 2px rgba(176,141,60,.14);background:var(--gold-wash)}.choice-card b{display:block;font-size:13.5px;color:var(--navy)}
.posture-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:18px}.posture-options .choice-card{align-items:flex-start}
.related-picker{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.related-picker summary,.routing-details summary{cursor:pointer;color:var(--navy);font-size:13px;font-weight:700}.related-picker summary span{font-weight:400;color:var(--muted)}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;margin-top:12px}.check-grid label{display:flex;align-items:center;gap:7px;margin:0;font-weight:400;color:var(--ink)}
.party-card{position:relative;margin:0 0 14px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.party-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px}.party-grid .party-name{grid-column:1/-1}.party-remove{position:absolute;right:15px;top:8px;border:0;background:transparent;color:var(--err);font-size:11px}.plain-fieldset{border:0;padding:0;margin:22px 0 0}.plain-fieldset legend{font-size:12.5px;font-weight:600;color:var(--navy);margin-bottom:8px}.inline-options{display:flex;flex-wrap:wrap;gap:10px}.inline-options label{display:flex;align-items:center;gap:7px;margin:0;padding:9px 13px;border:1px solid var(--line);border-radius:8px;font-weight:400;color:var(--ink)}.deadline-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.deadline-other{grid-column:1/-1}
.review-card{border:1px solid var(--line);border-radius:9px;background:var(--bg);padding:8px 18px}.review-card dl>div,.routing-details dl>div{display:grid;grid-template-columns:160px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.review-card dl>div:last-child,.routing-details dl>div:last-child{border:0}.review-card dt,.routing-details dt{color:var(--muted);font-size:12px}.review-card dd,.routing-details dd{margin:0;color:var(--navy);font-weight:600}.confirm-list{margin-top:18px}.confirm-list label{display:flex;align-items:flex-start;gap:10px;margin:11px 0;padding:11px 13px;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-weight:400;font-size:13px}.confirm-list input{margin-top:2px}.intake-nav{display:flex;justify-content:space-between;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.intake-nav .back,.intake-nav .next{padding:10px 22px;border-radius:8px}.intake-nav .back{background:#fff;border:1px solid var(--line);color:var(--muted)}.intake-nav .next{margin-left:auto;background:var(--navy);border:1px solid var(--navy);color:#fff;font-weight:600}.intake-history small{color:var(--muted)}.intake-history .row-item .badge{margin-left:auto}
/* R2.6 UX: dl.conflict-grid had no rule (bare stacked dt/dd) */.conflict-grid>div{display:grid;grid-template-columns:160px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.conflict-grid>div:last-child{border:0}.conflict-grid dt{color:var(--muted);font-size:12px}.conflict-grid dd{margin:0;color:var(--navy);font-weight:600}
.conflict-card{overflow:hidden}.conflict-card .panel-h{align-items:flex-start}.conflict-card .panel-h small{color:var(--muted)}.conflict-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.conflict-summary>div{display:flex;flex-direction:column;padding:13px 16px;background:var(--bg)}.conflict-summary span{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.conflict-summary b{font-size:13px;color:var(--navy)}.conflict-summary small{font-size:11px;color:var(--muted);word-break:break-word}.conflict-detail{padding:20px 24px}.conflict-detail h3{font-size:17px;margin:8px 0}.conflict-detail p{font-size:13.5px;margin-bottom:16px}.party-table{overflow:auto;border:1px solid var(--line);border-radius:8px}.party-table table.admin{min-width:650px}.routing-details{margin-top:16px}.routing-details dl{margin-top:8px}.conflict-actions{padding:16px 24px 20px;border-top:1px solid var(--line);background:var(--bg)}.conflict-actions label{margin-top:0}.action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.action-row .btn-sm{margin:0}.btn-sm.danger{color:var(--err);border-color:var(--err)}
.access-gate{border:0;padding:0;margin:16px 0 4px}.access-gate legend{font-size:12.5px;font-weight:600;color:var(--navy);margin-bottom:7px}.access-gate label{display:flex;align-items:center;gap:8px;margin:7px 0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-weight:400}
.intake-wrap .hidden,.auth-body .hidden{display:none!important}
@media(max-width:760px){.intake-form{padding:20px 16px}.intake-progress li{padding:10px 4px;justify-content:center}.intake-progress li b{display:none}.choice-grid,.workflow-grid,.posture-options,.check-grid,.party-grid,.deadline-grid{grid-template-columns:1fr}.party-grid .party-name,.deadline-other{grid-column:auto}.intake-step{min-height:0}.review-card dl>div,.routing-details dl>div,.conflict-grid>div{grid-template-columns:1fr;gap:2px}.conflict-summary{grid-template-columns:1fr 1fr}.conflict-detail,.conflict-actions{padding:16px}.action-row .btn-sm{flex:1}.intake-history .row-item .badge{margin-left:0}}

/* Versioned form builder and shared client intakes - 2026-07-15 */
.builder-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:20px;align-items:start}.builder-list,.builder-main{overflow:visible}.builder-list .panel-h{padding:14px 16px}.builder-list .panel-h .btn-sm{margin:0;text-decoration:none}.form-library-name{padding:14px 16px 6px;border-top:1px solid var(--line);display:flex;flex-direction:column}.form-library-name:first-of-type{border-top:0}.form-library-name small{color:var(--muted)}.version-row{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:8px 16px;text-decoration:none;border-left:3px solid transparent}.version-row:hover,.version-row.active{background:var(--gold-wash);border-left-color:var(--gold)}.version-row .badge{padding:2px 8px;align-self:center}.version-row small{grid-column:1/-1;color:var(--muted)}
.builder-form{padding:20px 24px 24px}.builder-meta{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.builder-meta .span-2{grid-column:1/-1}.question-builder-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:26px 0 10px;padding-top:20px;border-top:1px solid var(--line)}.question-builder-head h3{font-size:18px}.question-builder-head p{font-size:12px;color:var(--muted)}.question-builder-head .btn-sm{margin:0}.builder-field{border:1px solid var(--line);border-radius:9px;background:var(--bg);padding:14px 16px 17px;margin:10px 0}.builder-field-top{display:grid;grid-template-columns:28px minmax(160px,260px) 1fr;align-items:center;gap:8px}.field-number{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:700}.builder-field-top select{padding:7px 10px}.field-move{justify-self:end;display:flex;gap:4px}.field-move button{width:auto;border:1px solid var(--line);background:#fff;border-radius:5px;padding:5px 8px;color:var(--navy);font-size:12px}.field-move .danger{color:var(--err)}.field-options{display:none}.builder-field.has-options .field-options{display:block}.builder-field.non-answer .inline-check{display:none}.inline-check{display:flex;gap:9px;align-items:flex-start;font-weight:400;color:var(--ink)}.builder-actions{padding-top:8px}.publish-box{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 24px;border-top:1px solid #e5d6ae;background:var(--gold-wash)}.publish-box p{font-size:12px;color:#6b5d3b}.publish-box .btn{margin:0}.start-intake-form{padding:20px 24px 26px;display:grid;grid-template-columns:1fr 1fr;gap:2px 18px}.start-intake-form .btn{grid-column:1/-1;justify-self:start}.intake-table-wrap{overflow:auto}.intake-table{min-width:840px}.intake-table td small{display:block;color:var(--muted);margin-top:2px}.intake-table .btn-sm{margin:0;text-decoration:none}
.intake-record-bar{display:flex;gap:1px;margin-bottom:20px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--line)}.intake-record-bar>div{flex:1;min-width:130px;padding:11px 14px;background:#fff;display:flex;flex-direction:column}.intake-record-bar span{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.intake-record-bar b:not(.badge){font-size:13px;color:var(--navy)}.intake-record-bar .badge{align-self:flex-start;margin-top:2px}.intake-review-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:20px;align-items:start}.intake-editor{overflow:visible}.intake-intro{padding:18px 24px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--muted);line-height:1.65}.intake-answer-form{padding:8px 24px 24px}.intake-field{padding:14px 0 18px;border-bottom:1px solid #eef0f3}.intake-field:last-of-type{border-bottom:0}.intake-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.intake-label-row>label{margin-top:8px}.intake-section{font-size:20px;margin:26px 0 2px;padding-top:14px;border-top:2px solid var(--gold)}.intake-notice{margin:16px 0}.intake-notice p{margin-top:5px}.intake-field-locked{opacity:.72}.intake-field-locked input:disabled,.intake-field-locked textarea:disabled,.intake-field-locked select:disabled{background:#f3f4f6;color:#4b5563}.field-selector{display:flex!important;align-items:center;gap:6px;margin:8px 0 0!important;font-size:10.5px!important;color:var(--gold)!important;text-transform:uppercase;letter-spacing:.04em}.field-selector input{width:15px;height:15px}.check-card{padding:9px 11px;border:1px solid var(--line);border-radius:7px;background:#fff}.revision-controls{margin:22px -4px 0;padding:17px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.revision-controls>label:first-child{margin-top:0}.side-actions,.note-form,.request-change-form{padding:18px 20px 22px}.side-actions form+form{margin-top:9px}.side-actions .btn,.side-actions .btn-sm{margin:0;width:100%;text-align:center}.request-change-form .intake-field{padding:8px 0}.request-change-form .intake-field>input:not([type=hidden]),.request-change-form .intake-field>textarea,.request-change-form .intake-field>select,.request-change-form .intake-field>.check-grid,.request-change-form .intake-label-row>label:not(.field-selector),.request-change-form .intake-field>.hint{display:none}.request-change-form .intake-section,.request-change-form .intake-notice{display:none}.request-change-form .field-selector{font-size:12px!important;text-transform:none;letter-spacing:0;color:var(--navy)!important}.note-form .btn-sm{margin-top:10px}.note-list,.revision-list{border-top:1px solid var(--line)}.note-list article,.revision-list article{padding:13px 20px;border-top:1px solid #eef0f3}.note-list article:first-child,.revision-list article:first-child{border-top:0}.note-list p,.revision-list p{font-size:12.5px;margin:3px 0}.note-list small,.revision-list small{display:block;color:var(--muted)}.revision-list article>span{display:block;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.client-intake-row{text-decoration:none;align-items:center!important}.client-intake-row>span:first-child{flex:1}.client-intake-row small{display:block;color:var(--muted)}.client-intake-row strong{font-size:13px;color:var(--gold)}.intake-client-wrap{max-width:900px}.client-intake-form{overflow:visible}.confirmation-box{margin-top:22px;padding:18px;border:1px solid #e5d6ae;border-radius:9px;background:var(--gold-wash)}.confirmation-box label{margin-top:0;font-size:13px}.confirmation-box p{font-size:12px;color:#6b5d3b;margin-top:8px}.confirmation-box.confirmed{border-color:#cfe8d9;background:#e9f5ee;color:var(--ok)}.confirmation-box.confirmed p{color:#316b48}.change-request small{display:block;margin-top:5px}
@media(max-width:900px){.builder-layout,.intake-review-layout{grid-template-columns:1fr}.builder-list{order:2}.intake-review-side{display:grid;grid-template-columns:1fr 1fr;gap:16px}.intake-review-side .panel{margin-bottom:0}.intake-review-side .panel:nth-child(n+3){grid-column:1/-1}.intake-review-side{order:-1}/* R2.8: on a phone the attorney's Workflow actions come before the (very long) editor, not 10,000 px below it */}
@media(max-width:760px){.builder-form,.intake-answer-form{padding:14px 16px 20px}.builder-meta,.start-intake-form{grid-template-columns:1fr}.builder-meta .span-2,.start-intake-form .btn{grid-column:auto}.builder-field-top{grid-template-columns:28px 1fr}.field-move{grid-column:1/-1;justify-self:start;margin-left:36px}.publish-box{align-items:flex-start;flex-direction:column}.publish-box .btn{width:100%}.intake-record-bar{overflow-x:auto}.intake-record-bar>div{flex:0 0 160px}.intake-review-side{grid-template-columns:1fr}.intake-review-side .panel:nth-child(n){grid-column:auto}.intake-label-row{align-items:flex-start}.client-intake-row{display:grid!important;grid-template-columns:1fr auto}.client-intake-row>span:nth-child(2){display:none}.client-intake-row strong{grid-column:1/-1}.client-record>div{flex-basis:150px}}

/* 2026-08-02 fix: change-request picker rows — checkbox now carries the question label; align long labels */
.request-change-form .field-selector{align-items:flex-start;margin:0!important}
.request-change-form .field-selector input{margin-top:3px;flex:0 0 auto}
.request-change-form .field-selector span{line-height:1.45}

/* ===== R1 (2026-08-08): task-based admin pages — pills, chips, crumbs, kv ===== */
.crumb{font-size:13px;color:var(--muted);margin-bottom:6px}
.crumb a{color:var(--gold);text-decoration:none}
.crumb a:hover{text-decoration:underline}
.pillbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.pillbar a{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 16px;
  font-size:13.5px;color:var(--ink);text-decoration:none;box-shadow:var(--shadow)}
.pillbar a:hover{border-color:var(--gold-soft)}
.pillbar a.on{background:var(--navy);border-color:var(--navy);color:#fff}
.pillbar a.on small{color:#c9d2e4}
.pillbar a small{color:var(--muted)}
.status-pill{display:inline-block;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:600;
  letter-spacing:.02em;white-space:nowrap}
.st-inquiry{background:#e8eefc;color:#274690}
.st-engagement_sent,.st-signing,.st-review{background:var(--gold-wash);color:#7c5f1d;border:1px solid #e5d5ac}
.st-engaged,.st-active,.st-ok{background:#e8f3ec;color:var(--ok)}
.st-closed{background:#eef0f3;color:var(--muted)}
.st-blocked,.st-err{background:#fdecea;color:var(--err)}
.type-chip{display:inline-block;border-radius:6px;padding:2px 9px;font-size:11px;font-weight:700;
  letter-spacing:.06em;color:#fff;background:var(--navy-2)}
.tc-access{background:#4a5d82}.tc-conflicts{background:#8a5a17}.tc-intake{background:#274690}
.tc-signature{background:var(--gold)}.tc-payment{background:var(--ok)}
.actionbar{padding:14px 18px;display:flex;gap:8px;flex-wrap:wrap}
.kvgrid{display:grid;grid-template-columns:200px 1fr;gap:8px 16px;font-size:14px;padding:16px 18px;max-width:760px}
.kvgrid dt{color:var(--muted)} .kvgrid dd{margin:0;font-weight:500}
.invite-check{display:flex;gap:8px;align-items:center;margin-top:14px;font-weight:normal}
.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px}
.kv-actions{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.kv-actions form{flex:0 0 auto}
.kv-actions .btn-sm{margin:0;white-space:nowrap}.kv-actions .hint{margin:0;flex:1;min-width:220px}
@media (max-width:640px){.kvgrid{grid-template-columns:1fr}.pillbar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}}

/* ===== R1.3 (2026-08-08): drag-and-drop upload box (drop a file, or click to browse) ===== */
.dropzone{display:block;border:2px dashed var(--gold-soft);border-radius:var(--radius);background:#fffdf8;
  padding:26px 18px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;position:relative}
.dropzone:hover{border-color:var(--gold);background:var(--gold-wash)}
.dropzone.dz-over{border-color:var(--gold);background:var(--gold-wash);box-shadow:inset 0 0 0 2px var(--gold-soft)}
.dropzone.dz-hasfile{border-style:solid;border-color:var(--gold);background:var(--gold-wash)}
.dropzone input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}
.dz-icon{display:block;font-size:26px;line-height:1;color:var(--gold);margin-bottom:8px;font-family:Georgia,serif}
.dz-main{display:block;font-size:15px;color:var(--navy);font-weight:600}
.dz-main u{color:var(--gold);text-decoration-thickness:1.5px;text-underline-offset:2px}
.dz-hint{display:block;font-size:12.5px;color:var(--muted);margin-top:5px}
.dz-file{display:none;font-size:14px;color:var(--navy);margin-top:8px;font-weight:600;word-break:break-all}
.dropzone.dz-hasfile .dz-file{display:block}
.dropzone.dz-hasfile .dz-icon{color:var(--ok)}
.dropzone.dz-compact{padding:9px 12px;display:inline-block;min-width:210px;text-align:left}
.dz-compact .dz-icon{display:inline;font-size:15px;margin:0 6px 0 0}
.dz-compact .dz-main{display:inline;font-size:12.5px}
.dz-compact .dz-hint{display:none}
.dz-compact .dz-file{margin-top:3px;font-size:12px}

/* R1.18 (2026-08-12): questionnaire retire/reactivate in the form library */
.form-library-name{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:10px}
.form-library-title{display:flex;flex-direction:column;min-width:0}
.form-library-title .badge{align-self:flex-start;margin:3px 0 1px;padding:2px 8px}
.form-library-actions{display:flex;gap:10px;flex-shrink:0;padding-top:3px}
.form-library-actions form{margin:0}
.link-btn{background:none;border:0;padding:0;color:var(--navy);font-size:12px;text-decoration:underline;cursor:pointer}
.link-btn.danger{color:var(--err)}
.form-library-name.retired .form-library-title b{color:var(--muted)}
.version-row.retired>span:first-child{color:var(--muted)}
.form-library-divider{margin-top:6px;padding:11px 16px 5px;border-top:1px solid var(--line);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:var(--bg)}

/* R1.24 (2026-08-12): multi-document assist — large dropzone, per-document
   result rows, and per-field source/confirmation markers */
.assist-drop .dropzone{padding:34px 22px;font-size:15px}
.assist-drop .dz-icon{font-size:26px}
.assist-docs{list-style:none;margin:10px 0 0;padding:0}
.assist-docs li{padding:7px 12px;margin:5px 0;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:12.5px;color:var(--ink)}
.assist-source{margin:5px 0 0!important;font-size:12px!important;color:#8a6d2a}
.assist-source.confirmed{color:var(--ok);font-weight:600}
.assist-source.conflict{color:#a05c10}
.live-update{position:sticky;top:12px;z-index:60;box-shadow:0 6px 18px rgba(15,26,48,.12);border-color:#e5d6ae;background:var(--gold-wash)}
.live-update a{font-weight:600}

/* R1.27 (2026-08-12): per-checkbox document upload slots */
.doc-slot-grid{grid-template-columns:1fr}
.doc-slot{border:1.5px dashed #cdb87f;border-radius:8px;background:var(--gold-wash);padding:12px 14px;margin:2px 0 8px;cursor:pointer;font-size:12.5px;display:flex;flex-direction:column;gap:3px}
.doc-slot:hover,.doc-slot.dz-over{border-color:var(--gold);background:#fbf3df}
.doc-slot .ds-label{color:#8a6d2a;font-weight:600}
.doc-slot .ds-status{color:var(--ink)}

/* R1.34 (2026-08-12): client-review sweep — status bar wraps on phones
   instead of clipping its rightmost cells */
@media(max-width:760px){.intake-record-bar{flex-wrap:wrap}.intake-record-bar>div{flex:1 1 45%;border-top:1px solid var(--line)}}

/* R1.56 attorney-effort generate form: locked section cards, gated field
   groups, derived chip, dropdown+custom pairs */
.sect-card.locked{background:#f4f6f8;border-style:dashed}
.sect-card.locked .lock-state{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:10px;background:#d7dde3;color:#54626f;margin-right:6px}
.sect-card.locked .lock-state.on{background:#CC8800;color:#fff}
.cond-group{border:1px solid #dfe5ea;border-radius:8px;padding:14px 16px 10px;margin:0 0 14px}
.cond-group legend{font-weight:700;color:#324A5E;padding:0 6px}
.cond-group.scope-first{border-color:#CC8800;background:#fffdf7}
.derived-chip{margin:6px 0 0;padding:9px 12px;background:#f4f6f8;border:1px dashed #c8d2da;border-radius:6px;color:#54626f;font-size:14px}
select.gen-sel{width:100%;padding:10px;border:1px solid #c8d2da;border-radius:6px;background:#fff;font:inherit}
input.gen-custom{margin-top:6px}

/* R1.58 preview parity: the assembled-agreement preview mirrors the real
   letterhead (blue swoosh header, blue footer address bar) and marks real
   page boundaries so the review matches the signing PDF. */
.lh-swoosh{position:relative;height:88px;margin:-56px -72px 20px;background:linear-gradient(100deg,#2c4b8c,#5a7fc0 55%,#93add9);border-radius:0 0 48% 52%/0 0 74px 96px;overflow:hidden}
.lh-swoosh::after{content:"";position:absolute;inset:-8px 0 22px 0;background:linear-gradient(96deg,#22396b,#3d63a8 62%,rgba(61,99,168,0));border-radius:0 0 60% 40%/0 0 110px 60px}
.lh-footbar{margin:38px -72px -40px;padding:18px 24px 20px;background:linear-gradient(96deg,#22396b,#3d63a8 70%,#5a7fc0);border-radius:52% 48% 0 0/56px 40px 0 0;text-align:center;color:#eef2f8;font-family:Georgia,'Times New Roman',serif;font-size:12.5px;letter-spacing:.02em}
.lh-footbar b{color:#e8c47a;font-family:inherit}
.lh-body .tpl-pagebreak{margin:30px -24px;border-top:2px dashed #b9c6d6;text-align:center;line-height:0}
.lh-body .tpl-pagebreak span{position:relative;top:0;background:#fff;padding:0 12px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8395a7}
@media(max-width:760px){.lh-swoosh{margin:-26px -20px 14px}.lh-footbar{margin:26px -20px -22px}}

/* R1.59b: aligned field grid for the generate form — consistent label /
   control / hint stacks, two-up single-line fields, full-width textareas,
   quiet token chips. */
.gen-grid,.cg-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px 24px;align-items:start}
.gfield label{display:block;font-weight:600;color:#324A5E;margin:0 0 5px;line-height:1.35}
.gfield label .opt{font-weight:400}
.gfield input,.gfield select.gen-sel,.gfield textarea{width:100%;box-sizing:border-box}
.gfield .hint{margin:4px 0 0}
.gfield.wide{grid-column:1/-1}
/* R3.4a: city / state / ZIP as three inputs on the generator (legacy one-line token) */
.csz-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr) minmax(0,1.3fr);gap:8px}
.csz-row input,.csz-row select{width:100%;box-sizing:border-box;min-width:0}
.csz-row>div{min-width:0}
/* R3.4b: the portal-wide state dropdown + its province box */
select.state-select{max-width:100%}
input.state-other{margin-top:6px}
.state-back{font-weight:400;font-size:.82em;margin-left:8px;color:#8a6d1f;text-decoration:underline;white-space:nowrap}
@media (max-width:640px){.csz-row{grid-template-columns:1fr 1fr}.csz-row input:first-child{grid-column:1/-1}}
.tok-chip{float:right;font-size:10px;font-weight:400;color:#9aa7b4;letter-spacing:.04em;margin-top:2px}
@media(max-width:700px){.gen-grid,.cg-fields{grid-template-columns:1fr}}

/* R1.60: preview front and center. With a preview on screen the builder
   collapses into a sticky, scrollable side rail; the assembled letter (real
   letterhead artwork from the Word master) owns the main column. Underlined
   values are click-to-edit. */
.pv-wrap{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}
.pv-main{grid-column:1;grid-row:1;min-width:0}
.pv-rail{grid-column:2;grid-row:1;position:sticky;top:10px;max-height:calc(100vh - 20px);overflow-y:auto;padding:0 6px 20px 0}
.pv-rail .gen-grid,.pv-rail .cg-fields{grid-template-columns:1fr;gap:12px}
.pv-rail .sect-card{padding:8px 10px}
.pv-rail h3.form-section{font-size:15px;margin-top:18px}
.pv-rail .frow{display:block}
@media(max-width:1100px){.pv-wrap{grid-template-columns:1fr}.pv-main{grid-column:1;grid-row:1}.pv-rail{grid-column:1;grid-row:2;position:static;max-height:none}}
.lh-img{display:block;width:100%}
.pv-tok{border-bottom:1px dashed #b08d3c;background:#fffbf0;cursor:text;padding:0 1px;border-radius:2px}
.pv-tok:hover{background:#fff3d6}
.pv-tok:focus{outline:2px solid #b08d3c;outline-offset:1px;background:#fff}

/* R1.60: the sheet hosts the real letterhead artwork edge-to-edge; body
   padding moves onto lh-body. The page container widens when the preview
   layout is active so the letter reads at document width. */
.letterhead-sheet{padding:0;overflow:hidden}
.letterhead-sheet .lh-body{padding:6px 72px 36px}
.wrap:has(.pv-wrap){max-width:1500px}
@media(max-width:760px){.letterhead-sheet .lh-body{padding:6px 22px 22px}}
/* R1.90 — Deliver clean set progress (admin-eb5-generate) */
.deliver-progress{margin:0 16px 16px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--gold-wash)}
.deliver-progress .bar{height:10px;border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden}
.deliver-progress .bar i{display:block;height:100%;width:0;background:var(--gold);transition:width .25s ease}
.deliver-progress .step{margin-top:8px;font-size:12px;color:var(--muted)}
.deliver-progress.err{border-color:var(--err)}
.deliver-progress.err .bar i{background:var(--err)}
.deliver-progress .dp-errs{margin-top:6px;font-size:12px;color:var(--err)}

/* R2.2: authorized-signers roster (matter page) + per-document signer picker (generator) */
.signer-pick{display:grid;gap:8px}
.signer-opt{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border:1px solid var(--line,#ddd);border-radius:8px;background:#fff;cursor:pointer}
.signer-opt.on{border-color:var(--navy);box-shadow:inset 3px 0 0 var(--navy)}
.signer-opt input[type=checkbox]{margin-top:3px;flex:none}
.signer-opt .so-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.signer-opt .so-body small{color:var(--muted);font-size:12px;font-weight:400}
.signer-opt .so-title{color:var(--muted);font-weight:400;font-size:12.5px}
.signer-opt .so-block{color:var(--err,#a3261e)}
.signer-opt .so-ok{color:#2f6f3a}
.signer-opt .so-order{display:flex;flex-direction:column;align-items:center;gap:2px;flex:none}
.signer-opt .so-order span{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.signer-opt .so-order input{width:52px;text-align:center;padding:5px 4px}
.roster{width:100%;border-collapse:collapse;font-size:13.5px}
.roster th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 8px 6px;border-bottom:1px solid var(--line,#ddd)}
.roster td{padding:10px 8px;border-bottom:1px solid #eee;vertical-align:top}.roster td:first-child{min-width:170px}
.roster tr.inactive td{opacity:.55}
.roster .badge{margin-left:4px}
.roster .row-actions{display:flex;gap:6px;flex-wrap:wrap}
.roster .row-actions form{margin:0}
.roster .row-actions .btn-sm{padding:4px 9px;font-size:12px}
.roster .auth-forms{margin-top:8px;padding:10px 12px;border:1px dashed var(--line,#ddd);border-radius:8px;background:#fafaf7}

/* R3.0 UX — client covered-persons roster (eb5-covered-persons.php) */
.cp-who{margin:0 0 4px 20px;padding:0;line-height:1.55}.cp-who li{margin:3px 0}
.req{color:var(--gold);font-weight:700}
.cp-form{padding:18px 24px 22px}.cp-form .frow{margin-top:12px}.cp-form .frow:first-of-type{margin-top:0}.cp-form .frow>div>label{margin-bottom:6px}.cp-form>label{margin-top:0}
.cp-table{overflow:visible}
.cp-roster th{white-space:nowrap}.cp-roster td{font-size:13.5px}.cp-roster th:nth-child(1){width:27%}.cp-roster th:nth-child(2){width:19%}.cp-roster th:nth-child(3){width:21%}.cp-roster th:nth-child(4){width:24%}
.cp-roster td small.hint{display:block;margin-top:3px;line-height:1.35}
.cp-roster td .cp-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.cp-roster td .cp-tags .badge{margin:0}
.cp-roster td .badge{white-space:nowrap}
.cp-roster tr.cp-needs td{background:var(--gold-wash)}
/* R4.44: the same "needs an e-mail" wash on any admin table row (the signing draft's signer rows, the client's signer-details page) */
table.admin tr.cp-needs td{background:var(--gold-wash)}
/* R4.44: the client's signer-details table stacks on a phone exactly as the covered-persons roster does */
.sd-signers th{white-space:nowrap}.sd-signers td{font-size:13.5px;vertical-align:top}.sd-signers th:nth-child(1){width:36px}.sd-signers th:nth-child(2){width:24%}.sd-signers th:nth-child(4){width:34%}
@media (max-width:720px){
  .sd-signers thead{display:none}
  .sd-signers,.sd-signers tbody,.sd-signers tr,.sd-signers td{display:block}
  .sd-signers tr{padding:12px 16px 14px;border-bottom:1px solid var(--line)}.sd-signers tr:last-child{border-bottom:0}
  .sd-signers td{padding:5px 0;border:0;display:grid;grid-template-columns:76px 1fr;gap:10px;align-items:start}
  .sd-signers td::before{content:attr(data-l);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:3px}
  .sd-signers td[data-l="#"]{display:none}
  .sd-signers td[data-l="Name"]{grid-template-columns:1fr;padding-top:0}.sd-signers td[data-l="Name"]::before{display:none}.sd-signers td[data-l="Name"] b{font-size:15px}
  .sd-signers td input{min-width:0 !important}
}
.cp-email{word-break:break-all}
.cp-addmail{color:var(--gold);font-weight:600;text-decoration:none;white-space:nowrap}.cp-addmail:hover{text-decoration:underline}
.cp-act{text-align:right}
.cp-send{border-top:3px solid var(--gold)}
@media(max-width:760px){
  .cp-roster thead{display:none}
  .cp-roster,.cp-roster tbody,.cp-roster tr,.cp-roster td{display:block}
  .cp-roster tr{padding:12px 16px 14px;border-bottom:1px solid var(--line)}.cp-roster tr:last-child{border-bottom:0}
  .cp-roster td{padding:5px 0;border:0;display:grid;grid-template-columns:76px 1fr;gap:10px;align-items:start}
  .cp-roster td::before{content:attr(data-l);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:3px}
  .cp-roster td[data-l="Name"]{grid-template-columns:1fr;padding-top:0}.cp-roster td[data-l="Name"]::before{display:none}
  .cp-roster td[data-l="Name"] b{font-size:15px}
  .cp-roster td .badge{justify-self:start}.cp-roster td small.hint,.cp-roster td .cp-tags{grid-column:2}.cp-roster td[data-l="Name"] small.hint,.cp-roster td[data-l="Name"] .cp-tags{grid-column:1}
  .cp-roster td.cp-act{display:flex;justify-content:flex-start;gap:6px;padding-top:8px}.cp-roster td.cp-act:empty{display:none}.cp-roster td.cp-act::before{display:none}
  .cp-form{padding:14px 16px 18px}
}

/* R3.1 — "see what the client sees": preview bar above the nav */
.viewas-bar{position:sticky;top:0;z-index:60;display:flex;gap:12px;align-items:center;padding:9px 22px;background:#fff7e0;border-bottom:2px solid var(--gold);color:#5b4a1e;font-size:13px}
.viewas-tag{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--gold);color:#fff;padding:3px 8px;border-radius:999px}
.viewas-bar>span:not(.viewas-tag){flex:1}.viewas-tag{flex:0 0 auto}.viewas-bar-bg{background:#f3f4f6;border-bottom-color:#c6d0dd;color:var(--muted)}.viewas-bar-bg .viewas-tag{background:var(--navy)}.viewas-exit{white-space:nowrap;font-weight:700;color:var(--navy);text-decoration:none;border:1px solid var(--navy);border-radius:8px;padding:5px 11px;background:#fff}.viewas-exit:hover{background:var(--navy);color:#fff}
@media(max-width:640px){.viewas-bar{flex-wrap:wrap;padding:8px 14px}.viewas-bar>span:not(.viewas-tag){flex-basis:100%}}

/* R4.0 — formation workspace */
.fchain{display:flex;flex-wrap:wrap;gap:6px;padding:14px 18px}
.fstep{font-size:12px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:#fff}
.fstep.done{background:#e9f5ee;color:var(--ok);border-color:#cfe8d9}.fstep.cur{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700}
.flist{margin:4px 0 0 18px;padding:0;font-size:13.5px;line-height:1.5}.flist li.bad{color:var(--err)}
.fdet .fdet-item{border:1px solid var(--line);border-radius:9px;padding:10px 14px;margin:0 0 8px;background:#fff}.fdet summary{cursor:pointer;list-style:none;font-size:14px}.fdet summary::-webkit-details-marker{display:none}
.fdet-form{margin-top:10px;padding-top:10px;border-top:1px solid #f0f2f5}.fdet-form label{font-size:13px}.fdet-form input,.fdet-form select{margin-bottom:6px}
.badge.bad{background:#fbeceb;color:var(--err);border:1px solid #f1c9c6}

/* R2.16: the EB-5 drafting screen as a tabbed workspace (admin-eb5-generate.php) */
.etab{display:none}.etab.on{display:block}
.etabs{display:flex;gap:6px;flex-wrap:wrap;align-items:stretch;margin:0 0 8px}
.etab-link{display:flex;flex-direction:column;gap:1px;text-decoration:none;border:1px solid #d5dbe4;border-radius:10px;padding:5px 12px 4px;min-width:118px;color:var(--muted,#777);background:#fff;line-height:1.25;transition:border-color .12s,box-shadow .12s}
.etab-link .etab-step{font-size:12.5px;font-weight:600;letter-spacing:.02em}
.etab-link .etab-n{font-size:11px;opacity:.8}
.etab-link.done{color:var(--ok,#1e7b34);background:#eef7f1;border-color:#cfe8d9}
.etab-link.now{color:#fff;background:var(--brand-blue,#256AB4);border-color:transparent}
.etab-link.now .etab-n{opacity:.9}
.etab-link.active{box-shadow:0 0 0 2px var(--gold,#c9a44a);border-color:var(--gold,#c9a44a)}
.etab-link.etab-matter{min-width:0}
.etab-next{font-size:14px;padding-top:2px}
@media (max-width:720px){.etab-link{min-width:0;flex:1 1 30%}.etab-link .etab-n{display:none}}
/* deal-terms tab: the status notes in one quiet block */
.terms-notes{background:#f7f8fa;border:1px solid var(--line,#e6e9ee);border-radius:8px;padding:8px 12px;margin:10px 0 4px}
.terms-notes p.hint{margin:4px 0 !important}
.gen-group-done>summary{cursor:pointer}
/* documents tab: one table, grouped */
.doc-table{width:100%;border-collapse:collapse;margin:6px 0 0}
.doc-table th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#777);text-align:left;padding:10px 16px 6px;border-bottom:1px solid var(--line,#e6e9ee)}
.doc-table td{padding:9px 16px;border-top:1px solid #f0f2f5;vertical-align:middle}
.doc-table tr.doc-group td{background:#f7f8fa;font-weight:600;color:var(--navy,#1e2d3d);font-size:12.5px;letter-spacing:.02em;padding:7px 16px;border-top:1px solid var(--line,#e6e9ee)}
.doc-table .doc-title{font-weight:600;color:var(--navy,#1e2d3d)}
.doc-table .doc-sub{display:block;font-size:12.5px;color:var(--muted,#777);margin-top:2px}
.doc-table td.doc-act{white-space:nowrap;text-align:right}
.doc-table td.doc-act .btn-sm{margin:0 0 0 6px}
.doc-actions-top{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:10px 16px 4px}
.doc-actions-top .grow{flex:1}
@media (max-width:720px){.doc-table thead{display:none}.doc-table td{display:block;padding:6px 16px}.doc-table td.doc-act{text-align:left;white-space:normal;padding-bottom:12px}.doc-table td.doc-act .btn-sm{margin:4px 6px 0 0}}

/* R5.0 litigation workspace */
.lit-drop-status{min-height:16px}
.fdet-item .frow>div>div{line-height:1.45}
.etab-link.todo{opacity:.85}
@media (max-width:720px){.fdet-item .frow{flex-direction:column}}
/* R5.2 case file */
.linklike{background:none;border:0;padding:0;color:var(--gold);text-decoration:underline;cursor:pointer;font:inherit}
.lit-props td{vertical-align:top;font-size:13px}
.lit-props td:nth-child(3){max-width:340px}
.lit-props td:nth-child(5){max-width:300px;font-style:italic}
@media (max-width:820px){.lit-props th:nth-child(5),.lit-props td:nth-child(5){display:none}}
/* ============================================================================
   R4.1 (2026-09-11): Rev 2 design system applied to the shared chrome.
   Everything below overrides the older rules above at equal or higher
   specificity; client-only sizing is scoped to body.s-client, firm-only to
   body.s-firm (page_top stamps the class). Palette and type come from the
   :root tokens at the top of this file.
   ========================================================================== */
/* --- shell: navy bar, website logo, tab links, account menu, gold rule --- */
.topnav{background:var(--navy);gap:28px;padding:12px 28px;min-height:78px;flex-wrap:wrap;align-items:center}
.topnav .brand{display:flex;align-items:center;flex-shrink:0;min-height:44px;text-decoration:none}
.topnav .brand img{display:block;width:178px;height:auto}
.topnav .brand:focus-visible{outline:3px solid rgba(232,180,78,.7);outline-offset:4px;border-radius:4px}
.topnav nav{margin-left:0;flex:1 1 auto;gap:0 21px;flex-wrap:wrap;align-items:center}
.topnav nav>a,.topnav nav .nav-signout,.nav-tools>summary{color:#DCE5ED;font-size:14px;font-weight:400;min-height:44px;display:inline-flex;align-items:center;padding:9px 0;border-bottom:2px solid transparent;text-decoration:none;white-space:nowrap}
.topnav nav>a.act{color:#fff;font-weight:500;border-bottom:2px solid var(--gold-soft);padding-bottom:9px}
.topnav nav>a:hover,.nav-tools>summary:hover{color:#fff}
.nav-tools>summary{gap:6px}
/* R4.1a: the Tools menu keeps its own layout (the tab rule above is scoped to the tabs) */
.nav-tools-menu{border:1px solid var(--control);border-radius:6px;box-shadow:0 8px 24px rgba(22,40,58,.16);min-width:400px;max-width:min(440px,calc(100vw - 32px));top:calc(100% + 10px);right:-8px}
.nav-tools-menu::before{border-color:var(--control)}
.topnav .nav-tools-menu a{display:block;padding:9px 12px;border-radius:4px;min-height:0;border-bottom:0;white-space:normal;color:var(--ink);font-size:14px;font-weight:400}
.topnav .nav-tools-menu a b{display:block;color:var(--heading);font-size:14px;font-weight:500}
.topnav .nav-tools-menu a small{display:block;color:var(--muted);font-size:13px;line-height:1.45;margin-top:1px;white-space:normal}
.topnav .nav-tools-menu a:hover,.topnav .nav-tools-menu a.on{background:#F3F7FA;color:var(--ink)}
.nav-tools-menu a.on b::after{content:"·  you are here";color:var(--blue);font-size:12px;font-weight:500;margin-left:8px}
.nav-tools.act>summary{color:#fff;border-bottom:2px solid var(--gold-soft);padding-bottom:9px}
.goldline{height:2px;background:var(--gold)}
.nav-account{position:relative;margin-left:auto;flex-shrink:0}
.nav-account>summary{list-style:none;cursor:pointer;display:grid;place-items:center;min-width:44px;min-height:44px;width:44px;height:44px;border:1px solid var(--control);border-radius:50%;color:#fff;background:transparent;font-size:13px;font-weight:500;letter-spacing:.02em}
.nav-account>summary::-webkit-details-marker{display:none}
.nav-account>summary:hover,.nav-account[open]>summary{background:rgba(255,255,255,.08);border-color:#B8C6D2}
.nav-account>summary:focus-visible{outline:3px solid rgba(232,180,78,.7);outline-offset:3px}
.nav-account-menu{position:absolute;right:0;top:52px;z-index:70;min-width:250px;max-width:min(320px,calc(100vw - 32px));background:#fff;border:1px solid var(--control);border-radius:6px;padding:8px;box-shadow:0 8px 24px rgba(22,40,58,.16);color:var(--ink);text-align:left}
.nav-account-menu .na-who{padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.nav-account-menu .na-who b{display:block;font-weight:500;color:var(--heading);overflow-wrap:anywhere}
.nav-account-menu .na-who small{display:block;font-size:13px;color:var(--muted);overflow-wrap:anywhere;margin-top:2px}
.nav-account-menu form{margin:0}
.nav-account-menu a,.nav-account-menu button{display:block;width:100%;text-align:left;min-height:44px;padding:10px 12px;border:0;border-radius:4px;background:#fff;color:var(--blue);font-size:14px;font-weight:400;text-decoration:none;cursor:pointer;font-family:inherit}
.nav-account-menu a:hover,.nav-account-menu button:hover{background:#F3F7FA}
.nav-account-menu button.na-danger{color:var(--err)}
.nav-account-menu small.na-note{display:block;padding:4px 12px 8px;font-size:13px;color:var(--muted)}
.viewas-bar{background:var(--gold-wash);border-bottom-color:var(--gold);color:#5B4A1E;font-size:13px}
.viewas-tag{background:var(--gold);font-weight:700}
/* --- page frame and titles --- */
.wrap{max-width:1440px;padding:26px 28px 28px}
.hello{align-items:flex-start;gap:22px;margin-bottom:22px}
.hello h1{font-size:28px;line-height:1.3;letter-spacing:-.025em;font-weight:500;overflow-wrap:anywhere}
.hello p{font-size:13px;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}
body.s-firm .hello h1{font-family:'Cinzel',Georgia,serif;font-size:27px;letter-spacing:0;font-weight:400;color:var(--heading)}
.hello-actions{gap:8px}
.crumb{font-size:13px;color:var(--muted)}.crumb a{color:var(--blue)}
h3{font-size:16px;line-height:1.45;font-weight:500}
footer.portal-foot{font-size:13px;color:var(--muted);padding:24px 28px;line-height:1.6}
footer.portal-foot a{color:var(--blue)}
/* --- panels, rows, lists --- */
.panel{border-radius:8px;box-shadow:none;border:1px solid var(--line)}
.panel-h{padding:18px 24px;gap:12px 16px;flex-wrap:wrap}
.panel-h h2{font-size:20px;line-height:1.4;font-weight:500}
.panel-h small,.panel-h .hint{font-size:13px;color:var(--muted)}
.panel .row-item{padding:18px 24px;border-top:1px solid var(--line-soft);font-size:14px}
.document-row{padding:18px 24px;border-top:1px solid var(--line-soft)}
.document-icon{background:#F7FAFC;border-color:var(--line);color:#455968;border-radius:6px}
.document-main b{font-weight:500;font-size:15px;color:var(--heading)}.document-main span{font-size:13px}
.empty-state{padding:34px 24px 38px}.empty-state b{color:var(--heading);font-weight:500;font-size:16px}.empty-state p{font-size:14px;margin-top:6px}
.empty-icon{background:#F7FAFC;border-color:var(--line);color:#455968;border-radius:8px;font-weight:500}
.tile{border-radius:8px;box-shadow:none}.tile h3{font-size:18px}.tile p{font-size:14px}.tile .cta{color:var(--blue);font-weight:500;font-size:14px}
.tile:hover,.priority-card:hover{transform:none;border-color:var(--control)}
.priority-card{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:8px;background:#fff;box-shadow:none;color:var(--ink)}
.priority-card b{font-weight:500;color:var(--heading);font-size:16px}.priority-card small{color:var(--muted);font-size:13px}.priority-card strong{color:var(--blue);font-weight:500;font-size:14px}
.priority-icon{background:var(--blue);font-weight:500}
.kvgrid{font-size:14px}.kvgrid dt{font-size:13px}
.security-strip{background:#F7FAFC;border-color:var(--line);color:var(--muted);font-size:13px;border-radius:6px}
.security-strip span:before{background:#E3EAF0;color:#455968;font-weight:700}
.gate-kicker{color:var(--blue);letter-spacing:.06em;font-weight:500;font-size:12px}
.stepup-gate p,.stepup-body>p{font-size:14px}
/* --- status labels: solid text on a tint, sentence case (spec §2) --- */
.badge{display:inline-flex;align-items:center;gap:6px;max-width:100%;font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;border-radius:4px;padding:4px 8px;line-height:1.4;background:#EDF1F4;color:#455968;border:0;vertical-align:middle}
.badge.prog,.badge.att{background:var(--amber-wash);color:var(--amber)}
.badge.ok{background:#E5F1E9;color:var(--ok)}
.badge.err,.badge.bad{background:#FBECEB;color:var(--err)}
.badge.pot,.badge.info{background:#E8F1FA;color:#275B87}
.badge.dim{background:#EDF1F4;color:#455968}
.status-pill{font-weight:500;font-size:13px;border-radius:4px}
/* --- actions --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:6px;padding:10px 15px;min-height:44px;font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;text-align:center}
.btn:hover{background:#1A4F80;border-color:#1A4F80}
.btn-inline{width:auto}
.btn-gold{background:var(--gold-soft);border-color:var(--gold-soft);color:#25374A}.btn-gold:hover{background:#DFA93F;border-color:#DFA93F;color:#25374A}
.action-gold{background:var(--gold-soft)!important;color:#25374A!important;border-color:var(--gold-soft)!important}
.btn-sm{background:#fff;color:var(--blue);border:1px solid var(--control);border-radius:6px;font-weight:500;font-size:13px;padding:7px 12px;line-height:1.4}
.btn-sm:hover{background:#F3F7FA}
body.s-client .btn-sm{min-height:44px;font-size:14px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn:disabled,.btn-sm:disabled{opacity:1;background:#E8EDF0;color:var(--muted);border-color:#BAC6CE;cursor:default}
.btn:focus-visible,.btn-sm:focus-visible,.tile:focus-visible,.priority-card:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid rgba(31,93,150,.45);outline-offset:3px}
.topnav nav>a:focus-visible{outline:3px solid rgba(232,180,78,.7);outline-offset:3px}
.form-actions{gap:8px 12px}
/* --- forms --- */
label{font-size:14px;font-weight:500;color:var(--ink);margin:16px 0 8px}
label .opt{font-weight:400;font-size:13px}
input,select,textarea{border:1px solid var(--control);border-radius:5px;padding:11px 12px;min-height:44px;font-size:15px;color:var(--ink);line-height:1.4}
textarea{line-height:1.6}
input[type=checkbox],input[type=radio]{min-height:0;width:20px;height:20px;padding:0;accent-color:var(--blue);border-radius:4px}
input[type=file],input[type=range],input[type=color]{min-height:0;padding:8px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,93,150,.18)}
body.s-firm input,body.s-firm select,body.s-firm textarea{min-height:40px;padding:9px 11px;font-size:14px}
body.s-firm input[type=checkbox],body.s-firm input[type=radio]{min-height:0;width:18px;height:18px;padding:0}
body.s-firm input[type=file]{min-height:0}
.hint{font-size:13px;line-height:1.5}
.form-section{font:500 16px/1.45 'Montserrat',Arial,sans-serif;color:var(--heading)}
.form-section span:first-child{background:var(--blue);font:500 11px/1 'Montserrat',Arial,sans-serif}
.form-section .opt{font:400 13px/1.4 'Montserrat',Arial,sans-serif}
/* --- notes and feedback --- */
.notice,.nopass{background:#E8F0F7;border:0;border-left:3px solid var(--blue);border-radius:0 5px 5px 0;color:#324A5E;font-size:14px;padding:14px 16px;line-height:1.55}
.flash-ok{background:#E9F4ED;border:0;border-left:3px solid #33734C;border-radius:0 5px 5px 0;color:#285E3D;font-size:14px;padding:14px 16px}
.flash-err{background:#FBECEB;border:0;border-left:3px solid #A03434;border-radius:0 5px 5px 0;color:#8C2727;font-size:14px;padding:14px 16px}
/* --- tables --- */
table.admin{font-size:14px}
table.admin th{font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:#455968;background:#F7FAFC}
table.admin th,table.admin td{border-bottom:1px solid var(--line-soft)}
/* --- sign-in card: navy head with the website logo --- */
.authwrap{background:linear-gradient(160deg,#16283A 0%,#244A64 100%)}
.auth-card{border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.auth-head{background:var(--navy);border-bottom:2px solid var(--gold);padding:30px 40px 24px}
.auth-head .brand{display:block}.auth-head .brand img{width:200px;max-width:100%;height:auto;display:block;margin:0 auto}
.slogan{font-family:'Montserrat',Arial,sans-serif;font-style:normal;color:#EDC680;font-size:13px;letter-spacing:.02em;margin:14px 0 4px}
.auth-head .portal-tag{color:#DCE5ED;font-size:12px;letter-spacing:.18em;font-weight:500}
.auth-body h1{font-size:24px;font-weight:500}.auth-body .sub{font-size:14px}
.auth-foot{background:#F7FAFC;font-size:13px}.auth-foot a{color:var(--blue);font-weight:500}
.remember-row{font-size:14px}.remember-row .rr-hint{font-size:13px}
/* --- legal documents rendered in the portal keep a serif title --- */
.agreement-document h1{font-family:'Cinzel',Georgia,serif;font-weight:400}
.agreement-document h2{font-family:Georgia,serif;font-weight:500}
.agreement-firm{color:var(--gold);font-weight:500}
/* --- client home (index.php, R4.1) --- */
.home-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:24px;align-items:start;margin-bottom:24px}
.home-grid .panel{margin-bottom:0}
.home-stack>*+*{margin-top:20px}
.hero{padding:28px;background:linear-gradient(115deg,#16283A,#244A64);border-radius:8px;color:#fff}
.hero .eyebrow{color:#EDC680}
.hero h2{color:#fff;font-size:25px;line-height:1.35;max-width:600px;margin:12px 0;font-weight:500;overflow-wrap:anywhere}
.hero p{color:#DCE8F0;max-width:570px;font-size:15px;margin-bottom:22px}
.hero .btn{margin:0}
.hero .meta{color:#DCE8F0;margin-top:16px;font-size:13px}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);overflow-wrap:anywhere}
.meta{color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.subsection{margin-top:22px}.subsection>h2{font-size:20px;line-height:1.4;font-weight:500;margin-bottom:12px}
.subsection .panel+.panel{margin-top:16px}
.attn-row,.matter-item{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 24px;border-top:1px solid var(--line-soft)}
.attn-row:first-child,.matter-item:first-child{border-top:0}
.attn-row>div,.matter-item>div{min-width:0}
.attn-row h3,.matter-item h3{overflow-wrap:anywhere}
.attn-row .meta,.matter-item .meta{margin-top:7px}
.attn-row .actions,.matter-item .actions{flex-shrink:0}
.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.panel-pad{padding:24px}
.link{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:9px 0;min-height:44px;color:var(--blue);text-decoration:underline;text-underline-offset:3px;font-size:14px;text-align:left;line-height:1.4;font-family:inherit;cursor:pointer}
.link:hover{text-decoration-thickness:2px}
.help-strip{padding:17px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px}
.help-strip b{font-weight:500;color:var(--heading)}
.help-strip .actions{gap:4px 22px}
.home-history{font-size:14px}
.home-history>summary{min-height:44px;padding:11px 0;color:var(--blue);cursor:pointer;font-size:14px;display:flex;align-items:center;gap:8px}
.home-history>summary .badge{margin-left:4px}
.home-history .panel{margin-top:8px}
.home-history .row-item{gap:10px 16px;align-items:center}
.home-history .row-item>b{font-weight:500;color:var(--heading);font-size:15px}
.devices-row{margin-top:20px;font-size:13px;color:var(--muted);display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap}
.devices-row form{margin:0}
body.s-client .devices-row .btn-sm{min-height:36px;padding:6px 12px;font-size:13px}
/* --- client requests list (client-intakes.php, R4.1) --- */
.req-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 24px;border-top:1px solid var(--line-soft);text-decoration:none;color:inherit}
.req-row:first-child{border-top:0}
.req-row>div{min-width:0}
.req-row h3{overflow-wrap:anywhere}
.req-row .meta{margin-top:7px}
.req-row .meta+.meta{margin-top:8px}
.req-row .actions{flex-shrink:0}
/* --- client documents (documents.php, R4.1) --- */
.doc-group{padding:14px 24px 6px;border-top:1px solid var(--line-soft)}
.doc-group:first-child{border-top:0}
.doc-group h3{font-size:14px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.cdoc-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}
.cdoc-table th{font-weight:500;color:#455968;background:#F7FAFC;font-size:13px}
.cdoc-table th,.cdoc-table td{padding:16px 24px;border-bottom:1px solid var(--line-soft);vertical-align:top}
.cdoc-table tr:last-child td{border-bottom:0}
.cdoc-table td:first-child{min-width:200px}
.cdoc-table td b{font-weight:500;color:var(--heading);overflow-wrap:anywhere}
.cdoc-table .doc-actions{display:flex;flex-wrap:wrap;gap:4px 16px}
.cdoc-table .doc-actions a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;color:var(--blue);text-underline-offset:3px}
.cdoc-table .doc-actions a.btn-sm{text-decoration:none}
.document-upload label{margin-top:0}
/* --- responsive (spec §2 breakpoints) --- */
@media(max-width:1050px){
 .topnav{gap:20px;padding:12px 22px}.topnav nav{gap:0 17px}.wrap{padding:24px 22px}.hello{flex-wrap:wrap}
}
@media(max-width:760px){
 .topnav{gap:10px;padding:12px 18px;align-items:center}.topnav .brand{width:auto}.topnav .brand img{width:150px}
 .topnav nav{order:3;flex-basis:100%;width:auto;margin:0;gap:0 20px;padding:0;justify-content:flex-start}
 .topnav nav>a,.topnav nav .nav-signout,.nav-tools>summary{font-size:14px;padding:9px 0;min-height:44px}
 .nav-tools-menu{position:fixed;left:12px;right:12px;top:auto;margin-top:8px;min-width:0;max-width:none;max-height:calc(100vh - 170px);overflow:auto}.nav-tools-menu::before{display:none}.topnav .nav-tools-menu a{white-space:normal;padding:9px 12px;font-size:14px}
 .nav-account{margin-left:auto}.nav-account-menu{top:50px}
 .nav-tools{position:static}.nav-tools-menu{top:auto;margin-top:6px}
 .wrap{padding:22px 18px}.hello{margin-bottom:18px;gap:12px}.hello h1{font-size:24px}
 .panel-h{padding:16px 20px}.panel .row-item,.document-row,.attn-row,.matter-item,.req-row{padding:18px 20px}.panel-pad{padding:20px}
 .home-grid{grid-template-columns:1fr;gap:20px}.hero{padding:24px}.hero h2{font-size:23px}
 .attn-row,.matter-item,.req-row{flex-wrap:wrap;gap:12px}.attn-row .actions,.matter-item .actions,.req-row .actions{width:100%}
 body.s-client .attn-row .actions .btn-sm,body.s-client .req-row .actions .btn-sm,body.s-client .req-row .actions .btn{flex:1}
 .cdoc-table thead{display:none}.cdoc-table tr{display:block;padding:16px 20px;border-bottom:1px solid var(--line-soft)}.cdoc-table tr:last-child{border-bottom:0}
 .cdoc-table td{display:block;border:0;padding:5px 0;min-width:0}.cdoc-table td:first-child{min-width:0}
 .cdoc-table td:before{content:attr(data-label);display:block;color:var(--muted);font-size:13px;margin-bottom:4px}.cdoc-table td:first-child:before{display:none}
 .doc-group{padding:14px 20px 4px}
 .help-strip .actions{gap:4px 18px}
 .security-strip{display:grid;grid-template-columns:1fr;gap:8px}
 body.s-client .hello>.btn-sm{width:100%}
 .auth-head{padding:26px 24px 20px}.auth-head .brand img{width:170px}
}
@media(max-width:380px){
 .wrap{padding:18px 12px}.topnav{padding:12px 12px;gap:8px}.topnav .brand img{width:140px}.hero{padding:20px}
 .panel-h{padding:14px 16px}.panel .row-item,.document-row,.attn-row,.matter-item,.req-row{padding:16px}.panel-pad{padding:16px}
 .cdoc-table tr{padding:14px 16px}.doc-group{padding:12px 16px 4px}
}
/* --- payments page (R4.1 restyle of the existing structure) --- */
.paychoice{border-radius:8px;box-shadow:none;padding:24px}
.paychoice:hover{border-color:var(--control);transform:none}
.paychoice .pc-kicker{font-size:12px;letter-spacing:.06em;font-weight:500;color:var(--blue)}
.paychoice .pc-title{font-family:'Montserrat',Arial,sans-serif;font-size:20px;font-weight:500;color:var(--heading)}
.paychoice .pc-desc{font-size:14px}
.paychoice .pc-go{font-size:14px;font-weight:500;color:var(--blue)}
.paybanner{border-radius:8px;padding:22px 24px}
.paybanner .pb-kicker{font-size:12px;letter-spacing:.06em;font-weight:500;opacity:1;color:#EDC680}
.paybanner .pb-title{font-family:'Montserrat',Arial,sans-serif;font-size:22px;font-weight:500}
.paybanner .pb-sub{font-size:14px;opacity:1;color:#DCE8F0}
.paycol .panel-h{padding:18px 24px}.paybody{padding:24px 24px 28px}.payform{padding:20px 24px 24px}
.paymethod{font-size:16px;font-weight:500;color:var(--heading);border-top-color:var(--line-soft)}
.payp{font-size:14px}.payempty{font-size:14px}.paydetails{font-size:14px}.paydetails td:first-child{font-size:13px}
.paydetails td{border-bottom-color:var(--line-soft)}
.payaddr{font-size:14px;border-radius:6px}
.paywarn{background:#FBECEB;border:0;border-left:3px solid #A03434;border-radius:0 5px 5px 0;color:#8C2727;font-size:14px}
@media(max-width:760px){.paycol .panel-h{padding:16px 20px}.paybody{padding:20px}.payform{padding:16px 20px 20px}.paychoice{padding:20px}}
.pc-trust{border-top:4px solid var(--gold-soft)}.pc-invoice{border-top:4px solid var(--blue)}
.pb-trust{background:var(--navy);border-left:6px solid var(--gold-soft)}.pb-invoice{background:#1F5D96;border-left:6px solid #9CC4E8}
.pb-trust .pb-title{color:#fff}.pb-invoice .pb-title{color:#fff}.pb-invoice .pb-kicker{color:#CFE3F5}
.pb-switch{border-radius:6px;min-height:40px;font-size:14px}
/* --- dropzone in the new palette --- */
.dropzone{border:2px dashed var(--control);background:#F7FAFC;border-radius:6px}
.dropzone:hover,.dropzone.dz-over{border-color:var(--blue);background:#EEF4FA}
.dropzone.dz-over{box-shadow:inset 0 0 0 2px #9CC4E8}
.dropzone.dz-hasfile{border-style:solid;border-color:var(--blue);background:#EEF4FA}
.dz-icon{color:var(--blue)}.dz-main{font-weight:500;color:var(--heading)}.dz-main u{color:var(--blue)}.dz-hint{font-size:13px}.dz-file{font-weight:500;color:var(--heading)}
.cdoc-table tr.cdoc-grp td{background:#F7FAFC;color:var(--heading);font-weight:500;font-size:14px;padding:12px 24px;border-bottom:1px solid var(--line-soft)}
@media(max-width:760px){.cdoc-table tr.cdoc-grp{padding:12px 20px;background:#F7FAFC}.cdoc-table tr.cdoc-grp td{padding:0;background:none}.cdoc-table tr.cdoc-grp td:before{display:none}}
.panel.attn .panel-h{padding:16px 24px;align-items:flex-start}.panel.attn .panel-h h3{font-size:16px;flex:1 1 240px;min-width:0}.panel.attn .panel-pad{padding:18px 24px 20px}.panel.attn .panel-pad p{font-size:14px}.panel.attn .meta{margin-top:8px}
@media(max-width:760px){.panel.attn .panel-h,.panel.attn .panel-pad{padding-left:20px;padding-right:20px}}
/* R4.1: the Documents tab's "On the matter" column carries two lines (latest firm copy / client-visible copy) */
.doc-table td:nth-child(3),.doc-table th:nth-child(3){min-width:190px}
/* ============================================================================
   R4.2 (2026-09-11): attorney chrome — the offering workspace header, the five
   work areas as tabs (Rev 2 spec §3/§5), notes folded behind ⓘ, neutral
   matter status, phone condensation (Menu / work-area selector / people).
   ========================================================================== */
.ptitle{align-items:flex-start;gap:22px}
.ptitle .meta a{color:var(--blue)}
.title-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:5px;flex-shrink:0}
.title-tools-mobile{display:none}
.eb5-work .crumb{margin-bottom:10px}
.matter-details{margin:0 0 16px}
.matter-details .panel-pad{display:flex;gap:12px 16px;flex-wrap:wrap;align-items:flex-end}
.matter-details .panel-pad>div{flex:1 1 320px;min-width:0}
.matter-details select{margin-top:8px;max-width:100%}
#eb5-strip,#lit-strip{position:sticky;top:0;z-index:5;margin:0 0 20px;padding:0;border:0;border-bottom:1px solid #BBC9D4;border-radius:0;box-shadow:none;background:var(--bg);overflow:visible}
.etabs{display:flex;gap:0;flex-wrap:wrap;align-items:stretch;margin:0}
.etab-link{display:flex;flex-direction:row;gap:8px;align-items:center;text-decoration:none;border:0;border-bottom:3px solid transparent;border-radius:0;min-height:54px;padding:12px 14px;min-width:0;color:var(--heading);background:none;font-size:14px;font-weight:500;line-height:1.3;transition:none}
.etab-link .etab-step{font-size:14px;font-weight:500;letter-spacing:0}
.etab-link .etab-n{font-size:12px;opacity:1;background:#E3EAF0;border-radius:4px;padding:1px 6px;color:#3B5263;font-weight:400;white-space:nowrap}
.etab-link.done,.etab-link.now,.etab-link.todo{color:var(--heading);background:none;border-color:transparent;opacity:1}
.etab-link.now .etab-n{background:var(--amber-wash);color:var(--amber)}
.etab-link.now .etab-step::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold-soft);margin-right:7px;vertical-align:middle}
.etab-link.active{color:var(--blue);border-bottom-color:var(--blue);background:#E7EFF6;box-shadow:none}
.etab-link:hover{background:#EEF3F7}
.etab-next{font-size:14px;padding:12px 0 14px;color:var(--ink);line-height:1.55}
/* R5.13a: the action's message rides in the sticky strip (read wherever the page lands); the element landed on is marked for a moment */
#lit-strip .lit-strip-flash{margin:0;padding:8px 12px;font-size:13px;cursor:pointer;border-radius:0 5px 5px 0}
.lit-landed{animation:lit-landed 2.6s ease-out}
@keyframes lit-landed{0%,55%{background-color:#fff3cd;box-shadow:inset 3px 0 0 var(--gold)}100%{background-color:transparent;box-shadow:none}}
@keyframes lit-landed-bg{0%,55%{background-color:#fff3cd}100%{background-color:transparent}}
tr.lit-landed{animation:none}tr.lit-landed>td{animation:lit-landed-bg 2.6s ease-out}tr.lit-landed>td:first-child{animation-name:lit-landed}
.etab-next b{font-weight:500;color:var(--heading)}
.work-select{display:none}
/* the panels inside a work area */
.etab .panel-h>span,.etab .panel-h>.hint{font-size:13px;color:var(--muted)}
/* notes behind ⓘ (progressive enhancement: without JS every note is open) */
.inote-b{display:inline-grid;place-items:center;width:22px;height:22px;min-height:0;padding:0;border-radius:50%;border:1px solid var(--control);color:var(--blue);background:#fff;font:500 12px/1 'Montserrat',Arial,sans-serif;cursor:pointer;vertical-align:middle;margin-left:4px;flex-shrink:0}
.inote-b[aria-expanded=true]{background:var(--blue);color:#fff;border-color:var(--blue)}
.inote-b:focus-visible{outline:3px solid rgba(31,93,150,.45);outline-offset:2px}
.inote-t{display:block;font-size:13px;line-height:1.55;color:#324A5E;background:#F1F5F9;border-left:3px solid var(--blue);border-radius:0 5px 5px 0;padding:10px 12px;margin:8px 0 6px;font-weight:400;white-space:normal;overflow-wrap:anywhere}
.inote-t[hidden]{display:none}
html.no-js .inote-b{display:none}html.no-js .inote-t[hidden]{display:block}
.inote-t b{font-weight:500}
/* field blocks in the terms grid (label + chips + ⓘ above the control) */
.fld{min-width:0}
.fld-h{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0 0 6px}
.fld-h label{margin:0;font-size:14px;font-weight:500;color:var(--ink)}
.fld input,.fld textarea,.fld select{margin:0}
.fld .inote-t{margin-top:8px}
.tchip{display:inline-block;font-size:11px;letter-spacing:.02em;text-transform:uppercase;border:1px solid currentColor;border-radius:3px;padding:0 5px;line-height:1.6;vertical-align:middle;white-space:nowrap;font-weight:500}
.tchip-attorney{color:#5E4A12;border-style:solid}
.tchip-roster{color:var(--muted)}
.tchip-default{color:var(--amber);border-style:dashed}
.tchip-lib{color:#275B87;border-style:dashed}
.tchip-ai{color:#962E2E;border-style:dashed}
.tchip-client{color:#275B87;border-style:dashed}
.tchip-req{color:#962E2E;border-style:solid}
.rule{margin:10px 0}.rule label{display:inline;margin:0;font-weight:400;font-size:14px}.rule label b{font-weight:500;color:var(--heading)}.rule input[type=checkbox],.rule input[type=radio]{vertical-align:-3px;margin-right:6px}
.rule-group{border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin:6px 0 16px}
.facts-line{font-size:14px;margin:0 0 12px;color:var(--ink)}.facts-line b{font-weight:500;color:var(--heading)}
.grp-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0 8px}.grp-h h3{margin:0;font-size:16px}.grp-h .hint{font-size:13px}
details.grp>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:44px;padding:6px 0}details.grp>summary::-webkit-details-marker{display:none}
details.grp>summary::before{content:"";width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(-45deg);margin-right:2px;transition:transform .12s}
details.grp[open]>summary::before{transform:rotate(45deg)}
details.grp>summary h3{display:inline;margin:0;font-size:16px}
@media(max-width:1050px){.etab-link{padding:12px 14px}.ptitle{flex-wrap:wrap}.title-tools{justify-content:flex-start;padding:0}}
@media(max-width:760px){
 .etabs{display:none}.work-select{display:block;padding:12px 0 4px}.work-select label{display:block;font-size:14px;margin-bottom:8px;font-weight:500}.work-select select{max-width:100%}
 .title-tools{display:none}.title-tools-mobile{display:block;margin:0 0 16px}.title-tools-mobile>summary{font-size:14px;color:var(--blue);min-height:44px;padding:10px 0;cursor:pointer;list-style:none}.title-tools-mobile>summary::-webkit-details-marker{display:none}.title-tools-mobile>summary::after{content:" ▾"}
 .title-tools-mobile>div{display:flex;flex-direction:column;gap:8px;padding:4px 0 8px}.title-tools-mobile .btn-sm{width:100%;text-align:center}
 #eb5-strip,#lit-strip{position:static}.ptitle{margin-bottom:8px}.eb5-work .crumb span{display:none}
 .rule-group{padding:12px}
}
/* firm nav condensed to a Menu on phones (firm accounts only) */
.nav-mobile{display:none}
@media(max-width:760px){
 body.s-firm .topnav nav{display:none}
 body.s-firm .nav-mobile{display:block;margin-left:auto;position:relative}
 body.s-firm .nav-mobile>summary{list-style:none;color:#fff;font-size:14px;min-height:44px;display:inline-flex;align-items:center;padding:9px 8px;cursor:pointer}body.s-firm .nav-mobile>summary::-webkit-details-marker{display:none}
 body.s-firm .nav-mobile>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-3px 0 0 6px}
 body.s-firm .nav-mobile>div{position:absolute;right:0;top:50px;z-index:70;width:220px;background:#fff;border:1px solid var(--control);border-radius:6px;padding:8px;box-shadow:0 8px 24px rgba(22,40,58,.16)}
 body.s-firm .nav-mobile>div a{display:block;min-height:44px;padding:10px 12px;border-radius:4px;color:var(--blue);font-size:14px;text-decoration:none}
 body.s-firm .nav-mobile>div a.act{background:#E7EFF6;color:var(--blue);font-weight:500}
 body.s-firm .nav-mobile>div a:hover{background:#F3F7FA}
 body.s-firm .nav-account{margin-left:8px}
}
/* ============================================================================
   R4.3 (2026-09-12): Review & terms (six categories with an index) and the
   Sources file table on the EB-5 drafting screen (Rev 2 spec §5).
   ========================================================================== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.review-grid{display:grid;grid-template-columns:214px minmax(0,1fr);gap:24px;align-items:start;padding:20px 24px 24px}
.rv-index{display:flex;flex-direction:column;gap:4px;position:sticky;top:72px}
.rv-index-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:5px 10px 8px}
.rv-tab{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;width:100%;border:0;border-left:3px solid transparent;background:none;color:var(--heading);border-radius:0 5px 5px 0;min-height:48px;padding:12px;font-size:14px;text-decoration:none}
.rv-tab:hover{background:#F1F5F9}
.rv-tab.on{background:#E4EDF5;color:var(--blue);border-left-color:var(--blue);font-weight:500}
.rv-count{background:#E3EAF0;border-radius:4px;padding:1px 6px;color:#3B5263;font-size:13px;font-weight:400}
.rv-tab.on .rv-count{background:#fff}
.rv-select{display:none}
.rv-main{min-width:0}
.rv-sec-h{margin:0 0 16px}.rv-sec-h h3{font-size:20px;line-height:1.4;margin:0 0 6px}.rv-sec-h .meta{font-size:14px;color:var(--muted)}
.rv-empty{font-size:14px;color:var(--muted);padding:18px 20px;background:#F7FAFC;border:1px solid var(--line);border-radius:6px}
.rv-item{padding:18px 20px;border:1px solid var(--line);border-radius:8px;background:#fff;margin:0 0 12px}
.rv-item-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-bottom:8px}.rv-item-h h4{margin:0;font-size:16px;font-weight:500;color:var(--heading);overflow-wrap:anywhere}
.rv-item .actions{margin-top:12px}.rv-item form.actions{margin:12px 0 0}
.rv-item>p.meta{margin:0 0 4px;font-size:14px}
.rv-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.rv-val{padding:14px 16px;background:#F7FAFC;border:1px solid var(--line);border-radius:6px;min-width:0}
.rv-lbl{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.rv-txt{font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}
.rv-apply{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:14px 16px;background:#E8F0F7;border-left:3px solid var(--blue);border-radius:0 5px 5px 0}
.rv-apply .meta{font-size:14px;color:#324A5E}
.rv-list{margin:6px 0 0;padding-left:20px;font-size:14px;line-height:1.55}.rv-list li{margin:3px 0}
.rv-more{margin-top:10px;font-size:14px}.rv-more>summary{min-height:40px;padding:8px 0;color:var(--blue);cursor:pointer}
.rv-prose{font:400 15px/1.65 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:6px;color:#304553;max-width:76ch}
.rv-prose-cur{background:#F7FAFC}
.rv-edit{font-size:14px}
.terms-notes:empty{display:none}
/* Sources table */
.src-wrap{overflow:auto;margin-top:4px}
.src-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}
.src-table th{font-weight:500;color:#455968;background:#F7FAFC;font-size:13px}
.src-table th,.src-table td{padding:14px 12px;border-bottom:1px solid var(--line-soft);vertical-align:top}
.src-table tr:last-child td{border-bottom:0}
.src-table td:first-child{min-width:220px}.src-table td:nth-child(3){min-width:220px}.src-table td:nth-child(4){min-width:220px}
.src-table td b{font-weight:500;color:var(--heading);overflow-wrap:anywhere}
.src-table .actions{gap:8px}
.src-table .src-more{margin-top:6px;font-size:13px}.src-table .src-more>summary{min-height:32px;padding:4px 0}
.src-table .deliver-progress{margin:6px 0 0}
.src-aside td{background:#FBFCFD;color:var(--muted)}
.src-table .badge{margin-bottom:6px}
.src-table td .meta{font-size:13px}
@media(max-width:1050px){.review-grid{grid-template-columns:190px minmax(0,1fr);gap:18px}.rv-two{gap:14px}}
@media(max-width:960px){.review-grid{grid-template-columns:1fr}.rv-index{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.rv-index-label{grid-column:1/-1}}
@media(max-width:760px){.review-grid{padding:16px 20px 20px;gap:12px}.rv-index{display:none}.rv-select{display:block}.rv-select label{display:block;font-size:14px;margin-bottom:8px;font-weight:500}.rv-two{grid-template-columns:1fr}.rv-item{padding:16px}
 .src-table thead{display:none}.src-table tr{display:block;padding:14px 0;border-bottom:1px solid var(--line-soft)}.src-table td{display:block;border:0;padding:5px 0;min-width:0}.src-table td:before{content:attr(data-label);display:block;color:var(--muted);font-size:13px;margin-bottom:4px}.src-table td:first-child:before{display:none}.src-table td:first-child{min-width:0}.src-table td:nth-child(3),.src-table td:nth-child(4){min-width:0}}
html.no-js .rv-sec[hidden]{display:block}html.no-js .rv-index{display:none}
/* R4.2: matter status colour by meaning — amber = waiting on the client, blue = with the firm, neutral = engaged/active, dim = closed (spec §2) */
.status-pill{border-radius:4px;padding:4px 8px;font-size:13px;font-weight:500;letter-spacing:0;border:0}
.st-inquiry,.st-signing,.st-review,.st-signed_pending{background:#E8F1FA;color:#275B87;border:0}
.st-engagement_sent{background:var(--amber-wash);color:var(--amber);border:0}
.st-engaged,.st-active,.st-ok{background:#EDF1F4;color:#455968}
.st-closed{background:#EDF1F4;color:#586976}
.st-blocked,.st-err{background:#FBECEB;color:var(--err)}
.src-table td:nth-child(2){min-width:200px}
/* ============================================================================
   R4.4 (2026-09-12): the client request page composition (Rev 2 spec §4).
   ========================================================================== */
.req-state{margin-top:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.req-need .panel-pad{padding-top:20px}
.req-purpose{font-size:15px;line-height:1.6;color:var(--ink);max-width:72ch}
.req-prior{margin-top:10px}
.req-h{font-size:16px;font-weight:500;color:var(--heading);margin:22px 0 4px;display:flex;align-items:center;gap:8px}
.req-h .badge{font-weight:400}
.req-need .req-h:first-of-type{margin-top:18px}
.req-need p.meta{margin:0 0 8px}
.req-list{margin:6px 0 0;padding-left:20px;font-size:15px;line-height:1.55}.req-list li{margin:6px 0}.req-list li b{font-weight:500;color:var(--heading)}.req-list .meta{font-size:13px;margin-top:2px}
.req-list-check{list-style:none;padding-left:0}.req-list-check li{padding-left:24px;position:relative}.req-list-check li::before{content:"\2713";position:absolute;left:2px;top:0;color:var(--ok);font-weight:700}
.req-jump{margin-top:20px;padding-top:14px;border-top:1px solid var(--line-soft);display:flex;gap:4px 18px;flex-wrap:wrap;align-items:center}
.intake-section{font-family:'Montserrat',Arial,sans-serif;font-size:20px;font-weight:500;color:var(--heading);margin:28px 0 4px;padding-top:18px;border-top:1px solid var(--line);scroll-margin-top:16px}
.intake-section:first-child{border-top:0;padding-top:4px;margin-top:8px}
.intake-answer-form{padding:8px 24px 24px}
.intake-field{padding:16px 0 18px;border-bottom:1px solid var(--line-soft)}
.intake-label-row label{font-size:15px;font-weight:500;color:var(--ink);margin:0 0 6px}
.intake-field .hint{font-size:13px;margin:0 0 8px}
.intake-field input,.intake-field select,.intake-field textarea{font-size:16px}
.intake-field-locked{opacity:1}.intake-field-locked input:disabled,.intake-field-locked textarea:disabled,.intake-field-locked select:disabled{background:#F7FAFC;color:#324A5E;border-color:var(--line)}
.assist-source{margin:8px 0 0!important;font-size:13px!important;color:#324A5E;padding:8px 12px;background:#E8F0F7;border-left:3px solid var(--blue);border-radius:0 5px 5px 0}
.assist-source.confirmed{color:#324A5E;font-weight:400}
.assist-source.conflict{color:#705011;background:#FFF7E5;border-left-color:#B57B19}
.check-card{padding:10px 12px;border:1px solid var(--control);border-radius:6px;background:#fff;min-height:44px;display:flex;align-items:center;gap:10px;font-size:14px}
.doc-slot{border:1.5px dashed var(--control);border-radius:6px;background:#F7FAFC;padding:12px 14px;font-size:14px}
.doc-slot:hover,.doc-slot.dz-over{border-color:var(--blue);background:#EEF4FA}
.doc-slot .ds-label{color:var(--blue);font-weight:500}
.assist-docs li{font-size:14px;border-radius:6px}
.intake-intro{font-size:14px;color:var(--ink)}
.req-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.req-actions .btn,.req-actions .btn-sm{margin:0}
.confirmation-box{margin-top:22px;padding:24px;border:2px solid var(--blue);border-radius:8px;background:#fff;color:var(--ink)}
.confirmation-box h3{font-size:20px;margin:0 0 6px}
.confirmation-box .inline-check{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.55;margin-top:16px;font-weight:400}
.confirmation-box .inline-check input{width:20px;height:20px;margin-top:3px;flex-shrink:0}
.confirmation-box.confirmed{border-color:#33734C;background:#E9F4ED;color:#285E3D}
.confirmation-box.confirmed b{font-weight:500}
.req-review-list{margin:14px 0 4px;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.req-review-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px 16px;padding:10px 14px;border-top:1px solid var(--line-soft);font-size:14px}
.req-review-row:first-child{border-top:0}
.req-review-q{color:var(--muted)}.req-review-a{white-space:pre-wrap;overflow-wrap:anywhere}.req-review-a.empty{color:var(--muted);font-style:italic}
.req-files .cdoc-table td{padding:14px 24px}
.change-request{margin:0 0 16px}
@media(max-width:760px){.intake-answer-form{padding:8px 20px 20px}.req-review-row{grid-template-columns:1fr}.req-actions .btn,.req-actions .btn-sm{flex:1}.confirmation-box{padding:20px}.req-files .cdoc-table td{padding:5px 0}}
/* R4.4: the help card (every client page) and the history disclosure on Home */
.help-card{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-top:24px;padding:20px 24px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:8px}
.help-card-text b{display:block;font-weight:500;color:var(--heading);font-size:16px}.help-card-text .meta{margin-top:4px;font-size:14px}
.help-card-actions{display:flex;gap:10px;flex-wrap:wrap}
body.s-client .help-card-actions .btn-sm{min-height:44px}
.home-history.panel{margin-top:4px;padding:0;overflow:visible}
.home-history>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;min-height:56px;cursor:pointer;color:var(--heading);font-size:16px;font-weight:500}
.home-history>summary::-webkit-details-marker{display:none}
.home-history>summary:hover{background:#F7FAFC}
.home-history .hh-cue{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-size:14px;font-weight:500;white-space:nowrap}
.home-history .hh-cue::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-3px 4px 0 2px;transition:transform .12s}
.home-history[open] .hh-cue::after{transform:rotate(-135deg);margin-top:3px}
.home-history .hh-hide{display:none}.home-history[open] .hh-show{display:none}.home-history[open] .hh-hide{display:inline}
.home-history .hh-body{border-top:1px solid var(--line);padding:0}
.home-history .hh-body>.panel{border:0;margin:0;border-radius:0 0 8px 8px}
.home-history .hh-body>p.meta{padding:16px 24px}
.home-history .badge{margin-left:8px;font-weight:400}
@media(max-width:760px){.help-card{padding:18px 20px}.help-card-actions{width:100%}.help-card-actions .btn-sm{flex:1}.home-history>summary{padding:14px 20px}}
/* R4.5: the new-matter save chip is a state, not a completion — neutral (spec §2) */
.savechip{font-size:13px;color:#455968;background:#EDF1F4;border:0;border-radius:4px;padding:4px 8px}
/* R4.6: review rounds on the Documents tab */
.rr-round{padding:18px 24px;border-bottom:1px solid var(--line-soft)}
.rr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 16px;flex-wrap:wrap}.rr-head h3{font-size:16px;margin:0}.rr-head .meta{margin-top:6px}
.rr-comments{list-style:none;margin:12px 0 0;padding:0}.rr-comments li{padding:10px 0;border-top:1px solid var(--line-soft);font-size:14px}.rr-comments li:first-child{border-top:0}
.rr-note{white-space:pre-wrap;margin-top:4px;font-size:14px;color:var(--ink)}
.rr-actions{display:flex;gap:8px 24px;flex-wrap:wrap;margin-top:12px}
.rr-form{font-size:14px}.rr-form>summary{min-height:44px;padding:10px 0;color:var(--blue);cursor:pointer;font-weight:500}
.rr-form form{padding:4px 0 12px;max-width:720px}.rr-form label{margin-top:12px}
.rr-send{padding:8px 24px 12px;border-top:1px solid var(--line-soft)}
#review-rounds>details.rr-form:not(.rr-send){padding:0 24px 12px}
.rr-docs{margin-top:8px}
/* R4.6 (G: "the Exit preview button seems broken"): it worked but rendered as a blue underlined link on navy — styled as a nav control */
.topnav>a.nav-signout{margin-left:auto;color:#fff;font-size:14px;font-weight:500;min-height:44px;display:inline-flex;align-items:center;padding:9px 14px;border:1px solid var(--control);border-radius:6px;text-decoration:none;white-space:nowrap}
.topnav>a.nav-signout:hover{background:rgba(255,255,255,.08);border-color:#B8C6D2}
/* R4.8 (G: "ANOTHER banner on top of that with 'preview open' … it just persists"): the firm tab's
   "Preview open" bar is grey with a navy tag so it cannot be mistaken for the preview itself (the
   R4.1 restyle had painted both bars the same gold); the bar removes itself when the preview ends */
.viewas-bar-bg{background:#EEF2F5;border-bottom-color:#C6D0DD;color:#455968}
.viewas-bar-bg .viewas-tag{background:var(--navy)}
/* R4.8b (G: "the double exit preview option is redundant — it should just be the top banner only"): the bar's
   exit is a POST button now (uncacheable), styled exactly as the link it replaces; the header copy is gone */
.viewas-exit-form{display:inline;margin:0}
button.viewas-exit{font:inherit;font-size:13px;font-weight:700;line-height:normal;cursor:pointer;min-height:0;color:var(--navy);background:#fff;border:1px solid var(--navy);border-radius:8px;padding:5px 11px}
button.viewas-exit:hover{background:var(--navy);color:#fff}
.nav-account-menu button[disabled]{color:var(--muted);cursor:default;background:#fff}
.nav-account-menu .na-note{margin:4px 0 2px;padding:8px 12px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--line)}
/* R4.7: answers received outside the portal — the pasted-text panel on the firm's questionnaire page */
.pasted-panel summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}
.pasted-panel summary::-webkit-details-marker{display:none}
.pasted-panel summary::before{content:"\25B8";color:var(--blue);margin-right:2px}
.pasted-panel[open] summary::before{content:"\25BE"}
.pasted-panel textarea{width:100%;box-sizing:border-box;resize:vertical;font-size:14px}
.pasted-row{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:end;margin-top:10px}
.pasted-row>label{flex:1 1 280px;font-size:13px;color:var(--muted)}
.pasted-row>label input{margin-top:4px}
.pasted-row .pasted-keep{flex:0 1 auto;display:flex;align-items:center;gap:8px;color:var(--ink);font-size:13.5px;margin:0 0 10px}
.pasted-row .pasted-keep input{width:auto;min-height:0;margin:0}
.pasted-row .btn-sm{margin-bottom:6px}
#pasted-status{margin:8px 0 0}
/* R4.9 (G: "the eb5 source also doesn't have a clean download button? maybe it should"): Download with the document, not inside Details */
.src-table .src-dl{margin:6px 0 2px}
.src-table .src-dl .btn-sm{margin:0}
/* R4.10 (G: "for the differs is there a way to show the date, or which was more recent?"): the dated sides under a "differs" proposal */
.lit-props .lit-side{margin-top:4px;font-size:12.5px}
.lit-props .lit-side .badge{margin-left:2px;vertical-align:middle}
/* R4.11: the case file in its filing sections, with a re-file control on each row */
.lit-sec{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}
.lit-sec select{width:auto;min-height:32px;padding:4px 8px;font-size:13px;max-width:280px}
.lit-sec-h{border-bottom:1px solid var(--line);padding-bottom:4px}
/* R4.14: a document attached to another nests under it in the case file */
.admin tr.lit-child td:first-child{padding-left:28px}
.lit-att-mark{color:var(--muted);margin-right:2px}

/* --- R4.21 sign-in card refinements (G, 2026-09-12: "presentation is everything") ---
   One spacing rhythm on an 8px grid; head, body and foot of the card breathe evenly; ONE legal
   footer, on the navy, with the Terms link (the grey band is no longer printed under the card —
   see page_bottom); phones get 24px side padding instead of 40. The "why no password" panel is
   gone (the lead says there is none). Also refines request-access.php and the auth.php
   interstitials, which share the card. */
.authwrap{padding:48px 20px 40px}
.authwrap>div{width:100%;max-width:460px}
.auth-card{max-width:none}
.auth-head{padding:30px 40px 24px}
.auth-head .slogan{margin:16px 0 6px;font-size:13px;letter-spacing:.03em}
.auth-head .portal-tag{margin-top:0}
.auth-body{padding:26px 40px 28px}
.auth-body h1{font-size:26px;font-weight:500;line-height:1.25;letter-spacing:-.005em;color:var(--navy);margin:0 0 8px;text-wrap:balance}
.auth-body .sub{font-size:14.5px;line-height:1.6;color:var(--muted);margin:0 auto 24px;text-wrap:balance}
.auth-body .sub+.sub{margin-top:-12px}
.auth-body label{font-size:14px;font-weight:500;color:var(--heading);margin:16px 0 8px}
.auth-body form .hp+label,.auth-body .frow>div>label,.auth-body form>label:first-child{margin-top:0}
.auth-body .frow{margin-top:16px}.auth-body .hp+.frow{margin-top:0}
.auth-body input[type=email]{min-height:48px;padding:12px 14px;font-size:15.5px}
.auth-body input::placeholder{color:#8A9AA8}
.auth-body .remember-row{margin:16px 0 0;gap:12px}
.remember-row input[type=checkbox]{width:20px;height:20px;margin-top:1px}
.remember-row .rr-hint{margin-top:3px;line-height:1.45}
.auth-body .btn{margin-top:24px;min-height:48px;padding:13px 20px;font-size:15px;font-weight:500;letter-spacing:.005em}
.assent{margin-top:14px;font-size:13px;line-height:1.5}
.auth-foot{padding:16px 40px;font-size:13.5px;line-height:1.5}
footer.auth-legal{text-align:center;color:#C9D6E2;font-size:12px;line-height:1.7;margin:26px auto 0;max-width:520px;padding:0 8px}
footer.auth-legal p{margin:0}
footer.auth-legal p+p{margin-top:2px}
footer.auth-legal p:last-child{margin-top:8px}
footer.auth-legal a{color:#DCE5ED;text-decoration:none;border-bottom:1px solid transparent}
footer.auth-legal a:hover{color:#fff;border-color:rgba(255,255,255,.6)}
footer.auth-legal a.terms{color:#EDC680;border-color:rgba(237,198,128,.45);font-weight:500}
footer.auth-legal a.terms:hover{color:#F5D89A;border-color:#F5D89A}
@media(max-width:760px){
 .authwrap{padding:24px 16px 32px}
 .auth-head{padding:28px 24px 22px}.auth-head .brand img{width:180px}
 .auth-body{padding:24px 24px 26px}.auth-body h1{font-size:24px}
 .auth-foot{padding:14px 24px}
 footer.auth-legal{margin-top:22px;font-size:11.5px}
}
/* R5.4c — the litigation workflow cards: four across, two by two on a laptop, one column on a phone (never three-and-one) */
.wf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 18px 14px}
@media(max-width:1180px){.wf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.wf-grid{grid-template-columns:minmax(0,1fr)}}
/* R5.4c — a served responses record: every editor renders inside a disabled fieldset (read-only, greyed), no box of its own */
fieldset.ro-lock{border:0;padding:0;margin:0;min-width:0}
fieldset.ro-lock :is(input,textarea,select):disabled{background:#F7FAFC;color:#324A5E;border-color:var(--line)}
fieldset.ro-lock .btn:disabled,fieldset.ro-lock .btn-sm:disabled{background:#E8EDF0!important;color:var(--muted)!important;border-color:#BAC6CE!important;cursor:default}
/* R5.5 — the document viewer (document.php): the pdf.js reader, an image, the Word text rendering, text */
.doc-view .doc-reader{height:calc(100vh - 190px);min-height:480px}
.doc-imagewrap{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;text-align:center}
.doc-image{max-width:100%;height:auto}
.doc-text{white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px 18px;font-size:13.5px;line-height:1.5;max-height:calc(100vh - 190px);overflow:auto}
.doc-textprev{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px 36px;max-width:920px;line-height:1.55}
.doc-textprev h1,.doc-textprev h2,.doc-textprev h3,.doc-textprev h4{margin:18px 0 8px}
.doc-textprev p{margin:0 0 10px}.doc-textprev p.pv-empty{margin:0;height:8px}.doc-textprev .pv-center{text-align:center}.doc-textprev .pv-right{text-align:right}
.doc-textprev table{border-collapse:collapse;margin:10px 0;max-width:100%}.doc-textprev td{border:1px solid #c9d1da;padding:4px 8px;vertical-align:top}
.doc-textprev hr.pv-page{border:0;border-top:1px dashed #c9d1da;margin:18px 0}
@media (max-width:640px){.doc-view .doc-reader{height:70vh}.doc-textprev{padding:16px}}
/* R5.23 — the paper's outputs: Print · Download PDF · Download Word as one group, on the viewer page's bar and beside "Preview the paper ↗" on the workbench */
.pv-out{display:inline-flex;gap:7px;align-items:center;flex-wrap:wrap}.pv-out .btn-sm{margin:0;text-decoration:none}
.doc-view .hello-actions{flex-wrap:wrap;justify-content:flex-end;row-gap:7px}
#pv-print[disabled]{opacity:.6;cursor:progress}
@media (max-width:640px){.doc-view .hello-actions{justify-content:flex-start}.pv-out{gap:6px}}
/* printing the text rendering (no converter): the paper's text alone, full width */
@media print{.doc-view .hello,.doc-view .hint,.doc-view #pv-print-status{display:none!important}.wrap.doc-view{max-width:none;padding:0}.doc-textprev{border:0;padding:0;max-width:none;box-shadow:none}.doc-textprev hr.pv-page{border:0;break-after:page;page-break-after:always;margin:0}}
/* R5.17 — the agreement page shows the agreement as its PDF in the reader; the text version folds underneath */
.agreement-page .agreement-reader{height:calc(100vh - 230px);min-height:520px;margin:0 0 14px}
.agreement-page details.agreement-text{border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 14px;margin:0 0 16px}
.agreement-page details.agreement-text>summary{cursor:pointer;font-size:13.5px;color:var(--muted)}
.agreement-page details.agreement-text[open]>summary{margin-bottom:8px}
@media (max-width:640px){.agreement-page .agreement-reader{height:70vh}}
/* R5.17 — a file dragged anywhere over a page with drop areas lights every drop area up (a drop outside one no longer opens the file in the tab) */
body.dz-page-drag .dropzone{border-color:var(--blue);background:#EEF4FA;box-shadow:0 0 0 3px #CFE1F2}
.dropzone .dz-file.dz-err{color:var(--err,#b3261e);font-weight:600}

/* R5.20 autosave: the status that takes the Save button's place (assets/portal-autosave.js) */
.as-hidden{display:none!important}
.autosave-status{font-size:.86rem;color:var(--muted,#6b7280);display:inline-flex;align-items:center;gap:6px;min-height:28px}
.autosave-status::before{content:"";width:8px;height:8px;border-radius:50%;background:#c9d0d8;flex:0 0 auto}
.autosave-status.as-pending::before{background:#d9a406}
.autosave-status.as-saving::before{background:#2a6fdb;animation:as-pulse 1s ease-in-out infinite}
.autosave-status.as-saved::before{background:#1f9d55}
.autosave-status.as-error{color:var(--err,#b42318)}
.autosave-status.as-error::before{background:var(--err,#b42318)}
.autosave-status a{color:inherit;text-decoration:underline}
@keyframes as-pulse{0%,100%{opacity:.35}50%{opacity:1}}
html.no-js .as-hidden{display:inline-block!important}
/* R5.21 — list order: sortable column headers, the Sort-by select and Find box in a panel header, the last-worked-on cell */
.sort-th{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:4px;border-bottom:1px dotted transparent}
.sort-th:hover{border-bottom-color:currentColor}
.sort-th.on{color:var(--navy);font-weight:600}
.sort-arrow{font-size:9px;line-height:1}
.dir-tools{display:flex;gap:12px 16px;align-items:center;flex-wrap:wrap;font-size:12.5px}
.dir-tools select,.dir-find input{width:auto;min-width:0;font:inherit;font-size:12.5px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--card,#fff);color:inherit}
.dir-find input{width:190px;max-width:100%}
.sort-select{white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.sort-flip{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:4px 10px;text-decoration:none;color:var(--navy)}
.sort-flip:hover{border-color:var(--gold-soft,var(--gold))}
.dir-activity{font-size:12.5px;color:var(--muted)}
.dash-activity{margin:4px 0 0;font-size:12.5px}
@media (max-width:640px){.dir-tools{width:100%}.dir-find input{width:100%}.sort-flip{display:block}}
/* R5.22 — the objection pass panel on the responses workbench */
.objpass{margin:0 18px 14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe;padding:12px 14px}
.objpass-sum{cursor:pointer;list-style:none;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin:-2px 0}
.objpass-sum::-webkit-details-marker{display:none}
.objpass-sum::before{content:"▸";color:var(--muted);font-size:12px;flex:0 0 auto}
.objpass[open] .objpass-sum::before{content:"▾"}
.objpass[open] .objpass-sum{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.objpass-add{display:flex;gap:6px 10px;align-items:center;flex-wrap:wrap;font-size:12.5px;padding:10px 0 4px;margin-top:8px;border-top:1px dashed var(--line)}
.objpass-add label{display:inline-flex;gap:4px;align-items:center;margin:0;font-weight:400}
.objpass-add label[hidden]{display:none}
.rp-src .btn-link{background:none;border:0;padding:0;margin:0;color:var(--blue);text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:inherit;cursor:pointer;min-height:0}
.objpass-add select,.objpass-add input[type=text],.objpass-add input:not([type]){padding:4px 8px;font-size:12.5px}
.objpass-h{display:flex;gap:12px 16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.objpass-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex:0 0 auto}
.objpass-bulk{display:flex;gap:6px 10px;align-items:center;flex-wrap:wrap;font-size:12.5px;padding:6px 0 8px}
.objpass-bulk label{display:inline-flex;gap:4px;align-items:center;margin:0;font-weight:400}
.objpass-bulk a{color:var(--navy)}
.objpass-sep{flex-basis:12px}
.objpass-table td{vertical-align:top}
.objpass-req{font-size:12.5px;max-width:34ch}
.objpass-chip{border:1px solid var(--line);border-radius:8px;padding:6px 8px;margin:0 0 6px;background:#fff}
.objpass-chip.on-card{background:#f4f6f8;color:var(--muted)}
.objpass-chip label{display:flex;gap:6px;align-items:center;margin:0;font-weight:400}
.objpass-chip .objpass-term{margin:4px 0 0;padding:4px 8px;font-size:12.5px}
.objpass-why{font-size:12px;color:#4b5563;margin-top:4px}
.objpass-src{font-size:11px;color:var(--muted);margin-left:auto}
@media (max-width:640px){.objpass{margin:0 8px 12px}.objpass-table td,.objpass-table th{display:block;width:auto}.objpass-table tr{display:block;border-bottom:1px solid var(--line);padding:6px 0}.objpass-table tr:first-child{display:none}.objpass-req{max-width:none}.objpass-bulk button{margin-left:0!important}}
/* R5.26 — the responses row: request · as it will print (the fields sit where their text prints) · controls */
.rp-jump{margin:0 18px 10px;display:flex;gap:4px 6px;flex-wrap:wrap;align-items:center;font-size:12.5px}
.rp-jump-n{display:inline-block;min-width:26px;text-align:center;padding:2px 7px;border-radius:999px;border:1px solid var(--line);text-decoration:none;color:var(--navy);background:#fff;font-weight:600;font-size:12px}
.rp-jump-n.ok{background:#E5F1E9;color:var(--ok);border-color:#cfe8d9}.rp-jump-n.pot{background:#E8F1FA;color:#275B87;border-color:#c6d0dd}.rp-jump-n.prog{background:var(--amber-wash,#fff7e6);color:var(--amber,#8a6d2a);border-color:#ecdfc2}
.rp-jump-note{flex-basis:100%;margin:2px 0 0}
.rp-row{padding:0 18px 6px;border-top:1px solid #f0f2f5}
.rp-row>summary.rp-sum{padding:12px 0;display:flex;gap:6px 10px;align-items:center;flex-wrap:wrap}
.rp-row[open]>summary.rp-sum{border-bottom:1px dashed #e6eaf0;margin-bottom:10px}
.rp-form{border:0;padding:0;margin:0}
.rp-grid{display:grid;grid-template-columns:minmax(220px,3fr) minmax(300px,5fr) minmax(240px,4fr);gap:18px;align-items:start}
.rp-lbl{margin:0 0 4px;font-size:12.5px;font-weight:600;color:var(--navy)}
.rp-req,.rp-client{white-space:pre-wrap;border-radius:8px;padding:8px 10px;font-size:.93rem;line-height:1.5}
.rp-req{background:#f7f9fb;border:1px solid #e2e7ee}
.rp-client{background:#fffbe6;border:1px solid #f0d78a}
/* the paper's text */
.rp-print{border:1px solid #d9dee6;border-radius:8px;background:#fff;padding:14px 16px 10px;font-family:"Times New Roman",Times,serif;font-size:15px;line-height:1.75;color:#111;box-shadow:inset 0 1px 3px rgba(0,0,0,.04)}
.rp-print .rp-head{margin:0 0 8px;font-weight:700;letter-spacing:.02em}
.rp-print .rp-p{margin:0 0 8px;text-indent:0}
.rp-print .rp-obj{position:relative;padding-right:26px}
.rp-print .rp-x{position:absolute;right:0;top:2px;width:22px;height:22px;line-height:20px;padding:0;border:1px solid #e3c5c2;border-radius:50%;background:#fdf3f2;color:#b42318;font:700 14px/20px system-ui,sans-serif;cursor:pointer;opacity:.55;text-align:center}
.rp-print .rp-obj:hover .rp-x,.rp-print .rp-x:focus{opacity:1}
.rp-print .rp-ph{color:#8a6d2a;background:#fff7e6;border-radius:3px;padding:0 3px}
.rp-print .rp-slot{display:inline}
.rp-print .rp-slot .rp-in{font:inherit;color:inherit;background:#fbfdff;border:1px dashed #9fb3c8;border-radius:4px;padding:2px 6px;min-height:0;line-height:1.6;vertical-align:baseline;box-shadow:none}
.rp-print .rp-slot textarea.rp-in{display:block;width:100%;resize:vertical;margin:4px 0 2px;padding:6px 8px;overflow:hidden}
.rp-print .rp-slot textarea.rp-in[data-field=answer]{min-height:200px}   /* R5.33: the answer opens tall (about eight lines), grows with the text, and its corner drags */
.rp-print .rp-slot select.rp-in{display:inline-block;width:auto;max-width:100%;padding:1px 6px;font-size:14px}
.rp-print .rp-slot.rp-ph .rp-in{border-color:#d9a406;background:#fffdf5}
.rp-print .rp-slot .rp-in:focus{outline:2px solid var(--blue,#2a6fdb);outline-offset:1px;background:#fff}
.rp-print .rp-slot-tail input[type=checkbox]{width:14px;height:14px;vertical-align:-1px;margin:0 0 0 6px;accent-color:#6b7280}
.rp-print .rp-tail{color:#374151}
.rp-print .rp-add-a{font:500 12.5px/1.4 system-ui,sans-serif;color:var(--blue,#2a6fdb);text-decoration:none;border:1px dashed #b7c6da;border-radius:999px;padding:1px 9px;margin:0 2px;white-space:nowrap;vertical-align:1px}
.rp-print .rp-add-a:hover{background:#eef4fb}
.rp-print .rp-empty{margin:0}
.rp-bay-js{display:none}
.rp-bay .rp-fw{display:block;margin:6px 0}.rp-bay .rp-fl{margin:6px 0 2px;font-size:12.5px}
.rp-src{margin:6px 0 0}
/* the controls */
.rp-right .frow>div>label,.rp-right>label{margin-top:0}
.rp-right .frow{gap:10px}.rp-right .frow>div{min-width:150px}
.rp-right select,.rp-right input:not([type=checkbox]){margin-bottom:4px;padding:8px 10px;min-height:38px;font-size:14px}
.rp-passhint{display:block;margin-top:2px}.rp-passhint[hidden]{display:none}
.rp-right .obj-group{margin:2px 0}.rp-right .obj-group>summary{cursor:pointer;padding:3px 0}
.rp-chips{display:grid;grid-template-columns:1fr;gap:4px;margin:4px 0 8px}
.rp-chip{display:block;margin:0;font-weight:400;font-size:13px;border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#fff;cursor:pointer}
.rp-chip.on{background:#f4f8fc;border-color:#b7c6da}
.rp-chip-h{display:flex;gap:6px;align-items:center}
.rp-chip-h input[type=checkbox]{width:16px;height:16px}
.rp-chip-l{flex:1}
.rp-chip .rp-term{margin:4px 0 0;padding:4px 8px;font-size:12.5px;min-height:0;width:100%}
.rp-chip .rp-note{display:block;margin-top:3px}
.rp-chip .objpass-why{display:block}
.rp-proposed{border:1px solid #ecdfc2;border-radius:8px;padding:4px 8px;background:#fffdf7;margin-bottom:6px!important}
.rp-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;padding-top:8px;border-top:1px dashed #e6eaf0}
.rp-tools form{margin:0}
.rp-draft{margin-top:10px;border:1px dashed #e0a800;border-radius:8px;padding:8px 10px;background:#fbfdff;font-size:.95rem}
@media (max-width:1100px){.rp-grid{grid-template-columns:minmax(220px,2fr) minmax(280px,3fr)}.rp-right{grid-column:1/-1}}
@media (max-width:760px){.rp-grid{grid-template-columns:1fr}.rp-row{padding:0 8px 6px}.rp-jump{margin:0 8px 10px}}
