:root{--primary-navy:#0f1b3d;--primary-navy-light:#162047;--primary-navy-dark:#0a1229;--accent-coral:#e94b4b;--accent-coral-hover:#d43a3a;--accent-coral-light:#e94b4b1f;--accent-teal:#4ecdc4;--accent-teal-hover:#3dbdb4;--accent-teal-light:#4ecdc41f;--surface:#fff;--surface-secondary:#f4f6fa;--surface-tertiary:#e8ecf3;--border:#dde2eb;--border-light:#eef1f6;--text-primary:#1a1a2e;--text-secondary:#5a6078;--text-tertiary:#8e94a8;--text-on-dark:#fff;--text-on-dark-secondary:#ffffffb3;--success:#28a745;--success-bg:#28a7451a;--warning:#ffc107;--warning-bg:#ffc1071a;--danger:#dc3545;--danger-bg:#dc35451a;--info:#17a2b8;--info-bg:#17a2b81a;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #0f1b3d0f;--shadow-md:0 4px 12px #0f1b3d14;--shadow-lg:0 8px 30px #0f1b3d1f;--shadow-xl:0 16px 50px #0f1b3d29;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--font-family:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.9375rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--focus-ring-color:var(--accent-teal);--focus-ring-width:3px;--focus-ring-offset:2px;--app-bg:var(--surface-secondary);--app-surface:var(--surface);--app-surface-raised:var(--surface);--app-text:var(--text-primary);--app-text-muted:var(--text-secondary);--app-border:var(--border);--neutral-100:var(--surface-secondary);--neutral-200:var(--surface-tertiary);--neutral-300:var(--border);--neutral-500:var(--text-secondary);--neutral-600:var(--text-secondary);--neutral-900:var(--text-primary);--surface-warm:#fffbf7;--success-mint:#10b981;--success-mint-bg:#10b9811a;--coral-rgb:233, 75, 75;--navy-rgb:15, 27, 61;--bs-primary:var(--accent-coral);--bs-primary-rgb:233, 75, 75;--bs-secondary:var(--primary-navy);--bs-secondary-rgb:15, 27, 61;--bs-info:var(--accent-teal);--bs-body-bg:var(--surface-secondary);--bs-body-color:var(--text-primary);--bs-font-sans-serif:var(--font-family);--bs-border-radius:var(--radius-md);--bs-link-color:var(--accent-coral);--bs-link-hover-color:var(--accent-coral-hover)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background:var(--surface-secondary);min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul,ol{list-style:none}input,button,select,textarea{font-family:inherit;font-size:inherit}:focus-visible,:where(a,button,input,select,textarea,[tabindex]:not([tabindex="-1"]),.btn,.stitch-product-card[role=button],.stitch-qty-btn):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}:focus:not(:focus-visible){outline:none}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;padding:10px 20px;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;transition:opacity var(--transition-fast);background:linear-gradient(135deg,#ffffff26,#0000);position:absolute;inset:0}.btn:hover:after{opacity:1}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent-coral);color:var(--text-on-dark)}.btn-primary:hover{background:var(--accent-coral-hover);box-shadow:0 4px 15px #e94b4b59}.btn-secondary{background:var(--primary-navy);color:var(--text-on-dark)}.btn-secondary:hover{background:var(--primary-navy-light);box-shadow:0 4px 15px #0f1b3d59}.btn-teal{background:var(--accent-teal);color:var(--primary-navy);font-weight:700}.btn-teal:hover{background:var(--accent-teal-hover);box-shadow:0 4px 15px #4ecdc459}.btn-outline{border:2px solid var(--border);color:var(--text-primary);background:0 0}.btn-outline:hover{border-color:var(--accent-coral);color:var(--accent-coral)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--surface-tertiary);color:var(--text-primary)}.btn-danger{background:var(--danger);color:var(--text-on-dark)}.btn-danger:hover{background:#c82333}.btn-sm{font-size:var(--font-size-xs);padding:6px 14px}.btn-lg{font-size:var(--font-size-base);padding:14px 28px}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:all var(--transition-base);overflow:hidden}.card:hover{box-shadow:var(--shadow-md)}.card-glass{-webkit-backdrop-filter:blur(20px);background:#ffffffd9;border:1px solid #ffffff4d}.form-group{margin-bottom:var(--space-md);flex-direction:column;gap:6px;display:flex}.form-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:600}.form-input,.form-select,.form-textarea{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;color:var(--text-primary);font-size:var(--font-size-base);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:10px 14px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-teal);box-shadow:0 0 0 3px var(--accent-teal-light)}.form-input::placeholder{color:var(--text-tertiary)}.form-textarea{resize:vertical;min-height:80px}.badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;align-items:center;padding:4px 10px;font-weight:700;display:inline-flex}.badge-new{background:var(--info-bg);color:var(--info)}.badge-preparing{background:var(--warning-bg);color:#b8860b}.badge-ready{background:var(--success-bg);color:var(--success)}.badge-delivered{background:var(--accent-teal-light);color:var(--accent-teal-hover)}.badge-closed{background:var(--surface-tertiary);color:var(--text-tertiary)}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;animation:fadeIn var(--transition-fast);background:#0f1b3d80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-xl);width:90%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-xl);animation:slideUp var(--transition-base);overflow-y:auto}.modal-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:var(--font-size-xl);font-weight:700}.modal-close{border-radius:var(--radius-full);background:var(--surface-secondary);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;font-size:18px;display:flex}.modal-close:hover{background:var(--danger-bg);color:var(--danger)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{box-shadow:0 0 0 0 rgba(var(--coral-rgb), .25)}50%{box-shadow:0 0 0 4px rgba(var(--coral-rgb), 0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--transition-base)}.animate-slide-up{animation:slideUp var(--transition-base)}.spinner{border:3px solid var(--border);border-top-color:var(--accent-coral);border-radius:50%;width:40px;height:40px;animation:.6s linear infinite spin}.loading-container{padding:var(--space-3xl);justify-content:center;align-items:center;display:flex}.text-center{text-align:center}.text-right{text-align:right}.font-bold{font-weight:700}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-secondary{color:var(--text-secondary)}.text-coral{color:var(--accent-coral)}.text-teal{color:var(--accent-teal)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}@media (width<=768px){:root{--font-size-3xl:1.5rem;--font-size-4xl:2rem}}.material-icons-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;vertical-align:middle;direction:ltr;font-family:Material Icons Outlined;font-size:20px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.order-tracker{flex-direction:column;margin:1.5rem 0;display:flex}.order-tracker-step{gap:.75rem;padding:.75rem 0;display:flex}.order-tracker-dot{flex-direction:column;align-items:center;width:32px;display:flex}.order-tracker-circle{border:2px solid var(--border);background:var(--surface);width:28px;height:28px;transition:all var(--transition-base);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.order-tracker-circle.active{background:var(--success);border-color:var(--success);color:var(--text-on-dark)}.order-tracker-circle.current{background:var(--accent-coral);border-color:var(--accent-coral);color:var(--text-on-dark);animation:1.5s infinite pulse}.order-tracker-line{background:var(--border);flex:1;width:2px;margin:4px 0}.order-tracker-line.active{background:var(--success)}.order-tracker-info{flex:1;padding-top:.25rem}.order-tracker-title{font-weight:700;font-size:var(--font-size-sm);color:var(--text-primary)}.order-tracker-desc{font-size:var(--font-size-xs);color:var(--text-tertiary)}.menu-recommended{margin-bottom:.5rem;padding:0 1rem}.menu-recommended-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.menu-recommended-title{font-size:var(--font-size-base);color:var(--text-primary);font-weight:800}.menu-recommended-subtitle{font-size:var(--font-size-xs);color:var(--text-tertiary)}.menu-recommended-cards{scrollbar-width:none;gap:.75rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.menu-recommended-cards::-webkit-scrollbar{display:none}.menu-recommended-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-light);cursor:pointer;width:190px;transition:all var(--transition-base);flex-shrink:0;overflow:hidden}.menu-recommended-card:hover{box-shadow:var(--shadow-md)}.menu-recommended-card-img{object-fit:cover;background:var(--surface-secondary);width:100%;height:110px}.menu-recommended-card-body{padding:.625rem}.menu-recommended-card-name{font-size:var(--font-size-sm);margin-bottom:.125rem;font-weight:700}.menu-recommended-card-price{font-size:var(--font-size-sm);color:var(--accent-coral);font-weight:800}.connection-banner{z-index:9999;background:linear-gradient(135deg, var(--accent-coral) 0%, #ff8e53 100%);color:var(--text-on-dark);justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.8125rem;font-weight:600;animation:.3s ease-out banner-slide-down;display:flex;position:fixed;top:0;left:0;right:0}.connection-banner--hide{background:linear-gradient(135deg, var(--success-mint) 0%, #34d399 100%);animation:.4s ease-in forwards banner-slide-up}.connection-banner__spinner{border:2px solid #fff6;border-top-color:var(--text-on-dark);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.connection-banner--hide .connection-banner__spinner{display:none}@keyframes banner-slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes banner-slide-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}.network-toast{z-index:9998;color:#f8fafc;background:#1e293b;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.8125rem;font-weight:500;animation:.3s ease-out toast-fade-in;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000040}.network-toast__icon{font-size:1rem}@keyframes toast-fade-in{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.tx-toast-container{z-index:9999;flex-direction:column;gap:.5rem;max-width:420px;display:flex;position:fixed;top:1.5rem;right:1.5rem}.tx-toast{opacity:0;border:1px solid;border-radius:.75rem;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8125rem;font-weight:500;transition:opacity .3s,transform .3s;display:flex;transform:translate(20px);box-shadow:0 4px 12px #0000001a}.tx-toast--visible{opacity:1;transform:translate(0)}.tx-toast__icon{flex-shrink:0;font-size:1.125rem}.tx-toast__message{flex:1;line-height:1.4}.tx-toast__close{cursor:pointer;opacity:.6;background:0 0;border:none;flex-shrink:0;padding:.125rem}.tx-toast__close:hover{opacity:1}.tx-toast--error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.tx-toast--success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.tx-toast--warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.tx-toast--info{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.tx-toast__close-icon{font-size:16px}:root{--ops-bg:#f8fafc;--ops-surface:#fff;--ops-surface-sunken:#f1f5f9;--ops-surface-tint:#eff4ff;--ops-border:#e2e8f0;--ops-border-soft:#f1f5f9;--ops-border-strong:#cbd5e1;--ops-text:#0f172a;--ops-text-body:#334155;--ops-text-muted:#64748b;--ops-text-faint:#94a3b8;--ops-primary:#1e293b;--ops-primary-hover:#0f172a;--ops-on-primary:#fff;--ops-accent:#0f766e;--ops-accent-halo:#0f766e1f;--ops-focus:#64748b;--ops-live:#0f766e;--ops-live-soft:#f0fdf4;--ops-live-ink:#15803d;--ops-curated:#b45309;--ops-curated-soft:#fef3c7;--ops-curated-ink:#b45309;--ops-blocked:#94a3b8;--ops-blocked-soft:#f8fafc;--ops-blocked-ink:#475569;--ops-urgent:#ea580c;--ops-urgent-soft:#fff7ed;--ops-urgent-border:#ffedd5;--ops-urgent-ink:#c2410c;--ops-danger:#ba1a1a;--ops-danger-soft:#ffdad6;--ops-danger-ink:#93000a;--ops-radius-xs:6px;--ops-radius-sm:8px;--ops-radius:16px;--ops-shadow:0 1px 3px 0 #0f172a08, 0 1px 2px -1px #0f172a05;--ops-shadow-lift:0 4px 6px -1px #0f172a0d, 0 2px 4px -2px #0f172a08;--ops-shadow-modal:0 20px 25px -5px #0f172a14, 0 8px 10px -6px #0f172a08;--ops-mark:#1e293b;--ops-sidebar:16rem;--ops-font:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ops-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--ops-bg:#0b1120;--ops-surface:#131c2e;--ops-surface-sunken:#0f172a;--ops-surface-tint:#17223a;--ops-border:#243044;--ops-border-soft:#1c2638;--ops-border-strong:#334155;--ops-text:#f1f5f9;--ops-text-body:#cbd5e1;--ops-text-muted:#94a3b8;--ops-text-faint:#64748b;--ops-primary:#e2e8f0;--ops-primary-hover:#f8fafc;--ops-on-primary:#0f172a;--ops-accent:#2dd4bf;--ops-accent-halo:#2dd4bf2e;--ops-focus:#94a3b8;--ops-live:#2dd4bf;--ops-live-soft:#0f2a22;--ops-live-ink:#4ade80;--ops-curated:#fbbf24;--ops-curated-soft:#2a2010;--ops-curated-ink:#fbbf24;--ops-blocked:#64748b;--ops-blocked-soft:#172033;--ops-blocked-ink:#cbd5e1;--ops-urgent:#f97316;--ops-urgent-soft:#2b1708;--ops-urgent-border:#4a2410;--ops-urgent-ink:#fb923c;--ops-danger:#f87171;--ops-danger-soft:#2b1512;--ops-danger-ink:#fca5a5;--ops-shadow:0 1px 2px #0006, 0 1px 3px #0000004d;--ops-shadow-lift:0 4px 14px #00000080, 0 2px 6px #00000059;--ops-shadow-modal:0 20px 25px -5px #0000008c, 0 8px 10px -6px #0006}}body{background:var(--ops-bg);color:var(--ops-text-body);font-family:var(--ops-font);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:20px}.ops-icon{flex-shrink:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--ops-focus);outline-offset:2px;border-radius:4px}.ops-shell{grid-template-columns:var(--ops-sidebar) minmax(0, 1fr);min-height:100vh;display:grid}.ops-shell__sidebar{box-sizing:border-box;background:var(--ops-surface);border-right:1px solid var(--ops-border);flex-direction:column;gap:1.5rem;height:100vh;padding:1.25rem .75rem;display:flex;position:sticky;top:0}.ops-shell__brand,.ops-login__brand{align-items:center;gap:.75rem;padding:0 .5rem;display:flex}.ops-shell__mark{letter-spacing:.02em;color:#fff;background:var(--ops-mark);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:inline-flex}.ops-shell__brand-text,.ops-shell__who{flex-direction:column;min-width:0;display:flex}.ops-shell__brand-text strong{letter-spacing:-.005em;color:var(--ops-text);font-size:16px;font-weight:700;line-height:24px}.ops-shell__brand-text small,.ops-shell__who small{letter-spacing:.03em;color:var(--ops-text-muted);font-size:11px;font-weight:500;line-height:14px}.ops-shell__nav{flex-direction:column;gap:4px;display:flex}.ops-shell__nav button{appearance:none;min-height:44px;color:var(--ops-text-body);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:.75rem;padding:0 .875rem;font-size:14px;font-weight:500;transition:background .12s,color .12s;display:flex}.ops-shell__nav button .ops-icon{color:var(--ops-text-muted)}.ops-shell__nav button:hover{background:var(--ops-bg);color:var(--ops-text)}.ops-shell__nav button[aria-current=page]{background:var(--ops-surface-tint);color:var(--ops-text);font-weight:600}.ops-shell__nav button[aria-current=page] .ops-icon{color:var(--ops-text)}.ops-shell__session{background:var(--ops-surface-tint);border-radius:12px;align-items:center;gap:.625rem;margin-top:auto;padding:.75rem;display:flex}.ops-shell__avatar,.ops-table__avatar{letter-spacing:.02em;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.ops-shell__avatar{width:36px;height:36px;color:var(--ops-on-primary);background:var(--ops-primary);font-size:12px}.ops-shell__who strong{color:var(--ops-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;line-height:18px;overflow:hidden}.ops-shell__session button{appearance:none;border-radius:var(--ops-radius-sm);width:36px;height:36px;color:var(--ops-text-body);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.ops-shell__session button:hover{background:var(--ops-surface);color:var(--ops-text)}.ops-shell__main,.ops-boot{box-sizing:border-box;width:100%;max-width:1400px;padding:2rem 1.5rem 4rem}.ops-tab__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.ops-tab__header h2{letter-spacing:-.02em;color:var(--ops-text);margin:0;font-size:32px;font-weight:700;line-height:40px}.ops-tab__subtitle{color:var(--ops-text-body);margin:.25rem 0 0;font-size:16px;line-height:24px}.ops-tab__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ops-tab__window{box-sizing:border-box;height:40px;color:var(--ops-text-body);font-variant-numeric:tabular-nums;background:var(--ops-surface-sunken);border-radius:var(--ops-radius-sm);align-items:center;gap:.5rem;padding:0 .875rem;font-size:13px;font-weight:500;display:inline-flex}.ops-tab__actions button{appearance:none;border:1px solid var(--ops-border);border-radius:var(--ops-radius-sm);background:var(--ops-surface);height:40px;color:var(--ops-text-body);font:inherit;cursor:pointer;box-shadow:var(--ops-shadow);align-items:center;gap:.5rem;padding:0 1rem;font-size:14px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.ops-tab__actions button:hover:not(:disabled){background:var(--ops-bg);border-color:var(--ops-border-strong)}.ops-tab__actions button:disabled{opacity:.6;cursor:progress}.ops-tab__note{max-width:72ch;color:var(--ops-text-body);background:var(--ops-surface-tint);border-radius:12px;align-items:flex-start;gap:.625rem;margin:0 0 1.5rem;padding:.75rem 1rem;font-size:13px;line-height:18px;display:flex}.ops-tab__note .ops-icon{color:var(--ops-accent);margin-top:1px}.ops-tab__error{max-width:72ch;color:var(--ops-danger-ink);background:var(--ops-danger-soft);border-radius:12px;margin:0 0 1.5rem;padding:.75rem 1rem;font-size:14px}.ops-tab__grid{grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:1.25rem;margin-bottom:1.5rem;display:grid}.ops-tab__grid:last-child{margin-bottom:0}.ops-tile{background:var(--ops-surface);border:1px solid var(--ops-border);border-radius:var(--ops-radius);box-shadow:var(--ops-shadow);flex-direction:column;gap:.5rem;padding:1.25rem;transition:box-shadow .14s,border-color .14s;display:flex;position:relative;overflow:hidden}.ops-tile:hover{border-color:var(--ops-border-strong);box-shadow:var(--ops-shadow-lift)}.ops-tile:before{content:"";background:var(--ops-blocked);width:3px;position:absolute;inset:0 auto 0 0}.ops-tile[data-source=live]:before{background:var(--ops-live)}.ops-tile[data-source=curated]:before{background:var(--ops-curated)}.ops-tile__source,.ops-chip{box-sizing:border-box;letter-spacing:.02em;white-space:nowrap;height:24px;color:var(--ops-blocked-ink);background:var(--ops-blocked-soft);border:1px solid var(--ops-border);border-radius:var(--ops-radius-xs);align-items:center;padding:0 .5rem;font-size:12px;font-weight:600;display:inline-flex}.ops-tile__source{text-transform:uppercase;letter-spacing:.03em;font-size:11px;position:absolute;top:1.25rem;right:1.25rem}.ops-tile[data-source=live] .ops-tile__source,.ops-chip--ok{color:var(--ops-live-ink);background:var(--ops-live-soft);border-color:#0000}.ops-tile[data-source=curated] .ops-tile__source,.ops-chip--attention{color:var(--ops-curated-ink);background:var(--ops-curated-soft);border-color:#0000}.ops-chip--danger{color:var(--ops-urgent-ink);background:var(--ops-urgent-soft);border-color:var(--ops-urgent-border)}.ops-tile__label{letter-spacing:.06em;text-transform:uppercase;min-height:2.5em;color:var(--ops-text-body);align-items:flex-start;padding-right:6.5rem;font-size:12px;font-weight:600;line-height:16px;display:flex}.ops-tile__value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";color:var(--ops-text);font-size:28px;font-weight:700;line-height:36px}.ops-tile__value--absent{color:var(--ops-text-faint);font-weight:400}.ops-tile__definition,.ops-tile__asof{color:var(--ops-text-muted);font-size:13px;line-height:18px}.ops-tile__reason{color:var(--ops-text-body);background:var(--ops-surface-sunken);border-radius:var(--ops-radius-sm);margin:0;padding:.5rem .625rem;font-size:13px;line-height:18px}.ops-card{background:var(--ops-surface);border:1px solid var(--ops-border);border-radius:var(--ops-radius);box-shadow:var(--ops-shadow);overflow:hidden}.ops-card__header{flex-wrap:wrap;align-items:center;gap:.75rem;padding:1.25rem 1.25rem 1rem;display:flex}.ops-card__title{letter-spacing:-.01em;color:var(--ops-text);margin:0;font-size:20px;font-weight:600;line-height:28px}.ops-table__scroll{overflow-x:auto}.ops-table{border-collapse:collapse;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";width:100%;font-size:14px}.ops-table th,.ops-table__cell{text-align:left;white-space:nowrap;height:48px;padding:.625rem 1rem}.ops-table .ops-table__num{text-align:right}.ops-table thead th{letter-spacing:.06em;text-transform:uppercase;color:var(--ops-text-body);background:var(--ops-surface-tint);font-size:12px;font-weight:600}.ops-table tbody tr{border-bottom:1px solid var(--ops-border-soft);transition:background .1s}.ops-table tbody tr:last-child{border-bottom:0}.ops-table tbody tr:hover{background:var(--ops-bg)}.ops-table__cell{color:var(--ops-text-body)}.ops-table__name{color:var(--ops-text);align-items:center;gap:.75rem;font-weight:600;display:inline-flex}.ops-table__avatar{width:32px;height:32px;color:var(--ops-live-ink);background:var(--ops-live-soft);font-size:11px}.ops-table__cell--absent{color:var(--ops-text-faint)}.ops-table__row--at-risk,.ops-table__row--at-risk:hover{background:var(--ops-urgent-soft);box-shadow:inset 3px 0 0 var(--ops-urgent)}.ops-gaps{max-width:72ch;margin-top:1.5rem}.ops-gaps__empty{color:var(--ops-text-muted);margin:0;padding:0 1.25rem 1.25rem}.ops-gaps__list{border-top:1px solid var(--ops-border-soft);margin:0;padding:0;list-style:none}.ops-gaps__item{border-bottom:1px solid var(--ops-border-soft);padding:1rem 1.25rem}.ops-gaps__item:last-child{border-bottom:0}.ops-gaps__gap{color:var(--ops-text);margin:.5rem 0 0}.ops-gaps__evidence{font-family:var(--ops-mono);color:var(--ops-text-muted);background:var(--ops-surface-sunken);border-radius:var(--ops-radius-xs);overflow-wrap:anywhere;margin:.5rem 0 0;padding:.5rem .625rem;font-size:12px;line-height:18px}.ops-banner{margin:0;padding:.75rem 1.5rem;font-size:14px;font-weight:600}.ops-banner--error{color:var(--ops-danger-ink);background:var(--ops-danger-soft);border-bottom:1px solid var(--ops-danger)}.ops-login{box-sizing:border-box;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.ops-login__form{box-sizing:border-box;background:var(--ops-surface);border:1px solid var(--ops-border);border-radius:var(--ops-radius);width:min(25rem,100%);box-shadow:var(--ops-shadow-modal);flex-direction:column;gap:.375rem;padding:2rem;display:flex}.ops-login__brand{margin-bottom:1.5rem;padding:0}.ops-login__title{letter-spacing:-.015em;color:var(--ops-text);margin:0;font-size:24px;font-weight:600;line-height:32px}.ops-login__subtitle{color:var(--ops-text-muted);margin:0 0 1rem}.ops-login__label{letter-spacing:.02em;color:var(--ops-text-body);margin-top:.75rem;font-size:12px;font-weight:600}.ops-login__form input{box-sizing:border-box;height:42px;font:inherit;color:var(--ops-text);background:var(--ops-surface);border:1px solid var(--ops-border);border-radius:var(--ops-radius-sm);padding:0 .75rem;font-size:14px;transition:border-color .12s,box-shadow .12s}.ops-login__form input::placeholder{color:var(--ops-text-faint)}.ops-login__form input:focus{border-color:var(--ops-accent);box-shadow:0 0 0 3px var(--ops-accent-halo);outline:none}.ops-login__form button{appearance:none;height:48px;font:inherit;color:var(--ops-on-primary);background:var(--ops-primary);border-radius:var(--ops-radius-sm);cursor:pointer;border:0;margin-top:1.5rem;padding:0 1rem;font-size:14px;font-weight:600;transition:background .12s}.ops-login__form button:hover:not(:disabled){background:var(--ops-primary-hover)}.ops-login__form button:disabled{opacity:.6;cursor:progress}.ops-login__notice{color:var(--ops-curated-ink);background:var(--ops-curated-soft);border-radius:var(--ops-radius-sm);margin:0 0 .5rem;padding:.625rem .75rem;font-size:13px}.ops-login__error{color:var(--ops-danger-ink);background:var(--ops-danger-soft);border-radius:var(--ops-radius-sm);margin:.75rem 0 0;padding:.625rem .75rem;font-size:13px}@media (width<=1024px){.ops-shell{grid-template-columns:minmax(0,1fr)}.ops-shell__sidebar{z-index:10;border-right:0;border-bottom:1px solid var(--ops-border);flex-flow:wrap;align-items:center;gap:.75rem;height:auto;padding:.75rem 1rem;position:sticky}.ops-shell__brand{padding:0}.ops-shell__session{background:0 0;order:2;margin:0 0 0 auto;padding:.25rem .25rem .25rem .5rem}.ops-shell__who{display:none}.ops-shell__nav{flex-direction:row;order:3;width:100%;overflow-x:auto}.ops-shell__nav button{white-space:nowrap;flex-shrink:0}.ops-shell__main{padding:1.5rem 1rem 3rem}}@media (width<=720px){.ops-tab__header h2{font-size:24px;line-height:32px}.ops-shell__brand-text small{display:none}}.error-boundary{color:#333;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:50vh;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.error-boundary__icon{color:#e74c3c;margin-bottom:1rem;font-size:64px}.error-boundary__title{margin:0 0 .5rem;font-size:1.5rem}.error-boundary__message{color:#666;max-width:400px;margin:0 0 1.5rem}.error-boundary__actions{gap:.75rem;display:flex}.error-boundary__btn{cursor:pointer;border-radius:8px;padding:.6rem 1.2rem;font-size:.9rem}.error-boundary__btn--retry{background:var(--surface);border:1px solid #ddd}.error-boundary__btn--reload{color:var(--text-on-dark);background:#2d3436;border:none}.error-boundary__debug{text-align:left;color:#e74c3c;background:#f8f8f8;border-radius:8px;max-width:100%;margin-top:2rem;padding:1rem;font-size:.75rem;overflow:auto}
