:root{--bg:#f4f6fa;--surface:#fff;--text:#172033;--muted:#687386;--line:#dfe4ec;--primary:#5138a5;--primary-soft:#eeeafe;--danger:#b42318;--ok:#18794e;--warn:#a15c00;--sidebar:#171527}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:var(--primary);text-decoration:none}button,.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 14px;background:var(--primary);color:#fff;font-weight:700;cursor:pointer}.secondary{background:#fff;color:var(--text);border:1px solid var(--line)}.danger-button{background:#fff;color:var(--danger);border:1px solid #f2b8b5}.app{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{background:var(--sidebar);color:#fff;padding:24px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;margin-bottom:28px}.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#7457d7;color:white;font-weight:900}.nav{display:grid;gap:5px}.nav a{padding:11px 12px;border-radius:9px;color:#d7d3e7}.nav a:hover,.nav a.active{background:#302b4b;color:#fff}.nav-title{margin:18px 12px 7px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#918aa8}.sidebar-user{margin-top:auto;border-top:1px solid #332e49;padding-top:16px;color:#d7d3e7}.sidebar-user small{display:block;color:#918aa8;margin-top:3px}.main{min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;padding:0 28px}.content{padding:28px;max-width:1500px;margin:auto}.page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.page-title h1{margin:3px 0 5px;font-size:30px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--primary);margin:0;text-transform:uppercase}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:18px;box-shadow:0 5px 20px rgba(30,35,55,.035)}.metric span{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;font-size:29px;margin-top:8px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}label{display:block;font-weight:650;font-size:13px;margin-bottom:14px}input,select,textarea{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:9px;padding:10px 11px;font:inherit;background:#fff;color:var(--text)}textarea{min-height:95px;resize:vertical}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.badge{display:inline-flex;border-radius:999px;padding:4px 9px;background:#eef1f5;font-size:12px;font-weight:750}.badge.active,.badge.ok,.badge.passed{background:#e4f5ed;color:var(--ok)}.badge.suspended,.badge.error,.badge.failed{background:#fdebea;color:var(--danger)}.badge.provisioning,.badge.warning,.badge.partial,.badge.unchecked{background:#fff1db;color:var(--warn)}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.alert{padding:12px 14px;border-radius:9px;margin:12px 0}.alert.danger{background:#fdebea;color:var(--danger)}.alert.ok{background:#e4f5ed;color:var(--ok)}.alert.info{background:#edf2ff;color:#3152a0}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#171527,#332b66)}.login-card{width:min(460px,calc(100% - 32px));background:#fff;padding:32px;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.login-card h1{margin:8px 0 20px}.login-card .brand-mark{margin-bottom:18px}.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;background:#f5f6f8;padding:2px 5px;border-radius:5px}.status-line{display:flex;gap:8px;align-items:center}.empty{padding:30px;text-align:center;color:var(--muted)}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:relative}.grid,.two,.three{grid-template-columns:1fr}.content{padding:18px}.topbar{display:none}}
