.sbar{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0.7rem 1.25rem;margin-bottom:0.75rem;}
.sbar h2{font-size:0.9rem;font-weight:700;}
.sbar-right{display:flex;align-items:center;gap:0.85rem;}
.stotal{font-family:Inter,sans-serif;font-size:0.9rem;font-weight:500;color:var(--accent);}
.btn{padding:0.52rem 1.1rem;border-radius:8px;font-family:'Syne',sans-serif;font-size:0.77rem;font-weight:600;cursor:pointer;border:none;transition:all 0.15s;}
.btn-p{background:var(--accent);color:#fff;}.btn-p:hover{background:#009066;}
.btn-s{background:var(--surface2);color:var(--text2);border:1px solid var(--border);}.btn-s:hover{background:var(--border);}
.btn-d{background:rgba(229,57,53,0.08);color:var(--red);border:1px solid rgba(229,57,53,0.25);margin-right:auto;}.btn-d:hover{background:rgba(229,57,53,0.15);}
.ib{width:26px;height:26px;border:1px solid var(--border);background:var(--surface2);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:0.7rem;transition:all 0.15s;color:var(--text2);flex-shrink:0;}
.ib:hover{background:var(--border);}
.ib.d:hover{background:rgba(229,57,53,0.1);border-color:rgba(229,57,53,0.35);color:var(--red);}
.collapse-btn{width:26px;height:26px;border:1px solid var(--border);background:var(--surface2);border-radius:6px;cursor:pointer;font-size:0.65rem;transition:all 0.15s;color:var(--text3);flex-shrink:0;font-family:Inter,sans-serif;display:inline-flex;align-items:center;justify-content:center;}.collapse-btn:hover{background:var(--border);}
.btn-add{font-family:Inter,sans-serif;font-size:0.67rem;color:var(--text3);background:transparent;border:none;cursor:pointer;transition:color 0.15s;}
.btn-add:hover{color:var(--accent);}
.add-row{padding:0.5rem 0.9rem;display:flex;gap:1rem;border-top:1px dashed var(--border);}
.badge{display:inline-block;font-family:Inter,sans-serif;font-size:0.56rem;padding:0.09rem 0.38rem;border-radius:20px;letter-spacing:0.04em;white-space:nowrap;}
.badge.clickable{cursor:pointer;}.badge.clickable:hover{filter:brightness(1.1);}
.bg{background:rgba(0,163,114,0.12);color:var(--green);}
.by{background:rgba(217,119,6,0.12);color:var(--yellow);}
.br{background:rgba(229,57,53,0.12);color:var(--red);}
.bb{background:rgba(59,107,232,0.12);color:var(--blue);}
.bp{background:rgba(124,58,237,0.12);color:var(--purple);}
.bgr{background:rgba(136,136,170,0.12);color:var(--text3);}
.type-sel{font-family:Inter,sans-serif;font-size:0.56rem;border:1px solid var(--border);border-radius:20px;padding:0.09rem 0.35rem;background:var(--surface2);color:var(--text3);cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;}
.type-sel:focus{border-color:var(--accent);}
/* Account type bottom-sheet button (mobile only) */
.ea-type-btn{display:none;text-align:left;cursor:pointer;font-family:Inter,sans-serif;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:0.52rem 2rem 0.52rem 0.72rem;position:relative;}
.ea-type-btn::after{content:'▾';position:absolute;right:0.65rem;top:50%;transform:translateY(-50%);color:var(--text3);font-size:0.75rem;pointer-events:none;}
.ea-type-btn:focus{border-color:var(--accent);outline:none;}
/* Milestone category bottom-sheet button (mobile only) */
.ms-cat-btn{display:none;text-align:left;cursor:pointer;font-family:Inter,sans-serif;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:0.52rem 2rem 0.52rem 0.72rem;position:relative;}
.ms-cat-btn::after{content:'▾';position:absolute;right:0.65rem;top:50%;transform:translateY(-50%);color:var(--text3);font-size:0.75rem;pointer-events:none;}
.ms-cat-btn:focus{border-color:var(--accent);outline:none;}
/* Calculator type bottom-sheet button (mobile only) */
.ci-type-btn{display:none;text-align:left;cursor:pointer;font-family:Inter,sans-serif;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:0.52rem 2rem 0.52rem 0.72rem;position:relative;}
.ci-type-btn::after{content:'▾';position:absolute;right:0.65rem;top:50%;transform:translateY(-50%);color:var(--text3);font-size:0.75rem;pointer-events:none;}
.ci-type-btn:focus{border-color:var(--accent);outline:none;}
/* Region / currency bottom-sheet buttons (mobile only) */
.stg-region-btn{display:none;text-align:left;cursor:pointer;position:relative;padding-right:2rem;}
.stg-region-btn::after{content:'▾';position:absolute;right:0.55rem;top:50%;transform:translateY(-50%);color:var(--text3);font-size:0.75rem;pointer-events:none;}
.stg-currency-btn{display:none;text-align:left;cursor:pointer;position:relative;padding-right:2rem;}
.stg-currency-btn::after{content:'▾';position:absolute;right:0.55rem;top:50%;transform:translateY(-50%);color:var(--text3);font-size:0.75rem;pointer-events:none;}
.stg-nw-mode-btn{display:none;text-align:left;cursor:pointer;position:relative;padding-right:2rem;}
.stg-nw-mode-btn::after{content:'▾';position:absolute;right:0.55rem;top:50%;transform:translateY(-50%);color:var(--text3);font-size:0.75rem;pointer-events:none;}
#m-acc-type,#m-acc-status,#m-ef-mode,#m-ms-cat,#m-calc-type,#m-region-sel,#m-currency-sel,#m-nw-mode-sel{z-index:400;}
/* Onboarding currency bottom sheet — must sit above the onboarding overlay */
#m-ob-currency{z-index:10000;}
.ob-curr-btn{display:none;width:100%;text-align:left;cursor:pointer;font-family:Inter,sans-serif;font-size:0.82rem;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:0.52rem 2rem 0.52rem 0.72rem;position:relative;margin-bottom:0.8rem;}
.ob-curr-btn::after{content:'▾';position:absolute;right:0.65rem;top:50%;transform:translateY(-50%);color:var(--text3);font-size:0.75rem;pointer-events:none;}
/* Dashboard manager: tax year navigation row */
.dm-tax-year-row{display:flex;gap:0.4rem;margin-top:0.5rem;}
.dm-tax-yr-btn{flex:1;padding:0.42rem 0.25rem;font-size:0.68rem;font-weight:600;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text);cursor:pointer;text-align:center;font-family:Inter,sans-serif;transition:border-color 0.15s;}
.dm-tax-yr-btn:not(:disabled):hover{border-color:var(--accent);}
.dm-tax-yr-btn:disabled{background:var(--surface);color:var(--text3);cursor:default;border-style:dashed;pointer-events:none;}
.dm-tax-yr-btn-next{border-color:rgba(0,163,114,0.35);}
/* Account type picker list */
.acc-type-list{display:flex;flex-direction:column;margin:0 -1.5rem;}
.acc-type-opt{width:100%;padding:0.78rem 1.5rem;border:none;border-bottom:0.5px solid var(--border);background:transparent;color:var(--text);font-family:Inter,sans-serif;font-size:0.84rem;text-align:left;cursor:pointer;transition:background 0.12s;}
.acc-type-opt:last-child{border-bottom:none;}
.acc-type-opt:hover{background:var(--surface2);}
.acc-type-opt.acc-type-opt-sel{color:var(--accent);font-weight:600;}
.acc-type-opt-empty{color:var(--text3);font-style:italic;}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:300;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.18s;}
#m-confirm,#m-alert{z-index:350;}
.overlay.open{opacity:1;pointer-events:all;}
.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem;width:min(500px,94vw);max-height:85vh;overflow-y:auto;transform:scale(0.96) translateY(6px);transition:transform 0.18s;}
.modal::-webkit-scrollbar{width:5px;}
.modal::-webkit-scrollbar-track{background:transparent;margin:16px 0;}
.modal::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}
.modal::-webkit-scrollbar-thumb:hover{background:var(--text3);}
.overlay.open .modal{transform:scale(1) translateY(0);}
.modal-title{font-size:0.94rem;font-weight:700;margin-bottom:1.2rem;}
.ml{font-family:Inter,sans-serif;font-size:0.61rem;color:var(--text3);margin-bottom:0.28rem;display:block;letter-spacing:0.06em;}
.mi{width:100%;padding:0.52rem 0.72rem;border:1px solid var(--border);border-radius:8px;background:var(--surface2);font-family:Inter,sans-serif;font-size:0.82rem;color:var(--text);outline:none;margin-bottom:0.8rem;}
.mi:focus{border-color:var(--accent);}
textarea.mi-ta{resize:vertical;min-height:52px;line-height:1.5;}
.modal-acts{display:flex;gap:0.5rem;justify-content:flex-end;margin-top:0.2rem;}
.ea-bal-box{background:rgba(0,163,114,0.05);border:1px solid rgba(0,163,114,0.18);border-radius:12px;padding:1rem 1.1rem;margin-bottom:0.75rem;}
.ea-quick-btn{font-family:Inter,sans-serif;font-size:0.62rem;padding:0.28rem 0.7rem;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text2);cursor:pointer;transition:all 0.15s;white-space:nowrap;}.ea-quick-btn:hover{border-color:var(--accent);color:var(--accent);background:rgba(0,163,114,0.06);}
.ea-tabs{display:flex;gap:3px;margin-bottom:0.85rem;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:4px;}
.ea-tab{flex:1;padding:0.4rem 0.5rem;border:none;background:transparent;color:var(--text3);font-family:'Syne',sans-serif;font-size:0.72rem;font-weight:600;border-radius:7px;cursor:pointer;transition:all 0.2s;}
.ea-tab:hover{background:var(--surface);color:var(--text2);}
.ea-tab.active{background:var(--text);color:#fff;}
.ea-tab-panel{display:none;min-height:180px;}.ea-tab-panel.active{display:block;}
.ea-section{border:1px solid var(--border);border-radius:8px;margin-bottom:0.5rem;overflow:hidden;}
.ea-sec-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:0.5rem 0.75rem;background:var(--surface2);border:none;cursor:pointer;font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text2);font-weight:600;letter-spacing:0.04em;transition:background 0.15s;text-align:left;}
.ea-sec-btn:hover{background:var(--border);}
.ea-sec-arrow{transition:transform 0.2s;font-size:0.8rem;color:var(--text3);margin-left:0.3rem;flex-shrink:0;}
.ea-sec-arrow.open{transform:rotate(90deg);}
.ea-sec-body{padding:0.7rem 0.8rem;border-top:1px solid var(--border);display:none;}
.ea-sec-body.open{display:block;}
.ea-sec-body#ea-body-settings{padding-bottom:1rem;}
.ea-rate-preview{font-family:Inter,sans-serif;font-size:0.75rem;min-height:1.3em;padding:0.3rem 0;}
.ea-tag-group-lbl{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text3);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:0.35rem;}
.ea-close-btn{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text3);background:none;border:none;cursor:pointer;padding:0;transition:color 0.15s;}.ea-close-btn:hover{color:var(--text);}
.settings-cog{width:36px;height:36px;border:1px solid var(--border);background:var(--surface);border-radius:7px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;transition:background 0.2s,border-color 0.2s;color:var(--text2);flex-shrink:0;overflow:hidden;}
.settings-cog:hover{background:var(--surface2);border-color:var(--accent);}
.settings-cog-icon{display:inline-block;line-height:1;transition:transform 0.35s cubic-bezier(0.34,1.56,0.64,1);}
.settings-cog:hover .settings-cog-icon{transform:rotate(90deg);}
.stg-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:1.1rem;}
.stg-tab{font-family:Inter,sans-serif;font-size:0.62rem;padding:0.45rem 0.9rem;border:none;background:none;cursor:pointer;color:var(--text3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 0.15s;font-weight:600;letter-spacing:0.04em;}
.stg-tab:hover{color:var(--text2);}
.stg-tab.active{color:var(--accent);border-bottom-color:var(--accent);}
.stg-panel{display:none;}.stg-panel.active{display:block;}
.stg-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0.62rem 0;}
.stg-lbl{font-size:0.72rem;font-weight:600;line-height:1.3;}
.stg-mobile-section-hdr{display:none;font-size:0.65rem;font-weight:700;color:var(--text);letter-spacing:0.09em;text-transform:uppercase;padding:0.5rem 0 0.75rem;border-bottom:2px solid var(--accent);margin-bottom:0.5rem;}
.stg-sub{font-family:Inter,sans-serif;font-size:0.56rem;color:var(--text3);margin-top:0.1rem;line-height:1.4;}
.stg-toggle{position:relative;width:38px;height:21px;flex-shrink:0;}
.stg-toggle input{opacity:0;width:0;height:0;position:absolute;}
.stg-slider{position:absolute;inset:0;background:var(--border);border-radius:20px;cursor:pointer;transition:background 0.2s;}
.stg-slider::before{content:'';position:absolute;width:15px;height:15px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform 0.2s;box-shadow:0 1px 3px rgba(0,0,0,0.25);}
.stg-toggle input:checked+.stg-slider{background:var(--accent);}
.stg-toggle input:checked+.stg-slider::before{transform:translateX(17px);}
.stg-sel{font-family:Inter,sans-serif;font-size:0.72rem;border:1px solid var(--border);border-radius:7px;padding:0.3rem 0.55rem;background:var(--surface2);color:var(--text);outline:none;cursor:pointer;}
.stg-sel:focus{border-color:var(--accent);}
.stg-btn-group{display:inline-flex;border:1px solid var(--border);border-radius:7px;overflow:hidden;}
.stg-row-mbn{flex-direction:column;align-items:flex-start;gap:0.55rem;}
.stg-btn-opt{font-family:Inter,sans-serif;font-size:0.68rem;font-weight:500;padding:0.3rem 0.6rem;background:var(--surface2);color:var(--text3);border:none;border-right:1px solid var(--border);cursor:pointer;transition:background 0.15s,color 0.15s;white-space:nowrap;}
#stg-inactivity-timeout{flex-shrink:0;}
#stg-inactivity-timeout .stg-btn-opt{font-size:0.58rem;padding:0.25rem 0.45rem;}
#stg-theme-btns{flex-shrink:0;}
#stg-theme-btns .stg-btn-opt{padding:0.3rem 0.45rem;}
.stg-btn-opt:last-child{border-right:none;}
.stg-btn-opt:hover{background:var(--border);color:var(--text);}
.stg-btn-opt.active{background:var(--accent);color:#fff;}
.stg-sec-head{font-family:Inter,sans-serif;font-size:0.56rem;color:var(--text3);letter-spacing:0.09em;text-transform:uppercase;padding:0.8rem 0 0.3rem;margin-top:0.3rem;}
.stg-sec-head:first-child{padding-top:0;margin-top:0;}
.stg-act-btn{font-family:Inter,sans-serif;font-size:0.67rem;padding:0.38rem 0.8rem;border-radius:7px;cursor:pointer;transition:all 0.15s;white-space:nowrap;flex-shrink:0;}
.stg-act-btn.normal{border:1px solid var(--border);background:var(--surface2);color:var(--text2);}.stg-act-btn.normal:hover{background:var(--border);}
.stg-act-btn.danger{border:1px solid rgba(229,57,53,0.3);background:rgba(229,57,53,0.06);color:var(--red);}.stg-act-btn.danger:hover{background:rgba(229,57,53,0.14);}
.nav-modal-btn{display:block;width:100%;text-align:left;padding:0.72rem 1rem;border:none;background:transparent;font-family:'Syne',sans-serif;font-size:0.85rem;font-weight:600;color:var(--text2);border-radius:8px;cursor:pointer;transition:all 0.15s;}
.nav-modal-btn:hover{background:var(--surface2);color:var(--text);}
.nav-modal-btn.active{background:var(--text);color:#fff;}
.dash-mgr-hdr{display:grid;grid-template-columns:1fr 90px 64px 32px;gap:0.6rem;padding:0.3rem 0;border-bottom:1px solid var(--border);margin-bottom:0.1rem;}
.dash-mgr-hdr-cell{font-family:Inter,sans-serif;font-size:0.52rem;color:var(--text3);letter-spacing:0.06em;text-transform:uppercase;}
.dash-mgr-row{display:grid;grid-template-columns:1fr 90px 64px 32px;align-items:center;gap:0.6rem;padding:0.55rem 0;border-bottom:0.5px solid var(--border);}
.dash-mgr-row:last-child{border-bottom:none;}
.dash-mgr-name{font-size:0.82rem;font-weight:600;outline:none;border-bottom:1px solid transparent;cursor:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dash-mgr-name:hover{border-bottom-color:var(--border);}
.dash-mgr-name:focus{border-bottom-color:var(--accent);}
.dash-mgr-nw{font-family:Inter,sans-serif;font-size:0.75rem;font-weight:600;color:var(--text);}
.dash-mgr-active{font-family:Inter,sans-serif;font-size:0.54rem;color:var(--accent);background:rgba(0,163,114,0.1);padding:0.1rem 0.45rem;border-radius:20px;white-space:nowrap;}
.dash-mgr-inactive{font-family:Inter,sans-serif;font-size:0.54rem;color:var(--text3);padding:0.1rem 0.45rem;}
.dash-mgr-acts{display:flex;justify-content:center;}
[data-tip]{position:relative;cursor:help;}
[data-tip]::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);background:var(--text);color:#fff;font-family:Inter,sans-serif;font-size:0.58rem;padding:4px 8px;border-radius:5px;white-space:normal;max-width:240px;width:max-content;opacity:0;pointer-events:none;transition:opacity 0.15s;z-index:500;}
[data-tip]:hover::after{opacity:1;}
.isa-ctrl-btn{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text3);background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:0.2rem 0.5rem;cursor:pointer;transition:all 0.15s;white-space:nowrap;}
.isa-ctrl-btn:hover{background:var(--border);color:var(--text2);}
.isa-ctrl-btn.accent{color:var(--accent);border-color:rgba(0,163,114,0.3);}.isa-ctrl-btn.accent:hover{background:rgba(0,163,114,0.08);}
body.no-inline-edit .acc-name{cursor:default!important;pointer-events:none!important;border-bottom-color:transparent!important;}
body.no-inline-edit .acc-notes{cursor:default!important;pointer-events:none!important;border-bottom-color:transparent!important;}
/* Generic modal header (title + close button) */
.modal-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem;}
.modal-hdr .modal-title{margin-bottom:0;}
.modal-body{padding:0;}
.modal-scroll{overflow-y:auto;}

