/* Fintor Client Portal — mobile-first. Tokens mirror engine.css (the Adviser Workspace) and the email templates.
   Brand skins are CSS variables switched on <html data-brand="fintor|whosays">. Light mode only. */
:root{
  --navy:#001f74;--cyan:#01cbf0;--lime:#99ff00;--purple:#8300e9;--blue:#1a2df3;--green:#0FA95B;--green-light:#E6F9EF;--red:#DC3545;--red-light:#FCEDEF;--amber:#C27A00;--amber-light:#FFF4E0;
  --bg:#F0F1F5;--bg-card:#FFFFFF;--bg-surface:#F7F8FA;--text:#0D1B3E;--text-2:#5A6482;--text-hint:#8C95AD;--border:#DFE2EA;--border-light:#ECEEF3;
  --page:600px;--pink:#ff2d7a;--pink-dark:#c9005f;
  --radius:12px;--radius-lg:18px;--shadow:0 6px 24px rgba(0,31,116,.08);--shadow-sm:0 1px 3px rgba(0,31,116,.06);
  /* brand (Fintor default) */
  --brand:#001f74;--brand-dark:#000d33;--accent:#01cbf0;--on-brand:#ffffff;--primary-bg:#001f74;--primary-fg:#ffffff;--primary-hover:#0a2d8a;--focus:rgba(1,203,240,.25);--link:#001f74;
  --stripe:linear-gradient(90deg,#0FA95B,#01cbf0,#1a2df3,#8300e9);--progress:linear-gradient(90deg,#01cbf0,#1a2df3);
}
:root[data-brand="whosays"]{
  --brand:#0D1B3E;--brand-dark:#070f24;--accent:#99ff00;--on-brand:#ffffff;--primary-bg:#99ff00;--primary-fg:#0D1B3E;--primary-hover:#8af000;--focus:rgba(153,255,0,.35);--link:#0D1B3E;
  --stripe:linear-gradient(90deg,#99ff00,#99ff00 60%,#0D1B3E);--progress:linear-gradient(90deg,#99ff00,#5fcf00);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html,body{min-height:100%;overflow-x:hidden}
body{font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text);line-height:1.5;font-size:15px;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}
.hidden{display:none!important}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px;z-index:100}.skip:focus{left:8px}
a{color:var(--link)}
b,strong{font-weight:700}
code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px;background:var(--bg-surface);padding:3px 8px;border-radius:6px;letter-spacing:1px;word-break:break-all}

/* header */
.top{background:var(--brand);color:var(--on-brand);position:sticky;top:0;z-index:20}
.top-inner{max-width:var(--page);margin:0 auto;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--on-brand)}
.brand img{height:30px;width:auto;display:block}
.brand-text{font-weight:800;font-size:18px}
.stripe{height:5px;background:var(--stripe)}
.phases{background:var(--bg-card);border-bottom:1px solid var(--border)}
.phases ol{list-style:none;display:flex;max-width:var(--page);margin:0 auto;padding:8px 8px}
.phases li{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:700;color:var(--text-hint);padding:4px 2px;position:relative;white-space:nowrap}
.phases li .n{width:22px;height:22px;border-radius:50%;background:var(--bg-surface);border:1.5px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}
.phases li.current{color:var(--text)}.phases li.current .n{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-bg)}
.phases li.done{color:var(--green)}.phases li.done .n{background:var(--green-light);border-color:var(--green);color:var(--green)}
.phases li.done .n::before{content:"✓"}.phases li.done .n{font-size:0}.phases li.done .n::before{font-size:11px}
@media (max-width:380px){.phases li .l{display:none}.phases li.current .l{display:inline}}
.btn.light{color:var(--on-brand);border-color:rgba(255,255,255,.35)}

