*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--ink:#1a1a2e;--ink2:#4a4a6a;--ink3:#88a;--surface:#f8f7f4;--card:#fff;--border:#e8e4de;--border2:#f0ece6;--gold:#c8a96e;--gold2:#f0d9a8;--green:#2d6a4f;--green-bg:#edf7f1;--red:#9b2335;--red-bg:#fdf0f2;--amber:#92612a;--amber-bg:#fdf5e8;--blue:#1d3a6b;--blue-bg:#edf2fb;--radius:10px;--shadow:0 2px 16px rgba(26,26,46,.07)}body{background:var(--surface);font-family:DM Sans,sans-serif;color:var(--ink)}.app{max-width:1060px;margin:0 auto;padding:28px 20px 60px}.header{margin-bottom:32px}.header-eyebrow{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.header-title{font-size:34px;font-weight:700;color:var(--ink);line-height:1.2}.header-sub{font-size:14px;color:var(--ink2);margin-top:6px}.inputs-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:28px;overflow:hidden}.inputs-header{padding:16px 24px;border-bottom:1px solid var(--border2);display:flex;align-items:center;justify-content:space-between}.inputs-header-title{font-size:17px;font-weight:600}.inputs-toggle{font-size:12px;color:var(--gold);cursor:pointer;border:none;background:none;font-family:DM Sans,sans-serif;font-weight:500;padding:4px 0}.inputs-body{padding:20px 24px}.inputs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 24px}.input-section-label{grid-column:1/-1;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);padding:14px 0 8px;border-top:1px solid var(--border2);margin-top:6px}.input-section-label:first-child{border-top:none;padding-top:0;margin-top:0}.field{margin-bottom:14px}.field label{display:block;font-size:11px;font-weight:500;color:var(--ink2);margin-bottom:5px;letter-spacing:.02em}.field-row{display:flex;align-items:center;gap:6px}.field-pre,.field-suf{font-size:13px;color:var(--ink3);flex-shrink:0}.field input[type=date],.field input[type=number],.field input[type=text]{flex:1;min-width:0;border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:14px;font-family:DM Sans,sans-serif;color:var(--ink);background:var(--surface);transition:border-color .15s;-moz-appearance:textfield}.field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}.field input:focus{outline:none;border-color:var(--gold);background:var(--card)}.field-note{font-size:11px;color:var(--ink3);margin-top:3px;line-height:1.4}.toggle-row{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px 0}.toggle-track{width:38px;height:22px;border-radius:11px;background:var(--border);position:relative;transition:background .2s;flex-shrink:0}.toggle-track.on{background:var(--gold)}.toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 4px rgba(0,0,0,.2)}.toggle-track.on .toggle-thumb{transform:translateX(16px)}.toggle-label{font-size:13px;color:var(--ink2);font-weight:400}.disclaimer{font-size:11px;color:var(--ink3);line-height:1.6;border-top:1px solid var(--border2);padding:12px 24px;background:var(--surface)}.results-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.tab-bar{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--border);background:var(--surface)}.tab-btn{padding:12px 6px;font-size:12px;font-family:DM Sans,sans-serif;font-weight:400;color:var(--ink3);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;text-align:center;overflow:hidden;text-overflow:ellipsis}.tab-btn.active{color:var(--ink);font-weight:500;border-bottom-color:var(--gold)}.tab-btn:hover:not(.active){color:var(--ink2)}.tab-body{padding:28px}.stat-row{display:grid;gap:12px;margin-bottom:20px}.stat-row.cols3{grid-template-columns:1fr 1fr 1fr}.stat-row.cols2{grid-template-columns:1fr 1fr}.stat-row.cols4{grid-template-columns:1fr 1fr 1fr 1fr}.stat{background:var(--surface);border:1px solid var(--border2);border-radius:8px;padding:14px 16px}.stat-label{font-size:11px;color:var(--ink3);margin-bottom:5px;text-transform:uppercase;letter-spacing:.06em;font-weight:500}.stat-value{font-size:24px;font-weight:700;color:var(--ink);line-height:1}.stat-value.lg{font-size:28px;font-weight:700}.stat-value.green{color:var(--green)}.stat-value.red{color:var(--red)}.stat-value.amber{color:var(--amber)}.stat-sub{font-size:12px;color:var(--ink3);margin-top:5px}.stat-sub.green{color:var(--green)}.stat-sub.red{color:var(--red)}.stat-sub.amber{color:var(--amber)}.ledger{width:100%;border-collapse:collapse}.ledger th{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3);padding:8px 12px;border-bottom:1px solid var(--border);text-align:left}.ledger th.num{text-align:right}.ledger-header td{padding:12px 12px 4px;font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}.ledger-header td,.ledger-row td{border-bottom:1px solid var(--border2)}.ledger-row td{padding:8px 12px;font-size:13px;vertical-align:top}.ledger-row td.num{text-align:right;white-space:nowrap}.ledger-row td.label{color:var(--ink2);font-weight:500}.ledger-row .note{font-size:11px;color:var(--ink3);line-height:1.4;font-weight:400}.ledger-row.price-row td{background:var(--surface);font-weight:500;font-size:14px}.ledger-row.subtotal td{font-weight:500;background:var(--surface);border-top:1px solid var(--border)}.ledger-row.final td{font-size:16px;font-weight:700;border-top:2px solid var(--ink);background:var(--surface);padding:14px 12px}.debit{color:var(--red)!important}.credit{color:var(--green)!important}.section-title{font-size:16px;font-weight:700;margin-bottom:4px}.section-sub{font-size:13px;color:var(--ink2);margin-bottom:20px}.dti-bar-track{height:8px;border-radius:4px;background:var(--border);margin:8px 0 4px;overflow:hidden}.dti-bar-fill{height:100%;border-radius:4px;transition:width .4s}.divider{border:none;border-top:1px solid var(--border2);margin:20px 0}.breakdown{background:var(--surface);border:1px solid var(--border2);border-radius:8px;overflow:hidden;margin-bottom:16px}.breakdown-row{display:flex;justify-content:space-between;align-items:baseline;padding:9px 14px;border-bottom:1px solid var(--border2);font-size:13px}.breakdown-row:last-child{border-bottom:none}.breakdown-row.total{font-weight:500;background:var(--card)}.breakdown-label{color:var(--ink2)}.breakdown-value{font-weight:500;white-space:nowrap}.verdict{border-radius:8px;padding:16px 18px;margin-bottom:20px}.verdict.green{background:var(--green-bg);border:1px solid #b7deca}.verdict.amber{background:var(--amber-bg);border:1px solid #e8d0a8}.verdict.red{background:var(--red-bg);border:1px solid #e8b8c0}.verdict-title{font-size:14px;font-weight:500;margin-bottom:4px}.verdict.green .verdict-title{color:var(--green)}.verdict.amber .verdict-title{color:var(--amber)}.verdict.red .verdict-title{color:var(--red)}.verdict-body{font-size:13px;color:var(--ink2);line-height:1.6}.summary-section{margin-bottom:28px}.summary-section-title{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border2)}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.summary-highlight{background:var(--surface);border-radius:8px;padding:16px;border:1px solid var(--border2)}.summary-highlight-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);margin-bottom:6px;font-weight:500}.summary-highlight-value{font-size:26px;font-weight:700}.action-btn{padding:8px 16px;font-size:12px;font-family:var(--font-dm-sans),"DM Sans",sans-serif;font-weight:500;border-radius:6px;border:1px solid var(--gold);background:var(--gold);color:#fff;cursor:pointer;transition:opacity .15s;letter-spacing:.02em;white-space:nowrap}.action-btn:hover{opacity:.85}.action-btn.secondary{background:none;color:var(--ink2);border-color:var(--border)}.action-btn.secondary:hover{border-color:var(--ink3);color:var(--ink)}.dark{--ink:#f0eef8;--ink2:#c2bfda;--ink3:#8e8baa;--surface:#1e1e24;--card:#26262f;--border:#38374a;--border2:#2e2d3a;--gold:#d4aa6a;--gold2:#3a3020;--green:#4caf85;--green-bg:#1a2e24;--red:#e05c6e;--red-bg:#2e1a1e;--amber:#d4924a;--amber-bg:#2a2010;--blue:#6090e0;--blue-bg:#161e30;--shadow:0 2px 16px rgba(0,0,0,.35);color:var(--ink);background:var(--surface)}body.dark-body{background:#1e1e24;color:#e8e6f0}.dark .field input[type=date],.dark .field input[type=number],.dark .field input[type=text]{background:var(--surface);color:var(--ink);border-color:var(--border)}.dark .field input:focus{background:var(--card);border-color:var(--gold)}.dark .field input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8)}@media (max-width:640px){.stat-row.cols3,.stat-row.cols4{grid-template-columns:1fr 1fr}.tab-btn{padding:12px 14px;font-size:12px}.tab-body{padding:20px 16px}.inputs-body{padding:16px}.inputs-grid{grid-template-columns:1fr 1fr}.summary-grid{grid-template-columns:1fr}}