:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--surface:#fff;--surface-muted:#eef1f5;--border:#d9dee7;--text:#18202f;--muted:#657185;--accent:#146c5c;--accent-strong:#0c4f43;--danger:#b42318;--warning:#a15c07;--ok:#177245;--focus:#2f80ed}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);letter-spacing:0;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px}button,input{font:inherit}button{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:6px;min-height:36px;padding:0 12px;display:inline-flex}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{cursor:not-allowed;opacity:.55}button.primary{border-color:var(--accent);background:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-strong)}button.icon{justify-content:center;align-items:center;width:36px;padding:0;display:inline-flex}button svg{flex:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}svg.spin{animation:.8s linear infinite spin}input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:10px 12px}input:focus,button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.page{min-height:100vh;padding:24px}.shell{max-width:1280px;margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.topbar h1{margin:0;font-size:24px;line-height:1.2}.topbar p{color:var(--muted);margin:4px 0 0}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notice{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface);color:var(--text);border-radius:6px;align-items:flex-start;gap:8px;margin:0 0 16px;padding:12px 14px;font-weight:700;display:flex}.notice svg{flex:none}.notice span{overflow-wrap:anywhere;min-width:0}.notice.error{border-color:#f0a19a;border-left-color:var(--danger);color:var(--danger);background:#fff1ef}.notice.success{border-color:#8ccba9;border-left-color:var(--ok);color:var(--ok);background:#edf8f1}.summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.latest-deployment{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.latest-deployment>div:first-child{align-items:center;gap:10px;min-width:0;display:flex}.latest-deployment strong,.latest-deployment .meta{overflow-wrap:anywhere}.latest-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;min-width:0;padding:12px;display:grid}.summary-card.warning{background:#fffaf0;border-color:#e5b36b}.summary-card.ok{background:#f4fbf6;border-color:#8ccba9}.summary-card.error{background:#fff5f3;border-color:#f0a19a}.summary-value{font-size:22px;font-weight:700;line-height:1}.summary-label{margin-top:4px;font-weight:700}.summary-detail{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:12px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.panel-header h2{margin:0;font-size:16px}.panel-subtitle{color:var(--muted);margin:3px 0 0;font-size:12px}.panel-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-tabs{border-bottom:1px solid var(--border);gap:6px;padding:10px 16px;display:flex;overflow-x:auto}.filter-tabs button{white-space:nowrap;min-height:30px}.filter-tabs button.active{border-color:var(--accent);color:var(--accent-strong);background:#e8f4f1}.grid{grid-template-columns:minmax(0,1fr) 380px;gap:16px;display:grid}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:12px 14px}th{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.workflow-name{font-weight:700}.workflow-id{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.badge{border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.badge.changed{color:var(--warning);background:#fff8eb;border-color:#e5b36b}.badge.unchanged{color:var(--ok);background:#edf8f1;border-color:#8ccba9}.badge.error{color:var(--danger);background:#fff1ef;border-color:#f0a19a}.side{align-content:start;gap:16px;display:grid}.side-body{padding:14px 16px}.empty{color:var(--muted);padding:28px 16px}.diff{color:#e6edf3;background:#101820;border-radius:6px;max-height:360px;margin:0;padding:12px;font-size:12px;line-height:1.45;overflow:auto}.diff-label{color:var(--muted);text-transform:uppercase;margin:12px 0 6px;font-size:12px;font-weight:700}.diff-block{gap:8px;margin-top:12px;display:grid}.diff-summary{border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-weight:700}.diff-summary.clean{color:var(--ok);background:#edf8f1;border-color:#8ccba9}.diff-summary.changed{color:var(--warning);background:#fff8eb;border-color:#e5b36b}.diff-summary.error{color:var(--danger);background:#fff1ef;border-color:#f0a19a}details summary{cursor:pointer;color:var(--accent);font-weight:700}.checklist,.deploy-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.checklist li,.deploy-list li{border:1px solid var(--border);background:var(--surface-muted);border-radius:6px;gap:4px;padding:10px;display:grid}.checklist span,.deploy-list strong{font-weight:700}.checklist small,.deploy-list span{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.audit-list{gap:10px;max-height:360px;padding:14px 16px;display:grid;overflow:auto}.audit-item{border-bottom:1px solid var(--border);padding-bottom:10px}.audit-item:last-child{border-bottom:0}.deployment-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.run-link{color:var(--accent);align-items:center;gap:6px;margin-top:6px;font-weight:700;text-decoration:none;display:inline-flex}.run-link:hover{text-decoration:underline}.meta{color:var(--muted);font-size:12px}.login-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;width:min(420px,100%);padding:24px}.login-panel h1{margin:0 0 6px;font-size:22px}.login-panel p{color:var(--muted);margin:0 0 20px}.form-stack{gap:14px;display:grid}.settings-form{gap:12px;padding:14px 16px;display:grid}.settings-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.error-text{color:var(--danger)}@keyframes dialog-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}.modal{width:min(640px,100%);max-height:min(720px,100vh - 36px);color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:0;animation:.15s ease-out dialog-in;overflow:auto}.modal::backdrop{background:#18202f73;animation:.15s ease-out backdrop-in}.modal.closing{animation:.15s ease-in forwards dialog-out}.modal.closing::backdrop{animation:.15s ease-in forwards backdrop-out}.modal-header,.modal-actions{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.modal-header h2{margin:0;font-size:18px}.modal-body{gap:12px;padding:16px;display:grid}.modal-actions{border-top:1px solid var(--border);border-bottom:0;justify-content:flex-end}.callout{border:1px solid var(--border);border-radius:6px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.callout.warning{color:var(--warning);background:#fff8eb;border-color:#e5b36b}@media (max-width:980px){.grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.latest-deployment{flex-direction:column;align-items:flex-start}.page{padding:16px}}@media (max-width:640px){.topbar{flex-direction:column;align-items:flex-start}.summary-grid{grid-template-columns:1fr}.panel-header,.modal-header,.modal-actions{flex-direction:column;align-items:flex-start}.toolbar,.panel-actions,.modal-actions{width:100%}.toolbar button,.panel-actions button,.modal-actions button{justify-content:center;width:100%}}