/* Settings sidebar layout */
.stg-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;}
.stg-hdr-btns{display:flex;gap:6px;align-items:center;}
.stg-glossary-btn{width:auto!important;padding:0 8px!important;font-family:Inter,sans-serif;font-size:0.62rem!important;font-weight:600;letter-spacing:0.02em;}
.stg-layout{display:flex;margin:0 -1.5rem;border-top:1px solid var(--border);overflow:hidden;border-radius:0 0 15px 15px;min-height:300px;}
.stg-sidebar{width:135px;flex-shrink:0;border-right:1px solid var(--border);padding:0.75rem 0.5rem;display:flex;flex-direction:column;justify-content:space-between;background:var(--surface2);}
.stg-sidebar-nav{display:flex;flex-direction:column;gap:2px;}
.stg-sidebar .stg-tab{display:block;width:100%;text-align:left;border-radius:7px;border-bottom:none!important;margin-bottom:0;padding:0.48rem 0.7rem;font-size:0.74rem;color:var(--text2);white-space:nowrap;min-height:2rem;box-sizing:border-box;}
.stg-sidebar .stg-tab:hover{background:var(--border);color:var(--text);border-bottom-color:transparent!important;}
.stg-sidebar .stg-tab.active{background:var(--surface);color:var(--text);font-weight:600;border-bottom-color:transparent!important;box-shadow:0 1px 3px rgba(0,0,0,0.06);}
.stg-sidebar-footer{font-family:Inter,sans-serif;font-size:0.55rem;color:var(--text3);padding:0.5rem 0.7rem 0;display:flex;align-items:center;gap:0.25rem;}
.stg-content{flex:1;padding:0.85rem 1.1rem;overflow-y:auto;min-height:520px;max-height:520px;}
.stg-dual-btns{display:flex;gap:0.35rem;flex-shrink:0;}
.stg-dual-btns .stg-act-btn{padding:0.38rem 0.55rem;}
.stg-content .stg-sec-head:first-child{border-top:none;padding-top:0;margin-top:0;}
/* Bulk update account tree */
.bulk-tree{padding:0.2rem 0 0.4rem;}
.bulk-node-hd{display:flex;align-items:center;gap:0.45rem;padding:0.3rem 0.4rem;cursor:pointer;border-radius:6px;user-select:none;}
.bulk-node-hd:hover{background:var(--border);}
.bulk-arr{font-size:0.72rem;color:var(--text3);transition:transform 0.15s;flex-shrink:0;display:inline-block;}
.bulk-arr.open{transform:rotate(90deg);}
.bulk-node-lbl{font-family:Inter,sans-serif;font-size:0.72rem;font-weight:600;flex:1;color:var(--text);}
.bulk-chk-label{flex-shrink:0;display:flex;align-items:center;cursor:pointer;}
.bulk-chk-label input{accent-color:var(--accent);width:14px;height:14px;cursor:pointer;}
.bulk-node-body{padding-left:1.1rem;}
.bulk-node-body .bulk-node-lbl{font-size:0.69rem;font-weight:500;}
.bulk-acc-row{display:flex;align-items:center;gap:0.45rem;padding:0.22rem 0.4rem;cursor:pointer;border-radius:5px;font-family:Inter,sans-serif;font-size:0.65rem;color:var(--text2);}
.bulk-acc-row:hover{background:var(--border);}
.bulk-acc-row input{accent-color:var(--accent);width:13px;height:13px;cursor:pointer;flex-shrink:0;}

