@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@600;700&display=swap");
:root{color-scheme:dark;--bg:#080a0f;--panel:#0e1119;--line:rgba(255,255,255,.075);--muted:#7f8697;--violet:#8c5cff}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:#f2f3f6;font-family:Inter,sans-serif}.hidden{display:none!important}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 50% 15%,rgba(140,92,255,.13),transparent 34%),linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px),var(--bg);background-size:auto,45px 45px,45px 45px}
.login-card{width:min(430px,100%);padding:42px;border:1px solid rgba(140,92,255,.2);border-radius:15px;background:rgba(12,15,23,.94);box-shadow:0 40px 100px rgba(0,0,0,.5)}.login-brand{margin-bottom:45px}.kicker{color:#806eaa;font-size:9px;font-weight:700;letter-spacing:.19em}.login-card h1{margin:9px 0 10px;font:600 31px Space Grotesk;letter-spacing:-.04em}.login-copy{margin:0 0 28px;color:var(--muted);font-size:13px;line-height:1.6}.login-card form{display:grid;gap:16px}.login-card label{display:grid;gap:8px;color:#858b9a;font-size:9px;font-weight:700;letter-spacing:.12em}.login-card input{padding:13px 14px;border:1px solid var(--line);border-radius:7px;outline:0;background:#080a10;color:#fff;font:13px Inter}.login-card input:focus{border-color:rgba(140,92,255,.65);box-shadow:0 0 0 3px rgba(140,92,255,.09)}.login-card form button,.page-intro button{padding:13px;border:0;border-radius:7px;background:linear-gradient(135deg,#7447e9,#925cff);color:#fff;font:600 12px Inter;cursor:pointer}.login-card form button:disabled{opacity:.55}.form-message{min-height:17px;margin:14px 0;color:#ff7e91;font-size:11px}.back-link{display:block;color:#6e7482;text-align:center;text-decoration:none;font-size:10px}
.app-shell{display:flex;min-height:100vh}aside{position:fixed;inset:0 auto 0 0;width:240px;padding:28px 20px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#090b11}.brand{height:50px;display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font:700 14px Space Grotesk;letter-spacing:.18em}.brand span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(145deg,#8b5cff,#54319f);box-shadow:0 8px 24px rgba(140,92,255,.22)}
nav{display:grid;gap:4px;margin-top:38px;overflow:auto}nav button{display:flex;align-items:center;gap:13px;padding:10px 14px;border:0;border-radius:8px;background:transparent;color:#7f8697;text-align:left;font:12px Inter;cursor:pointer}nav button:hover,nav button.active{color:#fff;background:rgba(140,92,255,.1)}nav button.active{box-shadow:inset 2px 0 var(--violet)}nav i{width:18px;color:#a783ff;font-style:normal;text-align:center}.sidebar-bottom{margin-top:auto}.sidebar-status{padding:14px;display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.02)}.sidebar-status>i{width:7px;height:7px;border-radius:50%;background:#5ae68a;box-shadow:0 0 9px #5ae68a}.sidebar-status div{display:grid;gap:3px}.sidebar-status b{font-size:11px}.sidebar-status span{color:var(--muted);font-size:9px}.logout{width:100%;margin-top:8px;padding:9px;border:0;background:transparent;color:#686e7c;font:10px Inter;cursor:pointer}.logout:hover{color:#fff}
main{width:calc(100% - 240px);margin-left:240px;padding:0 42px 60px}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}header p,.section-title p{margin:0 0 7px;color:#75669d;font-size:9px;font-weight:700;letter-spacing:.2em}header h1{margin:0;font:600 24px Space Grotesk;letter-spacing:-.03em}.admin{display:flex;align-items:center;gap:11px}.admin>span{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(140,92,255,.3);border-radius:50%;background:rgba(140,92,255,.09);color:#b69aff;font-size:11px;font-weight:700}.admin div{display:grid;gap:2px}.admin b{font-size:11px}.admin small{color:var(--muted);font-size:9px}
.welcome{min-height:220px;margin:34px 0;padding:40px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:radial-gradient(circle at 80% 20%,rgba(140,92,255,.14),transparent 35%),linear-gradient(120deg,#10131c,#0d0f17)}.tag{display:inline-block;margin-bottom:17px;padding:7px 9px;border:1px solid rgba(87,222,255,.18);border-radius:4px;color:#6de3f7;font-size:8px;font-weight:700;letter-spacing:.15em}.welcome h2{margin:0 0 10px;font:600 clamp(27px,4vw,40px) Space Grotesk;letter-spacing:-.04em}.welcome p{margin:0;color:var(--muted);font-size:13px}.pulse{position:relative;width:150px;height:150px;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(140,92,255,.25);border-radius:50%;box-shadow:0 0 60px rgba(140,92,255,.08),inset 0 0 30px rgba(140,92,255,.06)}.pulse::before{content:"";position:absolute;inset:15px;border:1px dashed rgba(255,255,255,.09);border-radius:50%}.pulse span{font:700 46px Space Grotesk}.pulse small{color:#8f83ad;font-size:8px;letter-spacing:.13em}.section-title{display:flex;align-items:end;justify-content:space-between;margin:40px 0 17px}.section-title h2{margin:0;font:600 20px Space Grotesk}.section-title>span{color:var(--muted);font-size:10px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}article{min-height:150px;padding:22px;display:flex;flex-direction:column;position:relative;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,.027),rgba(255,255,255,.01));transition:.2s ease;cursor:pointer}article:hover{transform:translateY(-2px);border-color:rgba(140,92,255,.25)}article i{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;font-style:normal;background:rgba(140,92,255,.09);color:#aa86ff}article h3{margin:17px 0 5px;font:600 14px Space Grotesk}article p{margin:0;color:var(--muted);font-size:10px}article>span{position:absolute;right:20px;top:25px;color:#454b59}article i.blue{color:#5aa9ff;background:rgba(90,169,255,.09)}article i.green{color:#5cde92;background:rgba(92,222,146,.09)}article i.orange{color:#ff9b5a;background:rgba(255,155,90,.09)}article i.pink{color:#ef72d9;background:rgba(239,114,217,.09)}article i.cyan{color:#5edceb;background:rgba(94,220,235,.09)}article i.yellow{color:#eacc66;background:rgba(234,204,102,.09)}article i.red{color:#f06d7d;background:rgba(240,109,125,.09)}
.page-intro{display:flex;align-items:end;justify-content:space-between;margin:45px 0 25px}.page-intro h2,.placeholder h2{margin:8px 0;font:600 34px Space Grotesk;letter-spacing:-.04em}.page-intro>div>p:last-child,.placeholder>p:last-child{margin:0;color:var(--muted);font-size:12px}.page-intro button{padding:10px 16px}.settings-card{min-height:170px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid var(--line);border-radius:11px;background:#0c0f16}.settings-card h3{margin:10px 0 8px;font:600 20px Space Grotesk}.settings-card>div>p:last-child{margin:0;color:var(--muted);font-size:11px}.settings-card button{padding:11px 16px;border:1px solid rgba(140,92,255,.25);border-radius:7px;background:rgba(140,92,255,.1);color:#c0a8ff;font:600 11px Inter;cursor:pointer}.settings-card button.danger{border-color:rgba(240,109,125,.25);background:rgba(240,109,125,.08);color:#ff8997}.settings-card button:disabled{opacity:.45;cursor:wait}.settings-message{min-height:18px;color:#8f83ad;font-size:11px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px;background:#0c0f16}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;font-size:11px}th{color:#686f80;font-size:8px;letter-spacing:.15em}td{color:#adb2bf}tbody tr:last-child td{border-bottom:0}.user-cell{display:flex;align-items:center;gap:11px}.user-cell>span{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:rgba(140,92,255,.1);color:#aa89fb;font-weight:700}.user-cell b{display:block;color:#fff;margin-bottom:3px}.role{display:inline-block;margin-right:4px;padding:5px 7px;border-radius:4px;background:rgba(140,92,255,.1);color:#b89cff;font-size:8px}.status-active{color:#62dc8c}.status-disabled{color:#8c92a0}.user-disabled{opacity:.58}.user-disabled:hover{opacity:.78}.user-action{padding:7px 10px;border:1px solid rgba(140,92,255,.25);border-radius:5px;background:rgba(140,92,255,.08);color:#c0a8ff;font:600 9px Inter;cursor:pointer}.user-action.danger{border-color:rgba(240,109,125,.25);background:rgba(240,109,125,.08);color:#ff8997}.user-action:disabled{opacity:.45;cursor:wait}.current-user-label{color:#676e7d;font-size:9px}.linked-warning{display:block;max-width:190px;margin-top:5px;color:#e6b767;white-space:normal;line-height:1.4}.table-message{text-align:center;color:var(--muted);padding:40px}.placeholder{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.placeholder>span{width:70px;height:70px;display:grid;place-items:center;margin-bottom:25px;border:1px solid rgba(140,92,255,.25);border-radius:18px;background:rgba(140,92,255,.08);color:#aa86ff;font-size:29px}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:44px}.admin-stat-grid article{min-height:120px;justify-content:center;cursor:default}.admin-stat-grid article:hover{transform:none}.admin-stat-grid span{position:static;color:#fff;font:700 30px Space Grotesk}.admin-stat-grid p{margin:8px 0 0;color:var(--muted);font-size:9px}.run-status{padding:5px 7px;border-radius:4px;background:rgba(255,255,255,.06);font-size:8px;text-transform:uppercase}.run-status.completed{color:#62dc8c;background:rgba(98,220,140,.08)}.run-status.partial{color:#eacc66;background:rgba(234,204,102,.08)}.run-status.failed{color:#f06d7d;background:rgba(240,109,125,.08)}td small{color:#676e7d}
.visibility-detail{display:block;max-width:190px;margin-top:5px;white-space:normal;line-height:1.4}
@media(max-width:1050px){.grid,.admin-stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){aside{width:70px;padding:20px 10px}.brand b,nav button{font-size:0}.brand{justify-content:center}.brand span{flex:0 0 auto}nav button{justify-content:center}.sidebar-status{display:none}main{width:calc(100% - 70px);margin-left:70px;padding:0 18px 40px}.admin div{display:none}.welcome{padding:28px}.pulse{display:none}.grid,.admin-stat-grid{grid-template-columns:1fr}.login-card{padding:30px}}