/* layout */
.view{flex:1;width:100%;max-width:var(--page);margin:0 auto;padding:22px 16px 48px}
/* §4b: 60–70% of the screen on desktop (max ~68vw, never under 640px), 100% on mobile */
@media (min-width:900px){:root{--page:clamp(640px,68vw,1180px)}.view{padding:28px 24px 64px}}
.view:focus{outline:none}
.foot{max-width:var(--page);width:100%;margin:0 auto;padding:18px 16px 28px;font-size:11px;color:var(--text-hint);line-height:1.7;border-top:1px solid var(--border-light)}
.foot a{color:var(--text-hint)}
.loading{padding:40px 0;text-align:center;color:var(--text-2);font-size:14px}
.h1{font-size:24px;font-weight:800;line-height:1.2;color:var(--brand);margin:0 0 10px}
.h1.xl{font-size:30px}
h2{font-size:16px;font-weight:800;margin:22px 0 10px;color:var(--text)}
.lead{color:var(--text-2);font-size:15px;margin-bottom:18px}
.lead b{color:var(--text)}
.hero{padding:6px 0 4px}
.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 18px;box-shadow:var(--shadow-sm);margin-bottom:16px}
.alt{text-align:center;font-size:13px;color:var(--text-2);margin:18px 0 6px}
.center{text-align:center}
.hint{font-size:12.5px;color:var(--text-2);margin-top:6px}
.s{font-size:12px;color:var(--text-2)}
.msg{font-size:13px;color:var(--text-2);margin-top:10px;min-height:1.2em}.msg.err,.err{color:var(--red)}.msg.ok{color:var(--green)}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row-between{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.row-end{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}
.link{color:var(--link);font-weight:600;font-size:13px}
.steps-preview{list-style:none;counter-reset:s;margin:18px 0 6px;display:flex;flex-direction:column;gap:12px}
.steps-preview li{counter-increment:s;display:grid;grid-template-columns:34px 1fr;gap:2px 12px;align-items:start;font-size:14px}
.steps-preview li::before{content:counter(s);width:34px;height:34px;border-radius:50%;background:var(--green-light);color:var(--green);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px}
.steps-preview li::before{grid-row:1/3}.steps-preview li b{display:block;grid-column:2}.steps-preview li span{display:block;grid-column:2;color:var(--text-2);font-size:13px}
.banner{background:rgba(1,203,240,.12);border-left:4px solid var(--accent);padding:12px 14px;border-radius:10px;font-size:14px;margin-bottom:16px}
:root[data-brand="whosays"] .banner{background:rgba(153,255,0,.18)}
.banner a{display:block;margin-top:4px;font-size:13px}
.done-mark{width:64px;height:64px;border-radius:50%;background:var(--green-light);color:var(--green);font-size:32px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:8px 0 14px}

/* fields — big touch targets (≥48px) */
.field{margin-bottom:14px;min-width:0}
.field label,.label{display:block;font-size:13px;font-weight:700;color:var(--text);margin-bottom:6px}
.field .req{color:var(--red)}
.field input:not([type=checkbox]):not([type=date]),.field select,.field textarea,.money,.pct{width:100%;min-height:50px;padding:12px 14px;font-size:16px;font-family:inherit;font-weight:500;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' stroke='%235A6482' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.field input:focus,.field select:focus,.field textarea:focus,.money:focus-within,.pct:focus-within,.otp input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--focus)}
.field.invalid input,.field.invalid select,.field.invalid .money{border-color:var(--red)}
.field textarea{resize:vertical;line-height:1.5;min-height:80px}
.money,.pct{display:flex;align-items:center;gap:8px;padding:0 14px}
.money span,.pct span{color:var(--text-hint);font-weight:700;font-size:16px}
.money input,.pct input{flex:1;min-width:0;border:none!important;background:transparent!important;padding:12px 0!important;min-height:48px!important;font-size:16px;font-family:inherit;font-weight:600;color:var(--text);outline:none!important;box-shadow:none!important;width:100%}
.money input{font-variant-numeric:tabular-nums}
.date{position:relative;display:flex;align-items:center}
.date input[data-key]{padding-right:52px;font-variant-numeric:tabular-nums;letter-spacing:.5px}
.date input[type=date]{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:42px;height:42px;opacity:0;cursor:pointer;font-size:16px}
.date::after{content:"";position:absolute;right:16px;top:50%;width:20px;height:20px;transform:translateY(-50%);pointer-events:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A6482' stroke-width='2' stroke-linecap='round'><rect x='3' y='5' width='18' height='16' rx='3'/><path d='M3 10h18M8 3v4M16 3v4'/></svg>") center/contain no-repeat}
.fields{display:grid;grid-template-columns:1fr;gap:2px 14px}
@media (min-width:520px){.fields{grid-template-columns:1fr 1fr}.fields .field.wide,.fields .field:has(textarea),.fields .field[data-field$="address"],.fields .field[data-field$="postal"]{grid-column:1/-1}}
@media (min-width:900px){.fields.alloc{grid-template-columns:1fr 1fr 1fr}}
.tick{display:flex;gap:12px;align-items:flex-start;font-size:14px;cursor:pointer;margin-top:14px;min-height:44px}
.tick input{width:24px;height:24px;flex-shrink:0;margin-top:1px;accent-color:var(--green)}
.tick input:disabled+span{color:var(--text-hint)}
.tick.small{font-size:13px;margin-top:4px;min-height:36px}.tick.small input{width:20px;height:20px}

/* buttons */
.btn{font-family:inherit;font-weight:700;font-size:15px;padding:12px 18px;min-height:48px;border-radius:var(--radius);border:1.5px solid transparent;cursor:pointer;transition:all .15s;background:var(--bg-surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;-webkit-tap-highlight-color:transparent}
.btn:hover{background:var(--border-light)}
.btn.primary{background:var(--primary-bg);color:var(--primary-fg)}.btn.primary:hover{background:var(--primary-hover)}
.btn.ghost{background:transparent;border-color:var(--border)}
.btn.big{min-height:54px;font-size:16px}.btn.wide{width:100%;margin-top:10px}
.btn.tiny{min-height:34px;padding:6px 12px;font-size:12.5px;border-radius:8px}
/* "click here to enter something" buttons — light blue, pink for second-level adds (§4b) */
.btn.btn-add{width:100%;background:var(--cyan);color:var(--text);border-color:var(--cyan);margin-top:8px;font-weight:800;box-shadow:0 2px 0 rgba(0,31,116,.12)}
.btn.btn-add:hover{background:#19d4f5;border-color:#19d4f5}
.btn.btn-add.pink{background:var(--pink);border-color:var(--pink);color:#fff}
.btn.btn-add.pink:hover{background:var(--pink-dark);border-color:var(--pink-dark)}
:root[data-brand="whosays"] .btn.btn-add{background:var(--cyan);color:var(--text)}
.btn.link-btn{background:none;border:none;color:var(--text-2);text-decoration:underline;font-weight:600;font-size:14px;padding:10px 0;min-height:40px;width:100%;margin-top:8px}
.btn.link-btn:hover{color:var(--text)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn:focus-visible,.link:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

/* OTP */
.otp{display:flex;gap:8px;justify-content:space-between;margin:6px 0 14px}
.otp input{flex:1;min-width:0;width:100%;height:58px;text-align:center;font-size:26px;font-weight:800;font-family:ui-monospace,Menlo,Consolas,monospace;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);outline:none;-webkit-appearance:none;appearance:none;padding:0}
.resend{margin-top:6px}.resend .link-btn{width:auto;margin:0}
.turnstile{margin:8px 0 4px;min-height:0}

/* password */
.rules{list-style:none;margin:-4px 0 10px;font-size:13px;color:var(--text-2);display:flex;flex-direction:column;gap:3px}
.rules li.ok{color:var(--green)}
.strength{height:6px;border-radius:999px;background:var(--bg-surface);overflow:hidden;margin:2px 0 4px}
.strength div{height:100%;width:0;transition:width .2s;background:var(--red)}
.strength div[data-level="2"]{background:var(--amber)}.strength div[data-level="3"]{background:var(--green)}.strength div[data-level="4"]{background:var(--green)}
.howto{padding-left:20px;font-size:14px;color:var(--text-2);display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.qr{width:200px;height:200px;display:block;margin:6px auto 10px;background:#fff;padding:6px;border-radius:10px;border:1px solid var(--border)}
.manual{font-size:13px;color:var(--text-2);margin:8px 0 14px}.manual summary{cursor:pointer;font-weight:700;color:var(--link);padding:6px 0}.manual code{display:inline-block;margin:6px 6px 6px 0}

/* consents */
.consent-cards{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}
.consent-card{margin:0}
.consent-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}
.consent-title{font-weight:800;font-size:16px}
.consent-summary{font-size:14px;color:var(--text-2);margin-bottom:12px}
.pill{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--bg-surface);color:var(--text-2);white-space:nowrap}
.pill.ok{background:var(--green-light);color:var(--green)}
.viewer{margin-top:12px;height:min(70vh,520px);overflow:auto;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);-webkit-overflow-scrolling:touch}
.viewer iframe{width:100%;height:calc(100% + 1px);min-height:100%;border:0;background:#fff;display:block}

/* wizard */
.wiz-head{margin-bottom:6px}
.wiz-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.wiz-count{font-size:12px;font-weight:700;color:var(--text-2)}
.save-status{margin-left:auto;font-size:12px;color:var(--text-hint);font-weight:600}.save-status.ok{color:var(--green)}.save-status.err{color:var(--red)}
.progress{height:8px;border-radius:999px;background:var(--border-light);overflow:hidden;margin-bottom:16px}
.progress div{height:100%;background:var(--progress);transition:width .3s;border-radius:999px}
.sec{margin-bottom:18px}
.wiz-body{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 16px 6px;box-shadow:var(--shadow-sm)}
.wiz-body h2:first-child{margin-top:0}
.wiz-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}
.wiz-nav .btn.primary{flex:1}.wiz-nav .btn.ghost{min-width:96px}
.items{display:flex;flex-direction:column;gap:10px}
.item-card{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;background:var(--bg-surface)}
.item-main{min-width:0}.item-card .t{font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis}.item-card .s{font-size:12.5px}
.item-actions{display:flex;gap:6px;flex-shrink:0}
.empty{padding:14px;text-align:center;color:var(--text-hint);font-size:13.5px;border:1px dashed var(--border);border-radius:var(--radius)}
.editor-card{margin:12px 0 0;border-color:var(--accent);box-shadow:0 0 0 4px var(--focus)}
.editor-title{font-weight:800;margin-bottom:12px;font-size:15px}
.nested{margin-top:8px;padding-top:12px;border-top:1px solid var(--border-light)}
.nrow{border:1px solid var(--border-light);border-radius:10px;padding:12px 12px 4px;margin-top:10px;background:var(--bg-surface)}
.nrow .row-end{margin-top:0;margin-bottom:8px}
.drawer{position:fixed;inset:0;background:rgba(13,27,62,.45);z-index:40;display:flex;justify-content:flex-start}
.drawer-panel{width:min(86vw,340px);background:var(--bg-card);height:100%;overflow:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}
.step-list{list-style:none;display:flex;flex-direction:column;gap:2px;flex:1}
.step-list button{width:100%;text-align:left;display:flex;align-items:center;gap:10px;padding:10px 8px;border:none;background:none;font-family:inherit;font-size:14px;font-weight:600;color:var(--text);border-radius:10px;cursor:pointer;min-height:44px}
.step-list button:hover{background:var(--bg-surface)}.step-list button:disabled{color:var(--text-hint);cursor:default}
.step-list .n{width:26px;height:26px;border-radius:50%;background:var(--bg-surface);border:1.5px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;flex-shrink:0}
.step-list li.current button{background:var(--focus)}.step-list li.current .n{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-bg)}
.step-list li.done .n{background:var(--green-light);border-color:var(--green);color:var(--green)}
.step-list li.skipped button{color:var(--text-2)}

/* question engine — one plain question, big Yes/No buttons, fields revealed underneath */
.ask{margin:6px 0 18px;padding:14px 0 4px;border-top:1px solid var(--border-light)}
.ask:first-child,.reveal>.ask:first-child,.wiz-body>.ask:first-child{border-top:none;padding-top:4px}
.ask.compact{margin:0 0 12px;padding-top:6px;border-top:none}
.ask-q{font-size:16px;font-weight:800;color:var(--text);margin-bottom:10px;line-height:1.35}
.ask-q .hint{font-weight:500;margin-top:4px}
.seg{display:flex;gap:10px;flex-wrap:wrap}
.seg button{flex:1 1 120px;min-height:54px;padding:12px 16px;border-radius:var(--radius);border:2px solid var(--border);background:var(--bg-card);font-family:inherit;font-size:16px;font-weight:800;color:var(--text-2);cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent}
.seg button:hover{border-color:var(--accent);color:var(--text)}
.seg button.on,.seg button[aria-checked="true"]{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-bg);box-shadow:0 0 0 4px var(--focus)}
.seg.wide button{flex:1 1 150px}
.ask.compact .seg button{min-height:46px;font-size:14px}
.ask.yesno .seg button{flex:1 1 140px;max-width:240px}
.reveal{margin-top:14px;padding:4px 0 0 0;animation:reveal .18s ease-out}
.reveal>.fields{margin-top:4px}
@keyframes reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.note{background:var(--bg-surface);border-left:4px solid var(--border);padding:10px 14px;border-radius:10px;font-size:14px;margin:8px 0 10px;line-height:1.5}
.note.ok{background:var(--green-light);border-color:var(--green)}
.note.err{background:var(--red-light);border-color:var(--red)}
.wiz-body>h2:first-child{margin-top:0}
.wiz-body h2{margin-top:18px}

/* cards + inline editor */
.cards{margin-top:4px}
.cards .items:empty{display:none}
.item-card.readonly{background:var(--bg-card)}
.item-card .link{white-space:nowrap}
.editor-body{display:flex;flex-direction:column;gap:2px}
.editor-body h2{font-size:14px;margin:14px 0 6px}
.editor-body .cards .editor-card{box-shadow:none;border-color:var(--border);background:var(--bg-surface)}
.editor-body .ask{border-top:1px solid var(--border-light)}
.add-row .btn{margin-top:8px}
.loan-list{display:flex;flex-direction:column;gap:10px}
.nrow{padding-bottom:10px}
.nrow .row-between{margin-bottom:6px}
.calc-pair{position:relative}
.calc-note{min-height:1.2em;margin:-4px 0 8px}

/* staged collapsible sections (property) */
.stages{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.stage{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--bg-card);overflow:hidden}
.stage.open{border-color:var(--accent)}
.stage-head{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;min-height:52px;background:none;border:none;font-family:inherit;font-size:15px;font-weight:800;color:var(--text);text-align:left;cursor:pointer}
.stage-n{width:28px;height:28px;border-radius:50%;background:var(--bg-surface);border:1.5px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}
.stage.open .stage-n{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-bg)}
.stage.done .stage-n{background:var(--green-light);color:var(--green);border-color:var(--green)}
.stage-t{flex:1}
.stage-tick{display:none;color:var(--green);font-weight:900}
.stage.done .stage-tick{display:inline}
.stage-chev{color:var(--text-hint);transition:transform .15s}
.stage.open .stage-chev{transform:rotate(180deg)}
.stage-body{padding:4px 14px 12px;border-top:1px solid var(--border-light)}
.stage-body .row-end{margin-top:6px}

/* insurance rows (super) */
.ins-rows{display:flex;flex-direction:column;gap:8px}
.ins-head{display:none}
.ins-row{border:1px solid var(--border-light);border-radius:10px;padding:10px 12px 0;background:var(--bg-surface)}
.ins-label{margin-bottom:6px;display:flex;flex-direction:column}
.ins-label .hint{margin-top:0}
.ins-fields{grid-template-columns:1fr 1fr 1fr;gap:2px 10px}
@media (max-width:519px){.ins-fields{grid-template-columns:1fr 1fr}.ins-fields .field:nth-child(3){grid-column:1/-1}}
.alloc-wrap{margin-top:6px}
.alloc-total{font-size:14px;margin:4px 0 8px}
.alloc-total .ok{color:var(--green);font-weight:700;margin-left:8px}.alloc-total .err{margin-left:8px}
.alloc-preview{margin-top:4px}
.prop-bar{height:10px;border-radius:999px;background:var(--border-light);overflow:hidden;margin:6px 0}
.prop-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--purple),var(--blue));border-radius:999px}
.owners{margin-top:6px}
.net-profit{margin:0 0 10px}
.net-profit .rv{border-top:1px solid var(--border)}
.net-profit.neg b{color:var(--red)}
.exp-total{margin-top:8px}

