/* legacy-profile.css — fintor.css from the Comprehensive Advice Tool, every selector scoped under .lp by tools/scope-css.js.
 * :root / html / body rules became .lp (CSS variables are inherited by the profile screen and the body-level popups,
 * which all carry class "lp"). Dropped: html,body {width:100%;height:100%;overflow:hidden;margin:0;padding:0} (would hide the tab body). Keyframes untouched. */
.lp{--navy:#001f74;--cyan:#01cbf0;--lime:#99ff00;--purple:#8300e9;--blue:#1a2df3;--slate:#567b96;--navy-light:#0a2d8a;--cyan-soft:rgba(1,203,240,0.10);--lime-soft:rgba(153,255,0,0.10);--bg:#F7F8FA;--bg-card:#FFFFFF;--bg-surface:#F0F1F5;--text-primary:#0D1B3E;--text-secondary:#5A6482;--text-hint:#8C95AD;--border:#DFE2EA;--border-light:#ECEEF3;--green:#0FA95B;--green-light:#E6F9EF;--red:#DC3545;--red-light:#FCEDEF;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 3px rgba(0,31,116,0.06);--shadow:0 4px 16px rgba(0,31,116,0.08)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .lp{--bg:#0B0F1A;--bg-card:#141825;--bg-surface:#1A1F30;--text-primary:#E8EAF0;--text-secondary:#8C95AD;--text-hint:#5A6482;--border:#2A3048;--border-light:#1F2538;--green:#34D37A;--green-light:#0D2A1A;--red:#F06070;--red-light:#2A1015;--shadow-sm:0 1px 3px rgba(0,0,0,0.3);--shadow:0 4px 16px rgba(0,0,0,0.4);--cyan-soft:rgba(1,203,240,0.08);--lime-soft:rgba(153,255,0,0.08)}}
.lp *{box-sizing:border-box;margin:0;padding:0}.lp{font-family:'Montserrat',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}
.lp .app{display:flex;height:100vh;height:100dvh;width:100vw;max-width:100%;position:relative;overflow:hidden}

/* HOME SCREEN */
.lp .home-screen{display:flex;position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:var(--bg);flex-direction:column;overflow-y:auto;z-index:200}
.lp .home-header{background:linear-gradient(135deg,var(--navy) 0%,#0a3a9e 60%,#8300e9 100%);color:#fff;padding:32px 5vw 0;position:relative;overflow:hidden;width:100%;box-sizing:border-box}
.lp .home-header::before{content:'';position:absolute;top:-50%;right:-5%;width:40vw;height:40vw;max-width:500px;max-height:500px;border-radius:50%;background:rgba(1,203,240,0.08)}
.lp .home-header::after{content:'';position:absolute;bottom:-60%;left:10%;width:30vw;height:30vw;max-width:400px;max-height:400px;border-radius:50%;background:rgba(153,255,0,0.04)}
.lp .home-header img{height:44px;position:relative;z-index:1}
.lp .home-topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;position:relative;z-index:1;margin-bottom:28px}
.lp .home-search{display:flex;gap:10px;align-items:center;flex:1;max-width:500px;min-width:180px;margin:0 auto}
.lp .home-search input{flex:1;height:44px;border:2px solid rgba(255,255,255,0.15);border-radius:12px;background:rgba(255,255,255,0.08);color:#fff;font-size:14px;font-family:inherit;font-weight:600;padding:0 16px;outline:none;transition:all .2s;backdrop-filter:blur(10px);width:100%;box-sizing:border-box}
.lp .home-search input::placeholder{color:rgba(255,255,255,0.35)}
.lp .home-search input:focus{border-color:var(--cyan);background:rgba(255,255,255,0.12)}
.lp .home-hero{position:relative;z-index:1;padding-bottom:32px}
.lp .home-hero-title{font-size:clamp(20px,4vw,32px);font-weight:800;line-height:1.2;margin-bottom:6px}
.lp .home-hero-sub{font-size:clamp(12px,1.5vw,15px);color:rgba(255,255,255,0.6);margin-bottom:24px}
.lp .home-kpi-row{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.lp .home-kpi{padding:14px 10px;background:rgba(255,255,255,0.07);border-radius:12px;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.08);text-align:center;transition:transform .15s}
.lp .home-kpi:hover{transform:translateY(-2px)}
.lp .home-kpi .kpi-val{font-size:clamp(18px,2.2vw,28px);font-weight:800;line-height:1.2}
.lp .home-kpi .kpi-lbl{font-size:clamp(7px,0.8vw,10px);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:rgba(255,255,255,0.5);margin-top:3px}
.lp .home-kpi .kpi-sub{font-size:clamp(8px,0.7vw,10px);color:rgba(255,255,255,0.3);margin-top:2px}
.lp .home-body{flex:1;padding:24px 5vw;width:100%;box-sizing:border-box}
.lp .home-stats{display:none}
.lp .client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;width:100%}
.lp .client-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px;cursor:pointer;transition:all .2s;border:2px solid transparent;position:relative}
.lp .client-card:hover{border-color:var(--cyan);box-shadow:var(--shadow);transform:translateY(-2px)}
.lp .client-card .cc-name{font-size:16px;font-weight:800;color:var(--text-primary)}
.lp .client-card .cc-partner{font-size:12px;color:var(--text-hint);margin-top:2px}
.lp .client-card .cc-date{font-size:10px;color:var(--text-hint);margin-top:8px}
.lp .client-card .cc-stats{display:flex;gap:12px;margin-top:10px;font-size:11px;color:var(--text-secondary)}
.lp .client-card .cc-del{position:absolute;top:10px;right:10px;background:none;border:none;cursor:pointer;font-size:14px;color:var(--text-hint);opacity:0;transition:opacity .2s;padding:4px}
.lp .client-card:hover .cc-del{opacity:1}
.lp .new-client-card{background:var(--bg-card);border:2px dashed var(--cyan);border-radius:var(--radius-lg);padding:28px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:140px}
.lp .new-client-card:hover{background:rgba(1,203,240,0.04);border-color:var(--navy)}
.lp .new-client-card .nc-icon{font-size:32px;color:var(--cyan)}
.lp .new-client-card .nc-text{font-size:14px;font-weight:700;color:var(--cyan)}
@media(max-width:1100px){.lp .home-kpi-row{grid-template-columns:repeat(4,1fr)}}
@media(max-width:768px){.lp .home-header{padding:20px 4vw 0}.lp .home-topbar{gap:8px}.lp .home-topbar img{height:32px}.lp .home-topbar>button{padding:10px 16px;font-size:12px}.lp .home-kpi-row{grid-template-columns:repeat(2,1fr);gap:8px}.lp .home-kpi{padding:10px 6px}.lp .home-kpi .kpi-val{font-size:16px}.lp .home-body{padding:16px 4vw}.lp .home-search{max-width:100%;min-width:0;margin:0}.lp .client-grid{grid-template-columns:1fr}}
@media(max-width:480px){.lp .home-topbar{flex-direction:column;align-items:stretch}.lp .home-search{max-width:none;order:3}.lp .home-topbar img{height:28px}.lp .home-topbar>button{width:100%}.lp .home-kpi-row{grid-template-columns:repeat(2,1fr);gap:6px}.lp .home-kpi .kpi-val{font-size:14px}.lp .home-kpi .kpi-lbl{font-size:7px}}
@media(max-width:900px){.lp #csServiceGrid{grid-template-columns:1fr}.lp #csProfileGrid{grid-template-columns:1fr 1fr !important}.lp #csMainGrid{grid-template-columns:1fr}.lp #csToolsGrid{grid-template-columns:1fr 1fr}}

/* SIDEBAR */
.lp .sidebar{width:260px;background:var(--navy);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;height:100dvh;z-index:100;overflow-y:auto}
.lp .sidebar-logo{padding:18px 20px;border-bottom:1px solid rgba(255,255,255,0.08)}.lp .sidebar-logo img{height:40px;width:auto}.lp .sidebar-logo .lf{font-size:22px;font-weight:800;color:#fff}.lp .sidebar-logo .lf span{color:var(--cyan)}
.lp .nav-section{padding:10px 18px 6px;font-size:9px;font-weight:800;color:rgba(255,255,255,0.35);text-transform:uppercase;letter-spacing:0.12em;cursor:pointer;display:flex;align-items:center;justify-content:space-between;user-select:none;border-radius:8px;margin:4px 6px 2px;transition:background .15s,color .15s}
.lp .nav-section:hover{color:rgba(255,255,255,0.7);background:rgba(255,255,255,0.04)}
.lp .nav-section::after{content:'\25B8';font-size:11px;font-weight:400;color:rgba(255,255,255,0.3);transition:transform .2s,color .2s}
.lp .nav-section.expanded{color:rgba(255,255,255,0.75);background:rgba(1,203,240,0.08)}
.lp .nav-section.expanded::after{content:'\25BE';color:var(--cyan)}
.lp .nav-item[data-nav-hidden="1"]{display:none !important}
.lp .nav-item{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:10px;cursor:pointer;font-size:12px;font-weight:600;color:rgba(255,255,255,0.45);transition:all .2s;border:none;background:none;width:100%;text-align:left;font-family:inherit}.lp .nav-item:hover{color:#fff;background:rgba(255,255,255,0.06)}.lp .nav-item.active{color:#fff;background:rgba(1,203,240,0.15)}.lp .nav-item.active .nd{background:var(--cyan);box-shadow:0 0 8px rgba(1,203,240,0.4)}.lp .nd{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.12);transition:all .2s;flex-shrink:0}.lp .ni{font-size:14px;width:22px;text-align:center;flex-shrink:0}
.lp .sidebar-footer{padding:14px 20px;border-top:1px solid rgba(255,255,255,0.08);font-size:10px;color:rgba(255,255,255,0.25);line-height:1.5;margin-top:auto}

/* MOBILE NAV */
.lp .mnav{display:none;background:var(--navy);padding:12px 16px 0;flex-shrink:0}.lp .mlogo{display:flex;align-items:center;gap:10px;margin-bottom:10px}.lp .mlogo img{height:30px}.lp .mlogo .lf{font-size:20px;font-weight:800;color:#fff}.lp .mlogo .lf span{color:var(--cyan)}.lp .mtabs{display:flex;gap:2px;background:rgba(255,255,255,0.06);border-radius:10px;padding:3px;overflow-x:auto}.lp .mtab{flex:0 0 auto;padding:8px 12px;font-size:10px;font-weight:700;text-align:center;color:rgba(255,255,255,0.4);border:none;background:none;border-radius:8px;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}.lp .mtab.active{color:#fff;background:rgba(1,203,240,0.2)}

.lp .main{margin-left:260px;flex:1;display:flex;flex-direction:column;height:100vh;height:100dvh;width:calc(100vw - 260px);overflow:hidden}
.lp .content{padding:24px 28px 48px;flex:1;width:100%;max-width:100%;box-sizing:border-box;overflow-y:auto}
.lp .page{display:none;width:100%;box-sizing:border-box}.lp .page.active{display:block}
.lp .pt{font-size:24px;font-weight:800;margin-bottom:4px;letter-spacing:-0.02em}.lp .pd{font-size:13px;color:var(--text-secondary);margin-bottom:22px}

/* CARDS / FORMS */
.lp .card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:18px 22px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.lp .ct{font-size:10px;font-weight:800;color:var(--text-hint);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:14px}
.lp .g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lp .g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.lp .g4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px}
.lp .field label{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.lp .field input,.lp .field select{width:100%;height:40px;padding:0 12px;font-size:13px;font-family:inherit;font-weight:500;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s}.lp .field input:focus,.lp .field select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(1,203,240,0.12)}
.lp .cur-wrap{position:relative}.lp .cur-wrap .sym{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:500;color:var(--text-hint);pointer-events:none}.lp .cur-wrap input{padding-left:24px}
.lp .pct-wrap{position:relative}.lp .pct-wrap .sym{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:500;color:var(--text-hint);pointer-events:none}.lp .pct-wrap input{padding-right:28px}

/* TAX RESULTS */
.lp .tax-result{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
.lp .tax-col{padding:16px 18px;background:var(--bg-surface);border-radius:var(--radius);border:1px solid var(--border-light)}
.lp .tax-col-title{font-size:11px;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.lp .tax-col-title .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.lp .tax-row{display:flex;justify-content:space-between;padding:6px 0;font-size:12px;border-bottom:1px solid var(--border-light)}.lp .tax-row:last-child{border:none}
.lp .tax-row .tl{color:var(--text-secondary);font-weight:500}.lp .tax-row .tv{font-weight:700}
.lp .tax-row.total{font-size:13px;padding-top:8px;border-top:2px solid var(--border)}.lp .tax-row.total .tl,.lp .tax-row.total .tv{font-weight:800}
.lp .tax-row.green .tv{color:var(--green)}.lp .tax-row.highlight{background:var(--cyan-soft);margin:0 -10px;padding:8px 10px;border-radius:6px;border:none}
.lp .tax-bracket{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:11px}
.lp .tax-bracket-bar{height:22px;border-radius:4px;display:flex;align-items:center;padding:0 8px;font-size:10px;font-weight:700;color:#fff;min-width:4px;transition:width .4s ease}

/* SAVINGS */
.lp .sav-scenario{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:16px 18px;margin-bottom:10px;box-shadow:var(--shadow-sm)}
.lp .sav-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.lp .sav-title{font-size:14px;font-weight:700}.lp .sav-value{font-size:20px;font-weight:800;color:var(--navy)}

/* STRATEGY TOGGLES - from mortgage */
.lp .st{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius);margin-bottom:6px;cursor:pointer;transition:all .15s;user-select:none}.lp .st:hover{border-color:var(--cyan)}.lp .st.on{border-color:var(--cyan);background:var(--cyan-soft)}.lp .stl{display:flex;align-items:center;gap:10px}.lp .stc{width:20px;height:20px;border-radius:6px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.lp .st.on .stc{border-color:var(--cyan);background:var(--cyan)}.lp .st.on .stc::after{content:'';display:block;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}.lp .stn{font-size:13px;font-weight:700}.lp .std{font-size:11px;color:var(--text-hint);margin-top:1px}.lp .sti{font-size:11px;font-weight:700;color:var(--green);white-space:nowrap}
.lp .scfg{display:none;padding:14px 18px;background:var(--bg-surface);border-radius:0 0 var(--radius) var(--radius);margin-top:-7px;margin-bottom:6px;border:1px solid var(--border-light);border-top:none}.lp .scfg.open{display:block}
.lp .lr{display:flex;gap:8px;align-items:end;margin-bottom:8px}.lp .lr .field{flex:1}.lp .rb{height:40px;width:40px;min-width:40px;border:1px solid var(--border);background:transparent;border-radius:8px;cursor:pointer;font-size:18px;color:var(--text-hint);display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:inherit}.lp .rb:hover{border-color:var(--red);color:var(--red);background:var(--red-light)}.lp .ab{display:inline-flex;align-items:center;gap:4px;border:1px dashed var(--border);background:transparent;border-radius:8px;padding:7px 14px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-secondary);transition:all .15s;font-family:inherit}.lp .ab:hover{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-soft)}
.lp .next-btn{display:flex;align-items:center;gap:8px;margin-top:20px;margin-left:auto;padding:10px 24px;background:var(--cyan);color:#fff;border:none;border-radius:8px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s;box-shadow:0 2px 8px rgba(1,203,240,0.3)}.lp .next-btn:hover{background:var(--navy);box-shadow:0 2px 12px rgba(0,31,116,0.4)}.lp .next-btn svg{width:16px;height:16px;fill:currentColor}

/* PACKAGES */
.lp .pg{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:4px}.lp .pc{background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--radius-lg);padding:16px 18px;cursor:pointer;transition:all .2s;position:relative}.lp .pc:hover{border-color:var(--cyan);box-shadow:var(--shadow)}.lp .pc.sel{border-color:var(--cyan);background:var(--cyan-soft)}.lp .pc.sel::after{content:'Active';position:absolute;top:10px;right:12px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:0.06em;color:var(--cyan);background:rgba(1,203,240,0.15);padding:3px 10px;border-radius:20px}.lp .pn{font-size:14px;font-weight:800;margin-bottom:2px}.lp .pdd{font-size:11px;color:var(--text-secondary);margin-bottom:10px;line-height:1.5}.lp .pts{display:flex;flex-wrap:wrap;gap:4px}.lp .ptg{font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px;background:var(--bg-surface);color:var(--text-secondary)}

/* CHARTS & COMPARISON */
.lp .cc{position:relative;width:100%;height:340px}.lp .leg{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:8px;font-size:11px;font-weight:500;color:var(--text-secondary)}.lp .li{display:flex;align-items:center;gap:5px}.lp .ld{width:10px;height:3px;border-radius:2px}
.lp .cpc{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:16px 18px;margin-bottom:10px;box-shadow:var(--shadow-sm)}.lp .cpc.best{border:2px solid var(--cyan)}.lp .cpn{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;margin-bottom:3px}.lp .cpd{font-size:11px;color:var(--text-secondary);margin-bottom:10px}.lp .badge{font-size:9px;font-weight:800;padding:3px 10px;border-radius:20px;background:var(--cyan-soft);color:var(--cyan);text-transform:uppercase;letter-spacing:0.05em}.lp .cpm{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lp .cml{font-size:9px;color:var(--text-hint);text-transform:uppercase;letter-spacing:0.05em;font-weight:700}.lp .cmv{font-size:16px;font-weight:800;margin-top:2px}.lp .cms{font-size:10px;color:var(--green);font-weight:600;margin-top:1px}

/* STATS BAR */
.lp .sbar{background:var(--bg-card);border-bottom:1px solid var(--border-light);padding:10px 28px;display:flex;gap:10px;align-items:stretch;z-index:50;box-shadow:var(--shadow-sm);flex-wrap:wrap;flex-shrink:0;width:100%;box-sizing:border-box}.lp .sbi{flex:1;min-width:120px;padding:8px 12px;border-radius:var(--radius);background:var(--bg-surface)}.lp .sbl{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-hint);margin-bottom:1px}.lp .sbv{font-size:15px;font-weight:800;letter-spacing:-0.02em}.lp .sbs{font-size:8px;color:var(--text-secondary);margin-top:1px;line-height:1.3}.lp .sbs .sv{color:var(--green);font-weight:700}

/* WATERFALL */
.lp .wr{display:flex;align-items:center;margin-bottom:8px}.lp .wl{width:150px;font-weight:600;color:var(--text-secondary);font-size:11px;text-align:right;padding-right:14px;flex-shrink:0;line-height:1.3}.lp .wba{flex:1;position:relative}.lp .wb{height:30px;border-radius:6px;transition:width .5s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;padding:0 10px;min-width:4px;position:relative}.lp .wbt{font-size:10px;font-weight:700;color:#fff;white-space:nowrap}.lp .wsv{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);font-size:10px;font-weight:700;color:var(--green);white-space:nowrap}

/* LAYOUT */
.lp .p1-layout{display:flex;gap:20px;align-items:flex-start}.lp .p1-left{flex:1;min-width:0;max-width:50%}.lp .p1-right{flex:1;min-width:50%}.lp .p1-sticky{position:sticky;top:60px}.lp .p1-right .cc{height:380px}
.lp .p1-wf-mobile{display:none}.lp .p1-wf-desktop{display:block}
@media(max-width:1200px){.lp .p1-layout{display:block}.lp .p1-left{max-width:none}.lp .p1-right{width:auto;min-width:auto;margin-top:14px}.lp .p1-sticky{position:static}.lp .p1-wf-mobile{display:block}.lp .p1-wf-desktop{display:none}}

/* AMORT */
.lp .amort-tabs{display:flex;gap:2px;background:var(--bg-surface);border-radius:10px;padding:3px;margin-bottom:14px;overflow-x:auto}.lp .amort-tab{flex:1 0 auto;padding:9px 14px;font-size:11px;font-weight:700;text-align:center;color:var(--text-hint);background:none;border:none;border-radius:8px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:all .15s}.lp .amort-tab.active{color:var(--navy);background:var(--bg-card);box-shadow:var(--shadow-sm)}.lp .amort-summary{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.lp .amort-pill{padding:7px 14px;background:var(--bg-surface);border-radius:8px;font-size:12px;font-weight:600;color:var(--text-secondary)}.lp .amort-pill.green{background:var(--green-light);color:var(--green)}.lp .amort-wrap{max-height:360px;overflow-y:auto;border:1px solid var(--border-light);border-radius:var(--radius)}.lp .amort-wrap table{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}.lp .amort-wrap th{position:sticky;top:0;background:var(--bg-surface);text-align:left;padding:8px 10px;font-weight:700;color:var(--text-hint);font-size:9px;text-transform:uppercase;letter-spacing:0.05em}.lp .amort-wrap td{padding:6px 10px;border-top:1px solid var(--border-light);font-weight:500}.lp .amort-wrap tr.hl td{background:var(--cyan-soft)}

/* PDF */
.lp .pdfs{margin-top:22px;padding:18px 22px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.lp .pdfr{display:flex;gap:12px;align-items:end}.lp .pdfb{height:40px;padding:0 24px;border:none;border-radius:8px;background:var(--navy);color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap;display:flex;align-items:center;gap:8px}.lp .pdfb:hover{background:var(--navy-light)}.lp .pdfb svg{width:16px;height:16px}
.lp .schb{width:100%;border:1px solid var(--border);background:transparent;border-radius:var(--radius);padding:10px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-secondary);transition:all .15s;font-family:inherit;margin-top:14px}.lp .schb:hover{background:var(--bg-surface)}.lp .schw{margin-top:10px;max-height:280px;overflow-y:auto;border:1px solid var(--border-light);border-radius:var(--radius)}.lp .schw table{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}.lp .schw th{position:sticky;top:0;background:var(--bg-surface);text-align:left;padding:7px 8px;font-weight:700;color:var(--text-hint);font-size:9px;text-transform:uppercase;letter-spacing:0.05em}.lp .schw td{padding:6px 8px;border-top:1px solid var(--border-light);font-weight:500}.lp .schw tr.hl td{background:var(--cyan-soft)}

.lp .fn{text-align:center;font-size:10px;color:var(--text-hint);margin-top:28px;padding-top:18px;border-top:1px solid var(--border-light);line-height:1.7;font-weight:500}
.lp .mode-wrap{display:flex;gap:0;align-items:stretch}.lp .mode-wrap input{border-radius:8px 0 0 8px;border-right:none;flex:1}.lp .mode-btn{height:40px;min-width:44px;border:1px solid var(--border);border-left:none;border-radius:0 8px 8px 0;background:var(--bg-surface);color:var(--navy);font-size:13px;font-weight:800;cursor:pointer;font-family:inherit;transition:all .15s;display:flex;align-items:center;justify-content:center}.lp .mode-btn:hover{background:var(--cyan-soft);color:var(--cyan)}.lp .mode-btn.active-pct{background:var(--navy);color:#fff}.lp .mode-btn.active-dollar{background:var(--green);color:#fff}
.lp .view-toggle{display:flex;gap:2px;background:var(--bg-surface);border-radius:10px;padding:3px;margin-bottom:18px}.lp .view-toggle-btn{flex:1;padding:10px 16px;font-size:13px;font-weight:700;text-align:center;color:var(--text-hint);background:none;border:none;border-radius:8px;cursor:pointer;font-family:inherit;transition:all .15s}.lp .view-toggle-btn.active{color:#fff;background:var(--navy);box-shadow:var(--shadow-sm)}.lp .view-toggle-btn:hover:not(.active){color:var(--text-primary);background:rgba(0,31,116,0.04)}
.lp .assume-tbl{width:100%;border-collapse:collapse;font-size:11px}.lp .assume-tbl th{padding:8px 6px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--text-hint);border-bottom:2px solid var(--border);text-align:center;white-space:nowrap}.lp .assume-tbl td{padding:6px 4px;border-bottom:1px solid var(--border-light);text-align:center;white-space:nowrap}.lp .assume-tbl input[type=number]{width:48px;padding:4px 2px;text-align:center;border:1px solid var(--border-light);border-radius:4px;font-size:11px;font-family:inherit;background:var(--bg-surface)}.lp .assume-tbl input[type=number]:disabled{opacity:0.5;cursor:not-allowed;background:var(--bg-secondary)}.lp .assume-tbl tr:hover{background:rgba(0,31,116,0.02)}
.lp .inc-src{display:flex;gap:8px;align-items:end;margin-bottom:8px;padding:10px 12px;background:var(--bg-surface);border-radius:var(--radius);border:1px solid var(--border-light)}.lp .inc-src .field{flex:1}.lp .inc-src select{height:36px;font-size:12px}.lp .inc-src .cur-wrap input{height:36px;font-size:12px}.lp .inc-type-tag{display:inline-block;font-size:9px;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:0.04em}.lp .inc-type-tag.taxable{background:rgba(0,31,116,0.08);color:var(--navy)}.lp .inc-type-tag.tax-free{background:var(--green-light);color:var(--green)}
.lp .asmp-tbl{width:100%;border-collapse:collapse;font-size:11px}.lp .asmp-tbl th{background:var(--navy);color:#fff;padding:8px 6px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;text-align:center;white-space:nowrap}.lp .asmp-tbl th:first-child{text-align:left;border-radius:6px 0 0 0}.lp .asmp-tbl th:last-child{border-radius:0 6px 0 0}.lp .asmp-tbl td{padding:6px;text-align:center;border-bottom:1px solid var(--border-light);font-size:11px}.lp .asmp-tbl td:first-child{text-align:left;font-weight:700}.lp .asmp-tbl tr:last-child td{border-bottom:none}.lp .asmp-tbl .hl-row{background:rgba(1,203,240,0.06)}
.lp .plan-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:start}.lp .plan-col{padding:16px;background:var(--bg-surface);border-radius:var(--radius)}.lp .plan-arrow{display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--cyan);padding-top:30px}.lp .plan-diff{margin-top:12px;padding:12px 16px;border-radius:var(--radius);font-size:12px}.lp .plan-diff.positive{background:var(--green-light);color:var(--green)}.lp .plan-diff.negative{background:var(--red-light);color:var(--red)}
.lp .partner-toggle{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-lg);margin-bottom:14px;cursor:pointer;transition:all .2s;user-select:none}.lp .partner-toggle:hover{border-color:var(--cyan)}.lp .partner-toggle.on{border:2px solid var(--cyan);background:var(--cyan-soft)}.lp .partner-toggle .pt-left{display:flex;align-items:center;gap:12px}.lp .partner-toggle .pt-icon{width:36px;height:36px;border-radius:10px;background:var(--bg-surface);display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .2s}.lp .partner-toggle.on .pt-icon{background:var(--cyan);color:#fff}.lp .partner-toggle .pt-text{font-size:14px;font-weight:700}.lp .partner-toggle .pt-desc{font-size:11px;color:var(--text-hint);margin-top:1px}.lp .partner-toggle .pt-switch{width:44px;height:24px;border-radius:12px;background:var(--border);position:relative;transition:background .2s}.lp .partner-toggle.on .pt-switch{background:var(--cyan)}.lp .partner-toggle .pt-switch::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,0.2)}.lp .partner-toggle.on .pt-switch::after{transform:translateX(20px)}

@media(max-width:768px){
  /* Layout skeleton */
  .lp .sidebar{display:none}.lp .mnav{display:block}
  .lp .main{margin-left:0;width:100vw;max-width:100%;height:100vh;height:100dvh}
  .lp .content{padding:14px 12px 80px}
  .lp .card{padding:14px 14px;border-radius:14px}

  /* Summary bar — 2-col wrap */
  .lp .sbar{padding:8px 10px;gap:5px;flex-wrap:wrap}
  .lp .sbi{min-width:calc(50% - 5px);flex:0 0 calc(50% - 5px);padding:6px 8px;border-radius:8px}
  .lp .sbl{font-size:7px}.lp .sbv{font-size:12px}.lp .sbs{font-size:7px}

  /* Named grid class collapses */
  .lp .g2,.lp .g3,.lp .g4{grid-template-columns:1fr !important}
  .lp .tax-result{grid-template-columns:1fr}
  .lp .cpm{grid-template-columns:1fr}
  .lp .pdfr{flex-direction:column}
  .lp .pdfb{width:100%;justify-content:center}
  .lp .pg{grid-template-columns:1fr}
  .lp .wl{width:100px;font-size:10px}
  .lp .plan-compare{grid-template-columns:1fr !important;gap:10px}
  .lp .plan-arrow{display:none}

  /* Inline grid collapses */
  .lp [style*="grid-template-columns:1fr 1fr"],.lp [style*="grid-template-columns:repeat(2"],.lp 
  [style*="grid-template-columns:1fr 1fr 1fr"],.lp [style*="grid-template-columns:repeat(3"],.lp 
  [style*="grid-template-columns:1fr 1fr 1fr 1fr"],.lp [style*="grid-template-columns:repeat(4"],.lp 
  [style*="grid-template-columns:1fr 1fr 1fr 1fr 1fr"],.lp [style*="grid-template-columns:repeat(5"],.lp 
  [style*="grid-template-columns:1fr auto 1fr"]{grid-template-columns:1fr !important}

  /* Exceptions — keep 2-col */
  .lp .mob-2col{grid-template-columns:1fr 1fr !important}
  .lp #csKPIRow,.lp #csToolsGrid{grid-template-columns:1fr 1fr !important}
  .lp #csServiceGrid,.lp #csMainGrid,.lp #csProfileGrid{grid-template-columns:1fr !important}
  .lp #sup_lump_eligibility{grid-template-columns:1fr !important}
  .lp [data-sup-lump]{grid-template-columns:1fr 1fr !important}
  .lp [data-sup-lump] > div:last-child{grid-column:1/-1;display:flex;justify-content:flex-end}

  /* Tables */
  .lp .amort-wrap{overflow-x:auto}
  .lp table{font-size:9px}
  .lp th,.lp td{padding:4px 5px !important}

  /* ── POPUP: bottom sheet ── */
  .lp .cp-popup-inner{
    width:100% !important;max-width:100% !important;
    border-radius:22px 22px 0 0 !important;
    position:fixed !important;bottom:0 !important;left:0 !important;right:0 !important;
    max-height:90vh !important;margin:0 !important
  }
  .lp #cpPopup{align-items:flex-end !important}
  .lp .cp-popup-inner > div:first-child{
    border-radius:22px 22px 0 0 !important;
    padding:12px 18px 16px !important
  }
  .lp .cp-popup-inner > div:first-child .mob-drag-handle{display:block !important}
  .lp .cp-popup-inner > div:first-child div[style*="font-size:18px"]{font-size:16px !important}

  /* Popup scrollable body */
  .lp .cp-popup-body{padding:18px 16px 8px !important;-webkit-overflow-scrolling:touch}

  /* Sticky footer — save button always visible */
  .lp .cp-popup-footer{
    padding:12px 16px 28px !important;
    border-radius:0 !important
  }
  .lp .cp-popup-footer button{
    min-height:52px !important;
    font-size:15px !important;
    border-radius:14px !important
  }

  /* Popup fields — readable sizes */
  .lp .cp-popup-body input,.lp .cp-popup-body select{
    height:46px !important;font-size:15px !important;
    border-radius:10px !important;padding:0 12px !important
  }
  .lp .cp-popup-body .pct-wrap input{height:46px !important;font-size:15px !important}
  .lp .cp-popup-body label,.lp [class~="field"] label{font-size:11px !important;margin-bottom:5px !important}

  /* Page-level fields */
  .lp input,.lp select{min-height:40px}
  .lp .field label{font-size:10px}

  /* Page titles */
  .lp .pt{font-size:18px !important}
  .lp .pd{font-size:11px !important}
  .lp .ct{font-size:9px}

  /* Charts */
  .lp canvas{max-height:240px !important}

  /* Floating save button */
  .lp #calcSaveBtn{bottom:72px !important;right:12px !important;font-size:10px !important;padding:10px 16px !important}

  /* Mobile tab navigation */
  .lp .mtabs{gap:1px;padding:2px}
  .lp .mtab{padding:7px 8px;font-size:9px}

  .lp .mob-hide{display:none !important}
}

@media(max-width:480px){
  .lp .content{padding:10px 10px 76px}
  .lp .card{padding:12px 12px;margin-bottom:10px}
  .lp .sbi{min-width:calc(50% - 4px);flex:0 0 calc(50% - 4px)}
  .lp .sbv{font-size:11px}
  .lp .pt{font-size:16px !important}
  .lp .mtab{padding:6px 7px;font-size:8px}
  .lp canvas{max-height:200px !important}
  .lp [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important}
  .lp .mob-2col{grid-template-columns:1fr 1fr !important}
  .lp .cp-popup-body input,.lp .cp-popup-body select{height:48px !important;font-size:16px !important}
  .lp .cp-popup-footer{padding:10px 14px 32px !important}
  .lp .cp-popup-footer button{min-height:54px !important;font-size:16px !important}
}

@media print {
  .lp *{margin:0;padding:0;box-sizing:border-box}
  .lp{font-family:'Segoe UI',Arial,sans-serif;color:#001f74;font-size:10pt;line-height:1.5}
  @page{size:A4;margin:18mm 14mm 22mm 14mm}
  @page{@bottom-center{content:"Fintor Group | ABN 52 672 923 796 | AFSL 559 460 | Prepared ${today}  |  Page " counter(page) " of " counter(pages);font-size:7pt;color:#888}}

  /* Page breaks */
  .lp .page-break{page-break-before:always}
  .lp .no-break{page-break-inside:avoid}

  /* Cover */
  .lp .cover{min-height:240mm;background:#001f74;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:32mm 24mm;position:relative}
  .lp .cover-accent{width:60px;height:4px;background:#01cbf0;margin-bottom:24px;border-radius:2px}
  .lp .cover h1{font-size:28pt;font-weight:900;line-height:1.15;margin-bottom:16px;color:#fff}
  .lp .cover h2{font-size:14pt;font-weight:400;color:rgba(255,255,255,0.75);margin-bottom:40px}
  .lp .cover-meta{border-top:1px solid rgba(255,255,255,0.2);padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .lp .cover-meta div{font-size:9pt}
  .lp .cover-meta label{font-size:7.5pt;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.05em;display:block;margin-bottom:3px}
  .lp .cover-meta strong{color:#01cbf0;font-size:11pt}
  .lp .cover-footer{position:absolute;bottom:20mm;left:24mm;right:24mm;font-size:7.5pt;color:rgba(255,255,255,0.4)}

  /* Wordmark */
  .lp .wordmark{font-size:18pt;font-weight:900;letter-spacing:-0.02em;color:#fff}
  .lp .wordmark span{color:#01cbf0}

  /* Section headers */
  .lp .section-header{border-left:4px solid #01cbf0;padding:6px 12px;margin:20px 0 14px;background:#f0f7ff}
  .lp .section-header h2{font-size:13pt;font-weight:800;color:#001f74}
  .lp .section-header p{font-size:8pt;color:#555;margin-top:2px}

  /* Page header (all pages except cover) */
  .lp .page-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #001f74;padding-bottom:8px;margin-bottom:20px}
  .lp .page-header .logo{font-size:11pt;font-weight:900;color:#001f74;letter-spacing:-0.02em}
  .lp .page-header .logo span{color:#01cbf0}
  .lp .page-header .meta{font-size:7.5pt;color:#888;text-align:right}

  /* Two column */
  .lp .two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .lp .three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}

  /* Info table */
  .lp .info-table{width:100%;border-collapse:collapse;margin-bottom:14px}
  .lp .info-table td{padding:5px 8px;border-bottom:1px solid #e5eaf5;font-size:9pt;vertical-align:top}
  .lp .info-table td:first-child{font-weight:700;color:#001f74;width:48%;white-space:nowrap}
  .lp .info-table td:last-child{color:#333}

  /* KPI tiles */
  .lp .kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}
  .lp .kpi-tile{border:1px solid #e5eaf5;border-radius:8px;padding:12px 14px;text-align:center}
  .lp .kpi-tile .kpi-lbl{font-size:7pt;color:#888;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;margin-bottom:6px}
  .lp .kpi-tile .kpi-val{font-size:18pt;font-weight:900;color:#001f74;line-height:1}
  .lp .kpi-tile .kpi-sub{font-size:7pt;color:#888;margin-top:4px}
  .lp .kpi-tile.green{border-color:#0FA95B;background:#f0faf5}.lp .kpi-tile.green .kpi-val{color:#0FA95B}
  .lp .kpi-tile.purple{border-color:#8300e9;background:#f9f0ff}.lp .kpi-tile.purple .kpi-val{color:#8300e9}
  .lp .kpi-tile.amber{border-color:#d97706;background:#fffbf0}.lp .kpi-tile.amber .kpi-val{color:#d97706}

  /* Year-by-year table */
  .lp .yr-table{width:100%;border-collapse:collapse;font-size:7.5pt;margin-top:8px}
  .lp .yr-table th{background:#001f74;color:#fff;padding:5px 5px;text-align:right;font-size:6.5pt;font-weight:700;white-space:nowrap}
  .lp .yr-table th:first-child{text-align:left}
  .lp .yr-table td{padding:4px 5px;text-align:right;border-bottom:1px solid #e5eaf5;white-space:nowrap}
  .lp .yr-table td:first-child{text-align:left;font-weight:700}
  .lp .yr-table tr.alt td{background:#f7f9ff}
  .lp .yr-table tr.lump-row td{background:#fffbee}
  .lp .yr-table .pos{color:#0FA95B}.lp .yr-table .neg{color:#e53e3e}
  .lp .yr-table .purple{color:#8300e9}.lp .yr-table .muted{color:#888}.lp .yr-table .lump{color:#d97706;font-weight:700}

  /* Strategy explanation */
  .lp .strategy-box{border:1px solid #e5eaf5;border-radius:8px;padding:16px 18px;margin:14px 0;background:#f7f9ff}
  .lp .strategy-box h3{font-size:11pt;font-weight:800;color:#001f74;margin-bottom:8px}
  .lp .strategy-box p{font-size:9pt;color:#333;margin-bottom:8px;line-height:1.6}
  .lp .strategy-box ul{padding-left:18px;font-size:9pt;color:#333;line-height:1.8}

  /* Risk box */
  .lp .risk-box{border-left:4px solid #e53e3e;background:#fff5f5;padding:12px 14px;border-radius:0 8px 8px 0;margin:12px 0}
  .lp .risk-box h4{font-size:9pt;font-weight:800;color:#e53e3e;margin-bottom:6px}
  .lp .risk-box ul{padding-left:16px;font-size:8.5pt;color:#555;line-height:1.7}

  /* Diagram */
  .lp .diagram-wrap{background:#f7f9ff;border:1px solid #e5eaf5;border-radius:8px;padding:14px;margin:14px 0}
  .lp .diagram-wrap svg{width:100%;height:auto}

  /* Charts */
  .lp .chart-img{width:100%;height:auto;border-radius:6px;border:1px solid #e5eaf5}

  /* Disclaimer */
  .lp .disclaimer{font-size:7.5pt;color:#888;line-height:1.6;border-top:1px solid #e5eaf5;padding-top:12px;margin-top:16px}
  .lp .disclaimer strong{color:#555}

  /* Print-only show */
  @media screen{.lp{max-width:210mm;margin:0 auto;padding:10mm;background:#f5f5f5}
    .lp .cover{border-radius:8px;margin-bottom:20px}
    .lp .page-break{margin-top:30px;border-top:2px dashed #ccc;padding-top:20px}}
}

/* ═══ Workspace mount overrides (not from fintor.css) ═══
 * The old screen built #profileApp / #cpEntityPage as fixed full-screen overlays appended to <body>. In the workspace they
 * are appended inside #lp-root (the tab body), so the overlay positioning is neutralised; popups (#cpPopup, #profileModal)
 * still overlay the whole window exactly as before. */
.lp#lp-root{min-height:200px}
.lp #profileApp,.lp #cpEntityPage{position:static !important;width:auto !important;height:auto !important;overflow:hidden !important;z-index:auto !important;border-radius:14px}
.lp #profileApp>div:first-child,.lp #cpEntityPage>div:first-child{border-radius:14px 14px 0 0}
/* full-width sections: the old screen centred its body at 90% of a full-screen overlay; inside the tab it should fill the column */
.lp #profileApp>div[style*="max-width:90%"],.lp #cpEntityPage>div[style*="max-width:90%"]{max-width:100% !important;padding-left:0 !important;padding-right:0 !important}
/* legacy roadmap — #roadmapApp (src/shell/20-client-screen.html) was a fixed full-screen app with its own scroll; inside
 * #lp-root it is a normal block. The floating tab bar keeps straddling the header/content border as before (the header is
 * position:relative and the bar is absolutely positioned inside it). "Back to client" has nowhere to go here. */
.lp #roadmapApp{position:static !important;width:auto !important;height:auto !important;overflow:visible !important;z-index:auto !important;border-radius:14px;color:var(--text-primary)}
.lp #roadmapApp>div:first-child{border-radius:14px 14px 0 0}
.lp #roadmapApp button[onclick="goToClientScreen()"]{display:none}
