:root{--bg:#f4f6fa;--card:#fff;--ink:#0f172a;--mut:#64748b;--line:#e2e8f0;--acc:#2563eb;--good:#16a34a;--bad:#dc2626;--warn:#d97706}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink)}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 24px;background:#0f172a;color:#fff}
.top h1{margin:0;font-size:22px}.top p{margin:0;color:#cbd5e1;font-size:14px}
main{display:grid;grid-template-columns:340px 1fr;gap:16px;padding:16px 24px;max-width:1500px;margin:auto}
@media(max-width:960px){main{grid-template-columns:1fr;padding:12px}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 14px;align-self:start;max-height:calc(100vh - 32px);overflow:auto;position:sticky;top:8px}
@media(max-width:960px){.panel{position:static;max-height:none}}
details{border-bottom:1px solid var(--line);padding:6px 0}
summary{cursor:pointer;font-weight:600;padding:4px 0}
.field{display:grid;grid-template-columns:1fr 120px;gap:4px 8px;align-items:center;margin:6px 0}
.field label{font-size:13px}.field .unit{display:block;color:var(--mut);font-size:11px}
.field input,.field select{width:100%;padding:5px 6px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;font-size:13px;background:#fff}
.field select{grid-column:1/-1}
.field .note{grid-column:1/-1;font-size:11px;color:var(--mut)}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:16px}
.card h2{margin:0 0 8px;font-size:15px}.card h2 small{font-weight:400;color:var(--mut);margin-left:6px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px}
.grid2 .card{margin:0}
@media(max-width:560px){.grid2{grid-template-columns:1fr}}
svg{width:100%;height:auto;display:block}
svg .grid{stroke:#e2e8f0}svg .zero{stroke:#0f172a;stroke-width:1.2}
svg .tick{font-size:11px;fill:#475569}svg .axis{font-size:12px;fill:#475569}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--mut);margin-top:4px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px}
.hint{font-size:12px;color:var(--mut);margin:4px 0 0}
.sw{display:inline-block;width:10px;height:10px;margin:0 4px 0 10px}.lowc{background:#d97706}.highc{background:#2563eb}
.actions{display:flex;gap:8px;flex-wrap:wrap}
button{font:inherit;font-size:13px;padding:6px 12px;border-radius:6px;border:1px solid var(--acc);background:var(--acc);color:#fff;cursor:pointer}
button.ghost{background:transparent;color:inherit;border-color:#94a3b8}
.top button.ghost{color:#fff}
button.small{padding:2px 8px;font-size:12px}
.row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.row input{flex:1;min-width:160px;padding:6px;border:1px solid #cbd5e1;border-radius:6px;font:inherit}
.verdict-head{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}
.badge{font-size:20px;font-weight:700;padding:4px 12px;border-radius:8px}
.badge.buy{background:#dcfce7;color:#166534}.badge.rent{background:#fee2e2;color:#991b1b}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:12px}
.kpi{border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.kpi b{display:block;font-size:18px}.kpi span{font-size:12px;color:var(--mut)}
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:12.5px;font-variant-numeric:tabular-nums}
th,td{padding:5px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
th:first-child,td:first-child{text-align:left}
thead th{background:#f8fafc;position:sticky;top:0}
.pos{color:var(--good)}.neg{color:var(--bad)}
.scn{display:inline-flex;gap:6px;align-items:center;margin:0 10px 8px 0;font-size:13px}
.disclaimer{color:var(--mut);font-size:12px;text-align:center}
@media print{
  body{background:#fff}.no-print,.top .actions{display:none!important}
  main{display:block;padding:0}.card{break-inside:avoid;border-color:#ccc}
  .top{background:#fff;color:#000;padding:0 0 8px}.top p{color:#333}
  .grid2{grid-template-columns:1fr 1fr}
}
