:root{--bg:#f4f6f9;--panel:#fff;--border:#dfe4ec;--text:#1d2733;--muted:#66738a;--accent:#2f6fed;--revenue:#14804a;--expense:#c2402f;--best:#eaf6ef;font-family:Inter,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-size:14px;line-height:1.45}.app{max-width:1240px;margin:0 auto;padding:24px 20px 40px}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.app-header h1{letter-spacing:-.02em;margin:0;font-size:26px}.header-logo{vertical-align:middle;height:48px}.tagline{color:var(--muted);margin:4px 0 0}.header-controls{align-items:center;gap:12px;display:flex}.header-controls label{color:var(--muted);align-items:center;gap:8px;font-weight:600;display:flex}.rate-input{color:var(--text);align-items:center;gap:4px;font-weight:500;display:inline-flex}.rate-input input{width:70px}.tabs{border-bottom:2px solid var(--border);flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.tab{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#e9edf3;border-bottom:none;border-radius:8px 8px 0 0;align-items:center;gap:8px;padding:8px 14px;font-size:14px;display:inline-flex}.tab.active{background:var(--panel);box-shadow:0 2px 0 var(--panel);font-weight:600}.tab-net{font-size:12px;font-weight:600}.tab-net.positive{color:var(--revenue)}.tab-net.negative{color:var(--expense)}.add-tab{color:var(--accent);background:0 0;border-style:dashed}.compare-tab{background:var(--accent);border-color:var(--accent);color:#fff;margin-left:auto}.compare-tab.active{background:#1d55c8;font-weight:600}.scenario-view{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px}.scenario-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.scenario-name{background:0 0;border:1px solid #0000;border-radius:6px;width:40%;min-width:220px;padding:4px 8px;font-size:20px;font-weight:600}.scenario-name:hover,.scenario-name:focus{border-color:var(--border);background:#fff}.scenario-actions{gap:8px;display:flex}button{font:inherit;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;padding:6px 12px}button:hover{border-color:var(--accent);color:var(--accent)}button.danger:hover{border-color:var(--expense);color:var(--expense)}button.subtle{color:var(--muted)}input,select{font:inherit;border:1px solid var(--border);color:var(--text);background:#fff;border-radius:6px;width:100%;padding:5px 8px}input:focus,select:focus{outline-offset:0;outline:2px solid #2f6fed59}input:disabled{color:var(--muted);background:#f1f3f7}.table-wrap{overflow-x:auto}.item-table{border-collapse:collapse;width:100%;min-width:980px}.item-table td:first-child input{min-width:160px}.item-table input[type=number]{min-width:90px}.item-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);padding:6px 8px;font-size:12px}.item-table td{vertical-align:middle;border-bottom:1px solid #eef1f6;padding:6px 8px}.item-table td.num,.item-table th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.item-table .pv.revenue{color:var(--revenue);font-weight:600}.item-table .pv.expense{color:var(--expense);font-weight:600}.kind-select.revenue{color:var(--revenue);font-weight:600}.kind-select.expense{color:var(--expense);font-weight:600}.icon-btn{color:var(--muted);background:0 0;border:none;padding:2px 8px}.icon-btn:hover{color:var(--expense)}.empty{color:var(--muted);text-align:center;padding:16px}.add-buttons{gap:10px;margin:14px 0 18px;display:flex}.add.revenue{color:var(--revenue);border-color:var(--revenue)}.add.expense{color:var(--expense);border-color:var(--expense)}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.card{border:1px solid var(--border);background:#fafbfd;border-radius:10px;padding:12px 16px}.card .label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px}.card .value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:22px;font-weight:700}.card .sub{color:var(--muted);margin-top:2px;font-size:12px}.card.revenue .value{color:var(--revenue)}.card.expense .value{color:var(--expense)}.card.net.positive .value{color:var(--revenue)}.card.net.negative .value{color:var(--expense)}.card.net{border-color:var(--accent)}.compare-grid{gap:14px;display:grid;overflow-x:auto}.compare-col{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px}.compare-col.best{background:var(--best);border-color:var(--revenue)}.compare-col h3{align-items:center;gap:8px;margin:0 0 12px;display:flex}.badge{text-transform:uppercase;background:var(--revenue);color:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.compare-summary .row{font-variant-numeric:tabular-nums;justify-content:space-between;padding:4px 0;display:flex}.compare-summary .row.net{border-top:1px solid var(--border);margin-top:6px;padding-top:8px;font-weight:700}.compare-summary .row.diff{color:var(--muted);font-size:13px}.compare-summary .revenue,.positive{color:var(--revenue)}.compare-summary .expense,.negative{color:var(--expense)}.compare-items{border-top:1px dashed var(--border);margin:14px 0 0;padding:10px 0 0;list-style:none}.compare-items li{justify-content:space-between;gap:12px;padding:3px 0;font-size:13px;display:flex}.compare-items .name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compare-items li.revenue .pv{color:var(--revenue)}.compare-items li.expense .pv{color:var(--expense)}.hint{color:var(--muted);margin-top:14px}.app-footer{color:var(--muted);text-align:center;margin-top:28px;font-size:12px}