/* ── Session 7: static inline styles → CSS classes ─────────────────────── */

/* Header */
.hdr-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:0.3rem;}
#hdr-date{color:var(--text2);}

/* Onboarding */
#m-onboard{z-index:9999;}
.modal-onboard{width:min(440px,94vw);}
#ob-region-btns{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;margin-bottom:1rem;}
#ob-multi-sel{margin-top:0.5rem;}
#ob-extra-regions{display:flex;flex-wrap:wrap;gap:0.4rem;}
.ob-welcome{text-align:center;margin-bottom:1.25rem;}
.ob-welcome-title{font-size:1.5rem;font-weight:800;font-family:Inter,sans-serif;color:var(--text);}
.ob-welcome-sub{font-family:Inter,sans-serif;font-size:0.65rem;color:var(--text3);margin-top:0.3rem;}
.ob-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.85rem;}
.ob-step-dots{display:flex;gap:5px;align-items:center;}
.ob-p{font-family:Inter,sans-serif;font-size:0.78rem;color:var(--text2);line-height:1.7;margin-bottom:1rem;}
.ob-footer{display:flex;justify-content:flex-end;padding-top:1rem;}
.stg-row-mt{margin-top:0.75rem;}
/* ETF add form — row layout */
.mi-mb0{margin-bottom:0!important;}
.etf-add-row{display:flex;gap:8px;margin-bottom:0.8rem;align-items:flex-end;}
.etf-add-f-type{flex:0 0 90px;min-width:0;}
.etf-add-f-ticker{flex:0 1 78px;min-width:0;}
.etf-add-f-small{flex:0 1 60px;min-width:0;}
/* ETF add form — % and currency overlays */
.etf-add-pct-wrap{position:relative;}
.etf-add-pct{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-family:Inter,sans-serif;font-size:0.65rem;color:var(--text3);pointer-events:none;}
.etf-add-pct-inp{padding-right:22px!important;}
.etf-add-cur-wrap{position:relative;}
.etf-add-cur{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-family:Inter,sans-serif;font-size:0.65rem;color:var(--text3);pointer-events:none;}
.etf-add-cur-inp{padding-left:22px!important;}

/* Onboarding modal: tighter row spacing */
.modal-onboard .stg-row{padding:0.35rem 0;}
.modal-onboard .stg-row-mt{margin-top:0.4rem;}

/* Modal sizing variants */
.modal-sm     {width:min(420px,94vw);}
.modal-md     {width:min(520px,94vw);}
.modal-pw     {width:min(400px,94vw);}
.modal-confirm{width:min(380px,94vw);}
.modal-alert  {width:min(360px,94vw);}
.modal-more   {width:min(340px,94vw);padding:1.25rem 1.1rem;}
.modal-nav    {width:min(320px,94vw);padding:1rem;}
.modal-settings{width:min(660px,94vw);padding:1.25rem 1.5rem 0;}

/* modal-acts margin-top variants */
.modal-acts-mt   {margin-top:1rem;}
.modal-acts-mts  {margin-top:0.75rem;}
.modal-acts-mtm  {margin-top:0.85rem;}
.modal-acts-mt-xl{margin-top:1.25rem;}

