:root{--brand:#096ab9;--brand-dark:#075586;--text:#0b1b2a;--text-secondary:#5a6b7a;--border:#e1e8f0;--bg:#f5f8fb;--card:#fff;--brand-tint:#e6f0fa;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:inherit;text-decoration:none}.center{min-height:100vh;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.app{min-height:100vh;display:flex}.sidebar{background:var(--card);border-right:1px solid var(--border);flex-direction:column;gap:6px;width:232px;padding:20px 14px;display:flex}.brand{flex-direction:column;align-items:flex-start;gap:2px;padding:6px 12px 16px;display:flex}.brand-logo{width:132px;height:auto;display:block}.brand-tag{color:var(--brand);letter-spacing:.06em;font-size:12px;font-weight:700}.sidebar nav{flex-direction:column;flex:1;gap:2px;display:flex}.navlink{color:var(--text-secondary);border-radius:8px;padding:10px 12px;font-weight:500}.navlink:hover{background:var(--bg)}.navlink.active{background:var(--brand-tint);color:var(--brand-dark)}main{flex:1;max-width:1100px;padding:28px 32px}h1{margin:0 0 20px;font-size:24px}h2{margin:24px 0 12px;font-size:16px}.muted{color:var(--text-secondary)}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.stat{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px}.stat .n{color:var(--brand);font-size:30px;font-weight:700}.stat .l{color:var(--text-secondary);margin-top:4px;font-size:13px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px}table{border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:12px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px;font-size:14px}th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}tr:last-child td{border-bottom:none}.badge{background:var(--brand-tint);color:var(--brand-dark);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}input,select{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:8px;min-width:140px;padding:10px 12px;font-size:14px}button{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600}button:hover:not(:disabled){background:var(--brand-dark)}button:disabled{opacity:.5;cursor:default}button.secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.row{align-items:center;gap:8px;display:flex}.error{color:#c0392b;font-size:14px}.empty{color:var(--text-secondary);padding:16px 0}.login{max-width:360px;margin:12vh auto;padding:28px}.login-logo{width:180px;height:auto;margin-bottom:10px;display:block}.login form{flex-direction:column;gap:12px;margin-top:12px;display:flex}.login input{width:100%}.tabs{border-bottom:1px solid var(--border);gap:6px;margin-bottom:18px;display:flex}.tab{cursor:pointer;color:var(--text-secondary);background:0 0;border-bottom:2px solid #0000;border-radius:0;padding:8px 14px;font-size:14px;font-weight:600}.tab:hover:not(:disabled){color:var(--text);background:0 0}.tab.active{color:var(--brand-dark);border-bottom-color:var(--brand)}.overlay{z-index:50;background:#0b1b2a66;justify-content:flex-end;display:flex;position:fixed;inset:0}.overlay.modal-center{justify-content:center;align-items:center}.drawer{background:var(--card);width:480px;max-width:94vw;height:100%;padding:24px;overflow-y:auto;box-shadow:-4px 0 24px #0000001f}.modal{background:var(--card);border-radius:12px;width:440px;max-width:94vw;padding:22px}.drawer-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.drawer-head h2{margin:0}.form{flex-direction:column;gap:12px;display:flex}.form .field{flex-direction:column;gap:5px;display:flex}.form label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}.form input,.form select,.form textarea,.full{width:100%}textarea{border:1px solid var(--border);background:var(--card);color:var(--text);resize:vertical;border-radius:8px;min-height:84px;padding:10px 12px;font-family:inherit;font-size:14px}button.danger{background:#c0392b}button.danger:hover:not(:disabled){background:#a5301f}button.link{color:var(--brand-dark);background:0 0;padding:6px 8px}button.link:hover:not(:disabled){background:var(--bg)}.pos{color:#1b8a4b;font-weight:600}.neg{color:#c0392b;font-weight:600}.right{text-align:right}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.spacer{flex:1}.ok{color:#1b8a4b;font-size:14px}.hint{color:var(--text-secondary);margin:6px 0 0;font-size:13px}.pill{letter-spacing:.02em;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-block}.pill.on{color:#1b8a4b;background:#e4f5ea}.pill.off{color:#c0392b;background:#fde7e4}.pill.warn{color:#9a6a00;background:#fdf0d9}.kv{grid-template-columns:130px 1fr;gap:7px 12px;margin:12px 0;font-size:14px;display:grid}.kv .k{color:var(--text-secondary)}
