:root{--bg-1: #f4f1ea;--bg-2: #e3ece7;--ink: #1f2421;--muted: #5a6a63;--accent: #c26949;--accent-2: #214843;--card: #ffffff;--card-shadow: 0 16px 40px rgba(31, 36, 33, .12);--line: #dedad0;--soft: #f6f2ea;--chip: #eef3ef;--radius-lg: 20px;--radius-md: 12px;--radius-sm: 8px}*{box-sizing:border-box}body{margin:0;font-family:IBM Plex Sans,system-ui,sans-serif;color:var(--ink);background:radial-gradient(1200px 600px at 8% 8%,#fff5e8 0%,transparent 60%),radial-gradient(900px 520px at 90% 0%,#e5f1ec 0%,transparent 55%),linear-gradient(135deg,var(--bg-1),var(--bg-2));min-height:100vh}.app{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:24px;padding:32px;align-items:start}@media (max-width: 980px){.app{grid-template-columns:1fr;padding:24px}.sidebar{position:static;top:auto}}@media (max-width: 720px){.app{padding:18px;gap:18px}.metrics{grid-template-columns:1fr}.chart-wrap{height:320px}}@media (min-width: 1400px){.app{padding:40px;gap:32px;max-width:1600px;margin:0 auto}}.sidebar{background:var(--card);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--card-shadow);position:sticky;top:24px;height:fit-content;min-width:0}.title{font-family:Spectral,serif;font-size:30px;margin:0 0 8px}.subtitle{color:var(--muted);margin:0 0 24px;font-size:14px;line-height:1.4}.section{margin-bottom:20px}.label{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}input,select{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:#fbfbf9;font-size:14px;font-family:inherit}input:focus,select:focus{outline:2px solid rgba(33,72,67,.15);border-color:var(--accent-2)}button{font-family:inherit;border:none;border-radius:999px;padding:12px 18px;background:var(--accent);color:#fff;cursor:pointer;font-weight:600;transition:transform .15s ease,box-shadow .15s ease}button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #c269494d}button.secondary{background:#fff;color:var(--accent-2);border:1px solid var(--line)}button.primary{width:100%;padding:13px 18px;font-size:14px;letter-spacing:.02em}.button-row{display:flex;gap:10px;flex-wrap:wrap}.button-row.compact button{padding:9px 14px;font-size:13px}.actions .primary{margin-bottom:10px}.main{display:grid;gap:24px;min-width:0}.card{background:var(--card);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--card-shadow);animation:rise .6s ease both;min-width:0;overflow:hidden}.card h2{margin-top:0;margin-bottom:12px;font-size:20px;font-family:Spectral,serif}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.metric{padding:16px;background:var(--soft);border-radius:var(--radius-md);min-width:0}.metric .value{font-size:22px;font-weight:700;overflow-wrap:break-word}.metric .unit{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.chart-wrap{height:420px;min-width:0}.chart-wrap canvas{max-width:100%!important}@media (min-width: 1400px){.chart-wrap{height:480px}}.notice{background:#fdf2e7;border:1px solid #f1c9b4;color:#7a3a1f;padding:12px 14px;border-radius:var(--radius-md);font-size:14px}.small{font-size:12px;color:var(--muted)}
