:root{--ink: #1b1240;--accent: #ffc857;--warm: #ff6b6b;--bg: #f6f5fb;--line: #e1def0}*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,sans-serif;background:var(--bg);color:#1d1a2e}h2{margin:0 0 1rem}input,select{padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}button{padding:.55rem 1rem;border:0;border-radius:8px;background:var(--ink);color:#fff;font:inherit;cursor:pointer}button:hover{filter:brightness(1.25)}button.ghost{background:transparent;border:1px solid currentColor;padding:.25rem .6rem;color:inherit}table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}th,td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--line)}th{background:#eeebf8;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}td.num,th.num{text-align:right}.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem;align-items:center}.badge{padding:.15rem .55rem;border-radius:999px;font-size:.75rem;background:#e8e5f5}.badge.ok{background:#d6f5e3;color:#0b6b3a}.badge.warn{background:#ffe0e0;color:#a02020}.error{color:#b3261e;margin:.5rem 0}