/* Common utilities */
.mi-0    {margin-bottom:0!important;}
.mi-mb05 {margin-bottom:0.5rem!important;}
.ml-tight{margin-bottom:0.15rem!important;}
.btn-full{width:100%;}
.btn-full-center{width:100%;text-align:center;}
.mb0{margin-bottom:0!important;}

/* Modal separator sections */
.modal-sep-top  {margin-top:1rem;padding-top:0.75rem;border-top:1px solid var(--border);}
.modal-sep-top-lg{margin-top:0.85rem;padding-top:0.75rem;border-top:1px solid var(--border);}
.modal-divider  {border-top:0.5px solid var(--border);padding-top:0.6rem;margin-bottom:0.6rem;}

/* Modal section text */
.msect-lbl  {font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text3);letter-spacing:0.06em;margin-bottom:0.4rem;}
.msect-lbl-mb5{margin-bottom:0.5rem;}
.msect-para {font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text3);margin-bottom:0.75rem;line-height:1.6;}
.msect-info {font-family:Inter,sans-serif;font-size:0.63rem;color:var(--text3);padding:0.4rem 0;line-height:2;}
.msect-small{font-family:Inter,sans-serif;font-size:0.56rem;color:var(--text3);padding:0.4rem 0;line-height:1.8;}
.msect-bulk {font-family:Inter,sans-serif;font-size:0.58rem;color:var(--text3);margin-bottom:0.65rem;line-height:1.6;}

/* ETF add-investment form */
.etf-add-fields{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;}
.etf-add-f{flex:1;min-width:70px;display:flex;flex-direction:column;}
.etf-add-f-wide{flex:2;min-width:120px;}
.etf-add-f-alloc{flex:0 0 72px;}
#ef-alloc{padding-right:18px;}

/* Rate modal */
.rate-tier-grid  {display:grid;grid-template-columns:1fr 1fr 80px;gap:7px;margin-bottom:7px;}
.rate-exp-grid   {display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:7px;}
.rate-month-grid {display:grid;grid-template-columns:1fr 1fr;gap:5px;}
.rate-flex-row   {display:flex;gap:6px;}
.rate-validity-status{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text3);margin-top:0.45rem;}

/* Edit account modal */
#ea-type-lbl{font-family:Inter,sans-serif;font-size:0.58rem;color:var(--text3);margin-top:0.2rem;max-width:calc(100% - 36px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ea-modal-hdr{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0.85rem;gap:0.5rem;}
.ea-modal-hdr-text{flex:1;min-width:0;}
.ea-hdr-actions{display:flex;align-items:center;gap:0.4rem;flex-shrink:0;}
.ea-etf-hdr-btn{font-size:0.62rem;padding:0;height:24px;line-height:24px;white-space:nowrap;background:var(--accent);color:#fff;border:none;padding:0 0.6rem;}.ea-etf-hdr-btn:hover{background:#009066;}
.ea-bal-hdr  {display:flex;justify-content:space-between;align-items:center;margin-bottom:0.4rem;}
.ea-bal-lbl  {margin-bottom:0!important;color:var(--accent);}
#ea-bal-last-lbl{font-family:Inter,sans-serif;font-size:0.58rem;color:var(--text3);}
/* Row 1: balance (larger) + date, Row 2: quick-add buttons + save entry */
.ea-bal-main-row{display:flex;gap:0.5rem;align-items:stretch;margin-bottom:0.4rem;}
.ea-bal-main {margin-bottom:0!important;font-size:1.05rem;font-weight:700;flex:1.4;min-width:0;}
.ea-entry-date{flex:1;margin-bottom:0!important;font-size:1.05rem;min-width:0;}
.ea-quick-row{display:flex;justify-content:space-between;align-items:center;gap:0.3rem;margin-top:0.1rem;}
.ea-quick-btns-row{display:flex;gap:0.25rem;flex-wrap:nowrap;min-width:0;}
.ea-save-entry-btn{flex-shrink:0;white-space:nowrap;}
.ea-etf-btn-wrap{margin-bottom:0.7rem;}
.ea-hist-wrap {margin-bottom:0.7rem;}
.ea-hist-hdr  {display:flex;justify-content:space-between;align-items:center;margin-bottom:0.3rem;}
.ea-hist-lbl  {font-family:Inter,sans-serif;font-size:0.55rem;color:var(--text3);letter-spacing:0.03em;text-transform:uppercase;}
#ea-sparkline {height:60px;cursor:pointer;border-radius:6px;overflow:hidden;}
.ea-sec-row   {display:flex;align-items:center;gap:0.4rem;}
.ea-sec-summary{color:var(--text3);font-size:0.56rem;font-weight:400;}
#ea-settings-summary{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#ea-tags-summary{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ea-type-status-grid{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:0.8rem;align-items:start;}
.ea-w-auto   {width:auto!important;}
#ea-notes    {margin-bottom:0!important;}
/* Status + Joint Account toggle: side by side */
.ea-status-joint-outer{display:flex;gap:0.75rem;align-items:flex-start;}
.ea-joint-col{display:flex;flex-direction:column;gap:0.35rem;flex-shrink:0;}
/* Status button — hidden on desktop, shown on mobile */
.ea-status-btn{display:none;text-align:left;cursor:pointer;font-family:Inter,sans-serif;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:0.52rem 2rem 0.52rem 0.72rem;position:relative;}
.ea-status-btn::after{content:'▾';position:absolute;right:0.65rem;top:50%;transform:translateY(-50%);color:var(--text3);font-size:0.75rem;pointer-events:none;}
.ea-status-btn:focus{border-color:var(--accent);outline:none;}
.ea-rate-tiers-lbl{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text3);margin-bottom:0.5rem;}
#ea-rt-tiers  {margin-bottom:0.5rem;}
/* Rate add grid: small from/to inputs (≈6 digit width), compact rate, + Add button */
.ea-rate-add-grid{display:grid;grid-template-columns:88px 88px 62px auto;gap:5px;align-items:end;}
.ea-rt-small  {max-width:88px;}
.ea-rt-rate-inp{max-width:62px;}
.ea-add-tier-btn-wrap{display:flex;flex-direction:column;align-items:stretch;}
.ea-add-tier-inner{white-space:nowrap;padding:0.52rem 0!important;font-size:0.82rem;width:49.87px;text-align:center;}
.ea-simple-pfee-row{display:flex;gap:0.75rem;align-items:flex-start;margin-bottom:0.5rem;}
.ea-simple-pfee-left{flex:1;min-width:0;}
.ea-simple-pfee-right{flex-shrink:0;}
.ea-simple-row{display:flex;gap:6px;margin-bottom:0;}
.ea-simple-inp{margin-bottom:0!important;max-width:88px;width:88px;}
.ea-simple-set-btn{padding:0.52rem 0.65rem;font-size:0.82rem;}
/* Sub-collapsible inside ea-sec-body */
.ea-sub-section{border:1px solid var(--border);border-radius:6px;margin-bottom:0.5rem;overflow:hidden;}
.ea-sub-sec-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:0.4rem 0.65rem;background:var(--surface2);border:none;cursor:pointer;font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text2);font-weight:600;letter-spacing:0.04em;transition:background 0.15s;text-align:left;}
.ea-sub-sec-btn:hover{background:var(--border);}
.ea-sub-sec-arrow{transition:transform 0.2s;font-size:0.75rem;color:var(--text3);margin-left:0.3rem;}
.ea-sub-sec-arrow.open{transform:rotate(90deg);}
.ea-sub-sec-body{padding:0.5rem 0.65rem;}
.ea-sub-sec-body.hidden{display:none;}
.ea-sub-sec-body>.modal-divider:first-child{border-top:none;padding-top:0;}
/* Growth section bottom row — clear all aligned right */
.ea-growth-bottom-row{display:flex;justify-content:flex-end;margin-top:0.35rem;}
.ea-clear-all-btn{font-size:0.62rem;padding:0.46rem 0.8rem;color:var(--red);border-color:rgba(229,57,53,0.25);}
/* Rate validity: all 4 controls in one row */
.ea-validity-row{display:flex;gap:6px;align-items:flex-end;flex-wrap:wrap;}
.ea-validity-row>div{flex-shrink:0;}
.ea-validity-btns-wrap{display:flex;flex-direction:column;}
.ea-rt-exp-date-inp{max-width:140px;margin-bottom:0!important;}
.ea-rt-drops-inp{max-width:88px;margin-bottom:0!important;}
#ea-rt-exp-status{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text3);margin-bottom:0.4rem;}
.ea-validity-btns{display:flex;gap:6px;}
.ea-save-validity-btn{padding:0.52rem 0.65rem;font-size:0.82rem;flex-shrink:0;}
.ea-clear-validity-btn{padding:0.52rem 0.65rem;font-size:0.82rem;}
.ea-pfee-inp  {max-width:88px;margin-bottom:0!important;}
.ea-clear-all-btn{font-size:0.67rem;padding:0.3rem 0.65rem;color:var(--red);border-color:rgba(229,57,53,0.25);}
.ea-tags-chips{display:flex;flex-wrap:wrap;gap:0.3rem;margin-bottom:0.55rem;}
#ea-tags-custom{margin-bottom:0!important;}
.ea-tag-group-desc{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text3);line-height:1.5;margin-bottom:0.5rem;}
.ea-joint-lbl{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text3);margin-bottom:0.5rem;}
.ea-ef-hdr   {display:flex;justify-content:space-between;align-items:center;margin-bottom:0.55rem;}
.ea-ef-title  {font-size:0.78rem;font-weight:600;}
.ea-ef-sub   {font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text3);margin-top:0.1rem;}
.ea-ef-mode-grid{display:grid;grid-template-columns:auto 1fr;gap:6px;align-items:start;}
.ea-ef-mode-btn{display:none;text-align:left;cursor:pointer;font-family:Inter,sans-serif;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:0.52rem 2rem 0.52rem 0.72rem;position:relative;}
.ea-ef-mode-btn::after{content:'▾';position:absolute;right:0.65rem;top:50%;transform:translateY(-50%);color:var(--text3);font-size:0.75rem;pointer-events:none;}
.ea-ef-mode-btn:focus{border-color:var(--accent);outline:none;}
#ea-ef-hint  {margin-top:0.35rem;font-size:0.52rem;margin-bottom:0!important;}
.ea-bottom-row{display:flex;justify-content:space-between;align-items:center;margin-top:0.85rem;padding-top:0.75rem;border-top:1px solid var(--border);}
#ea-etf-btn  {margin-bottom:0.7rem;}
#ea-joint-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:0.5px solid var(--border);}
#ea-ef-config{padding-top:0.55rem;border-top:0.5px solid var(--border);}

