:root{--bg:#0B1220;--card:#121B2E;--card2:#17223A;--line:rgba(255,255,255,.08);--text:#E7EEF9;--mut:#8A99B5;--acc:#19C79B;--acc2:#0EA5B7;--red:#F43F5E;--amber:#F59E0B;--blue:#1D9BF0}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:Inter,system-ui,sans-serif;background:radial-gradient(900px 500px at 0 0,rgba(25,199,155,.12),transparent 60%),radial-gradient(800px 500px at 100% 100%,rgba(139,92,246,.1),transparent 60%),var(--bg);color:var(--text);-webkit-text-size-adjust:100%}
.hidden{display:none!important}.muted{color:var(--mut)}button,input,textarea,select{font:inherit;color:inherit}
.logo{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 12px;border-radius:20px;background:linear-gradient(135deg,var(--acc),var(--acc2));font-size:32px;font-weight:800;color:#fff}.logo.sm{width:34px;height:34px;margin:0;border-radius:11px;font-size:18px}
.login{min-height:100dvh;display:grid;place-items:center;padding:20px}.lcard{width:min(400px,100%);padding:28px;border-radius:24px;background:var(--card);border:1px solid var(--line);text-align:center}.lcard h1{margin:4px 0}.lcard label{display:block;text-align:left;margin:12px 0 6px;font-size:13px;font-weight:600;color:var(--mut)}.lcard .btn{width:100%;margin-top:16px}
input,textarea,select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#0E1627;outline:0;font-size:15px}input:focus,textarea:focus,select:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(25,199,155,.18)}textarea{min-height:96px;resize:vertical}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--acc),var(--acc2));color:#04141A;font-weight:700;cursor:pointer;transition:transform .08s,filter .15s}.btn:hover{filter:brightness(1.08)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;pointer-events:none}
.btn.ghost{background:var(--card2);color:var(--text);border:1px solid var(--line)}.btn.red{background:var(--red);color:#fff}.btn.amber{background:var(--amber);color:#1A1200}.btn.blue{background:var(--blue);color:#fff}.btn.sm{padding:7px 12px;font-size:13px;border-radius:10px}
.err{color:var(--red);font-weight:600;min-height:20px;margin:10px 0 0}
.app{display:grid;grid-template-columns:230px 1fr;min-height:100dvh}.side{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:14px;padding:16px;border-right:1px solid var(--line);background:rgba(10,16,30,.6);backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:10px;font-size:18px}nav{display:flex;flex-direction:column;gap:4px;flex:1}nav button{display:flex;align-items:center;gap:10px;padding:11px 12px;border:0;border-radius:12px;background:none;text-align:left;font-weight:600;color:var(--mut);cursor:pointer}nav button:hover{background:var(--card)}nav button.on{background:linear-gradient(135deg,rgba(25,199,155,.22),rgba(14,165,183,.16));color:#fff}nav .bd{margin-left:auto;min-width:20px;padding:1px 6px;border-radius:10px;background:var(--red);color:#fff;font-size:11px;text-align:center}
.who{display:flex;flex-direction:column;gap:8px}.who small{color:var(--mut);overflow-wrap:anywhere}
.main{padding:22px 24px 60px;max-width:1100px;width:100%}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.top h2{margin:0;font-size:26px;letter-spacing:-.02em}
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;background:var(--card2);border:1px solid var(--line)}.chip.ok{color:#34D399}.chip.warn{color:var(--amber)}.chip.bad{color:var(--red)}.chip.blue{color:var(--blue)}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;margin-bottom:14px}.card h3{margin:0 0 12px;font-size:16px}
.stat b{display:block;font-size:32px;font-weight:800;letter-spacing:-.03em}.stat small{color:var(--mut)}
.row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row>div{flex:1;min-width:0}.row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row small{color:var(--mut)}
.av{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--card2);font-weight:700;object-fit:cover}
.vt{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:5px;border-radius:50%;background:var(--blue);color:#fff;font-size:9px;font-weight:800;vertical-align:middle}
.sw{position:relative;display:inline-block;width:52px;height:30px;flex:none}.sw input{opacity:0;width:0;height:0}.sw span{position:absolute;inset:0;border-radius:15px;background:#2A3652;transition:.2s;cursor:pointer}.sw span:before{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:.2s}.sw input:checked+span{background:var(--red)}.sw.g input:checked+span{background:var(--acc)}.sw input:checked+span:before{transform:translateX(22px)}
.field{margin-bottom:12px}.field label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--mut)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.bar{height:10px;border-radius:5px;background:var(--card2);overflow:hidden}.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--acc2));transition:width .2s}
.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end;margin-bottom:14px}.pod{text-align:center;padding:16px 8px;border-radius:20px;background:var(--card);border:1px solid var(--line)}.pod .m{font-size:34px}.pod.p1{background:linear-gradient(180deg,rgba(251,191,36,.2),var(--card));padding-top:26px}.pod b{display:block;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--line)}th{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.log{font:12.5px ui-monospace,Menlo,monospace;background:#0A1120;border:1px solid var(--line);border-radius:14px;padding:12px;max-height:240px;overflow:auto;white-space:pre-wrap}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:99;padding:12px 18px;border-radius:14px;background:#19C79B;color:#04141A;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.4);max-width:92vw}.toast.err{background:var(--red);color:#fff}
.tabs-h{display:flex;gap:8px;overflow-x:auto;margin-bottom:12px}.tabs-h button{flex:none;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card2);cursor:pointer;font-weight:600}.tabs-h button.on{background:var(--acc);color:#04141A}
@media(max-width:860px){.app{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:10px}nav{flex-direction:row;overflow-x:auto;flex:1 1 100%;order:3}nav button{white-space:nowrap}.who{flex-direction:row;align-items:center;margin-left:auto}.main{padding:16px 14px 60px}.podium{grid-template-columns:1fr}}
