/*
 * BridgeMM client portal: the portal's own page styles, on top of the
 * Precision Instrument design system (instrument.css, which since CP8 also
 * holds the base the retired prototype stylesheet gave), whose tokens they
 * use. Everything the prototype did with inline style attributes is a class
 * here, because the portal runs under a strict CSP (style-src 'self', no
 * inline styles). Gold is only the primary call to action's fill
 * (instrument.css), never here.
 */

/* Utilities ---------------------------------------------------------- */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.w-full{width:100%}
.flex-1{flex:1;min-width:0}
.mt-8{margin-top:8px}
.mt-12{margin-top:12px}
.mt-16{margin-top:16px}
.mt-20{margin-top:20px}
.mt-24{margin-top:24px}
.mb-12{margin-bottom:12px}
.wrap{flex-wrap:wrap}
.break{overflow-wrap:anywhere;word-break:break-word}
.text-link{color:var(--cream);text-decoration:underline;text-decoration-color:var(--hair-3);text-underline-offset:3px}
.text-link:hover{text-decoration-color:var(--cream)}
.unknown{color:var(--muted)}
.role-note{font-size:12.5px;color:var(--muted);margin:-12px 0 20px}
.table-note{font-size:11.5px;color:var(--muted);padding:12px 20px 16px;border-top:1px solid var(--line)}
.badge.mono{font-family:'Geist Mono',monospace;letter-spacing:.02em}

/* Focus ---------------------------------------------------------------- */
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
[tabindex="-1"]:focus:not(:focus-visible){outline:none}

/* Boot and no-script ----------------------------------------------------- */
.boot-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px 16px;text-align:center}
.noscript{color:var(--text);max-width:420px}

/* Environment banner (persistent while a non-live environment is in use) */
.env-banner{position:relative;z-index:6;flex-wrap:wrap;text-align:center;font-size:13px;color:var(--text);font-weight:500}
.env-banner .icon{color:var(--cream);width:15px;height:15px}

/* Page frames -------------------------------------------------------------- */
.portal-header{flex-wrap:wrap;gap:12px}
.portal-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.portal-page{max-width:1100px;margin:44px auto 64px;padding:0 30px}
.story-foot{margin-top:30px;color:var(--muted);font-size:12.5px;align-items:flex-start}
.auth-form{margin-top:24px}
.auth-form .field{margin-bottom:18px}
.entry-card .notice{margin-bottom:0}
.view-error{padding-top:21px}

/* Forms -------------------------------------------------------------------- */
.mono-input{font-family:'Geist Mono',monospace}
/* The exchange secret: a text field drawn as dots (no type=password, so no
   browser offers to save it). */
.masked-input{-webkit-text-security:disc}
.field input[aria-invalid="true"],.field select[aria-invalid="true"],.fieldset[aria-invalid="true"] .choice,.check-field input[aria-invalid="true"]{border-color:var(--red);outline-color:var(--red)}
.field-error{color:var(--red);font-size:12.5px;margin-top:8px;line-height:1.5}
.error-summary{border:1px solid rgba(229,163,148,.35);background:rgba(229,163,148,.07);border-radius:12px;padding:14px 17px;margin:0 0 20px;font-size:13px;color:var(--text2);line-height:1.6}
.error-summary h3{font-size:13px;font-weight:500;color:var(--text)}
.error-summary p{margin-top:6px}
.error-summary ul{margin:8px 0 0;padding-left:18px}
.error-summary li+li{margin-top:4px}
.error-summary .text-button{color:var(--red);font-size:13px;text-align:left}
.error-meta{color:var(--muted);font-size:12.5px;margin-top:8px}
.form-status{font-size:13px;color:var(--text2);margin:0 0 14px;line-height:1.6}
.form-status:empty{display:none}
form[aria-busy="true"] .form-status::before,dialog[aria-busy="true"] .dialog-status::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:8px;vertical-align:middle;animation:pulse 1.2s infinite;background:var(--cream)}
.fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}
.fieldset legend{font-size:13px;font-weight:500;margin-bottom:10px;padding:0}
.fieldset .field-help{margin:-4px 0 10px}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.choice{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line2);border-radius:12px;padding:12px 14px;cursor:pointer;font-size:13px;color:var(--text2);min-height:44px;transition:border-color .15s,background .15s}
.choice:hover{border-color:#6b7180}
.choice:has(input:checked){border-color:var(--cream);background:var(--tint);color:var(--text)}
.choice:focus-within{outline:2px solid var(--cream);outline-offset:2px}
.choice input{accent-color:var(--cream);margin:2px 0 0;flex-shrink:0;width:16px;height:16px}
.choice input:focus-visible{outline:none}
.choice strong{display:block;font-weight:500;color:var(--text)}
.choice small{display:block;color:var(--muted);font-size:12.5px;margin-top:3px;line-height:1.5}
.terms-box{border:1px solid var(--line2);border-radius:12px;background:var(--deep);margin:4px 0 8px}
.terms-box h3{font-size:13px;font-weight:500;padding:12px 14px;border-bottom:1px solid var(--line)}
.terms-text{white-space:pre-wrap;font-size:13px;line-height:1.7;color:var(--text2);padding:12px 14px;max-height:240px;overflow:auto}
.check-field span{line-height:1.6}
.credential-form{margin-top:4px}
.member-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:0 18px;border-top:1px solid var(--line);padding-top:20px}
.member-form .error-summary,.member-form .form-status,.member-form .form-actions{grid-column:1/-1}
.role-select{display:flex;gap:8px;justify-content:flex-end;align-items:center}
.role-select select{padding:7px 10px;background:var(--deep);border:1px solid var(--line2);border-radius:6px;font-size:12.5px;min-height:34px}

/* Notices -------------------------------------------------------------------- */
.notice>div{min-width:0}
.notice.danger{border-color:rgba(229,163,148,.3);background:rgba(229,163,148,.07)}
.notice.danger .icon{color:var(--red)}
.notice.success{border-color:rgba(128,203,180,.3);background:rgba(128,203,180,.07)}
.notice.success .icon{color:var(--green)}
.notice .icon-btn{margin-left:auto;flex-shrink:0;width:30px;height:30px}
.notice .btn{margin-top:10px}
.notice .stat-list div{font-size:12.5px}
.notice .error-summary{margin-bottom:0}
.guidance-list{margin:8px 0 0;padding-left:18px;color:var(--text2);font-size:12.5px;line-height:1.7}
.guidance-list b{font-weight:500;color:var(--text)}

/* Setup ------------------------------------------------------------------------ */
ol.steps{list-style:none;padding:0}
button.step{background:none;border:0;padding:0;text-align:left;min-height:32px}
button.step:not(:disabled):hover{color:var(--text)}
button.step:disabled{opacity:.55}
.step-label{font-weight:inherit}
.setup-progress .progress-1{width:25%}
.setup-progress .progress-2{width:50%}
.setup-progress .progress-3{width:75%}
.setup-progress .progress-4{width:100%}
.phase-list{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-wrap:wrap;gap:8px}
.phase-list li{font-size:12.5px;border:1px solid var(--line2);border-radius:4px;padding:4px 8px;color:var(--muted)}
.phase-list li.done{color:var(--green);border-color:rgba(128,203,180,.3)}
.phase-list li.current{color:var(--cream);border-color:var(--hair-3);background:var(--tint)}
.setup-main .form-actions{flex-wrap:wrap}
.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.stat-list.compact div{padding:8px 0}
.stat-list dt,.stat-list dd{min-width:0}
.stat-list dd{overflow-wrap:anywhere}

/* Status, readiness, operations ---------------------------------------------------- */
.health-line{flex-wrap:wrap}
.dim-value{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;text-align:right}
.metric .number.metric-text{font-family:Geist,system-ui,sans-serif;font-size:20px;letter-spacing:-.01em;overflow-wrap:anywhere}
.market-stat{min-width:0}
.market-stat .value{overflow-wrap:anywhere}
.check-rows{list-style:none;margin:0;padding:0}
.check-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}
.check-row:last-child{border-bottom:0}
.check-row strong{font-weight:500}
.check-row p{color:var(--muted);font-size:12.5px;margin-top:3px;line-height:1.6}
.check-asof{white-space:nowrap}
.op-state{margin:6px 0 12px}
.op-state .badge{font-size:13px;padding:6px 10px}
.dialog-subhead{font-size:13px;font-weight:500;margin:16px 0 6px;color:var(--text)}
.dialog-status{font-size:13px;color:var(--text2);margin-top:12px}
.dialog-status:empty{display:none}
.detail-list{margin-top:12px!important}
.detail-text{white-space:pre-wrap;overflow-wrap:anywhere}
.credential{flex-wrap:wrap;gap:8px 16px}
.sim-tag{margin:-8px 0 14px}
.account-footer{flex-wrap:wrap}
.account-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.load-more{display:flex;justify-content:center;padding:16px 0 20px}
.event-time time{display:block}