/* Password modal */
.pw-warning{font-family:Inter,sans-serif;font-size:0.71rem;color:var(--yellow);line-height:1.65;margin-bottom:1.1rem;padding:0.6rem 0.8rem;background:rgba(217,119,6,0.08);border-radius:8px;border:1px solid rgba(217,119,6,0.22);}
.pw-inputs {display:flex;flex-direction:column;gap:0.55rem;margin-bottom:0.35rem;}
#m-pw-err  {font-family:Inter,sans-serif;font-size:0.68rem;color:var(--red);min-height:1.3rem;margin-bottom:0.7rem;}
.pw-req-note{font-family:Inter,sans-serif;font-size:0.63rem;color:var(--text3);margin-top:0.45rem;line-height:1.45;}

/* Confirm / alert modals */
#m-confirm-msg{font-family:Inter,sans-serif;font-size:0.78rem;color:var(--text2);line-height:1.65;margin-bottom:1.25rem;white-space:pre-wrap;}
#m-alert-msg  {font-family:Inter,sans-serif;font-size:0.78rem;color:var(--text2);line-height:1.65;margin-bottom:1.25rem;}

/* Settings panel */
#stg-wrappers{font-size:0.68rem;width:120px;}
.stg-dash-new-wrap{margin-top:0.85rem;}

/* Dashboard Manager modal */
.add-dash-hdr     {display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;}
.add-dash-name-wrap{margin-bottom:1rem;}
.add-dash-lbl     {font-size:0.75rem;font-weight:600;display:block;margin-bottom:0.35rem;}
.add-dash-inp     {width:100%;font-size:0.8rem;padding:0.45rem 0.65rem;}
.add-dash-stg-row {padding-bottom:1rem;border-bottom:none!important;}
.add-dash-acts    {display:flex;gap:0.5rem;justify-content:flex-end;margin-top:0.75rem;}
.dm-tab-nav       {display:flex;background:var(--surface2);margin:0 -1.5rem 1.25rem;border-bottom:1px solid var(--border);}
.dm-tab-btn       {flex:1;padding:0.65rem 1rem;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text3);font-family:'Syne',sans-serif;font-size:0.78rem;font-weight:600;cursor:pointer;transition:color 0.15s,border-color 0.15s;letter-spacing:0.02em;}
.dm-tab-btn:hover {color:var(--text2);}
.dm-tab-btn.active{color:var(--text);border-bottom-color:var(--text);}
.dm-panel         {display:none;}
.dm-panel.active  {display:block;}
.dm-desc          {font-family:Inter,sans-serif;font-size:0.72rem;color:var(--text2);line-height:1.5;margin:0 0 1rem;}

/* Nav modal */
.nav-modal-hdr    {display:flex;justify-content:space-between;align-items:center;margin-bottom:0.75rem;}
.nav-modal-hdr-lbl{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text3);letter-spacing:0.08em;}

/* Bulk update modal */
.bulk-hdr    {display:flex;justify-content:space-between;align-items:center;margin-bottom:0.25rem;}
.bulk-date-row{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.85rem;padding-bottom:0.75rem;border-bottom:0.5px solid var(--border);}
.bulk-date-lbl{font-family:Inter,sans-serif;font-size:0.6rem;color:var(--text3);letter-spacing:0.06em;white-space:nowrap;}
.bulk-date-hint{font-family:Inter,sans-serif;font-size:0.58rem;color:var(--text3);}
.bulk-date-inp{margin-bottom:0!important;flex:1;max-width:180px;}

/* More modal */
.more-nav-list  {display:flex;flex-direction:column;gap:0.15rem;margin-bottom:0.5rem;}
.more-tools-list{display:flex;flex-direction:column;gap:0.15rem;}
.more-nav-hdr   {margin-bottom:0.35rem;}
.more-tools-hdr {margin-top:0.6rem;margin-bottom:0.35rem;}
/* #a-tags-wrap layout (was inline style) */
#a-tags-wrap{display:flex;flex-wrap:wrap;gap:0.35rem;margin-bottom:0.5rem;}

/* Misc remaining utilities */
.flex-1{flex:1;}
.accent-link{color:var(--accent);text-decoration:none;}
.note-rem-wrap{margin-bottom:0.8rem;}
.note-stock-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.ea-joint-sel{margin-bottom:0.5rem!important;}
.ea-sync-btn{font-size:0.7rem;}

/* ── Joint toggle + Link button row ─────────────────────────────────────────── */
.ea-joint-toggle-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;}
.ea-link-acc-btn{font-size:0.68rem!important;padding:0.28rem 0.6rem!important;white-space:nowrap;flex-shrink:0;}

/* ── Joint Account Wizard modal ─────────────────────────────────────────────── */
.modal-joint-wizard{width:min(440px,96vw);max-height:min(640px,92vh);display:flex;flex-direction:column;overflow:hidden;}
.jw-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.2rem;}
.jw-header-right{display:flex;align-items:center;gap:10px;}
.jw-step-dots{display:flex;gap:5px;align-items:center;}
.jw-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--text3);background:transparent;display:inline-block;transition:background 0.2s,border-color 0.2s;}
.jw-dot-filled{background:var(--accent);border-color:var(--accent);}
.jw-step-lbl{font-family:Inter,sans-serif;font-size:0.6rem;color:var(--text3);margin-bottom:0.1rem;}
.jw-step-title{font-size:0.84rem;font-weight:700;margin-bottom:0.9rem;}
.jw-body{overflow-y:auto;flex:1;min-height:0;padding-right:2px;transition:opacity 0.14s;}
.jw-body.jw-fading{opacity:0;}
.jw-footer{display:flex;justify-content:space-between;align-items:center;padding-top:0.75rem;margin-top:0.6rem;border-top:1px solid var(--border);flex-shrink:0;}

