:root{font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background-color:#eef2ff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#eef2ff,#f8fafc 45%,#fff);color:#0f172a}#root{min-width:320px}a{color:inherit}button,input,select,textarea{font:inherit}::placeholder{color:#98a2b3}.app-shell{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem 4rem;display:flex;flex-direction:column;gap:1.5rem}.app-header{background:linear-gradient(135deg,#2563eb1a,#3b82f60d);border:1px solid rgba(37,99,235,.2);border-radius:24px;padding:1.75rem 2rem}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.2em;color:#475467;margin:0 0 .5rem}.lede{max-width:720px;color:#475467;margin:.5rem 0 0}.header-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem;align-items:flex-end;justify-content:space-between}.header-actions .header-button-group{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end}.header-actions .highlight-control{margin-left:auto}.highlight-control{display:flex;flex-direction:column;font-size:.8rem;font-weight:600;color:#475467}.highlight-control select{border:1px solid #d0d5dd;border-radius:8px;padding:.45rem .6rem;font-size:.9rem;min-width:190px;background:#fff}.quick-nav{display:flex;flex-wrap:wrap;gap:.75rem;background:#fff;border:1px solid #e4e7ec;border-radius:999px;padding:.75rem 1.25rem;justify-content:space-between;align-items:center;position:sticky;top:1rem;z-index:10;box-shadow:0 10px 30px #0f172a14}.quick-links{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.quick-nav a{font-size:.85rem;color:#2563eb;text-decoration:none;padding:.35rem .9rem;border-radius:999px;border:1px solid transparent;transition:all .2s ease}.quick-nav a:hover{background:#2563eb14;border-color:#2563eb26}.scenario-switcher{display:flex;flex-wrap:wrap;gap:1rem;background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:1rem 1.25rem;align-items:center;justify-content:space-between}.scenario-toggle{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:600;color:#475467}.scenario-toggle>div{display:flex;gap:.4rem;flex-wrap:wrap}.scenario-toggle button{border:1px solid #d0d5dd;border-radius:999px;padding:.35rem .95rem;background:#fff;cursor:pointer;font-size:.85rem}.scenario-toggle button.active{background:#2563eb;color:#fff;border-color:#2563eb}.scenario-toggle button:disabled{opacity:.4;cursor:not-allowed}.scenario-nav{min-width:fit-content}.panel{background:#fff;border:1px solid #e4e7ec;border-radius:20px;padding:1.75rem;box-shadow:0 20px 55px #0f172a14;scroll-margin-top:80px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.panel-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.panel-heading h2{margin:0;font-size:1.25rem}.panel-heading p{margin:.35rem 0 0;color:#475467}.panel-footer{margin-top:1rem;display:flex;justify-content:flex-end;gap:.5rem}.compact-panel{padding:1.25rem 1.5rem}.panel-actions.wrap{flex-wrap:wrap;justify-content:flex-start}.scenario-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem}.scenario-card{border:1px solid #e4e7ec;border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:#fafbff}.scenario-card.active{border-color:#2563eb;box-shadow:0 10px 25px #2563eb26}.scenario-card.comparing{border-color:#10b981}.scenario-card header{display:flex;flex-direction:column;gap:.25rem}.scenario-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;position:relative}.scenario-card-header div{margin-right:.5rem}.scenario-card-header .scenario-clear{position:absolute;top:-.5rem;right:-.5rem;padding:.3rem}.scenario-card-subtitle{margin:0;color:#475467;font-size:.85rem}.scenario-status{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;color:#6b7280}.scenario-status.status-active{color:#047857}.scenario-saved{display:block;margin-top:.15rem;color:#98a2b3;font-size:.75rem}.scenario-card header h3{margin:0;font-size:1rem}.scenario-card header small{color:#475467}.scenario-card header p{margin:0;color:#475467;font-size:.85rem}.scenario-metrics{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#475467}.empty-slot{margin:0;font-size:.85rem;color:#98a2b3}.scenario-card-actions{display:flex;gap:.4rem;flex-wrap:wrap}.scenario-action{border:1px solid #2563eb;color:#fff;background:#2563eb}.value-with-delta{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem}.scenario-action.active{background:#1d4ed8}.scenario-banner{margin:0 0 .5rem;font-size:.9rem;color:#475467}.comparison-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.comparison-grid.active{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.comparison-grid.expanded{grid-template-columns:minmax(0,1fr)}.comparison-column{border:1px solid #e4e7ec;border-radius:16px;padding:1rem;background:#fff;display:flex;flex-direction:column;gap:.75rem}.comparison-column-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.comparison-column-heading{display:flex;flex-direction:column;gap:.25rem}.comparison-column-title{display:flex;flex-direction:column;gap:.1rem}.comparison-column-header h3{margin:0;font-size:1rem}.comparison-column-header p{margin:0;color:#475467;font-size:.85rem}.full-width-toggle{border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:.3rem .65rem;font-size:.8rem;font-weight:600;color:#2563eb;cursor:pointer}.full-width-toggle:hover{border-color:#2563eb;background:#2563eb14}.password-toggle{display:flex;justify-content:flex-end}.delta-indicator{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;margin-left:.35rem}.delta-indicator.delta-positive{color:#059669}.delta-indicator.delta-negative{color:#dc2626}.delta-card{margin-top:1rem;border:1px dashed #d0d5dd;border-radius:12px;padding:.75rem 1rem;background:#f8fafc}.delta-card strong{display:block;margin-bottom:.5rem}.delta-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#475467}.auth-overlay{position:fixed;inset:0;background:radial-gradient(circle at top,#0f172ad9,#0f172af2);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:9999}.auth-card{background:#fff;max-width:420px;width:100%;padding:2rem;border-radius:20px;box-shadow:0 40px 80px #0f172a59;display:flex;flex-direction:column;gap:1rem;text-align:left}.auth-card h1{margin:0;font-size:1.3rem;color:#0f172a}.auth-card p{margin:0;color:#475467}.auth-card label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;color:#475467}.auth-card input{padding:.75rem 1rem;border-radius:10px;border:1px solid #d0d5dd;font-size:1rem}.auth-error{margin:0;color:#dc2626;font-weight:600}.primary-button.full-width{width:100%;justify-content:center;text-align:center}.ownership-toggle{display:inline-flex;align-items:center;background:#f1f5f9;border:1px solid #e4e7ec;border-radius:999px;padding:.25rem;gap:.25rem}.ownership-toggle button{border:none;background:transparent;padding:.3rem .9rem;border-radius:999px;font-weight:600;color:#64748b;cursor:pointer}.ownership-toggle button.active{background:#fff;color:#0f172a;box-shadow:0 1px 2px #0f172a14}.table-scroll{overflow-x:auto}.table-scroll table th:first-child,.table-scroll table td:first-child{position:sticky;left:0;background:#fff;box-shadow:2px 0 6px #0f172a14;z-index:1}.table-scroll table thead th:first-child{z-index:2}table{width:100%;border-collapse:collapse;font-size:.94rem}tbody tr{transition:background-color .15s ease}tbody tr:hover{background-color:#eef2ff}.header-with-help{display:inline-flex;align-items:center;gap:.25rem}.sort-button{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:none;padding:0;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer}.sort-button .sort-indicator{font-size:.75rem;color:#94a3b8}.sort-button.active .sort-indicator{color:#1d4ed8}.help-tip{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;border-radius:50%;background:#e0e7ff;color:#1d4ed8;font-size:.65rem;cursor:help;position:relative}.help-tip:after{content:attr(data-tip);position:absolute;left:50%;top:calc(100% + 6px);transform:translate(-50%);background:#0f172a;color:#fff;padding:.35rem .6rem;border-radius:6px;font-size:.7rem;line-height:1.2;max-width:600px;min-width:200px;text-align:left;white-space:normal;word-wrap:break-word;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:999;box-shadow:0 8px 24px #0f172a33}.help-tip:before{content:"";position:absolute;left:50%;top:100%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:#0f172a transparent transparent transparent;opacity:0;transition:opacity .12s ease;z-index:998}.help-tip:hover:after,.help-tip:focus:after,.help-tip:hover:before,.help-tip:focus:before{opacity:1;transform:translate(-50%)}th{text-align:left;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#475467;padding:.75rem .5rem;border-bottom:1px solid #e4e7ec}td{padding:.75rem .5rem;border-bottom:1px solid #f2f4f7;vertical-align:middle}input,select{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:.55rem .75rem;font-size:.95rem;color:#0f172a;background:#fff}input:focus,select:focus{outline:2px solid rgba(37,99,235,.25);border-color:#2563eb}.inputs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}.inputs-grid label{font-size:.82rem;font-weight:600;color:#475467;display:flex;flex-direction:column;gap:.35rem}.input-hint{color:#98a2b3;font-size:.8rem}.input-note{font-style:italic}.toggle-field{display:flex;flex-direction:row;align-items:center;gap:.5rem;font-weight:600}.toggle-field input{display:none}.toggle-track{width:44px;height:24px;border-radius:999px;background:#e4e7ec;position:relative;transition:background .2s ease}.toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a40;transition:transform .2s ease}.toggle-field input:checked+.toggle-track{background:#2563eb}.toggle-field input:checked+.toggle-track .toggle-thumb{transform:translate(20px)}.row-highlight{background-color:#fef9c3!important}.break-even-inline{margin-top:.5rem;font-size:.82rem;color:#667085;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem}.break-even-text{flex:1 1 250px}.break-even-text.terms-text{font-size:.78rem;color:#475467}.break-even-inline strong{color:#0f172a;font-weight:600}.link-button{background:none;border:none;color:#2563eb;font-weight:600;cursor:pointer;padding:0}.link-button:disabled{color:#94a3b8;cursor:not-allowed}.boolean-cell{text-align:center}.boolean-cell input{width:auto}.holder-cell{min-width:220px}.hidden-column{display:none}.chip-group{display:flex;flex-wrap:wrap;gap:.25rem}.class-cell{min-width:200px}.icon-button{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:1rem;padding:.25rem .35rem}.icon-button:hover{color:#dc2626}.primary-button,.secondary-button,.ghost-button{border-radius:999px;padding:.65rem 1.3rem;font-weight:600;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:all .2s ease}.primary-button{background:#2563eb;color:#fff;border-color:#2563eb}.primary-button:hover{background:#1d4ed8;border-color:#1d4ed8}.secondary-button{background:#101828;color:#fff;border-color:#101828}.secondary-button:hover{background:#0f172a}.ghost-button{background:transparent;border-color:#d0d5dd;color:#344054}.ghost-button:hover{border-color:#2563eb;color:#2563eb}.summary-grid{margin-top:1.5rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:1rem 1.2rem}.summary-label{margin:0;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8}.summary-value{margin:.35rem 0;font-size:1.65rem;font-weight:700;color:#0f172a}.summary-sub{margin:0;color:#64748b;font-size:.9rem}.chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #e2e8f0;padding:.15rem .75rem;font-size:.78rem;color:#475467;margin:0 .25rem .25rem 0;background:#fff;position:relative;gap:.35rem}.chip-class-common,.chip-class-preferred,.chip-class-option{padding-left:1.1rem}.chip-class-common{background:#e0f2fe;border-color:#7dd3fc;color:#075985}.chip-class-preferred{background:#f3e8ff;border-color:#d8b4fe;color:#6b21a8}.chip-class-option{background:#ecfccb;border-color:#bef264;color:#365314}.chip-class-common:before,.chip-class-preferred:before,.chip-class-option:before{content:"";width:.45rem;height:.45rem;border-radius:50%;position:absolute;left:.45rem;top:50%;transform:translateY(-50%)}.chip-class-common:before{background:#0284c7}.chip-class-preferred:before{background:#a855f7}.chip-class-option:before{background:#65a30d}.chip-positive{background:#ecfdf3;border-color:#bbf7d0;color:#166534}.chip-outline{border-color:#c7d7fe;color:#1d4ed8;background:#eef2ff}.notes{display:flex;flex-wrap:wrap}.waterfall-heading{align-items:flex-start}.exit-value{display:flex;flex-direction:column;min-width:200px;gap:.35rem;font-size:.82rem;font-weight:600;color:#475467}.waterfall-summary{display:flex;justify-content:space-between;margin-top:1rem;border-top:1px solid #e4e7ec;padding-top:.75rem;color:#475467}.waterfall-footnote{margin-top:.75rem;font-size:.85rem;color:#475467}.warning{color:#dc2626}.warning-text{color:#b91c1c;margin-top:.75rem;font-weight:600}.footnote{background:#f8fafc;border:1px dashed #c7d7fe;border-radius:20px;padding:1.5rem;color:#475467;font-size:.92rem}.notes .chip{margin-bottom:.15rem}.ghost-note{margin:.2rem 0 0;font-size:.75rem;color:#94a3b8;font-style:italic}.totals-row td{border-top:2px solid #e4e7ec;font-weight:600}.currency-input{display:flex;align-items:center;gap:.25rem}.currency-input span{color:#475467;font-weight:600}.currency-input input{flex:1}.pull-through-status{font-size:.9rem;color:#475467}.currency-input input:disabled{background:#f5f7fb;color:#94a3b8;border:1px solid #e4e7ec;cursor:not-allowed}.investment-input{display:flex;gap:.4rem;align-items:center}.variance-button{border:1px solid #d0d5dd;border-radius:6px;background:#fff;padding:.2rem .5rem;font-size:.75rem;font-weight:600;color:#2563eb;cursor:pointer;min-width:110px}.variance-button:disabled{opacity:.4;cursor:not-allowed}.variance-hint{font-size:.8rem;color:#dc2626;margin-left:.25rem}.pro-rata-hint{color:#98a2b3;font-size:.85rem}.note-summary{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-top:1rem;padding-top:.75rem;border-top:1px solid #e4e7ec;color:#475467}.note-summary p{margin:0}.footnote-text{margin-top:.75rem;color:#94a3b8;font-size:.85rem}.math-summary{margin-top:1rem;padding:1rem;border:1px solid #e4e7ec;border-radius:12px;background:#f8fafc}.math-summary-toggle{margin-bottom:.75rem}.math-summary h3{margin:0 0 .5rem;font-size:1rem;color:#0f172a}.math-summary-table{width:100%;border-collapse:collapse;font-size:.9rem}.math-summary-table td{padding:6px 8px;border-top:1px solid #e4e7ec;vertical-align:top}.math-summary-table tr:first-child td{border-top:none}.math-summary-table td:first-child{font-weight:600;color:#111827;width:28%}.math-summary-table td:nth-child(2){width:24%;color:#0f172a}.math-summary-table td:last-child{color:#64748b;font-size:.8rem}@media(max-width:640px){.panel-heading,.header-actions,.waterfall-summary{flex-direction:column;align-items:flex-start}.exit-value{width:100%}.panel,.app-header{padding:1.25rem}}
