:root{--bg: #0A1F14;--panel: #10281B;--panel2: #16342300;--line: rgba(255,255,255,.09);--ink: #F4F1E8;--muted: rgba(244,241,232,.62);--faint: rgba(244,241,232,.4);--gold: #D4A855;--gold2: #B07D2F;--green: #52B788;--red: #E5736B;--amber: #E0A83D;--radius: 14px;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--sans)}a{color:var(--gold)}button{cursor:pointer;font-family:inherit}[hidden]{display:none!important}.boot{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--muted)}.login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem}.login__card{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:2rem;display:flex;flex-direction:column;gap:.75rem}.login__brand{font-size:1.4rem;font-weight:700}.login__brand span{color:var(--gold)}.login__sub{margin:0 0 .5rem;color:var(--muted);font-size:.9rem}.login label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:var(--muted)}.login input{padding:.7rem .8rem;border-radius:10px;border:1px solid var(--line);background:#0c2416;color:var(--ink);font-size:1rem}.login button{margin-top:.5rem;padding:.8rem;border:none;border-radius:999px;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#1a1207;font-weight:700;font-size:1rem}.login__err{color:var(--red);font-size:.85rem;min-height:1em;margin:.25rem 0 0}.top{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:10}.top__brand{font-weight:700;font-size:1.15rem}.top__brand span{color:var(--gold)}.top__right{display:flex;align-items:center;gap:1rem}.top__who{color:var(--muted);font-size:.85rem}.top__out{background:transparent;border:1px solid var(--line);color:var(--muted);padding:.45rem .9rem;border-radius:999px;font-size:.85rem}.top__out:hover{color:var(--ink);border-color:var(--gold)}.tabs{display:flex;gap:.25rem;padding:.6rem 1rem;border-bottom:1px solid var(--line);overflow-x:auto;position:sticky;top:57px;background:var(--bg);z-index:9}.tab{white-space:nowrap;background:transparent;border:none;color:var(--muted);padding:.5rem .9rem;border-radius:999px;font-size:.9rem;font-weight:500}.tab:hover{color:var(--ink)}.tab.active{background:#d4a85529;color:var(--gold)}.tab .badge{display:inline-block;min-width:18px;text-align:center;margin-left:.35rem;padding:0 .3rem;font-size:.72rem;font-weight:700;border-radius:999px;background:var(--red);color:#fff}.view{padding:1.5rem;max-width:1100px;margin:0 auto}.loading{color:var(--muted);padding:2rem 0}h2.sec{font-size:1.1rem;margin:1.75rem 0 .9rem;font-weight:600}h2.sec:first-child{margin-top:0}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.9rem}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.kpi__label{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.kpi__val{font-size:1.9rem;font-weight:700;margin:.25rem 0 0}.kpi__sub{color:var(--green);font-size:.82rem;margin-top:.15rem}.kpi__sub.flat{color:var(--faint)}.alerts{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.alert{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;border-radius:12px;font-size:.9rem;border:1px solid}.alert.warn{background:#e0a83d1a;border-color:#e0a83d59;color:#f0d9a7}.alert.info{background:#52b78814;border-color:#52b7884d;color:#a9e3c6}.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--gold);font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.03em}tr:last-child td{border-bottom:none}td.wrap{white-space:normal;max-width:380px}.pill{display:inline-block;padding:.12rem .55rem;border-radius:999px;font-size:.76rem;font-weight:600}.pill.g{background:#52b78829;color:var(--green)}.pill.r{background:#e5736b29;color:var(--red)}.pill.a{background:#e0a83d29;color:var(--amber)}.pill.n{background:#ffffff14;color:var(--muted)}.bars{display:flex;flex-direction:column;gap:.5rem}.bar{display:grid;grid-template-columns:180px 1fr 60px;align-items:center;gap:.6rem;font-size:.85rem}.bar__track{height:12px;background:#ffffff0f;border-radius:999px;overflow:hidden}.bar__fill{height:100%;background:linear-gradient(90deg,var(--gold2),var(--gold));border-radius:999px}.bar__n{text-align:right;color:var(--muted)}.muted{color:var(--muted)}.empty{color:var(--faint);padding:1.5rem;text-align:center;border:1px dashed var(--line);border-radius:var(--radius)}.row-actions{display:flex;gap:.4rem;align-items:center}select,input.inp,textarea.inp{background:#0c2416;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:.4rem .55rem;font-family:inherit;font-size:.85rem}.btn{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#1a1207;border:none;border-radius:8px;padding:.45rem .8rem;font-weight:700;font-size:.82rem}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}.btn.sm{padding:.28rem .55rem;font-size:.76rem}.btn.danger{background:linear-gradient(135deg,#8f2f2f,#c0504a);color:#fff}.btn.ok{background:linear-gradient(135deg,#2f7d4f,var(--green));color:#0a1f14}.btn:disabled{opacity:.5;cursor:default}.rowbtns{display:flex;gap:.35rem;flex-wrap:wrap}.keyrow{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:.8rem}.keyrow h3{margin:0 0 .2rem;font-size:.98rem}.keyrow p{margin:0 0 .7rem;color:var(--muted);font-size:.84rem}.keyrow .set{color:var(--green);font-weight:600}.keyrow .unset{color:var(--amber);font-weight:600}.keyrow form{display:flex;gap:.5rem;flex-wrap:wrap}.keyrow input{flex:1;min-width:220px}.codebox{font-family:ui-monospace,monospace;background:#0c2416;border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;font-size:.82rem;word-break:break-all;color:var(--gold)}.toast{position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--gold);color:var(--ink);padding:.7rem 1.2rem;border-radius:999px;font-size:.88rem;opacity:0;transition:opacity .2s;pointer-events:none;z-index:100}.toast.show{opacity:1}@media(max-width:640px){.bar{grid-template-columns:120px 1fr 44px}.view{padding:1rem}}
