:root{--bg:#f4f6fb;--panel:#fff;--ink:#1e2433;--muted:#6b7280;--line:#e3e7ef;--accent:#2563eb;--accent-dark:#1d4ed8;--ok:#16a34a;--warn-bg:#fff7ed;--warn-ink:#b45309;--radius:14px}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.45 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:1240px;margin:0 auto;padding:24px 20px 48px}.topbar{margin-bottom:16px}.topbar h1{letter-spacing:-.02em;margin:0 0 4px;font-size:26px}.sub{color:var(--muted);margin:0}.panel{grid-template-columns:340px 1fr;align-items:start;gap:20px;display:grid}@media (width<=900px){.panel{grid-template-columns:1fr}}.form,.results{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.results{flex-direction:column;gap:16px;display:flex}.form h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:6px 0 10px;font-size:13px}.form h2:first-child{margin-top:0}.field{margin-bottom:12px;display:block}.field-label{align-items:center;gap:6px;margin-bottom:4px;font-size:13.5px;display:flex}.field-input{align-items:center;gap:8px;display:flex}.field-input input{border:1px solid var(--line);min-width:0;font:inherit;background:#fbfcfe;border-radius:9px;flex:1;padding:8px 10px}.field-input input:focus{border-color:var(--accent);outline:2px solid #bfdbfe}.field-input input:disabled{color:var(--muted);cursor:not-allowed;background:#f1f4f9}.field-input input:disabled:focus{border-color:var(--line);outline:none}.suffix{color:var(--muted);min-width:32px;font-size:12.5px}.check{cursor:pointer;align-items:flex-start;gap:9px;margin:12px 0;display:flex}.check input{width:16px;height:16px;accent-color:var(--accent);flex:none;margin:2px 0 0}.check-body{flex-direction:column;gap:2px;display:flex}.check-label{font-size:13.5px}.check-hint{color:var(--muted);font-size:12px;line-height:1.35}.note{color:var(--muted);margin:10px 0 0;font-size:13px}.note b{color:var(--ink)}.warn{background:var(--warn-bg);color:var(--warn-ink);border:1px solid #fed7aa;border-radius:10px;margin:0;padding:9px 12px;font-size:13.5px}.actions{gap:8px;margin-top:16px;display:flex}button{border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;cursor:pointer;border-radius:9px;padding:8px 14px;font-size:13.5px}button:hover{background:var(--accent-dark);border-color:var(--accent-dark)}button.ghost{color:var(--accent);background:#fff}button.ghost:hover{background:#eff4ff}.cards{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=620px){.cards{grid-template-columns:1fr}}.card{border:1px solid var(--line);background:linear-gradient(#fbfcff,#fff);border-radius:12px;padding:12px 14px}.card-label{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.card-value{letter-spacing:-.01em;font-size:20px}.card-accent{background:linear-gradient(#eff5ff,#fff);border-color:#bfdbfe}.card-accent .card-value{color:var(--accent-dark)}.chart{width:100%}.chart svg{width:100%;height:auto;display:block}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-bottom:6px;font-size:12.5px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-item i{border-radius:3px;width:10px;height:10px;display:inline-block}.grid{stroke:var(--line);stroke-width:1px}.axis{fill:var(--muted);font-size:11px}.axis-r{fill:var(--ok)}.table-wrap{border:1px solid var(--line);border-radius:12px;max-height:420px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:right;white-space:nowrap;padding:8px 12px}th{color:var(--muted);border-bottom:1px solid var(--line);z-index:1;background:#f8fafc;font-weight:600;position:sticky;top:0}td{border-bottom:1px solid #f1f4f9}tbody tr:hover td{background:#f8fbff}.left{text-align:left}.strong{font-weight:600}.foot{color:var(--muted);text-align:center;margin-top:22px;font-size:12.5px}
