/* Client portal: approved white, matte black, and neon blue presentation. */
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
:root{--ink:#171717;--muted:#626262;--navy:#171717;--teal:#0062ff;--teal-soft:#fff;--paper:#fff;--card:#fff;--line:#e5e5e5;--good:#0062ff;--good-soft:#fff;--watch:#171717;--watch-soft:#f5f5f5;--bad:#171717;--bad-soft:#eee;--shadow:none}
body,.shell,.sidebar,.topbar{background:#fff;color:var(--ink)}
body{line-height:1.55}button,input,select,textarea{font:inherit}
a{color:#0057e6;text-underline-offset:4px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #0062ff;outline-offset:4px}
button:disabled{cursor:not-allowed;opacity:.55}
.topbar{border-bottom:1px solid var(--line);flex-wrap:wrap}
.brand{display:inline-flex;align-items:flex-start;flex-shrink:0;width:auto;text-decoration:none;color:#0062ff;font-size:29px;font-weight:800;letter-spacing:-1.2px;line-height:1.2}
.brand sup{font-size:10px;letter-spacing:0;margin:3px 0 0 3px}
.portal-positioning{border-color:var(--line)}
.portal-positioning strong,.account,.ghost-dark{color:var(--ink)}
.portal-positioning span{color:var(--muted)}
.ghost-dark{border-color:#d8d8d8;background:#fff}
.loading,.loading.error{color:var(--ink)}
.nav-button,.more-toggle{color:var(--muted);border-radius:0}
.nav-button:hover,.more-toggle:hover{color:var(--ink);background:#f5f5f5}
.nav-button.active{color:#0057e6;background:#fff;box-shadow:inset 2px 0 #0062ff}
.action{color:var(--ink);border-color:#d8d8d8;background:#fff;min-height:44px;border-radius:6px;text-decoration:none}
.action.primary,.safety-hero .action.primary{color:#fff;border-color:#0062ff;background:#0062ff}
.action:hover{border-color:#0062ff}
.eyebrow{color:#0057e6}
.page-head,.confidence-check,.review-actions{flex-wrap:wrap}
.card,.metric,.preference-card,.safety-status-card,.safety-hero,.system-node,.romy-insight,.confidence-check,.confidence-details,.secure-status,.safety-callout{border:0;border-radius:0;box-shadow:none;background:#fff}
.card,.preference-card{border-top:1px solid var(--line)}
.metric,.safety-status-card{border-top:2px solid var(--line);padding:20px 0}
.summary-grid,.safety-status-grid{gap:24px}
.card-head{padding:24px 0 16px}
.list-item,.safety-evidence-row,.tax-ladder-row{padding-left:0;padding-right:0}
.table-wrap,.safety-chart-body,.tax-stack{padding-left:0;padding-right:0}
.secure-status,.confidence-check{padding:14px 0;border-bottom:1px solid var(--line)}
.confidence-check.testing,.confidence-check.passed,.confidence-check.failed{color:var(--ink);background:#fff;border-color:var(--line)}
.confidence-check .confidence-light{box-shadow:none}
.confidence-check.failed .confidence-light{background:#171717}
.confidence-check.testing .confidence-light,.confidence-check.passed .confidence-light{background:#0062ff}
.safety-hero{padding:28px 0 36px;color:var(--ink);background:#fff}
.safety-hero .eyebrow{color:#0057e6}
.safety-hero .lede{color:var(--muted)}
.safety-hero .action{color:var(--ink);border-color:#d8d8d8;background:#fff}
.safety-preview-note{color:var(--muted);background:#f5f5f5}
.safety-preview-note::before{background:#0062ff}
.safety-callout{border-left:3px solid #0062ff;padding-left:20px}
.safety-callout p{color:var(--muted)}
.system-node{border-bottom:1px solid var(--line)}
.system-hub{color:var(--ink);background:#fff;border:1px solid #0062ff;border-radius:0;box-shadow:none}
.romy-insight,.romy-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;padding:20px 0;margin:16px 0}
.romy-mark{width:52px;height:52px;border:1px solid #0062ff;background:#fff;overflow:hidden}
.romy-mark img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
.romy-insight p{color:var(--muted)}
.tour-dialog,.tour-invite{max-height:calc(100dvh - 32px);overflow:auto;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.16)}
.tour-dialog::backdrop,.tour-invite::backdrop{background:rgba(23,23,23,.4);backdrop-filter:blur(3px)}
.tour-shell{border-radius:0}
.tour-invite{width:min(560px,calc(100vw - 32px))}
.tour-invite-copy{padding:clamp(24px,5vw,40px)}
.tour-invite-copy h2{font-size:clamp(24px,3vw,30px);line-height:1.25;letter-spacing:-.8px}
.tour-invite-copy p{font-size:15px;line-height:1.7}
.tour-invite-copy .eyebrow{font-size:11px;color:#0057e6}
.tour-stage{color:var(--ink);background:#fff;min-height:315px;padding:32px}
.tour-frame .eyebrow,.tour-arrow{color:#0057e6}
.tour-frame h2{line-height:1.15}
.tour-frame>p,.tour-mini-card span{color:var(--muted)}
.tour-mini-grid{gap:20px}
.tour-mini-card,.tour-mini-card.complete,.tour-flow-node{border:0;border-top:1px solid var(--line);border-radius:0;background:#fff;padding:14px 0}
.tour-mini-card strong{font-size:14px}.tour-mini-card span{font-size:12px;line-height:1.6}
.tour-flow-node{font-size:13px}
.tour-flow-node.hub{color:#0057e6;background:#fff;border:1px solid #0062ff}
.tour-scan-bar{background:#eee}
.tour-scan-bar span,.tour-scan.complete .tour-scan-bar span{background:#0062ff}
.tour-scan.complete .tour-scan-result{color:#0057e6}
.tour-caption{border-top:1px solid var(--line);padding:20px 24px 12px}
.tour-controls{padding:12px 24px 24px}
.tour-top strong{color:var(--ink)}
.tour-close{color:var(--ink);background:#f5f5f5}
.confidence-progress{width:min(500px,100%)}
.metric-detail,.safety-status-card p,.card-head p,.confidence-copy span{font-size:14px;line-height:1.6}
.person,.list-item,.page-head>div,.brand-group,.account{min-width:0}
.list-item p,.person strong,.account,.metric-detail{overflow-wrap:anywhere}
@media(max-width:720px){.brand{font-size:25px}.brand-group{flex-wrap:wrap}.topbar{gap:12px}.content{padding:24px 18px 40px}.tour-stage{padding:24px}.tour-controls{grid-template-columns:1fr 1fr}.tour-controls progress{grid-column:1/-1}.tour-invite-actions{display:grid;grid-template-columns:1fr}.tour-mini-grid{grid-template-columns:1fr 1fr}.romy-insight,.romy-card{grid-template-columns:44px minmax(0,1fr)}.romy-mark{width:44px;height:44px}.safety-status-grid{gap:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
/* Narrow-screen account and planning layouts. */
.content,.view,.system-column,.system-hub,.field{min-width:0}
.system-hub>div{display:grid;gap:10px}.system-hub strong,.system-hub span{display:block}
#money-bank-total{font-size:clamp(22px,3vw,34px);overflow-wrap:anywhere}
#budget-plan{max-width:820px}#budget-plan .field{margin-bottom:20px}
#budget-plan input{box-sizing:border-box;width:100%;min-height:44px}
#bank-status,#budget-save-status,#budget-result{overflow-wrap:anywhere;line-height:1.6}
#bank-account-list .list-item{gap:18px;flex-wrap:wrap}
@media(max-width:720px){
 .account{width:100%;flex-wrap:wrap}.brand-group{width:100%}
 .nav-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
 .nav-button{white-space:normal;min-height:48px;overflow-wrap:anywhere}
 .more-toggle,.more-menu{grid-column:1/-1}.more-menu .nav-button{width:100%}
 .sidebar{padding:16px 18px;border-bottom:1px solid var(--line)}
 .system-control-center{grid-template-columns:1fr}.system-hub{padding:18px}
 .page-actions{width:100%}.page-actions>*{max-width:100%}
 .period-select,input,select{max-width:100%;min-width:0}
 .tour-invite-copy{padding:24px}.tour-invite-actions>*{width:100%;white-space:normal}
 .list-value{max-width:100%}.tour-frame h2{font-size:28px}
}
@media(max-width:720px){.nav-list{width:100%}.sidebar{position:static;overflow:visible}.more-menu{position:static;width:auto;box-shadow:none}.more-toggle{width:100%}}

/* Close workpapers follow the portal's open, unboxed layout. */
#close-workpapers{max-width:100%;min-width:0}#close-workpapers fieldset{min-width:0;margin:24px 0;padding:18px 0;border:0;border-top:1px solid #e8e8e8}#close-workpapers legend{padding:0;font-weight:700}#close-workpapers label{display:grid;gap:8px;min-width:0}#close-workpapers input,#close-workpapers select,#close-workpapers textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:10px;border:1px solid #d6d6d6;border-radius:0;background:#fff;color:#111}#close-workpapers textarea{min-height:88px;resize:vertical}#close-workpapers input[type=checkbox]{width:auto;justify-self:start}#close-workpapers button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:700px){#close-workpapers .preference-grid{grid-template-columns:1fr}#close-workpapers .page-actions{align-items:stretch;flex-direction:column}}
