:root{--navy:#001b42;--teal:#008e91;--bright:#00a7a7;--mint:#e9f7f5;--ink:#182c47;--muted:#748194;--line:#e5eaf0;--bg:#f6f8fb;--white:#fff;--shadow:0 3px 16px #001b4204;font-family:'Avenir Next',Avenir,'Segoe UI',sans-serif;color:var(--ink);font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg)}[hidden]{display:none!important}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--teal)}button{color:inherit}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--navy);letter-spacing:-.045em}h1{font-size:36px;line-height:1.22;font-weight:750}h2{font-size:22px;font-weight:750}h3{font-size:16px}p{line-height:1.65;color:var(--muted)}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);white-space:nowrap;font-weight:800;font-size:21px;letter-spacing:-1px}.brand img{object-fit:contain}.brand-dot{color:var(--bright)}.button{min-height:42px;display:inline-flex;gap:9px;align-items:center;justify-content:center;padding:10px 18px;border-radius:7px;border:1px solid transparent;font-weight:650;font-size:13px;white-space:nowrap;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--navy);color:white;box-shadow:0 3px 5px #001b4210}.button.primary:hover{background:#12375f}.button.secondary{background:white;border-color:var(--line);color:var(--ink)}.button.secondary:hover{background:var(--bg)}.button.white{background:white;color:var(--navy)}.button.small{min-height:36px;padding:8px 12px;font-size:12px}.button .icon{width:17px;height:17px}.full{width:100%}.text-button,.icon-button{background:none;border:0}.text-button{padding:4px 0;color:var(--teal);font-weight:600;font-size:12px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:var(--muted)}.icon-button:hover{background:var(--mint);color:var(--teal)}.danger{color:#a4444b}.eyebrow{display:block;font-size:10px;font-weight:750;letter-spacing:1.8px;margin-bottom:11px;color:#74869e}.teal{color:var(--teal)}.muted{color:var(--muted);font-size:12px}.tag{font-size:10px;font-weight:700;padding:6px 10px;border-radius:5px;letter-spacing:.6px;background:var(--mint);color:var(--teal)}.tag.light{display:inline-block;background:#ffffff17;color:#b2e4e2;border:1px solid #ffffff1c;font-size:9px;letter-spacing:1.7px}.workspace{display:flex;min-height:100vh}.sidebar{width:224px;flex-shrink:0;background:white;border-right:1px solid var(--line);padding:32px 21px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:10}.workspace-label{font-size:9px;color:#9ba5b2;font-weight:700;letter-spacing:1.7px;margin:48px 10px 15px}.nav-item{width:100%;display:flex;align-items:center;gap:10px;background:none;border:0;text-align:left;font-size:12px;font-weight:650;padding:11px 12px;border-radius:6px}.nav-item.active{background:var(--mint);color:var(--teal)}.nav-item .icon{width:18px;height:18px}.nav-count{margin-left:auto;background:#d6eeeb;padding:2px 6px;border-radius:4px;font-size:10px}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;margin:28px 10px 9px;color:#93a0b0;font-size:9px;letter-spacing:1.4px;font-weight:750}.sidebar-heading .icon-button{width:23px;height:23px}.sidebar-heading .icon{width:15px}.plan-nav{display:flex;flex-direction:column;gap:5px;overflow:auto}.plan-link{display:flex;align-items:center;gap:9px;border:0;background:none;font-size:12px;text-align:left;line-height:1.4;padding:9px 12px;color:#738197;border-radius:6px}.plan-link:before{content:'';width:6px;height:6px;flex-shrink:0;background:#ced6df;border-radius:50%}.plan-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-link.selected{color:var(--navy);background:var(--bg);font-weight:650}.plan-link.selected:before{background:var(--bright)}.sidebar-bottom{margin-top:auto;padding-top:35px}.sidebar-note{background:#f6f9fc;border:1px solid #edf0f4;border-radius:8px;padding:16px 14px}.small-spark{display:block;color:var(--teal);font-size:26px;font-weight:700;line-height:1;margin-bottom:15px}.sidebar-note strong{display:block;font-size:12px;color:var(--navy);margin-bottom:6px}.sidebar-note p{font-size:10px;line-height:1.8}.sidebar-privacy{display:flex;align-items:center;gap:7px;justify-content:center;color:#92a0b0;font-size:10px;margin-top:22px}.sidebar-privacy .icon{width:14px;height:14px}.main-shell{width:calc(100% - 224px);margin-left:224px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#ffffffb0;padding:0 42px}.breadcrumb{display:flex;gap:13px;align-items:center;color:#9aa5b4;font-size:11px}.breadcrumb .icon{width:12px;height:12px;color:#b3beca}.breadcrumb span{color:#52647b}.account{display:flex;align-items:center;gap:12px}.avatar{background:#e6f2f1;color:var(--teal);font-size:10px;font-weight:750;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.local-badge{font-size:8px;letter-spacing:1.3px;color:#8794a5}.topbar .icon-button{width:24px}main{width:100%;max-width:1450px;padding:37px 42px 24px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}.page-heading h1 span{color:var(--bright)}.page-heading p{font-size:12px;margin-top:10px}.heading-actions{display:flex;gap:9px;align-items:center}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:30px 0 17px}.section-heading h2{font-size:21px}.overview-intro{background:var(--navy);color:white;min-height:285px;border-radius:12px;display:flex;overflow:hidden;position:relative}.intro-copy{padding:32px 36px;z-index:1;flex:1}.intro-copy h2{font-size:30px;color:white;line-height:1.25;letter-spacing:-.04em;margin:18px 0 10px}.intro-copy p{font-size:12px;color:#a9bfd5;max-width:320px;margin-bottom:20px}.intro-copy .button{font-size:11px;min-height:36px}.intro-graphic{width:43%;position:relative;align-self:stretch;background:radial-gradient(ellipse at 60% 70%,#00576c66,transparent 65%)}.graphic-bars{position:absolute;bottom:63px;left:15px;right:34px;height:150px;display:flex;gap:12px;align-items:flex-end;transform:skewY(-4deg)}.graphic-bars i{background:linear-gradient(0deg,#00a7a755,#00a7a7);flex:1;border-radius:5px 5px 0 0;height:100%;border:1px solid #20bbb555;box-shadow:6px 5px 0 #001a3c44}.graphic-bars i:nth-child(2){height:85%}.graphic-bars i:nth-child(3){height:69%}.graphic-bars i:nth-child(4){height:52%}.graphic-bars i:nth-child(5){height:37%}.graphic-bars i:nth-child(6){height:21%}.graphic-bars i:nth-child(7){height:6%;background:#b4ede6}.graphic-finish{position:absolute;bottom:30px;right:30px;display:flex;align-items:center;gap:7px;font-size:9px;font-weight:700;letter-spacing:1.7px;color:#a2dfd9}.graphic-finish .icon{background:#00a7a722;width:21px;height:21px;padding:3px;border-radius:50%}.plan-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.plan-card{border:1px solid var(--line);border-radius:10px;background:white;padding:24px;text-align:left;transition:box-shadow .15s,border .15s;min-height:195px;display:flex;flex-direction:column}.plan-card:hover{border-color:#8cc8c8;box-shadow:0 7px 20px #001b4208}.plan-card .plan-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.plan-card-icon{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:8px;background:var(--mint);color:var(--teal)}.plan-card h3{font-size:17px;overflow-wrap:anywhere}.plan-card p{font-size:11px;margin-top:5px}.plan-card-bottom{margin-top:20px;display:flex;justify-content:space-between;align-items:center}.plan-card-bottom strong{font-size:21px;letter-spacing:-.6px;color:var(--navy)}.plan-card-bottom .icon{width:17px;color:var(--teal)}.empty-card{border:1px dashed #c9d3df;border-radius:10px;padding:30px;text-align:center;grid-column:1/-1;background:#ffffff80}.empty-card h3{margin:9px 0}.empty-card p{font-size:12px}.empty-card>.icon{color:var(--teal);width:30px;height:30px}.principles{display:flex;justify-content:center;gap:28px;color:#8c99aa;font-size:10px;margin-top:35px}.principles span{display:flex;align-items:center;gap:6px}.principles .icon{width:14px;height:14px;color:#91aaa9}.editor-heading{margin-bottom:25px}.editor-heading h1{font-size:31px}.plan-toolbar{display:flex;align-items:flex-end;gap:18px;margin-bottom:25px}.plan-toolbar label{font-size:10px;font-weight:600;color:#7a899d;display:flex;flex-direction:column;gap:7px;min-width:100px}.plan-toolbar .plan-name-label{min-width:160px;max-width:240px;flex:1}input,select{border:1px solid #dfe5ed;border-radius:6px;background:white;color:var(--ink);padding:10px 12px;min-width:0;font-size:12px;line-height:1.4}input:focus,select:focus{border-color:var(--teal);outline:2px solid #00a7a71a;outline-offset:0}input:invalid:not(:placeholder-shown){border-color:#ba7373}.save-status{font-size:10px;color:#8e9cab;margin-left:auto;white-space:nowrap;padding-bottom:12px}.save-status.unsaved{color:#ad7b30}.card{border:1px solid var(--line);border-radius:10px;background:white;box-shadow:var(--shadow);overflow:hidden}.card-heading{display:flex;justify-content:space-between;align-items:center;padding:23px 25px;gap:12px}.card-heading h2{font-size:19px;display:flex;align-items:center;gap:10px}.card-heading p{font-size:11px;margin-top:5px}.card-heading .eyebrow{font-size:8px;margin-bottom:8px;letter-spacing:1.4px}.count-pill{font-size:10px;background:#eef2f6;color:#708098;border-radius:5px;padding:3px 6px;letter-spacing:0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:9px;color:#91a0b2;letter-spacing:.6px;font-weight:650;background:#fafbfd;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4;padding:13px 16px}th:first-child,td:first-child{padding-left:25px}th:last-child,td:last-child{padding-right:25px}td{padding:12px 16px;font-size:11px;border-bottom:1px solid #eff2f5;color:#586b82}tbody tr:last-child td{border-bottom:0}td:first-child{color:var(--navy);font-weight:550}.debt-table th:first-child{width:43%}.debt-table td{padding-top:7px;padding-bottom:7px}.debt-table td:last-child{width:35px}.debt-table input{width:100%;border-color:transparent;background:transparent;padding:9px 0;border-radius:3px}.debt-table input:focus{background:#f7fafa;border-color:#a9d4d0;padding-left:6px}.debt-table .number-cell input{width:110px;font-variant-numeric:tabular-nums}.debt-table .rate-cell input{width:72px}.debt-table input[type=number]{appearance:textfield;-moz-appearance:textfield}.debt-table input::-webkit-inner-spin-button{appearance:none}.debt-table .icon-button{height:27px;width:27px}.debt-table .icon-button .icon{width:15px;height:15px}.sort-button{border:0;background:none;color:inherit;font-size:inherit;padding:0;letter-spacing:inherit;font-weight:inherit}.debt-table tfoot td{background:#fafbfd;font-weight:700;font-size:12px;padding-top:15px;padding-bottom:15px;border-top:1px solid var(--line)}.debt-table tfoot .table-footnote{color:#99a6b5;font-size:9px;font-weight:400}.empty-debts{font-size:12px;padding:20px 25px;text-align:center}.contribution-card{display:flex;align-items:center;gap:17px;border:1px solid #d5eae7;background:#edf7f5;border-radius:10px;margin:19px 0 35px;padding:22px 24px}.contribution-icon{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:50%;color:var(--teal);background:#d7eeea;flex-shrink:0}.contribution-icon .icon{width:19px}.contribution-copy{flex:1}.contribution-copy h3{font-size:14px}.contribution-copy p{font-size:10px;margin-top:5px;color:#7d9698;max-width:270px}.extra-label{display:flex;align-items:center;border:1px solid #cfdfdd;border-radius:6px;background:white;padding:0 10px;color:#93a5ae;font-size:10px;white-space:nowrap}.extra-label .currency-prefix{font-size:15px;color:var(--navy)}.extra-label input{width:95px;border:0;background:transparent;font-size:16px;padding:11px 8px;font-weight:650}.contribution-card .button{font-size:11px;min-height:43px}.strategy-tabs{display:flex;gap:0;background:#ecf0f5;border:1px solid #e3e9ef;border-radius:9px;padding:5px}.strategy-tabs>button{display:flex;flex:1;align-items:center;gap:10px;background:none;border:1px solid transparent;border-radius:6px;padding:13px 14px;text-align:left;position:relative}.strategy-tabs>button[aria-selected=true]{background:white;border-color:#dce6e9;box-shadow:0 2px 5px #001b4206}.tab-icon{font-size:10px;color:#91a1b3;background:#e2e8ee;padding:6px;border-radius:5px}.strategy-tabs>button[aria-selected=true] .tab-icon{color:var(--teal);background:var(--mint)}.strategy-tabs strong{display:block;font-size:12px}.strategy-tabs small{display:block;font-size:9px;color:#8b9aad;margin-top:4px}.tab-label{display:none;position:absolute;top:-11px;right:10px;background:var(--teal);font-size:7px;color:white;padding:4px 6px;border-radius:3px;letter-spacing:.6px}.strategy-tabs>button[aria-selected=true] .tab-label{display:block}.strategy-description{font-size:10px;margin:13px 1px 20px;line-height:1.7}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:23px}.metric{background:white;border:1px solid var(--line);border-radius:9px;padding:20px}.metric>span{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#7e8da0;margin-bottom:18px}.metric .icon{width:16px;height:16px;color:#9baabd}.metric strong{display:block;font-size:25px;color:var(--navy);letter-spacing:-.8px;line-height:1.2;font-weight:750}.metric small{display:block;font-size:9px;color:#95a2b3;margin-top:9px;line-height:1.5}.metric.savings{background:#eaf7f3;border-color:#d4ebe2}.metric.savings strong{color:#138271}.metric.savings .icon{color:#32a08b}.chart-card{margin-bottom:23px}.chart-legend{display:flex;gap:15px;font-size:9px;color:#93a0b0}.legend{display:flex;gap:6px;align-items:center}.legend:before{content:'';height:3px;width:15px;border-radius:2px;background:var(--teal)}.legend.baseline:before{background:#c3cddb}.chart-container{padding:5px 24px 15px;height:230px}.chart-container svg{width:100%;height:100%;overflow:visible}.chart-container text{font-size:10px;fill:#94a3b5;font-family:inherit}.chart-container .grid{stroke:#eef2f5;stroke-width:1;stroke-dasharray:4 4}.chart-container .selected-line{stroke:var(--teal);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}.chart-container .baseline-line{stroke:#c3cddb;stroke-width:2;fill:none;stroke-dasharray:5 5}.chart-container .area{fill:url(#area-fill)}.schedule-controls{display:flex;align-items:center;justify-content:space-between;padding:0 25px 17px;gap:16px}.schedule-controls label{font-size:10px;color:#8393a6;display:flex;align-items:center;gap:10px}.schedule-controls select{font-size:10px;padding:7px 10px}.schedule-controls p{font-size:10px}.schedule-table td:not(:first-child){font-variant-numeric:tabular-nums}.paid-off{color:var(--teal)!important}.assumptions{display:flex;align-items:flex-start;gap:7px;font-size:9px;margin:20px 2px;color:#97a3b2;line-height:1.8}.assumptions .icon{width:12px;height:12px;margin-top:2px}.result-empty{text-align:center;padding:30px 20px 40px}.result-empty>.icon{width:31px;height:31px;color:#afbecd;margin-bottom:14px}.result-empty h3{color:#7890a4;font-size:16px;font-weight:600}.result-empty p{font-size:11px;margin-top:7px}.editor-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:25px;font-size:10px;color:#98a5b4}.editor-footer .text-button{font-size:10px}.app-footer{margin:auto 42px 0;padding:25px 0;display:flex;justify-content:space-between;font-size:10px;color:#a0acba}.app-footer>span:first-child{color:#94a3b5;font-weight:750}.auth-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.auth-story{background:#f1f6f9;padding:46px 60px;display:flex;flex-direction:column;position:relative;overflow:hidden}.brand-large{font-size:28px}.auth-story-content{margin:auto 0;padding:80px 0 20px}.auth-story h1{font-size:clamp(36px,4vw,58px);line-height:1.13;letter-spacing:-.055em;margin:23px 0}.auth-story h1>span{color:var(--bright)}.auth-story p{font-size:14px;max-width:380px}.auth-story-content>.eyebrow{color:var(--teal);font-size:9px;letter-spacing:2px}.auth-path{display:flex;align-items:flex-end;gap:12px;height:200px;margin-top:25px;position:relative;padding-bottom:45px}.path-bar{width:13%;border-radius:7px 7px 0 0;background:var(--navy);height:140px}.path-bar.b2{height:110px;background:#164364}.path-bar.b3{height:81px;background:#17627b}.path-bar.b4{height:53px;background:#138e96}.path-bar.b5{height:23px;background:var(--bright)}.auth-path>span{position:absolute;bottom:10px;left:0;color:#96a9b7;font-size:11px}.privacy-line{display:flex;align-items:center;gap:7px;font-size:10px!important;color:#859baa}.privacy-line .icon{width:15px;height:15px;color:var(--teal)}.auth-panel{display:flex;align-items:center;justify-content:center;padding:40px}.auth-form-wrap{width:100%;max-width:340px}.auth-form-wrap h2{font-size:34px;margin:14px 0 11px}.auth-form-wrap>p{font-size:12px}.auth-form-wrap form{margin-top:30px}.auth-form-wrap label,dialog label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#62748a;font-weight:550;margin-bottom:18px}.auth-form-wrap input,dialog input{font-size:13px;padding:13px 12px}.auth-form-wrap form>.button{margin-top:5px;min-height:44px}.auth-links{display:flex;justify-content:space-between;gap:15px;margin:18px 0 30px}.auth-links .text-button{font-size:11px}.local-caption{font-size:9px!important;text-align:center;margin-top:9px;color:#a0acb8}.form-message{font-size:11px;line-height:1.7;margin-top:14px;color:#98606a;min-height:18px}.form-message.success{color:var(--teal)}.initial-loading{display:flex;align-items:center;justify-content:center;gap:16px;height:100vh;color:var(--navy);font-size:14px}dialog{border:1px solid var(--line);border-radius:14px;padding:30px;width:440px;max-width:calc(100% - 32px);color:var(--ink);box-shadow:0 25px 90px #001b4230}dialog::backdrop{background:#001b4266;backdrop-filter:blur(4px)}.dialog-heading{margin-bottom:25px}.dialog-heading h2{font-size:29px;margin-bottom:8px}.dialog-heading p{font-size:12px}.dialog-heading .eyebrow{font-size:9px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.import-dialog{width:650px}.upload-area{border:1px dashed #a4c7c9;background:#f4faf9;border-radius:8px;padding:24px;display:flex;align-items:center;text-align:center;cursor:pointer}.upload-area>.icon{color:var(--teal);width:27px;height:27px}.upload-area strong{font-size:13px;margin-top:5px}.upload-area>span{font-size:10px;color:#92a1af}.upload-area input{font-size:10px;border:0;background:none;padding:5px;max-width:100%;margin-top:7px}.import-dialog .table-scroll{max-height:230px;border:1px solid var(--line);border-radius:6px}.import-dialog table td{font-size:10px;white-space:normal}.import-dialog #import-summary{font-size:12px;margin:15px 0 12px}.import-mode{margin-top:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;font-size:12px;padding:14px 24px;border-radius:8px;box-shadow:0 8px 30px #001b4233;z-index:100;max-width:calc(100% - 30px);text-align:center}#toast.error{background:#793d4b}@media(min-width:1500px){main{padding-top:45px}.sidebar{width:245px;padding-left:30px;padding-right:30px}.main-shell{margin-left:245px;width:calc(100% - 245px)}}@media(max-width:1150px){.sidebar{width:195px;padding:27px 15px}.brand{font-size:18px;gap:8px}.brand img{width:25px}.main-shell{margin-left:195px;width:calc(100% - 195px)}main{padding:30px 25px}.topbar{padding:0 25px}.contribution-card{flex-wrap:wrap}.contribution-copy{min-width:230px}.contribution-card .extra-label{margin-left:auto}.metric{padding:17px 13px}.metric strong{font-size:21px}.strategy-tabs>button{padding:12px 9px;gap:7px}.strategy-tabs small{font-size:8px}.plan-toolbar{gap:10px}.plan-toolbar .plan-name-label{min-width:110px}.save-status{display:none}.app-footer{margin-left:25px;margin-right:25px}.plan-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.sidebar{width:70px;padding:25px 10px}.sidebar .brand{justify-content:center}.sidebar .brand>span,.workspace-label,.sidebar-heading,.plan-nav,.sidebar-bottom,.sidebar .nav-item{display:none}.sidebar .brand img{width:30px;height:37px}.sidebar .brand{margin-bottom:30px}.main-shell{margin-left:70px;width:calc(100% - 70px)}.topbar{height:60px}.page-heading{align-items:flex-start}.page-heading h1{font-size:28px}.page-heading p{max-width:290px}.page-heading>.button{font-size:11px;padding:10px}.intro-copy{padding:26px}.intro-graphic{width:36%}.graphic-bars{gap:7px;right:15px}.intro-copy h2{font-size:27px}.contribution-copy{min-width:180px}.metric-grid{grid-template-columns:repeat(2,1fr)}.plan-toolbar{flex-wrap:wrap}.plan-toolbar .plan-name-label{max-width:none;min-width:200px}.plan-toolbar label{flex:1}.strategy-tabs small{display:none}.strategy-tabs strong{font-size:11px}.tab-label{display:none!important}.chart-legend{flex-direction:column;gap:7px}.principles{gap:13px;font-size:9px}.principles .icon{display:none}.auth-story{padding:35px}.auth-story h1{font-size:36px}.auth-panel{padding:30px}.brand-large{font-size:24px}.auth-story-content{padding-top:50px}}@media(max-width:560px){.sidebar{display:none}.main-shell{margin-left:0;width:100%}.topbar{padding:0 18px}.breadcrumb{gap:6px;font-size:10px}.local-badge{font-size:7px;letter-spacing:.7px}.account{gap:6px}.avatar{width:27px;height:27px}main{padding:25px 16px}.page-heading{flex-wrap:wrap;gap:16px;margin-bottom:22px}.page-heading h1{font-size:29px}.page-heading p{font-size:11px;max-width:100%}.page-heading>.button{font-size:11px}.overview-intro{min-height:270px}.intro-copy{padding:25px}.intro-copy h2{font-size:27px}.intro-copy p{max-width:220px}.intro-graphic{width:80px;opacity:.5;margin-left:-50px}.graphic-bars{left:-15px;right:-25px;gap:5px}.graphic-finish{right:5px;font-size:7px;letter-spacing:0;bottom:20px}.plan-cards{grid-template-columns:1fr}.plan-card{min-height:175px}.principles{flex-wrap:wrap;gap:10px 20px;line-height:1.8}.section-heading h2{font-size:19px}.card-heading{padding:20px 16px;flex-wrap:wrap}.card-heading h2{font-size:18px}.heading-actions{gap:6px}.button.small{font-size:10px;padding:7px 9px}.editor-heading .heading-actions{width:100%}.editor-heading .heading-actions button{flex:1}.plan-toolbar .plan-name-label{min-width:100%;width:100%}.plan-toolbar label{min-width:90px;font-size:9px}.plan-toolbar input,.plan-toolbar select{font-size:11px;padding:10px 8px}.debt-table th:first-child{min-width:155px}.debt-table .number-cell input{width:95px}.debt-table .rate-cell input{width:60px}th:first-child,td:first-child{padding-left:16px}th,td{padding-left:10px;padding-right:10px}.contribution-card{padding:18px 16px;gap:13px;margin-bottom:28px}.contribution-copy{min-width:150px}.contribution-copy h3{font-size:13px}.contribution-copy p{font-size:10px}.extra-label{margin-left:0!important;flex:1;justify-content:space-between}.extra-label input{width:85px}.contribution-card>.button{font-size:10px;padding:11px;flex:1}.strategy-tabs>button{padding:10px 6px;justify-content:center;gap:5px}.tab-icon{font-size:8px;padding:5px}.strategy-tabs strong{font-size:10px}.strategy-description{font-size:10px}.metric-grid{gap:10px}.metric{padding:17px 14px}.metric strong{font-size:23px}.metric>span{font-size:10px;margin-bottom:14px}.metric small{font-size:9px}.chart-container{padding-left:12px;padding-right:18px;height:200px}.chart-legend{flex-direction:row;font-size:8px;gap:10px}.schedule-controls{padding:0 16px 16px;flex-direction:column;align-items:flex-start;gap:9px}.schedule-table th,.schedule-table td{font-size:9px;padding:12px 10px}.schedule-table td:first-child{min-width:130px;white-space:normal}.assumptions{font-size:9px}.editor-footer{font-size:9px;gap:15px}.app-footer{margin-left:16px;margin-right:16px;font-size:9px}.auth-screen{display:flex;flex-direction:column}.auth-story{padding:25px;min-height:285px}.auth-story>.brand{justify-content:flex-start;font-size:23px}.auth-story-content{padding:35px 0 10px}.auth-story h1{font-size:35px;margin:12px 0}.auth-story p{font-size:12px}.auth-path,.privacy-line{display:none}.auth-story-content>.eyebrow{font-size:8px}.auth-panel{padding:35px 25px}.auth-form-wrap{max-width:100%}.auth-form-wrap h2{font-size:29px}.auth-form-wrap form{margin-top:23px}dialog{padding:24px}.dialog-heading h2{font-size:25px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Constrain flex/grid min-content widths so tables scroll inside their cards. */
.main-shell,main,main>section,.card,.metric,.table-scroll,.section-heading>div{min-width:0}
.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:800px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.results-section>.section-heading{align-items:flex-start;gap:10px}.results-section>.section-heading h2{font-size:18px}.results-section>.section-heading>.tag{flex-shrink:0;font-size:8px;max-width:105px;white-space:normal}.chart-legend{flex-wrap:wrap}.metric strong{overflow-wrap:anywhere}}
.table-scroll{width:100%;max-width:100%;overflow:auto;contain:paint}
html{overflow-x:hidden}
/* The monthly plan leads with the payment instruction; accounting is optional. */
.schedule-controls{justify-content:flex-start;gap:14px;flex-wrap:wrap}
.month-navigation{display:flex;align-items:center;gap:6px}
.month-navigation label{margin:0}
.month-navigation select{min-width:190px;font-size:12px;padding:9px 12px}
.month-arrow{width:36px;min-height:36px;padding:8px}
.month-arrow:disabled{cursor:default;opacity:.35;transform:none}
.previous-chevron{transform:rotate(180deg)}
.month-counter{font-size:11px;color:var(--muted)}
.breakdown-toggle{margin-left:auto;font-size:11px!important;color:#64778d!important;gap:7px!important;cursor:pointer}
.breakdown-toggle input{width:14px;height:14px;margin:0;accent-color:var(--teal)}
.monthly-instruction{margin:0 25px 20px;padding:18px 20px;background:#edf7f5;border:1px solid #d7ebe6;border-radius:7px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 18px}
#month-summary{grid-row:1/3;color:#456a6c;font-size:12px;line-height:1.7}
#month-payment-total{font-size:25px;line-height:1.2;letter-spacing:-.6px;color:var(--navy);text-align:right;font-variant-numeric:tabular-nums}
.monthly-instruction-note{font-size:9px;color:#708e8b;text-align:right}
.payment-plan-table .payment-breakdown{display:none}
.payment-plan-table.show-breakdown .payment-breakdown{display:table-cell}
.payment-plan-table td{padding-top:15px;padding-bottom:15px;font-size:12px}
.payment-plan-table .payment-amount{text-align:right;color:var(--teal);font-weight:750}
.payment-plan-table td.payment-amount{font-size:16px}
.payment-plan-table th:last-child,.payment-plan-table td:last-child{text-align:right}
.payment-plan-table .schedule-debt{white-space:normal;overflow-wrap:anywhere;min-width:130px}
.debt-payment-status{display:block;font-size:10px;font-weight:400;color:var(--teal);margin-top:4px}
.previously-cleared td,.previously-cleared .debt-payment-status{color:#91a0b0!important}
.payment-plan-table tfoot th,.payment-plan-table tfoot td{background:#f7fafb;border-top:1px solid var(--line);font-size:12px;padding-top:16px;padding-bottom:16px;letter-spacing:0;color:var(--navy);font-weight:700}
.payment-plan-table tfoot th:first-child{padding-left:25px}
.payment-plan-table tfoot td.payment-amount{font-size:16px;color:var(--teal)}
@media(max-width:560px){
  .schedule-controls{flex-direction:row;align-items:center;padding:0 16px 17px;gap:10px}
  .month-navigation{width:100%}.month-navigation label{flex:1}.month-navigation select{width:100%;min-width:0}
  .breakdown-toggle{margin-left:auto;font-size:10px!important}.month-counter{font-size:10px}
  .monthly-instruction{margin:0 16px 16px;padding:14px;gap:10px;grid-template-columns:1fr}
  #month-summary{grid-row:auto;font-size:11px}#month-payment-total{font-size:25px;text-align:left}.monthly-instruction-note{text-align:left;margin-top:-6px}
  .payment-plan-table th{font-size:9px;letter-spacing:0;white-space:normal}
  .payment-plan-table td{font-size:11px;padding:14px 10px}.payment-plan-table td.payment-amount{font-size:14px}
  .payment-plan-table td:first-child,.payment-plan-table th:first-child{padding-left:16px;min-width:100px}
  .payment-plan-table th:last-child,.payment-plan-table td:last-child{padding-right:16px}
  .payment-plan-table tfoot th:first-child{padding-left:16px}.payment-plan-table tfoot td.payment-amount{font-size:14px}
  .debt-payment-status{font-size:9px}
}
.payment-plan-warning{margin:0 25px 18px;padding:11px 14px;border:1px solid #ead6b7;border-radius:6px;background:#fff8ed;color:#8b632b;font-size:11px}
@media(max-width:560px){.payment-plan-warning{margin-left:16px;margin-right:16px}}
/* Inputs and payment instructions are separate views of the same saved draft. */
.plan-view-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:25px;scroll-margin-top:20px}
.plan-view-tabs [role=tab]{display:flex;align-items:center;gap:8px;border:0;border-bottom:3px solid transparent;background:none;padding:13px 2px;color:#7c8b9e;font-size:13px;font-weight:650}
.plan-view-tabs [role=tab][aria-selected=true]{color:var(--teal);border-bottom-color:var(--teal)}
.plan-view-tabs .icon{width:17px;height:17px}
.payoff-plan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 24px}
.results-section .schedule-card{margin-bottom:24px}
.results-section .strategy-tabs{margin-top:0}
#result-empty .button{margin-top:20px}
@media(max-width:560px){
 .plan-view-tabs{gap:22px;margin-bottom:20px}.plan-view-tabs [role=tab]{font-size:12px;padding:12px 0}
 .payoff-plan-toolbar{align-items:flex-start;flex-wrap:wrap;gap:14px;margin-bottom:20px}.payoff-plan-toolbar>.tag{font-size:9px}
 .payoff-plan-toolbar .heading-actions{margin-left:auto}.payoff-plan-toolbar .button.small{font-size:10px}
 .results-section .schedule-card{margin-bottom:20px}
}
.active-plan-banner,.tracking-choice{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #cce6e1;border-radius:9px;background:#edf7f5;padding:19px 22px;margin:22px 0}
.active-plan-banner strong{font-size:18px;color:var(--navy)}.active-plan-banner .eyebrow,.tracking-choice .eyebrow{font-size:8px;margin-bottom:7px}
.active-plan-banner p,.tracking-choice p{font-size:11px;margin-top:5px;max-width:610px}.tracking-choice h3{font-size:17px}.tracking-choice.is-active{border-color:#9dcfc6}
.plan-card .tracking-card-label{font-size:9px;color:var(--teal);font-weight:700;margin-top:12px}.plan-link .tracking-nav-icon{width:13px;height:13px;color:var(--teal);margin-left:auto}
.tracking-progress{padding:0 2px 22px}.tracking-progress-heading{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-bottom:9px}.tracking-progress-heading strong{color:var(--navy)}.tracking-progress-heading span{color:#718699}
.tracking-progress progress{display:block;width:100%;height:8px;appearance:none;border:0;border-radius:10px;overflow:hidden;background:#e1e9ed;color:var(--teal)}
.tracking-progress progress::-webkit-progress-bar{background:#e1e9ed;border-radius:10px}.tracking-progress progress::-webkit-progress-value{background:var(--teal);border-radius:10px}.tracking-progress progress::-moz-progress-bar{background:var(--teal);border-radius:10px}.tracking-progress>p{font-size:10px;margin-top:8px}
.month-completion{padding:0 25px 20px}.month-completion>label{display:flex;gap:9px;align-items:center;font-size:12px;font-weight:650;color:var(--navy);cursor:pointer}.month-completion input{width:17px;height:17px;accent-color:var(--teal);margin:0}.month-completion input:disabled{cursor:default}.month-completion p{font-size:10px;margin-top:7px;margin-left:26px;max-width:720px}.month-completion.is-complete{color:var(--teal)}
.chart-container .confirmed-line{fill:none;stroke:var(--navy);stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.legend.confirmed:before{background:var(--navy)}.chart-container .future-line{stroke-dasharray:5 4}.chart-progress-note{font-size:10px;padding:0 25px 18px;color:#8797a8}
.tracking-history{border:1px solid var(--line);border-radius:8px;padding:15px 20px;margin-bottom:20px;background:white}.tracking-history summary{cursor:pointer;font-size:12px;color:#61758a}.tracking-history p,.tracking-history li{font-size:10px;margin-top:10px;color:#7c8d9e;line-height:1.7}
@media(max-width:560px){.active-plan-banner,.tracking-choice{flex-direction:column;align-items:stretch;padding:17px;margin:18px 0}.active-plan-banner>.button,.tracking-choice>.button{align-self:flex-start}.tracking-progress-heading{flex-direction:column;gap:5px}.month-completion{padding:0 16px 18px}.month-completion>label{font-size:11px;align-items:flex-start}.month-completion input{flex-shrink:0}.month-completion p{font-size:10px}.chart-progress-note{padding:0 16px 16px;font-size:9px}}

/* Authentication providers share the same account and explicit confirmation flow. */
.auth-form-wrap>#auth-google{margin-top:22px}#auth-link{margin-bottom:14px}#auth-resend{margin:10px 0}#clear-send-link{margin:12px 0}#clear-method-label select{padding:11px;font-size:13px}#clear-link-help{font-size:12px;margin-bottom:15px}

.password-rules{font-size:11px;line-height:1.6;margin:-6px 0 18px;color:#62748a}

/* Account email actions are standalone pages, accessible before sign-in. */
.email-action-header{max-width:1100px;margin:0 auto;padding:30px 32px}
.email-action-main{max-width:560px;margin:4vh auto;padding:0 20px 32px}
.email-action-card{padding:34px}
.email-action-card h1{font-size:32px;line-height:1.15;margin:16px 0;letter-spacing:-.035em}
.email-action-card h1:focus{outline:none}
.email-action-card>p{font-size:13px;line-height:1.7}
.email-action-card .action-email{margin:16px 0;color:var(--navy);font-weight:600;overflow-wrap:anywhere}
.email-action-card form{margin-top:24px}
.email-action-card label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#62748a;margin-bottom:18px}
.email-action-card input{width:100%;padding:13px 12px;font-size:14px}
.email-action-card .button{min-height:44px}
.email-action-card .form-message{margin:14px 0;min-height:0}
.email-action-footnote{text-align:center;font-size:11px;color:var(--muted);margin-top:22px}
@media(max-width:560px){.email-action-header{padding:24px 20px}.email-action-main{margin:16px auto}.email-action-card{padding:25px}.email-action-card h1{font-size:29px}}
