[hidden]{display:none!important}
:root{--navy:#172033;--blue:#15548d;--blue2:#2f78b9;--gold:#d7a63c;--bg:#f3f6fa;--card:#fff;--line:#dfe5ec;--text:#172033;--muted:#687386;--green:#166534;--red:#991b1b;--amber:#92400e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,sans-serif;font-size:13px}button,input,select{font:inherit}.auth-gate{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#204e77 0,#172033 52%,#0d1523 100%);padding:24px}.auth-card{width:min(420px,94vw);background:#fff;border-radius:18px;padding:28px;box-shadow:0 28px 80px rgba(0,0,0,.28)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.auth-mark,.brand-mark{display:grid;place-items:center;background:#4d94cf;color:#fff;font-weight:900}.auth-mark{width:48px;height:48px;border-radius:13px;font-size:20px}.auth-brand strong,.auth-brand span{display:block}.auth-brand strong{font-size:18px}.auth-brand span{color:var(--muted);margin-top:2px}.auth-card h1{margin:0 0 7px;font-size:22px}.auth-card p{color:var(--muted);line-height:1.5;margin:0 0 18px}.auth-card label,label{display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:11px;margin-bottom:12px}.auth-card input,input,select{width:100%;padding:11px 12px;border:1px solid #ccd5e0;border-radius:9px;background:#fff;color:var(--text);outline:none}.auth-card input:focus,input:focus,select:focus{border-color:#6ca5d5;box-shadow:0 0 0 3px rgba(21,84,141,.08)}.security-note{display:block;margin-top:16px;text-align:center;color:#8a94a3}.topbar{height:76px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10;box-shadow:0 6px 18px rgba(15,23,42,.12)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:11px;font-size:17px}.brand strong,.brand span{display:block}.brand strong{font-size:16px}.brand span{font-size:10px;color:#b9c6d6;margin-top:3px}.top-actions{display:flex;align-items:center;gap:10px}.version{font-weight:900;font-size:10px;padding:5px 8px;border:1px solid rgba(255,255,255,.16);border-radius:999px}.admin-name{font-size:11px;color:#c8d4e3}.shell{width:min(1280px,94vw);margin:24px auto 48px}.hero{background:linear-gradient(125deg,#173e63,#15548d 58%,#2f78b9);color:#fff;border-radius:17px;padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 12px 32px rgba(21,84,141,.15)}.hero h1{font-size:26px;margin:4px 0 7px}.hero p{margin:0;color:rgba(255,255,255,.8);max-width:760px;line-height:1.6}.eyebrow{font-size:9px;letter-spacing:.12em;font-weight:900;color:#d8e9f7}.hero-badge{white-space:nowrap;padding:9px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.09);font-size:10px;font-weight:900}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.metrics>div,.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 16px rgba(15,23,42,.035)}.metrics>div{padding:16px}.metrics small,.metrics strong,.metrics span{display:block}.metrics small{text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:900;color:var(--muted)}.metrics strong{font-size:20px;margin-top:7px}.metrics span{font-size:9px;color:var(--muted);margin-top:4px}.card{margin-top:14px;padding:18px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.card-head h2{font-size:17px;margin:0 0 4px}.card-head p{font-size:10px;color:var(--muted);line-height:1.5;margin:0}.btn{border:0;border-radius:9px;padding:10px 13px;font-weight:900;cursor:pointer}.btn:disabled{opacity:.55;cursor:not-allowed}.primary{background:var(--blue);color:#fff}.secondary{background:#eaf2f9;color:#164b79;border:1px solid #c9deef}.ghost{background:#f7f9fc;color:#475569;border:1px solid #dfe5ec}.danger{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.full{width:100%}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inline-panel{background:#f8fafc;border:1px solid #e1e7ef;border-radius:12px;padding:14px;margin-bottom:14px}.hint,.safety-note{font-size:10px;color:var(--muted);line-height:1.55}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.message{display:none;margin-top:10px;padding:10px 12px;border-radius:9px;font-size:10px;line-height:1.5}.message.show{display:block;background:#fef2f2;border:1px solid #fecaca;color:var(--red)}.message.success{background:#ecfdf3;border-color:#bbf7d0;color:var(--green)}.installations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.installation-card{border:1px solid #dfe5ec;border-radius:13px;padding:15px;position:relative}.installation-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.installation-head h3{margin:0 0 4px;font-size:14px}.installation-url{font-size:9px;color:var(--muted);overflow-wrap:anywhere}.select-target{display:flex;flex-direction:row;align-items:center;gap:6px;margin:0;font-size:10px}.select-target input{width:auto}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.status-grid div{background:#f8fafc;border-radius:9px;padding:9px}.status-grid small,.status-grid strong{display:block}.status-grid small{font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:900}.status-grid strong{font-size:10px;margin-top:4px;overflow-wrap:anywhere}.pill,.safe-pill,.health-pill{display:inline-block;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}.health-pass{background:#ecfdf3;color:var(--green);border:1px solid #bbf7d0}.health-warning{background:#fffbeb;color:var(--amber);border:1px solid #fde68a}.health-fail{background:#fef2f2;color:var(--red);border:1px solid #fecaca}.health-none{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.installation-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.installation-actions .btn{padding:7px 9px;font-size:9px}.grid-main{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.release-upload{display:grid;grid-template-columns:1fr auto;gap:8px}.release-list{margin-top:12px}.release-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:11px 0;border-top:1px solid #edf1f5}.release-row:first-child{border-top:0}.release-row strong,.release-row span{display:block}.release-row strong{font-size:12px}.release-row span{font-size:9px;color:var(--muted);margin-top:3px}.release-meta{text-align:right}.safe-pill{background:#ecfdf3;color:var(--green);border:1px solid #bbf7d0}.target-box{background:#f8fafc;border:1px solid #e1e7ef;border-radius:10px;padding:12px;margin:6px 0 12px}.target-box strong,.target-box span{display:block}.target-box span{font-size:9px;color:var(--muted);margin-top:3px}.selected-targets{margin-top:8px;font-size:10px;color:#334155}.safety-note{background:#fffbeb;border:1px solid #fde68a;padding:10px;border-radius:9px;margin-bottom:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:10px}th{text-align:left;color:var(--muted);text-transform:uppercase;font-size:8px;letter-spacing:.04em;padding:9px;border-bottom:1px solid #dfe5ec}td{padding:10px 9px;border-bottom:1px solid #edf1f5;vertical-align:top}.status-text{font-weight:900}.status-completed{color:var(--green)}.status-failed,.status-attention{color:var(--red)}.audit-item{display:grid;grid-template-columns:140px 1fr auto;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f5}.audit-item strong{font-size:10px}.audit-item span{font-size:9px;color:var(--muted)}.empty,.empty-cell{text-align:center;color:#8b95a5;padding:20px}.modal{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;place-items:center;padding:20px;z-index:100}.modal.open{display:grid}.modal-card{width:min(430px,94vw);background:#fff;border-radius:15px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.modal-card h3{margin:0 0 8px}.modal-card p{color:var(--muted);line-height:1.55}.modal-card label{margin-top:14px}@media(max-width:980px){.metrics{grid-template-columns:repeat(2,1fr)}.grid-main{grid-template-columns:1fr}.installations{grid-template-columns:1fr}.status-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.topbar{height:auto;padding:14px;align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.hero{align-items:flex-start;flex-direction:column}.hero-badge{white-space:normal}.metrics,.grid.two{grid-template-columns:1fr}.release-upload{grid-template-columns:1fr}.audit-item{grid-template-columns:1fr}.shell{width:min(94vw,1280px)}}

.deploy-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.deploy-buttons .btn{width:100%}@media(max-width:620px){.deploy-buttons{grid-template-columns:1fr}}
