:root{
  --bg:#f8f7f4;--surface:#fff;--surface2:#f1f0ec;--border:#e0ddd6;
  --text:#1a1a18;--text2:#6b6960;--text3:#9c9890;
  --blue:#2563EB;--red:#DC2626;--green:#16A34A;--teal:#0D9488;
  --purple:#7C3AED;--amber:#D97706;--orange:#EA580C;
  --accent:#0D9488;--accent-ink:#fff;--focus-ring:rgba(13,148,136,.15);
  --radius:10px;--shadow:0 1px 4px rgba(0,0,0,.08);
  --input-bg:#fff;--chart-tick:#9ca3af;--chart-grid:rgba(0,0,0,.06);
}
[data-theme="dark"]{
  --bg:#0B1120;--surface:#161F30;--surface2:#1E2A3F;--border:#243047;
  --text:#F1F5F9;--text2:#94A3B8;--text3:#5A6B82;
  --accent:#2dd4bf;--accent-ink:#04201a;--focus-ring:rgba(45,212,191,.18);
  --shadow:0 1px 4px rgba(0,0,0,.3);
  --input-bg:#161F30;--chart-tick:#94A3B8;--chart-grid:rgba(255,255,255,.06);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;transition:background .2s,color .2s}
.wrap{max-width:1100px;margin:0 auto;padding:24px 16px}
.hdr{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:12px;flex-wrap:wrap}
h1{font-size:22px;font-weight:600;margin-bottom:3px}
.subtitle{color:var(--text2);font-size:13px}
.hdr-btns{display:flex;gap:8px;align-items:center;flex-shrink:0;padding-top:4px}
.hbtn{padding:7px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text2);cursor:pointer;font-size:13px;font-family:inherit;transition:all .15s;white-space:nowrap}
.hbtn:hover{border-color:var(--accent);color:var(--accent)}
.hbtn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
a.hbtn{text-decoration:none;display:inline-flex;align-items:center;font-family:Consolas,Menlo,monospace}
.hbtn.primary:hover{opacity:.88}
.tabs{display:flex;border-bottom:1.5px solid var(--border);margin-bottom:24px}
.tab{padding:10px 22px;border:none;background:transparent;cursor:pointer;font-size:14px;color:var(--text2);border-bottom:2.5px solid transparent;margin-bottom:-1.5px;font-family:inherit;transition:color .15s}
.tab:hover{color:var(--text)}
.tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}
.input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin-bottom:16px}
.ig3{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.input-group{display:flex;flex-direction:column;gap:5px}
.input-group label{font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.04em}
.input-group input,.input-group select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:7px;font-size:14px;font-family:inherit;background:var(--input-bg);color:var(--text);outline:none;transition:border-color .15s,background .2s,color .2s}
.input-group input:focus,.input-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}
[data-theme="dark"] .input-group select option{background:#161F30;color:#F1F5F9}
.input-row{display:grid;grid-template-columns:2fr 1fr;gap:8px}
.slbl{font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin:4px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.toggle-row{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;background:var(--surface2);border-radius:8px;border:1px solid var(--border)}
.toggle-row input[type="checkbox"]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}
.toggle-row label{font-size:13px;cursor:pointer;color:var(--text)}
.refi-box{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:16px}
.refi-note{font-size:12px;color:var(--text2);margin-top:8px;padding:8px;background:var(--surface);border-radius:6px;border-left:3px solid var(--amber)}
.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:20px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);transition:background .2s}
.card-label{font-size:11px;color:var(--text2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.card-value{font-size:18px;font-weight:600;color:var(--text)}
.card-value.red{color:var(--red)}.card-value.green{color:var(--green)}.card-value.blue{color:var(--blue)}.card-value.purple{color:var(--purple)}.card-value.amber{color:var(--amber)}
.view-toggle{display:flex;gap:8px;align-items:center;margin-bottom:12px;font-size:13px;color:var(--text2)}
.vbtn{padding:4px 14px;font-size:12px;cursor:pointer;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text2);font-family:inherit;transition:all .15s}
.vbtn:hover{border-color:var(--accent);color:var(--accent)}
.vbtn.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}
.table-wrap{overflow:auto;max-height:340px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;box-shadow:var(--shadow)}
table{width:100%;border-collapse:collapse;font-size:12px}
thead th{padding:8px 10px;text-align:right;font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);white-space:nowrap;z-index:1}
thead th.la{text-align:left}
tbody td{padding:6px 10px;text-align:right;border-bottom:1px solid var(--border);color:var(--text);white-space:nowrap;transition:background .15s}
tbody td.la{text-align:left;font-weight:600}
tbody tr:last-child td{border-bottom:none}
tbody tr:nth-child(even) td{background:var(--surface2)}
tbody tr:hover td{background:rgba(37,99,235,.07)}
tbody tr.be-row td{background:#fef9c3!important;font-weight:600}
[data-theme="dark"] tbody tr.be-row td{background:#3a3000!important}
.more-row td{text-align:center;color:var(--text2);font-size:11px;padding:10px;background:var(--surface2)!important}
tbody tr.ph2 td.la::after{content:' ②';font-size:10px;color:var(--amber);font-weight:400}
.chart-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:20px;box-shadow:var(--shadow);transition:background .2s}
.chart-title{font-size:13px;font-weight:600;color:var(--text2);margin-bottom:12px;text-transform:uppercase;letter-spacing:.04em}
.legend{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:14px}
.litem{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text2)}
.lbox{width:12px;height:12px;border-radius:3px;flex-shrink:0}
.lline{width:20px;height:2px;border-radius:1px;flex-shrink:0}
.ldash{width:20px;height:0;border-top:2px dashed;flex-shrink:0}
.chart-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.chart-box{position:relative;height:260px}
.chart-box-wide{position:relative;height:300px}
@media(max-width:700px){.chart-row{grid-template-columns:1fr}}
.verdict{border-radius:var(--radius);padding:16px 20px;margin-bottom:20px;border-left:4px solid var(--green);background:#f0fdf4;transition:background .2s}
.verdict.neg{border-left-color:var(--red);background:#fef2f2}
[data-theme="dark"] .verdict{background:#0a1f13}
[data-theme="dark"] .verdict.neg{background:#200a0a}
.verdict h3{font-size:14px;font-weight:600;margin-bottom:6px}
.verdict p{font-size:13px;color:var(--text2);line-height:1.65}
.verdict strong{color:var(--text)}
.be-badge{display:inline-block;background:#fef08a;border:1px solid #ca8a04;color:#713f12;border-radius:6px;padding:1px 8px;font-size:11px;font-weight:600;margin:0 2px}
[data-theme="dark"] .be-badge{background:#3a3000;border-color:#92400e;color:#fbbf24}
.cmp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}
.cmp-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);transition:background .2s}
.cmp-panel h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text2);margin-bottom:10px}
.cmp-row{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0;border-bottom:1px solid var(--border);font-size:13px;gap:8px}
.cmp-row:last-child{border-bottom:none;font-weight:700;margin-top:4px}
.cmp-lbl{color:var(--text2);white-space:nowrap}
