:root{--bg:#08131b;--panel:#111e28;--panel2:#172632;--border:#2a3c49;--text:#e8edf1;--muted:#9aabb7;--accent:#22b8a7;--blue:#3d8df5;--green:#34c98f;--yellow:#f1bb4a;--red:#ef6a6a;--dark:#122c3e}*{box-sizing:border-box}html{font-family:Open Sans,Arial,sans-serif;background:var(--bg);color:var(--text)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 0,#0d2a30 0,transparent 32%),var(--bg)}header{display:flex;justify-content:space-between;align-items:center;padding:18px max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--border);background:#0b1720;gap:20px}.brand{font-size:20px;font-weight:700}.subtitle{font-size:13px;color:var(--muted);margin-top:4px}.header-actions{display:flex;gap:10px;align-items:center}main{max-width:1180px;margin:0 auto;padding:24px}.status-banner{padding:15px 18px;border:1px solid #775f26;background:#2b2416;border-radius:10px;margin-bottom:18px;color:#f5dfaa}nav{display:flex;gap:5px;flex-wrap:wrap;background:#14212b;padding:5px;border-radius:9px;margin-bottom:20px}nav a{color:var(--muted);text-decoration:none;padding:9px 14px;border-radius:7px}nav a.active,nav a:hover{background:#0a131a;color:#fff}.grid{display:grid;gap:14px}.status-grid{grid-template-columns:repeat(3,1fr)}.provider-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.card{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 10px 30px rgba(0,0,0,.12)}h1,h2,h3{margin-top:0}h1{font-size:28px}h2{font-size:18px}h3{font-size:15px;margin-top:22px}.metric{font-size:30px;font-weight:800;margin:12px 0}.metric span{display:block;font-size:12px;color:var(--muted);font-weight:400}.badge{display:inline-flex;padding:5px 9px;border-radius:6px;font-size:12px;font-weight:700;text-transform:uppercase}.badge.green{background:#173c32;color:#65e2ae}.badge.yellow{background:#42361c;color:#f2c96c}.badge.gray{background:#273641;color:#aebbc5}.alert{padding:12px 15px;border-radius:8px;margin:12px 0}.alert.success{background:#173c32;color:#83e3bb}.alert.danger{background:#482424;color:#ffaaaa}.alert.warning{background:#42361c;color:#f2c96c;font-size:13px}.auth-card{width:min(560px,calc(100% - 32px));margin:8vh auto;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px}.setup{display:flex;align-items:flex-start}.setup main{max-width:560px}form{display:grid;gap:13px}label{display:grid;gap:7px;color:#c7d1d8;font-size:13px}input,textarea,select{width:100%;background:#0a141c;border:1px solid #314654;color:#fff;padding:11px 12px;border-radius:7px;font:inherit}textarea{resize:vertical}.checkbox{display:flex;grid-template-columns:auto 1fr;align-items:center}.checkbox input{width:auto}button,.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:7px;padding:11px 15px;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;cursor:pointer}.button.secondary,button.secondary{background:#263945;border:1px solid #395160}.inline-form{margin-top:10px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.provider-head,.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.check{display:flex;align-items:flex-start;gap:10px;background:#0c1820;padding:10px;border-radius:8px}.check small{display:block;color:var(--muted);margin-top:3px}.dot{width:10px;height:10px;border-radius:50%;margin-top:4px}.dot.ok{background:var(--green)}.dot.warn{background:var(--yellow)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px;vertical-align:top}th{color:#aebbc5}pre{white-space:pre-wrap;word-break:break-word;background:#071018;border:1px solid #273b48;padding:14px;border-radius:8px;max-height:500px;overflow:auto}.decision{display:grid;gap:6px;border-radius:9px;padding:14px}.decision.approved{background:#15392f}.decision.blocked{background:#442323}footer{max-width:1180px;margin:0 auto;padding:20px 24px;color:var(--muted);font-size:12px;text-align:center}@media(max-width:800px){header{align-items:flex-start;flex-direction:column}.status-grid,.provider-grid,.form-grid,.checks{grid-template-columns:1fr}main{padding:14px}.card{padding:15px}.section-head{align-items:flex-start;flex-direction:column}table{display:block;overflow-x:auto;white-space:nowrap}}
.cockpit-card{overflow:hidden}.cockpit-frame-wrap{margin-top:16px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#071018}.cockpit-frame{display:block;width:100%;height:72vh;min-height:520px;border:0;background:#071018}.cockpit-help{color:var(--muted);font-size:13px;margin:12px 0 0}@media(max-width:800px){.cockpit-frame{height:62vh;min-height:420px}.cockpit-card .section-head .button{width:100%}}

hr{border:0;border-top:1px solid var(--border);margin:8px 0}.job-actions form{display:flex;gap:6px;flex-wrap:wrap}.job-actions button{padding:7px 9px;font-size:12px}code{word-break:break-word}small{color:var(--muted)}

.auth-help{margin:20px 0 16px;padding:16px;border:1px solid var(--border);border-radius:10px;background:#0c1820}.auth-help h2{font-size:16px;margin-bottom:8px}.auth-help p{line-height:1.5}.auth-actions{display:grid;grid-template-columns:1fr;gap:9px;margin:14px 0}.auth-actions .button{width:100%}details{border-top:1px solid var(--border);padding-top:14px}summary{cursor:pointer;color:#c7d1d8;font-weight:700;margin-bottom:12px}
.auth-primary{margin:18px 0;padding:18px;border:1px solid #2f6aa5;border-radius:10px;background:#102539}.auth-primary h2{font-size:16px;margin-bottom:8px}.auth-primary p{line-height:1.55}.auth-primary .button{width:100%;font-size:16px;padding:13px 16px}.local-login{margin-top:18px;padding:14px;border:1px solid var(--border);border-radius:10px;background:#0c1820}.local-login[open]{padding-bottom:18px}.local-login summary{margin-bottom:0}.local-login[open] summary{margin-bottom:14px}.local-login form{margin-top:8px}

.inline-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(135px,.8fr) minmax(180px,1.4fr) auto;gap:.5rem;align-items:center}.inline-form input,.inline-form select{min-width:0}.badge.red{background:rgba(190,40,40,.17);color:#ffb7b7;border-color:rgba(220,65,65,.45)}@media(max-width:900px){.inline-form{grid-template-columns:1fr}}