/* read-only summary rows (income summary, cashflow, review) */
.rv.total{font-weight:800;border-top:2px solid var(--border);margin-top:4px}
.rv.total span{color:var(--text)}
.rv.total.big b{font-size:18px;color:var(--brand)}
.rv.sub{border-top:1px solid var(--border-light)}
.sum-card{margin-bottom:14px;padding:16px 18px}
.sum-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.sum-name{font-weight:800;font-size:17px;color:var(--brand)}
.sum-card.joint{background:var(--bg-surface)}
.sum-links{margin:4px 0 8px}
.cf-card{margin-bottom:14px;padding:16px 18px}
.cf-card h2{margin:0 0 10px}
.stack{display:flex;height:22px;border-radius:999px;overflow:hidden;background:var(--border-light);margin-bottom:8px}
.stack span{display:block;height:100%;min-width:2px}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--text-2);margin-bottom:10px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.c1{background:var(--brand)}.c2{background:var(--cyan)}.c3{background:var(--purple)}.c4{background:#5A6482}.c5{background:var(--blue)}.c6{background:var(--amber)}.c7{background:var(--green)}
:root[data-brand="whosays"] .c1{background:#0D1B3E}:root[data-brand="whosays"] .c2{background:var(--lime)}
.surplus .surplus-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:4px 0 10px}
@media (min-width:600px){.surplus .surplus-grid{grid-template-columns:repeat(4,1fr)}}
.surplus-grid div{background:var(--green-light);border-radius:10px;padding:12px;text-align:center;display:flex;flex-direction:column}
.surplus-grid b{font-size:20px;color:var(--green)}.surplus-grid span{font-size:12px;color:var(--text-2)}
.surplus.neg .surplus-grid div{background:var(--red-light)}.surplus.neg .surplus-grid b{color:var(--red)}

/* dashboard shell — left panel + content on desktop, top bar + drawer-style panel on mobile */
.view.dash{max-width:1280px;padding:0 0 32px}
body:has(.view.dash) .top-inner,body:has(.view.dash) .foot{max-width:1280px}
@media (min-width:900px){.view.dash{padding:24px 24px 48px}}
.dash-shell{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:900px){.dash-shell{grid-template-columns:280px minmax(0,1fr);gap:28px;align-items:start}}
.dash-topbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-card);border-bottom:1px solid var(--border)}
.dash-topbar-title{font-weight:800;font-size:15px;flex:1}
@media (min-width:900px){.dash-topbar{display:none}}
.dash-panel{display:none;background:var(--bg-card);border:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:18px 16px 20px;flex-direction:column;gap:14px;margin:0 16px}
.dash-panel.open{display:flex}
@media (min-width:900px){.dash-panel{display:flex;position:sticky;top:84px;margin:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}}
.dash-brand{display:none;background:var(--brand);border-radius:12px;padding:12px 14px;color:var(--on-brand)}
.dash-brand.light{background:transparent;padding:4px 0 10px;border-bottom:1px solid var(--border-light);border-radius:0}
.dash-brand img{height:26px;width:auto;display:block}.dash-brand.light img{height:34px}
@media (min-width:900px){.dash-brand{display:block}}
.dash-name{font-weight:800;font-size:17px;color:var(--brand)}
.dash-nav ul{list-style:none;display:flex;flex-direction:column;gap:2px}
.dash-nav a{display:flex;align-items:center;gap:10px;padding:10px 10px;border-radius:10px;text-decoration:none;font-weight:700;font-size:14px;color:var(--text-2);min-height:44px}
.dash-nav a{border:1.5px solid transparent}
.dash-nav a:hover,.dash-nav a:focus-visible{color:var(--text);background:rgba(1,203,240,.08);border-color:var(--cyan);box-shadow:0 0 0 3px rgba(1,203,240,.14);outline:none}
.dash-nav a.current,.dash-nav a.current:hover{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:none}
.dash-nav a.current.purple{background:var(--purple);border-color:var(--purple)}.dash-nav a.current.green{background:var(--green);border-color:var(--green)}
:root[data-brand="whosays"] .dash-nav a.current{background:var(--brand);border-color:var(--brand)}
.dash-nav .ico{width:24px;text-align:center;font-size:16px;opacity:.9}
.dash-team{border-top:1px solid var(--border-light);padding-top:12px;display:flex;flex-direction:column;gap:3px}
.dash-team-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--text-hint);margin-bottom:4px}
.dash-team-name{font-weight:800}
.dash-team-line{font-size:13px;font-weight:600;word-break:break-all;margin-top:4px}
.dash-panel .btn.wide{margin-top:4px}
.dash-content{padding:0 16px;min-width:0}
@media (min-width:900px){.dash-content{padding:0}}
.dash-content h2{margin:22px 0 10px}
.dash-content .card h2{margin:0 0 8px;font-size:15px}
.dash-content .row-between h2{margin:0}
.dash-content .rv-list{margin-top:4px}
.dash-content .btn.btn-add{max-width:320px;margin-top:16px}
/* next steps */
.next-steps{list-style:none;display:flex;flex-direction:column;gap:10px}
.ns{display:flex;gap:14px;margin:0;padding:14px 16px}
.ns-n{width:30px;height:30px;border-radius:50%;flex-shrink:0;background:var(--bg-surface);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
.ns-done .ns-n{background:var(--green-light);border-color:var(--green);color:var(--green)}
.ns-todo .ns-n{background:var(--primary-bg);border-color:var(--primary-bg);color:var(--primary-fg)}
.ns-wait .ns-n{background:var(--amber-light);border-color:var(--amber);color:var(--amber)}
.ns-soon{opacity:.75}
.ns-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.ns-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.ns .btn{align-self:flex-start;margin-top:4px}
.ns-items{padding-left:18px;font-size:13.5px}
.pill.done{background:var(--green-light);color:var(--green)}.pill.wait{background:var(--amber-light);color:var(--amber)}.pill.todo{background:var(--focus);color:var(--brand)}.pill.ok{background:var(--green-light);color:var(--green)}
.doc-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.doc-list li{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--border-light)}
.doc-list li:last-child{border-bottom:none;padding-bottom:0}
.doc-list a{font-weight:700}
.doc-list.compact{gap:4px}.doc-list.compact li{flex-direction:row;flex-wrap:wrap;gap:6px;padding:0;border:none;font-size:13.5px;align-items:baseline}
.glance{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:640px){.glance{grid-template-columns:repeat(3,1fr)}}
.glance-tile{margin:0;display:flex;flex-direction:column;gap:2px;padding:14px 16px}
.glance-tile b{font-size:22px;color:var(--brand)}
.glance-tile.neg b{color:var(--red)}
.topic-list{list-style:none;display:flex;flex-direction:column;gap:8px}
.topic{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-light);border-radius:10px;background:var(--bg-surface)}
.topic.done{opacity:.7}
.cf-wrap{margin-top:4px}
/* stat blocks (income summary net-income block, dashboard stat cards) */
.stat-block{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px;padding-top:14px;border-top:2px solid var(--border)}
@media (min-width:640px){.stat-block{grid-template-columns:3fr 2fr}}
.stat-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--text-hint)}
.stat-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}
.stat-row div{display:flex;flex-direction:column}.stat-row b{font-size:22px;color:var(--brand);line-height:1.1}.stat-row span{font-size:12px;color:var(--text-2)}
.stat-sub{font-size:13px;color:var(--text-2);margin-top:8px}.stat-sub b{color:var(--text)}
.stat-side{display:flex;flex-direction:column;gap:8px;background:var(--bg-surface);border-radius:10px;padding:10px 12px}
.stat-side div{display:flex;flex-direction:column}.stat-side span{font-size:11.5px;color:var(--text-2);font-weight:700}.stat-side b{font-size:16px}
.stat-card{padding:18px 20px}
.stat-big{font-size:34px;font-weight:800;color:var(--brand);line-height:1.1;margin:4px 0 10px}.stat-big span{font-size:14px;color:var(--text-2);font-weight:600}.stat-big.neg{color:var(--red)}
.stat-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-pair.three{grid-template-columns:repeat(3,1fr)}
.stat-pair div{background:var(--bg-surface);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column}.stat-pair span{font-size:12px;color:var(--text-2)}.stat-pair b{font-size:17px}
/* financial details + cashflow columns */
.fl-cols,.cf-cols{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:900px){.fl-cols,.cf-cols{grid-template-columns:1fr 1fr;gap:24px;align-items:start}}
.fl-col h2,.cf-col h2{margin-top:10px}
.fl-group{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px}
.fl-group h3,.cf-sec h3{font-size:14px;font-weight:800;margin:0}
.fl-group ul{list-style:none;margin-top:8px}
.fl-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--border-light);font-size:13.5px}
.fl-name{display:flex;flex-direction:column;min-width:0}.fl-row b{white-space:nowrap}
.fl-empty{padding:8px 0}
.fl-sub{display:flex;justify-content:space-between;font-size:13px;font-weight:700;padding-top:8px;margin-top:4px;border-top:2px solid var(--border);color:var(--text-2)}
.fl-total{display:flex;justify-content:space-between;font-weight:800;font-size:16px;padding:12px 14px;background:var(--bg-surface);border-radius:var(--radius)}
.fl-total b{color:var(--brand)}
.cf-sec{margin-bottom:10px;padding:12px 14px}.cf-sec h3{margin-bottom:4px}.cf-sec.total{background:var(--bg-surface)}
.cf-toggle .sum-toggle{margin:0 0 10px}
.sf-lines{padding-left:18px;font-size:14px;display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
#surplus-funding .ask{border-top:none;padding-top:8px;margin-bottom:0}
/* review */
.rv-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.rv-card{margin:0;padding:14px 16px}
.rv{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;padding:6px 0;border-top:1px solid var(--border-light)}
.rv:first-of-type{margin-top:8px}
.rv span{color:var(--text-2);flex:1}.rv b{text-align:right;flex-shrink:0;max-width:58%;overflow-wrap:break-word;white-space:nowrap}
.rv.sub b,.rv-card .rv b{white-space:normal}
.rv.sub{padding-left:14px;font-size:13px;border-top:none}

/* toast */
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--text);color:#fff;padding:12px 18px;border-radius:12px;font-size:14px;font-weight:600;box-shadow:var(--shadow);z-index:60;max-width:calc(100vw - 32px);text-align:center}

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

