:root{--color-primary:#0e71eb;--color-primary-hover:#0b5ed7;--color-zoom-blue:#0e71eb;--color-zoom-blue-dark:#0b5cff;--color-accent:#0e71eb;--color-share-green:#0e7a37;--color-success:#0e7a37;--color-warning:#f5a623;--color-error:#e02828;--color-bg-dark:#1a1a1a;--color-bg:var(--color-bg-dark);--color-surface-dark:#242424;--color-surface:var(--color-surface-dark);--color-border-dark:#393939;--color-border:var(--color-border-dark);--color-text-primary-dark:#ffffff;--color-text:var(--color-text-primary-dark);--color-text-secondary-dark:#b3b3b3;--color-text-secondary:var(--color-text-secondary-dark);--color-text-primary:var(--color-text-primary-dark);--color-toolbar:#1f1f1f;--color-bg-light:#f2f2f7;--color-surface-light:#ffffff;--color-border-light:#e0e0e5;--color-text-primary-light:#232333;--color-text-light:var(--color-text-primary-light);--color-text-secondary-light:#747487;--color-sidebar:#f7f7fa;--color-nav-dark:#000333;--font-sans:"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-pill:999px;--shadow-card:0 1px 2px rgba(0,0,0,0.06);--shadow-elevated:0 4px 16px rgba(0,0,0,0.12);--ease-standard:cubic-bezier(0.4,0,0.2,1);--duration-fast:150ms;--duration-standard:250ms;--transition:var(--duration-standard) var(--ease-standard);--transition-press:var(--duration-fast) var(--ease-standard);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{font-family:var(--font-sans);font-size:16px;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}body:has(.dash-layout){background:var(--color-bg-light);color:var(--color-text-primary-light)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;border:none;background:none;color:inherit}button:disabled{cursor:not-allowed;opacity:.55}.landing{min-height:100vh;background:radial-gradient(ellipse 80% 60% at 20% 0,rgba(14,113,235,.12),transparent),radial-gradient(ellipse 60% 50% at 90% 20%,rgba(13,148,136,.1),transparent),var(--color-bg-light);color:var(--color-text-light);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.landing__brand{font-size:clamp(2rem,5vw,2.75rem);font-weight:700;letter-spacing:-.03em;color:var(--color-primary);margin:0 0 .75rem}.landing__eyebrow{margin:0 0 .75rem;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.landing__tagline{color:var(--color-text-secondary-light);margin:0 0 2.5rem;text-align:center;max-width:32rem;font-size:1.05rem;line-height:1.55}.landing__actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.landing__hint{margin:2rem 0 0;font-size:.875rem;color:var(--color-text-secondary-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.65rem 1.25rem;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;transition:transform var(--transition),background-color var(--transition),border-color var(--transition)}.btn:active:not(:disabled){transform:scale(.97);transition-duration:var(--transition-press)}.btn--compact{min-height:36px;padding:.35rem .7rem;font-size:.8rem}.btn--danger-text{color:var(--color-error)!important}.btn--primary{background:var(--color-primary);color:#fff;border:none;box-shadow:none;transition:transform .12s ease,background .12s ease}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover);transform:none;box-shadow:none}.btn--primary:active:not(:disabled){transform:scale(.98);box-shadow:none}.btn--primary.btn--elevated,.btn--primary.btn--elevated:hover:not(:disabled){box-shadow:none}.btn--accent{background:var(--color-accent);color:#fff}.btn--accent:hover:not(:disabled){background:#0f766e}.btn--ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn--ghost:hover:not(:disabled){background:var(--color-surface)}.btn--danger{background:var(--color-error);color:#fff}.btn--danger:hover:not(:disabled){background:#b91c1c}.btn--icon{min-width:44px;min-height:44px;padding:.5rem;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border)}.btn--icon.is-active{background:var(--color-primary);border-color:var(--color-primary)}.btn--icon.is-off{background:rgba(220,38,38,.2);border-color:var(--color-error);color:#fca5a5}body:has(.live-shell),html:has(.live-shell){height:100%;max-height:100%;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}.live-shell{flex-direction:column;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;max-width:100vw;color:var(--color-text)}.live-shell,.live-shell-inner{display:flex;width:100%;overflow:hidden;position:relative}.live-shell-inner{--toolbar-h:72px;--topbar-h:40px;--side-panel-w:0px;flex:1 1 auto;min-height:0;min-width:0;height:100%;max-height:100%;flex-direction:column}.live-shell-inner:-webkit-full-screen,.live-shell:-webkit-full-screen{width:100vw;height:100vh;max-width:none;max-height:none;background:#000}.live-shell-inner:-webkit-full-screen,.live-shell-inner:fullscreen,.live-shell:-webkit-full-screen,.live-shell:fullscreen{width:100vw;height:100vh;max-width:none;max-height:none;background:#000}.live-shell-inner.is-side-open{--side-panel-w:360px}.live-shell-inner>.live-main{flex:1 1 auto;min-height:0;z-index:1;height:100%;padding-top:var(--topbar-h,40px);padding-bottom:0;box-sizing:border-box;transition:padding-top .28s cubic-bezier(.4,0,.2,1)}.live-shell-inner:-webkit-full-screen>.live-main{padding-top:0}.live-shell-inner:-webkit-full-screen>.live-main,.live-shell-inner:fullscreen>.live-main{padding-top:0}.live-shell-inner:-webkit-full-screen .video-stage{padding-bottom:0}.live-shell-inner:-webkit-full-screen .video-stage,.live-shell-inner:fullscreen .video-stage{padding-bottom:0}.live-shell-inner>.live-topbar{position:absolute;top:0;left:0;right:0;flex:none;z-index:1100;transform:translateY(0);opacity:1;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .22s ease}.live-shell-inner>.control-dock,.live-shell-inner>.zoom-toolbar{position:absolute;left:0;right:var(--side-panel-w,0);bottom:0;width:auto;max-width:none;flex:none;z-index:1100;transform:translateY(0);opacity:1;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .22s ease,right .2s ease}.live-shell-inner.is-chrome-hidden>.live-topbar{transform:translateY(-110%);opacity:0;pointer-events:none}.live-shell-inner.is-chrome-hidden>.control-dock,.live-shell-inner.is-chrome-hidden>.zoom-toolbar{transform:translateY(110%);opacity:0;pointer-events:none;right:0}.live-shell-inner.is-chrome-hidden .video-stage__nameplate{bottom:14px}.live-shell-inner:not(.is-chrome-hidden) .video-stage__nameplate{bottom:calc(var(--toolbar-h) + 12px)}.live-shell-inner:not(.is-chrome-hidden) .video-stage{padding-bottom:var(--toolbar-h,72px);box-sizing:border-box}.live-shell-inner:not(.is-chrome-hidden) .qna-panel,.live-shell-inner:not(.is-chrome-hidden) .teacher-side{padding-bottom:0;margin-bottom:0;max-height:100%;border-bottom:none;z-index:2}.live-shell audio,.live-shell-inner audio{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.live-topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:var(--topbar-h,40px);height:var(--topbar-h,40px);padding:0 .75rem 0 .65rem;background:#000;border-bottom:1px solid #1a1a1a;backdrop-filter:none;-webkit-backdrop-filter:none;z-index:10;box-sizing:border-box}.live-topbar__left{display:inline-flex;align-items:center;gap:.4rem;min-width:0;flex:1 1 auto;overflow:hidden}.live-topbar__icon-hit,.live-topbar__info-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:#fff;cursor:pointer;padding:.2rem;border-radius:6px;position:relative;flex-shrink:0}.live-topbar__icon-hit:hover,.live-topbar__info-btn:hover{background:rgba(255,255,255,.1);color:#fff}.live-topbar__info-btn svg{width:16px;height:16px}.mt-info-block{padding:.35rem .9rem .65rem;color:#ddd;font-size:.85rem;line-height:1.45;max-width:280px}.mt-info-block strong{display:block;color:#fff;margin-bottom:.35rem}.mt-info-block p{margin:0 0 .5rem}.live-main--gallery .video-stage{align-items:stretch}.live-main--gallery .video-stage video{object-fit:contain}.live-topbar__title{font-weight:600;font-size:.875rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;min-width:0;max-width:100%;letter-spacing:.01em}.live-topbar__meta{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex:0 0 auto;min-width:0;color:#cfcfcf;font-size:.8rem;flex-wrap:nowrap}.live-topbar__status{display:inline-flex;align-items:center;gap:.45rem;margin-right:.15rem;max-width:14rem;overflow:hidden}.live-topbar__warn{color:#f5a623;font-weight:500;white-space:nowrap}.live-topbar__role{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-topbar__timer{font-family:var(--font-mono);font-size:.8rem;color:#cfcfcf;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.live-badge{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;padding:.2rem .55rem;border-radius:var(--radius-pill)}.live-badge,.live-badge__dot{background:var(--color-error)}.live-badge__dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 0 rgba(220,38,38,.5);animation:pulse-live 1.6s ease infinite}@keyframes pulse-live{0%{box-shadow:0 0 0 0 rgba(220,38,38,.45)}70%{box-shadow:0 0 0 8px rgba(220,38,38,0)}to{box-shadow:0 0 0 0 rgba(220,38,38,0)}}.live-main{display:grid;grid-template-columns:minmax(0,1fr) var(--side-panel-w,0);min-height:0;min-width:0;position:relative;overflow:hidden;width:100%;height:100%;grid-gap:0;gap:0;background:#000}@media (max-width:1100px){.live-shell-inner.is-side-open{--side-panel-w:320px}.live-main{grid-template-columns:minmax(0,1fr) var(--side-panel-w,0)}}@media (max-width:820px){.live-shell-inner,.live-shell-inner.is-side-open{--side-panel-w:0px}.live-main{grid-template-columns:minmax(0,1fr)}}.video-stage{position:relative;display:flex;align-items:stretch;justify-content:stretch;min-height:0;min-width:0}.video-stage,.video-stage__fill{width:100%;height:100%;background:#000;overflow:hidden}.video-stage__fill{position:absolute;inset:0}.video-stage__fill--share{display:flex;flex-direction:column;position:absolute;inset:0}.video-stage__fill--float-pip{display:block}.video-stage__fill--float-pip .video-stage__share{position:absolute;inset:0;flex:none;width:100%;height:100%}.video-stage__host-rail{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:120px;padding:10px 12px 6px;background:#000;z-index:2;overflow-x:auto;max-width:100%}.video-stage__host-rail.is-live{min-height:120px}.video-stage__share{position:relative;flex:1 1 auto;min-height:0;min-width:0;width:100%;background:#000}.video-stage__share .video-stage__media,.video-stage__share video{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:contain!important;background:#000;transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.live-shell-inner:-webkit-full-screen .video-stage__fill--float-pip .video-stage__share .video-stage__media,.live-shell-inner:-webkit-full-screen .video-stage__fill--float-pip .video-stage__share video{object-fit:contain!important}.live-shell-inner:-webkit-full-screen .video-stage__fill--float-pip .video-stage__share .video-stage__media,.live-shell-inner:-webkit-full-screen .video-stage__fill--float-pip .video-stage__share video,.live-shell-inner:fullscreen .video-stage__fill--float-pip .video-stage__share .video-stage__media,.live-shell-inner:fullscreen .video-stage__fill--float-pip .video-stage__share video{object-fit:contain!important}.video-stage__media{width:100%;height:100%;object-fit:cover;background:#000}.video-stage__media--contain{object-fit:contain}.video-stage__media--cover{object-fit:cover!important}.video-stage__pip{position:relative;width:200px;height:112px;border-radius:8px;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 16px rgba(0,0,0,.4)}.video-stage__pip,.video-stage__pip--circle{overflow:hidden;background:#111;flex-shrink:0}.video-stage__pip--circle{position:absolute;z-index:6;width:144px;height:144px;border-radius:50%;border:2px solid rgba(255,255,255,.88);box-shadow:0 8px 28px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.35);-moz-user-select:none;user-select:none;-webkit-user-select:none;right:auto;bottom:auto}.video-stage__pip--circle.is-draggable{cursor:-webkit-grab;cursor:grab;touch-action:none}.video-stage__pip--circle.is-dragging{cursor:-webkit-grabbing;cursor:grabbing;box-shadow:0 12px 36px rgba(0,0,0,.65),0 0 0 2px rgba(255,255,255,.35)}.video-stage__pip .video-stage__media,.video-stage__pip video,.video-stage__pip-media{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;display:block;background:#000;pointer-events:none;transform:translateZ(0);-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.video-stage__pip-label{position:absolute;left:6px;bottom:4px;z-index:1;max-width:calc(100% - 12px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none}.video-stage__pip-label--circle{left:50%;bottom:10px;transform:translateX(-50%);max-width:80%;text-align:center;font-size:.65rem}@media (max-width:700px){.video-stage__host-rail.is-live{min-height:88px;padding:8px 8px 4px}.video-stage__pip:not(.video-stage__pip--circle){width:132px;height:74px;border-radius:6px}}.video-stage .lk-focus-layout,.video-stage .lk-grid-layout,.video-stage .lk-participant-tile,.video-stage .lk-room-container,.video-stage video{width:100%;height:100%;object-fit:cover}.video-stage .video-stage__media--contain,.video-stage video.video-stage__media--contain{object-fit:contain}.video-stage__placeholder{color:var(--color-text-secondary);text-align:center;padding:2rem}.video-stage__placeholder--lobby{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(ellipse 70% 55% at 50% 42%,rgba(14,113,235,.12),transparent 70%),#121212}.video-stage__wait-card{width:min(420px,100%);padding:1.6rem 1.35rem 1.4rem;border-radius:14px;background:rgba(28,28,30,.92);border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 48px rgba(0,0,0,.45);color:#e8e8ed}.video-stage__wait-brand{gap:.5rem;margin-bottom:1rem;font-size:.88rem;font-weight:700;color:#f2f2f7}.video-stage__wait-brand,.video-stage__wait-mark{display:inline-flex;align-items:center;justify-content:center}.video-stage__wait-mark{width:1.75rem;height:1.75rem;border-radius:7px;background:linear-gradient(145deg,#0e71eb,#2d8cff);color:#fff;font-size:.65rem;font-weight:800}.video-stage__wait-kicker{margin:0 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6eb0ff}.video-stage__wait-title{margin:0 0 .55rem;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:#fff;line-height:1.3}.video-stage__wait-sub{margin:0 0 1.1rem;font-size:.9rem;line-height:1.5;color:#a1a1aa}.video-stage__wait-pulse{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .85rem;border-radius:999px;background:rgba(14,113,235,.15);color:#9bc4ff;font-size:.84rem;font-weight:600}.video-stage__placeholder--presence{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0e0e0e}.video-stage__presence{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.video-stage__presence-avatar{display:inline-flex;align-items:center;justify-content:center;width:5.5rem;height:5.5rem;border-radius:50%;background:linear-gradient(145deg,#2c5aa0,#0e71eb);color:#fff;font-size:1.55rem;font-weight:700;letter-spacing:.02em;box-shadow:0 8px 28px rgba(0,0,0,.4)}.video-stage__presence-name{margin:0;max-width:min(90vw,28rem);font-size:clamp(1.15rem,2.5vw,1.5rem);font-weight:600;letter-spacing:-.01em;color:#f4f4f5;text-align:center;line-height:1.3;word-break:break-word}.video-stage__banner{position:absolute;top:12px;left:50%;transform:translateX(-50%);right:auto;z-index:5;display:flex;align-items:center;justify-content:center;gap:.65rem;margin-bottom:0;max-width:min(640px,calc(100% - 2rem));width:max-content;padding:.55rem .85rem;border-radius:var(--radius-pill);background:#2d2d2d;border:none;color:#fff;font-size:.8rem;box-shadow:0 4px 16px rgba(0,0,0,.35)}.video-stage__banner .zoom-link,.video-stage__banner a{color:#4da3ff;text-decoration:underline;cursor:pointer;background:none;border:none;padding:0;font:inherit}.video-stage__banner .zoom-banner__x{margin-left:.35rem;opacity:.8;font-size:1rem;line-height:1}.video-stage__nameplate{position:absolute;left:12px;bottom:12px;z-index:4;display:inline-flex;align-items:center;gap:.4rem;max-width:min(70%,320px);padding:.28rem .55rem;border-radius:6px;background:rgba(0,0,0,.55);color:#fff;font-size:.8rem;font-weight:500;pointer-events:none}.video-stage__nameplate span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-stage__nameplate svg{width:14px;height:14px;flex-shrink:0;color:#e02828}.video-stage__center-name{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000;color:#fff;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:700;letter-spacing:-.02em;z-index:1}.control-dock.zoom-toolbar,.video-stage__controls.control-dock,.zoom-toolbar{--tb-pad-x:12px;--tb-gap-center:10px;--tb-icon:24px;--tb-label:11px;position:absolute;left:0;bottom:0;right:0;width:auto;max-width:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-end;grid-gap:8px;gap:8px;padding:6px var(--tb-pad-x) 8px;min-height:var(--toolbar-h,72px);height:var(--toolbar-h,72px);background:#0c0c0c;border:none;border-top:1px solid #1f1f1f;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;z-index:1100;overflow:visible;box-sizing:border-box;isolation:isolate}.live-shell-inner>.control-dock,.live-shell-inner>.zoom-toolbar,.live-shell-inner>.zoom-toolbar.control-dock{left:0;right:var(--side-panel-w,0);width:auto;max-width:none}.zoom-toolbar__group{display:flex;align-items:flex-end;justify-content:center;gap:.65rem;min-width:0}.zoom-toolbar__group--left{justify-content:flex-start;gap:.35rem;padding-left:.15rem}.zoom-toolbar__group--center{justify-content:center;gap:var(--tb-gap-center);flex-wrap:nowrap;max-width:100%;overflow:visible;padding-bottom:2px;position:relative}.zoom-toolbar.zoom-toolbar--no-av{grid-template-columns:1fr auto 1fr}.zoom-toolbar.zoom-toolbar--no-av .zoom-toolbar__group--center{justify-content:center;grid-column:2}.zoom-toolbar.zoom-toolbar--no-av .zoom-toolbar__group--end{grid-column:3;justify-self:end;margin-left:0}.zoom-toolbar__group--end{justify-content:flex-end;align-items:flex-end;padding-right:.35rem;margin-left:auto}.zoom-toolbar__divider{width:1px;height:28px;margin:0 6px 18px;background:#3a3a3a;flex:0 0 1px;align-self:flex-end}.control-dock__btn,.zoom-tb{position:relative;width:auto;min-width:56px;height:auto;min-height:0;padding:4px 10px 2px;border-radius:8px;display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;background:transparent;color:#f2f2f2;border:none;transition:background-color .12s ease,color .12s ease}.control-dock__btn:hover:not(:disabled),.zoom-tb:hover:not(:disabled){transform:none;background:#2d2d2d;color:#fff}.control-dock__btn:active:not(:disabled),.zoom-tb:active:not(:disabled){transform:none;background:#3a3a3a}.zoom-tb__icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:inherit;background:transparent}.zoom-tb__label{font-size:var(--tb-label,.68rem);font-weight:400;line-height:1.1;color:inherit;white-space:nowrap}.control-dock__btn svg,.zoom-tb__icon svg{width:var(--tb-icon,22px);height:var(--tb-icon,22px)}.control-dock__btn.is-off,.zoom-tb.is-muted .zoom-tb__icon,.zoom-tb.is-off .zoom-tb__icon{color:#f2f2f2;background:transparent}.zoom-tb.is-muted:after,.zoom-tb.is-off:after{display:none}.zoom-tb--share .zoom-tb__icon{background:#0eac5c;color:#fff;border-radius:8px;width:36px;height:28px}.zoom-tb--share .zoom-tb__icon svg{width:18px;height:18px;stroke:currentColor;fill:none}.zoom-tb--share.is-on .zoom-tb__icon{background:#0c954f;box-shadow:0 0 0 2px rgba(14,172,92,.35)}.zoom-tb.is-on .zoom-tb__icon{color:#f5c542}.control-dock__btn.is-on{background:transparent;color:#f2f2f2}.control-dock__btn.is-on:hover:not(:disabled){background:#2d2d2d}.zoom-tb--end{min-width:52px;color:#fff}.zoom-tb--end .zoom-tb__icon{background:transparent;color:#e02828;width:30px;height:30px;border-radius:0}.zoom-tb--end:hover:not(:disabled){background:transparent}.zoom-tb--end:hover:not(:disabled) .zoom-tb__icon{filter:brightness(1.08)}.control-dock__tooltip{display:none}.control-dock__btn--recording.is-on:after{top:4px;right:10px}.zoom-host-pill{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:6;padding:.35rem .85rem;border-radius:var(--radius-pill);background:rgba(45,45,45,.95);color:#fff;font-size:.8rem;font-weight:500;pointer-events:none}.video-stage__banner-icon{display:inline-flex;width:18px;height:18px;flex-shrink:0}.video-stage__banner-icon svg{width:18px;height:18px}.zoom-prejoin{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:radial-gradient(900px 480px at 50% -10%,rgba(14,113,235,.28),transparent 55%),radial-gradient(700px 400px at 85% 100%,rgba(45,140,255,.12),transparent 50%),#0b1220;padding:1.25rem}.zoom-prejoin--guest{background:radial-gradient(820px 420px at 50% 0,rgba(14,113,235,.32),transparent 58%),radial-gradient(560px 360px at 10% 90%,rgba(14,113,235,.1),transparent 55%),#0b1220}.zoom-prejoin--room{display:grid;grid-template-rows:auto 1fr auto;align-items:stretch;padding:0;background:#1a1a1a}.zoom-prejoin__stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:1.5rem 1rem;background:#1a1a1a}.zoom-prejoin__stage .zoom-host-pill{position:absolute;top:12px;left:50%;transform:translateX(-50%)}.zoom-toolbar--preview{pointer-events:none;opacity:.92}.zoom-prejoin__card{width:100%;max-width:400px;background:#fff;color:#232333;border-radius:16px;padding:1.35rem 1.35rem 1.15rem;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 48px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.08);z-index:2}.zoom-prejoin__card--join{max-width:380px;padding:1.25rem 1.25rem 1.1rem;display:flex;flex-direction:column;align-items:stretch}.zoom-prejoin__art{width:100%;max-width:260px;margin:0 auto .85rem;border-radius:14px;overflow:hidden;background:transparent;position:relative}.zoom-prejoin__art--compact{max-width:100%;margin-bottom:.75rem}.zoom-prejoin__art-svg{display:block;width:100%;height:auto}.zoom-prejoin__art:after,.zoom-prejoin__art:before{content:none}.zoom-prejoin__class-title{margin:0 0 .35rem!important;font-size:.78rem!important;font-weight:600!important;color:#0e71eb!important;line-height:1.3!important;letter-spacing:.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.zoom-prejoin__card h1{margin:0 0 .35rem;font-size:1.35rem;font-weight:700;color:#1a1a28;letter-spacing:-.02em;line-height:1.25}.zoom-prejoin__card p,.zoom-prejoin__lead{margin:0 0 .9rem;color:#6b6b7b;font-size:.9rem;line-height:1.45}.zoom-prejoin__card--join .zoom-prejoin__lead{margin-bottom:1rem}.zoom-prejoin__fields{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1rem;text-align:left}.zoom-prejoin__field{display:flex;flex-direction:column;gap:.3rem}.zoom-prejoin__primary{width:100%;min-height:46px;border:none;border-radius:10px;background:#0e71eb;color:#fff;font-size:.95rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:background .15s ease,transform .12s ease,opacity .15s ease}.zoom-prejoin__card--join .zoom-prejoin__primary{margin-top:0;margin-bottom:0}.zoom-prejoin__card--join .zoom-prejoin__primary+.device-test{margin-top:.65rem}.zoom-prejoin__primary svg{width:18px;height:18px;fill:none;stroke:currentColor;flex-shrink:0}.zoom-prejoin__primary:hover:not(:disabled){background:#0b5ed7}.zoom-prejoin__primary:active:not(:disabled){transform:translateY(1px)}.zoom-prejoin__primary:disabled{opacity:.48;cursor:not-allowed}.zoom-prejoin__secondary{display:block;width:100%;background:none;border:none;color:#0e71eb;font-weight:600;font-size:.9rem;cursor:pointer;margin-bottom:.85rem;padding:.25rem}.zoom-prejoin__secondary:hover{text-decoration:underline}.zoom-prejoin__card--lobby{max-width:420px}.zoom-prejoin__brand{display:flex;align-items:center;justify-content:center;gap:.55rem;margin-bottom:.85rem}.zoom-prejoin__card--join .zoom-prejoin__brand{margin-bottom:.75rem}.zoom-prejoin__brand-mark{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:8px;background:linear-gradient(145deg,#0e71eb,#2d8cff);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:-.02em;box-shadow:0 4px 12px rgba(14,113,235,.35)}.zoom-prejoin__brand-name{font-size:.95rem;font-weight:700;color:#232333;letter-spacing:-.01em}.zoom-prejoin__lobby-kicker{margin:0 0 .35rem!important;font-size:.75rem!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.06em;color:#0e71eb!important}.zoom-prejoin__pulse{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin:0 auto 1rem;padding:.55rem .9rem;border-radius:999px;background:#eef5ff;color:#0b5ed7;font-size:.88rem;font-weight:600}.zoom-prejoin__pulse-dot{width:.55rem;height:.55rem;border-radius:50%;background:#0e71eb;animation:zoom-prejoin-pulse 1.2s ease-in-out infinite}@keyframes zoom-prejoin-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.85)}}.zoom-prejoin__card label{display:block;text-align:left;font-size:.8rem;font-weight:600;color:#5c5c6b;margin:0}.zoom-prejoin__card input,.zoom-prejoin__card select{width:100%;min-height:44px;border:1px solid #d8d8e0;border-radius:10px;padding:.55rem .85rem;background:#fafafc;color:#232333;font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.zoom-prejoin__card input::placeholder{color:#9a9aad}.zoom-prejoin__card input:hover:not(:disabled):not(:focus){border-color:#c5c5d0;background:#fff}.zoom-prejoin__card input:focus,.zoom-prejoin__card select:focus{outline:none;border-color:#0e71eb;background:#fff;box-shadow:0 0 0 3px rgba(14,113,235,.18)}.zoom-prejoin__card input:disabled{opacity:.65;cursor:not-allowed}.zoom-prejoin__card .device-test{margin:0;padding:0;border:none;background:transparent;text-align:center}.device-test--zoom .device-test__zoom-link{background:none;border:none;color:#0e71eb;font-weight:600;font-size:.85rem;cursor:pointer;padding:.35rem}.device-test--zoom .device-test__zoom-link:hover{text-decoration:underline}.device-test--zoom .device-test__panel{margin-top:.75rem;padding:.85rem;border:1px solid #e0e0e5;border-radius:10px;background:#f7f7fa;text-align:left}.device-test--zoom .device-test__panel.is-collapsed{margin:0;padding:0;border:none;background:transparent}.device-test--zoom .device-test__preview-wrap.is-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);margin:-1px;padding:0;border:0}.device-test--zoom .device-test__meter-bar{background:#e5e7eb}.device-test--zoom .device-test__ok{color:#0e7a37}.device-test--zoom .device-test__warn{color:#b45309}.live-footer{display:none}.live-shell{background:#000;color:#fff}.live-badge{background:transparent;color:#e02828;border:none;font-weight:700;letter-spacing:.04em}.qna-panel{display:flex;flex-direction:column;border-left:1px solid var(--color-border);background:var(--color-surface);min-height:0;min-width:0;width:100%;height:100%;max-height:100%;overflow:hidden}.qna-backdrop,.qna-fab,.qna-panel__close{display:none}@media (max-width:820px){.qna-panel{position:fixed;left:0;right:0;bottom:0;z-index:1200;height:min(70dvh,520px);max-height:min(70dvh,520px);border-left:none;border-top:1px solid var(--color-border);border-radius:14px 14px 0 0;transform:translateY(110%);transition:transform .28s ease;box-shadow:0 -12px 40px rgba(0,0,0,.45);padding-bottom:0!important}.qna-panel.is-open{transform:translateY(0)}.qna-fab{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;position:fixed;right:1rem;bottom:calc(var(--toolbar-h, 72px) + .75rem);z-index:1150;min-height:48px;padding:0 1.1rem;border-radius:999px;background:var(--color-accent);color:#fff;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform var(--transition),background-color var(--transition)}.qna-fab:active{transform:scale(.97)}.qna-fab__badge{min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:#fff;color:var(--color-accent);font-size:.7rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.qna-backdrop{display:block;position:fixed;inset:0;z-index:1180;border:none;background:rgba(0,0,0,.45);cursor:pointer}.qna-panel__close{display:inline-flex;align-items:center;min-height:32px;padding:0 .55rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.75rem;font-weight:600}}.qna-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1rem;font-weight:600;border-bottom:1px solid var(--color-border)}.qna-panel__meta{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}.qna-panel__live{width:8px;height:8px;border-radius:50%;background:var(--color-text-secondary);opacity:.5}.qna-panel__live.is-on{background:var(--color-success);opacity:1}.qna-panel__body{flex:1 1;padding:.75rem 1rem;color:var(--color-text-secondary);font-size:.9rem;overflow:auto;display:flex;flex-direction:column}.qna-panel__empty{margin:auto;padding:2rem 1rem;text-align:center;color:var(--color-text-secondary-dark);max-width:16rem}.qna-panel__empty-icon{display:block;margin:0 auto .75rem;width:40px;height:40px;opacity:.45}.qna-panel__error{margin-bottom:.75rem;padding:.5rem .65rem;border-radius:var(--radius-sm);background:rgba(220,38,38,.12);color:var(--color-error);font-size:.8rem}.qna-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.qna-item{padding:.75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-dark);background:rgba(11,13,18,.45);color:var(--color-text-primary-dark);box-shadow:var(--shadow-card)}.qna-item--enter{animation:qna-slide-in var(--duration-standard) var(--ease-standard) both}@keyframes qna-slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.qna-item--dismissed{opacity:.5}.qna-item--open .qna-item__waiting{display:block;margin-top:.35rem;font-size:.75rem;color:var(--color-text-secondary-dark)}.qna-item__dismissed-tag{display:inline-block;margin-top:.35rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary-dark)}.qna-item__top{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.35rem;font-size:.75rem;color:var(--color-text-secondary)}.qna-item__message{margin:0;font-size:.9rem;line-height:1.4;word-break:break-word}.qna-item__reply{margin-top:.6rem;padding:.55rem .65rem;border-radius:var(--radius-sm);background:rgba(13,148,136,.12);border:1px solid rgba(13,148,136,.25)}.qna-item__reply-label{display:block;font-size:.7rem;font-weight:600;color:var(--color-primary);margin-bottom:.25rem}.qna-item__reply p{margin:0;font-size:.85rem;word-break:break-word}.qna-item__actions{margin-top:.65rem;display:flex;flex-direction:column;gap:.45rem}.qna-item__status{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}.qna-item__actions input{width:100%;min-height:36px;padding:.4rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.qna-item__btns{display:flex;flex-wrap:wrap;gap:.35rem}.qna-panel__footer{padding:.75rem;border-top:1px solid var(--color-border)}.qna-panel__compose{display:flex;gap:.5rem}.qna-panel__footer input{flex:1 1;width:100%;min-height:44px;padding:.6rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}.qna-panel__footer input:disabled{opacity:.6}.qna-panel--embedded{border:none;background:transparent;flex:1 1;min-height:0}.qna-panel__subheader{display:flex;align-items:center;justify-content:flex-end;padding:.45rem 1rem 0}.side-fabs{display:none}.teacher-side{min-height:0;min-width:0;width:100%;height:100%;max-height:100%;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box;background:#1a1a1a;border-left:1px solid #2f2f2f}.teacher-side.is-closed,.teacher-side[hidden]{display:none!important}.teacher-side--chat{background:#1a1a1a}.teacher-side__chrome{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:48px;padding:.4rem .55rem .4rem .65rem;border-bottom:1px solid #2f2f2f;background:#1f1f1f;flex-shrink:0}.teacher-side__chrome-right{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;margin-left:auto;position:relative;z-index:2}.teacher-side__tools{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-shrink:0;min-height:40px;padding:.35rem .75rem;border-bottom:1px solid #2a2a2a;background:#1c1c1c}.teacher-side__tools .chat-allow-toggle{flex-shrink:0}.chat-allow-toggle{display:inline-flex;align-items:center;gap:.4rem;max-width:100%}.chat-allow-toggle__text{font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#9a9a9a;white-space:nowrap}.chat-allow-toggle__switch{position:relative;width:40px;height:22px;border:0;border-radius:999px;background:#3a3a3a;cursor:pointer;padding:0;transition:background .18s ease;flex-shrink:0}.chat-allow-toggle__switch.is-on{background:#0e72ed}.chat-allow-toggle__switch:disabled{opacity:.45;cursor:not-allowed}.chat-allow-toggle__switch.is-pending{cursor:wait}.chat-allow-toggle.is-pending .chat-allow-toggle__text{color:#cfcfcf}.chat-allow-toggle__switch:focus-visible{outline:2px solid rgba(14,114,237,.55);outline-offset:2px}.chat-allow-toggle__knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:transform .18s ease;will-change:transform}.chat-allow-toggle__switch.is-on .chat-allow-toggle__knob{transform:translateX(18px)}.waiting-room-admit{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.waiting-room-admit__head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.waiting-room-admit__actions,.waiting-room-admit__bulk{display:inline-flex;gap:.35rem;flex-wrap:wrap}.waiting-room-admit__empty{margin:.5rem 0 0;opacity:.7;font-size:.9rem}.waiting-room-admit__list{list-style:none;padding:0;margin:.5rem 0 0}.waiting-room-admit__list li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem 0}.waiting-room-admit__reject{color:#f3b4b4}.teacher-side__close{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#cfcfcf;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.teacher-side__close:hover{background:rgba(255,255,255,.08);color:#fff}.teacher-side__tabs{gap:.2rem;padding:.15rem;border-radius:8px;background:#161616;flex:1 1 auto;max-width:calc(100% - 48px)}.teacher-side__tabs,.teacher-side__tabs button{display:inline-flex;align-items:center;min-width:0}.teacher-side__tabs button{justify-content:center;gap:.35rem;min-height:34px;flex:1 1;padding:0 .65rem;border-radius:6px;border:none;background:transparent;color:#a8a8a8;font-size:.84rem;font-weight:600;white-space:nowrap;overflow:hidden;transition:background-color .12s ease,color .12s ease}.teacher-side__tab-label{overflow:hidden;text-overflow:ellipsis}.teacher-side__tabs button:hover{color:#f0f0f0}.teacher-side__tabs button.is-active{background:#0e71eb;color:#fff}.teacher-side__pane{flex:1 1;min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column}.teacher-side__pane[hidden]{display:none!important}.participants-panel{display:flex;flex-direction:column;flex:1 1;min-height:0;min-width:0;background:#1a1a1a;color:#e8e8e8;overflow:hidden}.participants-panel__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-shrink:0;min-height:44px;padding:.55rem .85rem .25rem}.participants-panel__title{margin:0;font-size:.95rem;font-weight:700;color:#f3f3f3;letter-spacing:-.01em;white-space:nowrap}.participants-panel__foot{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-height:52px;padding:.45rem .85rem .65rem;border-top:1px solid #2f2f2f;background:#1a1a1a}.participants-panel__lower-all{flex:1 1 auto;max-width:100%;min-height:36px;padding:.4rem 1rem;border:0;border-radius:999px;background:#2c2c2c;color:#f3f3f3;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;text-align:center}.participants-panel__lower-all:hover:not(:disabled){background:#383838}.participants-panel__lower-all:disabled{opacity:.45;cursor:not-allowed}.participants-panel__toolbar{padding:.35rem .85rem .65rem;border-bottom:1px solid #2f2f2f;display:flex;flex-direction:column;gap:.45rem;flex-shrink:0}.participants-panel__count{margin:0;font-size:.85rem;font-weight:600;color:#e8e8e8;letter-spacing:-.01em}.participants-panel__search{position:relative;display:block;width:100%;min-width:0}.participants-panel__search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:15px;height:15px;opacity:.45;pointer-events:none;color:#cfcfcf}.participants-panel__search input{width:100%;min-height:36px;padding:.4rem .75rem .4rem 2.15rem;border-radius:8px;border:1px solid #333;background:#121212;color:#f0f0f0;font-size:.85rem;box-sizing:border-box}.participants-panel__search input::placeholder{color:#777}.participants-panel__search input:focus{outline:none;border-color:#0e71eb;box-shadow:0 0 0 2px rgba(14,113,235,.3)}.participants-panel__body{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:.25rem 0 .75rem}.participants-list{list-style:none;margin:0;padding:0}.participants-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-column-gap:.5rem;column-gap:.5rem;min-height:52px;padding:.45rem .75rem;box-sizing:border-box;transition:background-color .1s ease}.participants-row:hover{background:#242424}.participants-row__lead{display:flex;align-items:center;gap:.55rem;min-width:0}.participants-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.78rem;color:#fff;text-transform:uppercase}.participants-row__main{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1 1}.participants-row__title{display:flex;align-items:center;gap:.3rem;min-width:0;flex-wrap:nowrap;overflow:hidden}.participants-row__name{min-width:0;flex:1 1 auto;max-width:100%;color:#f5f5f5}.participants-row__main strong,.participants-row__name{font-size:.88rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.participants-row__roll{font-size:.72rem;color:#8d8d8d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.participants-row__trailing{display:grid;grid-template-columns:22px 20px 3.6rem 32px;align-items:center;justify-items:center;grid-column-gap:.2rem;column-gap:.2rem;flex-shrink:0;width:max-content}.participants-row__joined{grid-column:3;justify-self:end;width:100%;font-size:.72rem;color:#8d8d8d;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;overflow:hidden}.participants-row__slot{display:inline-flex;align-items:center;justify-content:center;width:100%;height:22px;line-height:1;visibility:hidden}.participants-row__slot.is-on{visibility:visible}.participants-row__hand{font-size:.95rem}.participants-row__muted{font-size:.8rem}.participants-panel__raised,.participants-panel__raised-head{display:none}.participants-panel__hand-badge{font-weight:700;color:#f5a524}.participants-row--hand{background:rgba(245,165,36,.06);border-left:2px solid #f5a524;padding-left:calc(.75rem - 2px)}.participants-row--hand:hover{background:rgba(245,165,36,.1)}@keyframes hand-pulse{0%,to{opacity:1}50%{opacity:.65}}.badge-host{letter-spacing:.03em;background:rgba(234,179,8,.22);color:#eab308}.badge-host,.badge-talking{flex-shrink:0;font-size:.62rem;font-weight:700;padding:.08rem .35rem;border-radius:4px;white-space:nowrap}.badge-talking{letter-spacing:.02em;background:rgba(34,197,94,.18);color:#4ade80}.participants-section{margin-top:.35rem}.participants-section__title{font-size:.68rem;font-weight:700;opacity:.65;text-transform:uppercase;letter-spacing:.05em;margin:.55rem .85rem .25rem;color:#b0b0b0}.participants-row__menu-wrap{position:relative;flex-shrink:0;width:32px;height:32px}.participants-row__menu-btn{width:32px;height:32px;min-width:32px;min-height:32px;border:none;border-radius:8px;background:transparent;color:#b5b5b5;cursor:pointer;font-size:1.15rem;line-height:1;opacity:1;display:inline-flex;align-items:center;justify-content:center;transition:background-color .1s ease,color .1s ease}.participants-row:hover .participants-row__menu-btn,.participants-row__menu-btn:focus-visible,.participants-row__menu-btn[aria-expanded=true],.participants-row__menu-wrap:focus-within .participants-row__menu-btn{opacity:1;background:#333;color:#fff}.participants-row__menu-btn:hover{background:#3a3a3a;color:#fff}.participants-row__menu-btn:disabled{opacity:.4;cursor:not-allowed}.participants-menu{position:absolute;right:0;top:100%;z-index:40;min-width:12rem;padding:.35rem 0;border-radius:10px;border:1px solid #3a3a3a;background:#252525;box-shadow:0 12px 40px rgba(0,0,0,.45);box-sizing:border-box}.participants-menu--portal{position:fixed;right:auto;top:auto;min-width:14rem;width:max-content;max-width:min(280px,calc(100vw - 16px));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box}.participants-menu button{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;text-align:left;padding:.5rem .9rem;border:none;background:transparent;color:var(--color-text-primary);font-size:.85rem;cursor:pointer;box-sizing:border-box}.participants-menu__hint{font-size:.7rem;font-weight:500;color:#9a9a9a}.participants-menu button:hover{background:#1c212b}.participants-menu__danger{color:#dc2626!important}.participants-menu__media{flex-direction:row!important;align-items:center!important;justify-content:space-between;gap:.85rem!important;padding-right:.85rem!important}.participants-menu__media>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participants-menu__media.is-allowed{color:#86efac}.participants-menu__tick{border-radius:50%;background:#22c55e;color:#052e16;font-size:.7rem;font-weight:800;line-height:1.15rem;text-align:center}.participants-menu__tick,.participants-menu__tick-spacer{flex-shrink:0;width:1.15rem;height:1.15rem}.modal-backdrop{position:fixed;inset:0;z-index:10500;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:1rem}.modal-backdrop--enter{animation:modal-fade var(--duration-standard) var(--ease-standard)}.modal-card{width:min(100%,22rem);padding:1.25rem;border-radius:var(--radius-md);border:1px solid var(--color-border-dark);background:var(--color-surface-dark)}.modal-card--enter{animation:modal-scale var(--duration-standard) var(--ease-standard)}.modal-card h2{margin:0 0 .5rem;font-size:1.05rem}.modal-card p{margin:0 0 .75rem;color:var(--color-text-secondary);font-size:.9rem}.modal-card__check{display:flex;align-items:center;gap:.5rem;font-size:.875rem;margin-bottom:1rem}.modal-card__actions{display:flex;justify-content:flex-end;gap:.5rem}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-scale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.hand-raise-btn{width:100%;margin-top:.5rem;justify-content:center;transition:transform .15s ease}.hand-raise-btn:active{transform:scale(1.03)}.hand-raise-btn--active{background:rgba(217,119,6,.2);border-color:#d97706;color:#fbbf24;animation:hand-pulse 2s ease-in-out infinite}.live-topbar__hand-badge{border:none;cursor:pointer;font:inherit;font-weight:700;color:#d97706;background:rgba(217,119,6,.15);padding:.2rem .55rem;border-radius:999px;animation:hand-pulse 2s ease-in-out infinite}.teacher-side__tab-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:1.15rem;height:1.15rem;padding:0 .3rem;border-radius:999px;background:rgba(0,0,0,.28);color:#ffd28a;font-size:.68rem;font-weight:700;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teacher-side__tabs button.is-active .teacher-side__tab-badge{background:rgba(255,255,255,.22);color:#fff}.student-publish-bar{display:flex;gap:.5rem;justify-content:center;padding:.65rem;border-top:1px solid var(--color-border);background:rgba(0,0,0,.35)}.toast-host{position:fixed;top:1rem;right:1rem;z-index:11000;display:flex;flex-direction:column;gap:.5rem;max-width:min(22rem,calc(100vw - 2rem));pointer-events:none}.toast{pointer-events:auto;padding:.65rem 1rem;border-radius:var(--radius-sm);background:var(--color-surface-elevated,#151922);border:1px solid var(--color-border);box-shadow:0 8px 24px rgba(0,0,0,.35);font-size:.875rem}.toast--error{border-color:rgba(220,38,38,.45);color:#fecaca}.toast--enter{animation:toast-in .22s ease}@keyframes toast-in{0%{opacity:0;transform:translateX(1rem)}to{opacity:1;transform:translateX(0)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:820px){.side-fabs{display:flex;flex-direction:column;gap:.55rem;position:fixed;right:1rem;bottom:calc(var(--toolbar-h, 72px) + .75rem);z-index:1150}.side-fabs .qna-fab{position:static}.side-fabs__people{background:var(--color-primary)}}.live-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.live-footer__left{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;min-width:0}.join-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(ellipse 70% 50% at 50% 0,rgba(14,113,235,.25),transparent),var(--color-bg)}.join-card{width:100%;max-width:400px;padding:2rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.join-card__test-badge{display:inline-flex;margin:0 0 .75rem;padding:.25rem .65rem;border-radius:var(--radius-pill);background:rgba(245,166,35,.18);color:#b45309;font-size:.72rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.join-card h1{margin:0 0 .35rem;font-size:1.35rem}.join-card p{margin:0 0 1.5rem;color:var(--color-text-secondary);font-size:.95rem}.join-card label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.4rem}.join-card input{width:100%;min-height:44px;margin-bottom:1.25rem;padding:.6rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}.join-card .btn{width:100%}.error-banner{margin-bottom:1rem;padding:.75rem .9rem;border-radius:var(--radius-sm);background:rgba(220,38,38,.15);border:1px solid rgba(220,38,38,.4);color:#fecaca;font-size:.9rem}.skeleton{width:70%;max-width:480px;aspect-ratio:16/9;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-surface) 0,#1e2430 50%,var(--color-surface) 100%);background-size:200% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.mono{font-family:var(--font-mono);font-size:13px}.admin-card--login{box-shadow:0 18px 50px rgba(14,113,235,.08)}.admin-card__footer{margin-top:1rem;margin-bottom:0}.admin-nav a.is-active{color:var(--color-primary);font-weight:600}.admin-skeleton-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.admin-skeleton-row{height:84px;border-radius:var(--radius-md);background:linear-gradient(90deg,#eef0f4,#e5e7eb 50%,#eef0f4);background-size:200% 100%;animation:shimmer 1.4s ease infinite;border:1px solid var(--color-border-light)}.admin-shell{min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse 70% 50% at 10% 0,rgba(14,113,235,.08),transparent),var(--color-bg-light);color:var(--color-text-light);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem}.admin-shell--wide{align-items:stretch;justify-content:flex-start;padding:0}.admin-card,.admin-form{width:100%;max-width:420px;padding:2rem;background:var(--color-surface-light);border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.admin-form{max-width:560px;margin-top:1rem}.admin-brand{font-weight:700;color:var(--color-primary);margin:0;font-size:1.15rem;text-decoration:none}.admin-muted{color:var(--color-text-secondary-light);font-size:.9rem}.admin-watch{min-height:100dvh;background:#0b0b0b;color:#fff}.admin-watch__lk{display:flex;flex-direction:column;min-height:100dvh;height:100dvh}.admin-watch__bar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#141414;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.admin-watch__bar h1{margin:.15rem 0;font-size:1.1rem}.admin-watch__layout{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto}.admin-watch__stage{min-height:0;min-width:0}.admin-watch__empty{display:flex;align-items:center;justify-content:center;min-height:40vh;color:rgba(255,255,255,.65)}.admin-card h1,.admin-content>h1{margin:.35rem 0 .25rem;font-size:1.5rem}.admin-card label,.admin-form label{display:block;font-size:.875rem;font-weight:500;margin:.85rem 0 .35rem}.admin-card input,.admin-form input,.admin-form textarea{width:100%;min-height:44px;padding:.6rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-light);background:#fff;color:var(--color-text-light);font:inherit}.admin-form textarea{min-height:96px;resize:vertical}.admin-card .btn,.admin-form .btn{margin-top:1.25rem;width:100%}.admin-form__actions{display:flex;gap:.75rem;margin-top:.5rem}.admin-form__actions .btn{width:auto;flex:1 1}.admin-nav{display:flex;align-items:center;gap:1.5rem;padding:.9rem 1.5rem;background:#fff;border-bottom:1px solid var(--color-border-light)}.admin-nav nav{display:flex;gap:1rem;flex:1 1}.admin-nav a{color:var(--color-text-secondary-light);font-weight:500}.admin-nav a:hover{color:var(--color-primary)}.admin-nav__right{display:flex;align-items:center;gap:.75rem}.admin-content{width:100%;max-width:960px;margin:0 auto;padding:1.75rem 1.5rem 3rem}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.admin-toolbar h1{margin:0;font-size:1.6rem}.admin-section-title{margin:2rem 0 1rem;font-size:.8rem;color:var(--color-text-secondary-light);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.admin-list{display:flex;flex-direction:column;gap:1rem}.admin-row,.dashboard-class-card{display:flex;align-items:stretch;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;background:var(--color-surface-light);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:border-color var(--duration-standard) var(--ease-standard),box-shadow var(--duration-standard) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.dashboard-class-card:hover{box-shadow:var(--shadow-elevated)}.dashboard-class-card__main{flex:1 1;min-width:0}.dashboard-class-card__status{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.5rem}.dashboard-class-card h3{margin:0 0 .35rem;font-size:1.1rem;font-weight:600;color:var(--color-text-primary-light)}.dashboard-class-card__meta{margin:0;font-size:.9rem;color:var(--color-text-secondary-light)}.dashboard-class-card__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;flex-shrink:0}.dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1.5rem;border:2px dashed var(--color-border-light);border-radius:var(--radius-md);background:rgba(255,255,255,.6);text-align:center;color:var(--color-text-secondary-light)}.dashboard-empty__icon{width:44px;height:44px;margin-bottom:.75rem;opacity:.5;color:var(--color-primary)}.btn--schedule-cta{border-radius:var(--radius-pill);box-shadow:var(--shadow-elevated);padding-left:1.15rem;padding-right:1.25rem;gap:.35rem}.admin-row h3{margin:0 0 .25rem;font-size:1.05rem}.admin-row p{margin:0}.admin-row__actions{display:flex;gap:.5rem;flex-shrink:0}.btn--ghost-light{background:transparent;border:1px solid var(--color-border-light);color:var(--color-text-light);min-height:44px;padding:.5rem 1rem;border-radius:var(--radius-sm);font-weight:600;display:inline-flex;align-items:center;justify-content:center}.btn--ghost-light:hover{background:var(--color-bg-light)}.status-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border-radius:var(--radius-pill);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.status-pill--live{background:var(--color-error);color:#fff;box-shadow:0 1px 3px rgba(220,38,38,.3)}.status-pill--live .live-badge__dot{width:6px;height:6px;background:#fff;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.25),0 0 8px 3px rgba(220,38,38,.55);animation:pulse-live 1.6s ease infinite}.status-pill--scheduled{background:#e5e7eb;color:#374151}.status-pill--ended{background:#f3f4f6;color:#6b7280}.error-banner--light{background:#fef2f2;border-color:#fecaca;color:#991b1b}.device-test{margin:1.25rem 0;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(0,0,0,.15)}.device-test__heading{margin:0 0 .35rem;font-size:1rem}.device-test__hint{margin:0 0 .75rem;font-size:.875rem;color:var(--color-text-secondary)}.device-test__preview-wrap{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:.75rem}.device-test__preview{width:100%;height:100%;object-fit:cover}.device-test__preview-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:var(--color-text-secondary);font-size:.875rem}.device-test__meter{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.8rem}.device-test__meter-bar{flex:1 1;height:8px;background:rgba(255,255,255,.12);border-radius:4px;overflow:hidden}.device-test__meter-fill{height:100%;background:var(--color-success);transition:width 80ms linear}.device-test__selects{display:grid;grid-gap:.35rem;gap:.35rem;margin-bottom:.75rem}.device-test__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.device-test__ok{color:var(--color-success);font-size:.875rem;margin:.5rem 0 0}.device-test__warn{color:var(--color-warning);font-size:.875rem;margin:.5rem 0 0}.device-test__tips{margin-top:.75rem;font-size:.85rem;color:var(--color-text-secondary)}.network-quality{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--color-text-secondary-dark);transition:color var(--duration-standard) var(--ease-standard)}.network-quality__label-text{font-weight:500;min-width:2.5rem;transition:opacity var(--duration-standard) var(--ease-standard)}.network-quality__bars{display:inline-flex;gap:3px;align-items:flex-end}.network-quality__bar{width:5px;height:6px;border-radius:1px;background:rgba(255,255,255,.2);transition:background-color var(--duration-standard) var(--ease-standard),height var(--duration-standard) var(--ease-standard)}.network-quality__bar.is-on{background:currentColor}.network-quality--good{color:var(--color-success)}.network-quality--fair{color:var(--color-warning)}.network-quality--poor{color:var(--color-error)}.network-quality__bar:nth-child(2){height:9px}.network-quality__bar:nth-child(3){height:12px}.rec-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.7rem;font-weight:700;letter-spacing:.06em;color:#fff;background:#dc2626;padding:.15rem .45rem;border-radius:4px}.rec-badge__timer{letter-spacing:.04em;font-weight:600;opacity:.95}.recording-banner{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.4rem .75rem;background:#1a1a1a;color:#f5f5f5;font-size:.8125rem;font-weight:500;letter-spacing:.01em;border-bottom:1px solid rgba(255,255,255,.08);z-index:40}.recording-banner__dot{width:.5rem;height:.5rem;border-radius:50%;background:#e11d48;flex-shrink:0;animation:recording-banner-pulse 1.4s ease-in-out infinite}.recording-banner__text{line-height:1.3}@keyframes recording-banner-pulse{0%,to{opacity:1}50%{opacity:.35}}.recording-controls__phase{display:inline-block;margin-right:.35rem;font-size:.7rem;color:rgba(255,255,255,.75);max-width:9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recording-controls__phase.is-ok{color:#86efac}.recording-controls__phase.is-failed{color:#fca5a5}.control-dock__btn--recording.is-on .zoom-tb__icon{color:#fecaca}.mt-popover__hint{margin:0 0 .5rem;padding:0 .65rem;font-size:.75rem;line-height:1.35;color:rgba(255,255,255,.65);max-width:14rem}.floating-reactions{pointer-events:none;position:absolute;inset:0;overflow:hidden;z-index:3}.floating-reactions__item{position:absolute;bottom:5rem;font-size:1.75rem;animation:reaction-float var(--reaction-duration,2s) var(--ease-standard) forwards;will-change:transform,opacity}@keyframes reaction-float{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(calc(-1 * var(--reaction-rise, 160px))) scale(1.2);opacity:0}}.recording-controls{display:contents}.recording-controls--legacy{display:inline-flex;align-items:center;gap:.5rem}.recording-controls__error{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);font-size:.65rem;color:var(--color-warning);white-space:nowrap;max-width:14rem;text-align:center;pointer-events:none}.attendance-toolbar{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0;align-items:center}.attendance-toolbar input[type=search]{flex:1 1;min-width:200px;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.attendance-table-wrap{overflow-x:auto}.attendance-table{width:100%;border-collapse:collapse;font-size:.9rem}.attendance-table td,.attendance-table th{text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--color-border)}.class-recordings{margin-top:1.25rem}.class-recordings__video{width:100%;margin-top:.75rem;border-radius:var(--radius-sm);background:#000}@media (max-width:720px){.admin-row,.admin-toolbar{flex-direction:column;align-items:flex-start}.admin-nav{flex-wrap:wrap}}.dash-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh;min-height:100dvh;background:var(--color-bg-light);color:var(--color-text-primary-light);isolation:isolate}.app-sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;display:flex;flex-direction:column;background:#fafbfc;border-right:1px solid var(--color-border-light);padding:1.25rem .75rem;z-index:20;overflow:hidden}.app-sidebar__brand{display:block;padding:.5rem .85rem 1rem;margin:0 0 .75rem;font-weight:700;font-size:1.15rem;color:var(--color-primary);text-decoration:none;border-bottom:1px solid var(--color-border-light)}.app-sidebar__nav{display:flex;flex-direction:column;gap:.25rem;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto}.app-sidebar__item{display:flex;align-items:center;gap:.7rem;min-height:44px;padding:0 .85rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-text-secondary-light);font-size:.875rem;font-weight:500;text-decoration:none;border-left:4px solid transparent;transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.app-sidebar__item:hover{background:rgba(17,24,39,.04);color:var(--color-text-primary-light);transform:scale(1.02)}.app-sidebar__item.is-active{color:#fff;background:var(--color-primary);border-left-color:transparent;border-radius:var(--radius-sm);box-shadow:none;font-weight:600}.app-sidebar__item.is-active:hover{background:var(--color-primary-hover);color:#fff}.app-sidebar{background:var(--color-sidebar)}.app-sidebar__footer{margin-top:auto;flex-shrink:0;padding-top:1rem;border-top:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:.35rem}.app-sidebar__user{display:flex;align-items:center;gap:.65rem;padding:.5rem .65rem}.app-sidebar__avatar{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;font-weight:700;flex-shrink:0}.app-sidebar__user-text{display:flex;flex-direction:column;min-width:0}.app-sidebar__user-text strong{font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar__user-text span{font-size:.75rem;color:var(--color-text-secondary-light)}.app-sidebar__logout{display:flex;align-items:center;gap:.65rem;min-height:40px;padding:0 .85rem;border:none;background:transparent;color:var(--color-text-secondary-light);font-size:.875rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard)}.app-sidebar__logout:hover{background:rgba(220,38,38,.06);color:var(--color-error)}.dash-layout__main{min-width:0;padding:1.75rem 2rem 2.5rem}.dash-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem}.dash-page-header h1{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.dash-page-header__sub{margin:.5rem 0 0;color:var(--color-text-secondary-light);font-size:.95rem}.dash-page-body .admin-section-title{margin-top:2rem;margin-bottom:1rem}.dash-page-body .admin-section-title:first-child{margin-top:0}.class-card-list{display:flex;flex-direction:column;gap:.85rem}.class-card{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;padding:1.15rem 1.25rem;background:var(--color-surface-light);border:1px solid rgba(16,24,40,.06);border-radius:var(--radius-md);box-shadow:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);transition:all .2s ease}.class-card:hover{box-shadow:0 4px 12px rgba(16,24,40,.08),0 2px 4px rgba(16,24,40,.04);transform:translateY(-2px)}.class-card .btn--ghost-light:hover{background:rgba(14,113,235,.06);border-color:rgba(14,113,235,.22)}.class-card__title{margin:.45rem 0 .25rem;font-size:1.125rem;font-weight:600}.class-card__meta{margin:0;font-size:.875rem;color:var(--color-text-secondary-light)}.class-card__actions{display:flex;align-items:center;gap:.55rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.class-card__tag{display:inline-flex;align-items:center;min-height:32px;padding:0 .75rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600}.class-card__tag.is-muted{background:#f3f4f6;color:var(--color-text-secondary-light);pointer-events:none}.empty-state{display:flex;flex-direction:column;gap:.75rem;padding:2.5rem 1.5rem;text-align:center;border:2px dashed var(--color-border-light);border-radius:var(--radius-md);background:rgba(255,255,255,.6)}.empty-state,.empty-state__icon-wrap{align-items:center;justify-content:center}.empty-state__icon-wrap{position:relative;display:inline-flex;width:64px;height:64px;animation:empty-float 3s ease-in-out infinite}.empty-state__icon-wrap:before{content:"";position:absolute;inset:4px;border-radius:50%;background:radial-gradient(circle,rgba(14,113,235,.1) 0,rgba(14,113,235,.04) 45%,transparent 70%);filter:blur(6px);pointer-events:none}.empty-state__icon{position:relative;z-index:1;width:40px;height:40px;color:var(--color-text-secondary-light)}@keyframes empty-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.empty-state__icon-wrap{animation:none}}.empty-state__message{margin:0;color:var(--color-text-secondary-light);max-width:28rem}.btn--outline-primary{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary);transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.btn--outline-primary:hover{background:rgba(14,113,235,.06)}.btn--outline-primary:active:not(:disabled){transform:scale(.98)}.btn--pill{border-radius:var(--radius-pill)}.btn--elevated{box-shadow:var(--shadow-elevated)}@media (max-width:768px){.dash-layout{grid-template-columns:64px 1fr}.app-sidebar{padding:.75rem .4rem}.app-sidebar__brand{font-size:0;padding:.5rem;text-align:center}.app-sidebar__brand:first-letter{font-size:1.1rem}.app-sidebar__label,.app-sidebar__user-text{display:none}.app-sidebar__item,.app-sidebar__logout{justify-content:center;padding:0;border-radius:var(--radius-sm)}.app-sidebar__item.is-active{border-left-width:0;box-shadow:inset 0 0 0 2px var(--color-primary)}.app-sidebar__user{justify-content:center}.dash-layout__main{padding:1.25rem 1rem 2rem}.class-card,.dash-page-header{flex-direction:column}.class-card{align-items:stretch}.class-card__actions{justify-content:flex-start}}.infra-banner{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;padding:.75rem 1rem;margin-bottom:1rem;background:#f3f4f6;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:.875rem}.infra-metrics-note{margin:0 0 1.25rem;font-size:.85rem}.infra-stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1.5rem}.infra-stat{padding:1rem 1.1rem;background:var(--color-surface-light);border:1px solid rgba(16,24,40,.06);border-radius:var(--radius-md);box-shadow:0 1px 2px rgba(16,24,40,.04);display:flex;flex-direction:column;gap:.35rem;text-decoration:none;color:inherit}.infra-stat span{font-size:.8rem;color:var(--color-text-secondary-light)}.infra-stat strong{font-size:1.5rem;letter-spacing:-.02em}.infra-stat--link:hover{box-shadow:0 4px 12px rgba(16,24,40,.08)}.infra-server-card{padding:1.15rem 1.25rem;margin-bottom:.85rem;background:var(--color-surface-light);border:1px solid rgba(16,24,40,.06);border-radius:var(--radius-md);box-shadow:0 1px 2px rgba(16,24,40,.04)}.infra-server-card header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.infra-server-card h2,.infra-server-card h3{margin:0;font-size:1.05rem}.infra-server-card__meta{margin:.45rem 0 0;font-size:.875rem;color:var(--color-text-secondary-light)}.infra-server-card__students{margin:.35rem 0 0;font-weight:600}.infra-edge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:.85rem;gap:.85rem}.infra-dot{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;text-transform:capitalize}.infra-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:#9ca3af}.infra-dot--healthy:before{background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.2)}.infra-dot--amber:before{background:#d97706}.infra-dot--red:before{background:#dc2626}.infra-relay-list{margin:.5rem 0 0;padding-left:1.1rem;font-size:.85rem;color:var(--color-text-secondary-light)}.infra-menu{position:relative}.infra-menu__dropdown{position:absolute;right:0;top:100%;z-index:5;min-width:160px;padding:.35rem;background:#fff;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);box-shadow:var(--shadow-elevated);display:flex;flex-direction:column}.infra-menu__dropdown button{border:none;background:transparent;text-align:left;padding:.5rem .65rem;border-radius:6px;cursor:pointer;font-size:.85rem}.infra-menu__dropdown button:hover{background:rgba(14,113,235,.06)}.infra-menu__dropdown button.is-danger{color:var(--color-error)}.infra-drawer{margin-top:1.25rem;padding:1.25rem;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:#fafbfc}.infra-sparkline{display:flex;align-items:flex-end;gap:2px;height:72px;margin:.75rem 0 1rem}.infra-sparkline span{flex:1 1;min-width:3px;background:var(--color-primary);border-radius:2px 2px 0 0;opacity:.85}.infra-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.infra-bars__label{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.25rem}.infra-bars__track{height:10px;background:#e5e7eb;border-radius:var(--radius-pill);overflow:hidden}.infra-bars__fill{height:100%;background:var(--color-primary);border-radius:var(--radius-pill)}.infra-bars__fill.is-warn{background:linear-gradient(90deg,#f59e0b,#d97706)}.infra-warn{margin:.65rem 0 0;color:#92400e;font-size:.875rem}.infra-settings-form{max-width:32rem;display:flex;flex-direction:column;gap:.85rem;padding:1.25rem;background:var(--color-surface-light);border:1px solid rgba(16,24,40,.06);border-radius:var(--radius-md)}.infra-form-row{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:500}.infra-form-row input{min-height:40px;padding:.45rem .7rem;border:1px solid var(--color-border-light);border-radius:var(--radius-sm)}.infra-log-feed{display:flex;flex-direction:column;gap:.65rem}.infra-log{padding:.85rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-light);background:#fff}.infra-log time{font-size:.75rem;color:var(--color-text-secondary-light)}.infra-log__sev{display:inline-block;margin-left:.5rem;font-size:.7rem;font-weight:700;text-transform:uppercase}.infra-log p{margin:.35rem 0 0}.infra-log--warning{border-color:#fde68a;background:#fffbeb}.infra-log--error{border-color:#fecaca;background:#fef2f2}.infra-live-list{display:flex;flex-direction:column;gap:1rem}@media (max-width:900px){.infra-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.mt-split{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-end;flex:0 0 auto;min-width:58px;padding:4px 16px 2px 10px;border-radius:8px;color:#f3f3f3}.mt-split--end{padding-inline:10px}.mt-split:hover{background:rgba(255,255,255,.08)}.mt-split--selected,.mt-split.is-menu-open{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.mt-split__top{position:relative;min-height:28px;min-width:28px}.mt-split__primary,.mt-split__top{display:inline-flex;align-items:center;justify-content:center}.mt-split__primary{border:none;background:transparent;color:inherit;padding:0;cursor:pointer}.mt-split__primary:disabled{opacity:.45;cursor:not-allowed}.mt-split__icon{position:relative;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.mt-split__icon svg{width:var(--tb-icon,24px);height:var(--tb-icon,24px)}.mt-split__label{margin-top:4px;font-size:var(--tb-label,11px);font-weight:400;letter-spacing:.01em;line-height:1.15;color:#e8e8e8;white-space:nowrap;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.mt-caret{position:absolute;left:calc(100% + 1px);top:50%;transform:translateY(-50%);width:16px;height:20px;border:none;border-radius:4px;background:transparent;color:#cfcfcf;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.mt-caret.is-open,.mt-caret:hover:not(:disabled){background:rgba(255,255,255,.12);color:#fff}.mt-caret:disabled{opacity:.4;cursor:not-allowed}.mt-split--share .mt-split__icon{width:34px;height:28px;border-radius:8px;background:#0eac5c;color:#fff}.mt-split--share .mt-split__icon svg{width:18px;height:18px}.mt-split--share.is-on .mt-split__icon{background:#0c954f;box-shadow:0 0 0 2px rgba(14,172,92,.35)}.mt-share-wrap{position:relative;display:inline-flex;flex-direction:row;align-items:center;gap:0}.mt-share-wrap.is-sharing{gap:6px}.mt-share-wrap.is-sharing .mt-split{padding-right:6px}.mt-share-chip{display:inline-flex;align-items:stretch;height:32px;flex:0 0 auto;border-radius:6px;overflow:hidden;background:#232323;box-shadow:0 0 0 1px rgba(255,255,255,.06);animation:mt-share-chip-in .2s cubic-bezier(.22,1,.36,1)}@keyframes mt-share-chip-in{0%{opacity:0;transform:translateX(-6px) scale(.96)}to{opacity:1;transform:translateX(0) scale(1)}}.mt-share-chip:before{content:"";width:3px;flex:0 0 3px;align-self:stretch;background:#0c954f}.mt-share-chip__pause,.mt-share-chip__stop{position:relative;border:none;cursor:pointer;color:#fff;transition:background .14s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mt-share-chip__pause{display:inline-flex;align-items:center;justify-content:center;width:36px;height:32px;padding:0;background:#2a2a2a;flex:0 0 auto}.mt-share-chip__pause:hover:not(:disabled){background:#3a3a3a}.mt-share-chip__pause.is-paused{background:#0e71eb}.mt-share-chip__stop{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:32px;padding:0 12px;background:#e02828;font-size:12.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap;flex:0 0 auto}.mt-share-chip__stop:hover:not(:disabled){background:#c61f1f}.mt-share-chip__pause:disabled,.mt-share-chip__stop:disabled{opacity:.5;cursor:not-allowed}.mt-share-chip__stop-short{display:none}.mt-share-chip__pause[data-tip]:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(3px);padding:4px 8px;border-radius:5px;background:#2a2a2a;color:#fff;font-size:11px;font-weight:500;line-height:1.2;white-space:nowrap;box-shadow:0 6px 14px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease;z-index:5}@media (hover:hover) and (pointer:fine){.mt-share-chip__pause[data-tip]:hover:after{opacity:1;transform:translateX(-50%) translateY(0)}}.mt-share-chip__pause:disabled:after{display:none}@media (max-width:720px){.mt-share-chip{height:30px}.mt-share-chip__pause{width:32px;height:30px}.mt-share-chip__stop{height:30px;padding:0 10px;font-size:12px;gap:5px}.mt-share-chip__stop-label{display:none}.mt-share-chip__stop-short{display:inline}}@media (prefers-reduced-motion:reduce){.mt-share-chip{animation:none}}.video-stage__share-paused{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);color:#fff;font-size:.95rem;font-weight:650;letter-spacing:.02em;pointer-events:none;z-index:2}.meeting-auto-pip-source{position:fixed;width:2px;height:2px;opacity:.01;pointer-events:none;left:0;bottom:0;z-index:-1;object-fit:contain}.video-stage__presenter-self{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;padding:1.5rem;text-align:center;background:radial-gradient(ellipse 70% 55% at 50% 42%,rgba(14,113,235,.18),transparent 70%),#101820;color:#e8eef6}.video-stage__presenter-self-icon{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:14px;background:rgba(14,113,235,.2);color:#5eb0ff;margin-bottom:.35rem}.video-stage__presenter-self-title{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:#fff}.video-stage__presenter-self-sub{margin:0;max-width:28rem;font-size:.88rem;line-height:1.45;color:#a8b4c4}.mt-split--end .mt-split__icon{width:30px;height:30px;color:#e02828;background:transparent}.mt-split--end .mt-split__icon svg{width:28px;height:28px}.mt-split--end:hover{background:transparent}.mt-split--record .control-dock__btn,.mt-split--record .zoom-tb{min-width:52px}.zoom-toolbar__sr-host{position:absolute;right:.25rem;bottom:.35rem;width:48px;height:48px;opacity:0;pointer-events:none;overflow:visible}.mt-more-record{padding:.35rem .75rem .65rem;border-top:1px solid #2e2e2e;display:flex;justify-content:center}.mt-badge{position:absolute;top:-5px;right:-8px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:#fff;color:#111;font-size:10px;font-weight:700;line-height:15px;text-align:center;box-shadow:0 0 0 1px #0c0c0c;pointer-events:none;z-index:1}.zoom-tb,.zoom-tb__icon{overflow:visible}.zoom-tb__icon{position:relative}.mt-popover{min-width:260px;max-width:min(360px,92vw);max-height:min(70vh,480px);overflow:auto;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:12px;box-shadow:0 16px 48px rgba(0,0,0,.55);padding:.35rem 0;pointer-events:auto}.mt-popover--grid{min-width:280px;max-width:min(340px,94vw);padding:.5rem .35rem .35rem}.mt-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.15rem .25rem;gap:.15rem .25rem;padding:.25rem .35rem .5rem}.mt-more-grid__item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.4rem;min-height:72px;padding:.55rem .35rem .45rem;border:none;border-radius:10px;background:transparent;color:#f2f2f2;cursor:pointer}.mt-more-grid__item:hover:not(:disabled){background:rgba(255,255,255,.08)}.mt-more-grid__item:disabled{opacity:.45;cursor:not-allowed}.mt-more-grid__icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:#fff}.mt-more-grid__icon svg{width:24px;height:24px}.mt-more-grid__item.is-share .mt-more-grid__icon{width:34px;height:28px;border-radius:8px;background:#0eac5c;color:#fff}.mt-more-grid__item.is-share .mt-more-grid__icon svg{width:18px;height:18px}.mt-more-grid__label{font-size:11px;line-height:1.2;text-align:center;color:#e8e8e8;max-width:5.8rem}.mt-more-sep{height:1px;margin:.15rem .65rem .35rem;background:#3a3a3a}.mt-more-reset{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.25rem .35rem .15rem;padding:.55rem .65rem .45rem;border-top:1px solid #3a3a3a;color:#e8e8e8;font-size:.8rem}.mt-more-reset__btn{border:none;background:transparent;color:#4da3ff;font-size:.8rem;font-weight:600;cursor:pointer;padding:.15rem .25rem}.mt-more-reset__btn:hover{text-decoration:underline}.mt-popover__section{padding:.25rem 0;border-bottom:1px solid #2e2e2e}.mt-popover__section:last-child{border-bottom:none}.mt-popover__title{padding:.45rem .9rem .25rem;font-size:.72rem;font-weight:600;color:#bbb;text-transform:none}.mt-popover__item{width:100%;display:flex;align-items:flex-start;gap:.5rem;border:none;background:transparent;color:#f2f2f2;text-align:left;padding:.55rem .9rem;font-size:.88rem;cursor:pointer}.mt-popover__item:hover:not(:disabled){background:#2d2d2d}.mt-popover__item:disabled{opacity:.5;cursor:default}.mt-popover__item.is-danger{color:#ff6b6b}.mt-popover__check{width:1rem;flex:0 0 1rem;color:#fff;font-size:.85rem;line-height:1.2}.mt-emoji-row{display:flex;gap:.35rem;padding:.4rem .75rem .6rem;flex-wrap:wrap}.mt-emoji-btn{border:none;background:#2a2a2a;border-radius:8px;font-size:1.35rem;width:2.4rem;height:2.4rem;cursor:pointer}.mt-emoji-btn:hover{background:#3a3a3a}.mt-settings{width:min(720px,94vw);max-height:min(80vh,560px);background:#1a1a1a;color:#f5f5f5;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.mt-settings__header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid #333}.mt-settings__header h2{margin:0;font-size:1.05rem}.mt-settings__close{border:none;background:transparent;color:#ccc;font-size:1.4rem;cursor:pointer;line-height:1}.mt-settings__body{display:grid;grid-template-columns:160px 1fr;min-height:320px}.mt-settings__nav{border-right:1px solid #333;padding:.5rem;display:flex;flex-direction:column;gap:.2rem}.mt-settings__nav button{border:none;background:transparent;color:#ddd;text-align:left;padding:.55rem .65rem;border-radius:8px;cursor:pointer}.mt-settings__nav button.is-active,.mt-settings__nav button:hover{background:#2d2d2d;color:#fff}.mt-settings__content{padding:1rem 1.1rem;overflow:auto}.mt-settings__content h3{margin:0 0 .65rem;font-size:.95rem}.mt-settings__content select{width:100%;margin-bottom:.85rem;padding:.45rem .55rem;border-radius:8px;border:1px solid #444;background:#111;color:#fff}.mt-settings__check{display:flex;align-items:center;gap:.5rem;margin:.55rem 0;font-size:.9rem}.mt-settings__hint{color:#aaa;font-size:.88rem;line-height:1.45}.mt-settings__linkish{display:inline-block;margin:.35rem 0 .75rem;padding:0;border:0;background:transparent;color:#93c5fd;font:inherit;font-size:.85rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.mt-cam-hint{margin:.45rem .65rem .25rem;padding:0;color:#9ca3af;font-size:11px;line-height:1.4;max-width:260px}.mt-mic-volume{display:flex;flex-direction:column;gap:8px;padding:8px 10px 10px}.mt-mic-volume--settings{padding:0;margin:.35rem 0 .85rem}.mt-mic-level{height:8px;border-radius:999px;background:#2a2d33;overflow:hidden}.mt-mic-level__fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#84cc16 70%,#eab308);transition:width 80ms linear}.mt-mic-volume__row{display:flex;align-items:center;gap:8px}.mt-mic-volume__row input[type=range]{flex:1 1;min-width:0}.mt-mic-volume__btn{width:28px;height:28px;border:0;border-radius:8px;background:#2d3036;color:#f3f4f6;font-size:16px;line-height:1;cursor:pointer}.mt-mic-volume__btn:hover:not(:disabled){background:#3a3e46}.mt-mic-volume__btn:disabled{opacity:.5;cursor:not-allowed}.mt-mic-volume__pct{min-width:3.2rem;text-align:right;font-size:12px;font-weight:600;color:#d1d5db}.live-topbar__view{display:inline-flex;gap:.35rem}.live-topbar__icon-btn{border:none;background:rgba(255,255,255,.08);color:#eee;border-radius:6px;padding:.25rem .45rem;font-size:.7rem;cursor:pointer}.live-topbar__icon-btn:hover{background:rgba(255,255,255,.16)}.video-stage--no-remote .lk-participant-tile{display:none!important}@media (max-width:1100px){.zoom-toolbar__group--center{justify-content:center}.zoom-toolbar:not(.zoom-toolbar--no-av) .zoom-toolbar__group--center{justify-content:flex-start}}@media (max-width:820px){.live-topbar__view{display:none}.live-topbar__meta{gap:.35rem;max-width:60%}.zoom-toolbar{--tb-gap-center:6px;height:68px;min-height:68px;padding-inline:8px}.live-shell-inner,.zoom-toolbar{--toolbar-h:68px}}@media (max-width:720px){.mt-settings__body{grid-template-columns:1fr}.mt-settings__nav{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid #333}.live-topbar__title{font-size:.8rem}}.zoom-chat{--zc-bg:#1a1a1a;--zc-panel:#242424;--zc-bubble:#2d2d2d;--zc-border:#3a3a3a;--zc-blue:#0e72ed;--zc-text:#f5f5f5;--zc-muted:#a8a8a8;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--zc-bg);color:var(--zc-text);font-family:Segoe UI,Helvetica Neue,Arial,sans-serif}.zoom-chat__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:48px;padding:.55rem .75rem;border-bottom:1px solid #2f2f2f;background:#1f1f1f;flex-shrink:0}.zoom-chat__header-left{display:flex;align-items:center;gap:.45rem;min-width:0}.zoom-chat__header-icon{display:inline-flex;color:#cfcfcf;flex-shrink:0}.zoom-chat__header-title{font-size:.92rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zoom-chat__header-actions{display:inline-flex;align-items:center;gap:.15rem;flex-shrink:0}.zoom-chat__icon-btn{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#cfcfcf;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,color .12s ease}.zoom-chat__icon-btn:hover{background:rgba(255,255,255,.08);color:#fff}.zoom-chat__live{width:7px;height:7px;border-radius:50%;background:#555;flex-shrink:0}.zoom-chat__live.is-on{background:#2d8cff;box-shadow:0 0 0 3px rgba(45,140,255,.22)}.zoom-chat__body{flex:1 1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.85rem .9rem 1rem;display:flex;flex-direction:column;gap:.95rem;scrollbar-width:thin;scrollbar-color:#3d3d3d transparent}.zoom-chat__body::-webkit-scrollbar{width:6px}.zoom-chat__body::-webkit-scrollbar-thumb{background:#3d3d3d;border-radius:999px}.zoom-chat__system{margin:0;font-size:.75rem;line-height:1.45;color:#8f8f8f;text-align:center;padding:.15rem .5rem .35rem}.zoom-chat__empty{margin:.35rem 0 0;font-size:.84rem;color:var(--zc-muted);text-align:center}.zoom-chat__msg--reply{margin-left:.15rem}.zoom-chat__msg-row{display:flex;gap:.55rem;align-items:flex-start}.zoom-chat__avatar{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#fff;flex-shrink:0;margin-top:.15rem}.zoom-chat__avatar--sm{width:24px;height:24px;font-size:.65rem;border-radius:7px;margin-top:.35rem}.zoom-chat__msg-main{min-width:0;flex:1 1;overflow:visible;position:relative}.zoom-chat__meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem;margin-bottom:.22rem}.zoom-chat__name{font-size:.8rem;font-weight:600;color:#8ec5ff}.zoom-chat__dm{font-size:.72rem;color:#d26b6b;font-weight:500}.zoom-chat__edited,.zoom-chat__time{font-size:.68rem;color:#8a8a8a}.zoom-chat__bubble-row{display:flex;align-items:flex-start;max-width:100%;position:relative;padding-right:36px;min-height:1.75rem;box-sizing:border-box}.zoom-chat__bubble{position:relative;display:inline-block;max-width:min(100%,17.5rem);padding:.42rem .65rem;border-radius:10px;background:var(--zc-bubble);font-size:.875rem;line-height:1.4;color:#f0f0f0}.zoom-chat__bubble.is-deleted{color:#9a9a9a;font-style:italic;background:transparent;padding-left:0}.zoom-chat__bubble p{margin:0;white-space:pre-wrap;word-break:break-word}.zoom-chat__hover{position:absolute;top:50%;right:0;transform:translateY(-50%);display:none;align-items:center;background:#323232;border:1px solid #4a4a4a;border-radius:8px;padding:1px;z-index:30;box-shadow:0 6px 18px rgba(0,0,0,.4);width:30px;height:30px;box-sizing:border-box}.zoom-chat__hover.is-open,.zoom-chat__hover:focus-within,.zoom-chat__msg-row:hover .zoom-chat__hover{display:inline-flex}.zoom-chat__hover>button{border:0;background:transparent;color:#e8e8e8;width:28px;height:28px;border-radius:7px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .12s ease;flex-shrink:0}.zoom-chat__hover>button:hover{background:#454545}.zoom-chat__more-pop{position:absolute;top:calc(100% + 4px);right:0;display:flex;flex-direction:column;min-width:8.5rem;background:#2a2a2a;border:1px solid #4a4a4a;border-radius:10px;padding:.3rem;z-index:50;box-shadow:0 10px 28px rgba(0,0,0,.45);box-sizing:border-box}.zoom-chat__more-pop button{border:0;background:transparent;color:#eee;text-align:left;padding:.45rem .65rem;border-radius:7px;cursor:pointer;font-size:.84rem;white-space:nowrap}.zoom-chat__more-pop button:hover{background:#3d3d3d}.zoom-chat__more-pop button:focus-visible{outline:1px solid var(--zc-blue);outline-offset:-1px}.zoom-chat__more-pop button.is-danger{color:#ff8f8f}.zoom-chat__react-pop,.zoom-chat__reactions{display:none!important}.zoom-chat__thread-toggle{border:0;background:transparent;color:#7eb6ff;font-size:.78rem;padding:.35rem 0 .1rem;cursor:pointer;font-weight:600}.zoom-chat__thread{margin-top:.55rem;padding-left:.65rem;border-left:2px solid #353535;display:flex;flex-direction:column;gap:.7rem}.zoom-chat__edit{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.zoom-chat__edit input{flex:1 1;min-width:8rem;border:1px solid #444;background:#151515;color:#fff;border-radius:8px;padding:.4rem .55rem}.zoom-chat__reply-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.45rem .55rem;border-radius:8px;background:#242424;border:1px solid #333}.zoom-chat__reply-banner-text{display:flex;flex-direction:column;gap:.12rem;min-width:0;font-size:.75rem;color:#a8a8a8}.zoom-chat__reply-banner-text strong{color:#d0e6ff;font-size:.78rem;font-weight:600}.zoom-chat__reply-banner-text span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:16rem}.zoom-chat__cancel-reply{border:0;background:transparent;color:#9a9a9a;font-size:.75rem;cursor:pointer;padding:.2rem .35rem;flex-shrink:0}.zoom-chat__cancel-reply:hover{color:#fff}.zoom-chat__footer{flex-shrink:0;border-top:1px solid #2f2f2f;background:#1a1a1a;padding:.55rem .85rem .85rem;display:flex;flex-direction:column;gap:.55rem}.zoom-chat__privacy{display:inline-flex;align-items:center;gap:.45rem;align-self:flex-start;min-height:28px;margin:0;padding:.15rem 0;border:0;background:transparent;color:#9a9a9a;font-size:.78rem;cursor:default}.zoom-chat__privacy svg{color:#9a9a9a;flex-shrink:0}.zoom-chat__host-toggle{align-self:flex-start;border:0;background:transparent;color:#7eb6ff;font-size:.72rem;font-weight:600;cursor:pointer;padding:0;margin-top:-.25rem}.zoom-chat__host-toggle.is-active{color:#ffd27a}.zoom-chat__to{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:#d0d0d0;padding:0 .1rem}.zoom-chat__to-pill{background:var(--zc-blue);border-radius:999px;padding:.22rem .7rem;color:#fff;font-weight:600;font-size:.78rem;line-height:1.25}.zoom-chat__to-pill--host{background:#3a3a3a;border:1px solid #555}.zoom-chat__compose{display:flex;flex-direction:column;gap:.25rem;border:1px solid #3a3a3a;border-radius:10px;background:#2a2a2a;padding:.65rem .7rem .5rem;transition:border-color .14s ease,box-shadow .14s ease}.zoom-chat__compose.is-focus{border-color:var(--zc-blue);box-shadow:0 0 0 1px rgba(14,114,237,.45);background:#252525}.zoom-chat__compose textarea{width:100%;resize:none;border:0;background:transparent;color:#fff;font:inherit;font-size:.9rem;line-height:1.4;padding:0;outline:none;min-height:2.75rem}.zoom-chat__compose textarea:disabled{opacity:.55}.zoom-chat__compose textarea::placeholder{color:#8f8f8f}.zoom-chat__compose-bar{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:.15rem}.zoom-chat__send{width:30px;height:30px;border:0;border-radius:50%;background:#3a3a3a;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .12s ease,opacity .12s ease}.zoom-chat__send:not(:disabled){background:var(--zc-blue)}.zoom-chat__send:disabled{opacity:.7;cursor:not-allowed;background:#3a3a3a;color:#cfcfcf}.zoom-chat__send--sm{width:28px;height:28px;border-radius:50%}.zoom-chat__compose-hint{font-size:.68rem;color:#777}:root{--color-teal:#0d9488;--shadow-admin-card:0 1px 3px rgba(16,24,40,0.06)}@keyframes admin-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes admin-pulse-num{0%{background:rgba(14,113,235,.18)}to{background:transparent}}@keyframes admin-live-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.55}}@keyframes admin-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.admin-fade-in{animation:admin-fade-up .22s var(--ease-standard) both}.admin-count.is-pulse{border-radius:6px;padding:0 .2rem;animation:admin-pulse-num .45s ease}.btn--live-cta{display:inline-flex;align-items:center;gap:.45rem}.btn--live-cta .live-badge__dot{width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 0 rgba(239,68,68,.5);animation:admin-live-pulse 1.4s ease infinite}.dash-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.dash-stat-grid--animate>*{animation:admin-fade-up .24s var(--ease-standard) both}.dash-stat-grid--animate>:nth-child(2){animation-delay:50ms}.dash-stat-grid--animate>:nth-child(3){animation-delay:.1s}.dash-stat-grid--animate>:nth-child(4){animation-delay:.15s}.dash-stat-card{position:relative;background:var(--color-surface-light);border:1px solid rgba(16,24,40,.06);border-radius:var(--radius-lg);box-shadow:var(--shadow-admin-card);padding:1.25rem 1.35rem;transition:transform .18s var(--ease-standard),box-shadow .18s var(--ease-standard)}.dash-stat-card--rich:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(16,24,40,.08)}.dash-stat-card--link{text-decoration:none;color:inherit;display:block;cursor:pointer}.dash-stat-card--warn{border-color:rgba(245,166,35,.45);background:linear-gradient(180deg,#fffdf8,#fff 70%)}.dash-stat-card__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;margin-bottom:.75rem;color:var(--color-primary);background:rgba(14,113,235,.1)}.dash-stat-card__icon--teachers{color:var(--color-teal);background:rgba(13,148,136,.12)}.dash-stat-card__icon--classes{color:#7c3aed;background:rgba(124,58,237,.1)}.dash-stat-card__icon--attend{color:var(--color-success);background:rgba(14,122,55,.1)}.dash-stat-card__icon--alerts{color:#b45309;background:rgba(245,166,35,.16)}.dash-stat-card__icon--cpu{color:#0369a1;background:rgba(3,105,161,.1)}.dash-stat-card__icon--live{color:#be123c;background:rgba(190,18,60,.1)}.dash-stat-card__label{margin:0;font-size:.8rem;font-weight:600;color:var(--color-text-secondary-light);letter-spacing:.01em}.dash-stat-card__value{margin:.35rem 0 0;font-size:2rem;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--color-text-primary-light)}.dash-stat-card__trend{margin:.45rem 0 0;font-size:.78rem;font-weight:600}.dash-stat-card__trend--up{color:var(--color-success)}.dash-stat-card__trend--down{color:#b45309;opacity:.85}.dash-stat-card__trend--flat{color:var(--color-text-secondary-light)}.admin-chart-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.admin-chart-card{background:var(--color-surface-light);border:1px solid rgba(16,24,40,.06);border-radius:var(--radius-lg);box-shadow:var(--shadow-admin-card);padding:1.25rem 1.35rem .75rem;min-height:320px}.admin-chart-card--wide{grid-column:1/-1}.admin-chart-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.admin-chart-card__head h2{margin:0;font-size:1rem;font-weight:700}.admin-chart-card__body{min-height:240px}.admin-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:220px;text-align:center;color:var(--color-text-secondary-light)}.admin-chart-empty p{margin:0;font-weight:600;color:var(--color-text-primary-light)}.admin-quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}.admin-quick-link-card{display:flex;flex-direction:column;gap:.25rem;padding:1.15rem 1.25rem;background:var(--color-surface-light);border:1px solid rgba(16,24,40,.06);border-radius:var(--radius-lg);box-shadow:var(--shadow-admin-card);text-decoration:none;color:inherit;transition:transform .18s var(--ease-standard),box-shadow .18s var(--ease-standard),border-color .18s var(--ease-standard)}.admin-quick-link-card:hover{transform:translateY(-2px);border-color:rgba(14,113,235,.28);box-shadow:0 8px 20px rgba(16,24,40,.08)}.admin-quick-link-card strong{font-size:.95rem;color:var(--color-primary)}.admin-quick-link-card span{font-size:.8rem;color:var(--color-text-secondary-light)}.admin-search{position:relative;max-width:360px;width:100%}.admin-search__icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--color-text-secondary-light);pointer-events:none}.admin-search__input{width:100%;min-height:42px;padding:.55rem .9rem .55rem 2.35rem;border:1px solid var(--color-border-light);border-radius:var(--radius-pill);background:#fff;font-size:.9rem;outline:none;transition:box-shadow .15s var(--ease-standard),border-color .15s}.admin-search__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(14,113,235,.18)}.admin-table-wrap--modern{background:#fff;border:1px solid rgba(16,24,40,.06);border-radius:var(--radius-lg);box-shadow:var(--shadow-admin-card);overflow:hidden}.admin-table--modern{width:100%;border-collapse:collapse}.admin-table--modern th{text-align:left;padding:.85rem 1.1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary-light);background:#fafbfc;border-bottom:1px solid var(--color-border-light)}.admin-table--modern td{padding:.9rem 1.1rem;border-bottom:1px solid #f0f1f4;font-size:.9rem;vertical-align:middle}.admin-table__row{cursor:pointer;transition:background .15s var(--ease-standard)}.admin-table__row:hover{background:rgba(14,113,235,.04)}.admin-table__row.is-muted{opacity:.65}.admin-user-cell{display:flex;align-items:center;gap:.75rem}.admin-avatar{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0}.admin-user-cell__text{display:flex;flex-direction:column;min-width:0}.admin-user-cell__text strong{font-size:.92rem}.admin-user-cell__text span{font-size:.78rem;color:var(--color-text-secondary-light)}.admin-status-pill{display:inline-flex;align-items:center;gap:.35rem;min-height:24px;padding:0 .65rem;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;background:#f3f4f6;color:#4b5563}.admin-status-pill--ok{background:rgba(14,122,55,.12);color:var(--color-success)}.admin-status-pill--ok:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.admin-status-pill--warn{background:rgba(245,166,35,.18);color:#b45309}.admin-status-pill--muted{background:#f3f4f6;color:#6b7280}.admin-muted-num{color:var(--color-text-secondary-light)}.admin-strong-num{font-weight:700}.admin-skeleton__header,.admin-skeleton__row,.admin-skeleton__toolbar{border-radius:var(--radius-md);background:linear-gradient(90deg,#eceef2 25%,#f7f8fa 50%,#eceef2 75%);background-size:200% 100%;animation:admin-shimmer 1.2s linear infinite}.admin-skeleton__header{height:48px;width:40%;margin-bottom:1rem}.admin-skeleton__toolbar{height:40px;width:280px;margin-bottom:1rem}.admin-skeleton__row{height:56px;margin-bottom:.65rem}.class-card--live{border-left:4px solid #ef4444;background:linear-gradient(90deg,rgba(239,68,68,.06),#fff 40%)}.class-card--ended{opacity:.82}.class-card--scheduled .class-card__status{display:flex;align-items:center;gap:.5rem}.class-card__countdown{font-size:.75rem;font-weight:700;color:var(--color-primary);background:rgba(14,113,235,.1);border-radius:var(--radius-pill);padding:.15rem .55rem}.status-pill--live{background:rgba(239,68,68,.12);color:#b91c1c;font-weight:800;letter-spacing:.02em}.infra-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.infra-live-ago{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--color-text-secondary-light);font-weight:600}.infra-live-ago__dot{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:admin-live-pulse 1.6s ease infinite}.infra-headline-card{background:#fff;border:1px solid rgba(16,24,40,.06);border-radius:var(--radius-lg);box-shadow:var(--shadow-admin-card);padding:1rem 1.25rem;margin-bottom:.85rem;font-size:1.02rem}.infra-flag-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.infra-flag{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:var(--radius-pill);background:#fff;border:1px solid rgba(16,24,40,.08);font-size:.8rem;color:var(--color-text-secondary-light);box-shadow:var(--shadow-admin-card)}.infra-flag em{font-style:normal;font-weight:700;color:var(--color-text-primary-light)}.infra-flag__dot{width:8px;height:8px;border-radius:50%;background:#9ca3af}.infra-flag__dot.is-ok{background:#22c55e}.infra-flag__dot.is-warn{background:#f59e0b}.infra-topo{background:#fff;border:1px solid rgba(16,24,40,.06);border-radius:var(--radius-lg);box-shadow:var(--shadow-admin-card);padding:1.5rem 1.25rem 1.75rem;margin-bottom:1rem}.infra-topo__label{margin:0 0 .5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary-light);text-align:center}.infra-topo__origin-wrap{max-width:520px;margin:0 auto}.infra-node{border:1px solid rgba(16,24,40,.08);border-radius:var(--radius-lg);padding:1.1rem 1.2rem;background:#fafbfc;transition:box-shadow .18s var(--ease-standard)}.infra-node--origin{background:linear-gradient(180deg,#f0f7ff,#fff 55%);border-color:rgba(14,113,235,.22)}.infra-node header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.infra-node h3{margin:0;font-size:1rem;font-weight:700}.infra-node__ip{margin:.15rem 0 0;font-size:.8rem;color:var(--color-text-secondary-light);font-family:var(--font-mono)}.infra-node__metrics,.infra-node__students,.infra-node__ws{margin:.25rem 0 0;font-size:.85rem;color:var(--color-text-secondary-light)}.infra-standby-badge{display:inline-flex;margin:.65rem 0 0;padding:.3rem .65rem;border-radius:var(--radius-pill);background:rgba(13,148,136,.1);color:var(--color-teal);font-size:.75rem;font-weight:700}.infra-topo__edges{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1rem;gap:1rem;margin-top:.25rem;max-width:920px;margin-left:auto;margin-right:auto}.infra-topo__edge-col{display:flex;flex-direction:column;align-items:stretch}.infra-topo__line{display:flex;flex-direction:column;align-items:center;min-height:72px;padding:.35rem .5rem .5rem;text-align:center}.infra-topo__line-stem{width:2px;flex:1 1;min-height:28px;border-radius:2px}.infra-topo__line.is-healthy .infra-topo__line-stem{background:var(--color-teal)}.infra-topo__line.is-waiting .infra-topo__line-stem{background:repeating-linear-gradient(180deg,#f59e0b 0 6px,transparent 6px 10px)}.infra-topo__line.is-down .infra-topo__line-stem{background:repeating-linear-gradient(180deg,#ef4444 0 6px,transparent 6px 10px)}.infra-topo__line-label{margin-top:.35rem;font-size:.72rem;font-weight:600;line-height:1.35;color:var(--color-text-secondary-light);max-width:220px}.infra-topo__line.is-healthy .infra-topo__line-label{color:var(--color-teal)}.infra-seat{margin-top:.75rem}.infra-seat__meta{display:flex;justify-content:space-between;font-size:.8rem;font-weight:700;margin-bottom:.35rem}.infra-seat__track{height:8px;border-radius:var(--radius-pill);background:#e5e7eb;overflow:hidden}.infra-seat__fill{height:100%;border-radius:inherit;transition:width .28s var(--ease-standard);background:var(--color-teal)}.infra-seat--warn .infra-seat__fill{background:#f59e0b}.infra-seat--crit .infra-seat__fill{background:#ef4444}.infra-seat--warn .infra-seat__meta{color:#b45309}.infra-seat--crit .infra-seat__meta{color:#b91c1c}@media (max-width:1100px){.dash-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-chart-grid,.admin-quick-links{grid-template-columns:1fr}}@media (max-width:768px){.dash-layout{grid-template-columns:72px 1fr}.app-sidebar__brand,.app-sidebar__label,.app-sidebar__user-text{display:none}.app-sidebar{padding:.75rem .4rem;align-items:center}.app-sidebar__item{justify-content:center;padding:0;width:44px;margin:0 auto}.app-sidebar__avatar{margin:0 auto}.app-sidebar__user{justify-content:center;padding:.35rem}.app-sidebar__logout{justify-content:center;padding:0;width:44px}.dash-layout__main{padding:1.25rem 1rem 2rem}.infra-topo__edges{grid-template-columns:1fr}.dash-stat-card__value{font-size:1.65rem}}.teacher-stat-strip{margin-bottom:.5rem}.teacher-show-more{display:flex;justify-content:center;margin-top:1rem}.class-card--compact{padding:.85rem 1.1rem;align-items:center}.class-card--compact .class-card__title{margin:.25rem 0 .15rem;font-size:1.05rem}.class-card--clickable{cursor:pointer}.class-card--prominent{border-color:rgba(220,38,38,.28);box-shadow:0 0 0 1px rgba(220,38,38,.12),0 8px 24px rgba(14,113,235,.08);background:linear-gradient(180deg,#fff,#fff8f8)}.class-card--prominent.class-card--scheduled{border-color:rgba(14,113,235,.28);background:linear-gradient(180deg,#fff,#f5f9ff);box-shadow:0 0 0 1px rgba(14,113,235,.1),0 8px 24px rgba(14,113,235,.08)}.teacher-reports-filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:end;margin-bottom:1.25rem;padding:.85rem 1rem;background:#fff;border:1px solid rgba(16,24,40,.06);border-radius:var(--radius-md)}.teacher-reports-filters input[type=search]{flex:1 1 220px;min-height:40px;padding:.5rem .75rem;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font:inherit}.teacher-reports-filters label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;font-weight:600;color:var(--color-text-secondary-light)}.teacher-reports-filters input[type=date]{min-height:40px;padding:.4rem .6rem;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font:inherit}.teacher-report-metrics{display:inline-block;margin-top:.2rem;color:var(--color-text-secondary-light);font-size:.82rem}.teacher-schedule-form{max-width:640px;margin-top:.25rem}.teacher-schedule-form select{width:100%;min-height:44px;padding:.6rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-light);background:#fff;font:inherit}.admin-form input[type=checkbox],.admin-form input[type=radio],.teacher-schedule-form input[type=checkbox],.teacher-schedule-form input[type=radio]{width:1.05rem;min-width:1.05rem;height:1.05rem;min-height:1.05rem;padding:0;margin:0;flex-shrink:0;accent-color:var(--color-primary,#0e71eb)}.teacher-schedule-form .sched-field{margin-top:1rem}.teacher-schedule-form .sched-field>label{margin-top:0}.sched-optional{font-weight:400;color:var(--color-text-secondary-light);font-size:.8rem}.sched-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.85rem 1rem;gap:.85rem 1rem;margin-top:.25rem}@media (max-width:640px){.sched-row{grid-template-columns:1fr}}.sched-audience{margin:0;padding:0;border:0}.sched-audience__legend{font-size:.875rem;font-weight:600;margin:0 0 .5rem;padding:0;color:var(--color-text,#1a1a1a)}.sched-audience__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.65rem;gap:.65rem}@media (max-width:640px){.sched-audience__grid{grid-template-columns:1fr}}.sched-audience__card{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left;width:100%;min-height:96px;padding:.85rem .95rem;border-radius:var(--radius-sm);border:1.5px solid var(--color-border-light);background:#fff;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.sched-audience__card:hover:not(:disabled){border-color:rgba(14,113,235,.45)}.sched-audience__card.is-active{border-color:var(--color-primary,#0e71eb);background:rgba(14,113,235,.06);box-shadow:0 0 0 3px rgba(14,113,235,.12)}.sched-audience__card:disabled{opacity:.55;cursor:not-allowed}.sched-audience__title{font-size:.95rem;font-weight:650}.sched-audience__desc{font-size:.78rem;line-height:1.4;color:var(--color-text-secondary-light)}.sched-empty{padding:.9rem 1rem;border-radius:var(--radius-sm);border:1px dashed var(--color-border-light);background:#fafbfc}.sched-empty__title{margin:0 0 .35rem;font-size:.92rem;font-weight:650}.sched-empty__text{margin:0 0 .75rem;font-size:.82rem;line-height:1.45;color:var(--color-text-secondary-light)}.sched-callout{margin-top:.85rem;padding:.7rem .9rem;border-radius:var(--radius-sm);background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:.84rem;line-height:1.4}.sched-actions{margin-top:1.35rem;padding-top:1rem;border-top:1px solid var(--color-border-light)}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.teacher-schedule-form input:focus,.teacher-schedule-form select:focus,.teacher-schedule-form textarea:focus{outline:none;border-color:var(--color-primary,#0e71eb);box-shadow:0 0 0 3px rgba(14,113,235,.18)}.field-hint{margin:.35rem 0 0;font-size:.8rem;color:var(--color-text-secondary-light);line-height:1.4}.success-banner{padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:.75rem}.success-banner--light{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.dash-page-header__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.teacher-qna-history{margin-top:2rem}.teacher-qna-history h2{margin:0 0 .75rem;font-size:1.1rem}.teacher-qna-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.teacher-qna-list li{padding:.75rem 1rem;background:#fff;border:1px solid rgba(16,24,40,.06);border-radius:var(--radius-sm)}.teacher-qna-list p{margin:.35rem 0 0;white-space:pre-wrap}.app-sidebar__footer{border-top:1px solid rgba(255,255,255,.1);padding-top:.75rem}.live-topbar__meta .network-quality{margin-right:.15rem}.health-critical-banner{border-color:#fca5a5;background:#fef2f2;color:#991b1b}.health-alert-feed{margin:1.25rem 0 .5rem;padding:1rem 1.1rem;background:#fff;border:1px solid rgba(16,24,40,.06);border-radius:var(--radius-md)}.health-alert-feed__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.health-alert-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.health-alert-list__item{display:grid;grid-template-columns:72px 1fr auto;grid-gap:.65rem;gap:.65rem;align-items:start;padding:.55rem .65rem;border-radius:var(--radius-sm);background:#f8fafc;font-size:.875rem}.health-alert-list__item--critical{background:#fef2f2}.health-alert-list__item--warning{background:#fffbeb}.health-alert-list__sev{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary-light)}.health-alert-list__item--critical .health-alert-list__sev{color:#b91c1c}.health-alert-list__item--warning .health-alert-list__sev{color:#b45309}.health-alert-list__msg{color:var(--color-text-light)}.health-score-pill{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.04em}.health-score-pill--green{background:#d1fae5;color:#065f46}.health-score-pill--amber{background:#fef3c7;color:#92400e}.health-score-pill--red{background:#fee2e2;color:#991b1b}.health-class-card__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.health-class-card--red{border-color:rgba(185,28,28,.35)}.health-class-card--amber{border-color:rgba(180,83,9,.3)}.health-exp-row{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:.75rem;font-size:.9rem}.health-student-drill{margin-top:.75rem;overflow-x:auto}.health-student-table{width:100%;border-collapse:collapse;font-size:.85rem}.health-student-table td,.health-student-table th{text-align:left;padding:.4rem .55rem;border-bottom:1px solid rgba(0,0,0,.06)}.health-cq{font-weight:600;text-transform:capitalize}.health-cq--excellent,.health-cq--good{color:#065f46}.health-cq--poor{color:#b45309}.health-cq--lost{color:#b91c1c}.health-diagnosis{margin-top:.75rem;padding:.75rem .9rem;border-radius:8px;background:#f8fafc;border:1px solid rgba(15,23,42,.08);font-size:.9rem}.health-diagnosis ul{margin:.35rem 0 0;padding-left:1.1rem}.health-diagnosis--edge,.health-diagnosis--origin,.health-diagnosis--relay{border-color:rgba(185,28,28,.25);background:#fef2f2}.health-diagnosis--teacher{border-color:rgba(180,83,9,.3);background:#fffbeb}.health-diagnosis--student{border-color:rgba(37,99,235,.25);background:#eff6ff}.health-timeline{margin:.75rem 0 0;padding-left:1.2rem;font-size:.85rem}.health-timeline time{font-family:ui-monospace,monospace;color:#64748b}.health-inspector{font-size:.9rem;line-height:1.45}.infra-log--critical{border-left:3px solid #b91c1c}.ops-metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));grid-gap:.5rem;gap:.5rem;margin:.5rem 0 .75rem}.ops-metric-grid--compact{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.4rem}.ops-metric-cell{border:1px solid rgba(15,23,42,.08);background:#f8fafc;border-radius:8px;padding:.45rem .55rem;min-height:3.1rem}.ops-metric-cell__label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.ops-metric-cell__value{display:block;margin-top:.15rem;font-size:.92rem;font-weight:650;color:#0f172a;word-break:break-word}.ops-metric-cell--ok{border-color:rgba(21,128,61,.25);background:#f0fdf4}.ops-metric-cell--warn{border-color:rgba(180,83,9,.3);background:#fffbeb}.ops-metric-cell--crit{border-color:rgba(185,28,28,.3);background:#fef2f2}.ops-host-card,.ops-platform-panel,.ops-relay-panel{margin:1rem 0 1.25rem}.ops-host-card{border:1px solid rgba(15,23,42,.08);border-radius:12px;padding:.85rem 1rem;background:#fff}.ops-host-card__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.ops-host-card__head h3{margin:0;font-size:1rem}.ops-inspector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));grid-gap:.35rem .75rem;gap:.35rem .75rem;margin-bottom:.85rem}.ops-inspector-row{display:flex;flex-direction:column;gap:.1rem;padding:.35rem .45rem;border-radius:6px;background:#f8fafc;border:1px solid rgba(15,23,42,.06);font-size:.8rem}.ops-inspector-row span{color:#64748b}.ops-inspector-row strong{color:#0f172a;font-weight:600;word-break:break-word}.ops-inspector-modal{max-width:min(920px,96vw);max-height:90vh;overflow:auto}.ops-hist-table-wrap{overflow-x:auto;margin-top:.5rem}.ops-hist-table{font-size:.78rem}.attendance-table tr.is-selected{background:#eff6ff}:root{--sev-ok:#059669;--sev-ok-bg:rgba(5,150,105,0.1);--sev-warning:#d97706;--sev-warning-bg:rgba(217,119,6,0.12);--sev-critical:#dc2626;--sev-critical-bg:rgba(220,38,38,0.1);--sev-info:#2563eb;--sev-info-bg:rgba(37,99,235,0.1);--ops-bg-0:#f4f6fb;--ops-bg-1:#ffffff;--ops-bg-2:#f8fafc;--ops-border:rgba(15,23,42,0.08);--ops-text:#0f172a;--ops-muted:#64748b;--ops-primary:#4f46e5;--ops-primary-soft:rgba(79,70,229,0.1);--ops-violet:#7c3aed;--ops-shadow:0 1px 2px rgba(15,23,42,0.04),0 8px 24px rgba(15,23,42,0.04);--ops-radius:18px}.dash-layout--ops-theme{background:radial-gradient(1200px 480px at 12% -10%,rgba(79,70,229,.08),transparent 55%),radial-gradient(900px 420px at 90% 0,rgba(124,58,237,.06),transparent 50%),var(--ops-bg-0);color:var(--ops-text)}.dash-layout--ops-theme .app-sidebar{border-right:1px solid var(--ops-border);box-shadow:1px 0 0 rgba(255,255,255,.6)}.dash-layout--ops-theme .app-sidebar__footer{margin-top:auto;border-top-color:var(--ops-border)}.dash-layout--ops-theme .app-sidebar__brand{color:var(--ops-primary);border-bottom-color:var(--ops-border)}.dash-layout--ops-theme .app-sidebar__item{color:#475569;border-radius:12px}.dash-layout--ops-theme .app-sidebar__item:hover{background:rgba(79,70,229,.06);color:var(--ops-text)}.dash-layout--ops-theme .app-sidebar__item.is-active{background:var(--ops-primary-soft);color:var(--ops-primary)}.dash-layout--ops-theme .app-sidebar__group-label{display:block;margin:1rem .85rem .35rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dash-layout--ops-theme .app-sidebar__user-text strong{color:var(--ops-text)}.dash-layout--ops-theme .admin-muted,.dash-layout--ops-theme .app-sidebar__user-text span,.dash-layout--ops-theme .dash-page-header__sub,.dash-layout--ops-theme .ops-page-header__sub{color:var(--ops-muted)}.dash-layout--ops-theme .admin-section-title,.dash-layout--ops-theme .dash-page-header h1,.dash-layout--ops-theme .ops-page-header h1{color:var(--ops-text);letter-spacing:-.03em}.dash-layout--ops-theme .attendance-table-wrap,.dash-layout--ops-theme .dash-stat-card,.dash-layout--ops-theme .health-alert-feed,.dash-layout--ops-theme .health-class-card,.dash-layout--ops-theme .infra-banner,.dash-layout--ops-theme .infra-headline-card,.dash-layout--ops-theme .infra-log,.dash-layout--ops-theme .infra-node,.dash-layout--ops-theme .infra-settings-form,.dash-layout--ops-theme .ops-host-card,.dash-layout--ops-theme .ops-metric-cell,.dash-layout--ops-theme .ops-platform-panel,.dash-layout--ops-theme .ops-status-hero{background:var(--ops-bg-1);border-color:var(--ops-border);color:var(--ops-text);box-shadow:var(--ops-shadow);border-radius:var(--ops-radius)}.dash-layout--ops-theme .ops-metric-cell__label{color:var(--ops-muted)}.dash-layout--ops-theme .ops-metric-cell__value{color:var(--ops-text)}.dash-layout--ops-theme .attendance-table th{background:var(--ops-bg-2);color:var(--ops-muted)}.dash-layout--ops-theme .attendance-table td{border-color:var(--ops-border);color:var(--ops-text)}.dash-layout--ops-theme .attendance-table tr.is-selected{background:rgba(79,70,229,.06)}.dash-layout--ops-theme .btn--ghost{color:var(--ops-muted)}.dash-layout--ops-theme .error-banner--light{background:var(--sev-critical-bg);border-color:rgba(220,38,38,.25);color:#991b1b}.dash-layout--ops-theme .dash-layout__main{padding:1.25rem 1.5rem 2.5rem}.dash-layout--ops-theme .ops-shell-tools{margin-bottom:.75rem}.app-sidebar__badge{margin-left:auto;min-width:1.25rem;padding:.1rem .35rem;border-radius:var(--radius-pill);background:var(--sev-critical);color:#fff;font-size:.65rem;font-weight:700;text-align:center;line-height:1.2}.ops-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.ops-page-header h1{margin:0;font-size:clamp(1.55rem,2vw,1.9rem);font-weight:750;letter-spacing:-.03em}.ops-page-header__sub{margin:.35rem 0 0;color:var(--color-text-secondary-light);font-size:.95rem}.ops-page-header__actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.ops-sev{display:inline-flex;align-items:center;gap:.35rem;border-radius:var(--radius-pill);padding:.2rem .55rem;font-size:.75rem;font-weight:650;letter-spacing:.02em}.ops-sev--sm{font-size:.68rem;padding:.12rem .45rem}.ops-sev__dot{width:7px;height:7px;border-radius:50%;background:currentColor}.ops-sev--ok{color:var(--sev-ok);background:var(--sev-ok-bg)}.ops-sev--warning{color:var(--sev-warning);background:var(--sev-warning-bg)}.ops-sev--critical{color:var(--sev-critical);background:var(--sev-critical-bg)}.ops-sev--info,.ops-sev--unknown{color:var(--sev-info);background:var(--sev-info-bg)}.ops-live-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:650;color:#b91c1c;background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.22);border-radius:var(--radius-pill);padding:.2rem .65rem}.ops-live-pill__dot{width:7px;height:7px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 0 rgba(239,68,68,.5);animation:admin-live-pulse 1.4s ease infinite}.ops-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.85rem;gap:.85rem;margin:1rem 0 1.35rem}.ops-kpi-grid--6{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.ops-kpi-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.05rem .9rem;background:var(--ops-bg-1);border:1px solid var(--ops-border);border-radius:var(--ops-radius);box-shadow:var(--ops-shadow);min-height:132px;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}a.ops-kpi-card:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(15,23,42,.08)}.ops-kpi-card__top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ops-kpi-card__icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--ops-primary-soft);color:var(--ops-primary)}.ops-kpi-card__icon--warn{background:var(--sev-warning-bg);color:var(--sev-warning)}.ops-kpi-card__icon--critical{background:var(--sev-critical-bg);color:var(--sev-critical)}.ops-kpi-card__icon--ok{background:var(--sev-ok-bg);color:var(--sev-ok)}.ops-kpi-card__label{margin:0;font-size:.78rem;font-weight:600;color:var(--ops-muted)}.ops-kpi-card__value{margin:0;font-size:1.75rem;font-weight:750;letter-spacing:-.04em;line-height:1.1}.ops-kpi-card__meta{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;margin-top:auto}.ops-kpi-card__trend{font-size:.72rem;font-weight:650}.ops-kpi-card__trend--up{color:var(--sev-ok)}.ops-kpi-card__trend--down{color:var(--sev-critical)}.ops-kpi-card__sub,.ops-kpi-card__trend--flat{color:var(--ops-muted)}.ops-kpi-card__sub{margin:0;font-size:.72rem}.ops-sparkline{display:block;width:72px;height:28px;color:var(--ops-primary);flex-shrink:0}.ops-sparkline path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ops-sparkline--fill path.ops-sparkline__area{stroke:none;fill:currentColor;opacity:.12}.ops-health-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:.65rem;gap:.65rem;margin:.85rem 0 0}.ops-health-tile{padding:.7rem .8rem;border-radius:14px;background:var(--ops-bg-2);border:1px solid var(--ops-border)}.ops-health-tile__label{display:block;font-size:.7rem;font-weight:650;color:var(--ops-muted);text-transform:uppercase;letter-spacing:.04em}.ops-health-tile__value{display:block;margin-top:.25rem;font-size:.95rem;font-weight:700}.ops-health-tile--ok .ops-health-tile__value{color:var(--sev-ok)}.ops-health-tile--warning .ops-health-tile__value{color:var(--sev-warning)}.ops-health-tile--critical .ops-health-tile__value{color:var(--sev-critical)}.ops-health-tile--info .ops-health-tile__value{color:var(--sev-info)}.ops-flow{display:flex;align-items:stretch;gap:.55rem;overflow-x:auto;padding:.25rem 0 .5rem;margin:.5rem 0 1.25rem}.ops-flow__node{min-width:148px;flex:1 1;padding:.9rem .95rem;border-radius:var(--ops-radius);background:var(--ops-bg-1);border:1px solid var(--ops-border);box-shadow:var(--ops-shadow);position:relative}.ops-flow__node h3{margin:0;font-size:.92rem;font-weight:700}.ops-flow__node p{margin:.35rem 0 0;font-size:.78rem;color:var(--ops-muted)}.ops-flow__node--ok{border-top:3px solid var(--sev-ok)}.ops-flow__node--warning{border-top:3px solid var(--sev-warning)}.ops-flow__node--critical{border-top:3px solid var(--sev-critical)}a.ops-flow__node--link{text-decoration:none;color:inherit;display:block;transition:border-color .15s ease,box-shadow .15s ease}a.ops-flow__node--link:hover{border-color:rgba(79,70,229,.35);box-shadow:0 8px 22px rgba(15,23,42,.08)}.ops-flow__arrow{display:flex;align-items:center;color:#94a3b8;flex-shrink:0;position:relative}.ops-flow__arrow:before{content:"";width:18px;height:2px;background:linear-gradient(90deg,#c7d2fe,#a5b4fc);border-radius:2px;animation:ops-flow-pulse 1.6s ease-in-out infinite}.ops-flow__arrow:after{content:"›";margin-left:-2px;font-size:1.1rem;color:#818cf8}@keyframes ops-flow-pulse{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.ops-flow__arrow:before{animation:none}}.ops-platform-panel{padding:1rem 1.1rem;margin:1rem 0;border:1px solid var(--ops-border);border-radius:var(--ops-radius);background:var(--ops-bg-1);box-shadow:var(--ops-shadow)}.ops-server-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:.75rem;gap:.75rem;align-content:start}.ops-server-card{text-align:left;padding:.95rem 1rem;border-radius:var(--ops-radius);border:1px solid var(--ops-border);background:var(--ops-bg-1);box-shadow:var(--ops-shadow);cursor:pointer;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.ops-server-card:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.28)}.ops-server-card.is-selected{border-color:var(--ops-primary);box-shadow:0 0 0 3px var(--ops-primary-soft)}.ops-server-card__head{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}.ops-server-card__role{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ops-primary);margin-bottom:.2rem}.ops-server-card h3{margin:0;font-size:.95rem;font-weight:700}.ops-server-card__metrics{display:grid;grid-template-columns:1fr 1fr;grid-gap:.35rem .75rem;gap:.35rem .75rem;margin-top:.75rem;font-size:.78rem;color:var(--ops-muted)}.ops-server-card__metrics strong{color:var(--ops-text);font-weight:700}.ops-server-card__metrics .tone-warning{color:var(--sev-warning)}.ops-server-card__metrics .tone-critical{color:var(--sev-critical)}.ops-server-card__foot{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem}.ops-server-card__actions{display:inline-flex;gap:.2rem}@media (prefers-reduced-motion:reduce){.btn--live-cta .live-badge__dot,.ops-live-pill__dot{animation:none}}.ops-status-hero{border-radius:12px;padding:1rem 1.15rem;margin-bottom:1rem;background:#fff;border:1px solid var(--ops-border,rgba(15,23,42,.08));border-left-width:4px}.ops-status-hero--ok{border-left-color:var(--sev-ok)}.ops-status-hero--warning{border-left-color:var(--sev-warning)}.ops-status-hero--critical{border-left-color:var(--sev-critical)}.ops-status-hero--info,.ops-status-hero--unknown{border-left-color:var(--sev-info)}.ops-status-hero__top{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.ops-status-hero__title{margin:.45rem 0 0;font-size:1.15rem}.ops-status-hero__sub{margin:.25rem 0 0;color:var(--ops-muted,#64748b);font-size:.9rem}.ops-status-hero__meta{display:flex;align-items:center;gap:.5rem}.ops-status-hero__updated{font-size:.8rem;color:var(--ops-muted,#64748b)}.ops-status-hero__body{margin-top:.85rem;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.ops-incident-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.ops-incident-list li{display:grid;grid-template-columns:auto 1fr auto;grid-gap:.65rem;gap:.65rem;align-items:start;padding:.55rem .65rem;border-radius:8px;background:rgba(148,163,184,.06);border:1px solid var(--ops-border,rgba(15,23,42,.06));font-size:.85rem}.ops-collapsible{border:1px solid var(--ops-border,rgba(15,23,42,.08));border-radius:12px;background:var(--ops-bg-1,#fff);margin:1rem 0}.ops-collapsible__summary{cursor:pointer;list-style:none;padding:.85rem 1rem;font-weight:650;display:flex;justify-content:space-between;align-items:center}.ops-collapsible__summary::-webkit-details-marker{display:none}.ops-collapsible__body{padding:0 1rem 1rem;border-top:1px solid var(--ops-border,rgba(15,23,42,.06))}.ops-tabbar{display:flex;gap:.25rem;flex-wrap:wrap;margin:.75rem 0 1rem;border-bottom:1px solid var(--ops-border,rgba(15,23,42,.1));padding-bottom:.35rem}.ops-tabbar button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--ops-muted,#64748b);padding:.45rem .75rem;border-radius:8px 8px 0 0;font-weight:600;font-size:.88rem;cursor:pointer}.ops-tabbar button.is-active{color:var(--ops-text,#0f172a);background:rgba(14,113,235,.12)}.dash-layout--ops-theme .ops-tabbar button.is-active{color:#e0f2fe}.ops-rca{border-radius:10px;padding:.85rem 1rem;margin:.75rem 0;border:1px solid var(--ops-border,rgba(15,23,42,.08));background:#f8fafc}.ops-rca--critical{background:var(--sev-critical-bg);border-color:rgba(220,38,38,.25)}.ops-rca--warning{background:var(--sev-warning-bg);border-color:rgba(217,119,6,.25)}.ops-rca--ok{background:var(--sev-ok-bg);border-color:rgba(22,163,74,.25)}.ops-rca__head{display:flex;flex-wrap:wrap;gap:.5rem .85rem;align-items:center}.ops-rca__meta{font-size:.78rem;color:var(--ops-muted,#64748b)}.ops-rca__title{margin:.55rem 0 0;font-size:1.05rem;font-weight:750;letter-spacing:-.02em}.ops-rca__reason{margin:.5rem 0 0;font-size:.92rem}.ops-rca__evidence-label{margin:.65rem 0 0;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ops-muted,#64748b)}.ops-rca__evidence{list-style:none;margin:.55rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.ops-evidence-chip{display:inline-block;font-size:.75rem;padding:.2rem .45rem;border-radius:6px;background:rgba(15,23,42,.06);font-family:var(--font-mono)}.dash-layout--ops-theme .ops-evidence-chip{background:rgba(148,163,184,.12)}.ops-rca__actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem}.ops-drawer-root{position:fixed;inset:0;z-index:80;display:flex;justify-content:flex-end}.ops-drawer-backdrop{position:absolute;inset:0;border:none;background:rgba(2,6,23,.55);cursor:pointer}.ops-drawer{position:relative;width:min(480px,100vw);height:100%;background:var(--ops-bg-1,#fff);color:var(--ops-text,#0f172a);border-left:1px solid var(--ops-border,rgba(15,23,42,.1));display:flex;flex-direction:column;box-shadow:-8px 0 32px rgba(0,0,0,.25);animation:admin-fade-up .18s var(--ease-standard)}.ops-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem;border-bottom:1px solid var(--ops-border,rgba(15,23,42,.1))}.ops-drawer__head h2{margin:0;font-size:1.05rem}.ops-drawer__body{padding:1rem 1.1rem;overflow:auto;flex:1 1}.ops-settings-section{border:1px solid var(--ops-border,rgba(15,23,42,.08));border-radius:12px;padding:1rem;margin-bottom:1rem;background:var(--ops-bg-1,#fff)}.ops-settings-section h2{margin:0 0 .75rem;font-size:1rem}.ops-capacity-preview{margin-top:.75rem;padding:.65rem .75rem;border-radius:8px;background:rgba(14,113,235,.1);font-size:.88rem}@media (max-width:960px){.ops-drawer{width:100vw}}.ops-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);grid-gap:1rem;gap:1rem;align-items:start}.ops-split__list{min-width:0}.ops-split__detail{position:-webkit-sticky;position:sticky;top:.75rem;max-height:calc(100vh - 2rem);overflow:auto}.ops-charts{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:1rem}.ops-chart-card{border:1px solid var(--ops-border,rgba(15,23,42,.08));border-radius:10px;padding:.65rem .75rem;background:rgba(148,163,184,.04)}.ops-chart-card h3{margin:0 0 .35rem;font-size:.8rem;font-weight:650;color:var(--ops-muted,#64748b)}.ops-filter-inline{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem}.ops-view-toggle{display:inline-flex;border:1px solid var(--ops-border,rgba(15,23,42,.12));border-radius:999px;overflow:hidden}.ops-view-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:.35rem .85rem;font-weight:600;font-size:.85rem;cursor:pointer;color:var(--ops-muted,#64748b);display:inline-flex;align-items:center;gap:.35rem}.ops-view-toggle button.is-active{background:rgba(14,113,235,.15);color:inherit}.ops-shell-tools{display:flex;justify-content:flex-end;gap:.75rem;align-items:center;margin-bottom:.5rem}.ops-shell-tools__hint{font-size:.75rem}.ops-nav-toggle{display:none;position:fixed;top:.85rem;left:.85rem;z-index:60;width:42px;height:42px;border-radius:10px;border:1px solid var(--ops-border,rgba(15,23,42,.15));background:var(--ops-bg-1,#fff);flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer}.ops-nav-toggle span{display:block;width:18px;height:2px;background:currentColor;border-radius:2px}.ops-nav-scrim{display:none}.dash-layout--compact .dash-layout__main{padding-top:.75rem}.dash-layout--compact .ops-metric-grid{gap:.3rem}.dash-layout--compact .ops-page-header{margin-bottom:var(--space-3)}.ops-cmd-root{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:12vh 1rem 1rem}.ops-cmd{position:relative;width:min(560px,100%);background:var(--ops-bg-1,#fff);color:var(--ops-text,#0f172a);border:1px solid var(--ops-border,rgba(15,23,42,.12));border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.35);overflow:hidden}.ops-cmd__input{width:100%;border:none;border-bottom:1px solid var(--ops-border,rgba(15,23,42,.1));padding:1rem 1.1rem;font-size:1rem;background:transparent;color:inherit;outline:none}.ops-cmd__list{list-style:none;margin:0;padding:.35rem;max-height:360px;overflow:auto}.ops-cmd__item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.75rem;text-align:left;border:none;background:transparent;color:inherit;padding:.65rem .75rem;border-radius:8px;cursor:pointer}.ops-cmd__item.is-active,.ops-cmd__item:hover{background:rgba(14,113,235,.12)}.ops-cmd__group{display:block;font-size:.72rem;color:var(--ops-muted,#64748b);margin-top:.1rem}.ops-cmd__item kbd{font-size:.7rem;opacity:.7}.ops-cmd__foot{margin:0;padding:.55rem .9rem .75rem;border-top:1px solid var(--ops-border,rgba(15,23,42,.1));font-size:.75rem}@media (max-width:960px){.ops-split{grid-template-columns:1fr}.ops-split__detail{position:static;max-height:none}.ops-nav-toggle{display:flex}.dash-layout.is-nav-open .ops-nav-scrim{display:block;position:fixed;inset:0;z-index:40;border:none;background:rgba(2,6,23,.5)}.dash-layout{grid-template-columns:1fr}.dash-layout .app-sidebar{position:fixed;inset:0 auto 0 0;width:min(280px,86vw);transform:translateX(-105%);transition:transform .18s var(--ease-standard);z-index:50;height:100dvh}.dash-layout.is-nav-open .app-sidebar{transform:translateX(0)}.dash-layout .app-sidebar__brand,.dash-layout .app-sidebar__label,.dash-layout .app-sidebar__user-text{display:block!important;font-size:revert}.dash-layout__main{padding-left:3.5rem}.ops-servers-table td:nth-child(n+6),.ops-servers-table th:nth-child(n+6){display:none}}@media (prefers-reduced-motion:reduce){.dash-layout .app-sidebar{transition:none}}.ops-media-hints{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0 1.25rem}.ops-hint{padding:.75rem 1rem;border-radius:.5rem;border:1px solid var(--ops-border,rgba(148,163,184,.25));background:var(--ops-bg-1,rgba(15,23,42,.6))}.ops-hint--warn{border-color:rgba(245,158,11,.45)}.ops-hint--crit{border-color:rgba(239,68,68,.5)}.ops-topo-flow{gap:.75rem;margin-top:1rem}.ops-topo-flow__bridges{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.infra-topo__arrow{text-align:center;opacity:.5;font-size:1.25rem;line-height:1}.infra-log__meta{display:flex;flex-wrap:wrap;gap:.35rem;margin:.35rem 0 0}.ops-meta-chip{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;padding:.15rem .45rem;border-radius:.35rem;background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.2)}.ops-live-table-wrap{border:1px solid var(--ops-border);border-radius:var(--ops-radius);background:var(--ops-bg-1);box-shadow:var(--ops-shadow);overflow:auto;margin-bottom:1.25rem}.ops-live-table{width:100%;border-collapse:collapse;font-size:.88rem}.ops-live-table td,.ops-live-table th{padding:.75rem .9rem;text-align:left;border-bottom:1px solid var(--ops-border);white-space:nowrap}.ops-live-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ops-muted);background:var(--ops-bg-2);font-weight:700}.ops-live-table tr{cursor:pointer}.ops-live-table tr:hover td{background:rgba(79,70,229,.04)}.ops-live-table tr.is-selected td{background:rgba(79,70,229,.08)}.ops-live-detail{margin-top:.5rem}.ops-alert-group{border:1px solid var(--ops-border);border-radius:var(--ops-radius);background:var(--ops-bg-1);box-shadow:var(--ops-shadow);margin-bottom:.75rem;overflow:hidden}.ops-alert-group__head{display:flex;align-items:center;gap:.65rem;width:100%;padding:.85rem 1rem;border:none;background:var(--ops-bg-2);cursor:pointer;text-align:left;color:inherit;font:inherit}.ops-alert-group__head strong{flex:1 1}.ops-alert-group__count{font-size:.72rem;font-weight:700;color:var(--ops-muted);background:#fff;border:1px solid var(--ops-border);border-radius:999px;padding:.15rem .5rem}.ops-alert-group__body{padding:.35rem .65rem .75rem}.ops-incident-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:.85rem;gap:.85rem}.ops-incident-card{border:1px solid var(--ops-border);border-radius:var(--ops-radius);background:var(--ops-bg-1);box-shadow:var(--ops-shadow);padding:1rem 1.05rem;display:flex;flex-direction:column;gap:.55rem}.ops-incident-card__head{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}.ops-incident-card h3{margin:0;font-size:1rem;font-weight:700}.ops-incident-card h3 a{color:inherit;text-decoration:none}.ops-incident-card h3 a:hover{color:var(--ops-primary)}.ops-incident-card__summary{margin:0;font-size:.88rem;color:var(--ops-muted)}.ops-incident-card__meta{display:flex;flex-wrap:wrap;gap:.5rem .85rem;font-size:.78rem;color:var(--ops-muted)}.ops-incident-card__actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:.35rem}.ops-queue-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem;margin:1rem 0 1.35rem}.ops-queue-bar{padding:.9rem 1rem;border-radius:var(--ops-radius);border:1px solid var(--ops-border);background:var(--ops-bg-1);box-shadow:var(--ops-shadow)}.ops-queue-bar__label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ops-muted)}.ops-queue-bar__value{display:block;margin-top:.35rem;font-size:1.6rem;font-weight:750;letter-spacing:-.03em}.ops-queue-bar--fail .ops-queue-bar__value{color:var(--sev-critical)}.ops-queue-bar__track{margin-top:.55rem;height:6px;border-radius:999px;background:var(--ops-bg-2);overflow:hidden}.ops-queue-bar__fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#818cf8,#4f46e5);transition:width .3s ease}.ops-queue-bar--fail .ops-queue-bar__fill{background:linear-gradient(90deg,#f87171,#dc2626)}.ops-deploy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:.75rem;gap:.75rem}.ops-deploy-card{border:1px solid var(--ops-border);border-radius:var(--ops-radius);background:var(--ops-bg-1);box-shadow:var(--ops-shadow);padding:.95rem 1rem}.ops-deploy-card__service{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ops-primary)}.ops-deploy-card h3{margin:.2rem 0 0;font-size:1.05rem}.ops-inspector-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin:.75rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--ops-border)}.ops-inspector-tabs button{border:none;background:transparent;color:var(--ops-muted);font-size:.78rem;font-weight:650;padding:.35rem .55rem;border-radius:8px;cursor:pointer}.ops-inspector-tabs button:hover{background:rgba(79,70,229,.06);color:var(--ops-text)}.ops-inspector-tabs button.is-active{background:var(--ops-primary-soft);color:var(--ops-primary)}.ops-inspector-identity{margin:0 0 .35rem;font-size:.85rem}.ops-recent-nav{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .75rem;max-width:100%}.ops-recent-nav a{font-size:.72rem;color:var(--ops-muted);text-decoration:none;padding:.2rem .5rem;border-radius:999px;border:1px solid var(--ops-border);background:var(--ops-bg-1);max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-recent-nav a:hover{color:var(--ops-primary);border-color:rgba(79,70,229,.35)}.ops-fav-btn{border:none;background:transparent;color:var(--ops-muted);cursor:pointer;font-size:1rem;line-height:1;padding:.15rem}.ops-fav-btn.is-on{color:#d97706}.ops-toast-stack{position:fixed;right:1rem;bottom:1rem;z-index:90;display:flex;flex-direction:column;gap:.5rem;max-width:min(360px,calc(100vw - 2rem));pointer-events:none}.ops-toast{pointer-events:auto;padding:.7rem .9rem;border-radius:var(--ops-radius,10px);border:1px solid var(--ops-border,#e2e8f0);background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.12);font-size:.88rem;color:var(--ops-fg,#0f172a)}.ops-toast--ok{border-color:rgba(22,163,74,.35);background:#f0fdf4}.ops-toast--warn{border-color:rgba(217,119,6,.35);background:#fffbeb}.ops-toast--error{border-color:rgba(220,38,38,.35);background:#fef2f2}.ops-analytics-bars{display:flex;flex-direction:column;gap:.55rem;margin-top:1rem}.ops-analytics-row{display:grid;grid-template-columns:6.5rem 1fr auto;grid-gap:.65rem;gap:.65rem;align-items:center}.ops-analytics-row__day{font-size:.78rem;color:var(--ops-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops-analytics-row__track{height:.55rem;border-radius:999px;background:#eef2ff;overflow:hidden}.ops-analytics-row__fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#6366f1,#4f46e5);min-width:2px}.ops-analytics-row__meta{font-size:.75rem;color:var(--ops-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.infra-log-feed__virtual{display:flex;flex-direction:column;gap:.55rem}.ops-overview-dash{display:flex;flex-direction:column;gap:1rem}.ops-status-banner{display:flex;gap:.85rem;align-items:flex-start;padding:.95rem 1.1rem;border-radius:var(--ops-radius);border:1px solid var(--ops-border);background:var(--ops-bg-1);box-shadow:var(--ops-shadow)}.ops-status-banner strong{display:block;font-size:1.05rem}.ops-status-banner p{margin:.2rem 0 0;color:var(--ops-muted);font-size:.9rem}.ops-status-banner--ok{border-color:rgba(22,163,74,.28);background:#f0fdf4}.ops-status-banner--warning{border-color:rgba(217,119,6,.3);background:#fffbeb}.ops-status-banner--critical{border-color:rgba(220,38,38,.3);background:#fef2f2}.ops-dash-card{background:var(--ops-bg-1);border:1px solid var(--ops-border);border-radius:var(--ops-radius);box-shadow:var(--ops-shadow);padding:1rem 1.1rem 1.15rem}.ops-dash-card__head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem}.ops-dash-card__head h2{margin:0;font-size:.95rem;font-weight:750}.ops-dash-card__head a{font-size:.78rem;color:var(--ops-primary);text-decoration:none;white-space:nowrap}.ops-overview-mid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.9fr);grid-gap:1rem;gap:1rem}@media (max-width:1100px){.ops-overview-mid{grid-template-columns:1fr}}.ops-topo-legend{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin-bottom:.65rem;font-size:.75rem;color:var(--ops-muted)}.ops-topo-legend strong{color:var(--ops-fg,#0f172a)}.ops-dash-card--topology .ops-flow{margin-bottom:0}.ops-resource-charts{display:flex;flex-direction:column;gap:.85rem}.ops-resource-row__meta{font-size:.8rem;margin-bottom:.25rem}.ops-resource-row__spark{width:100%;height:36px}.ops-health-donuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem}.ops-donut{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center}.ops-donut--ok{--donut-color:var(--sev-ok,#16a34a)}.ops-donut--warning{--donut-color:var(--sev-warning,#d97706)}.ops-donut--critical{--donut-color:var(--sev-critical,#dc2626)}.ops-donut__ring{width:88px;height:88px;border-radius:50%;display:grid;place-items:center}.ops-donut__ring span{width:58px;height:58px;border-radius:50%;background:var(--ops-bg-1);display:grid;place-items:center;font-weight:750;font-size:.95rem}.ops-overview-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem}@media (max-width:1100px){.ops-overview-panels{grid-template-columns:1fr}}.ops-panel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.ops-panel-list a{display:grid;grid-template-columns:auto 1fr auto;grid-gap:.55rem;gap:.55rem;align-items:start;text-decoration:none;color:inherit;padding:.45rem .35rem;border-radius:8px}.ops-panel-list a:hover{background:rgba(79,70,229,.06)}.ops-panel-list strong{display:block;font-size:.86rem;font-weight:650}.ops-panel-list .admin-muted{display:block;font-size:.72rem}.ops-panel-list time{font-size:.72rem;color:var(--ops-muted);white-space:nowrap}.ops-compact-table{width:100%;border-collapse:collapse;font-size:.85rem;table-layout:fixed}.ops-compact-table td,.ops-compact-table th{text-align:left;padding:.45rem .35rem;border-bottom:1px solid var(--ops-border);vertical-align:middle}.ops-compact-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ops-muted)}.ops-compact-table td:first-child,.ops-compact-table th:first-child{width:5.5rem}.ops-compact-table td:nth-child(3),.ops-compact-table th:nth-child(3){width:7.5rem}.ops-compact-table td:nth-child(4),.ops-compact-table th:nth-child(4){width:4.5rem}.ops-compact-table__incident{max-width:0}.ops-compact-table__incident a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;text-decoration:none;font-weight:550}.ops-compact-table__incident a:hover{color:var(--ops-primary,#4f46e5)}.ops-compact-table__meta,.ops-compact-table__time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.ops-alert-summary{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.ops-alert-summary li{display:flex;justify-content:space-between;align-items:center;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--ops-border);font-size:.88rem}.ops-alert-summary__critical{background:#fef2f2;border-color:rgba(220,38,38,.25)}.ops-alert-summary__warning{background:#fffbeb;border-color:rgba(217,119,6,.25)}.ops-alert-summary__info{background:#eff6ff;border-color:rgba(37,99,235,.22)}.ops-alert-summary__total{margin:.75rem 0 0;font-size:.8rem;color:var(--ops-muted)}.ops-platform-footer{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.65rem;gap:.65rem}.ops-platform-tile{display:flex;flex-direction:column;gap:.35rem;padding:.75rem .85rem;border-radius:var(--ops-radius);border:1px solid var(--ops-border);background:var(--ops-bg-1);box-shadow:var(--ops-shadow);text-decoration:none;color:inherit}.ops-platform-tile:hover{border-color:rgba(79,70,229,.35)}.ops-platform-tile__label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ops-muted)}.ops-platform-tile strong{font-size:.88rem}.ops-shell-tools__clock{margin-right:auto;font-size:.78rem;color:var(--ops-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops-topbar{display:flex;align-items:center;gap:.85rem;margin:0 0 1rem;padding:.55rem .75rem;background:var(--ops-bg-1);border:1px solid var(--ops-border);border-radius:14px;box-shadow:var(--ops-shadow)}.ops-topbar__search{flex:1 1;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:40px;padding:0 .9rem;border-radius:999px;border:1px solid var(--ops-border);background:#f8fafc;color:var(--ops-muted);cursor:pointer;font:inherit;font-size:.88rem}.ops-topbar__search kbd{font-size:.72rem;padding:.15rem .4rem;border-radius:6px;border:1px solid var(--ops-border);background:#fff}.ops-topbar__right{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.ops-topbar__clock{font-size:.8rem;color:var(--ops-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.ops-topbar__user{display:flex;align-items:center;gap:.5rem;padding-right:.25rem}.ops-topbar__avatar{width:32px;height:32px;border-radius:50%;color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:700}.ops-topbar__user strong{display:block;font-size:.8rem;line-height:1.1}.ops-topbar__user span{display:block;font-size:.68rem;color:var(--ops-muted)}.ops-kpi-card{position:relative;overflow:hidden}.ops-kpi-card__icon--info{color:#2563eb;background:#eff6ff}.ops-kpi-card__icon--accent{color:#4f46e5;background:#eef2ff}.ops-kpi-card__icon--ok{color:#16a34a;background:#f0fdf4}.ops-kpi-card__icon--warn{color:#d97706;background:#fffbeb}.ops-kpi-card__icon--critical{color:#dc2626;background:#fef2f2}.ops-kpi-card__icon--default{color:#64748b;background:#f1f5f9}.ops-kpi-card__value--ok{color:#15803d}.ops-kpi-card__value--critical{color:#b91c1c}.ops-kpi-card__value--warn{color:#c2410c}.ops-kpi-card__value--info{color:#1d4ed8}.ops-kpi-card__value--accent{color:#4338ca}.ops-kpi-card__spark{width:100%;height:34px;margin-top:.35rem}.ops-kpi-card__sparkline-bar{height:3px;border-radius:999px;margin-top:auto;background:#e2e8f0}.ops-kpi-card__sparkline-bar--ok{background:#86efac}.ops-kpi-card__sparkline-bar--info{background:#93c5fd}.ops-kpi-card__sparkline-bar--accent{background:#a5b4fc}.ops-kpi-card__sparkline-bar--warn{background:#fdba74}.ops-kpi-card__sparkline-bar--critical{background:#fca5a5}.ops-sparkline--ok path{stroke:#16a34a}.ops-sparkline--ok .ops-sparkline__area{fill:rgba(22,163,74,.12)}.ops-sparkline--info path{stroke:#2563eb}.ops-sparkline--info .ops-sparkline__area{fill:rgba(37,99,235,.12)}.ops-sparkline--accent path{stroke:#4f46e5}.ops-sparkline--accent .ops-sparkline__area{fill:rgba(79,70,229,.12)}.ops-sparkline--warn path{stroke:#d97706}.ops-sparkline--warn .ops-sparkline__area{fill:rgba(217,119,6,.12)}.ops-sparkline--critical path{stroke:#dc2626}.ops-sparkline--critical .ops-sparkline__area{fill:rgba(220,38,38,.12)}.ops-overview-mid-right{display:flex;flex-direction:column;gap:1rem}.ops-range-chip{font-size:.72rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--ops-border);color:var(--ops-muted);background:#f8fafc}.ops-resource-charts--cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.ops-resource-col{display:flex;flex-direction:column;gap:.25rem}.ops-resource-col__label{font-size:.72rem;color:var(--ops-muted);text-transform:uppercase;letter-spacing:.03em}.ops-resource-col strong{font-size:1.15rem}.ops-topo-layout{grid-template-columns:148px minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:stretch}@media (max-width:900px){.ops-resource-charts--cols,.ops-topo-layout{grid-template-columns:1fr}}.ops-topo-side-legend{list-style:none;margin:0;display:flex;flex-direction:column;gap:.7rem;border-right:1px solid var(--ops-border);padding:.35rem .85rem .35rem 0}.ops-topo-side-legend li{display:flex;align-items:center;gap:.55rem}.ops-topo-side-legend__icon{width:28px;height:28px;border-radius:8px;flex-shrink:0;background:#eff6ff;box-shadow:inset 0 0 0 1px rgba(37,99,235,.15)}.ops-topo-side-legend__icon--origin{background:#eff6ff;box-shadow:inset 0 0 0 1px rgba(37,99,235,.2)}.ops-topo-side-legend__icon--relay{background:#f5f3ff;box-shadow:inset 0 0 0 1px rgba(124,58,237,.2)}.ops-topo-side-legend__icon--edge{background:#ecfdf5;box-shadow:inset 0 0 0 1px rgba(16,185,129,.25)}.ops-topo-side-legend__icon--turn{background:#fff7ed;box-shadow:inset 0 0 0 1px rgba(234,88,12,.2)}.ops-topo-side-legend__icon--manager{background:#f8fafc;box-shadow:inset 0 0 0 1px rgba(100,116,139,.25)}.ops-topo-side-legend__text{display:flex;flex-direction:column;gap:.05rem;min-width:0}.ops-topo-side-legend__text em{font-style:normal;font-size:.72rem;color:var(--ops-muted);font-weight:600}.ops-topo-side-legend__status{font-size:.78rem;font-weight:700;color:#0f172a}.ops-topo-side-legend__status--ok{color:#15803d}.ops-topo-side-legend__status--warning{color:#c2410c}.ops-topo-side-legend__status--critical{color:#b91c1c}.ops-topo-side-legend__status--info{color:#1d4ed8}.ops-topo-side-legend__dot{width:8px;height:8px;border-radius:50%;background:#94a3b8}.ops-topo-side-legend__dot--ok{background:#16a34a}.ops-topo-side-legend__dot--warning{background:#d97706}.ops-topo-side-legend__dot--critical{background:#dc2626}.ops-topo-side-legend__dot--info{background:#2563eb}.ops-topo-flow{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:.25rem .15rem .35rem}.ops-topo-flow__spine{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:nowrap;min-width:0}.ops-topo-flow__connector{display:flex;align-items:center;flex:0 0 auto;width:28px;margin:0 .15rem}.ops-topo-flow__line{flex:1 1;height:2px;background:#93c5fd;border-radius:999px}.ops-topo-flow__chevron{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #60a5fa}.ops-topo-flow__branch{display:flex;flex-direction:column;align-items:center;height:18px;margin-top:2px}.ops-topo-flow__stem{width:2px;height:10px;background:#93c5fd;border-radius:999px}.ops-topo-flow__stem--down{height:12px}.ops-topo-flow__rail{width:min(78%,340px);height:2px;background:repeating-linear-gradient(90deg,#93c5fd 0 6px,transparent 6px 11px);border-radius:999px}.ops-topo-flow__rail--join{margin-bottom:0}.ops-topo-flow__join{display:flex;flex-direction:column;align-items:center;height:22px}.ops-topo-flow__edges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.55rem;gap:.55rem;justify-items:center;padding:0 .35rem}.ops-topo-flow__edges--empty{grid-template-columns:1fr}.ops-topo-flow__edge-slot{display:flex;flex-direction:column;align-items:center;width:100%;max-width:150px}.ops-topo-flow__drop{width:2px;height:10px;background:#93c5fd;border-radius:999px;margin-bottom:.2rem}.ops-topo-flow__students{display:flex;justify-content:center;margin-top:.15rem}.ops-topo-node{position:relative;display:flex;flex-direction:column;gap:.1rem;width:100%;max-width:148px;min-width:108px;padding:.65rem .7rem .55rem;border-radius:12px;border:1.5px solid var(--ops-border);background:#fff;text-decoration:none;box-shadow:0 4px 14px rgba(15,23,42,.05)}.ops-topo-node--teacher{border-color:rgba(37,99,235,.35);max-width:118px}.ops-topo-node--origin{border-color:rgba(37,99,235,.45);max-width:160px}.ops-topo-node--relay{border-color:rgba(124,58,237,.4);max-width:130px}.ops-topo-node--edge{border-color:rgba(16,185,129,.4);max-width:148px}.ops-topo-node--students{border-color:rgba(124,58,237,.35);max-width:130px}.ops-topo-node--ok{border-color:rgba(22,163,74,.45)}.ops-topo-node--warning{border-color:rgba(217,119,6,.5)}.ops-topo-node--critical{border-color:rgba(220,38,38,.5)}.ops-topo-node__role{font-size:.62rem;letter-spacing:.04em;color:var(--ops-muted)}.ops-topo-node__title{font-size:.78rem;line-height:1.2}.ops-topo-node__detail,.ops-topo-node__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-topo-node__detail{font-size:.7rem;color:var(--ops-muted)}.ops-topo-node__bar{display:block;height:4px;margin-top:.35rem;border-radius:999px;background:#e2e8f0;overflow:hidden}.ops-topo-node__bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#34d399,#10b981)}.ops-topo-node__glyph{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;margin-bottom:.2rem}.ops-topo-node__glyph,.ops-topo-node__glyph--origin{background:#eff6ff;color:#2563eb}.ops-topo-node__glyph--relay{background:#f5f3ff;color:#7c3aed}.ops-topo-node__glyph--edge{background:#ecfdf5;color:#059669}.ops-topo-node__glyph--students{background:#f5f3ff;color:#7c3aed}.ops-topo-node__glyph--teacher{background:#eff6ff;color:#2563eb}.ops-topo-node__dot{position:absolute;top:.55rem;right:.55rem;width:8px;height:8px;border-radius:50%;background:#94a3b8}.ops-topo-node__dot--ok{background:#16a34a}.ops-topo-node__dot--warning{background:#d97706}.ops-topo-node__dot--critical{background:#dc2626}.ops-topo-node__dot--info{background:#2563eb}@media (max-width:1100px){.ops-topo-flow__spine{flex-wrap:wrap;justify-content:flex-start;gap:.35rem}.ops-topo-flow__connector{width:18px}.ops-topo-flow__edges{grid-template-columns:1fr}}.ops-topo-branch,.ops-topo-branch__edge-col,.ops-topo-branch__fan,.ops-topo-branch__spine{display:contents}.ops-topo-branch__arrow,.ops-topo-branch__v-arrow{display:none}.ops-donut--info{--donut-color:#2563eb}.ops-alert-summary--rows{gap:.75rem}.ops-alert-summary--rows li{display:grid;grid-template-columns:auto 1fr auto;grid-gap:.65rem;gap:.65rem;align-items:center;background:transparent;border:none;padding:.35rem 0;border-bottom:1px solid var(--ops-border);border-radius:0}.ops-alert-dot{width:10px;height:10px;border-radius:50%}.ops-alert-dot--critical{background:#dc2626}.ops-alert-dot--warning{background:#d97706}.ops-alert-dot--info{background:#2563eb}.ops-quality-bars{display:inline-flex;align-items:flex-end;gap:2px;height:16px}.ops-quality-bars i{display:block;width:3px;border-radius:1px;background:#cbd5e1}.ops-quality-bars i:first-child{height:4px}.ops-quality-bars i:nth-child(2){height:7px}.ops-quality-bars i:nth-child(3){height:10px}.ops-quality-bars i:nth-child(4){height:13px}.ops-quality-bars i:nth-child(5){height:16px}.ops-quality-bars--green i{background:#16a34a}.ops-quality-bars--amber i:nth-child(-n+3){background:#d97706}.ops-quality-bars--red i:nth-child(-n+2){background:#dc2626}.ops-quality-bars em{margin-left:.4rem;font-style:normal;font-size:.75rem;color:var(--ops-muted)}.ops-platform-tile__status{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--ops-muted)}.ops-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8}.ops-dot--ok{background:#16a34a}.ops-dot--warning{background:#d97706}.ops-dot--critical{background:#dc2626}.ops-dot--unknown{background:#94a3b8}.ops-dot--info{background:#2563eb}.app-sidebar__status{display:flex;gap:.55rem;align-items:flex-start;padding:.65rem .75rem;margin-bottom:.65rem;border-radius:10px;border:1px solid var(--ops-border);background:var(--ops-bg-0,#f8fafc);font-size:.75rem}.app-sidebar__status strong{display:block;font-size:.78rem}.app-sidebar__status span:last-child{color:var(--ops-muted);font-size:.68rem}.app-sidebar__status-dot{width:8px;height:8px;margin-top:.3rem;border-radius:50%;background:var(--sev-ok,#16a34a);flex-shrink:0}.app-sidebar__status--warning .app-sidebar__status-dot{background:var(--sev-warning,#d97706)}.app-sidebar__status--critical .app-sidebar__status-dot{background:var(--sev-critical,#dc2626)}.dash-layout--compact .ops-kpi-grid,.dash-layout--compact .ops-overview-dash{gap:.65rem}.dash-layout--compact .ops-dash-card{padding:.75rem .85rem}.dash-layout--compact .ops-topbar{margin-bottom:.65rem}.dash-layout--ops-theme{font-family:var(--font-ops-sans,var(--font-sans));letter-spacing:-.015em;background:#f8fafc;color:#0f172a;--ops-bg-0:#f8fafc;--ops-bg-1:#ffffff;--ops-bg-2:#f1f5f9;--ops-border:#e2e8f0;--ops-text:#0f172a;--ops-muted:#64748b;--ops-primary:#4f46e5;--ops-primary-soft:#eef2ff;--ops-radius:14px;--ops-shadow:0 1px 2px rgba(15,23,42,0.04),0 8px 24px rgba(15,23,42,0.035)}.dash-layout--ops-theme .dash-layout__main{padding:1rem 1.5rem 2rem;background:transparent}.dash-layout--ops-theme .app-sidebar{background:#ffffff;border-right:1px solid #e2e8f0;box-shadow:none}.dash-layout--ops-theme .app-sidebar__brand{color:#4f46e5;font-weight:750;letter-spacing:-.03em;font-size:1.12rem}.dash-layout--ops-theme .app-sidebar__item{color:#64748b;border-radius:10px;border-left:none;min-height:40px;font-weight:500}.dash-layout--ops-theme .app-sidebar__item:hover{background:#f8fafc;color:#0f172a}.dash-layout--ops-theme .app-sidebar__item.is-active{background:#eef2ff;color:#4338ca;font-weight:650;box-shadow:none}.dash-layout--ops-theme .app-sidebar__group-label{color:#94a3b8;font-size:.65rem;letter-spacing:.1em}.dash-layout--ops-theme .btn--primary{background:#2563eb;border-color:#2563eb;color:#fff;border-radius:10px;font-weight:650;box-shadow:0 1px 2px rgba(37,99,235,.25)}.dash-layout--ops-theme .btn--primary:hover:not(:disabled){background:#1d4ed8}.dash-layout--ops-theme .ops-topbar{margin:0 0 1.15rem;padding:.65rem .85rem;background:#ffffff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:var(--ops-shadow)}.dash-layout--ops-theme .ops-topbar__search{background:#f8fafc;border:1px solid #e2e8f0;color:#94a3b8;border-radius:999px;min-height:42px;font-size:.9rem}.dash-layout--ops-theme .ops-page-header{margin-bottom:1.25rem;align-items:flex-end}.dash-layout--ops-theme .ops-page-header h1{margin:0;font-size:1.65rem;font-weight:750;letter-spacing:-.04em;color:#0f172a}.dash-layout--ops-theme .ops-page-header__sub{margin:.3rem 0 0;color:#64748b;font-size:.9rem}.dash-layout--ops-theme .ops-overview-dash{display:flex;flex-direction:column;gap:1.15rem}.dash-layout--ops-theme .ops-kpi-grid{gap:.85rem;margin:0}.dash-layout--ops-theme .ops-kpi-grid--6{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width:1280px){.dash-layout--ops-theme .ops-kpi-grid--6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.dash-layout--ops-theme .ops-kpi-grid--6{grid-template-columns:repeat(2,minmax(0,1fr))}}.dash-layout--ops-theme .ops-kpi-card{position:relative;display:flex;flex-direction:column;min-height:168px;padding:1.1rem 1.15rem 0;border-radius:14px;border:1px solid #e8edf5;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 20px rgba(15,23,42,.03);gap:0;overflow:hidden}.dash-layout--ops-theme .ops-kpi-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.dash-layout--ops-theme .ops-kpi-card__label{margin:0;font-size:.8rem;font-weight:600;color:#64748b;letter-spacing:0}.dash-layout--ops-theme .ops-kpi-card__icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.dash-layout--ops-theme .ops-kpi-card__icon--ok{color:#059669;background:#ecfdf5}.dash-layout--ops-theme .ops-kpi-card__icon--info{color:#2563eb;background:#eff6ff}.dash-layout--ops-theme .ops-kpi-card__icon--accent{color:#7c3aed;background:#f5f3ff}.dash-layout--ops-theme .ops-kpi-card__icon--warn{color:#ea580c;background:#fff7ed}.dash-layout--ops-theme .ops-kpi-card__icon--critical{color:#dc2626;background:#fef2f2}.dash-layout--ops-theme .ops-kpi-card__icon--default{color:#64748b;background:#f1f5f9}.dash-layout--ops-theme .ops-kpi-card__value{margin:0;font-size:2rem;font-weight:750;letter-spacing:-.045em;line-height:1.05;color:#0f172a}.dash-layout--ops-theme .ops-kpi-card__value--dark{color:#0f172a}.dash-layout--ops-theme .ops-kpi-card__value--ok{color:#059669}.dash-layout--ops-theme .ops-kpi-card__value--warn{color:#d97706}.dash-layout--ops-theme .ops-kpi-card__value--critical{color:#dc2626}.dash-layout--ops-theme .ops-kpi-card__value--accent,.dash-layout--ops-theme .ops-kpi-card__value--default,.dash-layout--ops-theme .ops-kpi-card__value--info{color:#0f172a}.dash-layout--ops-theme .ops-kpi-card__meta{margin-top:.25rem;margin-bottom:.15rem}.dash-layout--ops-theme .ops-kpi-card__sub,.dash-layout--ops-theme .ops-kpi-card__trend{margin:0;font-size:.78rem;font-weight:500;color:#94a3b8}.dash-layout--ops-theme .ops-kpi-card__chart{margin-top:auto;margin-left:-1.15rem;margin-right:-1.15rem;height:52px;overflow:hidden}.dash-layout--ops-theme .ops-kpi-card__chart .ops-sparkline{display:block;width:100%;height:52px}.dash-layout--ops-theme .ops-sparkline--empty{opacity:.85}.dash-layout--ops-theme .ops-page-header__actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.dash-layout--ops-theme .ops-page-header__actions .btn--primary{border-radius:10px;padding:.55rem .95rem;font-weight:650}.dash-layout--ops-theme .ops-dash-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:var(--ops-shadow);padding:1.1rem 1.2rem 1.15rem}.dash-layout--ops-theme .ops-dash-card__head{margin-bottom:1rem}.dash-layout--ops-theme .ops-dash-card__head h2{font-size:.98rem;font-weight:700;letter-spacing:-.02em;color:#0f172a}.dash-layout--ops-theme .ops-dash-card__head a{color:#4f46e5;font-weight:600;font-size:.78rem}.dash-layout--ops-theme .ops-overview-mid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.9fr);gap:1rem}.dash-layout--ops-theme .ops-overview-mid-right{gap:1rem}.dash-layout--ops-theme .ops-overview-panels{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(220px,.75fr);gap:1rem}@media (max-width:1100px){.dash-layout--ops-theme .ops-overview-panels{grid-template-columns:1fr}}.dash-layout--ops-theme .ops-topo-layout{grid-template-columns:150px minmax(0,1fr);gap:1.1rem}.dash-layout--ops-theme .ops-topo-side-legend{border-right:1px solid #e2e8f0;gap:.85rem;padding:.25rem .9rem .25rem 0}.dash-layout--ops-theme .ops-topo-node{border-radius:12px;border-width:1.5px;box-shadow:0 2px 8px rgba(15,23,42,.04);background:#fff}.dash-layout--ops-theme .ops-topo-flow__drop,.dash-layout--ops-theme .ops-topo-flow__line,.dash-layout--ops-theme .ops-topo-flow__stem{background:#93c5fd}.dash-layout--ops-theme .ops-topo-flow__chevron{border-left-color:#60a5fa}.dash-layout--ops-theme .ops-topo-flow__rail{background:repeating-linear-gradient(90deg,#93c5fd 0 5px,transparent 5px 10px)}.ops-resource-stack{display:flex;flex-direction:column;gap:.95rem}.ops-resource-row{display:flex;flex-direction:column;gap:.35rem;min-width:0}.ops-resource-row__meta{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.ops-resource-row__meta span{font-size:.72rem;font-weight:650;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.ops-resource-row__meta strong{font-size:1.2rem;font-weight:750;letter-spacing:-.03em;color:#0f172a;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops-resource-row__chart{height:48px;width:100%;overflow:hidden;border-radius:8px;background:#f8fafc}.ops-resource-row__chart .ops-sparkline{display:block;width:100%;height:48px}.ops-resource-row__hint{font-size:.68rem;color:#94a3b8;margin-top:-.1rem}.ops-session-card__title{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.ops-session-card__title a{min-width:0;margin-right:.5rem}.ops-session-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.55rem;gap:.55rem;margin-bottom:.9rem}.ops-session-stats>div{display:flex;flex-direction:column;gap:.2rem;padding:.55rem .6rem;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.ops-session-stats>div span{display:block;font-size:.65rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#64748b;line-height:1.2}.ops-session-stats>div strong{display:block;font-size:1.05rem;font-weight:750;color:#0f172a;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.ops-session-fill__head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.ops-session-fill__head span,.ops-session-fill__head strong{display:inline}.dash-layout--ops-theme .ops-session-stats>div{background:#f8fafc;border-color:#e2e8f0}.dash-layout--ops-theme .ops-session-pill--red{background:#fef2f2;color:#dc2626}.dash-layout--ops-theme .ops-compact-table{font-size:.84rem}.dash-layout--ops-theme .ops-compact-table th{color:#94a3b8;font-weight:650;border-bottom-color:#e2e8f0}.dash-layout--ops-theme .ops-compact-table td{border-bottom-color:#f1f5f9;padding:.55rem .4rem}.dash-layout--ops-theme .ops-sev{border-radius:999px;font-weight:650}.dash-layout--ops-theme .ops-alert-summary--rows li{border-bottom-color:#f1f5f9;padding:.55rem 0;font-size:.88rem}.dash-layout--ops-theme .ops-alert-summary__total{color:#64748b}.dash-layout--ops-theme .ops-platform-footer{gap:.75rem;padding:.15rem 0 0}.dash-layout--ops-theme .ops-platform-tile{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:var(--ops-shadow);padding:.85rem .9rem;min-height:88px}.dash-layout--ops-theme .ops-platform-tile__label{color:#94a3b8;font-size:.65rem}.dash-layout--ops-theme .ops-platform-tile__status{font-size:.78rem;font-weight:650;color:#0f172a}.dash-layout--ops-theme .ops-platform-tile strong{font-size:.9rem;color:#0f172a}.dash-layout--ops-theme .infra-metrics-note{color:#94a3b8;font-size:.72rem;margin-top:.35rem}.ops-recent-nav--hidden,.ops-recent-nav[hidden]{display:none!important}.dash-layout--ops-theme .app-sidebar__status{background:#fff;border:1px solid #e2e8f0;border-radius:12px}.dash-layout--ops-theme .app-sidebar__status--warning{background:#fff7ed;border-color:#fed7aa}.dash-layout--ops-theme .app-sidebar__status--critical{background:#fef2f2;border-color:#fecaca}.ops-dash-card__muted{color:#94a3b8;font-weight:550;font-size:.86em}.ops-dash-card--resources{overflow:hidden}.ops-res-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1.1rem 1.25rem;gap:1.1rem 1.25rem}.ops-res-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-res-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:900px){.ops-res-grid,.ops-res-grid--2,.ops-res-grid--3{grid-template-columns:1fr}}.ops-res-grid__note{grid-column:1/-1;margin:0;font-size:.75rem;color:#94a3b8}.ops-res-col{min-width:0;display:flex;flex-direction:column;gap:.2rem}.ops-res-col__label{font-size:.8rem;font-weight:600;color:#64748b}.ops-res-col--info .ops-res-col__label{color:#2563eb}.ops-res-col--accent .ops-res-col__label{color:#7c3aed}.ops-res-col--ok .ops-res-col__label{color:#059669}.ops-res-col--warn .ops-res-col__label{color:#d97706}.ops-res-col--muted .ops-res-col__label{color:#334155}.ops-res-col__value{font-size:1.65rem;font-weight:750;letter-spacing:-.04em;color:#0f172a;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15;margin-bottom:.35rem}.ops-res-col__chart{width:100%;min-height:118px}.ops-res-chart{display:block;width:100%;height:118px}.ops-res-chart__grid{stroke:#e2e8f0;stroke-width:1}.ops-res-chart__axis{font-size:8px}.ops-res-chart__axis,.ops-res-chart__empty{fill:#94a3b8;font-family:var(--font-ops-sans,var(--font-sans))}.ops-res-chart__empty{font-size:10px}.dash-layout--ops-theme .ops-overview-mid{grid-template-columns:minmax(0,1.2fr) minmax(340px,1fr)}.dash-layout--ops-theme .ops-dash-card--resources .ops-res-grid{gap:.85rem 1rem}.dash-layout--ops-theme .ops-res-col__value{font-size:1.45rem}.ops-dash-card--topology{overflow:hidden}.ops-dash-card__head--topo,.ops-topo-title{align-items:center}.ops-topo-title{display:flex;gap:.65rem;flex-wrap:wrap}.ops-topo-title h2{margin:0}.ops-topo-full-link{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:10px;border:1px solid #c7d2fe;background:#fff;color:#4f46e5!important;font-size:.8rem!important;font-weight:650!important;text-decoration:none}.ops-topo-full-link:hover{background:#eef2ff}.ops-topo-layout{display:grid;grid-template-columns:168px minmax(0,1fr);grid-gap:1.25rem;gap:1.25rem;align-items:start}@media (max-width:960px){.ops-topo-layout{grid-template-columns:1fr}}.ops-topo-legend-card{list-style:none;margin:0;padding:.75rem;display:flex;flex-direction:column;gap:.65rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px}.ops-topo-legend-card__item{display:flex;align-items:center;gap:.65rem}.ops-topo-legend-card__icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.ops-topo-legend-card__icon--origin{background:#dbeafe;color:#2563eb}.ops-topo-legend-card__icon--relay{background:#ede9fe;color:#7c3aed}.ops-topo-legend-card__icon--edge{background:#ccfbf1;color:#0d9488}.ops-topo-legend-card__icon--turn{background:#ffedd5;color:#ea580c}.ops-topo-legend-card__icon--manager{background:#fce7f3;color:#db2777}.ops-topo-legend-card__text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.ops-topo-legend-card__text strong{font-size:.84rem;font-weight:700;color:#0f172a}.ops-topo-legend-card__text em{font-style:normal;font-size:.74rem;font-weight:650}.ops-topo-legend-card__text em.is-ok{color:#059669}.ops-topo-legend-card__text em.is-bad{color:#dc2626}.ops-topo-map{display:flex;flex-direction:column;align-items:center;gap:0;min-width:0;padding:.35rem .25rem .5rem}.ops-topo-map__spine{display:flex;align-items:center;justify-content:center;gap:.35rem;flex-wrap:wrap;width:100%}.ops-topo-map__arrow{width:28px;height:2px;background:#94a3b8;position:relative;flex:0 0 auto}.ops-topo-map__arrow:after{content:"";position:absolute;right:-1px;top:50%;transform:translateY(-50%);border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #94a3b8}.ops-topo-map__fork,.ops-topo-map__join{width:min(100%,420px);height:28px;margin:.15rem 0}.ops-topo-map__fork-svg{display:block;width:100%;height:28px}.ops-topo-map__edges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;width:min(100%,520px);justify-items:center}.ops-topo-map__edges.is-empty{grid-template-columns:1fr;width:min(100%,180px)}.ops-topo-map__students{display:flex;justify-content:center;width:100%;margin-top:.15rem}.ops-topo-card{position:relative;display:flex;align-items:flex-start;gap:.55rem;width:100%;max-width:168px;min-width:132px;padding:.7rem .75rem;border-radius:12px;border:1.5px solid #e2e8f0;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.04);text-decoration:none;color:inherit}.ops-topo-card--students,.ops-topo-card--teacher{max-width:140px;background:#fff;border-color:#e2e8f0}.ops-topo-card--origin{background:#eff6ff;border-color:#93c5fd}.ops-topo-card--relay{background:#f5f3ff;border-color:#c4b5fd}.ops-topo-card--edge{background:#f0fdfa;border-color:#5eead4;max-width:156px}.ops-topo-card__glyph{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;background:#f1f5f9;color:#64748b}.ops-topo-card__glyph--origin{background:#dbeafe;color:#2563eb}.ops-topo-card__glyph--relay{background:#ede9fe;color:#7c3aed}.ops-topo-card__glyph--edge{background:#ccfbf1;color:#0d9488}.ops-topo-card__glyph--students,.ops-topo-card__glyph--teacher{background:#f1f5f9;color:#64748b}.ops-topo-card__body{display:flex;flex-direction:column;gap:.08rem;min-width:0}.ops-topo-card__body strong{font-size:.84rem;font-weight:750;line-height:1.2;color:#0f172a}.ops-topo-card--origin .ops-topo-card__body strong{color:#1d4ed8}.ops-topo-card--relay .ops-topo-card__body strong{color:#6d28d9}.ops-topo-card--edge .ops-topo-card__body strong{color:#0f766e}.ops-topo-card__body span{font-size:.7rem;color:#64748b;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-topo-card__dot{position:absolute;top:.55rem;right:.55rem;width:8px;height:8px;border-radius:50%}.ops-topo-card__dot--ok{background:#10b981}.ops-topo-card__dot--warning{background:#f59e0b}.ops-topo-card__dot--critical{background:#ef4444}@media (max-width:700px){.ops-topo-map__edges{grid-template-columns:1fr;width:100%}.ops-topo-map__fork,.ops-topo-map__join{display:none}}.ops-session-note{margin:0 0 .75rem;padding:.55rem .7rem;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:.78rem;line-height:1.35}.ops-noc-page{--noc-bg:#f7f9fc;--noc-card:#ffffff;--noc-border:#e9eef5;--noc-text:#111827;--noc-secondary:#6b7280;--noc-muted:#94a3b8;--noc-ok:#22c55e;--noc-warn:#f59e0b;--noc-crit:#ef4444;--noc-info:#06b6d4;--noc-primary:#2563eb;--noc-purple:#7c3aed;--noc-radius:20px;--noc-radius-lg:24px;--noc-pad:24px;--noc-gap:24px;--noc-section:32px;--noc-shadow:0 8px 30px rgba(15,23,42,0.05);--noc-shadow-hover:0 15px 45px rgba(15,23,42,0.1);--noc-ease:150ms ease;--noc-detail-w:340px;--noc-max:1600px;background:var(--noc-bg);color:var(--noc-text);font-family:var(--font-ops-sans,"DM Sans",var(--font-sans));font-size:14px;font-weight:500;padding:var(--noc-section);min-height:100%;box-sizing:border-box}.ops-noc-shell{max-width:var(--noc-max);margin:0 auto;width:100%}.ops-noc-page *,.ops-noc-page :after,.ops-noc-page :before{box-sizing:border-box}.ops-noc-page :focus-visible{outline:2px solid var(--noc-primary);outline-offset:2px}.ops-noc-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--noc-gap);flex-wrap:wrap;margin-bottom:var(--noc-section)}.ops-noc-page__title{margin:0;font-size:36px;font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--noc-text)}.ops-noc-page__sub{margin:8px 0 0;font-size:14px;font-weight:500;color:var(--noc-secondary);line-height:1.4}.ops-noc-page__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ops-noc-env{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--noc-primary);background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.18)}.ops-noc-section{margin-bottom:var(--noc-section)}.ops-noc-section__title{margin:0 0 16px;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--noc-text)}.ops-noc-section__desc{margin:-8px 0 16px;font-size:13px;font-weight:500;color:var(--noc-secondary)}.ops-noc-card{background:var(--noc-card);border:1px solid var(--noc-border);border-radius:var(--noc-radius);box-shadow:var(--noc-shadow);padding:var(--noc-pad)}.ops-noc-card__title{margin:0;font-size:15px;font-weight:600;color:var(--noc-text)}.ops-noc-card__meta{margin:4px 0 0;font-size:13px;font-weight:500;color:var(--noc-secondary)}.ops-noc-metric{margin:0;font-size:32px;font-weight:700;letter-spacing:-.04em;line-height:1.1;color:var(--noc-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops-noc-metric--sm{font-size:24px}.ops-noc-metric--ok{color:var(--noc-ok)}.ops-noc-metric--warn{color:var(--noc-warn)}.ops-noc-metric--crit{color:var(--noc-crit)}.ops-noc-metric--primary{color:var(--noc-primary)}.ops-noc-metric--purple{color:var(--noc-purple)}.ops-noc-metric__label{display:block;margin-top:4px;font-size:13px;font-weight:500;color:var(--noc-muted)}.ops-noc-hero{position:relative;overflow:hidden;min-height:160px;border-radius:var(--noc-radius-lg);border:1px solid var(--noc-border);background:radial-gradient(120% 140% at 0 0,rgba(37,99,235,.12),transparent 55%),radial-gradient(90% 120% at 100% 0,rgba(124,58,237,.08),transparent 50%),linear-gradient(135deg,#ffffff,#f3f7ff 55%,#eef4ff);box-shadow:var(--noc-shadow);padding:24px 28px;flex-direction:column;gap:20px}.ops-noc-hero,.ops-noc-hero__top{display:flex;justify-content:space-between}.ops-noc-hero__top{align-items:flex-start;gap:16px;flex-wrap:wrap}.ops-noc-hero__label{margin:0;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--noc-secondary)}.ops-noc-hero__title{margin:6px 0 0;display:flex;align-items:center;gap:10px;font-size:28px;font-weight:700;letter-spacing:-.03em;color:var(--noc-text)}.ops-noc-hero__pulse{width:10px;height:10px;border-radius:50%;background:var(--noc-ok);box-shadow:0 0 0 0 rgba(34,197,94,.45);animation:ops-noc-pulse 1.8s ease infinite}.ops-noc-hero__pulse.is-warn{background:var(--noc-warn);box-shadow:0 0 0 0 rgba(245,158,11,.45)}.ops-noc-hero__pulse.is-crit{background:var(--noc-crit);box-shadow:0 0 0 0 rgba(239,68,68,.45)}.ops-noc-hero__meta{font-size:12px;font-weight:500;color:var(--noc-secondary)}.ops-noc-hero__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:16px;gap:16px}.ops-noc-hero__cell{min-width:0}.ops-noc-hero__cell-label{display:block;margin-bottom:6px;font-size:12px;font-weight:500;color:var(--noc-secondary)}.ops-noc-hero__cell-value{display:block;font-size:22px;font-weight:700;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--noc-text);line-height:1.1}.ops-noc-hero__spark{margin-top:8px;height:28px}.ops-noc-hero__spark svg{width:100%;height:100%;display:block}.ops-noc-topo-card{background:var(--noc-card);border:1px solid var(--noc-border);border-radius:var(--noc-radius-lg);box-shadow:var(--noc-shadow);padding:var(--noc-pad)}.ops-noc-topo-card .ops-topo-map{margin-top:8px}.ops-noc-honest-spark{width:100%;height:36px;display:block}.ops-noc-honest-spark--empty{display:flex;align-items:center;height:36px;font-size:12px;font-weight:500;color:var(--noc-muted)}.ops-noc-status-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:var(--noc-gap);gap:var(--noc-gap);margin-bottom:var(--noc-section)}.ops-noc-status-row--5{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(220px,1.35fr)}.ops-noc-status-card--system{display:flex;flex-direction:row;align-items:center;gap:16px;min-height:112px;background:linear-gradient(135deg,#ffffff,#f3faf6)}.ops-noc-status-card--system .ops-noc-status-card__sys-icon{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;background:rgba(34,197,94,.12);color:var(--noc-ok);flex-shrink:0}.ops-noc-status-card--system.is-warn{background:linear-gradient(135deg,#ffffff,#fffbeb)}.ops-noc-status-card--system.is-warn .ops-noc-status-card__sys-icon{background:rgba(245,158,11,.14);color:var(--noc-warn)}.ops-noc-status-card--system.is-crit{background:linear-gradient(135deg,#ffffff,#fef2f2)}.ops-noc-status-card--system.is-crit .ops-noc-status-card__sys-icon{background:rgba(239,68,68,.12);color:var(--noc-crit)}.ops-noc-status-card__sys-title{margin:0;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--noc-secondary)}.ops-noc-status-card__sys-value{margin:4px 0 0;font-size:22px;font-weight:700;letter-spacing:-.03em;color:var(--noc-text)}.ops-noc-inv-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(240px,.95fr);grid-gap:var(--noc-gap);gap:var(--noc-gap);margin-bottom:var(--noc-section);align-items:stretch}.ops-noc-inv-card{position:relative;display:flex;flex-direction:column;gap:14px;min-height:210px;padding:20px;background:var(--noc-card);border:1px solid var(--noc-border);border-radius:16px;box-shadow:var(--noc-shadow);text-align:left;color:inherit;cursor:pointer;transition:transform var(--noc-ease),box-shadow var(--noc-ease),border-color var(--noc-ease)}.ops-noc-inv-card:hover{transform:translateY(-2px);box-shadow:var(--noc-shadow-hover)}.ops-noc-inv-card.is-selected{border-color:var(--noc-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12),var(--noc-shadow-hover)}.ops-noc-inv-card__tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ops-noc-inv-card__role{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--noc-primary)}.ops-noc-inv-card__role.is-manager{color:#0d9488}.ops-noc-inv-card__role.is-standby{color:var(--noc-purple)}.ops-noc-inv-card__role.is-edge{color:#ea580c}.ops-noc-inv-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--noc-secondary)}.ops-noc-inv-pill__dot{width:7px;height:7px;border-radius:50%;background:#94a3b8}.ops-noc-inv-pill.is-ok .ops-noc-inv-pill__dot{background:var(--noc-ok)}.ops-noc-inv-pill.is-warn .ops-noc-inv-pill__dot{background:var(--noc-warn)}.ops-noc-inv-pill.is-crit .ops-noc-inv-pill__dot{background:var(--noc-crit)}.ops-noc-inv-pill.is-info .ops-noc-inv-pill__dot{background:var(--noc-primary)}.ops-noc-inv-card__name{margin:0;font-size:18px;font-weight:700;letter-spacing:-.03em;color:var(--noc-text);line-height:1.2;word-break:break-word}.ops-noc-inv-metrics{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 16px;gap:14px 16px}.ops-noc-inv-metric__label{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--noc-muted);margin-bottom:4px}.ops-noc-inv-metric__value{display:block;font-size:22px;font-weight:700;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.ops-noc-inv-metric__spark{margin-top:6px;height:28px}.ops-noc-inv-metric__spark svg{width:100%;height:100%}.ops-noc-inv-metric__net{display:flex;flex-direction:column;gap:2px;font-size:12px;font-weight:500;color:var(--noc-secondary)}.ops-noc-inv-card__foot{margin-top:auto;font-size:12px;font-weight:500;color:var(--noc-muted)}.ops-noc-select-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:210px;padding:24px;text-align:center;background:#fbfcfe;border:1px dashed #d7dee9;border-radius:16px;color:var(--noc-secondary);box-shadow:none}.ops-noc-select-card__icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#eef2f7;color:#64748b}.ops-noc-select-card__title{margin:0;font-size:15px;font-weight:600;color:var(--noc-text)}.ops-noc-select-card.is-filled{align-items:flex-start;text-align:left;background:var(--noc-card);border-style:solid;border-color:var(--noc-border);box-shadow:var(--noc-shadow);gap:12px}.ops-noc-chart-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--noc-border);background:#f8fafc;color:var(--noc-secondary);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500}.ops-noc-cols{display:grid;grid-gap:var(--noc-section);gap:var(--noc-section);margin-bottom:var(--noc-section);align-items:start}.ops-noc-cols--mid{grid-template-columns:minmax(0,1.45fr) minmax(200px,.75fr) minmax(220px,.85fr) minmax(240px,.9fr);gap:var(--noc-gap)}.ops-noc-mid-card{display:flex;flex-direction:column;gap:16px;min-height:320px;padding:22px 22px 18px;background:var(--noc-card);border:1px solid var(--noc-border);border-radius:16px;box-shadow:var(--noc-shadow)}.ops-noc-mid-card__title{margin:0;font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--noc-text)}.ops-noc-mid-card__foot{margin-top:auto;padding-top:8px}.ops-noc-mid-card__link{font-size:13px;font-weight:600;color:var(--noc-primary);text-decoration:none}.ops-noc-mid-card__link:hover{text-decoration:underline}.ops-noc-inv-table{width:100%;border-collapse:collapse;font-size:13px}.ops-noc-inv-table th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--noc-muted);padding:0 8px 10px 0;border-bottom:1px solid var(--noc-border);white-space:nowrap}.ops-noc-inv-table td{padding:12px 8px 12px 0;border-bottom:1px solid #f1f5f9;vertical-align:middle;color:var(--noc-text)}.ops-noc-inv-table tr:last-child td{border-bottom:none}.ops-noc-inv-table tr{cursor:pointer}.ops-noc-inv-table tr:hover td{background:#f8fafc}.ops-noc-inv-table tr.is-selected td{background:#eff6ff}.ops-noc-role-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize;background:#eff6ff;color:#1d4ed8}.ops-noc-role-chip.is-manager{background:#f5f3ff;color:#6d28d9}.ops-noc-role-chip.is-standby{background:#f1f5f9;color:#475569}.ops-noc-role-chip.is-edge{background:#fff7ed;color:#c2410c}.ops-noc-health{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;text-transform:lowercase}.ops-noc-health__dot{width:7px;height:7px;border-radius:50%;background:#94a3b8}.ops-noc-health.is-ok{color:#16a34a}.ops-noc-health.is-ok .ops-noc-health__dot{background:#22c55e}.ops-noc-health.is-warn{color:#d97706}.ops-noc-health.is-warn .ops-noc-health__dot{background:#f59e0b}.ops-noc-health.is-crit{color:#dc2626}.ops-noc-health.is-crit .ops-noc-health__dot{background:#ef4444}.ops-noc-health.is-unknown{color:#64748b}.ops-noc-meter{display:flex;flex-direction:column;gap:4px;min-width:52px}.ops-noc-meter__val{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px}.ops-noc-meter__track{height:4px;border-radius:999px;background:#e2e8f0;overflow:hidden}.ops-noc-meter__fill{height:100%;border-radius:999px;background:#3b82f6}.ops-noc-meter__fill.is-ram{background:#8b5cf6}.ops-noc-meter__fill.is-warn{background:#f59e0b}.ops-noc-meter__fill.is-crit{background:#ef4444}.ops-noc-edge-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.ops-noc-edge-list__item{display:flex;align-items:center;justify-content:space-between;gap:12px}.ops-noc-edge-list__left{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:var(--noc-text)}.ops-noc-edge-list__icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.ops-noc-edge-list__icon svg{width:14px;height:14px;stroke-width:2}.ops-noc-edge-list__icon.is-ready,.ops-noc-edge-list__icon.is-running{background:#dcfce7;color:#16a34a}.ops-noc-edge-list__icon.is-provisioning{background:#dbeafe;color:#2563eb}.ops-noc-edge-list__icon.is-draining{background:#ede9fe;color:#7c3aed}.ops-noc-edge-list__icon.is-offline{background:#f1f5f9;color:#64748b}.ops-noc-edge-list__icon.is-full{background:#fee2e2;color:#dc2626}.ops-noc-edge-list__count{font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--noc-text)}.ops-noc-kv{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}.ops-noc-kv__row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.ops-noc-kv__label{color:var(--noc-secondary);font-weight:500}.ops-noc-kv__value{font-weight:600;color:var(--noc-text);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops-noc-mode-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#dcfce7;color:#15803d}.ops-noc-mode-pill.is-paused{background:#fef3c7;color:#b45309}.ops-noc-dist{display:flex;flex-direction:column;align-items:center;gap:14px;flex:1 1}.ops-noc-dist__chart{position:relative;width:148px;height:148px}.ops-noc-dist__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}.ops-noc-dist__center-label{font-size:11px;font-weight:500;color:var(--noc-muted)}.ops-noc-dist__center-value{font-size:22px;font-weight:700;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15;color:var(--noc-text)}.ops-noc-dist__center-sub{font-size:11px;font-weight:500;color:var(--noc-muted)}.ops-noc-dist__legend{width:100%;display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 12px;gap:8px 12px}.ops-noc-dist__leg{display:flex;align-items:center;gap:6px;min-width:0;font-size:11px;font-weight:500;color:var(--noc-secondary)}.ops-noc-dist__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ops-noc-dist__leg strong{margin-left:auto;font-weight:600;color:var(--noc-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops-noc-dist__empty{flex:1 1;display:grid;place-items:center;color:var(--noc-muted);font-size:13px;font-weight:500;text-align:center}.ops-noc-cols--bottom{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(280px,1.15fr);gap:var(--noc-gap);align-items:stretch}.ops-noc-bottom-card{display:flex;flex-direction:column;gap:16px;min-height:340px;padding:22px;background:var(--noc-card);border:1px solid var(--noc-border);border-radius:16px;box-shadow:var(--noc-shadow)}.ops-noc-bottom-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ops-noc-bottom-card__title{margin:0;font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--noc-text)}.ops-noc-bottom-card__meta{margin:4px 0 0;font-size:12px;font-weight:500;color:var(--noc-muted)}.ops-noc-bottom-card__meta a{color:var(--noc-primary);text-decoration:none;font-weight:600}.ops-noc-bottom-card__meta a:hover{text-decoration:underline}.ops-noc-status-seal{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;flex-shrink:0}.ops-noc-status-seal svg{width:18px;height:18px;stroke-width:2}.ops-noc-status-seal.is-ok{background:#dcfce7;color:#16a34a}.ops-noc-status-seal.is-warn{background:#fef3c7;color:#d97706}.ops-noc-status-seal.is-crit{background:#fee2e2;color:#dc2626}.ops-noc-empty-ok{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 16px;text-align:center;border-radius:14px;background:linear-gradient(180deg,#f0fdf4,#ecfdf5);border:1px solid rgba(34,197,94,.18)}.ops-noc-empty-ok__icon{width:48px;height:48px;border-radius:999px;display:grid;place-items:center;background:#dcfce7;color:#16a34a}.ops-noc-empty-ok__icon svg{width:24px;height:24px;stroke-width:2}.ops-noc-empty-ok__title{margin:0;font-size:14px;font-weight:600;color:#166534}.ops-noc-empty-ok__sub{margin:0;font-size:12px;font-weight:500;color:#4ade80}.ops-noc-alert-row{display:grid;grid-template-columns:4px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:start;padding:12px 12px 12px 0;border-radius:12px;background:#f8fafc;border:1px solid #eef2f7;list-style:none}.ops-noc-alert-row__bar{width:4px;align-self:stretch;border-radius:0 4px 4px 0;background:#94a3b8}.ops-noc-alert-row.is-info .ops-noc-alert-row__bar{background:#3b82f6}.ops-noc-alert-row.is-warn .ops-noc-alert-row__bar{background:#f59e0b}.ops-noc-alert-row.is-crit .ops-noc-alert-row__bar{background:#ef4444}.ops-noc-alert-row__title{margin:0;font-size:13px;font-weight:600;color:var(--noc-text);line-height:1.35}.ops-noc-alert-row__meta{margin:6px 0 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ops-noc-sev-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:lowercase;background:#e2e8f0;color:#475569}.ops-noc-sev-chip.is-info{background:#dbeafe;color:#1d4ed8}.ops-noc-sev-chip.is-warn{background:#fef3c7;color:#b45309}.ops-noc-sev-chip.is-crit{background:#fee2e2;color:#b91c1c}.ops-noc-alert-row__time{font-size:11px;font-weight:500;color:var(--noc-muted);white-space:nowrap;padding-right:4px;padding-top:2px}.ops-noc-alert-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;flex:1 1;overflow:auto;max-height:260px}.ops-noc-qa-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;flex:1 1;align-content:start}.ops-noc-qa{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border-radius:14px;border:1px solid var(--noc-border);background:#fff;text-decoration:none;color:inherit;cursor:pointer;transition:transform var(--noc-ease),box-shadow var(--noc-ease),border-color var(--noc-ease);text-align:left;min-height:96px}.ops-noc-qa:hover:not(:disabled):not(.is-disabled){transform:translateY(-1px);box-shadow:var(--noc-shadow);border-color:#d5dceb}.ops-noc-qa.is-disabled,.ops-noc-qa:disabled{opacity:.72;cursor:default;background:#f8fafc}.ops-noc-qa__icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eff6ff;color:#2563eb}.ops-noc-qa__icon svg{width:16px;height:16px;stroke-width:1.75}.ops-noc-qa__icon.is-purple{background:#f5f3ff;color:#7c3aed}.ops-noc-qa__icon.is-warn{background:#fff7ed;color:#ea580c}.ops-noc-qa__icon.is-muted{background:#f1f5f9;color:#64748b}.ops-noc-qa__label{margin:0;font-size:13px;font-weight:700;color:var(--noc-text);letter-spacing:-.01em}.ops-noc-qa__desc{margin:0;font-size:11px;font-weight:500;color:var(--noc-muted);line-height:1.35}.ops-noc-stack{display:flex;flex-direction:column;gap:var(--noc-gap);min-width:0}.ops-noc-empty-ok-legacy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px 16px;text-align:center;border-radius:12px;background:rgba(22,163,74,.06);border:1px dashed rgba(22,163,74,.28)}.ops-noc-status-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:var(--noc-pad);background:var(--noc-card);border:1px solid var(--noc-border);border-radius:var(--noc-radius);box-shadow:var(--noc-shadow);min-height:128px;text-decoration:none;color:inherit;cursor:pointer;transition:transform var(--noc-ease),box-shadow var(--noc-ease),border-color var(--noc-ease)}.ops-noc-status-card:hover{transform:translateY(-2px);box-shadow:var(--noc-shadow-hover);border-color:#dce2ee}.ops-noc-status-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.ops-noc-status-card__label{margin:0;font-size:13px;font-weight:600;color:var(--noc-muted)}.ops-noc-status-card__value{margin:0;font-size:22px;font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--noc-text)}.ops-noc-status-card__meta{margin:0;font-size:12px;font-weight:500;color:var(--noc-muted)}.ops-noc-status-card__spark{margin-top:auto;width:100%;height:28px;color:var(--noc-primary)}.ops-noc-status-card__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#9ca3af;box-shadow:0 0 0 0 rgba(156,163,175,.45);animation:ops-noc-pulse 1.8s ease infinite}.ops-noc-status-card.is-ok{border-top:3px solid var(--noc-ok)}.ops-noc-status-card.is-ok .ops-noc-status-card__dot{background:var(--noc-ok);box-shadow:0 0 0 0 rgba(22,163,74,.45)}.ops-noc-status-card.is-warn{border-top:3px solid var(--noc-warn)}.ops-noc-status-card.is-warn .ops-noc-status-card__dot{background:var(--noc-warn);box-shadow:0 0 0 0 rgba(245,158,11,.45)}.ops-noc-status-card.is-crit{border-top:3px solid var(--noc-crit)}.ops-noc-status-card.is-crit .ops-noc-status-card__dot{background:var(--noc-crit);box-shadow:0 0 0 0 rgba(220,38,38,.45)}.ops-noc-status-card.is-unknown{border-top:3px solid #9ca3af}.ops-noc-status-card.is-unknown .ops-noc-status-card__dot{background:#9ca3af;animation:none}@keyframes ops-noc-pulse{0%,to{box-shadow:0 0 0 0 currentColor;opacity:1}50%{box-shadow:0 0 0 6px transparent;opacity:.85}}.ops-noc-main{display:grid;grid-template-columns:minmax(0,1fr) var(--noc-detail-w);grid-gap:var(--noc-section);gap:var(--noc-section);align-items:start;margin-bottom:var(--noc-section)}.ops-noc-main__content{min-width:0;display:flex;flex-direction:column;gap:var(--noc-section)}.ops-noc-server-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--noc-gap);gap:var(--noc-gap);align-items:stretch}.ops-noc-server-card{position:relative;display:flex;flex-direction:column;gap:12px;height:100%;min-height:220px;padding:var(--noc-pad);background:var(--noc-card);border:1px solid var(--noc-border);border-radius:var(--noc-radius);box-shadow:var(--noc-shadow);text-align:left;color:inherit;cursor:pointer;overflow:hidden;transition:transform var(--noc-ease),box-shadow var(--noc-ease),border-color var(--noc-ease)}.ops-noc-server-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:#94a3b8}.ops-noc-server-card:hover{transform:translateY(-2px);box-shadow:var(--noc-shadow-hover)}.ops-noc-server-card.is-selected{border-color:var(--noc-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12),var(--noc-shadow-hover)}.ops-noc-server-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ops-noc-server-card__role{display:inline-block;margin-bottom:4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--noc-primary)}.ops-noc-server-card__name{margin:0;font-size:15px;font-weight:600;color:var(--noc-text);line-height:1.25}.ops-noc-server-card__metrics{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 16px;gap:8px 16px;font-size:12px;color:var(--noc-muted)}.ops-noc-server-card__metrics strong{display:block;margin-top:2px;font-size:13px;font-weight:700;color:var(--noc-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops-noc-server-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:4px;font-size:12px;color:var(--noc-muted)}.ops-noc-server-card--origin:before,.ops-noc-server-card.is-origin:before{background:var(--noc-primary)}.ops-noc-server-card--origin .ops-noc-server-card__role,.ops-noc-server-card.is-origin .ops-noc-server-card__role{color:var(--noc-primary)}.ops-noc-server-card--manager:before,.ops-noc-server-card.is-manager:before{background:var(--noc-purple)}.ops-noc-server-card--manager .ops-noc-server-card__role,.ops-noc-server-card.is-manager .ops-noc-server-card__role{color:var(--noc-purple)}.ops-noc-server-card--standby:before,.ops-noc-server-card.is-standby:before{background:#64748b}.ops-noc-server-card--standby .ops-noc-server-card__role,.ops-noc-server-card.is-standby .ops-noc-server-card__role{color:#64748b}.ops-noc-server-card--edge:before,.ops-noc-server-card.is-edge:before{background:#0d9488}.ops-noc-server-card--edge .ops-noc-server-card__role,.ops-noc-server-card.is-edge .ops-noc-server-card__role{color:#0d9488}.ops-noc-server-card--relay:before,.ops-noc-server-card.is-relay:before{background:#7c3aed}.ops-noc-server-card--relay .ops-noc-server-card__role,.ops-noc-server-card.is-relay .ops-noc-server-card__role{color:#7c3aed}.ops-noc-server-card--turn:before,.ops-noc-server-card.is-turn:before{background:#ea580c}.ops-noc-server-card--turn .ops-noc-server-card__role,.ops-noc-server-card.is-turn .ops-noc-server-card__role{color:#ea580c}.ops-noc-detail{position:-webkit-sticky;position:sticky;top:24px;align-self:start;display:flex;flex-direction:column;gap:16px;padding:var(--noc-pad);background:var(--noc-card);border:1px solid var(--noc-border);border-radius:var(--noc-radius);box-shadow:var(--noc-shadow);max-height:calc(100vh - 48px);overflow:auto}.ops-noc-detail__header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ops-noc-detail__title{margin:0;font-size:15px;font-weight:600;color:var(--noc-text)}.ops-noc-detail__sub{margin:4px 0 0}.ops-noc-detail__empty,.ops-noc-detail__sub{font-size:13px;font-weight:500;color:var(--noc-muted)}.ops-noc-detail__empty{margin:0;padding:32px 8px;text-align:center}.ops-noc-detail__actions{display:flex;flex-wrap:wrap;gap:8px}.ops-noc-detail__section{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--noc-border)}.ops-noc-detail__section-title{margin:0;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--noc-muted)}.ops-noc-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--noc-gap);gap:var(--noc-gap);margin-bottom:var(--noc-section)}.ops-noc-charts__card{display:flex;flex-direction:column;gap:12px;padding:var(--noc-pad);background:var(--noc-card);border:1px solid var(--noc-border);border-radius:var(--noc-radius);box-shadow:var(--noc-shadow);min-height:0}.ops-noc-analytics-card__scope{font-weight:500;color:var(--noc-muted)}.ops-noc-analytics-card .ops-res-grid{margin-top:4px}.ops-noc-charts__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ops-noc-charts__legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;font-weight:500;color:var(--noc-muted)}.ops-noc-charts__legend-item{display:inline-flex;align-items:center;gap:6px}.ops-noc-charts__swatch{width:8px;height:8px;border-radius:50%;background:var(--noc-primary)}.ops-noc-charts__body{flex:1 1;min-height:140px;position:relative}.ops-noc-pool{padding:var(--noc-pad);background:var(--noc-card);border:1px solid var(--noc-border);border-radius:var(--noc-radius);box-shadow:var(--noc-shadow);margin-bottom:var(--noc-section)}.ops-noc-pool__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.ops-noc-pool__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:var(--noc-gap);gap:var(--noc-gap)}.ops-noc-pool__item{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:var(--noc-bg);border:1px solid var(--noc-border)}.ops-noc-pool__count{font-size:22px;font-weight:700;letter-spacing:-.03em;color:var(--noc-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops-noc-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:650;letter-spacing:.01em;line-height:1.2;width:-moz-fit-content;width:fit-content}.ops-noc-badge--ok,.ops-noc-badge--ready,.ops-noc-badge--running{color:var(--noc-ok);background:rgba(22,163,74,.1)}.ops-noc-badge--draining,.ops-noc-badge--provisioning,.ops-noc-badge--warn{color:#b45309;background:rgba(245,158,11,.12)}.ops-noc-badge--crit,.ops-noc-badge--full,.ops-noc-badge--offline{color:var(--noc-crit);background:rgba(220,38,38,.1)}.ops-noc-badge--info,.ops-noc-badge--unknown{color:#4b5563;background:rgba(107,114,128,.12)}.ops-noc-badge--primary{color:var(--noc-primary);background:rgba(37,99,235,.1)}.ops-noc-badge--purple{color:var(--noc-purple);background:rgba(124,58,237,.1)}.ops-noc-progress{width:100%;height:6px;border-radius:999px;background:#e8ecf4;overflow:hidden}.ops-noc-progress__bar{height:100%;border-radius:inherit;background:var(--noc-primary);transition:width .22s ease}.ops-noc-progress__bar--ok{background:var(--noc-ok)}.ops-noc-progress__bar--warn{background:var(--noc-warn)}.ops-noc-progress__bar--crit{background:var(--noc-crit)}.ops-noc-progress__bar--purple{background:var(--noc-purple)}.ops-noc-autoscale{padding:var(--noc-pad);background:var(--noc-card);border:1px solid var(--noc-border);border-radius:var(--noc-radius);box-shadow:var(--noc-shadow);margin-bottom:var(--noc-section)}.ops-noc-autoscale__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.ops-noc-autoscale__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:var(--noc-gap);gap:var(--noc-gap)}.ops-noc-autoscale__cell{display:flex;flex-direction:column;gap:4px;padding:12px 0}.ops-noc-autoscale__label{font-size:12px;font-weight:600;color:var(--noc-muted);letter-spacing:.02em;text-transform:uppercase}.ops-noc-autoscale__value{font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--noc-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops-noc-autoscale__mode{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--noc-ok);background:rgba(22,163,74,.1)}.ops-noc-autoscale__mode.is-paused{color:var(--noc-warn);background:rgba(245,158,11,.12)}.ops-noc-autoscale__mode.is-stopped{color:var(--noc-crit);background:rgba(220,38,38,.1)}.ops-noc-donut{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);grid-gap:var(--noc-gap);gap:var(--noc-gap);align-items:center;padding:var(--noc-pad);background:var(--noc-card);border:1px solid var(--noc-border);border-radius:var(--noc-radius);box-shadow:var(--noc-shadow);margin-bottom:var(--noc-section)}.ops-noc-donut__chart{position:relative;aspect-ratio:1;width:100%;max-width:220px;margin:0 auto}.ops-noc-donut__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}.ops-noc-donut__center-value{font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--noc-text)}.ops-noc-donut__center-label{margin-top:4px;font-size:12px;font-weight:500;color:var(--noc-muted)}.ops-noc-donut__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px 16px;gap:12px 16px}.ops-noc-donut__stat{display:flex;flex-direction:column;gap:2px}.ops-noc-donut__stat-label{font-size:12px;font-weight:500;color:var(--noc-muted)}.ops-noc-donut__stat-value{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--noc-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops-noc-all-card{background:var(--noc-card);border:1px solid var(--noc-border);border-radius:16px;box-shadow:var(--noc-shadow);overflow:hidden;margin-bottom:var(--noc-section)}.ops-noc-all-card__toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 22px 16px;border-bottom:1px solid var(--noc-border)}.ops-noc-all-card__title{margin:0;font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--noc-text)}.ops-noc-all-card__meta{margin:4px 0 0;font-size:12px;font-weight:500;color:var(--noc-muted)}.ops-noc-search{display:inline-flex;align-items:center;gap:8px;min-width:min(320px,100%);height:40px;padding:0 12px;border-radius:12px;border:1px solid var(--noc-border);background:#f8fafc;color:var(--noc-secondary);transition:border-color var(--noc-ease),box-shadow var(--noc-ease),background var(--noc-ease)}.ops-noc-search:focus-within{background:#fff;border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.ops-noc-search__icon{display:grid;place-items:center;color:var(--noc-muted)}.ops-noc-search input{flex:1 1;min-width:0;border:0;outline:none;background:transparent;font:inherit;font-size:13px;font-weight:500;color:var(--noc-text)}.ops-noc-search input::placeholder{color:var(--noc-muted)}.ops-noc-all-card__table{overflow:auto;max-height:min(520px,65vh)}.ops-noc-all-table{width:100%;border-collapse:collapse;font-size:13px}.ops-noc-all-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;padding:10px 14px;text-align:left;background:#fbfcfe;border-bottom:1px solid var(--noc-border);white-space:nowrap}.ops-noc-th-sort{display:inline-flex;align-items:center;gap:6px;margin:0;padding:0;border:0;background:transparent;font:inherit;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--noc-muted);cursor:pointer}.ops-noc-th-sort.is-active,.ops-noc-th-sort:hover{color:var(--noc-text)}.ops-noc-th-sort__arrow{font-size:10px;opacity:.45;font-weight:600}.ops-noc-th-sort.is-active .ops-noc-th-sort__arrow{opacity:1;color:var(--noc-primary)}.ops-noc-all-table tbody td{padding:14px;border-bottom:1px solid #eef2f7;vertical-align:middle;color:var(--noc-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops-noc-all-table tbody tr{cursor:pointer;transition:background var(--noc-ease)}.ops-noc-all-table tbody tr:hover td{background:#f8fafc}.ops-noc-all-table tbody tr.is-selected td{background:#eff6ff}.ops-noc-all-table tbody tr:last-child td{border-bottom:none}.ops-noc-all-table__host{font-weight:600;letter-spacing:-.01em}.ops-noc-all-table__ip{margin-top:2px;color:var(--noc-muted)}.ops-noc-all-table__uptime{font-size:12px;font-weight:500;color:var(--noc-secondary)}.ops-noc-all-table__empty{text-align:center;color:var(--noc-muted);padding:36px 16px!important;font-weight:500}.ops-noc-row-action{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--noc-border);background:#fff;color:var(--noc-primary);font-size:12px;font-weight:600;text-decoration:none;transition:background var(--noc-ease),border-color var(--noc-ease)}.ops-noc-row-action:hover{background:#eff6ff;border-color:#bfdbfe}.ops-noc-table-wrap{overflow:auto;border:1px solid var(--noc-border);border-radius:var(--noc-radius);background:var(--noc-card);box-shadow:var(--noc-shadow);margin-bottom:var(--noc-section);max-height:min(560px,70vh)}.ops-noc-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.ops-noc-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;padding:12px 16px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--noc-muted);background:#fbfcfe;border-bottom:1px solid var(--noc-border);white-space:nowrap}.ops-noc-table tbody td{padding:14px 16px;border-bottom:1px solid var(--noc-border);color:var(--noc-text);vertical-align:middle;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops-noc-table tbody tr{transition:background var(--noc-ease);cursor:pointer}.ops-noc-table tbody tr:hover{background:rgba(37,99,235,.03)}.ops-noc-table tbody tr:last-child td{border-bottom:none}.ops-noc-table tbody tr.is-selected{background:rgba(37,99,235,.06)}.ops-noc-table__mono{font-family:var(--font-mono,ui-monospace,monospace);font-size:12px}.ops-noc-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:var(--noc-gap);gap:var(--noc-gap);margin-bottom:var(--noc-section)}.ops-noc-actions__card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;background:var(--noc-card);border:1px solid var(--noc-border);border-radius:var(--noc-radius);box-shadow:var(--noc-shadow);text-decoration:none;color:inherit;cursor:pointer;min-height:108px;transition:transform var(--noc-ease),box-shadow var(--noc-ease),border-color var(--noc-ease)}.ops-noc-actions__card:hover{transform:translateY(-2px);box-shadow:var(--noc-shadow-hover);border-color:#d5dceb}.ops-noc-actions__card.is-disabled,.ops-noc-actions__card:disabled{opacity:.55;cursor:not-allowed;transform:none;pointer-events:none}.ops-noc-actions__icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(37,99,235,.08);color:var(--noc-primary)}.ops-noc-actions__icon--warn{background:rgba(245,158,11,.12);color:#b45309}.ops-noc-actions__icon--crit{background:rgba(220,38,38,.1);color:var(--noc-crit)}.ops-noc-actions__icon--purple{background:rgba(124,58,237,.1);color:var(--noc-purple)}.ops-noc-actions__label{margin:0;font-size:14px;font-weight:600;color:var(--noc-text)}.ops-noc-actions__desc{margin:0;font-size:12px;font-weight:500;color:var(--noc-muted);line-height:1.35}.ops-noc-incidents{padding:var(--noc-pad);background:var(--noc-card);border:1px solid var(--noc-border);border-radius:var(--noc-radius);box-shadow:var(--noc-shadow);margin-bottom:var(--noc-section)}.ops-noc-incidents__list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.ops-noc-incidents__item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--noc-border);cursor:pointer;transition:background var(--noc-ease)}.ops-noc-incidents__item:last-child{border-bottom:none;padding-bottom:0}.ops-noc-incidents__item:first-child{padding-top:0}.ops-noc-incidents__item:hover{background:transparent}.ops-noc-incidents__marker{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#9ca3af;flex-shrink:0}.ops-noc-incidents__item--crit .ops-noc-incidents__marker,.ops-noc-incidents__item.is-crit .ops-noc-incidents__marker{background:var(--noc-crit)}.ops-noc-incidents__item--warn .ops-noc-incidents__marker,.ops-noc-incidents__item.is-warn .ops-noc-incidents__marker{background:var(--noc-warn)}.ops-noc-incidents__item--resolved .ops-noc-incidents__marker,.ops-noc-incidents__item.is-ok .ops-noc-incidents__marker{background:var(--noc-ok)}.ops-noc-incidents__title{margin:0;font-size:14px;font-weight:600;color:var(--noc-text)}.ops-noc-incidents__meta{margin:4px 0 0}.ops-noc-incidents__meta,.ops-noc-incidents__time{font-size:12px;font-weight:500;color:var(--noc-muted)}.ops-noc-incidents__time{white-space:nowrap}.ops-noc-alerts{padding:var(--noc-pad);background:var(--noc-card);border:1px solid var(--noc-border);border-radius:var(--noc-radius);box-shadow:var(--noc-shadow);margin-bottom:var(--noc-section)}.ops-noc-alerts__list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.ops-noc-alerts__item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--noc-border);background:var(--noc-bg);cursor:pointer;transition:border-color var(--noc-ease),box-shadow var(--noc-ease)}.ops-noc-alerts__item:hover{border-color:#d5dceb;box-shadow:0 2px 8px rgba(17,24,39,.04)}.ops-noc-alerts__item--crit,.ops-noc-alerts__item.is-crit{border-left:3px solid var(--noc-crit)}.ops-noc-alerts__item--warn,.ops-noc-alerts__item.is-warn{border-left:3px solid var(--noc-warn)}.ops-noc-alerts__item--info,.ops-noc-alerts__item.is-info{border-left:3px solid var(--noc-primary)}.ops-noc-alerts__body{min-width:0}.ops-noc-alerts__title{margin:0;font-size:13px;font-weight:600;color:var(--noc-text)}.ops-noc-alerts__meta{margin:4px 0 0;font-size:12px;font-weight:500;color:var(--noc-muted)}.ops-noc-skeleton{border-radius:8px;background:linear-gradient(90deg,#eef1f7,#f7f9fc 50%,#eef1f7);background-size:200% 100%;animation:ops-noc-shimmer 1.4s ease infinite}@keyframes ops-noc-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.ops-noc-icon,.ops-noc-page svg.ops-noc-icon{width:20px;height:20px;stroke-width:1.75;flex-shrink:0}@media (max-width:1100px){.ops-noc-hero__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-noc-status-row,.ops-noc-status-row--5{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-noc-inv-row{grid-template-columns:1fr 1fr}.ops-noc-main{grid-template-columns:1fr}.ops-noc-server-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-noc-detail{position:static;max-height:none}.ops-noc-charts{grid-template-columns:1fr}.ops-noc-cols--mid{grid-template-columns:1fr 1fr}.ops-noc-cols--bottom,.ops-noc-donut{grid-template-columns:1fr}.ops-noc-donut{justify-items:center}.ops-noc-donut__stats{width:100%}}@media (max-width:700px){.ops-noc-page{padding:16px 12px}.ops-noc-page__title{font-size:28px}.ops-noc-hero__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-noc-inv-row,.ops-noc-server-grid,.ops-noc-status-row,.ops-noc-status-row--5{grid-template-columns:1fr}.ops-noc-autoscale__grid{grid-template-columns:1fr 1fr}.ops-noc-donut__stats{grid-template-columns:1fr}.ops-noc-actions{grid-template-columns:1fr 1fr}.ops-noc-actions__card[data-write],.ops-noc-detail__actions,.ops-noc-page .ops-noc-actions__card.is-write{pointer-events:none;opacity:.65}.ops-noc-page:after{content:"Mobile view is read-only monitoring";display:block;margin-top:8px;font-size:12px;font-weight:500;color:var(--noc-muted);text-align:center}.ops-noc-table-wrap{max-height:none}.ops-noc-incidents__item{grid-template-columns:12px minmax(0,1fr)}.ops-noc-incidents__time{grid-column:2}}@media (prefers-reduced-motion:reduce){.ops-noc-skeleton,.ops-noc-status-card__dot{animation:none}.ops-noc-actions__card,.ops-noc-progress__bar,.ops-noc-server-card,.ops-noc-status-card{transition:none}}.ops-topo-status{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.ops-topo-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--noc-border);background:#fff;font-size:12px;font-weight:600;color:var(--noc-text);cursor:pointer}.ops-topo-chip.is-ok{background:#f0fdf4;border-color:rgba(34,197,94,.25)}.ops-topo-chip.is-warn{background:#fffbeb;border-color:rgba(245,158,11,.3)}.ops-topo-chip.is-crit{background:#fef2f2;border-color:rgba(239,68,68,.25)}.ops-topo-chip .ops-noc-health__dot.is-ok,.ops-topo-chip.is-ok .ops-noc-health__dot{background:#22c55e}.ops-topo-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px}.ops-topo-kpi{padding:16px;background:#fff;border:1px solid var(--noc-border);border-radius:14px;box-shadow:var(--noc-shadow);display:flex;flex-direction:column;gap:6px;min-height:110px}.ops-topo-kpi__label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--noc-muted)}.ops-topo-kpi__value{font-size:24px;font-weight:700;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--noc-text)}.ops-topo-kpi__meta{font-size:11px;font-weight:500;color:var(--noc-muted)}.ops-topo-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,340px);grid-gap:24px;gap:24px;align-items:start;margin-bottom:32px}.ops-topo-canvas{padding:22px;background:#fff;border:1px solid var(--noc-border);border-radius:16px;box-shadow:var(--noc-shadow);min-width:0}.ops-topo-canvas__head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.ops-topo-nodes{display:flex;align-items:stretch;gap:8px;overflow-x:auto;padding-bottom:8px}.ops-topo-node{flex:1 1 140px;min-width:150px;max-width:220px;text-align:left;padding:14px;border-radius:14px;border:1px solid var(--noc-border);background:#fbfcfe;cursor:pointer;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.ops-topo-node.is-selected,.ops-topo-node:hover{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.1);background:#fff}.ops-topo-node.is-warning,.ops-topo-node.is-warning.is-selected{border-color:#fbbf24}.ops-topo-node.is-critical{border-color:#f87171}.ops-topo-node__role{display:block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--noc-primary);margin-bottom:4px}.ops-topo-node strong{display:block;font-size:13px;font-weight:700;margin-bottom:8px;word-break:break-word}.ops-topo-node__metrics{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--noc-secondary)}.ops-topo-node__metrics b{color:var(--noc-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops-topo-node__list{list-style:none;margin:8px 0 0;padding:0;font-size:11px;color:var(--noc-muted);display:flex;flex-direction:column;gap:4px}.ops-topo-inline{border:0;background:transparent;padding:0;color:var(--noc-primary);font:inherit;cursor:pointer;text-align:left}.ops-topo-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#94a3b8;font-size:16px;flex:0 0 auto;min-width:44px}.ops-topo-arrow em{font-style:normal;font-size:10px;font-weight:600;color:var(--noc-muted);white-space:nowrap}.ops-topo-inspector{position:-webkit-sticky;position:sticky;top:16px;padding:20px;background:#fff;border:1px solid var(--noc-border);border-radius:16px;box-shadow:var(--noc-shadow);display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 40px);overflow:auto}.ops-topo-inspector__head{display:flex;justify-content:space-between;gap:12px}.ops-topo-inspector__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.ops-topo-metric{padding:12px;border-radius:12px;background:#f8fafc;border:1px solid #eef2f7;display:flex;flex-direction:column;gap:4px}.ops-topo-metric span{font-size:11px;font-weight:600;color:var(--noc-muted);text-transform:uppercase;letter-spacing:.04em}.ops-topo-metric strong{font-size:18px;font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops-topo-inspector__links{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:1100px){.ops-topo-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-topo-main{grid-template-columns:1fr}.ops-topo-inspector{position:static;max-height:none}}@media (max-width:700px){.ops-topo-kpis{grid-template-columns:1fr}}.topo-mock-page{--tm-bg:#f7f9fc;--tm-card:#ffffff;--tm-border:#e8ecf4;--tm-text:#111827;--tm-secondary:#6b7280;--tm-muted:#94a3b8;--tm-ok:#16a34a;--tm-ok-soft:#dcfce7;--tm-warn:#f59e0b;--tm-warn-soft:#fef3c7;--tm-crit:#ef4444;--tm-info:#3b82f6;--tm-info-soft:#dbeafe;--tm-purple:#7c3aed;--tm-purple-soft:#ede9fe;--tm-radius:12px;--tm-radius-lg:14px;--tm-shadow:0 1px 2px rgba(15,23,42,0.04),0 8px 24px rgba(15,23,42,0.04);--tm-inspector:320px;--tm-gap:12px;--tm-pad:14px;background:var(--tm-bg);color:var(--tm-text);min-height:100%;font-family:var(--font-ops),"DM Sans",system-ui,sans-serif;padding:16px 20px 24px}.topo-mock-shell{max-width:1680px;margin:0 auto}.topo-mock-body{display:grid;grid-template-columns:minmax(0,1fr) var(--tm-inspector);grid-gap:12px;gap:12px;align-items:start;margin-top:12px}.topo-mock-main{display:flex;flex-direction:column;gap:12px;min-width:0}.topo-mock-row{display:grid;grid-gap:12px;gap:12px}.topo-mock-row--3{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}.topo-mock-dot,.topo-mock-dot--crit,.topo-mock-dot--info,.topo-mock-dot--muted,.topo-mock-dot--ok,.topo-mock-dot--orange,.topo-mock-dot--purple,.topo-mock-dot--warn{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0;background:var(--tm-muted)}.topo-mock-dot--ok{background:#22c55e}.topo-mock-dot--orange,.topo-mock-dot--warn{background:var(--tm-warn)}.topo-mock-dot--crit{background:var(--tm-crit)}.topo-mock-dot--muted{background:#9ca3af}.topo-mock-dot--info{background:var(--tm-info)}.topo-mock-dot--purple{background:var(--tm-purple)}.topo-mock-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.4}.topo-mock-badge--ok{background:var(--tm-ok-soft);color:var(--tm-ok)}.topo-mock-badge--ok-soft{background:#ecfdf5;color:#059669}.topo-mock-badge--warn{background:var(--tm-warn-soft);color:#b45309}.topo-mock-link{border:0;background:none;color:var(--tm-info);font-size:12px;font-weight:600;cursor:pointer;padding:0;font-family:inherit}.topo-mock-icon-btn{width:28px;height:28px;border:0;background:transparent;border-radius:8px;color:var(--tm-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.topo-mock-icon-btn:hover{background:#f3f4f6}.topo-mock-spark{width:100%;height:18px;display:block}.topo-mock-donut{position:relative;flex-shrink:0}.topo-mock-donut svg{width:100%;height:100%}.topo-mock-donut__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.topo-mock-donut__center strong{font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.topo-mock-donut__center span{font-size:10px;color:var(--tm-secondary);font-weight:500}.topo-mock-card{background:var(--tm-card);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow);padding:var(--tm-pad);min-width:0}.topo-mock-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.topo-mock-canvas__title,.topo-mock-card__head h3,.topo-mock-inspector h2,.topo-mock-inspector h3,.topo-mock-summary__title{margin:0;font-size:14px;font-weight:700;color:var(--tm-text);letter-spacing:-.01em}.topo-mock-card__title-row{display:flex;align-items:center;gap:6px;min-width:0}.topo-mock-card__hint{font-size:12px;color:var(--tm-muted);font-weight:500}.topo-mock-card__info{color:var(--tm-muted)}.topo-mock-live-pill{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--tm-border);background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--tm-secondary);cursor:pointer;font-family:inherit}.topo-mock-summary{background:var(--tm-card);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow);padding:10px 12px}.topo-mock-summary__head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.topo-mock-summary__title{font-size:15px}.topo-mock-summary__row{display:flex;align-items:stretch;gap:0;overflow:visible;padding-bottom:0}.topo-mock-summary__divider{width:1px;background:#eef2f7;margin:2px 0;flex-shrink:0}.topo-mock-kpi{flex:1 1;min-width:0;padding:0 8px;display:flex;flex-direction:column;gap:2px}.topo-mock-kpi:first-child{padding-left:0}.topo-mock-kpi:last-child{padding-right:0}.topo-mock-kpi__label{font-size:11px;font-weight:500;color:var(--tm-secondary);line-height:1.2}.topo-mock-kpi__status{display:inline-flex;align-items:center;gap:4px}.topo-mock-kpi__status-text{font-size:12px;font-weight:600;color:var(--tm-ok)}.topo-mock-kpi__status-text--dark{color:var(--tm-text)}.topo-mock-kpi__check{color:var(--tm-ok)}.topo-mock-kpi__muted-icon{color:var(--tm-muted)}.topo-mock-kpi__count{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;margin-top:2px}.topo-mock-kpi__count--purple{color:var(--tm-purple)}.topo-mock-kpi__count--info{color:var(--tm-info)}.topo-mock-kpi__value{font-size:17px;font-weight:700;letter-spacing:-.03em;line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.topo-mock-kpi__value--sm{font-size:14px}.topo-mock-kpi__sub{font-size:11px;color:var(--tm-muted);font-weight:500}.topo-mock-kpi__spark{margin-top:4px;height:16px}.topo-mock-kpi__bar{height:4px;border-radius:999px;background:#eef2f7;margin-top:6px;overflow:hidden}.topo-mock-kpi__bar>span{display:block;height:100%;border-radius:inherit;background:#22c55e}.topo-mock-canvas{background:var(--tm-card);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow);padding:16px}.topo-mock-canvas__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.topo-mock-canvas__sub{margin:2px 0 0;font-size:12px;color:var(--tm-secondary);font-weight:500}.topo-mock-canvas__legend{display:flex;align-items:center;gap:14px;font-size:11px;font-weight:500;color:var(--tm-secondary)}.topo-mock-canvas__legend span{display:inline-flex;align-items:center;gap:6px}.topo-mock-canvas__controls{display:inline-flex;align-items:center;border:1px solid var(--tm-border);border-radius:8px;overflow:hidden;background:#fff}.topo-mock-canvas__controls button{border:0;background:transparent;color:var(--tm-secondary);height:30px;min-width:30px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;border-right:1px solid var(--tm-border)}.topo-mock-canvas__controls button:last-child{border-right:0}.topo-mock-canvas__fit{padding:0 10px!important}.topo-mock-flow{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding-bottom:4px}.topo-mock-node{flex:1 1 160px;min-width:168px;max-width:220px;background:#fbfcfe;border:1px solid var(--tm-border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}.topo-mock-node.is-selected,.topo-mock-node.is-warning{border-color:#fbbf24;box-shadow:0 0 0 3px rgba(245,158,11,.12);background:#fff}.topo-mock-node__head{display:flex;align-items:flex-start;gap:8px}.topo-mock-node__glyph{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.topo-mock-node__glyph--purple{background:var(--tm-purple-soft);color:var(--tm-purple)}.topo-mock-node__glyph--warn{background:var(--tm-warn-soft);color:#b45309}.topo-mock-node__glyph--ok{background:var(--tm-ok-soft);color:var(--tm-ok)}.topo-mock-node__glyph--info{background:var(--tm-info-soft);color:var(--tm-info)}.topo-mock-node__title{display:block;font-size:13px;font-weight:700;line-height:1.2}.topo-mock-node__sub{display:block;font-size:11px;color:var(--tm-secondary);font-weight:500;margin-top:2px;word-break:break-word}.topo-mock-node__status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--tm-ok)}.topo-mock-node__metrics{margin:0;display:flex;flex-direction:column;gap:6px}.topo-mock-node__metrics>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.topo-mock-node__metrics dt{font-size:11px;color:var(--tm-secondary);font-weight:500}.topo-mock-node__metrics dd{margin:0;font-size:12px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:6px}.topo-mock-node__metrics .topo-mock-spark{width:40px;height:14px}.topo-mock-node__bridges{list-style:none;margin:0;display:flex;flex-direction:column;gap:6px;background:#f8fafc;border-radius:8px;padding:8px}.topo-mock-node__bridges li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:500;color:var(--tm-secondary)}.topo-mock-node__footer{margin:0;font-size:12px;color:var(--tm-secondary)}.topo-mock-node__footer strong{color:var(--tm-text);font-weight:700}.topo-mock-node__pool{display:flex;flex-direction:column;align-items:center;gap:8px}.topo-mock-node__pool-list{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:4px}.topo-mock-node__pool-list li{display:grid;grid-template-columns:10px 1fr auto;align-items:center;grid-gap:6px;gap:6px;font-size:11px;color:var(--tm-secondary)}.topo-mock-node__pool-list strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--tm-text)}.topo-mock-conn{display:flex;align-items:center;justify-content:center;flex:0 0 64px;min-width:64px;align-self:center;padding:0 2px}.topo-mock-conn__track{display:flex;align-items:center;width:100%;gap:0;position:relative}.topo-mock-conn__dash{flex:1 1 auto;height:0;border-top:2px dashed #c4b5fd;min-width:6px}.topo-mock-conn--warn .topo-mock-conn__dash{border-top-color:#fbbf24}.topo-mock-conn--ok .topo-mock-conn__dash{border-top-color:#86efac}.topo-mock-conn--purple .topo-mock-conn__dash{border-top-color:#c4b5fd}.topo-mock-conn__pill{position:relative;z-index:1;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap;background:#fff;border:1px solid var(--tm-border);flex-shrink:0;margin:0 2px}.topo-mock-conn__pill--purple{color:var(--tm-purple);border-color:#ddd6fe;background:#f5f3ff}.topo-mock-conn__pill--warn{color:#b45309;border-color:#fde68a;background:#fffbeb}.topo-mock-conn__pill--ok{color:#15803d;border-color:#bbf7d0;background:#f0fdf4}.topo-mock-conn__arrow{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #a78bfa;flex-shrink:0;margin-left:1px}.topo-mock-conn--warn .topo-mock-conn__arrow{border-left-color:#f59e0b}.topo-mock-conn--ok .topo-mock-conn__arrow{border-left-color:#22c55e}.topo-mock-conn__chevron,.topo-mock-conn__line{display:none}.topo-mock-inspector{position:-webkit-sticky;position:sticky;top:12px;background:var(--tm-card);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow);padding:12px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 28px);overflow:auto}.topo-mock-inspector__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.topo-mock-inspector__top-left{display:inline-flex;align-items:center;gap:4px;min-width:0}.topo-mock-inspector__top h2{text-align:left;font-size:13px}.topo-mock-inspector__identity{display:grid;grid-template-columns:40px 1fr auto;grid-gap:10px;gap:10px;align-items:center}.topo-mock-inspector__avatar{width:40px;height:40px;border-radius:50%;background:var(--tm-purple-soft);color:var(--tm-purple);display:inline-flex;align-items:center;justify-content:center}.topo-mock-inspector__id-text{min-width:0}.topo-mock-inspector__id-text strong{display:block;font-size:13px;font-weight:700;word-break:break-word}.topo-mock-inspector__id-text span{font-size:11px;color:var(--tm-secondary);font-weight:500}.topo-mock-tabs{display:flex;gap:0;border-bottom:1px solid var(--tm-border)}.topo-mock-tabs button{flex:1 1;border:0;background:transparent;padding:8px 4px;font-size:12px;font-weight:600;color:var(--tm-secondary);cursor:pointer;font-family:inherit;border-bottom:2px solid transparent;margin-bottom:-1px}.topo-mock-tabs button.is-active{color:#2563eb;border-bottom-color:#2563eb}.topo-mock-inspector__meta{margin:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:10px 12px;gap:10px 12px}.topo-mock-inspector__status-text{color:#d97706;font-weight:700;font-size:12px}.topo-mock-inspector__meta dt{font-size:11px;color:var(--tm-secondary);font-weight:500;margin-bottom:2px}.topo-mock-inspector__meta dd{margin:0;font-size:12px}.topo-mock-inspector__meta--wide{grid-column:1/-1}.topo-mock-inspector__metrics{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.topo-mock-metric-card{background:#f8fafc;border:1px solid #eef2f7;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px}.topo-mock-metric-card span{font-size:11px;color:var(--tm-secondary);font-weight:500}.topo-mock-metric-card strong{font-size:16px;font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.topo-mock-inspector__actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.topo-mock-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;border-radius:8px;border:1px solid transparent;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.topo-mock-btn--restart{background:var(--tm-info-soft);color:#1d4ed8;border-color:#bfdbfe}.topo-mock-btn--drain{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.topo-mock-inspector__active h3,.topo-mock-inspector__alerts h3,.topo-mock-inspector__qa h3{font-size:12px;margin-bottom:8px}.topo-mock-inspector__qa-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px}.topo-mock-inspector__qa-row button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:10px;font-weight:600;color:var(--tm-secondary);cursor:pointer;font-family:inherit;padding:0}.topo-mock-qa-icon{width:34px;height:34px;border-radius:50%;background:#f3f4f6;display:inline-flex;align-items:center;justify-content:center}.topo-mock-qa-icon--warn{color:#b45309;background:#fff7ed}.topo-mock-qa-icon--purple{color:var(--tm-purple);background:var(--tm-purple-soft)}.topo-mock-qa-icon--info{color:var(--tm-info);background:var(--tm-info-soft)}.topo-mock-inspector__alerts ul{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:8px}.topo-mock-inspector__alerts li{display:grid;grid-template-columns:16px minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:start;font-size:12px}.topo-mock-inspector__alerts .is-warn{color:#d97706;margin-top:1px}.topo-mock-inspector__alert-text{color:var(--tm-text);font-weight:500}.topo-mock-inspector__alerts time{font-size:10px;color:var(--tm-muted);white-space:nowrap}.topo-mock-inspector__active-head{display:flex;justify-content:space-between;align-items:center}.topo-mock-inspector__active-row{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--tm-secondary);font-weight:500}.topo-mock-inspector__active-row span{display:inline-flex;align-items:center;gap:4px}.topo-mock-inspector__active-row strong{color:var(--tm-text)}.topo-mock-inspector__active-row .is-crit{color:var(--tm-crit)}.topo-mock-inspector__active-row .is-warn{color:var(--tm-warn)}.topo-mock-inspector__active-row .is-info{color:var(--tm-info)}.topo-mock-traffic__kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-bottom:12px}.topo-mock-traffic__kpis>div{display:flex;flex-direction:column;gap:2px}.topo-mock-traffic__kpis span{font-size:11px;color:var(--tm-secondary);font-weight:500}.topo-mock-traffic__kpis strong{font-size:14px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.topo-mock-traffic__kpis .is-ok{color:#16a34a}.topo-mock-traffic__kpis .is-purple{color:var(--tm-purple)}.topo-mock-traffic__kpis .is-info{color:var(--tm-info)}.topo-mock-traffic__kpis .is-warn{color:#d97706}.topo-mock-chart-ph{display:grid;grid-template-columns:52px 1fr;grid-gap:6px;gap:6px;min-height:160px}.topo-mock-chart-ph__y{display:flex;flex-direction:column;justify-content:space-between;font-size:9px;color:var(--tm-muted);text-align:right;padding:4px 0 22px}.topo-mock-chart-ph__plot{display:flex;flex-direction:column;min-width:0}.topo-mock-chart-ph__plot svg{width:100%;height:140px;background:linear-gradient(#f8fafc,#fff);border:1px solid #eef2f7;border-radius:8px}.topo-mock-chart-ph__x{display:flex;justify-content:space-between;font-size:9px;color:var(--tm-muted);margin-top:4px;padding:0 4px}.topo-mock-traffic__legend{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:10px;font-size:11px;color:var(--tm-secondary);font-weight:500}.topo-mock-traffic__legend span{display:inline-flex;align-items:center;gap:6px}.topo-mock-table{width:100%;border-collapse:collapse;font-size:12px}.topo-mock-table th{text-align:left;font-size:10px;font-weight:600;color:var(--tm-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 6px 8px 0;border-bottom:1px solid #eef2f7}.topo-mock-table td{padding:10px 6px 10px 0;border-bottom:1px solid #eef2f7;color:var(--tm-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.topo-mock-table tr:last-child td{border-bottom:0}.topo-mock-table__name{font-weight:600;color:var(--tm-secondary)}.topo-mock-progress-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.topo-mock-progress-list li{display:grid;grid-template-columns:minmax(0,1fr) 72px 36px;grid-gap:8px;gap:8px;align-items:center}.topo-mock-progress-list__label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tm-secondary);font-weight:500;min-width:0}.topo-mock-progress-list__label strong{margin-left:auto;color:var(--tm-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.topo-mock-progress-list__bar{height:6px;border-radius:999px;background:#eef2f7;overflow:hidden}.topo-mock-progress-list__fill{display:block;height:100%;border-radius:inherit;background:#22c55e}.topo-mock-progress-list__fill--ok{background:#22c55e}.topo-mock-progress-list__fill--info{background:#3b82f6}.topo-mock-progress-list__fill--purple{background:#7c3aed}.topo-mock-progress-list__fill--warn{background:#f59e0b}.topo-mock-progress-list__fill--muted{background:#9ca3af}.topo-mock-progress-list__fill--crit{background:#ef4444}.topo-mock-progress-list__pct{font-size:11px;color:var(--tm-muted);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.topo-mock-students__body{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(110px,.7fr);grid-gap:12px;gap:12px;align-items:center}.topo-mock-students__legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.topo-mock-students__legend li{display:grid;grid-template-columns:8px minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;font-size:11px}.topo-mock-students__name{color:var(--tm-secondary);font-weight:500}.topo-mock-students__legend strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;color:var(--tm-text)}.topo-mock-students__stats{display:flex;flex-direction:column;gap:8px}.topo-mock-students__stats>div{display:flex;align-items:flex-start;gap:8px;padding:8px;border:1px solid #eef2f7;border-radius:8px;background:#fbfcfe}.topo-mock-students__stats span{display:block;font-size:10px;color:var(--tm-secondary);font-weight:500}.topo-mock-students__stats strong{display:block;font-size:12px;font-weight:700;margin-top:2px}.topo-mock-students__stats .is-ok{color:#16a34a}.topo-mock-students__stats .is-purple{color:var(--tm-purple)}.topo-mock-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;position:relative}.topo-mock-timeline li{display:grid;grid-template-columns:64px 12px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:start;padding:8px 0;position:relative}.topo-mock-timeline li:before{content:"";position:absolute;left:69px;top:0;bottom:0;width:1px;background:#e5e7eb}.topo-mock-timeline li:first-child:before{top:14px}.topo-mock-timeline li:last-child:before{bottom:calc(100% - 14px)}.topo-mock-timeline time{font-size:11px;color:var(--tm-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;padding-top:1px}.topo-mock-timeline__dot{width:8px;height:8px;border-radius:50%;margin-top:4px;position:relative;z-index:1;background:var(--tm-info);box-shadow:0 0 0 3px #fff}.topo-mock-timeline__dot.topo-mock-dot--ok{background:#22c55e}.topo-mock-timeline__dot.topo-mock-dot--orange,.topo-mock-timeline__dot.topo-mock-dot--warn{background:#f59e0b}.topo-mock-timeline__dot.topo-mock-dot--crit{background:#ef4444}.topo-mock-timeline__dot.topo-mock-dot--muted{background:#9ca3af}.topo-mock-timeline__dot.topo-mock-dot--info{background:#3b82f6}.topo-mock-timeline__dot.topo-mock-dot--purple{background:#7c3aed}.topo-mock-timeline p{margin:0;font-size:12px;font-weight:500;color:var(--tm-text);line-height:1.35}.topo-mock-qa__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.topo-mock-qa__item{display:grid;grid-template-columns:28px minmax(0,1fr) 14px;grid-gap:8px;gap:8px;align-items:center;text-align:left;padding:10px;border:1px solid var(--tm-border);border-radius:10px;background:#fff;cursor:pointer;font-family:inherit}.topo-mock-qa__glyph{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.topo-mock-qa__glyph--ok{background:var(--tm-ok-soft);color:var(--tm-ok)}.topo-mock-qa__glyph--warn{background:var(--tm-warn-soft);color:#b45309}.topo-mock-qa__glyph--info{background:var(--tm-info-soft);color:var(--tm-info)}.topo-mock-qa__glyph--purple{background:var(--tm-purple-soft);color:var(--tm-purple)}.topo-mock-qa__glyph--muted{background:#f3f4f6;color:var(--tm-secondary)}.topo-mock-qa__text{display:flex;flex-direction:column;gap:1px;min-width:0}.topo-mock-qa__text strong{font-size:12px;font-weight:700;color:var(--tm-text)}.topo-mock-qa__text span{font-size:10px;color:var(--tm-muted);font-weight:500}.topo-mock-qa__arrow{color:var(--tm-muted)}@media (max-width:1280px){.topo-mock-body{grid-template-columns:1fr}.topo-mock-inspector{position:static;max-height:none}.topo-mock-row--3{grid-template-columns:1fr 1fr}.topo-mock-traffic{grid-column:1/-1}}@media (max-width:900px){.topo-mock-page{padding:12px}.topo-mock-row--3,.topo-mock-students__body{grid-template-columns:1fr}.topo-mock-traffic__kpis{grid-template-columns:1fr 1fr}.topo-mock-qa__grid{grid-template-columns:1fr}}.relay-mock-page{--rm-bg:#f7f9fc;--rm-card:#ffffff;--rm-border:#e8ecf4;--rm-text:#111827;--rm-secondary:#6b7280;--rm-muted:#94a3b8;--rm-ok:#16a34a;--rm-ok-soft:#dcfce7;--rm-warn:#f59e0b;--rm-warn-soft:#fef3c7;--rm-crit:#ef4444;--rm-info:#3b82f6;--rm-info-soft:#dbeafe;--rm-purple:#7c3aed;--rm-purple-soft:#ede9fe;--rm-radius:12px;--rm-shadow:0 1px 2px rgba(15,23,42,0.04),0 8px 24px rgba(15,23,42,0.04);--rm-inspector:320px;background:var(--rm-bg);color:var(--rm-text);min-height:100%;font-family:var(--font-ops),"DM Sans",system-ui,sans-serif;padding:16px 20px 24px}.relay-mock-shell{max-width:1680px;margin:0 auto}.relay-mock-body{display:grid;grid-template-columns:minmax(0,1fr) var(--rm-inspector);grid-gap:12px;gap:12px;align-items:start;margin-top:12px}.relay-mock-main{display:flex;flex-direction:column;gap:12px;min-width:0}.relay-mock-row{display:grid;grid-gap:12px;gap:12px}.relay-mock-row--3{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr)}.relay-mock-row--4{grid-template-columns:repeat(4,minmax(0,1fr))}.relay-mock-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.relay-mock-badge--ok{background:var(--rm-ok-soft);color:var(--rm-ok)}.relay-mock-badge--ok-soft{background:#ecfdf5;color:#059669}.relay-mock-link{border:0;background:none;color:var(--rm-info);font-size:12px;font-weight:600;cursor:pointer;padding:0;font-family:inherit}.relay-mock-icon-btn{width:28px;height:28px;border:0;background:transparent;border-radius:8px;color:var(--rm-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.relay-mock-header__row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.relay-mock-header__title-row{display:flex;align-items:center;gap:10px}.relay-mock-header__title{margin:0;font-size:28px;font-weight:700;letter-spacing:-.03em}.relay-mock-header__sub{margin:4px 0 0;font-size:13px;color:var(--rm-secondary);font-weight:500}.relay-mock-refresh{display:inline-flex;align-items:center;gap:8px}.relay-mock-refresh__label{gap:6px;color:var(--rm-secondary);font-weight:500}.relay-mock-refresh__btn,.relay-mock-refresh__label{display:inline-flex;align-items:center;font-size:12px}.relay-mock-refresh__btn{gap:4px;border:1px solid var(--rm-border);background:#fff;border-radius:8px;padding:6px 10px;font-weight:600;cursor:pointer;font-family:inherit}.relay-mock-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px}.relay-mock-kpi{background:var(--rm-card);border:1px solid var(--rm-border);border-radius:var(--rm-radius);box-shadow:var(--rm-shadow);padding:12px;display:flex;flex-direction:column;gap:4px;min-width:0}.relay-mock-kpi__top{display:flex;align-items:center;gap:8px}.relay-mock-kpi__icon{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;line-height:0}.relay-mock-kpi__icon svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block}.relay-mock-kpi__icon--ok{background:var(--rm-ok-soft);color:var(--rm-ok)}.relay-mock-kpi__icon--purple{background:var(--rm-purple-soft);color:var(--rm-purple)}.relay-mock-kpi__icon--info{background:var(--rm-info-soft);color:var(--rm-info)}.relay-mock-kpi__icon--warn{background:var(--rm-warn-soft);color:#b45309}.relay-mock-kpi__icon--crit{background:#fee2e2;color:var(--rm-crit)}.relay-mock-kpi__label{font-size:11px;color:var(--rm-secondary);font-weight:500}.relay-mock-kpi__value{font-size:18px;font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.relay-mock-kpi__sub{font-size:11px;color:var(--rm-muted);font-weight:500}.relay-mock-kpi__spark{margin-top:4px;height:16px}.relay-mock-kpi__bar{height:4px;border-radius:999px;background:#eef2f7;margin-top:6px;overflow:hidden}.relay-mock-kpi__bar-fill{display:block;height:100%;border-radius:inherit}.relay-mock-kpi__bar-fill--ok{background:#22c55e}.relay-mock-kpi__bar-fill--info{background:#3b82f6}.relay-mock-card{background:var(--rm-card);border:1px solid var(--rm-border);border-radius:var(--rm-radius);box-shadow:var(--rm-shadow);padding:14px;min-width:0}.relay-mock-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.relay-mock-card__head h3,.relay-mock-flow__title-row h2,.relay-mock-inspector h2,.relay-mock-inspector h3{margin:0;font-size:14px;font-weight:700}.relay-mock-card__title-row{display:flex;align-items:center;gap:6px}.relay-mock-card__hint{font-size:12px;color:var(--rm-muted)}.relay-mock-card__info{color:var(--rm-muted)}.relay-mock-live-pill{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--rm-border);background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--rm-secondary);cursor:pointer;font-family:inherit}.relay-mock-flow{background:var(--rm-card);border:1px solid var(--rm-border);border-radius:var(--rm-radius);box-shadow:var(--rm-shadow);padding:14px}.relay-mock-flow__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.relay-mock-flow__title-row{display:flex;align-items:center;gap:8px}.relay-mock-flow__controls{display:inline-flex;border:1px solid var(--rm-border);border-radius:8px;overflow:hidden}.relay-mock-flow__controls button{border:0;border-right:1px solid var(--rm-border);background:#fff;height:30px;min-width:30px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;font-weight:600;color:var(--rm-secondary);font-family:inherit}.relay-mock-flow__controls button:last-child{border-right:0}.relay-mock-flow__canvas{display:flex;align-items:center;gap:0;overflow-x:auto;padding:8px 0 12px;min-height:220px}.relay-mock-node{background:#fbfcfe;border:1px solid var(--rm-border);border-radius:12px;padding:12px;min-width:150px;max-width:180px;display:flex;flex-direction:column;gap:8px}.relay-mock-node header{display:flex;align-items:center;gap:8px}.relay-mock-node header strong{display:block;font-size:12px;font-weight:700}.relay-mock-node header span{display:block;font-size:11px;color:var(--rm-secondary);font-weight:500}.relay-mock-node__glyph{position:relative;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.relay-mock-node__glyph svg{position:absolute;top:50%;left:50%;width:14px;height:14px;margin:0;transform:translate(-50%,-50%);display:block;overflow:visible}.relay-mock-bridge .relay-mock-node__glyph,.relay-mock-edge .relay-mock-node__glyph{width:26px;height:26px}.relay-mock-bridge .relay-mock-node__glyph svg,.relay-mock-edge .relay-mock-node__glyph svg{width:12px;height:12px}.relay-mock-node__glyph--purple{background:var(--rm-purple-soft);color:var(--rm-purple)}.relay-mock-node__glyph--ok{background:var(--rm-ok-soft);color:var(--rm-ok)}.relay-mock-node__glyph--info{background:var(--rm-info-soft);color:var(--rm-info)}.relay-mock-node__status{margin:0;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--rm-secondary)}.relay-mock-node__status--ok{color:var(--rm-ok)}.relay-mock-node__status--warn{color:#b45309}.relay-mock-node__status--crit{color:var(--rm-crit)}.relay-mock-node__metric,.relay-mock-node__status--info,.relay-mock-node__status--muted{color:var(--rm-secondary)}.relay-mock-node__metric{display:flex;justify-content:space-between;font-size:12px}.relay-mock-node__metric strong{color:var(--rm-text)}.relay-mock-node__io{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--rm-secondary)}.relay-mock-node__io li{display:flex;align-items:center;gap:6px}.relay-mock-node__io strong{margin-left:auto;color:var(--rm-text)}.relay-mock-node__io .is-info{color:var(--rm-info)}.relay-mock-node__big{margin:0;font-size:24px;font-weight:700;letter-spacing:-.03em}.relay-mock-node__foot{font-size:11px;color:var(--rm-muted);font-weight:500}.relay-mock-bridges,.relay-mock-edges{display:flex;flex-direction:column;gap:8px;min-width:160px}.relay-mock-bridge,.relay-mock-edge{display:flex;align-items:center;gap:8px;background:#fbfcfe;border:1px solid var(--rm-border);border-radius:10px;padding:8px 10px}.relay-mock-bridge__text,.relay-mock-edge div{min-width:0;flex:1 1}.relay-mock-bridge__text strong,.relay-mock-edge strong{display:block;font-size:12px;font-weight:700}.relay-mock-bridge__text span,.relay-mock-edge span{display:block;font-size:11px;color:var(--rm-secondary)}.relay-mock-bridge__lat{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--rm-secondary);white-space:nowrap}.relay-mock-conn{display:flex;align-items:center;flex:0 0 56px;min-width:56px;position:relative;align-self:center}.relay-mock-conn__line{flex:1 1;border-top:2px dashed #93c5fd}.relay-mock-conn__pill{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#1d4ed8;color:#fff;font-size:10px;font-weight:700;padding:3px 7px;border-radius:999px;white-space:nowrap;z-index:1}.relay-mock-conn__arrow{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #3b82f6;flex-shrink:0}.relay-mock-conn__dot{width:10px;height:10px;border-radius:50%;background:#3b82f6;border:2px solid #fff;box-shadow:0 0 0 1px #93c5fd;flex-shrink:0;margin-right:2px}.relay-mock-flow__legend{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;color:var(--rm-secondary);font-weight:500;padding-top:4px;border-top:1px solid #eef2f7}.relay-mock-flow__legend span{display:inline-flex;align-items:center;gap:6px}.relay-mock-flow__legend-line>span:first-child{width:18px;border-top:2px dashed #93c5fd;display:inline-block}.relay-mock-inspector{position:-webkit-sticky;position:sticky;top:12px;background:var(--rm-card);border:1px solid var(--rm-border);border-radius:var(--rm-radius);box-shadow:var(--rm-shadow);padding:12px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 28px);overflow:auto}.relay-mock-inspector__top{display:flex;align-items:center;justify-content:space-between}.relay-mock-inspector__identity{display:grid;grid-template-columns:40px 1fr auto;grid-gap:10px;gap:10px;align-items:center}.relay-mock-inspector__avatar{position:relative;width:40px;height:40px;border-radius:12px;background:var(--rm-ok-soft);color:var(--rm-ok);display:inline-flex;align-items:center;justify-content:center;line-height:0}.relay-mock-inspector__avatar svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block}.relay-mock-inspector__identity strong{display:block;font-size:13px;font-weight:700}.relay-mock-inspector__identity span{font-size:11px;color:var(--rm-secondary);font-weight:500}.relay-mock-tabs{display:flex;border-bottom:1px solid var(--rm-border)}.relay-mock-tabs button{flex:1 1;border:0;background:transparent;padding:8px 4px;font-size:12px;font-weight:600;color:var(--rm-secondary);cursor:pointer;font-family:inherit;border-bottom:2px solid transparent;margin-bottom:-1px}.relay-mock-tabs button.is-active{color:#2563eb;border-bottom-color:#2563eb}.relay-mock-inspector__meta{margin:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:10px 12px;gap:10px 12px}.relay-mock-inspector__meta dt{font-size:11px;color:var(--rm-secondary);margin-bottom:2px}.relay-mock-inspector__meta dd{margin:0;font-size:12px}.relay-mock-inspector__meta dd.is-ok{color:var(--rm-ok);font-weight:700}.relay-mock-inspector__meta--wide{grid-column:1/-1}.relay-mock-inspector__metrics{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.relay-mock-metric-card{background:#f8fafc;border:1px solid #eef2f7;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px}.relay-mock-metric-card span{font-size:11px;color:var(--rm-secondary)}.relay-mock-metric-card strong{font-size:16px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.relay-mock-inspector__actions h3,.relay-mock-inspector__alerts h3{font-size:12px;margin-bottom:8px}.relay-mock-inspector__actions-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px}.relay-mock-inspector__actions-row button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:10px;font-weight:600;color:var(--rm-secondary);cursor:pointer;font-family:inherit;padding:0;text-align:center}.relay-mock-qa-icon{position:relative;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;line-height:0}.relay-mock-qa-icon svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block}.relay-mock-qa-icon--ok{background:var(--rm-ok-soft);color:var(--rm-ok)}.relay-mock-qa-icon--crit{background:#fee2e2;color:var(--rm-crit)}.relay-mock-qa-icon--purple{background:var(--rm-purple-soft);color:var(--rm-purple)}.relay-mock-qa-icon--info{background:var(--rm-info-soft);color:var(--rm-info)}.relay-mock-inspector__alerts-head{display:flex;justify-content:space-between;align-items:center}.relay-mock-inspector__alerts ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.relay-mock-inspector__alerts li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;grid-gap:8px;gap:8px;font-size:12px;align-items:start}.relay-mock-inspector__alerts time{font-size:10px;color:var(--rm-muted);white-space:nowrap}.relay-mock-traffic__kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-bottom:10px}.relay-mock-traffic__kpis span{display:block;font-size:11px;color:var(--rm-secondary)}.relay-mock-traffic__kpis strong{font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.relay-mock-traffic__kpis .is-ok{color:#16a34a}.relay-mock-traffic__kpis .is-purple{color:var(--rm-purple)}.relay-mock-traffic__kpis .is-info{color:var(--rm-info)}.relay-mock-traffic__kpis .is-warn{color:#d97706}.relay-mock-chart-ph svg{width:100%;height:120px;background:linear-gradient(#f8fafc,#fff);border:1px solid #eef2f7;border-radius:8px}.relay-mock-chart-ph--lined{display:grid;grid-template-columns:44px 1fr;grid-gap:6px;gap:6px}.relay-mock-chart-ph__y{flex-direction:column;text-align:right;padding:4px 0 20px}.relay-mock-chart-ph__x,.relay-mock-chart-ph__y{display:flex;justify-content:space-between;font-size:9px;color:var(--rm-muted)}.relay-mock-chart-ph__x{margin-top:4px}.relay-mock-traffic__legend{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;font-size:11px;color:var(--rm-secondary)}.relay-mock-traffic__legend span{display:inline-flex;align-items:center;gap:5px}.relay-mock-table{width:100%;border-collapse:collapse;font-size:12px}.relay-mock-table th{text-align:left;font-size:10px;font-weight:600;color:var(--rm-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 6px 8px 0;border-bottom:1px solid #eef2f7}.relay-mock-table td{padding:9px 6px 9px 0;border-bottom:1px solid #eef2f7;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.relay-mock-table tr:last-child td{border-bottom:0}.relay-mock-table__name{font-weight:600;color:var(--rm-secondary)}.relay-mock-progress{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.relay-mock-progress__label{display:flex;justify-content:space-between;font-size:12px;color:var(--rm-secondary);margin-bottom:6px}.relay-mock-progress__label strong{color:var(--rm-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.relay-mock-progress__bar{height:8px;border-radius:999px;background:#eef2f7;overflow:hidden}.relay-mock-progress__fill{display:block;height:100%;border-radius:inherit}.relay-mock-progress__fill--ok{background:#22c55e}.relay-mock-progress__fill--info{background:#3b82f6}.relay-mock-progress__fill--warn{background:#f59e0b}.relay-mock-progress__fill--purple{background:#7c3aed}.relay-mock-timeline{list-style:none;margin:0;padding:0}.relay-mock-timeline li{display:grid;grid-template-columns:58px 12px minmax(0,1fr);grid-gap:8px;gap:8px;padding:7px 0;position:relative}.relay-mock-timeline li:before{content:"";position:absolute;left:63px;top:0;bottom:0;width:1px;background:#e5e7eb}.relay-mock-timeline time{font-size:11px;color:var(--rm-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.relay-mock-timeline__dot{width:8px;height:8px;border-radius:50%;margin-top:4px;position:relative;z-index:1;background:#3b82f6;box-shadow:0 0 0 3px #fff}.relay-mock-timeline__dot.topo-mock-dot--ok{background:#22c55e}.relay-mock-timeline__dot.topo-mock-dot--warn{background:#f59e0b}.relay-mock-timeline__dot.topo-mock-dot--info{background:#3b82f6}.relay-mock-timeline__dot.topo-mock-dot--purple{background:#7c3aed}.relay-mock-timeline p{margin:0;font-size:12px;font-weight:500}@media (max-width:1280px){.relay-mock-body{grid-template-columns:1fr}.relay-mock-inspector{position:static;max-height:none}.relay-mock-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.relay-mock-row--3,.relay-mock-row--4{grid-template-columns:1fr 1fr}.relay-mock-traffic{grid-column:1/-1}}@media (max-width:900px){.relay-mock-kpis,.relay-mock-row--3,.relay-mock-row--4{grid-template-columns:1fr}.relay-mock-traffic__kpis{grid-template-columns:1fr 1fr}}.turn-mock-page{--tn-bg:#f7f9fc;--tn-card:#ffffff;--tn-border:#e8ecf4;--tn-text:#111827;--tn-secondary:#6b7280;--tn-muted:#94a3b8;--tn-ok:#16a34a;--tn-ok-soft:#dcfce7;--tn-warn:#f59e0b;--tn-warn-soft:#fef3c7;--tn-info:#3b82f6;--tn-info-soft:#dbeafe;--tn-purple:#7c3aed;--tn-purple-soft:#ede9fe;--tn-teal:#14b8a6;--tn-teal-soft:#ccfbf1;--tn-radius:12px;--tn-shadow:0 1px 2px rgba(15,23,42,0.04),0 8px 24px rgba(15,23,42,0.04);background:var(--tn-bg);color:var(--tn-text);min-height:100%;font-family:var(--font-ops),"DM Sans",system-ui,sans-serif;padding:16px 20px 24px}.turn-mock-shell{max-width:1680px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.turn-mock-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.turn-mock-badge--ok{background:var(--tn-ok-soft);color:var(--tn-ok)}.turn-mock-badge--ok-soft{background:#ecfdf5;color:#059669}.turn-mock-header__title-row{display:flex;align-items:center;gap:10px}.turn-mock-header h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.03em}.turn-mock-header__sub{margin:4px 0 12px;font-size:13px;color:var(--tn-secondary);font-weight:500;max-width:720px}.turn-mock-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px}.turn-mock-kpi{background:var(--tn-card);border:1px solid var(--tn-border);border-radius:var(--tn-radius);box-shadow:var(--tn-shadow);padding:12px;display:flex;flex-direction:column;gap:4px;min-width:0}.turn-mock-kpi__top{display:flex;align-items:center;gap:8px}.turn-mock-kpi__icon{position:relative;width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.turn-mock-kpi__icon svg{position:absolute;top:50%;left:50%;width:14px;height:14px;margin:0;transform:translate(-50%,-50%);display:block;overflow:visible}.turn-mock-kpi__icon--ok{background:var(--tn-ok-soft);color:var(--tn-ok)}.turn-mock-kpi__icon--purple{background:var(--tn-purple-soft);color:var(--tn-purple)}.turn-mock-kpi__icon--info{background:var(--tn-info-soft);color:var(--tn-info)}.turn-mock-kpi__icon--warn{background:var(--tn-warn-soft);color:#b45309}.turn-mock-kpi__icon--teal{background:var(--tn-teal-soft);color:var(--tn-teal)}.turn-mock-kpi__label{font-size:11px;color:var(--tn-secondary);font-weight:500}.turn-mock-kpi__value{font-size:18px;font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.turn-mock-kpi__sub{font-size:11px;color:var(--tn-muted);font-weight:500}.turn-mock-kpi__spark{margin-top:4px;height:16px}.turn-mock-card{background:var(--tn-card);border:1px solid var(--tn-border);border-radius:var(--tn-radius);box-shadow:var(--tn-shadow);padding:14px;min-width:0}.turn-mock-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.turn-mock-card__head h2,.turn-mock-card__head h3{margin:0;font-size:14px;font-weight:700}.turn-mock-card__hint{font-size:11px;color:var(--tn-muted);font-weight:500}.turn-mock-range{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--tn-border);background:#fff;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;color:var(--tn-secondary);cursor:pointer;font-family:inherit}.turn-mock-row{display:grid;grid-gap:12px;gap:12px}.turn-mock-row--signal{grid-template-columns:minmax(0,1.4fr) minmax(300px,.9fr)}.turn-mock-row--4{grid-template-columns:repeat(4,minmax(0,1fr))}.turn-mock-row--3{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(240px,.8fr)}.turn-mock-signal__map{display:grid;grid-template-columns:minmax(150px,180px) 72px minmax(150px,190px) 72px minmax(140px,180px);grid-gap:4px;gap:4px;align-items:center;min-height:210px}.turn-mock-signal__col{display:flex;flex-direction:column;gap:12px;justify-content:center}.turn-mock-signal__col--out{gap:10px}.turn-mock-signal__manager,.turn-mock-signal__out,.turn-mock-signal__src{background:#fbfcfe;border:1px solid var(--tn-border);border-radius:10px;padding:10px}.turn-mock-signal__out,.turn-mock-signal__src{display:flex;align-items:center;gap:8px}.turn-mock-signal__manager strong,.turn-mock-signal__src strong{font-size:12px;font-weight:700;line-height:1.25}.turn-mock-signal__out span{display:block;font-size:11px;color:var(--tn-secondary);font-style:normal}.turn-mock-signal__out strong{font-size:13px;font-weight:700}.turn-mock-signal__out em{display:block;font-size:10px;font-style:normal;color:var(--tn-muted);font-weight:500}.turn-mock-signal__manager{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;box-shadow:0 0 0 3px rgba(34,197,94,.08);border-color:#bbf7d0}.turn-mock-signal__manager p{margin:0;font-size:13px;font-weight:700}.turn-mock-details__meta .is-ok,.turn-mock-signal__manager .is-ok{color:var(--tn-ok)}.turn-mock-signal__addr{font-size:11px;color:var(--tn-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.turn-mock-signal__glyph{position:relative;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.turn-mock-signal__glyph svg{position:absolute;top:50%;left:50%;width:14px;height:14px;margin:0;transform:translate(-50%,-50%);display:block;overflow:visible}.turn-mock-signal__manager .turn-mock-signal__glyph svg{width:16px;height:16px}.turn-mock-signal__glyph--ok{background:var(--tn-ok-soft);color:var(--tn-ok)}.turn-mock-signal__glyph--purple{background:var(--tn-purple-soft);color:var(--tn-purple)}.turn-mock-signal__glyph--info{background:var(--tn-info-soft);color:var(--tn-info)}.turn-mock-signal__glyph--warn{background:var(--tn-warn-soft);color:#b45309}.turn-mock-signal__glyph--teal{background:var(--tn-teal-soft);color:var(--tn-teal)}.turn-mock-signal__wires{width:100%;height:200px;display:block}.turn-mock-signal__legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid #eef2f7;font-size:11px;color:var(--tn-secondary);font-weight:500}.turn-mock-signal__legend span,.turn-mock-signal__legend-teal{display:inline-flex;align-items:center;gap:5px}.turn-mock-details__body{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.turn-mock-details__meta{margin:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.turn-mock-details__meta dt{font-size:11px;color:var(--tn-secondary);margin-bottom:2px}.turn-mock-details__meta dd{margin:0;font-size:12px}.turn-mock-details__meta--wide{grid-column:1/-1}.turn-mock-details__metrics{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.turn-mock-metric-card{background:#f8fafc;border:1px solid #eef2f7;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px}.turn-mock-metric-card span{font-size:11px;color:var(--tn-secondary)}.turn-mock-metric-card strong{font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.turn-mock-metric-card__bar{height:6px;border-radius:999px;background:#eef2f7;margin-top:4px;overflow:hidden}.turn-mock-metric-card__bar>span{display:block;height:100%;background:#7c3aed;border-radius:inherit}.turn-mock-details__actions{display:flex;gap:8px;margin-top:12px}.turn-mock-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--tn-border);background:#fff;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.turn-mock-btn svg{display:block;flex-shrink:0;margin:0}.turn-mock-btn--restart{color:var(--tn-purple);border-color:#ddd6fe}.turn-mock-btn--docs,.turn-mock-btn--logs{color:var(--tn-info);border-color:#bfdbfe}.turn-mock-btn--docs{margin-top:12px;width:100%}.turn-mock-chart__value{display:block;font-size:18px;font-weight:700;margin-bottom:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.turn-mock-chart__dual{display:flex;gap:16px;font-size:12px;color:var(--tn-secondary);margin-bottom:8px}.turn-mock-chart__dual .is-ok{color:var(--tn-ok)}.turn-mock-chart__dual .is-purple{color:var(--tn-purple)}.turn-mock-chart__plot svg{width:100%;height:80px;background:linear-gradient(#f8fafc,#fff);border:1px solid #eef2f7;border-radius:8px}.turn-mock-chart__x{display:flex;justify-content:space-between;font-size:9px;margin-top:4px;padding:0 2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.turn-mock-chart__x,.turn-mock-table__dash{color:var(--tn-muted)}.turn-mock-chart__legend{display:flex;gap:12px;margin-top:8px;font-size:11px;color:var(--tn-secondary)}.turn-mock-chart__legend span{display:inline-flex;align-items:center;gap:5px}.turn-mock-table{width:100%;border-collapse:collapse;font-size:12px}.turn-mock-table th{text-align:left;font-size:10px;font-weight:600;color:var(--tn-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 6px 8px 0;border-bottom:1px solid #eef2f7}.turn-mock-table td{padding:9px 6px 9px 0;border-bottom:1px solid #eef2f7;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.turn-mock-table tr:last-child td{border-bottom:0}.turn-mock-table__name{font-weight:600;color:var(--tn-secondary)}.turn-mock-table__empty{text-align:center;color:var(--tn-muted);padding:24px 0!important;white-space:normal!important}.turn-mock-notes ul{margin:0;padding-left:16px;flex-direction:column;gap:8px;line-height:1.4}.turn-mock-footer,.turn-mock-notes ul{display:flex;font-size:12px;color:var(--tn-secondary)}.turn-mock-footer{justify-content:space-between;align-items:center;gap:12px;padding:8px 2px 0}.turn-mock-footer__live{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--tn-ok)}@media (max-width:1200px){.turn-mock-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.turn-mock-row--3,.turn-mock-row--4,.turn-mock-row--signal,.turn-mock-signal__map{grid-template-columns:1fr}.turn-mock-signal__wires{display:none}.turn-mock-details__body{grid-template-columns:1fr}}@media (max-width:700px){.turn-mock-kpis{grid-template-columns:1fr 1fr}}.queues-mock-page{--qq-bg:#f7f9fc;--qq-card:#ffffff;--qq-border:#e8ecf4;--qq-text:#111827;--qq-secondary:#6b7280;--qq-muted:#94a3b8;--qq-ok:#16a34a;--qq-ok-soft:#dcfce7;--qq-warn:#f59e0b;--qq-warn-soft:#fef3c7;--qq-crit:#ef4444;--qq-crit-soft:#fee2e2;--qq-info:#3b82f6;--qq-info-soft:#dbeafe;--qq-purple:#7c3aed;--qq-purple-soft:#ede9fe;--qq-radius:12px;--qq-shadow:0 1px 2px rgba(15,23,42,0.04),0 8px 24px rgba(15,23,42,0.04);background:var(--qq-bg);color:var(--qq-text);min-height:100%;font-family:var(--font-ops),"DM Sans",system-ui,sans-serif;padding:16px 20px 24px}.queues-mock-shell{max-width:1680px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.queues-mock-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.queues-mock-badge--ok{background:var(--qq-ok-soft);color:var(--qq-ok)}.queues-mock-header__row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.queues-mock-header__title-row{display:flex;align-items:center;gap:10px}.queues-mock-header h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.03em}.queues-mock-header__sub{margin:4px 0 0;font-size:13px;color:var(--qq-secondary);font-weight:500;max-width:640px}.queues-mock-header__actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.queues-mock-refresh{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--qq-secondary);font-weight:500}.queues-mock-export,.queues-mock-range,.queues-mock-refresh__btn{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--qq-border);background:#fff;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;color:var(--qq-secondary);cursor:pointer;font-family:inherit}.queues-mock-export{color:var(--qq-info);border-color:#bfdbfe}.queues-mock-link{border:0;background:none;color:var(--qq-info);font-size:12px;font-weight:600;cursor:pointer;padding:0;font-family:inherit}.queues-mock-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.queues-mock-kpi{background:var(--qq-card);border:1px solid var(--qq-border);border-radius:var(--qq-radius);box-shadow:var(--qq-shadow);padding:14px;display:flex;flex-direction:column;gap:4px;min-width:0}.queues-mock-kpi__top{display:flex;justify-content:space-between;align-items:center}.queues-mock-kpi__label{font-size:12px;font-weight:600;color:var(--qq-secondary)}.queues-mock-kpi__dot{width:8px;height:8px;border-radius:50%}.queues-mock-kpi__dot--purple{background:var(--qq-purple)}.queues-mock-kpi__dot--info{background:var(--qq-info)}.queues-mock-kpi__dot--warn{background:var(--qq-warn)}.queues-mock-kpi__dot--crit{background:var(--qq-crit)}.queues-mock-kpi__value{font-size:28px;font-weight:700;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.queues-mock-kpi__value em{font-style:normal;font-size:13px;font-weight:600;color:var(--qq-muted);margin-left:4px}.queues-mock-kpi--purple .queues-mock-kpi__value{color:var(--qq-purple)}.queues-mock-kpi--info .queues-mock-kpi__value{color:var(--qq-info)}.queues-mock-kpi--warn .queues-mock-kpi__value{color:#d97706}.queues-mock-kpi--crit .queues-mock-kpi__value{color:var(--qq-crit)}.queues-mock-kpi__rate{font-size:11px;color:var(--qq-muted);font-weight:500}.queues-mock-kpi__spark{margin-top:6px;height:18px}.queues-mock-card{background:var(--qq-card);border:1px solid var(--qq-border);border-radius:var(--qq-radius);box-shadow:var(--qq-shadow);padding:14px;min-width:0}.queues-mock-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.queues-mock-card__head h2{margin:0;font-size:14px;font-weight:700}.queues-mock-card__hint{font-size:11px;color:var(--qq-muted);font-weight:500}.queues-mock-row{display:grid;grid-gap:12px;gap:12px}.queues-mock-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.queues-mock-row--2{grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr)}.queues-mock-livekit{margin:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 16px;gap:14px 16px}.queues-mock-livekit dt{font-size:11px;color:var(--qq-secondary);margin-bottom:4px}.queues-mock-livekit dd{margin:0;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--qq-muted)}.queues-mock-livekit strong{font-size:18px;font-weight:700;color:var(--qq-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.queues-mock-health .is-ok,.queues-mock-livekit .is-ok{color:var(--qq-ok)}.queues-mock-health .is-warn{color:var(--qq-warn,#d97706)}.queues-mock-health .is-crit{color:var(--qq-crit,#dc2626)}.queues-mock-health .is-muted{color:var(--qq-muted)}.queues-mock-health__body{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:18px 8px 8px}.queues-mock-health__icon{width:56px;height:56px;border-radius:50%;background:var(--qq-ok-soft);color:var(--qq-ok);display:inline-flex;align-items:center;justify-content:center}.queues-mock-health__icon--warn{background:color-mix(in srgb,var(--qq-warn,#d97706) 14%,white);color:var(--qq-warn,#d97706)}.queues-mock-health__icon--crit{background:color-mix(in srgb,var(--qq-crit,#dc2626) 12%,white);color:var(--qq-crit,#dc2626)}.queues-mock-health__icon--info,.queues-mock-health__icon--muted,.queues-mock-health__icon--purple{background:#f1f5f9;color:var(--qq-muted)}.queues-mock-health__body strong{font-size:14px;font-weight:700}.queues-mock-health__body span{font-size:12px;color:var(--qq-muted)}.queues-mock-dist{display:grid;grid-template-columns:auto 1fr;grid-gap:14px;gap:14px;align-items:center}.queues-mock-dist ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.queues-mock-dist li{display:grid;grid-template-columns:8px minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;font-size:12px;color:var(--qq-secondary)}.queues-mock-dist strong{color:var(--qq-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.queues-mock-chart{display:grid;grid-template-columns:36px 1fr;grid-gap:6px;gap:6px;min-height:160px}.queues-mock-chart__y{display:flex;flex-direction:column;justify-content:space-between;font-size:9px;color:var(--qq-muted);text-align:right;padding:4px 0 22px}.queues-mock-chart__plot svg{width:100%;height:140px;background:linear-gradient(#f8fafc,#fff);border:1px solid #eef2f7;border-radius:8px}.queues-mock-chart__x{display:flex;justify-content:space-between;font-size:9px;color:var(--qq-muted);margin-top:4px;padding:0 4px}.queues-mock-chart__legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:11px;color:var(--qq-secondary)}.queues-mock-chart__legend span{display:inline-flex;align-items:center;gap:5px}.queues-mock-rate{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:10px}.queues-mock-rate span{display:block;font-size:11px;color:var(--qq-secondary);margin-bottom:2px}.queues-mock-rate strong{font-size:20px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.queues-mock-rate .is-ok{color:var(--qq-ok)}.queues-mock-rate .is-crit{color:var(--qq-crit)}.queues-mock-rate__spark{display:flex;align-items:center;gap:8px;color:var(--qq-ok);margin-bottom:12px}.queues-mock-rate__spark .topo-mock-spark{flex:1 1;height:28px}.queues-mock-rate__stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;border-top:1px solid #eef2f7;padding-top:12px}.queues-mock-rate__stats span{display:block;font-size:11px;color:var(--qq-muted)}.queues-mock-rate__stats strong{font-size:14px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.queues-mock-table{width:100%;border-collapse:collapse;font-size:12px}.queues-mock-table th{text-align:left;font-size:10px;font-weight:600;color:var(--qq-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 8px 8px 0;border-bottom:1px solid #eef2f7}.queues-mock-table td{padding:10px 8px 10px 0;border-bottom:1px solid #eef2f7;vertical-align:top}.queues-mock-table tr:last-child td{border-bottom:0}.queues-mock-table__cat{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--qq-secondary)}.queues-mock-table__target{color:var(--qq-secondary);white-space:nowrap}.queues-mock-sev{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize}.queues-mock-sev--info{background:var(--qq-info-soft);color:#1d4ed8}.queues-mock-sev--warning{background:var(--qq-warn-soft);color:#b45309}.queues-mock-sev--error{background:var(--qq-crit-soft);color:#b91c1c}.queues-mock-sources{margin:10px 0 0;font-size:11px;color:var(--qq-muted);text-align:right}@media (max-width:1100px){.queues-mock-kpis{grid-template-columns:1fr 1fr}.queues-mock-row--2,.queues-mock-row--3{grid-template-columns:1fr}}@media (max-width:700px){.queues-mock-kpis{grid-template-columns:1fr}.queues-mock-header__row{flex-direction:column}}.ov-mock-page{--ov-bg:#f7f9fc;--ov-card:#ffffff;--ov-border:#e8ecf4;--ov-text:#111827;--ov-secondary:#6b7280;--ov-muted:#94a3b8;--ov-ok:#16a34a;--ov-ok-soft:#dcfce7;--ov-warn:#f59e0b;--ov-warn-soft:#fef3c7;--ov-crit:#ef4444;--ov-crit-soft:#fee2e2;--ov-info:#3b82f6;--ov-info-soft:#dbeafe;--ov-purple:#7c3aed;--ov-purple-soft:#ede9fe;--ov-teal:#14b8a6;--ov-teal-soft:#ccfbf1;--ov-radius:12px;--ov-shadow:0 1px 2px rgba(15,23,42,0.04),0 8px 24px rgba(15,23,42,0.04);background:var(--ov-bg);color:var(--ov-text);min-height:100%;font-family:var(--font-ops),"DM Sans",system-ui,sans-serif;padding:16px 20px 24px}.ov-mock-shell{max-width:1680px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.ov-mock-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.ov-mock-header h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.03em}.ov-mock-header p{margin:4px 0 0;font-size:13px;color:var(--ov-secondary);font-weight:500}.ov-mock-cta{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border:0;border-radius:10px;background:#2563eb;color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.ov-mock-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px}.ov-mock-kpi{background:var(--ov-card);border:1px solid var(--ov-border);border-radius:var(--ov-radius);box-shadow:var(--ov-shadow);padding:12px;display:flex;flex-direction:column;gap:4px;min-width:0}.ov-mock-kpi__top{display:flex;justify-content:space-between;align-items:center;gap:8px}.ov-mock-kpi__label{font-size:11px;font-weight:600;color:var(--ov-secondary)}.ov-mock-kpi__icon{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ov-mock-kpi__icon--ok{background:#dcfce7;color:#16a34a}.ov-mock-kpi__icon--info{background:#dbeafe;color:#2563eb}.ov-mock-kpi__icon--purple{background:#ede9fe;color:#7c3aed}.ov-mock-kpi__icon--warn{background:#ffedd5;color:#ea580c}.ov-mock-kpi__icon--crit{background:#fee2e2;color:#dc2626}.ov-mock-kpi__value{font-size:22px;font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ov-mock-kpi--ok .ov-mock-kpi__value{color:#16a34a}.ov-mock-kpi--crit .ov-mock-kpi__value{color:#dc2626}.ov-mock-kpi__sub{font-size:11px;color:var(--ov-muted);font-weight:500}.ov-mock-kpi__spark{margin-top:6px;width:100%;height:22px;display:block}.ov-mock-card{background:var(--ov-card);border:1px solid var(--ov-border);border-radius:var(--ov-radius);box-shadow:var(--ov-shadow);padding:14px;min-width:0}.ov-mock-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.ov-mock-card__head h2{margin:0;font-size:14px;font-weight:700}.ov-mock-card__title-row{display:flex;align-items:center;gap:8px}.ov-mock-live{gap:5px;font-size:11px;color:var(--ov-ok)}.ov-mock-link,.ov-mock-live{display:inline-flex;align-items:center;font-weight:600}.ov-mock-link{gap:4px;color:var(--ov-info);font-size:12px;text-decoration:none}.ov-mock-range{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--ov-border);background:#fff;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;color:var(--ov-secondary);cursor:pointer;font-family:inherit}.ov-mock-row{display:grid;grid-gap:12px;gap:12px}.ov-mock-row--main{grid-template-columns:minmax(0,1.5fr) minmax(300px,.9fr)}.ov-mock-row--3{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(220px,.7fr)}.ov-mock-side{display:flex;flex-direction:column;gap:12px}.ov-mock-topo__body{display:grid;grid-template-columns:118px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:stretch}.ov-mock-topo__legend{list-style:none;margin:0;padding:10px 0;display:flex;flex-direction:column;justify-content:center;gap:12px}.ov-mock-topo__legend li{display:flex;align-items:center;gap:8px}.ov-mock-topo__legend strong{display:block;font-size:12px;font-weight:700;line-height:1.2}.ov-mock-topo__status{display:inline-flex;margin-top:2px;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:600;font-style:normal;line-height:1.35}.ov-mock-topo__status--info{background:#dbeafe;color:#1d4ed8}.ov-mock-topo__status--purple{background:#ede9fe;color:#6d28d9}.ov-mock-topo__status--teal{background:#ccfbf1;color:#0f766e}.ov-mock-topo__status--warn{background:#fef3c7;color:#b45309}.ov-mock-topo__status--crit{background:#fce7f3;color:#be185d}.ov-mock-topo__chip{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ov-mock-topo__chip--info{background:#3b82f6}.ov-mock-topo__chip--purple{background:#8b5cf6}.ov-mock-topo__chip--teal{background:#14b8a6}.ov-mock-topo__chip--warn{background:#f59e0b}.ov-mock-topo__chip--crit{background:#ec4899}.ov-mock-topo__canvas{min-width:0;background:#fafbfd;border:1px solid #eef2f7;border-radius:10px;padding:14px 10px;overflow:hidden}.ov-mock-topo__pipeline{display:flex;align-items:center;gap:4px;min-height:176px}.ov-mock-node{position:relative;background:#fff;border:1.5px solid var(--ov-border);border-radius:10px;padding:10px 10px 8px;min-width:92px;box-shadow:0 1px 2px rgba(15,23,42,.03)}.ov-mock-node__icon{width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px}.ov-mock-node__icon.is-muted{background:#f1f5f9;color:#64748b}.ov-mock-node__icon.is-info{background:#dbeafe;color:#2563eb}.ov-mock-node__icon.is-purple{background:#ede9fe;color:#7c3aed}.ov-mock-node__icon.is-teal{background:#ccfbf1;color:#0d9488}.ov-mock-node__row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ov-mock-node strong{display:block;font-size:12px;font-weight:700;line-height:1.2}.ov-mock-node b,.ov-mock-node em,.ov-mock-node span{display:block;font-size:11px;color:var(--ov-secondary);font-style:normal;font-weight:500;line-height:1.25}.ov-mock-node b{color:var(--ov-text);font-weight:700;white-space:nowrap}.ov-mock-node--teacher{border-color:#cbd5e1}.ov-mock-node--origin{border-color:#60a5fa;background:#f8fbff}.ov-mock-node--relay{border-color:#a78bfa;background:#faf8ff}.ov-mock-node--edge{border-color:#2dd4bf;background:#f6fffd;min-width:142px}.ov-mock-node--students{border-color:#a78bfa;background:#faf8ff;text-align:left;min-width:100px;align-self:center}.ov-mock-topo__fan,.ov-mock-topo__to-students{width:32px;height:128px;flex-shrink:0;align-self:center}.ov-mock-edges{display:flex;flex-direction:column;gap:6px}.ov-mock-arrow{width:14px;height:2px;background:#94a3b8;position:relative;flex-shrink:0}.ov-mock-arrow:after{content:"";position:absolute;right:-1px;top:-4px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid #94a3b8}.ov-mock-resources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.ov-mock-resource span{display:block;font-size:11px;color:var(--ov-secondary);margin-bottom:2px;font-weight:600}.ov-mock-resource>strong{display:block;font-size:20px;font-weight:700;margin-bottom:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.ov-mock-resource>strong.is-blue{color:#2563eb}.ov-mock-resource>strong.is-purple{color:#7c3aed}.ov-mock-resource>strong.is-green{color:#16a34a}.ov-mock-resource__chart{display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:4px;gap:4px;align-items:stretch}.ov-mock-resource__y{display:flex;flex-direction:column;justify-content:space-between;padding:2px 0 14px}.ov-mock-resource__y em{font-style:normal;font-size:8px;color:var(--ov-muted);font-weight:500;text-align:right}.ov-mock-resource__plot{min-width:0}.ov-mock-resource__spark{width:100%;height:56px;display:block}.ov-mock-resource__x{display:flex;justify-content:space-between;margin-top:2px}.ov-mock-resource__x em{font-style:normal;font-size:9px;color:var(--ov-muted);font-weight:500}.ov-mock-quality{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;text-align:center;padding:4px 0 2px}.ov-mock-quality__item{display:flex;flex-direction:column;align-items:center;gap:4px}.ov-mock-quality__item .topo-mock-donut__center strong{font-size:13px}.ov-mock-quality__item .topo-mock-donut__center span{display:none}.ov-mock-quality__item span{display:block;font-size:12px;font-weight:700}.ov-mock-quality__item em{display:block;font-size:11px;color:var(--ov-muted);font-style:normal}.ov-mock-table{width:100%;border-collapse:collapse;font-size:12px}.ov-mock-table th{text-align:left;font-size:10px;font-weight:600;color:var(--ov-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 8px 8px 0;border-bottom:1px solid #eef2f7}.ov-mock-table td{padding:9px 8px 9px 0;border-bottom:1px solid #eef2f7;vertical-align:middle}.ov-mock-table tr:last-child td{border-bottom:0}.ov-mock-muted{color:var(--ov-muted);white-space:nowrap}.ov-mock-sev{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize}.ov-mock-sev--critical{background:var(--ov-crit-soft);color:#b91c1c}.ov-mock-sev--warning{background:var(--ov-warn-soft);color:#b45309}.ov-mock-sev--info{background:var(--ov-info-soft);color:#1d4ed8}.ov-mock-quality-pill{font-weight:700}.ov-mock-quality-pill--ok{color:var(--ov-ok)}.ov-mock-quality-pill--warn{color:#d97706}.ov-mock-signal{display:inline-flex;align-items:center;gap:6px}.ov-mock-signal em{font-style:normal;font-weight:700;font-size:12px}.ov-mock-signal--ok em{color:#16a34a}.ov-mock-signal--warn em{color:#d97706}.ov-mock-alerts__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.ov-mock-alerts__list li{display:grid;grid-template-columns:28px 1fr auto;grid-gap:8px;gap:8px;align-items:center;font-size:13px}.ov-mock-alerts__icon{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.ov-mock-alerts__list li.is-crit{color:#dc2626}.ov-mock-alerts__list li.is-crit .ov-mock-alerts__icon{background:#fee2e2;color:#dc2626}.ov-mock-alerts__list li.is-crit strong{color:#dc2626}.ov-mock-alerts__list li.is-warn{color:#d97706}.ov-mock-alerts__list li.is-warn .ov-mock-alerts__icon{background:#ffedd5;color:#ea580c}.ov-mock-alerts__list li.is-warn strong{color:#d97706}.ov-mock-alerts__list li.is-info{color:#2563eb}.ov-mock-alerts__list li.is-info .ov-mock-alerts__icon{background:#dbeafe;color:#2563eb}.ov-mock-alerts__list li.is-info strong{color:#2563eb}.ov-mock-alerts__list strong{font-size:18px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ov-mock-alerts__total{margin-top:14px;padding-top:12px;border-top:1px solid #eef2f7;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600}.ov-mock-alerts__total strong{font-size:22px;font-weight:700}.ov-mock-health-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:8px;gap:8px}.ov-mock-health-card{background:#fbfcfe;border:1px solid var(--ov-border);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px;min-width:0}.ov-mock-health-card__name{font-size:11px;font-weight:600;color:var(--ov-secondary)}.ov-mock-health-card__status{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#16a34a}.ov-mock-health-card__status.is-muted{color:var(--ov-muted)}.ov-mock-health-check{width:16px;height:16px;border-radius:50%;background:#22c55e;color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ov-mock-health-check svg{width:10px;height:10px}.ov-mock-health-card em{font-style:normal;font-size:11px;color:var(--ov-muted);font-weight:500}@media (max-width:1200px){.ov-mock-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ov-mock-row--3,.ov-mock-row--main{grid-template-columns:1fr}.ov-mock-health-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ov-mock-topo__pipeline{flex-wrap:wrap;min-height:0}}@media (max-width:700px){.ov-mock-health-grid,.ov-mock-kpis,.ov-mock-quality,.ov-mock-resources{grid-template-columns:1fr 1fr}.ov-mock-topo__body{grid-template-columns:1fr}.ov-mock-topo__fan,.ov-mock-topo__to-students{display:none}}.srv-mock-page{--srv-bg:#f7f9fc;--srv-card:#ffffff;--srv-border:#e8ecf4;--srv-text:#111827;--srv-secondary:#6b7280;--srv-muted:#94a3b8;--srv-ok:#16a34a;--srv-ok-soft:#dcfce7;--srv-warn:#f59e0b;--srv-warn-soft:#fef3c7;--srv-crit:#ef4444;--srv-crit-soft:#fee2e2;--srv-info:#3b82f6;--srv-info-soft:#dbeafe;--srv-purple:#7c3aed;--srv-purple-soft:#ede9fe;--srv-radius:12px;--srv-shadow:0 1px 2px rgba(15,23,42,0.04),0 8px 24px rgba(15,23,42,0.04);background:var(--srv-bg);color:var(--srv-text);min-height:100%;font-family:var(--font-ops),"DM Sans",system-ui,sans-serif;padding:16px 20px 24px}.srv-mock-shell{max-width:1680px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.srv-mock-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.srv-mock-header h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.03em}.srv-mock-header p{margin:6px 0 0;font-weight:500;max-width:820px;line-height:1.45}.srv-mock-header p,.srv-mock-range{font-size:12px;color:var(--srv-secondary)}.srv-mock-range{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--srv-border);background:#fff;border-radius:8px;padding:6px 10px;font-weight:600;cursor:pointer;font-family:inherit;flex-shrink:0}.srv-mock-status-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(180px,1.1fr);grid-gap:10px;gap:10px}.srv-mock-status{background:var(--srv-card);border:1px solid var(--srv-border);border-radius:var(--srv-radius);box-shadow:var(--srv-shadow);padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}.srv-mock-status__label{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--srv-muted)}.srv-mock-status strong{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.15}.srv-mock-status em{font-style:normal;font-size:11px;color:var(--srv-muted);font-weight:500}.srv-mock-status--ok strong{color:var(--srv-ok)}.srv-mock-status--warn em,.srv-mock-status--warn strong{color:#d97706}.srv-mock-status--system{flex-direction:row;align-items:center;gap:10px}.srv-mock-status--system strong{display:block;color:var(--srv-text);font-size:16px}.srv-mock-status--system .is-ok{color:var(--srv-ok);flex-shrink:0}.srv-mock-hosts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.srv-mock-host{background:var(--srv-card);border:1px solid var(--srv-border);border-radius:var(--srv-radius);box-shadow:var(--srv-shadow);padding:12px;min-width:0;display:flex;flex-direction:column;gap:8px}.srv-mock-host__head{display:flex;justify-content:space-between;align-items:center;gap:8px}.srv-mock-host__role{font-size:11px;font-weight:700;letter-spacing:.04em;color:#4338ca}.srv-mock-host__badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.srv-mock-host h3{margin:0;font-size:14px;font-weight:700;letter-spacing:-.01em}.srv-mock-host__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 10px;gap:8px 10px}.srv-mock-host__grid span{display:block;font-size:10px;font-weight:600;color:var(--srv-muted);text-transform:uppercase;letter-spacing:.04em}.srv-mock-host__grid strong{display:block;font-size:16px;font-weight:700;margin:2px 0 4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.srv-mock-host__grid .topo-mock-spark{width:100%;height:16px;display:block}.srv-mock-host footer{margin-top:auto;font-size:11px;color:var(--srv-muted);font-weight:500}.srv-mock-host--empty{align-items:center;justify-content:center;text-align:center;color:var(--srv-muted);border-style:dashed;min-height:180px;gap:6px}.srv-mock-host--empty strong{color:var(--srv-text);font-size:14px}.srv-mock-host--empty p{margin:0;font-size:12px;max-width:180px;line-height:1.4}.srv-mock-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:lowercase}.srv-mock-pill--ok{background:var(--srv-ok-soft);color:var(--srv-ok)}.srv-mock-pill--info{background:var(--srv-info-soft);color:#1d4ed8}.srv-mock-pill--warn{background:var(--srv-warn-soft);color:#b45309}.srv-mock-card{background:var(--srv-card);border:1px solid var(--srv-border);border-radius:var(--srv-radius);box-shadow:var(--srv-shadow);padding:14px;min-width:0}.srv-mock-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.srv-mock-card__head h2{margin:0;font-size:14px;font-weight:700}.srv-mock-link{color:var(--srv-info);font-size:12px;font-weight:600;text-decoration:none}.srv-mock-link--foot{display:inline-block;margin-top:12px}.srv-mock-row{display:grid;grid-gap:12px;gap:12px}.srv-mock-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.srv-mock-row--mid{grid-template-columns:minmax(0,1.35fr) minmax(180px,.7fr) minmax(200px,.8fr) minmax(220px,.9fr)}.srv-mock-row--bottom{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr) minmax(260px,1fr)}.srv-mock-chart-grid{display:grid;grid-gap:10px;gap:10px}.srv-mock-chart-grid--2{grid-template-columns:1fr 1fr}.srv-mock-chart-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.srv-mock-metric span{display:block;font-size:11px;font-weight:600;color:var(--srv-secondary)}.srv-mock-metric strong{display:block;font-size:18px;font-weight:700;margin:2px 0 6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.srv-mock-metric strong.is-blue{color:#2563eb}.srv-mock-metric strong.is-purple{color:var(--srv-purple)}.srv-mock-metric strong.is-green{color:var(--srv-ok)}.srv-mock-metric strong.is-orange{color:#d97706}.srv-mock-metric__spark{width:100%;height:40px;display:block}.srv-mock-metric__x{display:flex;justify-content:space-between;margin-top:4px}.srv-mock-metric__x em{font-style:normal;font-size:9px;color:var(--srv-muted);font-weight:500}.srv-mock-table{width:100%;border-collapse:collapse;font-size:12px}.srv-mock-table th{text-align:left;font-size:10px;font-weight:600;color:var(--srv-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 8px 8px 0;border-bottom:1px solid #eef2f7}.srv-mock-table td{padding:10px 8px 10px 0;border-bottom:1px solid #eef2f7;vertical-align:middle}.srv-mock-table tr:last-child td{border-bottom:0}.srv-mock-role-tag{display:inline-flex;padding:2px 6px;border-radius:6px;background:#eef2ff;color:#4338ca;font-size:10px;font-weight:700;letter-spacing:.03em}.srv-mock-bar-cell{display:flex;flex-direction:column;gap:4px;min-width:56px}.srv-mock-bar-cell span{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.srv-mock-bar-cell i{display:block;height:4px;border-radius:999px;background:#93c5fd;max-width:100%}.srv-mock-bar-cell i.is-purple{background:#c4b5fd}.srv-mock-muted{color:var(--srv-muted);white-space:nowrap}.srv-mock-edge-pool{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.srv-mock-edge-pool li{display:grid;grid-template-columns:22px 1fr auto;grid-gap:8px;gap:8px;align-items:center;font-size:13px}.srv-mock-edge-pool__icon{width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.srv-mock-edge-pool__icon.is-ok{background:var(--srv-ok-soft);color:var(--srv-ok)}.srv-mock-edge-pool__icon.is-info{background:var(--srv-info-soft);color:var(--srv-info)}.srv-mock-edge-pool__icon.is-purple{background:var(--srv-purple-soft);color:var(--srv-purple)}.srv-mock-edge-pool__icon.is-crit{background:var(--srv-crit-soft);color:var(--srv-crit)}.srv-mock-auto{margin:0;display:flex;flex-direction:column;gap:8px}.srv-mock-auto div{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px}.srv-mock-auto dt{color:var(--srv-secondary);font-weight:500}.srv-mock-auto dd{margin:0;font-weight:700;text-align:right}.srv-mock-students__body{display:flex;flex-direction:column;align-items:center;gap:10px}.srv-mock-students__body ul{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:6px}.srv-mock-students__body li{display:grid;grid-template-columns:10px 1fr auto;grid-gap:8px;gap:8px;align-items:center;font-size:11px}.srv-mock-students__body .topo-mock-donut__center strong{font-size:14px}.srv-mock-students__body .topo-mock-donut__center span{font-size:9px}.srv-mock-incidents__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;min-height:140px;color:var(--srv-ok);background:#f0fdf4;border-radius:10px;padding:20px}.srv-mock-incidents__empty strong{color:var(--srv-text);font-size:14px}.srv-mock-incidents__empty p{margin:0;font-size:12px;color:var(--srv-secondary)}.srv-mock-alerts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.srv-mock-alerts li{display:grid;grid-template-columns:20px 1fr auto;grid-gap:8px;gap:8px;align-items:center;font-size:13px}.srv-mock-alerts .is-crit{color:var(--srv-crit)}.srv-mock-alerts .is-warn{color:var(--srv-warn)}.srv-mock-alerts .is-info{color:var(--srv-info)}.srv-mock-alerts__total{margin-top:14px;padding-top:12px;border-top:1px solid #eef2f7;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600}.srv-mock-alerts__total strong{font-size:22px;font-weight:700}.srv-mock-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.srv-mock-action{display:flex;flex-direction:column;gap:2px;padding:12px;border:1px solid var(--srv-border);border-radius:10px;text-decoration:none;color:inherit;background:#fbfcfe;min-width:0}.srv-mock-action__icon{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px}.srv-mock-action.is-info .srv-mock-action__icon{background:var(--srv-info-soft);color:var(--srv-info)}.srv-mock-action.is-ok .srv-mock-action__icon{background:var(--srv-ok-soft);color:var(--srv-ok)}.srv-mock-action.is-purple .srv-mock-action__icon{background:var(--srv-purple-soft);color:var(--srv-purple)}.srv-mock-action strong{font-size:13px;font-weight:700}.srv-mock-action em{font-style:normal;font-size:11px;color:var(--srv-muted)}@media (max-width:1200px){.srv-mock-hosts,.srv-mock-row--3,.srv-mock-row--bottom,.srv-mock-row--mid,.srv-mock-status-row{grid-template-columns:1fr 1fr}}@media (max-width:700px){.srv-mock-actions,.srv-mock-chart-grid--2,.srv-mock-chart-grid--3,.srv-mock-hosts,.srv-mock-row--3,.srv-mock-row--bottom,.srv-mock-row--mid,.srv-mock-status-row{grid-template-columns:1fr}}.alerts-mock-page{--ae-bg:#f7f9fc;--ae-card:#ffffff;--ae-border:#e8ecf4;--ae-text:#111827;--ae-secondary:#6b7280;--ae-muted:#94a3b8;--ae-ok:#16a34a;--ae-ok-soft:#dcfce7;--ae-warn:#f59e0b;--ae-warn-soft:#fef3c7;--ae-crit:#ef4444;--ae-crit-soft:#fee2e2;--ae-info:#3b82f6;--ae-info-soft:#dbeafe;--ae-purple:#7c3aed;--ae-purple-soft:#ede9fe;--ae-radius:12px;--ae-shadow:0 1px 2px rgba(15,23,42,0.04),0 8px 24px rgba(15,23,42,0.04);background:var(--ae-bg);color:var(--ae-text);min-height:100%;font-family:var(--font-ops),"DM Sans",system-ui,sans-serif;padding:16px 20px 24px}.alerts-mock-shell{max-width:1680px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.alerts-mock-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.alerts-mock-header h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.alerts-mock-header p{margin:4px 0 0;color:var(--ae-secondary);font-size:.875rem;max-width:52rem;line-height:1.45}.alerts-mock-header__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.alerts-mock-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;border:1px solid var(--ae-border);background:var(--ae-card);color:var(--ae-text);font-size:.8125rem;font-weight:550;text-decoration:none;cursor:pointer;box-shadow:var(--ae-shadow)}.alerts-mock-btn:hover{border-color:#cbd5e1}.alerts-mock-btn--soft:disabled,.alerts-mock-btn:disabled{opacity:.65;cursor:not-allowed}.alerts-mock-btn--soft{box-shadow:none;background:#f8fafc}.alerts-mock-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px}.alerts-mock-kpi{background:var(--ae-card);border:1px solid var(--ae-border);border-radius:var(--ae-radius);padding:12px 14px 10px;box-shadow:var(--ae-shadow);display:flex;flex-direction:column;gap:4px;min-height:112px}.alerts-mock-kpi__top{display:flex;align-items:center;gap:8px}.alerts-mock-kpi__icon{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.alerts-mock-kpi__icon--crit{background:var(--ae-crit-soft);color:var(--ae-crit)}.alerts-mock-kpi__icon--warn{background:var(--ae-warn-soft);color:#d97706}.alerts-mock-kpi__icon--info{background:var(--ae-info-soft);color:var(--ae-info)}.alerts-mock-kpi__icon--ok{background:var(--ae-ok-soft);color:var(--ae-ok)}.alerts-mock-kpi__icon--purple{background:var(--ae-purple-soft);color:var(--ae-purple)}.alerts-mock-kpi__icon--muted{background:#f1f5f9;color:#64748b}.alerts-mock-kpi__label{font-size:.75rem;font-weight:600;color:var(--ae-secondary)}.alerts-mock-kpi__value{font-size:1.75rem;font-weight:750;line-height:1.1;letter-spacing:-.03em}.alerts-mock-kpi__value--crit{color:#dc2626}.alerts-mock-kpi__value--warn{color:#d97706}.alerts-mock-kpi__value--info{color:#2563eb}.alerts-mock-kpi__value--ok{color:#16a34a}.alerts-mock-kpi__value--purple{color:#7c3aed}.alerts-mock-kpi__value--muted{color:#334155}.alerts-mock-kpi__sub{font-size:.75rem;color:var(--ae-muted)}.alerts-mock-kpi__spark{margin-top:auto;width:100%;height:22px}.alerts-mock-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px;background:var(--ae-card);border:1px solid var(--ae-border);border-radius:var(--ae-radius);box-shadow:var(--ae-shadow)}.alerts-mock-field{display:flex;flex-direction:column;gap:4px;font-size:.7rem;font-weight:600;color:var(--ae-secondary)}.alerts-mock-field input,.alerts-mock-field select,.alerts-mock-search input{min-height:34px;border:1px solid var(--ae-border);border-radius:8px;padding:0 10px;background:#fff;color:var(--ae-text);font-size:.8125rem;font-weight:500}.alerts-mock-field--date input{min-width:160px}.alerts-mock-search{display:flex;align-items:center;gap:8px;flex:1 1;min-width:180px;border:1px solid var(--ae-border);border-radius:8px;padding:0 10px;background:#fff;color:var(--ae-muted);min-height:34px}.alerts-mock-search input{border:0;padding:0;outline:none;width:100%;min-height:32px}.alerts-mock-check{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--ae-secondary);margin-left:auto;white-space:nowrap}.alerts-mock-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr);grid-gap:12px;gap:12px;align-items:start}.alerts-mock-detail,.alerts-mock-timeline{background:var(--ae-card);border:1px solid var(--ae-border);border-radius:var(--ae-radius);box-shadow:var(--ae-shadow)}.alerts-mock-timeline{padding:6px;display:flex;flex-direction:column;gap:4px;min-height:520px}.alerts-mock-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:.68rem;font-weight:700;white-space:nowrap;line-height:1}.alerts-mock-badge--crit{background:var(--ae-crit-soft);color:#b91c1c}.alerts-mock-badge--warn{background:var(--ae-warn-soft);color:#b45309}.alerts-mock-badge--info{background:var(--ae-info-soft);color:#1d4ed8}.alerts-mock-badge--ok{background:var(--ae-ok-soft);color:#15803d}.alerts-mock-badge--purple{background:var(--ae-purple-soft);color:#6d28d9}.alerts-mock-detail__kicker{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ae-muted)}.alerts-mock-row{display:grid;grid-template-columns:148px 88px minmax(0,1fr) 120px 36px 110px;grid-gap:10px;gap:10px;align-items:center;text-align:left;width:100%;border:1px solid transparent;border-radius:10px;background:transparent;padding:10px 12px;cursor:pointer;color:inherit}.alerts-mock-row:hover{background:#f8fafc}.alerts-mock-row.is-selected{background:#fff1f2;border-color:#fecdd3}.alerts-mock-row--warning.is-selected{background:#fffbeb;border-color:#fde68a}.alerts-mock-row--info.is-selected{background:#eff6ff;border-color:#bfdbfe}.alerts-mock-row time,.alerts-mock-row__count,.alerts-mock-row__meta,.alerts-mock-row__rel{font-size:.72rem;color:var(--ae-secondary)}.alerts-mock-row__body{display:flex;flex-direction:column;gap:2px;min-width:0}.alerts-mock-row__body strong{font-size:.84rem;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alerts-mock-row__body span{font-size:.75rem;color:var(--ae-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alerts-mock-row__count{font-weight:700;color:var(--ae-muted)}.alerts-mock-sevicon--crit{color:#dc2626}.alerts-mock-sevicon--warn{color:#d97706}.alerts-mock-sevicon--info{color:#2563eb}.alerts-mock-loadmore{margin:6px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:10px;border:1px dashed var(--ae-border);background:#f8fafc;color:var(--ae-secondary);font-size:.8125rem;font-weight:600;cursor:pointer}.alerts-mock-detail{padding:16px;position:-webkit-sticky;position:sticky;top:12px}.alerts-mock-detail__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.alerts-mock-detail__id{font-size:.72rem;color:var(--ae-muted);background:#f8fafc;border:1px solid var(--ae-border);border-radius:6px;padding:3px 8px}.alerts-mock-detail__close{margin-left:auto;border:0;background:transparent;color:var(--ae-muted);cursor:pointer;padding:4px;border-radius:6px}.alerts-mock-detail__close:hover{background:#f1f5f9;color:var(--ae-text)}.alerts-mock-detail h2{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.alerts-mock-detail__summary{margin:6px 0 14px;color:var(--ae-secondary);font-size:.875rem}.alerts-mock-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:capitalize}.alerts-mock-pill--critical{background:var(--ae-crit-soft);color:#b91c1c}.alerts-mock-pill--warning{background:var(--ae-warn-soft);color:#b45309}.alerts-mock-pill--info{background:var(--ae-info-soft);color:#1d4ed8}.alerts-mock-meta{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px 12px;gap:10px 12px;margin:0 0 16px}.alerts-mock-meta dt{font-size:.68rem;font-weight:650;color:var(--ae-muted);text-transform:uppercase;letter-spacing:.04em}.alerts-mock-meta dd{margin:2px 0 0;font-size:.8125rem;font-weight:600;display:flex;align-items:center;gap:6px}.alerts-mock-dot{width:7px;height:7px;border-radius:999px;display:inline-block}.alerts-mock-dot--critical{background:#dc2626}.alerts-mock-dot--warning{background:#d97706}.alerts-mock-dot--info{background:#2563eb}.alerts-mock-dot--ok{background:#16a34a}.alerts-mock-dot--purple{background:#7c3aed}.alerts-mock-related{border-top:1px solid var(--ae-border);padding-top:12px;margin-bottom:14px}.alerts-mock-related__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.alerts-mock-related h3{margin:0;font-size:.84rem;font-weight:700}.alerts-mock-link{border:0;background:transparent;color:#2563eb;font-size:.75rem;font-weight:600;cursor:pointer}.alerts-mock-related ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.alerts-mock-related li{display:grid;grid-template-columns:72px 1fr auto;grid-gap:8px;gap:8px;align-items:center;font-size:.8rem;padding:6px 8px;border-radius:8px;background:#f8fafc}.alerts-mock-related time{color:var(--ae-muted);font-size:.72rem}.alerts-mock-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:12px}.alerts-mock-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 10px;border-radius:8px;border:1px solid var(--ae-border);background:#f8fafc;color:var(--ae-text);font-size:.75rem;font-weight:600;text-decoration:none;cursor:pointer}.alerts-mock-action:disabled{opacity:.55;cursor:not-allowed}.alerts-mock-raw{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;border:1px solid var(--ae-border);background:#0f172a;color:#e2e8f0;font-size:.75rem;font-weight:600;cursor:pointer}.alerts-mock-raw__body{margin:8px 0 0;padding:12px;border-radius:8px;background:#0b1220;color:#cbd5e1;font-size:.72rem;overflow:auto;max-height:220px}.alerts-mock-empty{margin:24px;color:var(--ae-muted);font-size:.875rem}@media (max-width:1200px){.alerts-mock-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.alerts-mock-split{grid-template-columns:1fr}.alerts-mock-detail{position:static}.alerts-mock-row{grid-template-columns:110px 78px minmax(0,1fr) 36px}.alerts-mock-row__meta,.alerts-mock-row__rel{display:none}}@media (max-width:700px){.alerts-mock-kpis{grid-template-columns:1fr 1fr}.alerts-mock-header{flex-direction:column}.alerts-mock-check{margin-left:0}.alerts-mock-meta{grid-template-columns:1fr 1fr}}.alerts-mock-kpi--click{text-align:left;cursor:pointer;font:inherit;color:inherit}.alerts-mock-kpi--click:hover{border-color:#cbd5e1}.alerts-mock-btn.is-on{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.alerts-mock-more{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px;background:#f8fafc;border:1px dashed var(--ae-border);border-radius:var(--ae-radius)}.alerts-mock-more__note{margin:0;flex:1 1 220px;font-size:.75rem;color:var(--ae-muted)}.alerts-mock-related__item{display:grid;grid-template-columns:72px 1fr auto;grid-gap:8px;gap:8px;align-items:center;width:100%;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:inherit;font:inherit}.alerts-mock-related__item:hover span:nth-child(2){color:#2563eb}.alerts-mock-loadmore--done{margin:6px;text-align:center;color:var(--ae-muted);font-size:.75rem;border:0;background:transparent;cursor:default}.share-pip-bar{display:flex;align-items:center;gap:8px;width:100%;height:100%;min-height:56px;padding:8px 10px;background:linear-gradient(180deg,#252830,#1d1f23);color:#f3f4f6}.share-pip-bar__live{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;font-size:11px;font-weight:600;letter-spacing:.02em;color:#9ca3af;text-transform:uppercase}.share-pip-bar__dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.2)}.share-pip-bar__btn,.share-pip-bar__group{display:inline-flex;align-items:center;gap:4px}.share-pip-bar__btn{position:relative;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:0;border-radius:10px;background:#2d3036;color:#f3f4f6;cursor:pointer;font:inherit;font-size:12px;font-weight:600}.share-pip-bar__btn:hover:not(:disabled){background:#3a3e46}.share-pip-bar__btn:disabled{opacity:.5;cursor:not-allowed}.share-pip-bar__btn svg{width:18px;height:18px;display:block}.share-pip-bar__btn.is-off{background:#3a1515;color:#fecaca}.share-pip-bar__btn.is-paused{background:#3a2e12;color:#fde68a}.share-pip-bar__btn--stop{background:#14532d;color:#bbf7d0}.share-pip-bar__btn--end{background:#3a1515;color:#fecaca}.share-pip-bar__badge{position:absolute;top:2px;right:2px;min-width:14px;height:14px;padding:0 3px;border-radius:999px;background:#ef4444;color:#fff;font-size:9px;line-height:14px;text-align:center}.classroom-prep-status{margin:.5rem 0 0;font-size:.95rem;font-weight:600;color:#0e71eb}.edges-page__table-card{overflow:hidden}.edges-page__table-wrap{overflow-x:auto}.edges-page__name{display:flex;flex-direction:column;gap:2px;color:inherit;text-decoration:none}.edges-page__name:hover strong{color:var(--srv-info);text-decoration:underline}.edges-page__name .srv-mock-muted{font-size:11px}