/* Step 1 / 2 shared elements */
.jw-from-hint{font-family:Inter,sans-serif;font-size:0.7rem;color:var(--text3);margin-bottom:0.85rem;line-height:1.5;}
.jw-context-banner{font-family:Inter,sans-serif;font-size:0.72rem;color:var(--text2);background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:0.5rem 0.7rem;margin-bottom:0.8rem;line-height:1.55;}
.jw-acc-list{max-height:190px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;margin-bottom:0.8rem;}
.jw-acc-row{display:flex;align-items:center;justify-content:space-between;padding:0.55rem 0.75rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background 0.12s;}
.jw-acc-row:last-child{border-bottom:none;}
.jw-acc-row:hover{background:var(--surface2);}
.jw-acc-row-selected{background:color-mix(in srgb,var(--accent) 10%,transparent)!important;}
.jw-acc-row-dimmed{opacity:0.45;cursor:default;}
.jw-acc-row-info{flex:1;min-width:0;}
.jw-acc-row-name{font-family:Inter,sans-serif;font-size:0.78rem;font-weight:500;color:var(--text);}
.jw-acc-row-sub{font-family:Inter,sans-serif;font-size:0.65rem;color:var(--text3);margin-top:2px;}
.jw-acc-row-check{font-size:0.85rem;color:var(--accent);font-weight:700;margin-left:8px;flex-shrink:0;}
.jw-joint-pill{display:inline-block;font-size:0.55rem;font-weight:600;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:4px;padding:0 4px;vertical-align:middle;margin-left:4px;line-height:1.6;}
.jw-already-lbl{display:inline-block;font-size:0.58rem;color:var(--text3);margin-left:4px;}
.jw-empty-note{font-family:Inter,sans-serif;font-size:0.72rem;color:var(--text3);padding:0.9rem 0.75rem;text-align:center;}
.jw-create-link{background:none;border:none;padding:0;font-family:Inter,sans-serif;font-size:0.72rem;color:var(--accent);cursor:pointer;margin-bottom:0.6rem;display:block;}
.jw-create-link:hover{text-decoration:underline;}
.jw-create-link-active{opacity:0.5;}
.jw-create-form{border:1px solid var(--border);border-radius:8px;padding:0.75rem;margin-bottom:0.5rem;background:var(--surface2);}
.jw-create-form .mi{margin-bottom:0.6rem!important;}
.jw-create-form .mi:last-child{margin-bottom:0!important;}

/* Step 3 review */
.jw-review{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:1rem;}
.jw-review-row{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 0.85rem;}
.jw-review-row:first-child{border-bottom:1px solid var(--border);}
.jw-review-row:last-child{border-top:1px solid var(--border);}
.jw-review-middle{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 0.85rem;background:var(--surface2);}
.jw-person-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Inter,sans-serif;font-size:0.9rem;font-weight:700;color:#fff;flex-shrink:0;}
.jw-review-acc-info{flex:1;min-width:0;}
.jw-review-acc-name{font-family:Inter,sans-serif;font-size:0.82rem;font-weight:600;color:var(--text);}
.jw-review-person-lbl{font-family:Inter,sans-serif;font-size:0.65rem;color:var(--text3);margin-top:2px;}
.jw-sync-icon{font-size:1rem;color:var(--accent);}
.jw-sync-desc{font-family:Inter,sans-serif;font-size:0.66rem;color:var(--text3);line-height:1.45;}
.jw-sync-check-row{display:flex;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:0.75rem;color:var(--text2);cursor:pointer;}
.jw-sync-check-row input[type=checkbox]{accent-color:var(--accent);}

/* Success state */
.jw-success{text-align:center;padding:1.5rem 0.5rem;}
.jw-success-icon{font-size:2.2rem;color:var(--accent);margin-bottom:0.5rem;}
.jw-success-heading{font-family:Inter,sans-serif;font-size:1rem;font-weight:700;margin-bottom:0.4rem;}
.jw-success-text{font-family:Inter,sans-serif;font-size:0.75rem;color:var(--text3);line-height:1.6;}

/* Disabled next button */
.jw-btn-disabled{opacity:0.4;cursor:not-allowed;}

/* ── Session 8: dynamic styles + hidden utility ─────────────────────────── */

/* Hidden utility */
.hidden{display:none!important;}

/* Color utilities (used in conditional class expressions in render fns) */
.c-text3{color:var(--text3);}
.c-text2{color:var(--text2);}
.c-text{color:var(--text);}
.c-accent{color:var(--accent);}
.c-yellow{color:var(--yellow);}
.c-green{color:var(--green);}
.c-purple{color:var(--purple);}
.c-red{color:var(--red);}
.c-accent2{color:var(--accent2);}

/* Shared small button modifier */
.btn-sm{font-size:0.72rem;padding:0.35rem 0.8rem;}

/* Collapsed table state */
.tbl-collapsed{border-style:dashed;opacity:0.55;}
.tbl-collapsed-msg{padding:0.55rem 0.9rem;font-family:Inter,sans-serif;font-size:0.6rem;color:var(--text3);text-align:center;}

/* Account name row */
.acc-name-row{display:flex;align-items:center;gap:0.35rem;flex-wrap:wrap;}

/* Badge size variants */
.badge-xs{font-size:0.46rem;flex-shrink:0;opacity:0.75;}
.badge-sm{font-size:0.48rem;}
.badge-sm-faded{font-size:0.48rem;opacity:0.8;}
.badge-md{font-size:0.5rem;}

/* sbar delta + interest */
.sbar-delta{font-family:Inter,sans-serif;font-size:0.74rem;}
.sbar-interest{font-family:Inter,sans-serif;font-size:0.7rem;color:var(--text2);padding-left:0.5rem;}

/* Empty mo cell */
.mo-empty{color:var(--text3);}
/* Annual est mo-bal */
.mo-annual{color:var(--text);font-size:0.77rem;}

/* stotal color variants */
.stotal-inv{color:var(--yellow);}
.stotal-ret{color:var(--purple);}

/* Add-row accent button */
.btn-add-accent{color:var(--accent);}

/* Investing uninvested-cash card */
.inv-cash-lbl{font-size:0.82rem;font-weight:600;}
.inv-cash-sub{font-family:Inter,sans-serif;font-size:0.58rem;color:var(--text3);margin-top:0.15rem;}
.inv-cash-right{text-align:right;flex-shrink:0;}
.inv-cash-edit-hint{font-family:Inter,sans-serif;font-size:0.58rem;color:var(--text3);margin-top:0.2rem;}
.inv-cash-val{font-size:1rem;font-weight:700;color:var(--yellow);outline:none;border-bottom:1px solid transparent;cursor:text;display:inline-block;}

/* ETF section */
.sbar-etf{margin-top:0.75rem;cursor:grab;}
.sbar-etf h2{font-size:0.83rem;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.etf-sbar-tot{font-family:Inter,sans-serif;font-size:0.7rem;color:var(--text3);flex-shrink:0;white-space:nowrap;}
.etf-sbar-cnt{font-family:Inter,sans-serif;font-size:0.65rem;color:var(--text3);flex-shrink:0;white-space:nowrap;}
.sbar-etf .sbar-right{flex-shrink:0;}
.etf-wrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem 1.25rem;margin-bottom:0.75rem;}
.etf-badge-mt{margin-top:0.35rem;}
.etf-alloc-warn{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--yellow);margin-top:0.5rem;}

/* Debt note */
.debt-note{font-family:Inter,sans-serif;font-size:0.6rem;color:var(--text3);margin-bottom:0.75rem;padding:0 0.1rem;}

/* Bulk update modal rows */
.bulk-col-hdr{display:grid;grid-template-columns:1fr 90px 108px;gap:0.5rem 0.75rem;padding:0 0 0.45rem;border-bottom:1px solid var(--border);margin-bottom:0.25rem;}
.bulk-chdr-lbl{font-family:Inter,sans-serif;font-size:0.57rem;font-weight:600;color:var(--text3);letter-spacing:0.07em;text-align:right;white-space:nowrap;}
.bulk-chdr-lbl:first-child{text-align:left;}
.bulk-row-grid{display:grid;grid-template-columns:1fr 90px 108px;gap:0.5rem 0.75rem;align-items:center;padding:0.55rem 0;border-bottom:0.5px solid var(--border);}
.bulk-acc-name{font-size:0.83rem;font-weight:600;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.bulk-acc-cur{font-family:Inter,sans-serif;font-size:0.58rem;color:var(--text3);margin-top:0.1rem;}
.bulk-delta-inline{font-family:Inter,sans-serif;font-size:0.58rem;font-weight:500;margin-left:0.25rem;}
.bulk-bal-right{margin-bottom:0!important;text-align:right;}
.bulk-contrib-input{margin-bottom:0!important;text-align:right;}
.bulk-contrib-na{font-family:Inter,sans-serif;font-size:0.8rem;color:var(--text3);text-align:center;display:flex;align-items:center;justify-content:center;}
.bulk-empty{font-family:Inter,sans-serif;font-size:0.72rem;color:var(--text3);text-align:center;padding:1.5rem 0;}
.bulk-stg-empty{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text3);padding:0.3rem 0;}
/* Add account — balance box locked until type selected */
/* Target only lockable children so the lock note stays fully readable */
.ea-bal-box-locked>*:not(.ea-bal-lock-note){opacity:0.38;pointer-events:none;user-select:none;}
.ea-bal-lock-note{font-family:Inter,sans-serif;font-size:0.7rem;color:var(--text3);margin-bottom:0.5rem;font-style:italic;}
/* YTD pending state */
.ytd-pending{font-family:Inter,sans-serif;font-size:0.65rem;color:var(--text3);font-style:italic;}