/* income summary: Joint / You / Partner toggle */
.sum-toggle{margin:0 0 16px}.sum-toggle button{min-height:46px;font-size:15px}.sum-split{margin-top:12px;padding-top:10px;border-top:1px dashed var(--border)}

/* ───────── v0.3 colour lift: every card gets a coloured top line (rotating brand colours), titles in navy ───────── */
.dash-content .card{border-top:4px solid var(--cyan)}
.dash-content .card:nth-of-type(6n+2){border-top-color:var(--purple)}.dash-content .card:nth-of-type(6n+3){border-top-color:var(--pink)}.dash-content .card:nth-of-type(6n+4){border-top-color:var(--lime)}.dash-content .card:nth-of-type(6n+5){border-top-color:var(--green)}.dash-content .card:nth-of-type(6n){border-top-color:var(--navy)}
.card.c-navy{border-top-color:var(--navy)!important}.card.c-cyan{border-top-color:var(--cyan)!important}.card.c-purple{border-top-color:var(--purple)!important}.card.c-pink{border-top-color:var(--pink)!important}.card.c-lime{border-top-color:var(--lime)!important}.card.c-green{border-top-color:var(--green)!important}
.dash-content h2{color:var(--navy);position:relative;padding-bottom:6px}
.dash-content h2::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--cyan),var(--pink))}
.dash-content .card h2::after{display:none}.dash-content .card h2{padding-bottom:0}
.dash-content h3{color:var(--navy);font-size:14px;font-weight:800;margin:0 0 6px}
.dash-content .stat-big{color:var(--navy)}.dash-content .stat-pair b{color:var(--purple)}.stat-pair.three div:nth-child(1) b{color:var(--navy)}.stat-pair.three div:nth-child(3) b{color:var(--green)}
.wiz-body .card.sum-card{border-top:4px solid var(--cyan)}.wiz-body .card.sum-card.joint{border-top-color:var(--purple)}.wiz-body .cf-card:nth-of-type(1){border-top:4px solid var(--navy)}.wiz-body .cf-card:nth-of-type(2){border-top:4px solid var(--pink)}.wiz-body .cf-card.surplus{border-top:4px solid var(--green)}
.stat-block .stat-row b{color:var(--navy)}.stat-side b{color:var(--purple)}
/* charts */
.chart{min-width:0}.chart-title{font-weight:800;font-size:14px;color:var(--navy);margin-bottom:8px}
.chart-row{display:grid;grid-template-columns:1fr;gap:14px;margin:14px 0 6px}
@media (min-width:760px){.chart-row{grid-template-columns:1fr 1fr}}
.chart-row .card{margin:0;padding:14px 16px}
.donut .chart-body{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.donut svg{flex-shrink:0;max-width:100%;height:auto}
.donut-centre{font-size:17px;font-weight:800;fill:var(--navy);font-family:inherit}.donut-label{font-size:10px;fill:#5A6482;font-family:inherit;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.chart-legend{list-style:none;display:flex;flex-direction:column;gap:5px;font-size:13px;flex:1;min-width:150px}
.chart-legend li{display:flex;align-items:center;gap:8px}.chart-legend i{width:11px;height:11px;border-radius:3px;flex-shrink:0}.chart-legend span{flex:1;color:var(--text-2)}.chart-legend b{white-space:nowrap}.chart-legend em{font-style:normal;color:var(--text-hint);font-size:11.5px;width:36px;text-align:right}
.stacked svg{width:100%;height:26px;display:block;margin-bottom:10px}
.hbar-rows{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.hbar-row{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;font-size:13px}
.hbar-row svg{width:100%;display:block}.hbar-label{color:var(--text-2);font-weight:600}.hbar-row b{white-space:nowrap}
.glance-tile .hbar-row{grid-template-columns:52px 1fr auto;font-size:12px}
/* collapsible groups */
.grp{background:var(--bg-card);border:1px solid var(--border);border-left:5px solid var(--grp,var(--cyan));border-radius:var(--radius);margin-bottom:10px;overflow:hidden}
.grp-head{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;min-height:50px;background:none;border:none;font-family:inherit;font-size:14px;font-weight:800;color:var(--navy);text-align:left;cursor:pointer}
.grp-head:hover{background:var(--bg-surface)}
.grp-chev{color:var(--text-hint);transition:transform .15s;font-size:16px}.grp.open .grp-chev{transform:rotate(180deg)}
.grp-title{flex:1;min-width:0}.grp-meta{font-size:12px;color:var(--text-hint);font-weight:600;white-space:nowrap}.grp-sub{white-space:nowrap;color:var(--grp,var(--navy))}
.grp-body{padding:4px 14px 12px;border-top:1px solid var(--border-light)}
.grp-body ul{list-style:none}
.grp-body .btn-add{margin-top:10px;min-height:42px;font-size:14px}
.fl-row.clickable{cursor:pointer;border-radius:8px;margin:0 -8px;padding:7px 8px}.fl-row.clickable:hover{background:rgba(1,203,240,.08)}
.fl-row.clickable:focus-visible{outline:3px solid var(--focus)}
/* modal */
.modal-back{position:fixed;inset:0;background:rgba(13,27,62,.5);z-index:70;display:flex;align-items:flex-end;justify-content:center;padding:0}
@media (min-width:700px){.modal-back{align-items:center;padding:24px}}
.modal{background:var(--bg-card);width:100%;max-width:760px;max-height:92vh;display:flex;flex-direction:column;border-radius:18px 18px 0 0;box-shadow:var(--shadow);border-top:5px solid var(--cyan)}
@media (min-width:700px){.modal{border-radius:var(--radius-lg)}}
.modal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border-light)}.modal-head strong{font-size:16px;color:var(--navy)}
.modal-body{padding:14px 18px 4px;overflow:auto;flex:1 1 auto;min-height:0;-webkit-overflow-scrolling:touch}
.modal-foot{flex:none}.modal-head{flex:none}
.modal .note{margin:12px 18px 0}
.modal .msg{margin:0 18px}
.modal-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px 16px;border-top:1px solid var(--border-light)}
.modal-foot .row{gap:8px}
.btn.danger{color:var(--red);border-color:var(--red-light)}
body.modal-open{overflow:hidden}
/* entities tab */
.ent-list{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}
.ent-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:8px}
@media (min-width:760px){.ent-grid{grid-template-columns:1fr 1fr}.ent-wide{grid-column:1/-1}}
.ent-grid .rv{font-size:13px}
/* next steps — colour stripe + icon + big pills */
.ns{border-left:5px solid var(--ns,var(--cyan));border-top:1px solid var(--border)!important;padding:14px 16px}
.ns-icon{width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--ns) 12%,white);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.ns .ns-head strong{color:var(--ns,var(--navy));font-size:16px}
.pill.big{font-size:12.5px;padding:6px 12px}
.ns-todo .pill.big{background:var(--ns);color:#fff}.ns-wait .pill.big,.ns-review .pill.big{background:var(--amber-light);color:var(--amber)}
.ns-review .ns-icon{background:var(--amber-light)}.note.aml-line.review{background:var(--amber-light);border-color:var(--amber)}.ns-done .pill.big{background:var(--green-light);color:var(--green)}
.ns .btn.primary{background:var(--ns);border-color:var(--ns)}
.ns-soon{opacity:.85}
.glance-tile{border-top:4px solid var(--cyan)}

/* ───────── v0.4: goals & roadmap, AML, post-submission ───────── */
.update-banner{margin:0 0 14px;background:rgba(131,0,233,.08);border-left-color:var(--purple)}
.update-banner a{display:inline;margin-left:4px;font-weight:700}
.note.nodelete,.note.delete-error{margin-top:10px}
.aml-line{margin-bottom:14px}
.goal-steps{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 14px}
.goal-steps span{font-size:11.5px;font-weight:700;padding:5px 10px;border-radius:999px;background:var(--bg-surface);color:var(--text-hint)}
.goal-steps span.current{background:var(--purple);color:#fff}.goal-steps span.done{background:var(--green-light);color:var(--green)}
.goals-body{background:var(--bg-card);border:1px solid var(--border);border-top:4px solid var(--purple);border-radius:var(--radius-lg);padding:18px 16px;box-shadow:var(--shadow-sm)}
.goal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:520px){.goal-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:900px){.goal-grid{grid-template-columns:repeat(4,1fr)}}
.goal-grid.small{grid-template-columns:repeat(3,1fr);gap:6px}
@media (min-width:900px){.goal-grid.small{grid-template-columns:repeat(6,1fr)}}
.goal-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 10px;border-radius:14px;border:2px solid var(--border);background:var(--bg-card);font-family:inherit;font-weight:800;font-size:13.5px;color:var(--text);cursor:pointer;transition:all .15s;min-height:120px}
.goal-tile img{width:64px;height:64px;object-fit:contain}
.goal-grid.small .goal-tile{min-height:0;padding:8px 6px;font-size:11.5px}.goal-grid.small .goal-tile img{width:36px;height:36px}
.goal-tile:hover,.goal-tile:focus-visible{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(1,203,240,.14);outline:none}
.goal-tile{box-sizing:border-box}
.goal-tile img{aspect-ratio:1/1;flex:none}
.goal-tile.on{border-color:var(--cat,var(--purple));background:color-mix(in srgb,var(--cat,var(--purple)) 8%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--cat,var(--purple)) 25%,white)}
.goal-tile.on:hover,.goal-tile.on:focus-visible{border-color:var(--cat,var(--purple))}
.goal-tile .tile-tick{position:absolute;top:6px;right:8px;width:22px;height:22px;aspect-ratio:1/1;flex:none;padding:0;line-height:1;box-sizing:border-box;border-radius:50%;background:var(--cat,var(--purple));color:#fff;font-size:12px;font-style:normal;display:none;align-items:center;justify-content:center}
.goal-tile.on .tile-tick{display:flex}
.goal-count{margin-top:10px;font-weight:700;color:var(--purple)}
.goal-cards{display:flex;flex-direction:column;gap:12px}
.goal-card{margin:0;border-top:4px solid var(--cat,var(--purple))}
.goal-card-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.goal-card-head img{width:40px;height:40px;object-fit:contain}.goal-card-head>div{flex:1}
.goal-add{margin-top:18px;padding-top:12px;border-top:1px dashed var(--border)}
.goal-rank{list-style:none;display:flex;flex-direction:column;gap:8px}
.goal-rank-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid var(--border);border-left:5px solid var(--cat,var(--purple));border-radius:12px;background:var(--bg-card);cursor:grab}
.goal-rank-item.dragging{opacity:.5}.goal-rank-item.over{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(1,203,240,.14)}
.goal-rank-item img{width:36px;height:36px;object-fit:contain}
.rank-n{width:26px;height:26px;border-radius:50%;background:var(--cat,var(--purple));color:#fff;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rank-main{flex:1;min-width:0;display:flex;flex-direction:column}.rank-btns{display:flex;flex-direction:column;gap:2px}.rank-btns .btn{min-height:28px;padding:2px 8px}
.rank-grip{color:var(--text-hint);font-size:16px;letter-spacing:-3px}
.roadmap{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:14px}
@media (min-width:760px){.roadmap{grid-template-columns:repeat(3,1fr)}}
.rm-lane{background:var(--bg-surface);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:120px}
.rm-lane-head{display:flex;flex-direction:column;padding:2px 4px 6px;border-bottom:2px solid var(--border)}
.rm-lane[data-lane="short"] .rm-lane-head{border-color:var(--cyan)}.rm-lane[data-lane="medium"] .rm-lane-head{border-color:var(--purple)}.rm-lane[data-lane="long"] .rm-lane-head{border-color:var(--navy)}
.rm-lane-head strong{color:var(--navy)}
.rm-card{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--cat,var(--purple));border-radius:10px;padding:8px 10px;font-size:13px}
.rm-card img{width:30px;height:30px;object-fit:contain}.rm-card>div{flex:1;min-width:0;display:flex;flex-direction:column}.rm-amt{font-weight:800;color:var(--cat,var(--purple))}
.rm-rank{font-size:11px;font-weight:800;color:var(--text-hint)}
.rm-empty{font-size:12.5px;color:var(--text-hint);padding:8px 4px}
.rm-unsure{font-size:13px;color:var(--text-2);margin-bottom:12px}
.focus-list{list-style:none;counter-reset:f;display:flex;flex-direction:column;gap:8px}
.focus-list li{counter-increment:f;display:flex;flex-direction:column;padding:8px 12px 8px 44px;position:relative;border-radius:10px;background:var(--bg-surface)}
.focus-list li::before{content:counter(f);position:absolute;left:10px;top:10px;width:26px;height:26px;border-radius:50%;background:var(--cat,var(--purple));color:#fff;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center}

/* v0.4.2 — one goal at a time, financial objectives, help strip */
.goal-progress{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.dots{display:flex;gap:6px}.dots i{width:10px;height:10px;aspect-ratio:1/1;border-radius:50%;background:var(--border);display:block}.dots i.on{background:var(--purple);transform:scale(1.25)}.dots i.done{background:var(--green)}
.goal-card-cat{font-weight:800;color:var(--cat,var(--purple))}
.stars{display:flex;gap:4px}.stars button{width:44px;height:44px;aspect-ratio:1/1;border-radius:10px;border:1.5px solid var(--border);background:var(--bg-card);font-size:22px;color:var(--border);cursor:pointer;font-family:inherit}
.stars button.on{color:#f5b301;border-color:#f5b301;background:#fff8e1}
.goal-add summary{cursor:pointer;font-weight:700;color:var(--link);padding:8px 0}
.goal-add .goal-grid{margin-top:10px}
.svc-h{margin:16px 0 8px}
.svc-list{display:flex;flex-direction:column;gap:8px}
.svc-card{border:1.5px solid var(--border);border-left:5px solid var(--svc,var(--cyan));border-radius:12px;background:var(--bg-card);overflow:hidden}
.svc-card.has{border-color:var(--svc,var(--cyan))}
.svc-head{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;background:none;border:none;font-family:inherit;text-align:left;cursor:pointer;min-height:56px}
.svc-icon{font-size:24px;width:36px;text-align:center;flex:none}
.svc-main{flex:1;display:flex;flex-direction:column;min-width:0}.svc-main strong{color:var(--navy);font-size:15px}
.svc-count{font-size:12px;font-weight:800;color:var(--svc,var(--cyan));white-space:nowrap}
.svc-card.open .stage-chev{transform:rotate(180deg)}
.svc-body{padding:4px 14px 12px;border-top:1px solid var(--border-light)}
.svc-lead{margin:6px 0 2px;font-weight:700}
.svc-actions{list-style:none}
.svc-actions li{padding:4px 0;border-bottom:1px solid var(--border-light)}.svc-actions li:last-child{border-bottom:none}
.svc-actions .tick{margin-top:0;min-height:40px;font-size:14px}
.svc-tf{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 0 8px 36px}
.seg.mini button{flex:0 1 auto;min-height:34px;padding:6px 12px;font-size:12.5px;border-width:1.5px}
.rank-h{margin:14px 0 8px}
.rank-ico{font-size:22px;width:36px;text-align:center;flex:none}
.help-strip h2{margin:0 0 10px}
.help-groups{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:760px){.help-groups{grid-template-columns:1fr 1fr}}
.help-group{border:1px solid var(--border);border-left:4px solid var(--svc,var(--cyan));border-radius:10px;padding:10px 12px;background:var(--bg-surface)}
.help-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.help-head strong{color:var(--navy)}
.help-group ul{list-style:none;display:flex;flex-direction:column;gap:4px}
.help-group li{display:flex;justify-content:space-between;gap:10px;font-size:13px}.help-group li b{white-space:nowrap;color:var(--svc,var(--cyan))}

.aml-name{margin:6px 0 8px;padding:10px 12px;border:1px dashed var(--border);border-radius:10px;background:var(--bg-surface)}
.aml-name .btn{margin-top:4px}
.ns .btn.big{min-height:54px;font-size:16px}

/* v0.4.5 — sectioned goal card, frequency, education table */
.goal-card .stages{margin-top:8px}
.goal-card .stage.open{border-color:var(--cat,var(--purple))}.goal-card .stage.open .stage-n{background:var(--cat,var(--purple));border-color:var(--cat,var(--purple))}
.ask.highlight .ask-q{color:var(--purple)}.ask.highlight .seg button{border-color:var(--purple)}
.cost-echo{font-weight:700;color:var(--purple);margin:-4px 0 8px}
.edu-picker .seg button[aria-pressed="true"]{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-bg)}
.edu-table{display:flex;flex-direction:column;gap:8px}
.edu-row{border:1px solid var(--border-light);border-radius:10px;padding:8px 12px;background:var(--bg-surface)}
.edu-row .ask{margin:0 0 6px;padding-top:4px;border-top:none}.edu-row .ask-q{font-size:14px;margin-bottom:6px}.edu-row .seg button{min-height:40px;font-size:14px;flex:0 1 120px}
.edu-fields{grid-template-columns:1fr 1fr 1fr;gap:2px 8px}
@media (max-width:519px){.edu-fields{grid-template-columns:1fr 1fr}}
.edu-also{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.rm-card.recurring{border-style:dashed}.rm-rec{color:var(--cat,var(--purple));font-weight:700}

/* ── v0.5.0: SMSF mini-wizard, gated super / portfolio editors, nudges ── */
.note.warn{background:#fff6e5;border-color:#C27A00}
.ask.mandatory>.ask-q::after{content:" *";color:var(--red)}
.seg.locked{pointer-events:none;opacity:.7}
.smsf-wiz .stages{margin-top:4px}
.smsf-net{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--border-light);border-radius:10px;background:var(--bg-surface)}
.shares .balances{margin-top:8px;display:flex;flex-direction:column;gap:4px}
.shares .balances .rv b{color:var(--green)}
.member-ins{margin-top:14px;padding-top:10px;border-top:1px solid var(--border-light)}
.member-ins h2{margin:0 0 6px}
.smsf-rows .item-card.readonly .t{font-weight:700}
.smsf-ro .rv{margin-top:10px}
.directors .hint{margin:-4px 0 8px}
.nav-badge{display:inline-block;min-width:20px;height:20px;line-height:20px;padding:0 6px;margin-left:8px;border-radius:10px;background:var(--purple,#8300e9);color:#fff;font-size:12px;font-weight:800;text-align:center}
.nudge-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.nudge{display:flex;gap:10px;padding:10px 12px;border:1px solid var(--border-light);border-left:4px solid var(--purple,#8300e9);border-radius:10px;background:var(--bg-surface)}
.nudges .pill{margin-left:8px}
.nudge-strip{display:flex;align-items:center;gap:12px;margin-top:12px;text-decoration:none;color:inherit}
.nudge-strip .ns-icon{font-size:22px}
.nudge-strip strong{display:block}
.nudge-strip .chev{margin-left:auto;font-size:22px;color:var(--text-hint)}
.dash-nav a.current .nav-badge{background:#fff;color:var(--purple,#8300e9)}
/* ── v0.5.1: ongoing badge, locked adviser actions, education level ── */
.pill.ongoing{background:var(--cyan,#01cbf0);color:#001f74;font-size:11px;padding:1px 8px;margin-left:6px;vertical-align:middle}
.svc-actions li.locked .tick{opacity:.75}
.ongoing-tick{padding:0 0 10px 36px;font-size:14px}.ongoing-tick input{margin-right:8px}
.edu-label .s{display:block;font-weight:400}
.ns-requested .pill.big{background:var(--amber-light);color:var(--amber)}.ns-requested .ns-icon{background:var(--amber-light)}.ns-requested .ns-n{background:var(--amber-light);border-color:var(--amber);color:var(--amber)}
.note.aml-line.requested{background:var(--amber-light);border-color:var(--amber)}
.card.c-coral{border-top-color:#ff7a45!important}
/* ── v0.5.2: goals tab toggle + grouped list, strategy, education tiles, personal info grid ── */
.view-toggle{display:flex;width:100%;margin:0 0 14px}.view-toggle button{flex:1 1 0;min-width:0;border-radius:12px}.view-toggle .count{display:inline-block;min-width:20px;padding:0 6px;margin-left:6px;border-radius:10px;background:rgba(0,0,0,.08);font-size:12px}.view-toggle button.on .count{background:rgba(255,255,255,.22)}
.goal-groups h3{margin:14px 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-hint)}
.goal-groups ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.goal-line{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 10px;border:1px solid var(--border-light);border-left:4px solid var(--cat,var(--purple));border-radius:10px;background:var(--bg-surface)}
.goal-line img{width:34px;height:34px;border-radius:8px;object-fit:cover;flex:0 0 auto}.goal-line-main{flex:1 1 auto;min-width:0}.goal-line-main strong,.goal-line-main .s{display:block;overflow-wrap:anywhere}.goal-line b{white-space:nowrap}
.strategy-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:700px){.strategy-grid{grid-template-columns:1fr 1fr}}.strategy h3{margin:12px 0 4px;font-size:14px}
.calc-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:8px}@media (min-width:700px){.calc-grid{grid-template-columns:1fr 1fr}}
.calc-tile{display:flex;align-items:center;gap:12px;min-width:0;padding:10px 12px;border:1px solid var(--border-light);border-radius:12px;background:var(--bg-surface);opacity:.9}.calc-tile .calc-icon{font-size:24px;flex:0 0 auto}.calc-tile>div{flex:1 1 auto;min-width:0}.calc-tile strong,.calc-tile .s{display:block;overflow-wrap:anywhere}.calc-tile .pill{flex:0 0 auto}
.pi-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px}@media (min-width:820px){.pi-grid.two{grid-template-columns:1fr 1fr}}
.pi-grid .card{margin:0;min-width:0}.pi-grid .rv{padding:4px 0;font-size:13px}.pi-grid .rv span{flex:0 0 42%;color:var(--text-hint)}.pi-grid .rv b{min-width:0;text-align:right;overflow-wrap:anywhere}
.pi-grid h2{font-size:15px}
/* ── v0.5.2 overflow fixes (from the Playwright overflow walk) ── */
.rv b{white-space:normal;min-width:0;overflow-wrap:anywhere;flex:0 1 auto}
.rv.total.big b,.smsf-net .rv b,.fl-total b,.net-profit .rv b{white-space:nowrap}
.pill.big{white-space:normal;max-width:100%;text-align:right}
.ns-head strong{min-width:0;overflow-wrap:anywhere}
.grp-head{flex-wrap:wrap;row-gap:2px}.grp-head .grp-title{flex:1 1 140px;overflow-wrap:anywhere}.grp-meta{white-space:normal}.grp-sub{white-space:normal;margin-left:auto}
.ent-grid>div{min-width:0}.ent-grid .rv span{min-width:0;overflow-wrap:anywhere}
.fl-row .fl-name{min-width:0;overflow-wrap:anywhere}.fl-row b{white-space:nowrap}
.dash-team-line,.dash-team-name,.dash-name{min-width:0;overflow-wrap:anywhere;display:block}
.item-card .item-main{min-width:0}.item-card .t,.item-card .s{overflow-wrap:anywhere}
.seg{flex-wrap:wrap}.seg button{min-width:0;overflow-wrap:anywhere}
.chart-legend li,.legend li{min-width:0;overflow-wrap:anywhere}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.pi-grid{align-items:start}
/* ── v0.6.0: ongoing toggle button, risk profile, pathway/booking, documents, dashboard path ── */
.ongoing-tick{padding:0 0 12px 36px}
.ongoing-btn{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border:2px solid var(--green);border-radius:12px;background:var(--green-light);color:var(--text);font-family:inherit;cursor:pointer;transition:all .15s}
.ongoing-btn .ob-check{flex:0 0 28px;width:28px;height:28px;border-radius:50%;border:2px solid var(--green);display:flex;align-items:center;justify-content:center;font-weight:900;color:#fff;background:#fff}
.ongoing-btn .ob-main{min-width:0;display:flex;flex-direction:column;gap:2px}.ongoing-btn strong{font-size:14.5px;color:var(--green)}.ongoing-btn .s{overflow-wrap:anywhere}
.ongoing-btn:hover{box-shadow:0 0 0 4px rgba(15,169,91,.18)}
.ongoing-btn.on{background:var(--green);color:#fff}.ongoing-btn.on strong,.ongoing-btn.on .s{color:#fff}.ongoing-btn.on .ob-check{background:#fff;color:var(--green)}
.ongoing-count{margin:-4px 0 10px;padding:10px 12px;border-radius:10px;background:var(--green-light);border-left:4px solid var(--green);font-size:13.5px}.ongoing-count.all{font-weight:700}
.mode-pick{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:700px){.mode-pick{grid-template-columns:1fr 1fr}}
.mode-tile{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;padding:16px;border:2px solid var(--border);border-radius:14px;background:var(--bg-card);font-family:inherit;cursor:pointer;min-width:0}.mode-tile:hover{border-color:var(--purple)}.mode-tile strong{font-size:18px;color:var(--navy)}.mode-tile p{margin:4px 0 8px;font-size:13.5px;color:var(--text-2)}.mode-tile .btn{pointer-events:none}
.risk-progress{margin-bottom:12px}.risk-progress .prog{height:8px;border-radius:99px;background:var(--bg-surface);overflow:hidden;margin-top:4px}.risk-progress .prog i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--purple));transition:width .2s}
.risk-dim{margin:18px 0 4px;font-size:16px}.risk-dim .s{font-weight:400}
.risk-rec{font-size:15px;margin:4px 0 12px}.risk-rec b{color:var(--purple)}
.gauges{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width:700px){.gauges{grid-template-columns:1fr 1fr 1fr}}
.gauge{border:1px solid var(--border-light);border-radius:12px;padding:12px 14px;background:var(--bg-surface);min-width:0}.gauge .g-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}.gauge .g-h b{font-size:13.5px;color:var(--navy)}.gauge .g-h span{font-size:12px;font-weight:800;color:var(--cyan)}
.gauge .g-bar{height:10px;border-radius:99px;background:var(--bg-card);border:1px solid var(--border-light);overflow:hidden}.gauge .g-bar i{display:block;height:100%;border-radius:99px;background:var(--purple)}.gauge.att .g-bar i{background:var(--pink)}.gauge.cap .g-bar i{background:var(--cyan)}.gauge.need .g-bar i{background:var(--green)}
.spectrum{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:14px 0 6px}.spec{text-align:center;padding:8px 2px;border-radius:8px;border:1px solid var(--border-light);font-size:11px;min-width:0}.spec b{display:block;font-size:11px;overflow-wrap:anywhere}.spec small{color:var(--text-hint)}.spec .tick-lbl{display:block;height:14px;font-size:10px;font-weight:800;color:var(--purple)}.spec.on{background:var(--purple);border-color:var(--purple);color:#fff}.spec.on small,.spec.on .tick-lbl{color:#fff}
.ns.ns-locked{opacity:.55}.ns.ns-locked .pill.big{background:var(--bg-surface);color:var(--text-hint)}
.ns.ns-collapsed{padding:10px 14px}.ns.ns-collapsed .ns-body{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.ns.ns-collapsed .ns-head{flex:1 1 auto}.ns.ns-collapsed .ns-icon{width:32px;height:32px;font-size:16px}
.ns-why{font-size:12.5px;color:var(--text-hint)}
.doc-req{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-light);border-radius:10px;background:var(--bg-surface);min-width:0}.doc-req .dr-main{flex:1 1 auto;min-width:0}.doc-req strong,.doc-req .s{display:block;overflow-wrap:anywhere}.doc-req.done{opacity:.8}.doc-req .dr-tick{flex:0 0 26px;width:26px;height:26px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:900}.doc-req.done .dr-tick{background:var(--green);border-color:var(--green);color:#fff}
.doc-list-items{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.doc-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border-light);border-radius:10px;background:var(--bg-surface);min-width:0}.doc-item .di-main{flex:1 1 auto;min-width:0}.doc-item strong,.doc-item .s{display:block;overflow-wrap:anywhere}.doc-item .di-ico{flex:0 0 auto;font-size:20px}
.doc-crumbs{font-size:13px;color:var(--text-hint);margin-bottom:8px}.doc-crumbs a{cursor:pointer}
/* ── v0.6.2: one question per screen + illustrations; completed section; landing art ── */
.risk-art-wrap{display:flex;justify-content:center;margin:-4px 0 10px}.risk-art{width:100%;max-width:360px;max-height:180px;height:auto;display:block}
.risk-q .ask{margin-top:4px}.risk-q .ask-q{font-size:17px}
.done-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.done-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border-light);border-radius:10px;background:var(--bg-surface);min-width:0}
.done-row .dt{flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--green);color:#fff;font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:center}
.done-row strong{flex:0 1 auto;min-width:0;overflow-wrap:anywhere}.done-row .s{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.done-row .btn{flex:0 0 auto}
.all-set{text-align:center;padding:28px 18px}.all-set .big-ico{font-size:40px;margin-bottom:6px}.all-set h2{margin:0 0 6px}.all-set p{margin:0 0 14px;color:var(--text-2)}
/* ── v0.6.4: completed identity/risk line under each person; basics shares ── */
.pi-col{min-width:0;display:flex;flex-direction:column;gap:8px}.pi-col .card{margin:0}
.pi-done{font-size:12.5px;color:var(--text-2);padding:2px 4px;overflow-wrap:anywhere}.pi-done .done b{font-weight:700;color:var(--text)}
.aml-line.done,.risk-line.done{display:inline}
/* ── v0.7.0: ASX search, smaller buttons, notifications, HECS ── */
.asx-input{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.asx-input input{flex:1 1 220px;min-width:0}
.asx-results{list-style:none;margin:4px 0 0;padding:4px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);max-height:220px;overflow:auto;box-shadow:0 8px 24px rgba(0,31,116,.12)}
.asx-results li{padding:8px 10px;border-radius:8px;cursor:pointer;display:flex;gap:10px;align-items:baseline;min-width:0}.asx-results li:hover{background:var(--bg-surface)}.asx-results li b{flex:0 0 56px;color:var(--navy)}.asx-results li span{min-width:0;overflow-wrap:anywhere;font-size:13px;color:var(--text-2)}.asx-results li.none{color:var(--text-hint);cursor:default}
.asx-status.ok{color:var(--green)}
.fl-refresh{padding:6px 12px 2px}.fl-refresh .link{background:none;border:none;padding:0;font:inherit;color:var(--navy);font-weight:700;text-decoration:underline;cursor:pointer}
.btn{padding:9px 14px;min-height:44px;font-size:14px}.btn.big{padding:10px 16px;font-size:14.5px;min-height:44px}
.wiz-nav .btn{padding:10px 16px;font-size:14.5px}
.seg button{min-height:44px;padding:9px 12px;font-size:14px}.ask.yesno .seg button{flex:1 1 110px;max-width:190px}
.mode-tile strong{font-size:16px}
.bell{display:inline-flex;align-items:center;gap:4px;margin-right:8px;color:#fff;font-weight:800;font-size:13px;text-decoration:none}.bell .n{display:inline-block;min-width:18px;height:18px;line-height:18px;padding:0 5px;border-radius:9px;background:var(--pink,#ff2d7a);color:#fff;font-size:11px;text-align:center}
.notify-strip{margin-bottom:14px}.notify-strip h2{margin:0 0 8px;font-size:16px}
.notify-item{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border-light);border-left:4px solid var(--pink,#ff2d7a);border-radius:10px;background:var(--bg-surface);min-width:0;margin-bottom:8px}.notify-item .nt-main{flex:1 1 auto;min-width:0}.notify-item strong,.notify-item .s{display:block;overflow-wrap:anywhere}.notify-item .btn{flex:0 0 auto}
.pill.requested-by{background:var(--pink,#ff2d7a);color:#fff;font-size:11px;margin-left:6px}
/* ── v0.7.1: inline SVG icon set replaces emoji ── */
.ico-svg{display:inline-block;vertical-align:middle;flex:0 0 auto}
.dash-nav .ico{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:8px}
.ns-icon{display:flex;align-items:center;justify-content:center}.ns-icon .ico-svg{width:28px;height:28px}
.done-row .dt{background:none;color:var(--green)}.done-row .dr-ico{display:inline-flex;color:var(--text-2);flex:0 0 auto}
.h1-ico{display:inline-flex;vertical-align:-4px;color:var(--purple)}
.all-set .big-ico{display:flex;justify-content:center;color:var(--pink)}
.svc-icon,.rank-ico,.help-head>span:first-child,.calc-icon,.di-ico,.dr-tick,.ob-check{display:inline-flex;align-items:center;justify-content:center}
.stage.done .stage-tick{display:inline-flex;align-items:center}
.dr-tick .ico-svg,.stage-tick .ico-svg,.ob-check .ico-svg{color:var(--green)}.doc-req.done .dr-tick{background:none;border:none}
.tile-tick{background:none!important;border:none!important}.tile-tick .ico-svg{color:var(--green)}
.step-list .n .ico-svg{color:var(--green)}.stage-tick{color:var(--green)}
.bell .ico-svg{color:#fff}.aml-line .ico-svg,.risk-line .ico-svg{vertical-align:-3px;margin-right:2px}
.dash-team-line .ico-svg{margin-right:4px;vertical-align:-3px}
.ask.yesno .seg button{flex:1 1 110px;max-width:190px}
/* ── v0.7.2: filled duotone marks ── */
.ns-icon{width:52px;height:52px;border-radius:14px}.ns-icon .ico-svg{width:40px;height:40px}
.done-row .dr-ico .ico-svg{width:32px;height:32px}.done-row .dt .ico-svg{width:20px;height:20px}
.calc-tile .calc-icon .ico-svg,.di-ico .ico-svg,.svc-icon .ico-svg{width:32px;height:32px}
.dash-nav a.current .ico-svg{color:#fff}.dash-nav .ico-svg{color:var(--navy)}
.ico-svg.big{overflow:visible}