/* Workspaces ---------------------------------------------------------------------------- */
.workspace-list{display:flex;flex-direction:column}
.workspace-option{margin-top:12px}
.empty-state.compact{padding:24px 10px}
.loading-panel .empty-state p{margin:12px auto 0}

/* Sidebar -------------------------------------------------------------------------------- */
.workspace-picker{color:inherit;transition:border-color .15s}
.workspace-picker:hover{border-color:#6b7180}
.picker-text{min-width:0}
.picker-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-row{min-width:0}
.user-meta{min-width:0;flex:1}
.user-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.signout{margin-top:14px;justify-content:flex-start}

/* Responsive ------------------------------------------------------------------------------ */
@media(max-width:940px){
.review-grid{grid-template-columns:1fr}
}

@media(max-width:700px){
.portal-page{margin:24px auto 40px;padding:0 16px}
.portal-header-actions .btn{min-height:44px}
.choice-grid{grid-template-columns:1fr}
.check-row{grid-template-columns:1fr;gap:6px}
.check-asof{white-space:normal}
.member-form{grid-template-columns:1fr}
.role-select{justify-content:flex-start}
.role-select select{min-height:44px;font-size:13px}
.topbar{flex-wrap:wrap}
.topbar .toolbar .badge{display:none}
.topbar .toolbar select{max-width:170px}
ol.steps{justify-content:flex-start;flex-wrap:wrap;gap:6px}
button.step{min-height:44px;min-width:44px}
.steps .step:not([aria-current="step"]) .step-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.field input:not([type=range]),.field select{min-height:44px}
.notice .icon-btn{min-height:44px;min-width:44px}
.dim-value{justify-content:flex-start;text-align:left}
.metric .number.metric-text{font-size:17px}
.env-banner{font-size:12.5px}
.error-summary .text-button{min-height:32px}
.table-note{padding:12px 16px 14px;font-size:12.5px}
.account-actions{justify-content:flex-start}
}
/* Narrow-screen containment (GUI QA round 1, 390x844). The baseline turns
   grid tracks into plain 1fr at <=940px, whose auto minimum grows to the
   min-content of nowrap tables inside a grid item. Give grid items a zero
   minimum so each table scrolls inside its own .table-wrap and the page keeps
   the viewport width; long numbers and timestamps wrap instead of widening
   cards. Nothing is hidden: overflow stays scrollable where it exists. */
.dashboard-grid>*,.right-stack>*,.two-col>*,.three-col>*,.settings-grid>*,.stack>*{min-width:0}
.account-card .balance-row>div{min-width:0}
.balance-row strong,.balance-row p,.stat-list dd,.credential span{overflow-wrap:anywhere}
.credential{flex-wrap:wrap;gap:6px 14px}
.health-line{flex-wrap:wrap}
.health-line>*{min-width:0}
@media(max-width:940px){.dashboard-grid,.two-col,.settings-grid{grid-template-columns:minmax(0,1fr)}.right-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.right-stack,.three-col{grid-template-columns:minmax(0,1fr)}}
/* Technical details disclosure (raw codes and reference ids). */
.tech-details{margin-top:12px;font-size:13px;color:var(--muted)}
.tech-details summary{cursor:pointer;min-height:32px;display:inline-flex;align-items:center;gap:6px;color:var(--text2)}
.tech-details summary:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
.tech-details dl{margin:8px 0 0}
.tech-details dl div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line)}
.tech-details dt{color:var(--muted)}
.tech-details dd{margin:0;text-align:right;font-family:'Geist Mono',monospace;overflow-wrap:anywhere;min-width:0}
/* "Back to website" (GUI issue #2): discoverable next to the brand on auth,
   workspace-list/setup and app views; same-tab link to the configured site. */
.brand-group{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;min-width:0}
.back-to-website{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 4px;font-size:13px;color:var(--text2);text-decoration:underline;text-underline-offset:3px}
.back-to-website:hover{color:var(--cream)}
.sidebar .back-to-website.sidebar-website{margin:10px 12px 0}
@media(max-width:700px){.back-to-website,.sidebar .back-to-website.sidebar-website{min-height:44px}.sidebar{overflow-y:auto;overscroll-behavior:contain}}
/* UI V1.1 -------------------------------------------------------------------
   Dashboard hierarchy, actionable readiness, account summary, exact
   amounts, honest states and one environment marker. Same tokens, type and
   breakpoints as the baseline; nothing animates or signals "running". */

/* 1. Hierarchy: smaller page title and one compact market header */
.page-heading.compact{margin-bottom:18px}
.page-heading.compact h1{font-size:30px}
.env-banner b{margin-right:2px}
.stop-notes{display:flex;flex-direction:column;gap:6px;margin:-8px 0 18px}
.stop-notes .role-note{margin:0}
.stop-note{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--text2);line-height:1.6;margin:0}
.stop-note .icon{width:14px;height:14px;color:var(--muted);margin-top:2px}
.market-header{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.5fr) minmax(0,1fr);gap:14px 24px;align-items:start;padding:16px 20px;border:1px solid var(--hair);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,0) 120px),var(--panel);margin-bottom:20px}
.mh-market{display:flex;align-items:center;gap:10px;min-width:0}
.mh-market h2{font-size:17px;font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere}
.mh-market>div{min-width:0}
.mh-sub{font-size:12.5px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}
.mh-state{min-width:0}
.mh-label{display:block;color:var(--muted);font:500 11px/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.mh-state .state-text{font-size:16px;font-weight:500;color:var(--cream)}
.mh-reason{font-size:12.5px;color:var(--text2);margin-top:4px;line-height:1.6}
.mh-times{margin:0;display:flex;flex-direction:column;gap:6px;min-width:0}
.mh-times div{display:flex;justify-content:space-between;gap:10px;font-size:12.5px}
.mh-times dt{color:var(--muted)}
.mh-times dd{margin:0;text-align:right;min-width:0;overflow-wrap:anywhere}
.mh-note{grid-column:1/-1;font-size:11.5px;color:var(--muted);line-height:1.6}
.mh-truth{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);border-top:1px solid var(--line);padding-top:12px}
.mh-truth .icon{width:15px;height:15px;color:var(--cream)}
.market-header .error-summary{grid-column:1/-1;margin:0}

/* Plain-language states (no dot, no pulse) */
.state-text{font-size:13px;color:var(--text2)}
.state-text.good{color:var(--green)}
.state-text.bad{color:var(--red)}
.state-text.warn{color:var(--cream)}

/* 2. Actionable readiness */
.readiness-count{font-size:13px;color:var(--text2);margin-bottom:12px}
.summary-reason{margin:0 0 16px}
.summary-reason strong{font-weight:500;line-height:1.6}
.summary-reason-text{font-size:12.5px;color:var(--text2);margin:0 0 16px;line-height:1.6}
.readiness-summary .health-line{padding:10px 0}
.readiness-summary .summary-reason{margin-top:14px}
.guidance-group{margin-top:16px}
.guidance-group h3,.guidance-group>summary{font-size:13px;font-weight:500;color:var(--text);margin-bottom:6px}
.group-count{color:var(--muted);font-weight:400}
.next-steps{list-style:none;margin:0;padding:0}
.next-step-item{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;min-width:0}
.next-step-item:last-child{border-bottom:0}
.nsi-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}
.nsi-head strong{font-weight:500}
.nsi-roles{font-family:'Geist Mono',monospace;font-size:11.5px;color:var(--muted)}
.nsi-reason{color:var(--muted);font-size:12.5px;margin-top:4px;line-height:1.6}
.nsi-next{color:var(--text2);font-size:12.5px;margin-top:4px;line-height:1.6}
.nsi-label{display:inline-block;color:var(--text-2);font:500 11px/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;margin-right:6px}
.nsi-link{margin-top:4px}
.disclosure{margin-top:16px;border-top:1px solid var(--line);padding-top:6px}
.disclosure>summary{cursor:pointer;min-height:36px;display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text2)}
.disclosure>summary:hover{color:var(--text)}
.disclosure>summary:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
/* Visible open/closed indicator: display:flex on a summary removes the
   native ::marker, so draw a CSS-only triangle (no animation) that points
   right when closed and down when open. The WebKit marker is hidden so
   Safari never shows two. */