/* Budget drag handles + action groups */
.dh-brow{font-size:1rem;letter-spacing:-2px;color:var(--border);cursor:grab;}
.dh-bgrp{font-size:1rem;letter-spacing:-2px;}
.dh-calc{font-size:1rem;letter-spacing:-2px;margin-right:0.35rem;}
.brow-acts{display:flex;gap:2px;align-items:center;justify-content:flex-end;}
.bgrp-acts{display:flex;gap:3px;flex-shrink:0;}
.brow-head-btn-wrap{display:flex;justify-content:flex-end;}

/* Budget stat color + warning */
.budget-over-note{font-family:Inter,sans-serif;font-size:0.72rem;color:var(--yellow);margin-bottom:0.75rem;}

/* Settings sub-text block variant */
.stg-sub-block{font-family:Inter,sans-serif;font-size:0.56rem;color:var(--text3);margin-bottom:0.45rem;line-height:1.4;}

/* Currency select — narrower */
.stg-sel-sm{max-width:8rem;}

/* Tracker tag fields (Structure panel) */
.stg-tag-grid{display:flex;flex-direction:column;gap:0.6rem;margin-top:0.3rem;}
.stg-tag-row{display:flex;flex-direction:column;gap:0.15rem;padding:0.55rem 0;border-bottom:0.5px solid var(--border);}
.stg-tag-row:last-child{border-bottom:none;}
.stg-tag-lbl{font-family:Inter,sans-serif;font-size:0.56rem;color:var(--text3);letter-spacing:0.08em;text-transform:uppercase;}
.stg-tag-sub{font-family:Inter,sans-serif;font-size:0.56rem;color:var(--text3);margin-bottom:0.3rem;line-height:1.4;}
.stg-tag-inp{width:100%;font-family:Inter,sans-serif;font-size:0.72rem;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:7px;padding:0.3rem 0.55rem;resize:vertical;min-height:30px;outline:none;box-sizing:border-box;margin-bottom:0.2rem;}
.stg-tag-inp:focus{border-color:var(--accent);}

/* Custom tracker widget (Overview) */
.custom-trk-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1rem 1.25rem;}
.custom-trk-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:0.65rem;gap:0.5rem;}
.custom-trk-title{font-size:0.9rem;font-weight:700;}
.custom-trk-tag{font-family:Inter,sans-serif;font-size:0.58rem;color:var(--text3);}
.custom-trk-total{font-size:1.5rem;font-weight:800;color:var(--accent);margin-bottom:0.7rem;}
.custom-trk-items{display:flex;flex-direction:column;gap:0.3rem;}
.custom-trk-item{display:flex;justify-content:space-between;align-items:center;padding:0.3rem 0;border-top:0.5px solid var(--border);}
.custom-trk-item-name{font-family:Inter,sans-serif;font-size:0.72rem;color:var(--text2);}
.custom-trk-item-val{font-family:Inter,sans-serif;font-size:0.72rem;font-weight:600;}
.custom-trk-empty{font-family:Inter,sans-serif;font-size:0.67rem;color:var(--text3);}

/* Notes */
.note-toggle-icon{color:var(--text3);font-size:0.8rem;user-select:none;flex-shrink:0;}
.badge-note-type{font-size:0.53rem;white-space:nowrap;flex-shrink:0;}
.badge-note-sent{margin-right:2px;font-size:0.53rem;}
.note-head-meta{display:flex;gap:4px;align-items:center;flex-shrink:0;}
.note-head-btns{display:flex;gap:3px;align-items:center;flex-shrink:0;}
.notes-empty-msg{padding:2rem;text-align:center;font-family:Inter,sans-serif;font-size:0.78rem;color:var(--text3);}

/* Calc compare result rows */
.calc-cmp-row{font-family:Inter,sans-serif;font-size:0.65rem;color:var(--text3);display:block;}
.calc-cmp-row-a{margin-top:0.3rem;}
.calc-cmp-row-b{margin-top:0.15rem;}
.calc-cmp-a{color:var(--accent);}
.calc-cmp-b{color:var(--blue);}
.ml-025{margin-left:0.25rem;}

/* Overview — ISA tracker */
.isa-row{margin-bottom:0.75rem;position:relative;}
.isa-row-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:0.25rem;}
.isa-row-lbl{font-family:Inter,sans-serif;font-size:0.62rem;font-weight:600;color:var(--text2);}
.isa-row-val{font-family:Inter,sans-serif;font-size:0.6rem;}
.isa-bar-fill.isa-bar-full{background:var(--green);}
.isa-names-row{display:flex;flex-wrap:wrap;gap:0.3rem;margin-top:0.3rem;}
.isa-name-chip{font-family:Inter,sans-serif;font-size:0.55rem;color:var(--text3);background:var(--surface2);padding:1px 6px;border-radius:4px;}
.isa-trk-ctrl{display:flex;align-items:center;gap:0.5rem;}
.isa-trk-tot{font-size:0.6rem;color:var(--text3);}
.isa-trk-footer{font-family:Inter,sans-serif;font-size:0.55rem;color:var(--text3);margin-top:0.25rem;display:flex;justify-content:space-between;align-items:center;gap:0.5rem;}
.isa-trk-footer-hint{text-align:right;flex-shrink:0;}
/* Segmented ISA bar — sits inside .isa-bar-wrap */
.isa-bar-segmented{display:flex;height:100%;width:100%;border-radius:inherit;overflow:hidden;}
.isa-bar-seg{height:100%;min-width:2px;transition:width 0.3s;}
/* ISA sub-info row */
.isa-row-sub{margin-top:0.3rem;display:flex;flex-wrap:wrap;gap:0.4rem;align-items:center;}
.isa-row-note{font-family:Inter,sans-serif;font-size:0.55rem;color:var(--text3);margin-top:0.3rem;}
.isa-lisa-sub{font-family:Inter,sans-serif;font-size:0.55rem;color:var(--text3);}
.isa-no-accs{font-family:Inter,sans-serif;font-size:0.55rem;color:var(--text3);font-style:italic;}
/* Tracker row toggles in Dashboard Manager */
.stg-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:0.5rem 0;border-bottom:1px solid var(--border);}
.stg-toggle-row:last-child{border-bottom:none;}
.stg-toggle-label{display:flex;flex-direction:column;gap:0.2rem;}
.stg-toggle-detail{font-family:Inter,sans-serif;font-size:0.58rem;color:var(--text3);}
/* Section label in Dashboard Manager */
.stg-section-lbl{font-family:Inter,sans-serif;font-size:0.6rem;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:0.06em;margin:1rem 0 0.3rem;}
/* Contribution field */
.ea-contrib-row{margin-bottom:0.5rem;}
.ea-contrib-row.hidden{display:none;}
.ea-bal-section{margin-top:0;}
.ea-contrib-row:not(.hidden) + .ea-bal-section{margin-top:0.9rem;}
.ea-field-note{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text3);margin:0.1rem 0 0.3rem;}
.ea-bal-hdr{margin-bottom:0!important;}
.ea-contrib-ytd-box{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:90px;background:rgba(0,163,114,0.07);border:1px solid rgba(0,163,114,0.18);border-radius:8px;padding:0.25rem 0.6rem;gap:0.1rem;}
.ea-contrib-ytd-box.hidden{display:none;}
.ea-contrib-ytd-box .ytd-val{font-size:0.82rem;font-weight:700;color:var(--accent);}
.ea-contrib-ytd-box .ytd-lbl{font-size:0.52rem;color:var(--text3);text-transform:uppercase;letter-spacing:0.05em;}
.ht-td-contrib{text-align:right;font-size:0.72rem;color:var(--text2);}
.ea-bal-contrib-hint{display:block;font-size:0.72rem;font-weight:600;color:#22c55e;margin-top:0.2rem;}
.ea-bal-contrib-hint.hidden{display:none;}
/* Modal label hint */
.ml-hint{font-weight:400;color:var(--text3);font-size:0.58rem;text-transform:none;letter-spacing:0;}

/* Overview — net worth card */
.nw-interest{font-family:Inter,sans-serif;font-size:0.68rem;color:var(--green);margin-top:0.3rem;}
.nw-d{margin-top:0.3rem;}
.nw-chart-lbl{margin-bottom:0.3rem;}
.cat-chart-card{cursor:pointer;}
.cat-chart-val-sav{color:var(--green);}
.cat-chart-val-inv{color:var(--yellow);}
.cat-chart-val-ret{color:var(--purple);}

/* Overview — EF card */
.ef-title{font-size:0.95rem;font-weight:700;}
.ef-sub{font-family:Inter,sans-serif;font-size:0.72rem;color:var(--text3);margin-top:0.2rem;}
.ef-months-unit{font-size:1rem;font-weight:500;color:var(--text2);}
.ef-saved{font-family:Inter,sans-serif;font-size:1rem;font-weight:500;color:var(--text2);}
.ef-ref-val{color:var(--accent);border-bottom:1px dashed var(--accent);cursor:text;outline:none;font-weight:600;}

/* Overview — debt card */
.ov-debt-hdr{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:0.5rem;margin-bottom:0.6rem;}
.ov-debt-left-title{font-size:0.9rem;font-weight:700;}
.ov-debt-left-sub{font-family:Inter,sans-serif;font-size:0.58rem;color:var(--text3);margin-top:0.15rem;}
.ov-debt-right{text-align:right;}
.ov-debt-total{font-size:1.4rem;font-weight:800;color:var(--text);}
.ov-debt-cost{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text2);}
.ov-debt-delta{font-family:Inter,sans-serif;font-size:0.62rem;}
.ov-debt-item{background:var(--surface2);border:1px solid var(--border);border-radius:7px;padding:0.35rem 0.65rem;}
.ov-debt-item-lbl{font-family:Inter,sans-serif;font-size:0.54rem;color:var(--text3);}
.ov-debt-item-val{font-family:'Syne',sans-serif;font-size:0.78rem;font-weight:600;color:var(--text);}
.ov-debt-items-row{display:flex;gap:0.5rem;flex-wrap:wrap;}
.ov-debt-empty{font-family:Inter,sans-serif;font-size:0.7rem;color:var(--text3);}

