:root{--bg: #f4f5f7;--card: #fff;--ink: #1b1f27;--muted: #6b7280;--line: #e4e7ec;--brand: #e8590c;--brand-ink: #fff;--ok: #2b8a3e;--bad: #c92a2a;--info: #1971c2;--warn: #e67700;--radius: 10px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}h1{font-size:1.4rem;margin:0}h2{font-size:1.1rem;margin:0}a{color:var(--info)}.muted{color:var(--muted)}.small{font-size:.8rem}.center{text-align:center}.num{text-align:right;white-space:nowrap}.error{color:var(--bad);margin:.5rem 0}.notice{background:#fff4e6;border:1px solid #ffd8a8;border-radius:var(--radius);padding:.5rem .75rem;font-size:.85rem}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.6rem 1.25rem;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{font-weight:700;color:var(--brand)}.topbar nav{display:flex;gap:.25rem}.topbar nav a{padding:.4rem .8rem;border-radius:8px;text-decoration:none;color:var(--ink);display:inline-flex;gap:.4rem;align-items:center}.topbar nav a.active{background:#fff0e6;color:var(--brand);font-weight:600}.topbar-right{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.user{color:var(--muted);font-size:.9rem}main{max-width:1100px;margin:0 auto;padding:1.25rem}.badge{background:var(--bad);color:#fff;border-radius:999px;padding:0 .45rem;font-size:.75rem;line-height:1.4}.live{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--muted)}.live i{width:8px;height:8px;border-radius:50%;background:#adb5bd}.live.on i{background:var(--ok);box-shadow:0 0 0 3px #d3f9d8}.page-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem}.actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.btn{font:inherit;border:1px solid var(--line);background:var(--card);padding:.45rem .9rem;border-radius:8px;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.danger{color:var(--bad);border-color:#ffc9c9}.btn.ghost{background:transparent}.link{font:inherit;background:none;border:0;padding:0;color:var(--info);cursor:pointer;font-weight:600}select,input,textarea{font:inherit;padding:.45rem .6rem;border:1px solid var(--line);border-radius:8px;background:#fff;width:100%}.actions select{width:auto}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.segmented button{font:inherit;border:0;background:var(--card);padding:.45rem .9rem;cursor:pointer}.segmented button.active{background:var(--brand);color:#fff}.switch{position:relative;display:inline-block;width:38px;height:22px}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;background:#ced4da;border-radius:999px;transition:.15s;cursor:pointer}.switch span:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.15s}.switch input:checked+span{background:var(--ok)}.switch input:checked+span:before{transform:translate(16px)}.switch input:focus-visible+span{outline:2px solid var(--info)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.table-wrap{padding:0;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.65rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}th.num{text-align:right}tr:last-child td{border-bottom:0}tr.dim td{opacity:.55}tr.is-new td{background:#fff9db}.row-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.pager{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;color:var(--muted);font-size:.9rem}.status{display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;background:#e9ecef}.status.new{background:#fff0e6;color:var(--brand)}.status.ok{background:#d3f9d8;color:var(--ok)}.status.bad{background:#ffe3e3;color:var(--bad)}.status.info{background:#d0ebff;color:var(--info)}.status.warn{background:#fff3bf;color:var(--warn)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:20}.modal{background:var(--card);border-radius:var(--radius);width:min(560px,100%);max-height:92vh;overflow:auto;padding:1rem 1.25rem}.modal>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.form{display:grid;gap:.75rem}.form label{display:grid;gap:.25rem;font-size:.85rem;color:var(--muted)}.form label.check{display:flex;align-items:center;gap:.5rem;color:var(--ink)}.form label.check input{width:auto}.form footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.detail dl{display:grid;grid-template-columns:9rem 1fr;gap:.35rem .75rem;margin:.75rem 0}.detail dt{color:var(--muted)}.detail dd{margin:0}.detail .totals{grid-template-columns:1fr auto;margin-top:.75rem}.login{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(380px,100%);display:grid;gap:.85rem}.login-card label{display:grid;gap:.25rem;font-size:.85rem;color:var(--muted)}.toasts{position:fixed;right:1rem;bottom:1rem;display:grid;gap:.5rem;z-index:30}.toast{display:flex;justify-content:space-between;gap:1rem;min-width:240px;font:inherit;text-align:left;background:#1b1f27;color:#fff;border:0;border-radius:var(--radius);padding:.75rem 1rem;cursor:pointer;box-shadow:0 6px 20px #00000040}@media (max-width: 640px){main{padding:.75rem}.grid3,.grid2,.detail dl{grid-template-columns:1fr}}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem;margin-bottom:1.25rem}.stat-value{font-size:1.9rem;font-weight:700;line-height:1.1}.notice{background:#fff9db;border-color:#ffe066;margin-bottom:1rem}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.filters input{flex:1 1 14rem;width:auto}.filters select{width:auto}.picker{display:grid;gap:.35rem}.picker ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem;max-height:12rem;overflow:auto}.picker li button{width:100%;text-align:left}.checks{display:flex;flex-wrap:wrap;gap:.75rem}.changes,.changes ul{list-style:none;margin:0;padding:0}.changes>li{padding:.6rem 0;border-bottom:1px solid var(--line)}.changes>li:last-child{border-bottom:0}.changes ul{margin-top:.25rem;padding-left:.9rem;border-left:3px solid var(--line)}
