:root{--bg:#f4f7fb;--panel:#fff;--ink:#172033;--muted:#697386;--primary:#5b5ce2;--primary2:#7374ee;--border:#e5e9f2;--danger:#c53030;--success:#087f5b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--border);border-radius:9px;padding:9px 14px;background:#fff;color:var(--ink)}button:hover{border-color:#b6bce8}.primary{border:0;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-weight:650;padding:11px 18px}.full{width:100%}aside{position:fixed;inset:0 auto 0 0;width:230px;background:#171a36;color:#c9cce8;padding:28px 18px;display:flex;flex-direction:column}.brand{font-size:20px;font-weight:750;color:#fff;margin:0 8px 38px}.brand span,.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#7779ff,#4f46c8);color:#fff;margin-right:8px}nav{display:grid;gap:8px}nav button,.logout{border:0;background:transparent;color:#b6bad7;text-align:left;padding:12px 14px}nav button.active,nav button:hover{background:#2c3055;color:#fff}.logout{margin-top:auto}.content{margin-left:230px;padding:35px;max-width:1300px}header,.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}header{margin-bottom:26px}h1{font-size:26px;margin:0}h2{font-size:18px;margin:0 0 22px}p{color:var(--muted);margin:5px 0}.status-dot{color:var(--success);background:#e7f8f0;padding:8px 13px;border-radius:99px}.status-dot:before{content:"";display:inline-block;width:7px;height:7px;background:#23a779;border-radius:50%;margin-right:7px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:25px;box-shadow:0 8px 30px rgba(25,35,70,.04)}.tab{display:none}.tab.active{display:block}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.span-2{grid-column:1/-1}label{display:grid;gap:7px;color:#4c566a;font-weight:600}input,select,textarea{width:100%;border:1px solid #dce1eb;border-radius:9px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#7475e9;box-shadow:0 0 0 3px #ededff}.inline{display:grid;grid-template-columns:2fr 1fr;gap:18px}.mode{display:flex;border-bottom:1px solid var(--border)}.mode button{border:0;border-radius:0;color:var(--muted)}.mode button.active{color:var(--primary);border-bottom:2px solid var(--primary)}.hidden{display:none!important}.alert{background:#fff1f1;color:var(--danger);padding:10px 13px;border-radius:8px}.section-head h2{margin:0}.table-wrap{overflow:auto;margin-top:20px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);font-size:12px}.badge{padding:5px 9px;border-radius:99px;background:#edf0f5}.badge.succeeded{background:#e7f8f0;color:var(--success)}.badge.failed,.badge.expired{background:#fff1f1;color:var(--danger)}.badge.running{background:#fff5d9;color:#946200}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;margin-top:20px}.card{border:1px solid var(--border);border-radius:12px;padding:18px}.card h3{margin:0}.card .meta{color:var(--muted);margin:8px 0 15px}.card-actions{display:flex;gap:8px;flex-wrap:wrap}dialog{width:min(680px,calc(100% - 30px));border:0;border-radius:16px;padding:25px;box-shadow:0 20px 70px #1115}dialog::backdrop{background:#12142699}#toast{position:fixed;right:25px;bottom:25px;background:#20243f;color:#fff;border-radius:9px;padding:12px 18px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:none}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#e4e5ff,transparent 35%),var(--bg)}.login-card{width:min(390px,calc(100% - 32px));background:#fff;padding:38px;border-radius:19px;box-shadow:0 20px 60px #292c6218}.login-card h1{margin-top:15px}.login-card form{display:grid;gap:18px;margin-top:28px}.brand-mark{margin:0;width:46px;height:46px;font-size:21px}@media(max-width:760px){aside{position:static;width:auto;height:auto;padding:14px}.brand{margin:0 0 12px}nav{display:flex;overflow:auto}.logout{position:absolute;right:14px;top:14px}.content{margin:0;padding:18px}header{align-items:flex-start}.status-dot{display:none}.grid,.inline{grid-template-columns:1fr}.span-2{grid-column:auto}.panel{padding:18px}}
