:root{--bg: #0f1419;--panel: #1a222c;--line: #2a3542;--text: #e8eef4;--muted: #8b9aab;--accent: #3d9cf0;--danger: #e25c5c;--ok: #3cb371;--font: "IBM Plex Sans", "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:radial-gradient(1200px 600px at 10% -10%,#1c3a55,transparent),var(--bg);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--line);padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.brand{display:flex;align-items:center;gap:.65rem;font-weight:700;letter-spacing:.02em}.brand-mark{width:32px;height:32px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#3d9cf0,#1f6fb8);color:#041018;font-size:.95rem}.sidebar nav{display:flex;flex-direction:column;gap:.35rem;flex:1}.sidebar nav a{display:flex;align-items:center;gap:.65rem;padding:.65rem .8rem;border-radius:10px;color:var(--muted)}.sidebar nav a svg{flex-shrink:0;opacity:.9}.sidebar nav a.active,.sidebar nav a:hover{background:#243140;color:var(--text)}.sidebar nav a.active{box-shadow:inset 2px 0 0 var(--accent)}.logout-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;width:100%}.content{padding:1.5rem 2rem}h1{margin:0 0 1rem;font-size:1.5rem}.muted{color:var(--muted)}.error{color:var(--danger)}.worker-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;margin-bottom:1rem}.worker-state{font-size:1.1rem;font-weight:650;margin-top:.2rem}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.85rem}.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem}.stat-value{font-size:1.75rem;font-weight:700}.stat-label{color:var(--muted);margin-top:.25rem}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:600}tr.blocked td{opacity:.7}button,.ghost{cursor:pointer;border:0;border-radius:8px;padding:.55rem .9rem;background:var(--accent);color:#041018;font-weight:600}button:disabled{opacity:.6;cursor:wait}button.danger{background:var(--danger);color:#fff}button.ok{background:var(--ok);color:#041018}.ghost{background:transparent;color:var(--muted);border:1px solid var(--line);margin-top:auto}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(380px,100%);background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:.85rem}.login-card h1{margin:0}label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--muted)}input{border:1px solid var(--line);background:#111820;color:var(--text);border-radius:8px;padding:.65rem .75rem;font:inherit}@media (max-width: 800px){.shell{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;align-items:center}.sidebar nav{flex-direction:row;flex:1}}
