:root{color-scheme:dark;--bg:#091018;--panel:#111c27;--panel2:#172636;--text:#eef6ff;--muted:#8fa5ba;--line:#26394c;--primary:#35d0ba;--danger:#ff6470;--warning:#ffbd59;--ok:#55d88b;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,#16324a 0,transparent 35%),var(--bg);color:var(--text);min-height:100vh}a{color:#8ee9dc;text-decoration:none}.layout{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#0b141e;border-right:1px solid var(--line);padding:24px;position:sticky;top:0;height:100vh}.brand{font-weight:800;font-size:23px;letter-spacing:-.5px;margin-bottom:28px}.brand span{color:var(--primary)}.brand.large{font-size:30px}.sidebar nav{display:grid;gap:8px}.sidebar nav a{padding:12px 14px;border-radius:10px;color:var(--muted)}.sidebar nav a:hover{background:var(--panel2);color:var(--text)}.main{padding:0 28px 40px;min-width:0}.topbar{height:76px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);margin-bottom:24px}.topbar small{display:block;color:var(--muted)}.menu-button{display:none;background:none;border:0;color:white;font-size:24px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.kpis article,.card{background:linear-gradient(145deg,var(--panel),#0e1822);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 20px 50px #0003}.kpis span{color:var(--muted)}.kpis strong{font-size:32px;display:block;margin-top:7px}.card{margin-bottom:20px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:13px}label{display:grid;gap:7px;margin-bottom:14px;color:var(--muted)}input,select{width:100%;background:#0b151f;border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--text);font:inherit}input:focus,select:focus{outline:2px solid #35d0ba55;border-color:var(--primary)}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:11px 16px;border-radius:10px;cursor:pointer}.button.primary{background:var(--primary);border-color:var(--primary);color:#06241f;font-weight:800}.alert{padding:13px 15px;border-radius:10px;margin:12px 0;background:#183246}.alert.error{background:#4a1f28;color:#ffdce0}.alert.success{background:#173d31;color:#c9ffe9}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#25384a;font-size:12px}.badge.completed,.badge.active{background:#17442f;color:#a7ffd0}.badge.failed,.badge.error{background:#50232a;color:#ffd0d4}.badge.running{background:#183e59;color:#b9e9ff}.badge.pending{background:#4c3a19;color:#ffe1a8}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.check{display:flex;align-items:center;gap:10px}.check input{width:auto}.grid-2{display:grid;grid-template-columns:380px 1fr;gap:20px}.auth-body{display:grid;place-items:center;padding:20px}.auth-card{width:min(430px,100%);background:var(--panel);padding:34px;border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 80px #0008}.auth-card h1{margin-bottom:6px}.auth-card p{color:var(--muted)}.auth-card .button{width:100%}.progress{height:10px;background:#071018;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--primary)}.steps{display:grid;gap:10px;margin-top:20px}.steps article{border:1px solid var(--line);border-radius:12px;padding:14px}.steps p{margin-bottom:0;color:var(--muted)}small{color:var(--muted)}
@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:fixed;z-index:20;transform:translateX(-105%);transition:.2s;width:260px}.sidebar.open{transform:none}.main{padding:0 16px 30px}.menu-button{display:block}.kpis{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
@media(max-width:520px){.kpis{grid-template-columns:1fr}.card-head{align-items:flex-start;flex-direction:column}.auth-card{padding:24px}}
.password-field{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.password-field .button{white-space:nowrap}@media(max-width:640px){.password-field{grid-template-columns:1fr 1fr}.password-field input{grid-column:1/-1}.password-field .button{width:100%}}
