@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--primary: #6366f1;--primary-hover: #4f46e5;--bg-gradient: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);--glass: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .1);--text: #f8fafc;--text-muted: #94a3b8}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg-gradient);color:var(--text);min-height:100vh}#root{display:flex;flex-direction:column;align-items:center}.glass-card{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:1rem;padding:2rem;box-shadow:0 8px 32px #0000005e}.btn{background:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.input{background:#0003;border:1px solid var(--glass-border);color:#fff;padding:.75rem;border-radius:.5rem;width:100%;margin-bottom:1.5rem}select.input option{background:#1e293b;color:#fff;padding:.5rem}select.input option:hover,select.input option:checked{background:var(--primary)}.grid{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:1400px;padding:2rem;margin:0 auto}.deployment-card{position:relative;overflow:hidden;width:100%;max-width:1000px}.deployment-card-small{position:relative;overflow:hidden;width:100%;max-width:600px}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.status-ready{background:#10b98133;color:#10b981;border:1px solid #10b981}.status-deploying{background:#3b82f633;color:#60a5fa;border:1px solid #60a5fa}.status-error{background:#ef444433;color:#f87171;border:1px solid #f87171}.verification-panel{margin:1rem 0;padding:1rem;border:1px solid rgba(129,140,248,.32);border-left:3px solid #818cf8;border-radius:.75rem;background:#0f172a75}.verification-panel-header,.verification-actions,.verification-result,.verification-commit{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.verification-panel-header{margin-bottom:.85rem}.verification-open{margin-left:auto;padding:.5rem .85rem;background:#818cf82e;border:1px solid rgba(165,180,252,.58);color:#e0e7ff;font-size:.78rem}.verification-header-request{padding:.5rem .85rem;font-size:.78rem}.verification-panel-header h4{margin:0;font-size:1rem}.verification-kicker{margin:0 0 .2rem;color:#a5b4fc;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.verification-state{padding:.25rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700;white-space:nowrap}.verification-state-ready,.verification-state-deployed{color:#6ee7b7;background:#10b98124;border:1px solid rgba(16,185,129,.52)}.verification-state-stale{color:#fdba74;background:#f9731624;border:1px solid rgba(249,115,22,.52)}.verification-state-merging{color:#bfdbfe;background:#3b82f624;border:1px solid rgba(59,130,246,.52)}.verification-commits{display:grid;gap:.45rem;margin-bottom:.85rem}.verification-commit{padding:.55rem .65rem;border:1px solid rgba(148,163,184,.16);border-radius:.5rem;background:#0206174d;font-size:.75rem}.verification-commit div{display:flex;flex-direction:column;gap:.15rem}.verification-commit span,.verification-commit code,.verification-result{color:var(--text-muted);font-size:.72rem}.verification-commit code{color:#c4b5fd}.verification-label{display:block;margin-bottom:.35rem;color:var(--text-muted);font-size:.78rem;font-weight:600}.verification-note{box-sizing:border-box;width:100%;min-height:5rem;margin-bottom:.65rem;padding:.65rem;resize:vertical;border:1px solid rgba(148,163,184,.26);border-radius:.5rem;background:#02061766;color:var(--text);font:inherit}.verification-note:focus-visible,.verification-panel button:focus-visible,.verification-panel input:focus-visible,.verification-panel a:focus-visible{outline:2px solid #c4b5fd;outline-offset:2px}.verification-confirmation{display:flex;align-items:flex-start;gap:.45rem;margin-bottom:.85rem;color:var(--text-muted);font-size:.78rem}.verification-confirmation input{margin-top:.1rem}.verification-saved-note{margin-bottom:.85rem;padding:.65rem;border:1px solid rgba(148,163,184,.16);border-radius:.5rem;background:#0206174d}.verification-saved-note p{margin:0;color:var(--text);white-space:pre-wrap}.verification-actions{justify-content:flex-start;flex-wrap:wrap}.verification-save{background:#818cf838;border:1px solid #818cf8}.verification-request{background:#10b98133;border:1px solid #34d399;color:#a7f3d0}.verification-alert,.verification-error{color:#fdba74;font-size:.78rem}.verification-alert{margin:0 0 .85rem}.verification-error{margin:.25rem 0 .65rem}.verification-results{display:grid;gap:.45rem;margin-top:.85rem}.verification-result{justify-content:flex-start;flex-wrap:wrap}.verification-result strong{color:var(--text)}.verification-result a{color:#a5b4fc}.verification-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:1rem;background:#020617bd;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.verification-modal{box-sizing:border-box;width:min(100%,36rem);max-height:min(90vh,42rem);overflow-y:auto;padding:1.25rem;border:1px solid rgba(165,180,252,.42);border-radius:.9rem;background:#111936;box-shadow:0 1.5rem 4rem #00000073}.verification-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.verification-modal-header h4{margin:0;font-size:1.05rem}.verification-modal-close{width:2rem;height:2rem;padding:0;border:1px solid rgba(148,163,184,.3);border-radius:999px;background:#02061759;color:var(--text-muted);font-size:1.35rem;line-height:1;cursor:pointer}.verification-modal-close:hover{border-color:#c4b5fdb3;color:var(--text)}@media(max-width:640px){.verification-panel-header,.verification-commit{align-items:flex-start;flex-direction:column}.verification-open{margin-left:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner,.spinning{animation:spin 1s linear infinite}.deployments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem;width:100%;max-width:1400px}.compact-stack{font-family:IBM Plex Sans,system-ui,sans-serif;padding:24px 28px;border:1px solid #1c2740;border-left:4px solid #a855f7;border-radius:16px;background:#0a1020;color:#eef2fb}.compact-stack-header,.compact-stack-title,.compact-stack-actions,.compact-stack-meta,.service-actions,.verification-header-actions{display:flex;align-items:center;gap:8px}.compact-stack-header{justify-content:space-between;gap:24px;flex-wrap:wrap}.compact-stack-title{flex-wrap:wrap;min-width:0}.compact-stack-title h3{margin:0;font-size:19px;font-weight:700;overflow-wrap:anywhere}.compact-stack-title>span:not(.compact-badge){color:#8fa1c0;font-size:13px}.compact-stack-title svg{color:#93a4ff}.compact-badge{padding:3px 9px;border-radius:999px;background:#94a3b81a;border:1px solid #28344f;color:#a9b8d1;font-size:11.5px;font-weight:500;white-space:nowrap}.compact-badge.ready{color:#4ade9e;background:#10b9811f;border-color:#34d39966}.compact-badge.failed{color:#f28b8b;border-color:#5c2430}.compact-stack button,.service-actions a,.ticket-form button,.ticket-add,.ticket-edit{font:inherit;font-size:12px;cursor:pointer;padding:7px 10px;border-radius:7px;border:1px solid #2c3757;background:#818cf81a;color:#b6c0ff;white-space:nowrap}.compact-stack button:disabled,.verification-panel button:disabled{opacity:.5;cursor:not-allowed}.compact-stack .notes-action{background:#8b5cf624;border-color:#3b2d63;color:#c4b1ff}.compact-stack .reinstall-action{background:#10b9811a;border-color:#1b5e46;color:#5ee3a8}.compact-stack .delete-action{background:#ef44441f;border-color:#5c2430;color:#f28b8b;display:inline-flex}.compact-stack .live-action{color:#6fd7ea;border-color:#1d4a5c}.compact-stack .restart-action{color:#eab861;border-color:#5c4a1d}.compact-stack .open-action{color:#fff;background:#4f46e5;border-color:#6366f1;text-decoration:none}.compact-stack-meta{flex-wrap:wrap;gap:16px;color:#8195b4;font-size:12px;margin:10px 0 16px}.compact-stack-meta strong{color:#adbdd6}.service-table{border:1px solid #1c2740;border-radius:12px;background:#0c1324}.service-table-heading,.service-row{display:grid;grid-template-columns:160px minmax(160px,1fr) 170px minmax(270px,auto);align-items:center;gap:16px;padding:12px 16px}.service-table-heading{padding:9px 16px;background:#101a2e;border-radius:12px 12px 0 0;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#8496b4}.service-table-heading>:last-child{text-align:right}.service-row{border-top:1px solid #16203a}.service-row>*{min-width:0}.service-identity{display:flex;flex-direction:column;gap:4px}.service-identity>div{display:flex;gap:7px;align-items:center;font-size:13.5px}.service-identity span,.service-identity small{font-size:11px;color:#8fa1c0}.service-identity code,.service-source code{font:11px IBM Plex Mono,monospace;color:#7f92b0}.service-dot{width:7px;height:7px;border-radius:50%;background:#eab861}.service-dot.ready{background:#34d399}.service-dot.failed{background:#f28b8b}.service-source{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.service-source>a{font:11.5px IBM Plex Mono,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.service-branch{padding:3px 8px;border-radius:6px;border:1px solid #22304c;background:#94a3b817;color:#c8d5ea;text-decoration:none}.service-endpoint{color:#93a4ff}.service-actions{justify-content:flex-end;flex-wrap:wrap;gap:6px}.service-ticket{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:12px}.ticket-link{color:#82bcff;background:#2684ff1f;border:1px solid #1d4a6b;padding:5px 8px;border-radius:7px;font:11px IBM Plex Mono,monospace;overflow-wrap:anywhere;text-decoration:none}.compact-stack .ticket-add,.ticket-add{border:1px dashed #3a4762;background:transparent;color:#8fa1c0}.ticket-form{position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:300px;max-width:calc(100vw - 64px);padding:16px;border:1px solid #35435f;border-radius:10px;background:#101a2e;box-shadow:0 12px 30px #0008;display:flex;flex-direction:column;gap:8px}.ticket-form input,.verification-assignee select{background:#0c1324;color:#eef2fb;border:1px solid #35435f;border-radius:6px;padding:8px;min-width:0}.ticket-form-actions{display:flex;gap:6px;flex-wrap:wrap}.ticket-form p{color:#f28b8b}.verification-panel{margin:16px 0;padding:14px 16px;border:1px solid #4a3a1c;border-radius:12px;background:#f59e0b0f}.compact-stack .verification-panel{margin-bottom:0}.verification-panel-header{gap:12px;flex-wrap:wrap}.verification-panel-header h4{font-size:14.5px}.verification-kicker{font-size:10.5px}.verification-owner,.verification-lock-note{color:#a3b3cd;font-size:12px;margin:4px 0}.verification-assignee{display:flex;align-items:center;gap:8px;color:#a3b3cd;font-size:11px;margin-left:auto}.verification-assignee select,.verification-header-actions>button{height:34px;box-sizing:border-box}.verification-header-actions{flex-wrap:wrap}.verification-panel .verification-open,.verification-panel .verification-save{background:#4f46e5;color:#fff;border:1px solid #6366f1}.verification-panel .verification-reset{background:transparent;color:#a3b3cd;border:1px solid #35435f}.verification-panel.is-merged{border-color:#1b5e46;background:#10b9810f}.verification-assignee select:disabled{opacity:.6}.compact-stack :is(button,a,input,select):focus-visible,.service-ticket :is(button,a,input):focus-visible,.verification-panel select:focus-visible{outline:2px solid #93a4ff;outline-offset:3px}@media(max-width:1200px){.service-table-heading,.service-row{grid-template-columns:130px minmax(150px,1fr) 135px}.service-table-heading>:last-child{display:none}.service-actions{grid-column:2 / -1;justify-content:flex-start}}@media(max-width:700px){.compact-stack{padding:16px}.service-table-heading{display:none}.service-row{grid-template-columns:minmax(0,1fr);gap:12px}.service-actions{grid-column:1}.service-ticket .ticket-form{left:0;right:auto;width:min(300px,calc(100vw - 120px))}.verification-assignee{margin-left:0}.verification-header-actions{width:100%}}