.disclosure>summary,.tech-details summary{list-style:none}
.disclosure>summary::-webkit-details-marker,.tech-details summary::-webkit-details-marker{display:none}
.disclosure>summary::before,.tech-details summary::before{content:'';flex:none;width:0;height:0;border-left:5px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent}
.disclosure[open]>summary::before,.tech-details[open]>summary::before{transform:rotate(90deg)}
.all-checks .check-rows{margin-top:4px}

/* 3. Account summary (MM1) */
.account-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.account-compare>*{min-width:0}
.account-compare.single-product{grid-template-columns:minmax(0,1fr)}
.account-summary{padding:18px 20px}
.as-head{display:flex;align-items:center;gap:10px;min-width:0}
.as-title{min-width:0}
.as-title h2{font-size:17px;font-weight:500}
.as-title .subtitle{font-size:12.5px;color:var(--muted);margin-top:3px}
.as-failure,.context-warning{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.6;margin:10px 0 0}
.as-failure{color:var(--text2)}
.as-failure .icon{color:var(--red)}
.as-failure .icon,.context-warning .icon{width:14px;height:14px;margin-top:2px}
.context-warning{color:var(--text2);border:1px solid var(--hair-3);background:repeating-linear-gradient(135deg,rgba(244,241,234,.04) 0 1px,transparent 1px 6px),var(--deep);border-radius:10px;padding:8px 10px;margin:0 0 14px}
.context-warning .icon{color:var(--cream)}
.as-facts{margin-top:8px}
.as-facts dd{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:4px}
.as-empty{margin-top:10px;line-height:1.6}
.account-summary .table-wrap{margin-top:8px}
.balance-table,.permission-table{white-space:nowrap}
.balance-table th,.balance-table td,.permission-table th,.permission-table td{padding:8px 10px}
.balance-table th:first-child,.balance-table td:first-child,.permission-table th:first-child,.permission-table td:first-child{padding-left:0}
.balance-table td.asset{font-family:'Geist Mono',monospace}
.balance-note{font-size:11.5px;color:var(--muted);line-height:1.7;margin:10px 0 20px}
.as-next{margin-top:12px;border:1px solid var(--hair-2);border-radius:12px;padding:10px 12px;background:var(--deep);font-size:12.5px;line-height:1.6;color:var(--text2)}
.as-next-label{display:block;font:500 11px/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);margin-bottom:4px}
.as-next[data-next="BRIDGEMM"] .as-next-label,.as-next[data-next="OTHER"] .as-next-label,.as-next[data-next="unknown"] .as-next-label{color:var(--muted)}
.as-manage{margin-top:10px}
.account-summary .account-footer{margin-top:14px;padding-top:14px}
.account-summary .notice{margin:12px 0 0}
.details-subhead{font-size:12.5px;font-weight:500;color:var(--text);margin:14px 0 4px}
.account-details .account-description{margin-top:12px}

/* 4. Exact amounts: a toggle reveals the exact string (not hover-only) */
.amount{display:inline-flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:2px 6px;max-width:100%}
.exact-toggle,.exact-copy{font-size:13px;color:var(--cream);text-decoration:underline;text-decoration-color:var(--hair-3);text-underline-offset:2px;padding:2px 0;min-height:24px}
.exact-toggle[aria-expanded="true"]{color:var(--text2)}
.exact-toggle:focus-visible,.exact-copy:focus-visible{outline:2px solid var(--cream);outline-offset:2px}
.exact-value{flex-basis:100%;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:4px 8px;white-space:normal;font-size:11.5px;color:var(--muted)}
.exact-value[hidden]{display:none}
.exact-value code{color:var(--text);font-size:12.5px;overflow-wrap:anywhere;word-break:break-all}

/* 5. Performance: one honest line */
.perf-headline{font-size:13px;color:var(--text)}
.perf-card .small{margin-top:4px;line-height:1.6}
.perf-card .tech-details p{line-height:1.6;margin-top:6px}

/* 6. Activity: description with result and reason */
.event-text{min-width:0}
.timeline-item p.event-result{color:var(--text2)}
.timeline-item p.event-result.red{color:var(--red)}
.timeline-item p.event-result.pending{color:var(--cream)}