/* Overview — milestones */
.ms-est{font-family:Inter,sans-serif;font-size:0.56rem;color:var(--text3);margin-top:0.4rem;}

/* Chart no-data placeholders */
.chart-no-data{font-family:Inter,sans-serif;font-size:0.68rem;color:var(--text3);text-align:center;padding:1.5rem 0;}
.chart-no-data-sm{font-family:Inter,sans-serif;font-size:0.58rem;color:var(--text3);text-align:center;padding:0.75rem 0;}
.line-chart-svg{display:block;overflow:visible;}

/* Tag chips */
.tag-chip{display:flex;align-items:center;gap:3px;cursor:pointer;font-family:Inter,sans-serif;font-size:0.58rem;padding:3px 8px;border-radius:20px;border:1px solid var(--border);background:var(--surface2);color:var(--text3);}
.tag-chip-active{border-color:var(--accent);background:rgba(0,163,114,0.1);color:var(--accent);}
.tag-chip-chk{width:10px;height:10px;}

/* History table */
.ht-month-lbl{font-family:Inter,sans-serif;font-size:0.54rem;color:var(--text3);margin-top:1px;}
.ht-td-bal{text-align:right;font-weight:600;}
.ht-td-chg{text-align:right;font-size:0.68rem;}
.ht-td-del{text-align:right;width:32px;}
.ht-section{margin-top:1rem;padding-top:0.75rem;border-top:1px solid var(--border);}
.ht-trend-lbl{font-family:Inter,sans-serif;font-size:0.55rem;color:var(--text3);letter-spacing:0.07em;margin-bottom:0.4rem;}
.ht-chart{height:80px;}
.ht-info{font-family:Inter,sans-serif;font-size:0.6rem;color:var(--text3);margin-bottom:0.6rem;}
.ht-th-r{text-align:right;}
.ht-empty{text-align:center;color:var(--text3);padding:1rem;}

/* Rate tier display */
.rate-tier-note{font-family:Inter,sans-serif;font-size:0.65rem;color:var(--text3);margin-bottom:0.25rem;}
.rate-tier-simple{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text2);}
.rate-tier-total{font-family:Inter,sans-serif;font-size:0.7rem;color:var(--green);padding-top:6px;text-align:right;margin-top:4px;}
.rt-tier-header{display:grid;grid-template-columns:1fr 1fr 70px 22px;gap:6px;padding:2px 0 4px;font-family:Inter,sans-serif;font-size:0.52rem;color:var(--text3);text-transform:uppercase;letter-spacing:0.05em;border-bottom:0.5px solid var(--border);}
.rate-no-tiers-note{font-family:Inter,sans-serif;font-size:0.68rem;color:var(--text3);margin-bottom:0.4rem;}
.rate-simple-lbl{font-family:Inter,sans-serif;font-size:0.62rem;color:var(--text2);}

/* Sparkline no-data */
.sparkline-no-data{display:flex;align-items:center;justify-content:center;height:100%;font-family:Inter,sans-serif;font-size:0.58rem;color:var(--text3);}

/* Rate display helpers */
.rate-ntier{color:var(--blue);font-size:0.64rem;}
.rate-empty-dash{color:var(--text3);}

/* ETF edit list */
.etf-no-funds{font-family:Inter,sans-serif;font-size:0.7rem;color:var(--text3);margin-bottom:0.5rem;}
.pr-18{padding-right:18px;}

/* Notes misc */
.ib-sm{font-size:0.65rem;}
.flex-shrink-0{flex-shrink:0;}

/* Budget color picker popup */
.bcolor-pop{position:absolute;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px;display:flex;flex-wrap:wrap;gap:6px;width:176px;box-shadow:0 4px 16px rgba(0,0,0,0.12);}
.bcolor-swatch{width:20px;height:20px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform 0.1s;}
.bcolor-swatch:hover{transform:scale(1.2);}

/* Onboarding feature list (pages 1 & 2) */
.ob-feature-list{display:flex;flex-direction:column;gap:0.85rem;margin:1.2rem 0 1.6rem;}
.ob-feature-row{font-family:Inter,sans-serif;font-size:0.78rem;color:var(--text2);line-height:1.45;}
.ob-feature-row strong{color:var(--text);font-weight:600;}

/* Onboarding region buttons */
.ob-reg-btn{font-family:Inter,sans-serif;font-size:0.7rem;padding:0.5rem 0.75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text2);cursor:pointer;transition:all 0.15s;text-align:center;}
.ob-reg-btn:hover,.ob-reg-btn.active{border-color:var(--accent);color:var(--accent);background:rgba(0,163,114,0.08);}
.ob-reg-btn.small{font-size:0.62rem;padding:0.3rem 0.6rem;}
.para-textarea-stock{min-height:60px;margin-top:0.5rem;}

/* Rate Silvro section spacing */
.rate-silvro-sub{margin-bottom:1.5rem;}

/* Tab tip card */
.tab-tip-card{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom,0px) + 10px);left:50%;transform:translateX(-50%);background:var(--surface);border:1px solid var(--accent);border-left:4px solid var(--accent);border-radius:12px;padding:0.75rem 1rem;max-width:min(calc(100vw - 32px),420px);width:100%;box-shadow:0 4px 24px rgba(0,163,114,0.22),0 2px 8px rgba(0,0,0,0.12);z-index:150;display:flex;flex-direction:column;gap:0.5rem;}
.tab-tip-msg{font-family:Inter,sans-serif;font-size:0.72rem;color:var(--text);line-height:1.5;}
.tab-tip-actions{display:flex;gap:0.5rem;justify-content:flex-end;}
.tab-tip-btn{font-family:Inter,sans-serif;font-size:0.68rem;font-weight:600;color:var(--accent);background:none;border:none;cursor:pointer;padding:0.2rem 0.4rem;border-radius:6px;}
.tab-tip-btn-skip{color:var(--text3);}
.dyk-label{font-family:Inter,sans-serif;font-size:0.6rem;font-weight:700;letter-spacing:0.07em;color:var(--accent);}
