@keyframes deploy-status-spin{to{transform:rotate(360deg)}}.deploy-status-banner{font-family:var(--font,"Sora", system-ui, sans-serif);border-bottom:1px solid #0000;flex-shrink:0;font-size:11px;line-height:1.35}.deploy-status-banner--deploying{color:#78350f;background:linear-gradient(#fffbeb 0%,#fef3c7 100%);border-bottom-color:#fde68a}.deploy-status-banner--failed{color:#991b1b;background:linear-gradient(#fef2f2 0%,#fee2e2 100%);border-bottom-color:#fecaca;box-shadow:0 4px 24px #dc26261f}.deploy-status-banner--failed .deploy-status-banner__label{color:#7f1d1d}.deploy-status-banner--failed .deploy-status-banner__muted{opacity:.88;color:#b91c1c}.deploy-status-banner--failed .deploy-status-banner__sha{background:#7f1d1d14;border-color:#7f1d1d29}.deploy-status-banner--failed .deploy-status-banner__failed-icon{color:#fff;background:#dc2626;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:900;line-height:1;display:flex}.deploy-status-banner__subline{opacity:.85;color:#991b1b;margin:2px 0 0;font-size:10px;line-height:1.35}.deploy-status-banner--deploying .deploy-status-banner__close{color:#92400e;background:#ffffff8c;border-color:#78350f29}.deploy-status-banner--deploying .deploy-status-banner__close:hover{color:#78350f;background:#ffffffeb;border-color:#78350f3d}.deploy-status-banner--ready{color:#064e3b;background:linear-gradient(#ecfdf5 0%,#d1fae5 100%);border-bottom-color:#a7f3d0}.deploy-status-banner--important{color:#5b21b6;background:linear-gradient(#f5f3ff 0%,#ede9fe 100%);border-bottom-color:#ddd6fe;box-shadow:0 4px 24px #7c3aed1f}.deploy-status-banner--important .deploy-status-banner__label{color:#4c1d95}.deploy-status-banner--important .deploy-status-banner__muted{opacity:.88;color:#7c3aed}.deploy-status-banner--important .deploy-status-banner__sha{background:#4c1d9514;border-color:#4c1d9529}.deploy-status-banner--important .deploy-status-banner__ready-icon{color:#fff;background:#7c3aed;font-weight:900}.deploy-status-banner--important .deploy-status-banner__refresh{background:#7c3aed;box-shadow:0 2px 10px #7c3aed47}.deploy-status-banner--important .deploy-status-banner__refresh:hover{box-shadow:0 3px 14px #7c3aed5c}.deploy-status-banner--minor{color:#374151;background:#f3f4f6;border-bottom-color:#e5e7eb}.deploy-status-banner--minor .deploy-status-banner__label{color:#1f2937;font-weight:700}.deploy-status-banner--minor .deploy-status-banner__muted{opacity:.85;color:#6b7280}.deploy-status-banner--minor .deploy-status-banner__sha{background:#37415114;border-color:#3741511f}.deploy-status-root{z-index:10050;pointer-events:none;position:fixed;top:0;left:0;right:0}.deploy-status-root .deploy-status-banner,.deploy-status-root .deploy-status-handle{pointer-events:auto}.deploy-status-handle--global{justify-content:center;display:flex}.deploy-status-handle__btn{color:#4b5563;font-family:var(--font,"Sora", system-ui, sans-serif);cursor:pointer;background:#f9fafb;border:1px solid #d1d5db;border-top:none;border-radius:0 0 10px 10px;align-items:center;gap:6px;margin:0;padding:5px 14px 7px;font-size:10px;font-weight:700;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 14px #0f172a14}.deploy-status-handle__btn:hover{color:#1f2937;background:#fff;box-shadow:0 5px 18px #0f172a1a}.deploy-status-handle__btn--deploying{color:#78350f;background:linear-gradient(#fffbeb 0%,#fef3c7 100%);border-color:#fde68a;box-shadow:0 4px 14px #d9770624}.deploy-status-handle__btn--deploying:hover{color:#78350f;background:linear-gradient(#fffef5 0%,#fde68a 100%);box-shadow:0 5px 18px #d977062e}.deploy-status-handle__btn--ready{color:#064e3b;background:linear-gradient(#ecfdf5 0%,#d1fae5 100%);border-color:#a7f3d0;box-shadow:0 4px 14px #05966924}.deploy-status-handle__btn--ready:hover{color:#064e3b;background:linear-gradient(#f0fdf9 0%,#bbf7d0 100%);box-shadow:0 5px 18px #0596692e}.deploy-status-handle__grip{background:#9ca3af;border-radius:999px;width:20px;height:3px;box-shadow:0 -4px #9ca3af,0 4px #9ca3af}.deploy-status-handle__grip--deploying{background:#d97706;box-shadow:0 -4px #d97706,0 4px #d97706}.deploy-status-handle__grip--ready{background:#059669;box-shadow:0 -4px #059669,0 4px #059669}.deploy-status-handle__chevron{opacity:.75;font-size:9px;line-height:1}.deploy-status-banner--global{box-shadow:0 4px 24px #08122a1a}.deploy-status-banner__inner{align-items:flex-start;gap:8px;max-width:100%;min-height:32px;padding:6px 12px;display:flex}.deploy-status-banner__content{flex:1;min-width:0}.deploy-status-banner__stack{flex-direction:column;gap:1px;margin:3px 0 0;padding:0;font-size:10px;line-height:1.25;list-style:none;display:flex}.deploy-status-banner__stack-item{align-items:center;min-width:0;display:flex}.deploy-status-banner__stack-item .deploy-status-banner__commit{gap:5px;max-width:100%}.deploy-status-banner__stack-item .deploy-status-banner__sha{border-radius:3px;padding:1px 4px;font-size:8px}.deploy-status-banner__stack-item .deploy-status-banner__subject{max-width:min(100%,420px);font-size:10px;font-weight:500}.deploy-status-banner__line{flex-wrap:wrap;flex:1;align-items:center;gap:4px;min-width:0;margin:0;font-size:11px;line-height:1.3;display:flex}.deploy-status-banner__label{letter-spacing:-.01em;white-space:nowrap;font-size:11px;font-weight:700}.deploy-status-banner__sep{opacity:.45;font-size:10px;font-weight:600;line-height:1}.deploy-status-banner__muted{opacity:.72;white-space:nowrap;font-size:10px;font-weight:500}.deploy-status-banner__stage{white-space:nowrap;font-weight:600}.deploy-status-banner__commit{align-items:center;gap:6px;min-width:0;max-width:min(100%,520px);display:inline-flex}.deploy-status-banner__sha{font-family:var(--mono,"IBM Plex Mono", ui-monospace, monospace);letter-spacing:.03em;background:#0000000f;border:1px solid #00000014;border-radius:4px;flex-shrink:0;padding:2px 5px;font-size:9px;font-weight:700}.deploy-status-banner--ready .deploy-status-banner__sha{background:#064e3b14;border-color:#064e3b1f}.deploy-status-banner__subject{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500;overflow:hidden}.deploy-status-banner__line .deploy-status-banner__subject{font-size:11px;font-weight:600}.deploy-status-banner__spinner{border:2px solid #78350f29;border-top-color:#d97706;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.8s linear infinite deploy-status-spin}.deploy-status-banner__ready-icon{color:#fff;background:#059669;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:900;line-height:1;display:flex}.deploy-status-banner__refresh{cursor:pointer;font-size:10px;font-weight:700;font-family:var(--font,"Sora", system-ui, sans-serif);color:#fff;background:#059669;border:none;border-radius:999px;flex-shrink:0;padding:5px 10px;transition:transform .12s,opacity .15s}.deploy-status-banner__refresh:hover{opacity:.92}.deploy-status-banner__refresh:active{transform:scale(.98)}.deploy-status-banner__actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.deploy-status-banner__ignore{cursor:pointer;font-size:10px;font-weight:700;font-family:var(--font,"Sora", system-ui, sans-serif);color:#065f46;background:#ffffffa6;border:1px solid #064e3b33;border-radius:999px;flex-shrink:0;padding:5px 10px;transition:background .15s,color .15s,border-color .15s}.deploy-status-banner__ignore:hover{background:#fffffff2;border-color:#064e3b52}.deploy-status-banner__ignore:active{transform:scale(.98)}.deploy-status-banner__close{color:#6b7280;cursor:pointer;width:24px;height:24px;font-size:15px;font-weight:400;line-height:1;font-family:var(--font,"Sora", system-ui, sans-serif);background:#ffffff8c;border:1px solid #3741511f;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:flex}.deploy-status-banner__close:hover{color:#374151;background:#ffffffe6;border-color:#37415133}.deploy-status-banner--ready .deploy-status-banner__close{color:#047857;background:#ffffff8c;border-color:#064e3b29}.deploy-status-banner--ready .deploy-status-banner__close:hover{color:#065f46;background:#ffffffeb;border-color:#064e3b3d}.deploy-status-banner__close:active{transform:scale(.96)}
