:root{--ink:#211F20;--red:#ED4734;--paper:#fff;--p1:#2a2829;--p2:#353334;--p3:#3f3d3e;--p4:#1a1819;--muted:#8a8788;--line:#3a3839;--green:#3dd07a;--amber:#ffa500}*{box-sizing:border-box}::selection{background:var(--red);color:#fff}body{margin:0;background:var(--ink);color:#fff;font-family:Poppins,IBM Plex Sans Thai,-apple-system,sans-serif;font-size:15px;line-height:1.6;letter-spacing:-.005em}a{color:inherit;text-decoration:none;cursor:pointer}.num{font-variant-numeric:tabular-nums}.eyebrow{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-weight:600}.topbar{background:#000;padding:18px 44px;display:flex;align-items:center;gap:40px;border-bottom:1px solid #000;position:sticky;top:0;z-index:10}.logo{font-size:24px;font-weight:900;letter-spacing:-.03em}.logo .ai{color:var(--red)}.logo .ver{font-size:9px;color:var(--muted);font-weight:500;letter-spacing:.16em;margin-left:10px;text-transform:uppercase}nav{display:flex;gap:28px;font-size:14px;color:var(--muted);flex:1;font-weight:500}nav a{padding:7px 0;border-bottom:2px solid transparent;transition:all .15s}nav a:hover{color:#fff}nav a.active{color:#fff;border-color:var(--red);font-weight:600}.user-strip{display:flex;align-items:center;gap:14px;font-size:13px}.user-strip .who{text-align:right;line-height:1.2}.user-strip .who .role{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:600}.avatar{width:38px;height:38px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}.section{padding:40px 44px;border-bottom:1px solid var(--line)}.section h2{margin:0 0 22px;font-size:28px;font-weight:900;letter-spacing:-.025em;line-height:1}.section h2 .idx{color:var(--red);margin-right:10px}.loading{padding:80px 44px;text-align:center;color:var(--muted);font-size:14px}.kpi-strip{padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line)}.kpi{padding:28px 32px;position:relative;border-right:1px solid var(--line)}.kpi:last-child{border-right:0}.kpi .value{font-size:56px;font-weight:900;letter-spacing:-.04em;line-height:.95}.kpi .value .unit{font-size:22px;font-weight:500;color:var(--muted);margin-left:4px;letter-spacing:0}.kpi .sub{font-size:13px;color:var(--muted);margin-top:8px}.kpi .sub b.up{color:var(--green);font-weight:700}.kpi .sub b.down{color:var(--red);font-weight:700}