@media(max-width:1150px){
.market-header{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.mh-times{grid-column:1/-1}
}
@media(max-width:700px){
.page-heading.compact h1{font-size:25px}
.market-header{grid-template-columns:minmax(0,1fr);padding:14px 16px}
.account-compare{grid-template-columns:minmax(0,1fr)}
.account-summary{padding:16px}
.exact-toggle,.exact-copy{min-height:44px;min-width:44px;padding:0 6px}
.disclosure>summary{min-height:44px}
.nsi-link,.as-manage{min-height:44px}
.as-next .text-button,.tech-details summary{min-height:44px}
}
/* Liquidity Plan (contract §15; LIQUIDITY-PLAN-V1.md) ------------------------
   The public "Try the concept" visual core: charts left (8fr), controls right
   (4fr) from 1000px, charts above controls below it. The book's sides are
   the instrument's: ivory buy, blued steel sell (never gold). Chart text is
   SVG styled here (strict CSP, no inline styles). Nothing animates or signals
   "running". */
.plan-scope{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:-6px 0 18px;font-size:13px;color:var(--text2);overflow-wrap:anywhere}
.plan-scope .icon{width:15px;height:15px;color:var(--cream)}
.plan-scope-units{color:var(--muted)}
.plan-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.plan-layout>*{min-width:0}
.plan-stage{display:grid;gap:14px;min-width:0}
.plan-stage-head h2{font-size:15px;font-weight:500}
.plan-stage-head p{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.6}
.plan-scenarios{border:1px solid var(--hair);border-radius:12px;margin:0;padding:10px 14px 12px;display:grid;gap:8px;min-width:0;background:var(--panel)}
.plan-scenarios legend{font-size:13px;font-weight:500;padding:0 4px}
.plan-legend-note{color:var(--muted);font-weight:400}
.plan-seg{display:flex;flex-wrap:wrap;gap:8px}
.plan-seg label{position:relative}
.plan-seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.plan-seg span{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);color:var(--text2);font-size:13px;transition:border-color .15s,color .15s,background-color .15s}
.plan-seg input:checked+span{border-color:var(--cream);color:var(--text);background:var(--tint)}
.plan-seg input:focus-visible+span{outline:2px solid var(--cream);outline-offset:3px}
.plan-chart{margin:0;background:var(--deep);border:1px solid var(--hair);border-radius:12px;overflow:hidden;min-width:0}
.plan-svg{display:block;width:100%;height:auto}
.plan-chart figcaption{font-size:12.5px;color:var(--muted);padding:8px 12px 10px;line-height:1.55;border-top:1px solid var(--line)}
.plan-svg .pc-bg{fill:transparent}
.plan-svg .pc-grid{stroke:rgba(244,241,234,.06)}
.plan-svg .pc-axis{stroke:rgba(244,241,234,.22)}
.plan-svg .pc-axis-zero{stroke-dasharray:2 4}
.plan-svg .pc-tick{fill:#9295a0;font-size:14px;font-family:Geist,system-ui,sans-serif}
.plan-svg .pc-lbl{fill:#c9c6bd;font-size:15px;font-family:Geist,system-ui,sans-serif}
.plan-svg .pc-lbl-bid{fill:#ece3cf}
.plan-svg .pc-lbl-ask{fill:#93a8d8}
.plan-svg .pc-lbl-spread,.plan-svg .pc-lbl-pause{fill:#f4f1ea}
.plan-svg .pc-cap{fill:#959ba9;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-family:Geist,system-ui,sans-serif}
.plan-svg .pc-depth-bid{fill:rgba(236,227,207,.16);stroke:#ece3cf;stroke-width:2;stroke-linejoin:round}
.plan-svg .pc-depth-ask{fill:rgba(147,168,216,.18);stroke:#93a8d8;stroke-width:2;stroke-linejoin:round}
.plan-svg .pc-mid{stroke:rgba(244,241,234,.5);stroke-dasharray:3 5}
.plan-svg .pc-bracket line{stroke:#f4f1ea;stroke-width:1.4}
.plan-svg .pc-bracket line.pc-quote{stroke:rgba(244,241,234,.28);stroke-width:1;stroke-dasharray:2 4}
.plan-svg .pc-pause{stroke:#f4f1ea;stroke-dasharray:4 4;stroke-width:1.2}
.plan-svg .pc-fill-area{fill:rgba(244,241,234,.08)}
.plan-svg .pc-fill-line{fill:none;stroke:#f4f1ea;stroke-width:2.2;stroke-linejoin:round}
.plan-svg .pc-band{fill:rgba(244,241,234,.035)}
.plan-svg .pc-limit{stroke:rgba(244,241,234,.55);stroke-dasharray:4 5}
.plan-svg .pc-inv-line{fill:none;stroke:#f4f1ea;stroke-width:2;stroke-linejoin:round}
.plan-svg .pc-paused{fill:rgba(244,241,234,.04)}
.plan-summary{font-size:13px;color:var(--text);line-height:1.6;max-width:70ch}
.plan-outs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:1px;margin:0;background:var(--hair);border:1px solid var(--hair);border-radius:12px;overflow:hidden}
.plan-out{background:var(--panel);padding:14px 16px;display:grid;gap:6px;align-content:start;min-width:0}
.plan-out dt{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.plan-out dd{margin:0;display:grid;gap:5px;justify-items:start;font-size:13px;overflow-wrap:anywhere;min-width:0}
.plan-big{font-family:var(--f-ui);font-weight:500;font-size:26px;line-height:1.05;letter-spacing:-.02em;color:var(--cream)}
.plan-sub{font-size:12.5px;color:var(--muted);line-height:1.45}
.plan-safe{font-size:12.5px;color:var(--text2);line-height:1.6;max-width:70ch}
.plan-controls{padding:18px 20px;display:grid;gap:14px;min-width:0}
.plan-controls-head h2{font-size:15px;font-weight:500}
.plan-controls-head p{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.5}
.plan-status{font-size:13px;color:var(--text2);line-height:1.6;border:1px solid var(--hair-2);border-radius:10px;padding:9px 11px;background:var(--deep);overflow-wrap:anywhere}
.plan-status strong{font-weight:500;color:var(--text)}
/* Saved is acknowledged, not approved: cream with a hollow ring, as on
   Overview (BridgeMM Advisory, CP5b). Green stays for a verified pass. */
.plan-status[data-plan-state="saved"] strong{color:var(--cream)}
.plan-status[data-plan-state="saved"] strong::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;border:1.5px solid var(--cream);opacity:.8;vertical-align:1px}
.plan-status[data-plan-state="dirty"] strong,.plan-status[data-plan-state="draft"] strong{color:var(--cream)}
.plan-status[data-plan-state="units"] strong{color:var(--red)}
#plan-problem:empty{display:none}
#plan-problem .notice{margin:0}
.plan-field{display:grid;gap:6px;padding-top:12px;border-top:1px solid var(--line);min-width:0}
.plan-field-head{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap}
.plan-field-head label{font-size:13px;font-weight:500}
.plan-exact-wrap{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%}
.plan-exact{width:9.5em;max-width:100%;min-width:0;min-height:36px;padding:6px 9px;text-align:right;font-family:'Geist Mono',monospace;font-variant-numeric:tabular-nums;font-size:13px;background:var(--deep);border:1px solid var(--line2);border-radius:6px}
.plan-exact[aria-invalid="true"]{border-color:var(--red)}
.plan-exact[readonly]{background:transparent;color:var(--text2)}
.plan-unit{font-size:12.5px;color:var(--muted);min-width:2.6em}
.plan-slider{width:100%;min-height:32px;margin:0;accent-color:var(--cream);cursor:pointer}
.plan-slider:disabled{cursor:not-allowed}
.plan-slider:focus-visible{outline:2px solid var(--cream);outline-offset:4px}
.plan-ends{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:-4px}
.plan-hint{font-size:12.5px;color:var(--muted);line-height:1.55}
.plan-limits{color:var(--text2)}
.plan-beyond{font-size:12.5px;color:var(--cream);line-height:1.5}
/* Cap choices (Owner decision D3): limits to pick from, never targets. The
   chosen one is cream-edged (gold is only the primary action's fill). */
.plan-presets{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.plan-presets-note{font-size:11.5px;color:var(--muted)}
.plan-preset{min-height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);color:var(--text2);font-size:12.5px;font-variant-numeric:tabular-nums;transition:border-color .15s,color .15s,background-color .15s}
.plan-preset[aria-pressed="true"]{border-color:var(--cream);color:var(--text);background:var(--tint)}
.plan-preset:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
.plan-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding-top:14px;border-top:1px solid var(--line)}
.plan-next-link{margin:2px 0 4px;font-size:13px}
.plan-next p{margin-top:4px}
.plan-next-note{color:var(--text-2)}
.plan-footnote{font-size:11.5px;color:var(--muted);line-height:1.6}
.plan-role-note{margin:0}
.plan-status-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--text2)}
/* The cockpit's proportions (design A): the book a little wider than the plates. */
@media(min-width:1000px){
.plan-layout{grid-template-columns:minmax(0,1.18fr) minmax(360px,1fr);gap:24px}
}
@media(max-width:700px){
.plan-svg .pc-tick,.plan-svg .pc-lbl{font-size:24px}
.plan-svg .pc-cap{font-size:20px}
.plan-seg span,.plan-exact,.plan-slider,.plan-actions .btn,.plan-next-link,.plan-preset{min-height:44px}
.plan-controls{padding:16px}
}
/* Plan review (contract §16) --------------------------------------------------
   The read-only second step of the Liquidity Plan: same tokens, type and
   chart styles. Requested, proposed and observed sit side by side from 1150px
   and stack below it. Tables scroll inside .table-wrap; nothing animates or
   signals "running", and Unknown carries no colour. */
.plan-steps{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.plan-step{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);color:var(--text2);font-size:13px;transition:border-color .15s,color .15s,background-color .15s}
.plan-step:hover{border-color:#6b7180;color:var(--text)}
.plan-step.current{border-color:var(--cream);color:var(--text);background:var(--tint)}
.plan-step:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
.plan-step-number{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid currentColor;font-size:11.5px;font-family:'Geist Mono',monospace}
.plan-review-entry{padding-top:12px;border-top:1px solid var(--line)}
.plan-review-entry:empty{display:none}
.plan-review-link{font-size:13px}
.plan-review-link:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
.plan-review-note{font-size:12.5px;color:var(--muted);line-height:1.55}
.rv-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.rv-layout>*{min-width:0}
.rv-layout .notice{margin:0}
.rv-section-head h2{font-size:15px;font-weight:500}
.rv-section-head p{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.6}
.rv-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.rv-field{border:1px solid var(--hair);border-radius:14px;background:var(--panel);padding:16px 20px;min-width:0}
.rv-field[data-state="BLOCKED"]{border-color:var(--hair-3);border-style:dashed}
.rv-field[data-state="NOT_MAPPED"]{border-color:rgba(229,163,148,.28)}
.rv-field h3{font-size:13px;font-weight:500}
.rv-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:12px 0 0}
.rv-col{min-width:0;display:grid;gap:6px;align-content:start}
.rv-col dt{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rv-col dd{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;justify-items:start;font-size:13px;min-width:0;overflow-wrap:anywhere}
.rv-value{font-size:16px;font-weight:500;color:var(--cream)}
.rv-sub{display:block;font-size:11.5px;color:var(--muted);line-height:1.5;white-space:normal}
.rv-text,.rv-engine{font-size:12.5px;color:var(--text2);line-height:1.6}
.rv-engine code{color:var(--text);font-size:12.5px}
.rv-blockers{margin:0;padding-left:16px;font-size:12.5px;color:var(--text2);line-height:1.6}
.rv-check{width:100%;border:1px solid var(--hair);border-radius:10px;background:var(--deep);padding:9px 11px;min-width:0}
.rv-check-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:13px}
.rv-check p{font-size:12.5px;color:var(--muted);line-height:1.55;margin-top:4px}
.rv-mini{margin:6px 0 0;display:grid;gap:4px}
.rv-mini div{display:flex;justify-content:space-between;gap:10px;font-size:12.5px}
.rv-mini dt{color:var(--muted)}
.rv-mini dd{margin:0;text-align:right;min-width:0}
.rv-source{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line2);border-radius:12px;background:var(--deep);padding:12px 14px;font-size:13px;margin-bottom:16px}
.rv-source>div{min-width:0}
.rv-source .icon{width:16px;height:16px;margin-top:1px;color:var(--muted);flex-shrink:0}
.rv-source p{font-size:12.5px;color:var(--text2);line-height:1.6;margin-top:3px;overflow-wrap:anywhere}
.rv-source.fixture{border-color:var(--hair-3);background:repeating-linear-gradient(135deg,rgba(244,241,234,.045) 0 1px,transparent 1px 6px),var(--deep)}
.rv-source.fixture .icon{color:var(--cream)}
.rv-source.refused{border-color:rgba(229,163,148,.3);background:rgba(229,163,148,.07)}
.rv-source.refused .icon{color:var(--red)}
.rv-dims{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}
.rv-dim{border:1px solid var(--hair);border-radius:12px;background:var(--deep);padding:12px 14px;min-width:0}
.rv-dim-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px}
.rv-dim-head h3{font-size:13px;font-weight:500}
.rv-reason,.rv-when{font-size:12.5px;line-height:1.55;margin-top:4px}
.rv-reason{color:var(--text2)}
.rv-when{color:var(--muted)}
.rv-none{display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:var(--muted);margin-top:8px}
.rv-facts{margin-top:6px}
.rv-facts dd{text-align:right}
.rv-dim .table-wrap{margin-top:6px}
.rv-footnote{font-size:11.5px;color:var(--muted);line-height:1.6;margin-top:12px}
.rv-ladder .table-wrap{margin-top:14px}
.rv-levels th,.rv-levels td,.rv-settings-table th,.rv-settings-table td{padding:8px 12px}
.rv-levels th:first-child,.rv-levels td:first-child,.rv-settings-table th:first-child,.rv-settings-table td:first-child{padding-left:0}
.rv-settings{margin-top:0;border:1px solid var(--hair);border-radius:14px;background:var(--panel);padding:6px 20px 14px;min-width:0}
.rv-settings-table td.rv-note{white-space:normal;min-width:260px;color:var(--muted);line-height:1.5}
.rv-legend{margin:8px 0 12px;display:grid;gap:6px}
.rv-legend div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;font-size:12.5px;line-height:1.55}
.rv-legend dt{color:var(--text)}
.rv-legend dd{margin:0;color:var(--muted)}
.rv-apply{padding:18px 20px;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.rv-apply-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 20px}
.rv-apply-head>div{min-width:0;flex:1 1 260px}
.rv-apply-head h2{font-size:15px;font-weight:500}
.rv-apply-head p{font-size:13px;color:var(--text2);margin-top:4px;line-height:1.6}
.rv-reasons h3{font-size:13px;font-weight:500;margin-bottom:4px}
.rv-reasons ul{list-style:none;margin:0;padding:0}
.rv-reasons li{padding:9px 0;border-top:1px solid var(--line);font-size:13px;min-width:0;overflow-wrap:anywhere}
.rv-reasons li strong{font-weight:500}
.rv-reasons li p{font-size:12.5px;color:var(--muted);line-height:1.6;margin-top:3px}
.rv-operating{font-size:12.5px;color:var(--text2);line-height:1.6}
@media(min-width:1150px){
.rv-cols{grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,5fr);gap:20px}
}
@media(max-width:700px){
.plan-step,.plan-review-link,.rv-settings>summary{min-height:44px}
.rv-field{padding:14px 16px}
.rv-settings{padding:6px 16px 12px}
.rv-apply{padding:16px}
.rv-apply-head .btn{width:100%}
.rv-legend div{grid-template-columns:minmax(0,1fr);gap:2px}
}
/* Statements that are not machine-verified carry a neutral mark, never green
   (product rule: green only when machine-verified). */
.check-list.plain{list-style:none;margin:0;padding:0}
.check-list.plain li{display:flex;gap:10px;align-items:center}
.check-list.plain .icon{color:var(--muted)}
.plan-sample-tag{display:inline-block;margin-left:6px;padding:0 6px;border:1px solid var(--line2);border-radius:4px;font-size:11.5px;font-weight:500;color:var(--text2);letter-spacing:.02em}
/* Figures in Geist, tabular (C6): times and amounts; Geist Mono stays for ids and codes */
.num{font-family:var(--f-ui);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}
/* MM2 · AI Traders Desk: the "Request access" row (ENG-07 CP3) */
.traders-desk-interest{margin-top:20px;padding-top:18px;border-top:1px solid var(--hair)}
.traders-desk-interest:focus{outline:none}
.traders-desk-interest p{margin:0}
.traders-desk-interest p+p{margin-top:6px;color:var(--text-2)}
.traders-desk-interest .interest-done strong{font-weight:500;color:var(--cream)}
/* The client's two products side by side (ENG-07 CP4) */
.product-card{padding:18px 20px}
@media (max-width:700px){.product-card{padding:16px}}
.product-card .as-head{align-items:flex-start;flex-wrap:wrap}
.product-card .as-head .as-title{flex:1 1 180px}
.product-card .as-head .badge{margin-left:auto;flex:none}
.product-card .pc-copy{margin-top:12px;line-height:1.6}
.product-card .pc-state{margin-top:12px;font-size:13.5px;color:var(--text-2)}
.product-card .pc-state strong{font-weight:500;color:var(--cream)}
.product-card .as-manage{margin-top:14px}
/* Readiness, Orders and fills, Activity in the instrument's language
   (ENG-07 CP5). Plates, engraved labels and hairlines only: nothing here
   adds a colour, so green is still a state the server verified and Unknown
   stays uncoloured. */
.readiness-board{display:grid;gap:20px}
.readiness-panel>.panel-head{align-items:flex-start;flex-wrap:wrap;border-bottom:1px solid var(--hair);margin-bottom:18px}
.readiness-panel>.panel-head .as-head{flex:1 1 260px}
.readiness-panel>.panel-head>.badge{flex:none;margin-top:4px}
.readiness-count{font-size:13px;color:var(--text-2);margin-bottom:14px}
.notice.summary-reason{border-color:var(--hair-3);background:repeating-linear-gradient(135deg,rgba(244,241,234,.04) 0 1px,transparent 1px 6px),var(--deep)}
.readiness-groups{display:grid;grid-template-columns:minmax(0,1fr);gap:0 36px}
.readiness-groups>*{min-width:0}
.readiness-panel .guidance-group{margin-top:22px}
.readiness-panel .guidance-group h3{font:500 11px/1.3 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);text-shadow:0 -1px 0 rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.035);padding-bottom:10px;margin-bottom:0;border-bottom:1px solid var(--hair)}
.readiness-panel .group-count{font:500 12px/1.3 var(--f-ui);letter-spacing:0;color:var(--muted)}
.readiness-panel .next-step-item{padding:14px 0}
.readiness-panel .nsi-head strong{font-size:14px}
.readiness-panel .all-checks{margin-top:24px}
.check-row{grid-template-columns:minmax(0,170px) minmax(0,1fr) auto}
.check-row .badge{white-space:nowrap}
.readiness-actions .account-footer{flex-wrap:wrap;padding-top:18px}
.readiness-actions .account-footer p{flex:1 1 320px;max-width:62ch;line-height:1.55}
@media(min-width:1100px){
.readiness-groups{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.readiness-groups>[data-group="CUSTOMER"]{grid-column:1;grid-row:1/span 3}
.readiness-groups>:not([data-group="CUSTOMER"]){grid-column:2}
}
.state-key{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;margin-top:18px;padding-top:14px;border-top:1px solid var(--hair);font-size:12.5px;color:var(--muted)}
.state-key h2{margin:0}
.state-key dl{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0}
.state-key dl>div{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-width:0}
.state-key dd{margin:0;color:var(--text-2)}
.state-key p{margin:0}
/* Orders and fills: the telemetry's state on a plate, then the observed counts */
.telemetry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px 32px;padding:24px}
.telemetry-text{min-width:0}
.telemetry .eng{display:flex;align-items:center;gap:8px}
.telemetry .eng .icon{width:15px;height:15px;color:var(--text-2)}
.telemetry h2{font:400 clamp(24px,2.3vw,32px)/1.06 var(--f-serif);letter-spacing:-.015em;margin:12px 0 10px;text-wrap:balance}
.telemetry-text>p:last-child{font-size:13.5px;color:var(--text-2);line-height:1.6;max-width:64ch}
/* Activity: a heading on the ruler wherever the day changes; times in Geist figures */
.timeline-day{display:flex;align-items:center;gap:10px;margin:0;padding:20px 0 6px;font:500 13px/1.3 var(--f-ui);color:var(--cream)}
.timeline-day:first-child{padding-top:4px}
.timeline-day .eng{font-size:10.5px}
.timeline-day::after{content:"";flex:1;height:9px;margin:8px 0 0 4px;border-top:1px solid var(--hair-2);background:repeating-linear-gradient(90deg,var(--hair-3) 0 1px,transparent 1px 8px) top left/100% 4px no-repeat,repeating-linear-gradient(90deg,var(--hair-3) 0 1px,transparent 1px 64px) top left/100% 8px no-repeat}
.timeline-item:has(+ .timeline-day){border-bottom:0}
.timeline-item{padding:16px 0}
.timeline-item time{font:500 12.5px/1.4 var(--f-ui);font-variant-numeric:tabular-nums lining-nums;color:var(--text-2)}
@media(max-width:700px){
.telemetry{grid-template-columns:minmax(0,1fr);padding:18px 16px}
.telemetry .btn{justify-self:start}
.check-row{grid-template-columns:minmax(0,1fr)}
}
/* The Liquidity Plan as the cockpit (ENG-07 CP5b, design A). The six native
   sliders and exact inputs stay the controls (LIQUIDITY-PLAN-V1 §1.3), dressed
   as levers and engraved readouts on three machined plates. A lever's groove
   is uniform: nothing fills toward a value, so the daily cap never reads as
   progress toward a target. Gold stays the Save button's fill. */
.plan-headrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin:-4px 0 20px}
.plan-headrow .plan-steps{margin:0}
.plan-scope.plan-market{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;margin:0;min-width:0;font-size:inherit;color:inherit}
.plan-market .mk-glyph{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;font:600 12px/1 var(--f-mono);letter-spacing:.04em;color:var(--cream);background:radial-gradient(circle at 35% 30%,#2c3240,#171b24 70%);box-shadow:inset 0 0 0 1px var(--hair-2),inset 0 0 0 4px var(--deep),inset 0 0 0 5px var(--hair)}
.plan-market .mk-glyph .icon{width:16px;height:16px;color:var(--text-2)}
.plan-market .mk-txt{display:grid;gap:2px;min-width:0}
.plan-market .mk-name{font:600 17px/1.2 var(--f-ui);letter-spacing:-.01em;color:var(--cream);overflow-wrap:anywhere}
.plan-market .mk-sub{font-size:12.5px;color:var(--muted)}
/* The preview: one head, an instrument switch, the charts on cards */
.plan-stage{gap:12px}
.plan-stage-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.plan-stage-head h2{font:500 14px/1.3 var(--f-ui);color:var(--cream)}
.plan-stage-head p{flex-basis:100%;margin-top:0}
.plan-synthetic{display:inline-flex;align-items:center;gap:8px;margin-left:auto;font:500 10.5px/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.plan-synthetic::before{content:"";width:14px;flex:none;border-top:1px dashed var(--muted)}
.plan-scenarios{border-color:var(--hair);border-radius:14px;background:var(--deep-2);padding:10px 14px 12px}
.plan-scenarios legend{font:500 11px/1.3 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);text-shadow:0 -1px 0 rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.035);padding:0 6px}
.plan-legend-note{font:400 12px/1.3 var(--f-ui);letter-spacing:0;text-transform:none;color:var(--muted)}
.plan-seg{display:inline-flex;flex-wrap:wrap;justify-self:start;gap:2px;padding:3px;border-radius:12px;background:#0b0d12;box-shadow:inset 0 1px 3px rgba(0,0,0,.8),0 1px 0 rgba(255,255,255,.05)}
.plan-seg span{min-height:34px;padding:0 16px;border:1px solid transparent;border-radius:9px;color:var(--text-2)}
/* The selected scenario is marked by a cream border (3:1 against the track,
   WCAG 1.4.11), as the cap choices and plan steps are; its lift alone is not. */
.plan-seg input:checked+span{border-color:var(--cream);background:linear-gradient(180deg,#2a2f3b,#1f2430);color:var(--cream);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 2px rgba(0,0,0,.5)}
.plan-seg input:focus-visible+span{outline:2px solid var(--cream);outline-offset:2px}
.plan-chart{border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,0) 120px),var(--panel)}
.plan-chart figcaption{border-top-color:var(--hair);padding:10px 14px 12px}
.plan-svg .pc-stop-bid{stop-color:var(--ivory);stop-opacity:.34}
.plan-svg .pc-stop-ask{stop-color:var(--steel);stop-opacity:.38}
.plan-svg .pc-stop-fill{stop-color:var(--cream);stop-opacity:.16}
.plan-svg .pc-stop-end{stop-opacity:.02}
.plan-svg .pc-depth-bid{fill:url(#pc-g-bid) rgba(236,227,207,.16);stroke-width:1.6}
.plan-svg .pc-depth-ask{fill:url(#pc-g-ask) rgba(147,168,216,.18);stroke-width:1.6}
.plan-svg .pc-fill-area{fill:url(#pc-g-fill) rgba(244,241,234,.08)}
.plan-svg .pc-paused{fill:url(#pc-hatch) rgba(244,241,234,.04)}
.plan-svg .pc-hatch-line{stroke:rgba(244,241,234,.16);stroke-width:1}
.plan-svg .pc-cap{font-family:var(--f-mono);letter-spacing:.12em}
.plan-outs{border-color:var(--hair);border-radius:14px}
.plan-out{background:var(--deep-2)}
.plan-out dt{font:500 10.5px/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.plan-big{font:500 26px/1.05 var(--f-ui);letter-spacing:-.02em;text-shadow:0 1px 0 rgba(0,0,0,.6)}
.plan-sample-tag{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:0;border:0;border-radius:0;font:500 10.5px/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}
.plan-sample-tag::before{content:"";width:6px;height:6px;flex:none;border:1px solid var(--text-2);transform:rotate(45deg)}
/* The controls: three plates and the plan bar */
.plan-controls{padding:0;gap:12px;border:0;background:none}
.plan-controls-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;padding:0 2px}
.plan-controls-head h2{font:400 28px/1.05 var(--f-serif);letter-spacing:-.01em}
.plan-controls-head p{flex-basis:100%;margin:0;font-size:12.5px;color:var(--muted)}
.plan-plate{padding:12px 16px 16px;border:1px solid var(--hair);border-radius:16px;min-width:0}
.plan-plate .plate-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 2px;padding-bottom:9px;border-bottom:1px solid var(--hair)}
.plan-plate .plate-h .eng{font-size:10.5px;color:var(--text-2)}
.plan-plate .plate-h .pn{font-size:12px;color:var(--muted)}
.plan-plate[data-plate="limits"] .plate-h .pn{color:var(--text-2)}
.plan-plate .plan-field{padding-top:14px;border-top:0}
.plan-plate .plan-field+.plan-field{margin-top:14px;border-top:1px solid var(--hair)}
.plan-field-head{flex-wrap:wrap;align-items:flex-start;gap:8px 14px}
.plan-field-title{flex:1 1 220px;min-width:0}
.plan-field-head label{font:500 14px/1.3 var(--f-ui);color:var(--cream)}
.plan-field-title .plan-hint{margin-top:4px;max-width:46ch}
.plan-exact-wrap{flex:none;gap:5px;min-height:44px;margin:-6px -6px 0 auto;padding:0 6px 0 8px;border-bottom:1px solid var(--field);border-radius:8px 8px 0 0;cursor:text;transition:border-color .2s,background-color .2s}
.plan-exact-wrap:hover{background:rgba(244,241,234,.035);border-bottom-color:rgba(244,241,234,.66)}
.plan-exact-wrap:focus-within{border-bottom-color:var(--cream);background:rgba(244,241,234,.05)}
.plan-exact-wrap:has(.plan-exact:focus-visible){outline:2px solid var(--cream);outline-offset:3px}
.plan-exact{width:6.4em;min-width:0;min-height:44px;padding:0;border:0;border-radius:0;background:none;text-align:right;font:500 24px/1.1 var(--f-ui);letter-spacing:-.02em;color:var(--cream);font-variant-numeric:tabular-nums lining-nums;text-shadow:0 1px 0 rgba(0,0,0,.6),0 -1px 0 rgba(255,255,255,.04)}
.plan-exact:focus-visible{outline:none}
.plan-exact[data-plan-exact="spread_percent"],.plan-exact[data-plan-exact="quote_lean_percent"]{width:3.6em}
.plan-exact[aria-invalid="true"]{color:var(--red)}
.plan-exact-wrap:has(.plan-exact[aria-invalid="true"]){border-bottom-color:var(--red)}
.plan-exact[readonly]{color:var(--text-2);background:none}
.plan-exact-wrap:has(.plan-exact[readonly]){border-bottom-style:dashed;cursor:default}
.plan-exact-wrap:has(.plan-exact[readonly]) .icon{display:none}
.plan-unit{min-width:0;font-weight:500}
.plan-exact-wrap .icon{width:13px;height:13px;color:var(--muted);transition:color .2s}
.plan-exact-wrap:hover .icon,.plan-exact-wrap:focus-within .icon{color:var(--cream)}
.plan-lever{position:relative;margin-top:4px;padding:0 11px}
.plan-scale{display:block;width:100%;height:14px;margin-bottom:-4px;overflow:visible}
.plan-scale line{stroke:rgba(244,241,234,.26);stroke-width:1;vector-effect:non-scaling-stroke}
.plan-scale line.maj{stroke:rgba(244,241,234,.55)}
.plan-slider{-webkit-appearance:none;appearance:none;display:block;width:calc(100% + 22px);max-width:none;height:44px;min-height:44px;margin:0 -11px;padding:0;background:none;cursor:grab}
.plan-slider:active{cursor:grabbing}
.plan-slider:disabled{cursor:not-allowed}
.plan-slider:focus-visible{outline:2px solid var(--cream);outline-offset:2px;border-radius:10px}
.plan-slider::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:#0a0c10;box-shadow:inset 0 1px 2px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.06)}
.plan-slider::-moz-range-track{height:6px;border-radius:3px;background:#0a0c10;box-shadow:inset 0 1px 2px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.06)}
.plan-slider::-moz-range-progress{background:transparent}
.plan-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:36px;margin-top:-15px;border:0;border-radius:7px;background:repeating-linear-gradient(180deg,rgba(0,0,0,.22) 0 1px,rgba(255,255,255,0) 1px 3px),linear-gradient(90deg,#6f6c66 0%,#e9e5dc 30%,#fbf8f1 46%,#c9c4b9 68%,#6a6760 100%);box-shadow:0 8px 16px -4px rgba(0,0,0,.7),0 2px 3px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(0,0,0,.35)}
.plan-slider::-moz-range-thumb{width:22px;height:36px;border:0;border-radius:7px;background:repeating-linear-gradient(180deg,rgba(0,0,0,.22) 0 1px,rgba(255,255,255,0) 1px 3px),linear-gradient(90deg,#6f6c66 0%,#e9e5dc 30%,#fbf8f1 46%,#c9c4b9 68%,#6a6760 100%);box-shadow:0 8px 16px -4px rgba(0,0,0,.7),0 2px 3px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(0,0,0,.35)}
.plan-slider:disabled::-webkit-slider-thumb{background:linear-gradient(90deg,#33363e,#4e525b 46%,#33363e);box-shadow:none}
.plan-slider:disabled::-moz-range-thumb{background:linear-gradient(90deg,#33363e,#4e525b 46%,#33363e);box-shadow:none}
.plan-ends{margin-top:-2px}
.plan-presets{gap:6px 8px;margin-top:2px}
.plan-presets-note{font:500 10.5px/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.plan-preset{border-color:var(--hair-3);background:none;font:500 12.5px/1 var(--f-ui);font-variant-numeric:tabular-nums lining-nums}
.plan-preset[aria-pressed="true"]{color:var(--cream)}
.plan-beyond{color:var(--text-2);padding-left:10px;border-left:1px solid var(--hair-3)}
.plan-bar{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:4px 0 0;padding:12px 14px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border:1px solid var(--hair-2);border-radius:14px;background:rgba(16,19,26,.94);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 -12px 32px -18px rgba(0,0,0,.9)}
.plan-bar .plan-status{flex:1 1 220px;min-width:0;margin:0;padding:0;border:0;background:none}
.plan-bar .plan-actions{margin-left:auto;padding-top:0;border-top:0;flex-wrap:nowrap}
html:has(.plan-bar){scroll-padding-bottom:132px}
/* What happens after Save: four steps, numbered on the case */
.plan-after{margin-top:22px;padding:24px}
.plan-after h2{font:400 30px/1.05 var(--f-serif);letter-spacing:-.01em}
.plan-after-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;counter-reset:plan-after}
.plan-after-steps li{position:relative;padding:14px 0 14px 34px;border-top:1px solid var(--hair);counter-increment:plan-after;min-width:0}
.plan-after-steps li::before{content:counter(plan-after,upper-roman);position:absolute;left:0;top:14px;font:500 11px/1.6 var(--f-mono);letter-spacing:.1em;color:var(--muted)}
.plan-after-who{display:block;margin-bottom:4px}
.plan-after-steps b{display:block;font-weight:500;color:var(--cream);margin-bottom:2px}
.plan-after-steps p{font-size:13.5px;color:var(--text-2);line-height:1.5}
@media(min-width:900px){
.plan-after-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.plan-after-steps li{padding:16px 18px 4px 0;border-top:0}
.plan-after-steps li+li{padding-left:18px;border-left:1px solid var(--hair)}
.plan-after-steps li::before{position:static;display:block;margin-bottom:8px}
}
/* Short screens (landscape phones, high zoom): nothing sticks */
@media(max-height:600px){.plan-bar{position:static}html:has(.plan-bar){scroll-padding-bottom:0}}
@media(max-width:700px){
.plan-after{padding:18px 16px}
.plan-plate{padding:12px 14px 14px}
.plan-exact{font-size:22px}
.plan-seg span{min-height:44px}
}
/* The book as a ladder and the cap's crown (ENG-07 CP5c). Both are views of
   the plan: the ladder draws the planned quotes around a synthetic mid (no
   price), and the crown is the daily cap's control, a marker on a log scale
   that never fills toward the cap. The cap's native slider stays in the page,
   visually hidden, as its keyboard and assistive control. */
.plan-ladder-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 14px;padding:12px 14px 0}
.plan-ladder-head h3{font:500 14px/1.3 var(--f-ui);color:var(--cream)}
.plan-ladder-wrap{padding:4px 14px 4px;overflow-x:auto}
.plan-ladder-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;white-space:nowrap}
.plan-ladder-table th,.plan-ladder-table td{padding:0;border:0;font-weight:400;background:none}
.plan-ladder-table thead th,.plan-ladder-table thead td{padding:8px 0 7px;border-bottom:1px solid var(--hair)}
.plan-ladder-table thead th{font:500 10.5px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left}
.plan-ladder-table thead th.sz{text-align:right}
.plan-ladder-table .lv>*{height:27px;border-bottom:1px solid rgba(244,241,234,.035)}
.plan-ladder-table .off{width:84px;text-align:left;color:var(--text-2);font:400 13px/1 var(--f-ui);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums lining-nums}
.plan-ladder-table td.sz{width:84px;text-align:right;color:var(--text-2);font-variant-numeric:tabular-nums lining-nums}
.plan-ladder-table .best-row .off,.plan-ladder-table .best-row td.sz{color:var(--cream);font-weight:500}
.plan-ladder-table .barcell{padding:0 14px 0 6px}
.plan-ladder-table tbody tr:hover{background:none}
.rod-svg{display:block;width:100%;height:10px;overflow:visible}
.lv.ask .rod{fill:var(--steel)}
.lv.bid .rod{fill:var(--ivory)}
.lv .jewel{stroke:rgba(0,0,0,.4);stroke-width:1}
.lv.ask .jewel{fill:#c9d4ee}
.lv.bid .jewel{fill:var(--cream)}
.plan-ladder-table .mid-row td{padding:8px 0 4px;border-bottom:1px solid rgba(244,241,234,.035)}
.caliper-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;color:var(--text-2);padding:0 2px}
.caliper-head b{color:var(--cream);font-weight:500;font-size:13px}
.plan-caliper{display:block;width:100%;height:auto;margin-top:2px}
.plan-caliper .c-beam{stroke:rgba(244,241,234,.35);stroke-width:1}
.plan-caliper .c-tk{stroke:rgba(244,241,234,.28);stroke-width:1}
.plan-caliper .c-tk.maj{stroke:rgba(244,241,234,.55)}
.plan-caliper .c-lab{fill:var(--muted);font:400 9px var(--f-ui);font-variant-numeric:tabular-nums}
.plan-caliper .c-jaw-b{fill:var(--ivory)}
.plan-caliper .c-jaw-a{fill:var(--steel)}
.plan-caliper .c-meas{stroke:var(--cream);stroke-width:1}
.plan-dial-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 20px;margin-top:12px}
.plan-dial{position:relative;width:176px;height:176px;border-radius:50%;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.plan-dial.is-grab{cursor:grabbing}
.plan-dial.is-readonly{cursor:default;opacity:.62}
.plan-dial>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.plan-dial .dl-ring{fill:none;stroke:rgba(244,241,234,.1)}
.plan-dial .dl-t{stroke:rgba(244,241,234,.3);stroke-width:1}
.plan-dial .dl-t.mid{stroke:rgba(244,241,234,.45)}
.plan-dial .dl-t.maj{stroke:rgba(244,241,234,.7);stroke-width:1.4}
.plan-dial .dl-n{fill:var(--text-2);font:500 12px var(--f-ui);font-variant-numeric:tabular-nums}
.plan-dial-knob{position:absolute;inset:19.5%;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(16,19,26,0) 0 30%,rgba(16,19,26,.35) 31%,rgba(16,19,26,0) 34%),conic-gradient(from 200deg,#1b1f2a,#3b4253 9%,#222734 19%,#3a4152 33%,#1f2330 46%,#353c4c 60%,#1d212d 72%,#3c4354 85%,#1b1f2a);box-shadow:0 14px 26px -8px rgba(0,0,0,.85),0 3px 6px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.14),inset 0 -2px 4px rgba(0,0,0,.4)}
.plan-dial .kn-l{stroke:rgba(244,241,234,.5);stroke-width:.9}
.plan-dial .kn-idx{stroke:var(--cream);stroke-width:2.6;stroke-linecap:round}
.plan-field:has(.plan-lever-dial .plan-slider:focus-visible) .plan-dial{outline:2px solid var(--cream);outline-offset:4px}
.plan-lever-dial{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.plan-dial-motto{font-weight:500;font-size:15px;line-height:1.35;color:var(--cream);letter-spacing:-.005em}
@media(max-width:440px){.plan-dial-row{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}}
@media(max-width:700px){.plan-caliper .c-lab{font-size:14px}.plan-svg .pc-lbl-pause{font-size:17px}}
@media(prefers-reduced-motion:reduce){.plan-dial{transition:none}}
/* Account and security (ENG-07 CP6): the person's own sign-in facts on two
   plates. The person's row at the foot of the navigation opens it. Only a
   verified email is green; an unknown time stays a dash. */
a.user-row{margin:0 -6px;padding:6px;border-radius:10px;color:inherit;text-decoration:none;transition:background-color .18s}
a.user-row:hover{background:rgba(244,241,234,.04)}
a.user-row.active{background:var(--panel-2)}
.account-plates{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
@media(min-width:1100px){.account-plates{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
.account-plate{padding:14px 20px 20px;min-width:0}
.account-plate .plate-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 2px;padding-bottom:10px;border-bottom:1px solid var(--hair)}
.account-plate .plate-h .eng{font-size:10.5px;color:var(--text-2)}
.account-plate .plate-h .pn{font-size:12px;color:var(--muted)}
.account-facts{margin:0}
.account-facts>div{display:grid;gap:5px;padding:14px 0;border-bottom:1px solid var(--hair)}
.account-facts dt{margin:0}
.account-facts dd{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font:500 16px/1.35 var(--f-ui);color:var(--cream);font-variant-numeric:tabular-nums lining-nums;min-width:0}
.account-facts dd .unknown{font-weight:400}
.account-facts p{font-size:12.5px;color:var(--muted);line-height:1.5}
.account-password{padding-top:16px}
.account-password h3{font-size:14px;font-weight:500;color:var(--cream)}
.account-password>p{font-size:13px;color:var(--text-2);line-height:1.6;margin-top:4px;max-width:62ch}
.account-sent{margin-top:12px;padding:10px 12px;border:1px solid var(--hair-2);border-radius:10px;background:var(--deep-2);font-size:13px;line-height:1.55;color:var(--text-2)}
.account-sent:focus{outline:none}
.account-sent b{font-weight:500;color:var(--cream)}
.account-reset{margin-top:14px}
.account-signout{padding-top:16px}
@media(max-width:700px){.account-plate{padding:12px 16px 16px}}
/* Two-step sign-in (ENG-07 CP11b): the plate's actions, the set-up dialog
   (the QR code on white with its quiet zone, as scanners need it, and the
   same key in mono beside it) and the recovery codes. No state colour: the
   badge carries the state. */
.account-two-step-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:16px}
.account-plate .notice{margin-top:14px}
.two-step-steps{display:grid;gap:18px;margin:0;padding-left:20px}
.two-step-steps>li{padding-left:4px;min-width:0}
.two-step-steps p{margin:0 0 8px;line-height:1.55}
.qr-box{display:grid;place-items:center;width:min(100%,232px);min-height:96px;margin-top:4px}
.qr-code{display:block;width:100%;height:auto;border-radius:6px}
.qr-paper{fill:#fff}
.qr-ink{fill:#000}
.two-step-key{margin:0;padding:10px 12px;border:1px solid var(--hair-2);border-radius:10px;background:var(--deep-2);font-size:15px;letter-spacing:.06em;line-height:1.6;color:var(--cream);user-select:all}
.recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:14px 0;padding:12px 16px 12px 38px;border:1px solid var(--hair-2);border-radius:10px;background:var(--deep-2);font-size:15px;color:var(--cream)}
@media(max-width:420px){.recovery-codes{grid-template-columns:minmax(0,1fr)}}
.reauth-second{margin-top:4px}
/* Workspace and the Plan review in the instrument's language (ENG-07 CP6b):
   machined plates, engraved labels; figures in Geist tabular (C6), Geist
   Mono kept for ids, setting names and other codes. */
.ws-details .stat-list dt{font:500 10.5px/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-shadow:0 -1px 0 rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.035)}
.ws-details .stat-list dd{font-weight:500;color:var(--cream)}
.role-cards .role-option{background:var(--deep-2)}
.role-cards .role-option.active{background:var(--tint)}
.rv-field,.rv-settings,.rv-apply{border-color:var(--hair);background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,0) 46%),repeating-linear-gradient(104deg,rgba(244,241,234,0) 0,rgba(244,241,234,.016) 11px,rgba(244,241,234,0) 22px),var(--panel);box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 1px 0 rgba(0,0,0,.4)}
.rv-col dt{font:500 10.5px/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rv-value{font:500 20px/1.2 var(--f-ui);letter-spacing:-.01em;font-variant-numeric:tabular-nums lining-nums;color:var(--cream)}
.rv-dim{border-color:var(--hair);background:var(--deep-2)}
.rv-levels td.num{font:400 13px/1.3 var(--f-ui);font-variant-numeric:tabular-nums lining-nums}
.account-reset-note{margin-top:6px;font-size:13px;color:var(--text-2);line-height:1.6;max-width:62ch}
