[data-lk-theme=default]{color-scheme:dark;--lk-bg: #111;--lk-bg2: rgb(29.75, 29.75, 29.75);--lk-bg3: rgb(42.5, 42.5, 42.5);--lk-bg4: rgb(55.25, 55.25, 55.25);--lk-bg5: #444444;--lk-fg: #fff;--lk-fg2: rgb(244.8, 244.8, 244.8);--lk-fg3: rgb(234.6, 234.6, 234.6);--lk-fg4: rgb(224.4, 224.4, 224.4);--lk-fg5: rgb(214.2, 214.2, 214.2);--lk-border-color: rgba(255, 255, 255, .1);--lk-accent-fg: #fff;--lk-accent-bg: #1f8cf9;--lk-accent2: rgb(50.867826087, 150.2, 249.532173913);--lk-accent3: rgb(70.7356521739, 160.4, 250.0643478261);--lk-accent4: rgb(90.6034782609, 170.6, 250.5965217391);--lk-danger-fg: #fff;--lk-danger: #f91f31;--lk-danger2: rgb(249.532173913, 50.867826087, 67.2713043478);--lk-danger3: rgb(250.0643478261, 70.7356521739, 85.5426086957);--lk-danger4: rgb(250.5965217391, 90.6034782609, 103.8139130435);--lk-success-fg: #fff;--lk-success: #1ff968;--lk-success2: rgb(50.867826087, 249.532173913, 117.3930434783);--lk-success3: rgb(70.7356521739, 250.0643478261, 130.7860869565);--lk-success4: rgb(90.6034782609, 250.5965217391, 144.1791304348);--lk-control-fg: var(--lk-fg);--lk-control-bg: var(--lk-bg2);--lk-control-hover-bg: var(--lk-bg3);--lk-control-active-bg: var(--lk-bg4);--lk-control-active-hover-bg: var(--lk-bg5);--lk-connection-excellent: #06db4d;--lk-connection-good: #f9b11f;--lk-connection-poor: #f91f31;--lk-font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--lk-font-size: 16px;--lk-line-height: 1.5;--lk-border-radius: .5rem;--lk-box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15);--lk-drop-shadow: rgba(255, 255, 255, .2) 0px 0px 24px;--lk-grid-gap: .5rem;--lk-control-bar-height: 69px;--lk-chat-header-height: 69px}.lk-button,.lk-start-audio-button,.lk-chat-toggle,.lk-disconnect-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;color:var(--lk-control-fg);background-image:none;background-color:var(--lk-control-bg);border:0;border-radius:var(--lk-border-radius);cursor:pointer;white-space:nowrap;font-size:inherit;line-height:inherit;-webkit-user-select:none;user-select:none}.lk-button:not(:disabled):hover,.lk-start-audio-button:not(:disabled):hover,.lk-chat-toggle:not(:disabled):hover,.lk-disconnect-button:not(:disabled):hover{background-color:var(--lk-control-hover-bg)}.lk-button>svg,.lk-start-audio-button>svg,.lk-chat-toggle>svg,.lk-disconnect-button>svg{overflow:visible}.lk-button[aria-pressed=true],[aria-pressed=true].lk-start-audio-button,[aria-pressed=true].lk-chat-toggle,[aria-pressed=true].lk-disconnect-button{background-color:var(--lk-control-active-bg)}.lk-button[aria-pressed=true]:hover,[aria-pressed=true].lk-start-audio-button:hover,[aria-pressed=true].lk-chat-toggle:hover,[aria-pressed=true].lk-disconnect-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true],[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button{background-color:var(--lk-accent-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true]:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button:hover{background-color:var(--lk-accent2)}.lk-button:disabled,.lk-start-audio-button:disabled,.lk-chat-toggle:disabled,.lk-disconnect-button:disabled{opacity:.5}.lk-button-group{display:inline-flex;align-items:stretch;height:100%}.lk-button-group>.lk-button:first-child,.lk-button-group>.lk-start-audio-button:first-child,.lk-button-group>.lk-chat-toggle:first-child,.lk-button-group>.lk-disconnect-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-button-group-menu{position:relative;flex-shrink:0}.lk-button-group-menu>.lk-button,.lk-button-group-menu>.lk-start-audio-button,.lk-button-group-menu>.lk-chat-toggle,.lk-button-group-menu>.lk-disconnect-button{height:100%;border-top-left-radius:0;border-bottom-left-radius:0}.lk-button-group-menu>.lk-button:after,.lk-button-group-menu>.lk-start-audio-button:after,.lk-button-group-menu>.lk-chat-toggle:after,.lk-button-group-menu>.lk-disconnect-button:after{margin-left:0}.lk-button-menu:after{display:inline-block;content:"";width:.5em;height:.5em;margin-top:-.25rem;margin-left:.5rem;border-left:.125em solid;border-bottom:.125em solid;transform:rotate(-45deg);transform-origin:center center}.lk-disconnect-button{font-weight:600;color:var(--lk-danger);border:1px solid var(--lk-danger)}.lk-disconnect-button:not(:disabled):hover{--lk-control-hover-bg: var(--lk-danger2);color:var(--lk-danger-fg)}.lk-disconnect-button:not(:disabled):active{--lk-control-hover-bg: var(--lk-danger3);color:var(--lk-danger-fg)}.lk-chat-toggle{position:relative}.lk-chat-toggle[data-lk-unread-msgs]:not([data-lk-unread-msgs="0"]):after{content:attr(data-lk-unread-msgs);position:absolute;top:0;left:0;padding:.25rem;margin-left:.25rem;margin-top:.25rem;border-radius:50%;font-size:.5rem;line-height:.75;background:var(--lk-accent-bg)}.lk-media-device-select:not(:last-child){padding-bottom:.5rem;margin-bottom:.75rem;border-bottom:1px solid var(--lk-border-color)}.lk-media-device-select li:not(:last-child){margin-bottom:.25rem}.lk-media-device-select li>.lk-button{width:100%;justify-content:start;padding-block:.5rem}.lk-media-device-select li:not([data-lk-active=true])>.lk-button:not(:disabled):hover{background-color:var(--lk-bg3)}.lk-media-device-select [data-lk-active=false]>.lk-button:hover{cursor:pointer;background-color:#0000000d}.lk-media-device-select [data-lk-active=true]>.lk-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}.lk-device-menu{width:max-content;position:absolute;top:0;left:0;z-index:5;min-width:10rem;padding:.5rem;margin-bottom:.25rem;white-space:nowrap;background-color:var(--lk-bg2);border:1px solid var(--lk-border-color);border-radius:.75rem;box-shadow:var(--lk-box-shadow)}.lk-device-menu-heading{padding:.25rem .5rem;font-weight:700;opacity:.65}.lk-start-audio-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}@media screen and (max-width:600px){.lk-start-audio-button{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.lk-pagination-control{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:stretch;background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);transition:opacity ease-in-out .15s;opacity:0}.lk-pagination-control:hover{opacity:1}.lk-pagination-control>.lk-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-pagination-control>.lk-button:first-child>svg{transform:rotate(180deg)}.lk-pagination-control>.lk-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.lk-pagination-count{padding:.5rem .875rem;border-inline:1px solid var(--lk-bg)}[data-lk-user-interaction=true].lk-pagination-control{opacity:1}.lk-pagination-indicator{position:absolute;height:var(--lk-grid-gap);background-color:var(--lk-bg2);width:fit-content;padding:.2rem .5rem;bottom:calc(var(--lk-grid-gap)/2);left:50%;transform:translate(-50%);border-radius:2rem;opacity:1;display:flex;gap:.2rem;align-items:center}.lk-pagination-indicator span{display:inline-block;width:.4rem;height:.4rem;border-radius:9999999px;background-color:var(--lk-fg);opacity:.35;transition:opacity linear .2s}.lk-pagination-indicator span[data-lk-active]{opacity:.9}.lk-grid-layout{--lk-col-count: 1;--lk-row-count: 1;display:grid;grid-template-columns:repeat(var(--lk-col-count),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);grid-gap:var(--lk-grid-gap);width:100%;height:100%;max-width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-grid-layout[data-lk-pagination=true]{padding-bottom:calc(var(--lk-grid-gap)*2)}.lk-focus-layout{display:grid;grid-template-columns:1fr 5fr;gap:var(--lk-grid-gap);width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-focused-participant{position:relative}.lk-focused-participant .lk-pip-track{position:absolute;top:10px;right:10px;width:20%;height:auto}@media(max-width:600px){.lk-focus-layout{grid-template-columns:1fr;grid-template-rows:5fr 1fr}.lk-carousel{order:1}}.lk-carousel{max-height:100%;display:flex;gap:var(--lk-grid-gap)}.lk-carousel>*{flex-shrink:0;aspect-ratio:16/10;scroll-snap-align:start}.lk-carousel[data-lk-orientation=vertical]{flex-direction:column;scroll-snap-type:y mandatory;overflow-y:auto;overflow-x:hidden}.lk-carousel[data-lk-orientation=vertical]>*{--lk-height-minus-gaps: calc(100% - calc(var(--lk-grid-gap) * calc(var(--lk-max-visible-tiles) - 1)));height:calc(var(--lk-height-minus-gaps)/var(--lk-max-visible-tiles))}.lk-carousel[data-lk-orientation=horizontal]{scroll-snap-type:x mandatory;overflow-y:hidden;overflow-x:auto}.lk-carousel[data-lk-orientation=horizontal]>*{--lk-width-minus-gaps: calc(100% - var(--lk-grid-gap) * (var(--lk-max-visible-tiles) - 1));width:calc(var(--lk-width-minus-gaps)/var(--lk-max-visible-tiles))}.lk-connection-quality{width:1.5rem;height:1.5rem}.lk-track-muted-indicator-camera,.lk-track-muted-indicator-microphone{position:relative;width:var(--lk-indicator-size, 1rem);height:var(--lk-indicator-size, 1rem);margin-inline-end:.25rem;transition:opacity .25s ease-in-out}.lk-track-muted-indicator-camera[data-lk-muted=true]{opacity:.5}.lk-track-muted-indicator-microphone{--lk-bg: var(--lk-icon-mic)}.lk-track-muted-indicator-microphone[data-lk-muted=true]{opacity:.5}.lk-participant-name{font-size:.875rem}.lk-participant-media-video{width:100%;height:100%;object-fit:cover;object-position:center;background-color:#000}.lk-participant-media-video[data-lk-orientation=landscape]{object-fit:cover}.lk-participant-media-video[data-lk-orientation=portrait],.lk-participant-media-video[data-lk-source=screen_share]{object-fit:contain;background-color:var(--lk-bg2)}.lk-participant-media-audio{width:auto}[data-lk-facing-mode=user] .lk-participant-media-video[data-lk-local-participant=true][data-lk-source=camera]{transform:rotateY(180deg)}.lk-audio-visualizer{width:100%;height:100%;min-height:160px;background:var(--lk-bg-control);aspect-ratio:16/9;border-radius:.5rem;display:flex;justify-content:space-around;align-items:center}.lk-audio-visualizer>rect{fill:var(--lk-accent-bg);transition:transform .1s cubic-bezier(.19,.02,.09,1)}.lk-audio-visualizer>path{stroke:var(--lk-accent-bg);transition:.1s cubic-bezier(.19,.02,.09,1)}.lk-audio-bar-visualizer{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--lk-bg);gap:var(--lk-va-bar-gap, 24px)}.lk-audio-bar-visualizer>.lk-audio-bar{transform-origin:"center";height:100%;width:var(--lk-va-bar-width, 12px);border-radius:var(--lk-va-bar-border-radius, 32px);background-color:var(--lk-va-bar-bg, rgba(136, 136, 136, .2));transition:background-color .25s ease-out}.lk-audio-bar-visualizer[data-lk-va-state=speaking]>.lk-audio-bar,.lk-audio-bar-visualizer>.lk-audio-bar.lk-highlighted,.lk-audio-bar-visualizer>[data-lk-highlighted=true]{background-color:var(--lk-fg, rgb(136, 136, 136));transition:none}.lk-audio-bar-visualizer[data-lk-va-state=thinking]{transition:background-color .15s ease-out}.lk-participant-tile{--lk-speaking-indicator-width: 2.5px;position:relative;display:flex;flex-direction:column;gap:.375rem;overflow:hidden;border-radius:var(--lk-border-radius)}.lk-participant-tile:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border-radius:var(--lk-border-radius);border:0px solid var(--lk-accent-bg);transition-property:border opacity;transition-delay:.5s;transition-duration:.4s;pointer-events:none}.lk-participant-tile[data-lk-speaking=true]:not([data-lk-source=screen_share]):after{transition-delay:0s;transition-duration:.2s;border-width:var(--lk-speaking-indicator-width)}.lk-participant-tile .lk-focus-toggle-button{position:absolute;top:.25rem;right:.25rem;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2);opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile:hover .lk-focus-toggle-button,.lk-participant-tile:focus .lk-focus-toggle-button{opacity:1;transition-delay:0}.lk-participant-tile .lk-connection-quality{opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile .lk-connection-quality[data-lk-quality=poor]{opacity:1;transition-delay:0}.lk-participant-tile:hover .lk-connection-quality,.lk-participant-tile:focus .lk-connection-quality{opacity:1;transition-delay:0}.lk-participant-tile .lk-participant-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:var(--lk-bg2);opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;border-radius:var(--lk-border-radius)}.lk-participant-tile .lk-participant-placeholder svg{height:100%;width:auto;padding:10%}.lk-participant-tile[data-lk-video-muted=true][data-lk-source=camera] .lk-participant-placeholder{opacity:1}.lk-participant-metadata{position:absolute;right:.25rem;bottom:.25rem;left:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;line-height:1}.lk-participant-metadata-item{display:flex;align-items:center;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2)}.lk-toast{position:fixed;top:.75rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow)}.lk-spinner{animation:lk-rotate 2s infinite linear}@keyframes lk-rotate{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.lk-room-container{background-color:var(--lk-bg);line-height:var(--lk-line-height)}.lk-room-container{position:relative;width:100%;height:100%;--lk-has-imported-styles: "true"}.lk-room-container *[class^=lk-],.lk-room-container *[class*=" lk-"]{box-sizing:border-box}.lk-audio-conference{position:relative;width:100%;height:100%}.lk-audio-conference-stage{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lk-chat{display:grid;grid-template-rows:var(--lk-chat-header-height) 1fr var(--lk-control-bar-height);width:clamp(200px,55ch,60ch);background-color:var(--lk-bg2);border-left:1px solid var(--lk-border-color);align-items:end}.lk-chat-header{height:var(--lk-chat-header-height);padding:.75rem;position:relative;display:flex;align-items:center;justify-content:center}.lk-chat-header .lk-close-button{position:absolute;right:0;transform:translate(-50%);background-color:#0000}.lk-chat-header .lk-close-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-chat-messages{display:flex;width:100%;max-height:100%;flex-direction:column;gap:.25rem;overflow:auto}.lk-chat-entry{display:flex;flex-direction:column;gap:.25rem;margin:0 .25rem}.lk-chat-entry .lk-meta-data{font-size:.75rem;color:var(--lk-fg5);white-space:nowrap;padding:0 .3rem;display:flex}.lk-chat-entry .lk-meta-data .lk-participant-name{margin-top:1rem}.lk-chat-entry .lk-meta-data .lk-timestamp{margin-left:auto;align-self:flex-end}.lk-chat-entry .lk-edit-button{background:none;float:right;margin:0;padding:0 .25rem;border-radius:0;font-size:12px}.lk-chat-entry .lk-message-body{display:inline-block;border-radius:15px;padding:.25rem .75rem;word-break:break-word;width:fit-content;max-width:calc(100% - 32px)}.lk-chat-entry[data-lk-message-origin=local] .lk-message-body{background-color:var(--lk-bg5)}.lk-chat-entry[data-lk-message-origin=remote] .lk-message-body{background-color:var(--lk-accent4)}.lk-chat-entry a{text-decoration:underline;color:inherit}.lk-chat-entry *{margin-block-start:.25em;margin-block-end:.25em}.lk-chat-entry:last-child{margin-bottom:.25rem}.lk-chat-form{display:flex;gap:.75rem;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-chat-form-input{font-size:inherit;line-height:inherit;width:100%}@media(max-width:600px){.lk-chat{position:fixed;top:0;right:0;max-width:100%;bottom:var(--lk-control-bar-height)}}.lk-control-bar,.lk-agent-control-bar{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-agent-control-bar{height:var(--lk-control-bar-height);--lk-bg: transparent;--lk-va-bar-width: 2px;--lk-va-bar-gap: 4px;--lk-va-bar-border-radius: 1px}.lk-agent-control-bar .lk-audio-bar-visualizer .lk-audio-bar.lk-highlighted{filter:none}.lk-prejoin{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}.lk-prejoin{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:1rem;gap:1rem;margin-inline:auto;background-color:var(--lk-bg);width:min(100%,480px);align-items:stretch}.lk-prejoin .lk-video-container{position:relative;width:100%;height:auto;aspect-ratio:16/10;background-color:#000;border-radius:var(--lk-border-radius);overflow:hidden}.lk-prejoin .lk-video-container video,.lk-prejoin .lk-video-container .lk-camera-off-note{display:block;width:100%;height:100%;object-fit:cover}.lk-prejoin .lk-video-container video[data-lk-facing-mode=user]{transform:rotateY(180deg)}.lk-prejoin .lk-video-container .lk-camera-off-note{position:absolute;top:0;left:0;width:100%;aspect-ratio:16/10;background-color:#000;display:grid;place-items:center}.lk-prejoin .lk-video-container .lk-camera-off-note>*{height:70%;max-width:100%}.lk-prejoin .lk-audio-container{display:none}.lk-prejoin .lk-audio-container audio{width:100%;height:auto}.lk-prejoin .lk-button-group-container{display:flex;flex-wrap:nowrap;gap:1rem}.lk-prejoin .lk-button-group-container>.lk-button-group{width:50%}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button{justify-content:left}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button:first-child{width:100%}@media(max-width:400px){.lk-prejoin .lk-button-group-container{flex-wrap:wrap}.lk-prejoin .lk-button-group-container>.lk-button-group{width:100%}}.lk-prejoin .lk-username-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%}.lk-prejoin .lk-join-button{--lk-control-fg: var(--lk-accent-fg);--lk-control-bg: var(--lk-accent-bg);--lk-control-hover-bg: var(--lk-accent2);--lk-control-active-bg: var(--lk-accent3);--lk-control-active-hover-bg: var(--lk-accent4);background-color:var(--lk-control-bg)}.lk-prejoin .lk-join-button:hover{background-color:var(--lk-control-hover-bg)}.lk-focus-layout-wrapper,.lk-grid-layout-wrapper{position:relative;display:flex;justify-content:center;width:100%;height:calc(100% - var(--lk-control-bar-height))}.lk-grid-layout-wrapper{flex-direction:column;align-items:center}.lk-focus-layout-wrapper{align-items:stretch}.lk-video-conference{position:relative;display:flex;align-items:stretch;height:100%}.lk-video-conference-inner{display:flex;flex-direction:column;align-items:stretch;width:100%}.lk-settings-menu-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--lk-bg);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);min-width:50vw;min-height:50vh;max-width:100%;max-height:100%;overflow-y:auto}: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, .06);--shadow-elevated: 0 4px 16px rgba(0, 0, 0, .12);--ease-standard: cubic-bezier(.4, 0, .2, 1);--duration-fast: .15s;--duration-standard: .25s;--transition: var(--duration-standard) var(--ease-standard);--transition-press: var(--duration-fast) var(--ease-standard);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem}*,*:before,*:after{box-sizing:border-box}html,body{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)}body:has(.dash-layout.is-nav-open){overflow:hidden}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}.auth-screen{--auth-ink: #2a1848;--auth-muted: #6b6280;--auth-line: #e6e0f2;--auth-accent: #7b3ff2;--auth-accent-hover: #6a2ee0;--auth-focus: rgba(123, 63, 242, .16);position:relative;min-height:100vh;min-height:100dvh;overflow-x:hidden;color:var(--auth-ink);font-family:var(--font-ops-sans, var(--font-sans));background:#241436}.auth-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;width:100vw;height:100vh;height:100dvh;overflow:hidden;pointer-events:none}.auth-bg__img{display:block;width:100%;height:100%;object-fit:cover;object-position:left center}.auth-ui{position:relative;z-index:1;box-sizing:border-box;min-height:100vh;min-height:100dvh;width:100%;padding:clamp(.65rem,1.5vw,1.1rem) clamp(1rem,2.5vw,1.75rem) 1rem;display:flex;flex-direction:column}.auth-ui__top{flex-shrink:0;display:flex;align-items:flex-start;z-index:3;width:100%;max-width:1400px;margin:0 auto}.auth-brand{display:inline-flex;align-items:center;gap:0;padding:.5rem .75rem;border-radius:14px;background:#fff;box-shadow:0 8px 24px #0003}.auth-brand .brand-mark__logo{height:30px;max-width:150px}.auth-brand__logo{height:30px;width:auto;max-width:150px;object-fit:contain;display:block}.auth-ui__main{flex:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,540px);align-items:start;min-height:0;width:100%;max-width:1400px;margin:0 auto;padding:.75rem 0;gap:clamp(1rem,3vw,2.5rem)}.auth-ui__facezone{min-height:1px}.auth-float{justify-self:stretch;width:100%;max-width:540px;display:flex;flex-direction:column;align-items:stretch;gap:.7rem;margin-top:0}.auth-float__intro{color:#fff;padding:0;text-shadow:0 2px 16px rgba(0,0,0,.4)}.auth-float__title{margin:0;font-size:clamp(1.4rem,2.3vw,1.75rem);font-weight:750;letter-spacing:-.03em;line-height:1.18}.auth-float__lede{margin:.35rem 0 0;font-size:.92rem;line-height:1.45;color:#ffffffe6;max-width:28rem}.auth-float__card{width:100%;padding:clamp(1.5rem,2.8vw,2.05rem);border-radius:24px;background:#fffffff7;border:1px solid rgba(255,255,255,1);box-shadow:0 1px #fffffff2 inset,0 28px 70px #08021857,0 10px 24px #08021829;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:auth-rise .4s var(--ease-standard) both}.auth-form{display:flex;flex-direction:column;gap:0}.auth-form__title{margin:0 0 .25rem;font-size:clamp(1.45rem,2.3vw,1.85rem);font-weight:750;letter-spacing:-.03em;color:var(--auth-ink)}.auth-form__sub{margin:0 0 1.2rem;font-size:.92rem;line-height:1.45;color:var(--auth-muted)}.auth-form__sub--loading{display:flex;align-items:center;gap:.55rem;margin-bottom:0}.auth-form__dev{margin:0 0 1rem;font-size:.85rem;color:var(--auth-muted);word-break:break-all}.auth-banner{margin:0 0 .9rem;padding:.65rem .8rem;border-radius:11px;font-size:.9rem;line-height:1.4;border:1px solid transparent}.auth-banner--err{background:#fef2f2;border-color:#fecaca;color:#991b1b}.auth-banner--ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.auth-field{margin-bottom:.9rem}.auth-field__label{display:block;font-size:.85rem;font-weight:650;color:#3d3356;margin:0 0 .3rem}.auth-field__control{position:relative}.auth-field--icon .auth-field__input{padding-left:2.65rem}.auth-field__glyph{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:#9b8fb8;display:flex;pointer-events:none}.auth-field__input{width:100%;min-height:50px;padding:.7rem .95rem;border-radius:12px;border:1.5px solid var(--auth-line);background:#fff;color:var(--auth-ink);font:inherit;font-size:1rem;transition:border-color .2s var(--ease-standard),box-shadow .2s var(--ease-standard)}.auth-field__input::placeholder{color:#a89cbc}.auth-field__input:hover{border-color:#d0c4ec}.auth-field__input:focus{outline:none;border-color:var(--auth-accent);box-shadow:0 0 0 4px var(--auth-focus)}.auth-field__control:focus-within .auth-field__glyph{color:var(--auth-accent)}.auth-field__password{position:relative}.auth-field__input--password{padding-right:4rem}.auth-field__toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);min-height:34px;padding:0 .6rem;border-radius:9px;font-size:.8rem;font-weight:700;color:var(--auth-muted);background:transparent}.auth-field__toggle:hover{color:var(--auth-accent);background:#7b3ff214}.auth-field__error{margin:.3rem 0 0;font-size:.8rem;color:#b91c1c}.auth-form__row{display:flex;justify-content:flex-end;margin:-.05rem 0 .95rem}.auth-form__forgot{font-size:.875rem;font-weight:700;color:var(--auth-accent);text-decoration:none}.auth-form__forgot:hover{text-decoration:underline}.auth-form__submit{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:100%;min-height:50px;margin-top:.1rem;padding:.8rem 1.15rem;border:none;border-radius:12px;background:#7b3ff2;color:#fff;font:inherit;font-weight:700;font-size:1.02rem;cursor:pointer;box-shadow:0 10px 24px #7b3ff24d;transition:transform .15s var(--ease-standard),background .15s var(--ease-standard),box-shadow .15s var(--ease-standard);text-decoration:none}.auth-form__submit-arrow{font-size:1.1rem;line-height:1}.auth-form__submit:hover:not(:disabled){background:var(--auth-accent-hover);transform:translateY(-1px);box-shadow:0 14px 30px #7b3ff25c}.auth-form__submit:active:not(:disabled){transform:translateY(0)}.auth-form__submit:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none}.auth-form__submit--link{margin-top:1rem}.auth-form__spinner{width:1.05rem;height:1.05rem;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:auth-spin .7s linear infinite}.auth-form__spinner--muted{border-color:#64748b59;border-top-color:#64748b}.auth-form__secondary{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin-top:.6rem;padding:.55rem 1rem;border-radius:12px;border:1.5px solid var(--auth-line);background:#fff;color:var(--auth-ink);font:inherit;font-weight:650;font-size:.95rem;cursor:pointer}.auth-form__secondary:hover{border-color:var(--auth-accent);background:#faf7ff}.auth-form__switch{margin:1.1rem 0 0;text-align:center;font-size:.9rem;color:var(--auth-muted)}.auth-form__switch a{color:var(--auth-accent);font-weight:750;text-decoration:none}.auth-form__switch a:hover{text-decoration:underline}.auth-form__text-btn{border:0;background:none;padding:0;color:var(--auth-accent);font:inherit;font-weight:750;cursor:pointer;text-decoration:underline}.auth-form__links{display:flex;flex-wrap:wrap;gap:.75rem 1.15rem;margin-top:1rem;font-size:.9rem;justify-content:center}.auth-form__links a{color:var(--auth-accent);font-weight:650;text-decoration:none}.auth-form__links a:hover{text-decoration:underline}@keyframes auth-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.auth-form__spinner,.auth-float__card{animation:none!important}.auth-form__submit:hover:not(:disabled){transform:none}}@media(min-width:1200px){.auth-ui__main{grid-template-columns:minmax(0,.85fr) minmax(440px,560px)}.auth-float{max-width:560px}.auth-bg__img{object-position:10% center}}@media(max-width:900px){.auth-ui__main{grid-template-columns:1fr;padding-bottom:.5rem}.auth-ui__facezone{display:none}.auth-float{max-width:100%;justify-self:stretch}.auth-bg__img{object-position:25% 28%}}@media(max-width:520px){.auth-ui{padding:.65rem .85rem .85rem}.auth-brand .brand-mark__logo,.auth-brand__logo{height:28px}.auth-float{gap:.6rem}.auth-float__card{padding:1.2rem;border-radius:18px}.auth-float__title{font-size:1.3rem}}body:has(.auth-screen){background:#241436;color:var(--color-text-primary-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{box-shadow:none}.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:#dc262633;border-color:var(--color-error);color:#fca5a5}html:has(.live-shell),body:has(.live-shell){height:100%;max-height:100%;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}.live-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;width:100%;max-width:100vw;overflow:hidden;background:#000;color:var(--color-text);position:relative}.live-shell-inner{--toolbar-h: 72px;--topbar-h: 40px;--side-panel-w: 0px;--teacher-chat-dock-w: 0px;flex:1 1 auto;min-height:0;min-width:0;width:100%;height:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden;position:relative}.live-shell-inner:fullscreen,.live-shell-inner:-webkit-full-screen,.live-shell:fullscreen,.live-shell:-webkit-full-screen{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:has(.teacher-float-chat.is-dock),.live-main--teacher:has(>.teacher-float-chat.is-dock){--teacher-chat-dock-w: clamp(320px, 26vw, 380px)}@media(min-width:1600px){.live-shell-inner:has(.teacher-float-chat.is-dock),.live-main--teacher:has(>.teacher-float-chat.is-dock){--teacher-chat-dock-w: clamp(340px, 22vw, 400px)}}.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:fullscreen>.live-main,.live-shell-inner:-webkit-full-screen>.live-main{padding-top:0}.live-shell-inner:fullscreen .video-stage,.live-shell-inner:-webkit-full-screen .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>.zoom-toolbar,.live-shell-inner>.control-dock{position:absolute;left:0;right:calc(var(--side-panel-w, 0px) + var(--teacher-chat-dock-w, 0px));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>.zoom-toolbar,.live-shell-inner.is-chrome-hidden>.control-dock{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}@media(max-width:820px){.live-shell-inner:not(.is-chrome-hidden) .qna-panel.teacher-side,.live-shell-inner .qna-panel.teacher-side,.live-shell-inner:not(.is-chrome-hidden) .teacher-side.qna-panel{z-index:1200;top:auto;bottom:var(--toolbar-h, 68px);height:min(70dvh,calc(100dvh - var(--toolbar-h, 68px) - var(--topbar-h, 40px) - env(safe-area-inset-bottom,0px) - 8px))!important;max-height:min(70dvh,calc(100dvh - var(--toolbar-h, 68px) - var(--topbar-h, 40px) - env(safe-area-inset-bottom,0px) - 8px))!important}.live-shell-inner .teacher-side__chrome{min-height:44px;height:auto;padding:.35rem .4rem .35rem .5rem;gap:.4rem}.live-shell-inner .teacher-side__tabs{max-width:none;flex:1 1 auto}.live-shell-inner .teacher-side__tabs button{min-height:32px;font-size:.8rem;padding:0 .5rem}.live-shell-inner .teacher-side__close{width:34px;height:34px;border-radius:9px}.live-shell-inner .teacher-side .zoom-chat__footer{padding:.4rem .65rem .55rem;gap:.35rem}.live-shell-inner .teacher-side .zoom-chat__compose{padding:.45rem .55rem .35rem}.live-shell-inner .teacher-side .zoom-chat__compose textarea{min-height:1.35rem;font-size:.86rem}}.live-shell-inner .teacher-side .zoom-chat__header,.admin-watch .teacher-side .zoom-chat__header{display:none}.teacher-side__tabs:has(>button:only-child){display:flex;grid-template-columns:none;background:transparent;border:none;padding:0;max-width:none}.teacher-side__tabs:has(>button:only-child)>button,.teacher-side__tabs:has(>button:only-child)>button.is-active{flex:0 1 auto;width:auto;justify-content:flex-start;background:transparent;color:#fff;font-size:.95rem;font-weight:650;padding:0 .15rem;min-height:32px;border-radius:0;cursor:default;pointer-events:none}.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__info-btn,.live-topbar__icon-hit{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__info-btn:hover,.live-topbar__icon-hit:hover{background:#ffffff1a;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:min(56vw,28rem);overflow:hidden}.live-topbar__status>*{flex-shrink:0}.live-topbar__status .rec-badge{flex-shrink:1;min-width:0;overflow:hidden}.live-topbar__status .live-topbar__warn{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.live-topbar__warn{color:#f5a623;font-weight:500;white-space:nowrap}.live-topbar__conn{font-size:.75rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;padding:.15rem .45rem;border-radius:999px}.live-topbar__conn--ok{color:#8fd99a;background:#22783c47}.live-topbar__conn--warn{color:#f5c842;background:#b4781447}.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-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;background:var(--color-error);padding:.2rem .55rem;border-radius:var(--radius-pill)}.live-badge__dot{width:8px;height:8px;border-radius:50%;background:var(--color-error);box-shadow:0 0 #dc262680;animation:pulse-live 1.6s ease infinite}@keyframes pulse-live{0%{box-shadow:0 0 #dc262673}70%{box-shadow:0 0 0 8px #dc262600}to{box-shadow:0 0 #dc262600}}.live-main{display:grid;grid-template-columns:minmax(0,1fr) var(--side-panel-w, 0px);min-height:0;min-width:0;position:relative;overflow:hidden;width:100%;height:100%;gap:0;background:#000}.live-main.live-main--teacher{display:flex;flex-direction:row;align-items:stretch;grid-template-columns:none}.live-main--teacher>.video-stage{flex:1 1 auto;min-width:0;width:auto}.live-main--teacher>.teacher-side,.live-main--teacher>.qna-panel{flex:0 0 var(--side-panel-w, 0px);width:var(--side-panel-w, 0px);max-width:var(--side-panel-w, 0px)}.live-main.live-main--teacher:has(>.teacher-float-chat:not(.is-dock)){overflow:visible}@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, 0px)}.live-main.live-main--teacher{display:flex;grid-template-columns:none}}@media(max-width:820px){.live-shell-inner,.live-shell-inner.is-side-open,.live-shell-inner:has(.teacher-float-chat.is-dock){--side-panel-w: 0px;--teacher-chat-dock-w: 0px}.live-main{grid-template-columns:minmax(0,1fr)}.live-main.live-main--teacher{display:flex;grid-template-columns:none}.live-main--teacher:has(>.teacher-float-chat.is-dock){--teacher-chat-dock-w: 0px}.live-main--teacher>.teacher-float-chat.is-dock,.teacher-float-chat.is-dock{flex-basis:0;flex-grow:0;width:0;min-width:0;max-width:0}}@media(prefers-reduced-motion:reduce){.live-main--teacher>.teacher-float-chat.is-dock{transition:none}}.video-stage{position:relative;display:flex;align-items:stretch;justify-content:stretch;min-height:0;min-width:0;width:100%;height:100%;background:#000;overflow:hidden}.student-wm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.student-wm__mark{position:absolute;max-width:min(92%,42rem);color:#ffffff2e;font-size:clamp(1.15rem,3.2vw,1.85rem);font-weight:700;letter-spacing:.05em;line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.28);transform:rotate(-18deg)}.student-wm__mark--a{top:14%;left:8%}.student-wm__mark--b{top:48%;left:50%;transform:translate(-50%,-50%) rotate(-18deg)}.student-wm__mark--c{right:6%;bottom:12%}.video-stage__fill{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#000;overflow:hidden}.video-stage__fill--share{display:flex;flex-direction:column;position:absolute;top:0;right:0;bottom:0;left:0}.video-stage__fill--float-pip{display:block}.video-stage__fill--float-pip .video-stage__share{position:absolute;top:0;right:0;bottom:0;left: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;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;object-fit:contain!important;background:#000;transform:translateZ(0);-webkit-transform:translate3d(0,0,0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.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,.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--student:fullscreen,.live-shell-inner--student:-webkit-full-screen{--side-panel-w: 0px !important;width:100vw;height:100vh;max-width:none;max-height:none;background:#000}.live-shell-inner--student:fullscreen>.live-main,.live-shell-inner--student:-webkit-full-screen>.live-main{padding-top:0;padding-bottom:0;grid-template-columns:minmax(0,1fr)!important;height:100%;width:100%}.live-shell-inner--student:fullscreen>.live-main>:not(.video-stage),.live-shell-inner--student:-webkit-full-screen>.live-main>:not(.video-stage){display:none!important}.live-shell-inner--student:fullscreen .video-stage,.live-shell-inner--student:-webkit-full-screen .video-stage{width:100%;height:100%;min-height:100%;padding:0}.live-shell-inner--student:fullscreen .video-stage__fill--float-pip .video-stage__share .video-stage__media,.live-shell-inner--student:fullscreen .video-stage__fill--float-pip .video-stage__share video,.live-shell-inner--student:-webkit-full-screen .video-stage__fill--float-pip .video-stage__share .video-stage__media,.live-shell-inner--student:-webkit-full-screen .video-stage__fill--float-pip .video-stage__share video{object-fit:contain!important;object-position:center center}.live-shell-inner--student:fullscreen>.zoom-toolbar,.live-shell-inner--student:fullscreen>.control-dock,.live-shell-inner--student:-webkit-full-screen>.zoom-toolbar,.live-shell-inner--student:-webkit-full-screen>.control-dock{right:0}.video-stage__media{width:100%;height:100%;object-fit:contain;object-position:center center;background:#000}.video-stage__media--contain{object-fit:contain;object-position:center center}.video-stage__media--cover{object-fit:cover!important;object-position:center center}.video-stage__pip{position:relative;width:200px;height:112px;border-radius:8px;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 16px #0006;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 #0000008c,0 0 0 1px #00000059;background:#111;overflow:hidden;flex-shrink:0;user-select:none;-webkit-user-select:none;right:auto;bottom:auto}.video-stage__pip--circle.is-draggable{cursor:grab;touch-action:none}.video-stage__pip--circle.is-dragging{cursor:grabbing;box-shadow:0 12px 36px #000000a6,0 0 0 2px #ffffff59}.video-stage__pip .video-stage__media,.video-stage__pip-media,.video-stage__pip video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;object-fit:cover!important;display:block;background:#000;pointer-events:none;transform:translateZ(0);-webkit-transform:translate3d(0,0,0);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:translate(-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 video,.video-stage .lk-participant-tile,.video-stage .lk-focus-layout,.video-stage .lk-room-container,.video-stage .lk-grid-layout{width:100%;height:100%;object-fit:contain;object-position:center center}.video-stage video.video-stage__media--contain,.video-stage .video-stage__media--contain{object-fit:contain;object-position:center center}.video-stage__placeholder{color:var(--color-text-secondary);text-align:center;padding:2rem}.video-stage__placeholder--lobby{position:absolute;top:0;right:0;bottom:0;left: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:#1c1c1eeb;border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 48px #00000073;color:#e8e8ed}.video-stage__wait-brand{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem;font-size:.88rem;font-weight:700;color:#f2f2f7}.video-stage__wait-mark{display:inline-flex;align-items:center;justify-content:center;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:#0e71eb26;color:#9bc4ff;font-size:.84rem;font-weight:600}.video-stage__placeholder--presence{position:absolute;top:0;right:0;bottom:0;left: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 #0006;overflow:hidden;flex-shrink:0}.video-stage__presence-avatar--photo{background:#1a1a1a;padding:0}.video-stage__presence-avatar--photo img{width:100%;height:100%;object-fit:cover;display:block}.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__presence-grid{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:1.25rem 1.75rem;max-width:min(92vw,40rem);padding:.5rem}.video-stage__presence-grid-item{display:flex;flex-direction:column;align-items:center;gap:.55rem;min-width:4.5rem;max-width:8rem}.video-stage__presence-avatar--sm{width:4rem;height:4rem;font-size:1.15rem;box-shadow:0 6px 20px #00000059}.video-stage__presence-name--sm{font-size:.9rem;font-weight:600;max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-stage__banner{position:absolute;top:12px;left:50%;transform:translate(-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 #00000059}.video-stage__banner a,.video-stage__banner .zoom-link{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:#0000008c;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;top:0;right:0;bottom:0;left: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}.zoom-toolbar,.video-stage__controls.control-dock,.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;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>.zoom-toolbar.control-dock,.live-shell-inner>.zoom-toolbar,.live-shell-inner>.control-dock{left:0;right:calc(var(--side-panel-w, 0px) + var(--teacher-chat-dock-w, 0px));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{display:flex;justify-content:center;align-items:flex-end;gap:.35rem;grid-template-columns:none}.zoom-toolbar.zoom-toolbar--no-av .zoom-toolbar__group--center{justify-content:center;grid-column:auto;flex:0 1 auto}.zoom-toolbar.zoom-toolbar--no-av .zoom-toolbar__group--end{grid-column:auto;justify-self:auto;justify-content:center;margin-left:0;padding-right:0;flex:0 0 auto}.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}.zoom-tb,.control-dock__btn{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}.zoom-tb:hover:not(:disabled),.control-dock__btn:hover:not(:disabled){transform:none;background:#2d2d2d;color:#fff}.zoom-tb:active:not(:disabled),.control-dock__btn: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}.zoom-tb__icon svg,.control-dock__btn svg{width:var(--tb-icon, 22px);height:var(--tb-icon, 22px)}.zoom-tb.is-muted .zoom-tb__icon,.zoom-tb.is-off .zoom-tb__icon,.control-dock__btn.is-off{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 #0eac5c59}.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:translate(-50%);z-index:6;padding:.35rem .85rem;border-radius:var(--radius-pill);background:#2d2d2df2;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:translate(-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:0 1px #ffffff0f inset,0 18px 48px #0006;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:before,.zoom-prejoin__art:after{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:0;margin-bottom:.85rem}.zoom-prejoin__card--join .zoom-prejoin__brand{margin-bottom:.75rem}.zoom-prejoin__brand .brand-mark__logo{height:30px;max-width:150px}.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:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;box-sizing:border-box;margin:.15rem auto .35rem;padding:.65rem .95rem;border-radius:12px;background:#eef5ff;color:#0b5ed7;font-size:.88rem;font-weight:600;line-height:1.35;text-align:center}.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 #0e71eb2e}.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-fab,.qna-backdrop,.qna-panel__close{display:none}@media(max-width:820px){.qna-panel{position:fixed;left:0;right:0;top:auto;bottom:var(--toolbar-h, 68px);z-index:1200;width:100%;height:min(70dvh,calc(100dvh - var(--toolbar-h, 68px) - var(--topbar-h, 40px) - env(safe-area-inset-bottom,0px) - 8px));max-height:min(70dvh,calc(100dvh - var(--toolbar-h, 68px) - var(--topbar-h, 40px) - env(safe-area-inset-bottom,0px) - 8px));border-left:none;border-top:1px solid var(--color-border);border-radius:14px 14px 0 0;transform:translateY(calc(100% + 12px));transition:transform .28s ease;box-shadow:0 -12px 40px #00000073;padding-bottom:0!important;box-sizing:border-box}.qna-panel.is-open{transform:translateY(0)}.live-shell-inner .side-fabs{display:none!important}.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 #00000059;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;top:0;right:0;bottom:0;left:0;bottom:var(--toolbar-h, 68px);z-index:1180;border:none;background:#00000073;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;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:#dc26261f;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:#0b0d1273;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:#0d94881f;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;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;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:52px;padding:.5rem .55rem .5rem .6rem;border-bottom:1px solid #2f2f2f;background:#1f1f1f;flex-shrink:0}.teacher-side__chrome-right{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex-shrink:0;margin-left:auto;position:relative;z-index:2;align-self:center}.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 #00000059;transition:transform .18s ease;will-change:transform}.chat-allow-toggle__switch.is-on .chat-allow-toggle__knob{transform:translate(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__bulk,.waiting-room-admit__actions{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:38px;height:38px;border:0;border-radius:10px;background:#ffffff1a;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.teacher-side__close:hover{background:#ffffff29;color:#fff}.teacher-side__close:focus-visible{outline:2px solid #0e72ed;outline-offset:2px}@media(max-width:820px){.teacher-side .zoom-chat__icon-btn[aria-label="Close chat"]{width:32px;height:32px;background:#ffffff1a;color:#fff}}.teacher-side__tabs{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0;min-width:0;padding:3px;border-radius:10px;background:#1f1f1f;border:1px solid rgba(255,255,255,.08);flex:1 1 auto;max-width:calc(100% - 52px);box-sizing:border-box}.teacher-side__tabs button{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:34px;min-width:0;width:100%;padding:0 .55rem;border-radius:8px;border:none;background:transparent;color:#b8b8b8;font-size:.84rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;cursor:pointer;transition:background-color .12s ease,color .12s ease}.teacher-side__tab-label{overflow:hidden;text-overflow:ellipsis}.teacher-side__tabs button:hover:not(.is-active){color:#f2f2f2;background:#ffffff0f}.teacher-side__tabs button.is-active{background:#3a3a3a;color:#fff;box-shadow:0 1px #ffffff14 inset}.teacher-side__tabs button:focus-visible{outline:2px solid #5aa6f5;outline-offset:1px;z-index:1}.teacher-side__pane{flex: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;min-height:0;min-width:0;background:#1a1a1a;color:#e8e8e8;overflow:hidden}.participants-panel__head{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.2rem;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__bound-note{margin:0;max-width:100%;font-size:.72rem;line-height:1.35;font-weight:500;color:#9a9a9a}.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 #0e71eb4d}.participants-panel__body{flex: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;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}.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%;font-size:.88rem;font-weight:600;color:#f5f5f5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.participants-row__main strong{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;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-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:#f5a5240f;border-left:2px solid #f5a524;padding-left:calc(.75rem - 2px)}.participants-row--hand:hover{background:#f5a5241a}@keyframes hand-pulse{0%,to{opacity:1}50%{opacity:.65}}.badge-host{flex-shrink:0;font-size:.62rem;font-weight:700;letter-spacing:.03em;padding:.08rem .35rem;border-radius:4px;background:#eab30838;color:#eab308;white-space:nowrap}.badge-talking{flex-shrink:0;font-size:.62rem;font-weight:700;letter-spacing:.02em;padding:.08rem .35rem;border-radius:4px;background:#22c55e2e;color:#4ade80;white-space:nowrap}.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-wrap:focus-within .participants-row__menu-btn,.participants-row__menu-btn[aria-expanded=true]{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:.4rem 0;border-radius:10px;border:1px solid #3a3a3a;background:#252525;box-shadow:0 12px 40px #0000008c;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__section-label{padding:.45rem .9rem .25rem;font-size:.68rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#9ca3af;line-height:1.2;box-sizing:border-box}.participants-menu__section-label:not(:first-child){margin-top:.25rem;padding-top:.55rem;border-top:1px solid #333}.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{flex-shrink:0;width:1.15rem;height:1.15rem;border-radius:50%;background:#22c55e;color:#052e16;font-size:.7rem;font-weight:800;line-height:1.15rem;text-align:center}.participants-menu__tick-spacer{flex-shrink:0;width:1.15rem;height:1.15rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10500;background:#0000008c;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,.modal-card__body{margin:0 0 .75rem;color:var(--color-text-secondary);font-size:.9rem}.modal-card__body>p{margin:0 0 .75rem}.modal-card__body>p:last-child{margin-bottom:0}.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:#d9770633;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:#d9770626;padding:.2rem .55rem;border-radius:999px}.live-topbar__waiting-badge{border:none;cursor:pointer;font:inherit;font-weight:700;color:#2563eb;background:#2563eb2e;padding:.2rem .55rem;border-radius:999px}.live-topbar__hand-badge.is-attention,.live-topbar__waiting-badge.is-attention{box-shadow:0 0 0 1px #ffffff1f}.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:#00000047;color:#ffd28a;font-size:.68rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.teacher-side__tabs button.is-active .teacher-side__tab-badge{background:#ffffff38;color:#fff}.student-publish-bar{display:flex;gap:.5rem;justify-content:center;padding:.65rem;border-top:1px solid var(--color-border);background:#00000059}.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 #00000059;font-size:.875rem}.toast--error{border-color:#dc262673;color:#fecaca}.toast--success{border-color:#05966966;color:#a7f3d0}.toast--info{border-color:#0e71eb66;color:#bfdbfe}.toast--warn{border-color:#d9770673;color:#fde68a}.toast--enter{animation:toast-in .22s ease}@keyframes toast-in{0%{opacity:0;transform:translate(1rem)}to{opacity:1;transform:translate(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){.live-shell-inner .side-fabs{display:none!important}.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:#f5a6232e;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:#dc262626;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 #0e71eb14}.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,#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}.brand-mark{display:inline-flex;flex-direction:row;align-items:center;gap:.5rem;line-height:1}.brand-mark--logo-only{gap:0}.brand-mark__logo{display:block;width:auto;height:30px;max-width:min(160px,48vw);aspect-ratio:75 / 26;object-fit:contain;object-position:left center;flex-shrink:0}.brand-mark--sm .brand-mark__logo{height:26px}.brand-mark--md .brand-mark__logo{height:30px}.brand-mark--lg .brand-mark__logo{height:34px}.brand-mark--xl .brand-mark__logo{height:40px}.brand-mark__product{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-secondary-light)}.brand-mark-link{text-decoration:none;color:inherit}.admin-brand-mark{margin:0 0 .15rem}.admin-card .admin-brand-mark .brand-mark__product{color:var(--color-text-secondary-light)}.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__boot{display:grid;gap:1rem;padding:1.5rem;max-width:32rem}.admin-watch__back{color:#9ec1ff;text-decoration:none;font-size:.92rem}.admin-watch__back:hover{text-decoration:underline}.admin-watch__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1rem;background:#121212;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.admin-watch__bar-main{min-width:0}.admin-watch__brand{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7eb0ff}.admin-watch__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .55rem;margin-top:.2rem}.admin-watch__bar h1{margin:0;font-size:1.05rem;font-weight:650;line-height:1.2}.admin-watch__pill{display:inline-flex;align-items:center;gap:.35rem;padding:.18rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#ffffffb8;white-space:nowrap}.admin-watch__pill--mode.is-cohost{border-color:#0e72ed73;background:#0e72ed29;color:#c9deff}.admin-watch__pill--conn.is-on{border-color:#34d39966;background:#10b9811f;color:#b7f0d5}.admin-watch__pill-dot{width:.45rem;height:.45rem;border-radius:50%;background:#ffffff59}.admin-watch__pill--conn.is-on .admin-watch__pill-dot{background:#34d399;box-shadow:0 0 0 3px #34d3992e}.admin-watch__actions{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0}.admin-watch__btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 .85rem;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;font-size:.88rem;font-weight:600;text-decoration:none;cursor:pointer}.admin-watch__btn:hover{background:#ffffff0f}.admin-watch__btn--danger{color:#fecaca;border-color:#7f1d1dd9}.admin-watch__btn--danger:hover{background:#7f1d1d40}.admin-watch__btn:disabled{opacity:.55;cursor:not-allowed}.admin-watch__error{margin:.65rem 1rem 0}.admin-watch__layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px)}.admin-watch__stage{min-height:0;min-width:0}.admin-watch__empty{display:flex;align-items:center;justify-content:center;min-height:40vh;color:#ffffffa6}.admin-watch .side-fabs,.admin-watch .qna-backdrop{display:none!important}.admin-watch .qna-panel.teacher-side{position:relative;width:100%;height:100%;max-height:none;transform:none;border-radius:0;box-shadow:none;border-left:1px solid #2f2f2f;background:#161616}.admin-watch .teacher-side__chrome{background:#1a1a1a}.admin-watch__chat-unavailable{display:flex;flex-direction:column;justify-content:center;gap:.45rem;flex:1;min-height:0;padding:1.5rem 1.15rem;text-align:center}.admin-watch__chat-unavailable-title{margin:0;font-size:.95rem;font-weight:650;color:#ffffffe6}.admin-watch__chat-unavailable-body{margin:0;font-size:.86rem;line-height:1.45;color:#ffffff8c;max-width:16.5rem;margin-inline:auto}@media(max-width:820px){.admin-watch__layout{grid-template-columns:1fr}.admin-watch .side-fabs{display:flex!important;flex-direction:column;gap:.5rem;position:fixed;right:.85rem;bottom:calc(.85rem + env(safe-area-inset-bottom,0px));z-index:1150}.admin-watch .qna-fab{display:inline-flex}.admin-watch .qna-backdrop{display:block!important}.admin-watch .qna-panel.teacher-side{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:1200;width:100%;height:min(70dvh,calc(100dvh - 4.5rem));max-height:min(70dvh,calc(100dvh - 4.5rem));border-left:none;border-top:1px solid #2f2f2f;border-radius:14px 14px 0 0;transform:translateY(calc(100% + 12px));transition:transform .28s ease;box-shadow:0 -12px 40px #00000073}.admin-watch .qna-panel.teacher-side.is-open{transform:translateY(0)}}.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}.account-panel{margin-top:1.75rem;padding:1.15rem 1.2rem;border-radius:var(--radius-md, 12px);border:1px solid var(--color-border-light, #e5e7eb);background:var(--color-surface-light, #fff);box-shadow:0 1px 2px #0f172a0a;max-width:28rem}.account-panel--session{margin-top:1.25rem}.account-panel__title{margin:0 0 .65rem;font-size:.9375rem;font-weight:700;letter-spacing:-.01em;color:var(--color-text-primary-light, #0f172a)}.account-panel__hint{margin:0 0 1rem;font-size:.875rem;line-height:1.45;color:var(--color-text-secondary-light, #64748b)}.account-panel__meta{margin:0;display:flex;flex-direction:column;gap:.75rem}.account-panel__meta>div{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.5rem .75rem;align-items:baseline}.account-panel__meta dt{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary-light, #64748b)}.account-panel__meta dd{margin:0;font-size:.9375rem;font-weight:600;color:var(--color-text-primary-light, #0f172a);overflow-wrap:anywhere}.account-panel .btn{min-height:44px}.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}.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;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:#fff9;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 #dc26264d}.status-pill--live .live-badge__dot{width:6px;height:6px;background:#fff;border-radius:50%;box-shadow:0 0 0 3px #ffffff40,0 0 8px 3px #dc26268c;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:#00000026}.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;top:0;right:0;bottom:0;left: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;height:8px;background:#ffffff1f;border-radius:4px;overflow:hidden}.device-test__meter-fill{height:100%;background:var(--color-success);transition:width 80ms linear}.device-test__selects{display:grid;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:#fff3;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--pending{color:#cfcfcf;opacity:.85}.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:.35rem;max-width:min(100%,9.5rem);font-size:.7rem;font-weight:700;letter-spacing:.02em;color:#fff;background:#b91c1c;padding:.28rem .55rem;border-radius:6px;line-height:1.2;flex-shrink:0;white-space:nowrap}.rec-badge__dot{width:.45rem;height:.45rem;border-radius:50%;background:#fecaca;flex-shrink:0;animation:recording-banner-pulse 1.4s ease-in-out infinite}.rec-badge__label{font-weight:700;letter-spacing:.04em;text-transform:none}.rec-badge--compact{max-width:8.5rem;padding:.22rem .45rem}.rec-badge--compact .rec-badge__label{letter-spacing:.02em}.recording-banner{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;box-sizing:border-box;padding:.45rem .75rem;padding-top:max(.45rem,env(safe-area-inset-top,0px));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;flex-shrink:0}.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.35;text-align:center;max-width:36rem}@keyframes recording-banner-pulse{0%,to{opacity:1}50%{opacity:.35}}@media(max-width:480px){.recording-banner{padding-left:max(.65rem,env(safe-area-inset-left,0px));padding-right:max(.65rem,env(safe-area-inset-right,0px));font-size:.75rem}.live-topbar__status{max-width:min(62vw,18rem);gap:.3rem}.rec-badge{font-size:.65rem;padding:.22rem .45rem}}@media(orientation:landscape)and (max-height:480px){.recording-banner{padding-top:.28rem;padding-bottom:.28rem;font-size:.72rem}}.recording-controls__phase{display:inline-block;margin-right:.35rem;font-size:.7rem;color:#ffffffbf;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:#ffffffa6;max-width:14rem}.floating-reactions{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left: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:translate(-50%);font-size:.65rem;color:var(--color-warning);white-space:nowrap;max-width:14rem;text-align:center;pointer-events:none}.attendance-report{--ar-surface: #ffffff;--ar-line: rgba(16, 24, 40, .07);--ar-muted: #64748b;--ar-title: #0f172a;--ar-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 16px rgba(15, 23, 42, .04);--ar-radius: var(--radius-md, .75rem);min-width:0;max-width:100%;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:1.25rem}.attendance-report__nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.attendance-report__back{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;font-weight:600;color:var(--color-primary, #0e71eb);text-decoration:none;min-height:2.5rem}.attendance-report__back:hover{text-decoration:underline;text-underline-offset:.15em}.attendance-report__export{flex-shrink:0}.attendance-report__header{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;margin:0;min-width:0}.attendance-report__title{margin:0;font-size:clamp(1.45rem,1.2rem + 1.2vw,1.85rem);font-weight:700;letter-spacing:-.03em;line-height:1.2;color:var(--ar-title);overflow-wrap:anywhere;word-break:break-word}.attendance-report__sub{margin:0;font-size:.9375rem;color:var(--ar-muted);line-height:1.45}.attendance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.attendance-kpi{min-width:0;padding:1rem 1.1rem;background:var(--ar-surface);border:1px solid var(--ar-line);border-radius:var(--ar-radius);box-shadow:var(--ar-shadow);box-sizing:border-box}.attendance-kpi__label{margin:0;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8b95a8}.attendance-kpi__value{margin:.45rem 0 0;font-size:clamp(1.25rem,1.1rem + .6vw,1.55rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--ar-title);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.attendance-kpi--skel,.attendance-panel--skel{min-height:5.25rem;background:linear-gradient(90deg,#f1f5f9 25%,#e8eef5,#f1f5f9 75%);background-size:200% 100%;animation:attendance-shimmer 1.2s ease-in-out infinite;border:1px solid var(--ar-line);border-radius:var(--ar-radius)}.attendance-panel--skel{min-height:14rem}.attendance-panel--skel-sm{min-height:7rem}@keyframes attendance-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.attendance-panel{min-width:0;padding:1.15rem 1.25rem 1.25rem;background:var(--ar-surface);border:1px solid var(--ar-line);border-radius:var(--ar-radius);box-shadow:var(--ar-shadow);box-sizing:border-box}.attendance-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.attendance-panel__title{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--ar-title)}.attendance-panel__meta{margin:.2rem 0 0;font-size:.8125rem;color:var(--ar-muted)}.attendance-toolbar{display:flex;flex-wrap:wrap;gap:.65rem .85rem;margin:0 0 1rem;align-items:center;min-width:0;max-width:100%;padding:.75rem .85rem;background:#f8fafc;border:1px solid var(--ar-line);border-radius:calc(var(--ar-radius) - 2px)}.attendance-toolbar input[type=search]{flex:1 1 12rem;min-width:0;width:100%;max-width:100%;box-sizing:border-box;min-height:2.5rem;padding:.45rem .75rem;border:1px solid rgba(16,24,40,.1);border-radius:var(--radius-sm);background:#fff;font:inherit;color:var(--ar-title)}.attendance-toolbar input[type=search]:focus{outline:2px solid rgba(14,113,235,.25);outline-offset:0;border-color:#0e71eb73}.attendance-toolbar__sort{display:inline-flex;align-items:center;gap:.45rem;flex:0 1 auto;min-width:0;font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ar-muted)}.attendance-toolbar__sort select{min-width:7.5rem;min-height:2.5rem;padding:.35rem .6rem;border:1px solid rgba(16,24,40,.1);border-radius:var(--radius-sm);font:inherit;font-size:.875rem;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--ar-title);background:#fff}.attendance-table-wrap{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;margin:0 -.15rem;border-radius:var(--radius-sm)}.attendance-table{width:100%;min-width:36rem;border-collapse:collapse;font-size:.9rem}.attendance-table th{text-align:left;padding:.65rem .85rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8b95a8;background:#f8fafc;border-bottom:1px solid var(--ar-line);white-space:nowrap}.attendance-table td{text-align:left;padding:.8rem .85rem;border-bottom:1px solid rgba(16,24,40,.05);color:var(--ar-title);white-space:nowrap;vertical-align:middle}.attendance-table tbody tr:last-child td{border-bottom:none}.attendance-table tbody tr:hover td{background:#0e71eb08}.attendance-table td:first-child,.attendance-table th:first-child{white-space:normal;overflow-wrap:anywhere;max-width:16rem}.attendance-table__name{font-weight:600;letter-spacing:-.01em}.attendance-table__roll{font-size:.85rem;color:var(--ar-muted)}.attendance-cards{display:none;list-style:none;margin:0;padding:0;flex-direction:column;gap:.65rem}.attendance-card{margin:0;padding:.9rem 1rem;background:#f8fafc;border:1px solid var(--ar-line);border-radius:calc(var(--ar-radius) - 2px);box-sizing:border-box;min-width:0}.attendance-card__name{margin:0 0 .65rem;font-size:1rem;font-weight:650;letter-spacing:-.01em;overflow-wrap:anywhere;word-break:break-word;color:var(--ar-title)}.attendance-card__meta{display:grid;grid-template-columns:1fr 1fr;gap:.55rem .75rem;margin:0}.attendance-card__meta>div{min-width:0}.attendance-card__meta dt{margin:0;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#8b95a8}.attendance-card__meta dd{margin:.15rem 0 0;font-size:.875rem;color:var(--ar-title);overflow-wrap:anywhere;word-break:break-word}.attendance-empty{display:flex;align-items:center;justify-content:center;min-height:5.5rem;padding:1.25rem 1rem;text-align:center;background:#f8fafc;border:1px dashed rgba(16,24,40,.1);border-radius:calc(var(--ar-radius) - 2px)}.attendance-empty p{margin:0;font-size:.9rem;color:var(--ar-muted);max-width:22rem;line-height:1.45}.attendance-empty--inline{min-height:auto;margin-top:.5rem}.attendance-chat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.attendance-chat-item{margin:0;padding:.75rem .9rem;background:#f8fafc;border:1px solid var(--ar-line);border-radius:calc(var(--ar-radius) - 2px);min-width:0}.attendance-chat-item__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem .75rem;margin-bottom:.35rem}.attendance-chat-item__head strong{font-size:.9rem;color:var(--ar-title)}.attendance-chat-item__head time{font-size:.78rem;color:var(--ar-muted)}.attendance-chat-item p{margin:0;font-size:.9rem;line-height:1.45;color:var(--ar-title);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.class-recordings{min-width:0;max-width:100%;display:flex;flex-direction:column;gap:.75rem}.class-recordings__item{display:flex;flex-direction:column;gap:.35rem;min-width:0}.class-recordings__meta{margin:0;font-size:.84rem;color:var(--ar-muted, #64748b)}.class-recordings__video{width:100%;max-width:100%;border-radius:var(--radius-sm);background:#000;display:block}@media(max-width:900px){.attendance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.admin-row,.admin-toolbar{flex-direction:column;align-items:flex-start}.admin-nav{flex-wrap:wrap}.attendance-report{gap:1rem}.attendance-report__nav{flex-direction:column;align-items:stretch}.attendance-report__export{width:100%;justify-content:center;min-height:2.75rem}.attendance-report__title{font-size:clamp(1.3rem,5.5vw,1.6rem)}.attendance-kpis{grid-template-columns:1fr 1fr;gap:.6rem}.attendance-kpi{padding:.85rem .9rem}.attendance-panel{padding:1rem}.attendance-toolbar{flex-direction:column;align-items:stretch;gap:.65rem}.attendance-toolbar input[type=search]{flex:none;width:100%}.attendance-toolbar__sort{display:flex;width:100%}.attendance-toolbar__sort select{flex:1 1 auto;width:100%;min-width:0}.attendance-table-wrap{display:none}.attendance-cards{display:flex}.teacher-qna-list li{min-width:0}.teacher-qna-list p{overflow-wrap:anywhere;word-break:break-word}}@media(max-width:380px){.attendance-kpis{grid-template-columns:1fr}}.dash-layout{--app-sidebar-width: 272px;display:grid;grid-template-columns:var(--app-sidebar-width) minmax(0,1fr);min-height:100vh;min-height:100dvh;background:var(--color-bg-light);color:var(--color-text-primary-light);isolation:isolate}.app-sidebar{position:sticky;top:0;align-self:start;width:100%;max-width:var(--app-sidebar-width);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 .9rem;z-index:20;overflow:hidden;box-sizing:border-box}.app-sidebar__brand{display:flex;flex-direction:column;align-items:flex-start;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__brand .brand-mark__logo{height:30px;width:auto;max-width:150px;aspect-ratio:75 / 26}.app-sidebar__brand .brand-mark__product{color:var(--color-text-secondary-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:#1118270a;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:#dc26260f;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 #1018280a,0 1px 3px #1018280f;transition:all .2s ease}.class-card:hover{box-shadow:0 4px 12px #10182814,0 2px 4px #1018280a;transform:translateY(-2px)}.class-card .btn--ghost-light:hover{background:#0e71eb0f;border-color:#0e71eb38}.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;align-items:center;justify-content:center;gap:.75rem;padding:2.5rem 1.5rem;text-align:center;border:2px dashed var(--color-border-light);border-radius:var(--radius-md);background:#fff9}.empty-state__icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;animation:empty-float 3s ease-in-out infinite}.empty-state__icon-wrap:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left: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:#0e71eb0f}.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:not(.dash-layout--learner){grid-template-columns:64px 1fr}.dash-layout:not(.dash-layout--learner) .app-sidebar{padding:.75rem .4rem}.dash-layout:not(.dash-layout--learner) .app-sidebar__brand{align-items:center;padding:.5rem .25rem .75rem;text-align:center}.dash-layout:not(.dash-layout--learner) .app-sidebar__brand .brand-mark{align-items:center}.dash-layout:not(.dash-layout--learner) .app-sidebar__brand .brand-mark__logo{height:18px;max-width:48px}.dash-layout:not(.dash-layout--learner) .app-sidebar__brand .brand-mark__product{display:none}.dash-layout:not(.dash-layout--learner) .app-sidebar__label,.dash-layout:not(.dash-layout--learner) .app-sidebar__user-text{display:none}.dash-layout:not(.dash-layout--learner) .app-sidebar__item,.dash-layout:not(.dash-layout--learner) .app-sidebar__logout{justify-content:center;padding:0;border-radius:var(--radius-sm)}.dash-layout:not(.dash-layout--learner) .app-sidebar__item.is-active{border-left-width:0;box-shadow:inset 0 0 0 2px var(--color-primary)}.dash-layout:not(.dash-layout--learner) .app-sidebar__user{justify-content:center}.dash-layout__main{padding:1.25rem 1rem 2rem}.dash-page-header{flex-direction:column}.class-card{flex-direction:column;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));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 #1018280a;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 #10182814}.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 #1018280a}.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));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 #16a34a33}.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:#0e71eb0f}.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;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:#ffffff14}.mt-split--selected,.mt-split.is-menu-open{background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffffff59}.mt-split__top{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:28px;min-width:28px}.mt-split__primary{border:none;background:transparent;color:inherit;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.mt-split__primary:disabled{opacity:.45;cursor:not-allowed}.mt-split.is-locked{opacity:.72}.mt-split.is-locked:hover{background:transparent}.mt-split.is-locked .mt-split__label{color:#b0b0b0}.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;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:hover:not(:disabled),.mt-caret.is-open{background:#ffffff1f;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 #0eac5c59}.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 #ffffff0f;animation:mt-share-chip-in .2s cubic-bezier(.22,1,.36,1)}@keyframes mt-share-chip-in{0%{opacity:0;transform:translate(-6px) scale(.96)}to{opacity:1;transform:translate(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:translate(-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 #00000059;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:translate(-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;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000073;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;top:0;right:0;bottom:0;left: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:#0e71eb33;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 .zoom-tb,.mt-split--record .control-dock__btn{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{overflow:visible}.zoom-tb__icon{position:relative;overflow:visible}.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 #0000008c;padding:.35rem 0;pointer-events:auto}.mt-popover--grid{min-width:min(280px,calc(100vw - 16px));max-width:min(340px,calc(100vw - 16px));width:min(300px,calc(100vw - 16px));padding:.5rem .35rem .35rem;box-sizing:border-box}.mt-more-grid{display:flex;flex-direction:column;gap:.1rem;padding:.25rem .35rem .5rem}.mt-more-grid--overflow{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:.15rem .25rem}.mt-more-grid__item{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.85rem;min-height:52px;padding:.65rem .85rem;border:none;border-radius:12px;background:transparent;color:#f2f2f2;cursor:pointer;width:100%;box-sizing:border-box}.mt-more-grid__item:hover:not(:disabled){background:#ffffff14}.mt-more-grid__item.is-active{background:#4da3ff29}.mt-more-grid__item:disabled{opacity:.45;cursor:not-allowed}.mt-more-grid__icon{width:32px;height:32px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:#fff}.mt-more-grid__icon svg{width:24px;height:24px;flex:0 0 auto;display:block;overflow:visible;aspect-ratio:1}.mt-more-grid__icon .dock-icon--filled{fill:currentColor;stroke:none}.mt-more-grid__icon svg:not(.dock-icon--filled){fill:none;stroke:currentColor}.mt-more-grid--overflow .mt-more-grid__item{flex-direction:column;align-items:center;justify-content:flex-start;gap:.4rem;min-height:72px;padding:.55rem .35rem .45rem;width:auto}.mt-more-grid--overflow .mt-more-grid__icon{width:28px;height:28px}.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:.95rem;font-weight:500;line-height:1.25;text-align:left;color:#e8e8e8;max-width:none}.mt-more-grid--overflow .mt-more-grid__label{font-size:11px;font-weight:400;line-height:1.2;text-align:center;max-width:5.8rem}.mt-more-sep{height:1px;margin:.15rem .65rem .35rem;background:#3a3a3a}.mt-more-section{display:flex;flex-direction:column;gap:.35rem;padding:.15rem 0 .1rem}.mt-more-section__label{padding:.15rem .85rem 0;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffff6b}.mt-more-grid--overflow .mt-more-record-embed{padding:0;display:flex;align-items:stretch;justify-content:stretch;min-width:0}.mt-more-grid--overflow .mt-more-record-embed.is-recording-active{margin:0;padding:0;border-radius:12px;background:#dc262629;box-shadow:inset 0 0 0 1px #f8717159}.mt-more-grid--overflow .mt-more-record-embed .recording-controls,.mt-more-grid--overflow .mt-more-record-embed .mt-split--record{width:100%;display:flex;justify-content:center;align-items:stretch}.mt-more-grid--overflow .mt-more-record-embed .zoom-tb,.mt-more-grid--overflow .mt-more-record-embed .control-dock__btn--recording{flex:1 1 auto;width:100%;min-width:0;min-height:72px;padding:.55rem .35rem .45rem;flex-direction:column;align-items:center;justify-content:flex-start;gap:.4rem;border-radius:12px;box-sizing:border-box}.mt-more-grid--overflow .mt-more-record-embed .zoom-tb__icon{width:28px;height:28px}.mt-more-grid--overflow .mt-more-record-embed .zoom-tb__label{margin-top:0;font-size:11px;font-weight:400;line-height:1.2;text-align:center;max-width:5.8rem}.mt-more-record-embed{padding:.2rem .55rem .45rem}.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;min-height:44px;min-width:44px}.mt-more-reset__btn:hover{text-decoration:underline}@media(max-width:820px){.mt-popover--grid{width:calc(100vw - 16px);max-width:none;min-width:0;padding:.35rem .25rem .25rem;border-radius:16px;box-shadow:0 -8px 32px #00000073}.mt-more-grid--overflow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.15rem;padding-bottom:.45rem}.mt-more-grid--overflow.mt-more-grid--class{grid-template-columns:repeat(3,minmax(0,1fr))}.mt-more-reset{margin:.15rem .35rem .1rem;padding:.35rem .65rem;font-size:.85rem}.live-shell-inner--student .video-stage__host-rail:not(.is-live){display:none}.live-shell-inner--student .video-stage__host-rail.is-live{min-height:72px;padding:6px 8px 4px}.zoom-toolbar.zoom-toolbar--no-av .zoom-tb{min-width:56px;min-height:48px}.zoom-toolbar.zoom-toolbar--no-av .zoom-tb__label{font-size:10px}}.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__about{display:flex;flex-direction:column;gap:.35rem;padding-top:.15rem}.mt-settings__about h3{margin:0 0 .15rem}.mt-settings--listen-only{width:min(420px,94vw);max-height:min(72dvh,480px)}.mt-settings--listen-only .mt-settings__body{min-height:200px}.mt-settings__name-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.5rem 0 1rem}.mt-settings__name-row input{flex:1 1 12rem;min-width:10rem;padding:.45rem .65rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#00000059;color:inherit;font:inherit}.mt-settings__name-row button{flex:0 0 auto;min-height:38px;padding:.45rem .95rem;border:none;border-radius:8px;background:#0e71eb;color:#fff;font:inherit;font-size:.88rem;font-weight:600;white-space:nowrap}.mt-settings__name-row button:hover:not(:disabled){background:#0b5ed7}.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;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:#ffffff14;color:#eee;border-radius:6px;padding:.25rem .45rem;font-size:.7rem;cursor:pointer}.live-topbar__icon-btn:hover{background:#ffffff29}.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;--toolbar-h: calc(56px + env(safe-area-inset-bottom, 0px)) ;height:auto;min-height:calc(56px + env(safe-area-inset-bottom,0px));padding:4px 6px calc(6px + env(safe-area-inset-bottom,0px));padding-inline:8px}.zoom-toolbar.zoom-toolbar--no-av:not(.zoom-toolbar--mobile-primary){display:flex;justify-content:center;align-items:flex-end;gap:2px;width:100%;left:0;right:0}.zoom-toolbar.zoom-toolbar--no-av:not(.zoom-toolbar--mobile-primary) .zoom-toolbar__group--center{gap:var(--tb-gap-center)}.zoom-toolbar.zoom-toolbar--no-av:not(.zoom-toolbar--mobile-primary) .zoom-tb{min-width:52px;padding-inline:6px}.live-shell-inner{--toolbar-h: calc(56px + env(safe-area-inset-bottom, 0px)) }}.zoom-toolbar.zoom-toolbar--mobile-primary{--toolbar-h: calc(56px + env(safe-area-inset-bottom, 0px)) ;display:flex;align-items:flex-end;justify-content:space-between;gap:0;width:100%;left:0;right:0;grid-template-columns:none;height:auto;min-height:calc(56px + env(safe-area-inset-bottom,0px));padding:4px 6px calc(6px + env(safe-area-inset-bottom,0px));box-sizing:border-box}.live-shell-inner:has(.zoom-toolbar--mobile-primary){--toolbar-h: calc(56px + env(safe-area-inset-bottom, 0px)) }.live-shell-inner:has(.meeting-leave-top) .live-topbar__meta{padding-right:4.75rem;max-width:calc(60% - .5rem)}.live-shell-inner:has(.meeting-leave-top) .live-topbar__conn{display:none}.zoom-toolbar.zoom-toolbar--mobile-primary .zoom-toolbar__group--left,.zoom-toolbar.zoom-toolbar--mobile-primary .zoom-toolbar__group--center{display:contents}.zoom-toolbar.zoom-toolbar--mobile-primary .mt-split,.zoom-toolbar.zoom-toolbar--mobile-primary .zoom-tb{flex:1 1 0;min-width:0;max-width:none;min-height:48px;padding:4px 4px 2px;box-sizing:border-box;justify-content:flex-end}.zoom-toolbar.zoom-toolbar--mobile-primary .mt-split__top,.zoom-toolbar.zoom-toolbar--mobile-primary .mt-split__primary{min-height:28px;min-width:44px}.zoom-toolbar.zoom-toolbar--mobile-primary .zoom-tb__icon,.zoom-toolbar.zoom-toolbar--mobile-primary .mt-split__icon{width:28px;height:28px}.zoom-toolbar.zoom-toolbar--mobile-primary .zoom-tb__label,.zoom-toolbar.zoom-toolbar--mobile-primary .mt-split__label{font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.zoom-toolbar.zoom-toolbar--mobile-primary .mt-caret{display:none}.zoom-toolbar.zoom-toolbar--mobile-primary [data-menu=audio] .mt-caret,.zoom-toolbar.zoom-toolbar--mobile-primary [data-menu=video] .mt-caret{display:inline-flex;width:14px;height:18px;left:calc(100% - 1px);opacity:.88;color:#d4d4d4}.zoom-toolbar.zoom-toolbar--mobile-primary [data-menu=audio] .mt-caret svg,.zoom-toolbar.zoom-toolbar--mobile-primary [data-menu=video] .mt-caret svg{width:8px;height:5px}.zoom-toolbar.zoom-toolbar--mobile-primary.zoom-toolbar--no-av{gap:0;justify-content:space-evenly}.meeting-leave-top{position:absolute;top:0;right:max(8px,env(safe-area-inset-right,0px));height:var(--topbar-h, 40px);display:inline-flex;align-items:center;z-index:1200;pointer-events:auto;box-sizing:border-box}.meeting-leave-top__btn{display:inline-flex;align-items:center;justify-content:center;height:28px;min-height:28px;min-width:64px;padding:0 12px;border:none;border-radius:7px;background:#e02828;color:#fff;font-size:.8125rem;font-weight:600;letter-spacing:.01em;line-height:1;cursor:pointer;box-shadow:0 1px 4px #00000059}.meeting-leave-top__btn:hover:not(:disabled){filter:brightness(1.06)}.meeting-leave-top__btn:disabled{opacity:.55;cursor:not-allowed}.meeting-leave-top .mt-split--end{position:relative;min-width:0;padding:0;background:#e02828;border-radius:7px;color:#fff;height:28px;min-height:28px;min-width:64px;padding-inline:12px;justify-content:center;align-items:center;flex-direction:row;gap:0}.meeting-leave-top .mt-split--end .mt-split__top{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:stretch;justify-content:stretch}.meeting-leave-top .mt-split--end .mt-split__primary{flex:1 1 auto;width:100%;height:100%;opacity:0}.meeting-leave-top .mt-split--end .mt-split__icon{display:none}.meeting-leave-top .mt-split--end .mt-split__label{position:relative;z-index:0;pointer-events:none;margin-top:0;color:#fff;font-size:.875rem;font-weight:600;width:auto}.meeting-leave-top .mt-split--end .mt-caret{display:none}.meeting-leave-top .mt-split--end:hover{background:#c82222}.live-shell-inner.is-chrome-hidden .meeting-leave-top{opacity:0;pointer-events:none;transform:translateY(-110%);transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .22s ease}.mt-more-record-embed{padding:.35rem .5rem .5rem}.mt-more-record-embed .recording-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem}.mt-more-grid--overflow .mt-more-record-embed{padding:0}.mt-more-grid--overflow .mt-more-record-embed .recording-controls{flex-wrap:nowrap;width:100%;justify-content:stretch}@media(max-width:720px){.mt-settings{width:min(100vw - 20px,440px);max-height:min(82dvh,560px)}.mt-settings__body{grid-template-columns:1fr;min-height:0}.mt-settings__nav{flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:.2rem;padding:.4rem .45rem;border-right:none;border-bottom:1px solid #333;overflow-x:auto}.mt-settings__nav button{flex:1 1 0;text-align:center;padding:.5rem .55rem;font-size:.86rem;font-weight:600;white-space:nowrap;min-height:36px}.mt-settings__nav button.is-active,.mt-settings__nav button:hover{background:#2d2d2d}.mt-settings__content{padding:.85rem .95rem 1rem;min-height:160px}.mt-settings--listen-only{width:min(100vw - 20px,400px);max-height:min(70dvh,420px)}.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:#ffffff14;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 #2d8cff38}.zoom-chat__body-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.zoom-chat__body{flex: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__jump-latest{position:absolute;left:50%;bottom:.65rem;transform:translate(-50%);z-index:2;border:0;border-radius:999px;padding:.35rem .85rem;font-size:.78rem;font-weight:600;color:#fff;background:#2d8cff;box-shadow:0 4px 14px #00000059;cursor:pointer}.zoom-chat__jump-latest:hover{background:#1f7aef}.zoom-chat__error{flex-shrink:0;margin:0;padding:.55rem .9rem;border-top:1px solid rgba(220,38,38,.28);background:#dc262624;color:#ffb4b4;font-size:.8rem;line-height:1.35}.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__sent-ok{font-size:.72rem;font-weight:600;color:#6fbf7a;flex-shrink:0}.zoom-chat__msg--reply{margin-left:.15rem}.zoom-chat__reply-tag{font-size:.68rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--zc-muted, #9a9a9a)}.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;overflow:hidden}.zoom-chat__avatar--photo{background:#2a2a2a;padding:0}.zoom-chat__avatar--photo img{width:100%;height:100%;object-fit:cover;display:block}.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;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__time,.zoom-chat__edited{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 #0006;width:30px;height:30px;box-sizing:border-box}.zoom-chat__msg-row:hover .zoom-chat__hover,.zoom-chat__hover.is-open,.zoom-chat__hover:focus-within{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:11.5rem;max-width:min(18rem,calc(100vw - 24px));max-height:min(70vh,420px);overflow:auto;background:#2a2a2a;border:1px solid #4a4a4a;border-radius:10px;padding:.3rem;z-index:50;box-shadow:0 10px 28px #00000073;box-sizing:border-box}.zoom-chat__more-pop.participants-menu{position:absolute;min-width:12rem}.zoom-chat__more-pop .participants-menu__section-label:first-child{margin-top:0;padding-top:.25rem}.zoom-chat__more-section{padding:.35rem .65rem .15rem;font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#ffffff6b;pointer-events:none}.zoom-chat__more-section+button{margin-top:0}.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__reactions,.zoom-chat__react-pop{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;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 #0e72ed73;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}.teacher-float-chat{--tfc-bg: #1d1f23;--tfc-border: #3a3e46;--tfc-text: #f3f4f6;position:fixed;z-index:1250;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--tfc-bg);color:var(--tfc-text);border:1px solid var(--tfc-border);border-radius:12px;box-shadow:0 12px 40px #00000073;contain:layout style;overflow:hidden}.teacher-float-chat.is-min{left:auto;top:auto;right:16px;bottom:calc(var(--toolbar-h, 72px) + 16px);width:auto;height:auto;border-radius:999px;overflow:visible}.live-main--teacher>.teacher-float-chat.is-dock,.teacher-float-chat.is-dock{position:relative;inset:auto;left:auto;top:auto;right:auto;bottom:auto;flex:0 0 var(--teacher-chat-dock-w, 360px);width:var(--teacher-chat-dock-w, 360px);max-width:var(--teacher-chat-dock-w, 360px);min-width:320px;height:auto;align-self:stretch;border-radius:0;border:none;border-left:1px solid var(--tfc-border);box-shadow:none;z-index:3;transition:width .24s cubic-bezier(.4,0,.2,1),flex-basis .24s cubic-bezier(.4,0,.2,1)}.teacher-float-chat.is-dock .teacher-float-chat__chrome{cursor:default}.teacher-float-chat.is-dock .teacher-float-chat__resize{display:none}.live-shell-inner.is-chrome-hidden .teacher-float-chat.is-min{bottom:calc(16px + env(safe-area-inset-bottom,0px))}.teacher-float-chat__launcher{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:0 .85rem 0 .7rem;border:0;background:#2d3036;color:var(--tfc-text);border-radius:999px;cursor:pointer;font:inherit;font-size:.88rem;font-weight:600}.teacher-float-chat__launcher:hover,.teacher-float-chat__launcher:focus-visible{background:#3a3e46;outline:2px solid #0e72ed;outline-offset:2px}.teacher-float-chat__launcher-icon{display:inline-flex;width:20px;height:20px}.teacher-float-chat__launcher-icon svg{width:20px;height:20px}.teacher-float-chat__badge{min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:#e02828;color:#fff;font-size:.7rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}.teacher-float-chat.is-popped{display:inline-flex;align-items:center;gap:.35rem;padding-right:.35rem}.teacher-float-chat__dock{min-height:36px;padding:0 .7rem;border:0;border-radius:999px;background:#3a3e46;color:#f3f4f6;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.teacher-float-chat__dock:hover,.teacher-float-chat__dock:focus-visible{background:#4b5160}.teacher-float-chat.is-ping .teacher-float-chat__launcher{box-shadow:0 0 #0e72ed8c;animation:teacher-float-chat-ping 1.2s ease 2}@keyframes teacher-float-chat-ping{0%{box-shadow:0 0 #0e72ed80}70%{box-shadow:0 0 0 10px #0e72ed00}to{box-shadow:0 0 #0e72ed00}}.teacher-float-chat__chrome{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:44px;padding:.35rem .45rem .35rem .85rem;background:#25272c;border-bottom:1px solid var(--tfc-border);cursor:grab;touch-action:none;flex-shrink:0;-webkit-user-select:none;user-select:none}.teacher-float-chat__chrome:active{cursor:grabbing}.teacher-float-chat__title{font-size:.92rem;font-weight:650}.teacher-float-chat__chrome-actions{display:inline-flex;align-items:center;gap:.15rem}.teacher-float-chat__icon-btn{width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#cfcfcf;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.teacher-float-chat__icon-btn:hover,.teacher-float-chat__icon-btn:focus-visible{background:#ffffff14;color:#fff;outline:none}.teacher-float-chat__tools{flex-shrink:0;padding:.35rem .75rem;border-bottom:1px solid #2a2c31}.teacher-float-chat__tools[hidden]{display:none}.teacher-float-chat__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.teacher-float-chat__body[hidden]{display:none}.teacher-float-chat__body .zoom-chat{height:100%}.teacher-float-chat__resize{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;touch-action:none}.teacher-float-chat__resize:after{content:"";position:absolute;right:4px;bottom:4px;width:8px;height:8px;border-right:2px solid #6b7280;border-bottom:2px solid #6b7280}.teacher-float-chat__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1240;border:0;background:#00000059;cursor:pointer}.teacher-float-chat.is-sheet:not(.is-min){left:0!important;right:0;top:auto!important;bottom:0;width:100%!important;height:min(70dvh,540px)!important;border-radius:16px 16px 0 0;border-left:0;border-right:0;border-bottom:0}.teacher-float-chat.is-sheet.is-min{right:16px;left:auto;bottom:calc(var(--toolbar-h, 68px) + 12px)}.teacher-float-chat.is-sheet .teacher-float-chat__chrome{cursor:default}@media(prefers-reduced-motion:reduce){.teacher-float-chat.is-ping .teacher-float-chat__launcher{animation:none}.live-main.live-main--teacher{transition:none}}:root{--color-teal: #0d9488;--shadow-admin-card: 0 1px 3px rgba(16, 24, 40, .06)}@keyframes admin-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes admin-pulse-num{0%{background:#0e71eb2e}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 #ef444480;animation:admin-live-pulse 1.4s ease infinite}.dash-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));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 #10182814}.dash-stat-card--link{text-decoration:none;color:inherit;display:block;cursor:pointer}.dash-stat-card--warn{border-color:#f5a62373;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:#0e71eb1a}.dash-stat-card__icon--teachers{color:var(--color-teal);background:#0d94881f}.dash-stat-card__icon--classes{color:#7c3aed;background:#7c3aed1a}.dash-stat-card__icon--attend{color:var(--color-success);background:#0e7a371a}.dash-stat-card__icon--alerts{color:#b45309;background:#f5a62329}.dash-stat-card__icon--cpu{color:#0369a1;background:#0369a11a}.dash-stat-card__icon--live{color:#be123c;background:#be123c1a}.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;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));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:#0e71eb47;box-shadow:0 8px 20px #10182814}.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 #0e71eb2e}.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:#0e71eb0a}.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:#0e7a371f;color:var(--color-success)}.admin-status-pill--ok:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.admin-status-pill--warn{background:#f5a6232e;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__toolbar,.admin-skeleton__row{border-radius:var(--radius-md);background:linear-gradient(90deg,#eceef2 25%,#f7f8fa,#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,#ef44440f,#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:#0e71eb1a;border-radius:var(--radius-pill);padding:.15rem .55rem}.status-pill--live{background:#ef44441f;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:#0e71eb38}.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:#0d94881a;color:var(--color-teal);font-size:.75rem;font-weight:700}.infra-topo__edges{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));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;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(to bottom,#f59e0b 0 6px,transparent 6px 10px)}.infra-topo__line.is-down .infra-topo__line-stem{background:repeating-linear-gradient(to bottom,#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:not(.dash-layout--learner){grid-template-columns:72px 1fr}.dash-layout:not(.dash-layout--learner) .app-sidebar__label,.dash-layout:not(.dash-layout--learner) .app-sidebar__user-text{display:none}.dash-layout:not(.dash-layout--learner) .app-sidebar__brand{display:flex;align-items:center;justify-content:center;width:100%;padding:.4rem .25rem .65rem;margin-bottom:.5rem}.dash-layout:not(.dash-layout--learner) .app-sidebar__brand .brand-mark__product{display:none}.dash-layout:not(.dash-layout--learner) .app-sidebar__brand .brand-mark__logo{height:16px;max-width:44px}.dash-layout:not(.dash-layout--learner) .app-sidebar{padding:.75rem .4rem;align-items:center}.dash-layout:not(.dash-layout--learner) .app-sidebar__item{justify-content:center;padding:0;width:44px;margin:0 auto}.dash-layout:not(.dash-layout--learner) .app-sidebar__avatar{margin:0 auto}.dash-layout:not(.dash-layout--learner) .app-sidebar__user{justify-content:center;padding:.35rem}.dash-layout:not(.dash-layout--learner) .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:#dc262647;box-shadow:0 0 0 1px #dc26261f,0 8px 24px #0e71eb14;background:linear-gradient(180deg,#fff,#fff8f8)}.class-card--prominent.class-card--scheduled{border-color:#0e71eb47;background:linear-gradient(180deg,#fff,#f5f9ff);box-shadow:0 0 0 1px #0e71eb1a,0 8px 24px #0e71eb14}.teacher-reports-filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end;margin-bottom:1.25rem;padding:.85rem 1rem;background:#fff;border:1px solid rgba(16,24,40,.06);border-radius:var(--radius-md);width:100%;box-sizing:border-box;min-width:0}.teacher-reports-filters input[type=search]{flex:1 1 16rem;min-width:min(100%,12rem);min-height:40px;padding:.5rem .75rem;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font:inherit;box-sizing:border-box}.teacher-reports-filters label{display:flex;flex-direction:column;gap:.25rem;flex:0 0 auto;font-size:.75rem;font-weight:600;color:var(--color-text-secondary-light)}.teacher-reports-filters input[type=date]{min-height:40px;min-width:9.5rem;padding:.4rem .6rem;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font:inherit;box-sizing:border-box}.class-card-list{width:100%;min-width:0}.teacher-report-metrics{display:inline-block;margin-top:.2rem;color:var(--color-text-secondary-light);font-size:.82rem}.teacher-schedule-form{max-width:720px;margin-top:0;width:100%}.teacher-schedule-form select{width:100%;min-height:46px;padding:.65rem .85rem;border-radius:12px;border:1px solid #e2e8f0;background:#fff;font:inherit;font-size:.95rem;color:#0f172a}.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(--td-purple-mid, #7c3aed)}.teacher-schedule-form .sched-field{margin-top:1.15rem}.teacher-schedule-form .sched-field>label{margin-top:0;display:block;font-size:.875rem;font-weight:650;color:#0f172a;margin-bottom:.45rem}.teacher-schedule-form .sched-field input[type=text],.teacher-schedule-form .sched-field input[type=number],.teacher-schedule-form .sched-field input[type=datetime-local],.teacher-schedule-form .sched-field input:not([type]){width:100%;min-height:46px;padding:.65rem .85rem;border-radius:12px;border:1px solid #e2e8f0;background:#fff;font:inherit;font-size:.95rem;box-sizing:border-box}.teacher-schedule-form .field-hint{margin:.4rem 0 0;font-size:.8rem;line-height:1.4;color:#64748b;font-weight:500}.sched-courses__list{display:flex;flex-wrap:wrap;gap:.5rem;max-height:240px;overflow:auto;padding:.1rem}.admin-form .sched-courses__item,.teacher-schedule-form .sched-courses__item,.adm-classes__field-block .sched-courses__item,.sched-courses__item{position:relative;display:inline-flex;align-items:center;gap:.45rem;width:auto;max-width:100%;margin:0;padding:.42rem .8rem .42rem .48rem;border:1.5px solid #dbe3ee;border-radius:10px;background:#fff;color:#0f172a;font-size:.875rem;font-weight:650;line-height:1.2;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:none;transition:border-color .12s ease,background-color .12s ease,color .12s ease,box-shadow .12s ease}.sched-courses__item:hover:not(.is-checked){border-color:#c4b5fd;background:#faf8ff}.sched-courses__item.is-checked:hover{border-color:#6d28d9;background:#6d28d9}.admin-form .sched-courses__item.is-checked,.teacher-schedule-form .sched-courses__item.is-checked,.adm-classes__field-block .sched-courses__item.is-checked,.sched-courses__item.is-checked{border-color:#7c3aed;background:#7c3aed;color:#fff;box-shadow:0 6px 14px #7c3aed38}.sched-courses__item:has(input:focus-visible){box-shadow:0 0 0 3px #7c3aed47}.admin-form .sched-courses__item input,.admin-form .sched-courses__item input[type=checkbox],.teacher-schedule-form .sched-courses__item input,.teacher-schedule-form .sched-courses__item input[type=checkbox],.adm-classes__field-block .sched-courses__item input,.adm-classes__field-block .sched-courses__item input[type=checkbox],.sched-courses__item input{position:absolute;opacity:0;width:1px;min-width:0;height:1px;min-height:0;padding:0;margin:0;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;box-shadow:none}.sched-courses__tick{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;border:1.5px solid #94a3b8;background:#fff;color:transparent}.sched-courses__tick svg{width:11px;height:11px;display:block}.sched-courses__item.is-checked .sched-courses__tick{border-color:#fff;background:#fff;color:#7c3aed}.sched-courses__name{min-width:0;font-size:inherit;font-weight:inherit;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sched-optional{font-weight:400;color:var(--color-text-secondary-light);font-size:.8rem}.sched-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1.1rem;margin-top:.15rem}@media(max-width:640px){.sched-row{grid-template-columns:1fr}}.sched-audience{margin:0 0 .25rem;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;gap:.85rem}@media(max-width:640px){.sched-audience__grid{grid-template-columns:1fr}}.sched-audience__card{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;text-align:left;width:100%;min-height:118px;padding:1rem 1.05rem;border-radius:14px;border:1.5px solid #e2e8f0;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:color-mix(in srgb,var(--td-purple-mid, #7c3aed) 45%,#94a3b8)}.sched-audience__card.is-active{border-color:var(--td-purple-mid, #7c3aed);background:color-mix(in srgb,var(--td-purple-mid, #7c3aed) 7%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--td-purple-mid, #7c3aed) 16%,transparent)}.sched-audience__card:disabled{opacity:.55;cursor:not-allowed}.sched-audience__ico-wrap{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#f1f5f9;color:#475569;margin-bottom:.15rem}.sched-audience__card.is-active .sched-audience__ico-wrap{background:color-mix(in srgb,var(--td-purple-mid, #7c3aed) 14%,#fff);color:var(--td-purple-mid, #7c3aed)}.sched-audience__ico{width:18px;height:18px;display:block}.sched-audience__title{font-size:.98rem;font-weight:700;color:#0f172a;letter-spacing:-.01em}.sched-audience__desc{font-size:.8rem;line-height:1.45;color:#64748b;font-weight:500}.sched-empty{padding:.9rem 1rem;border-radius:12px;border:1px dashed #e2e8f0;background:#f8fafc}.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:1rem;padding:.75rem .95rem;border-radius:12px;background:color-mix(in srgb,var(--td-purple-mid, #7c3aed) 8%,#fff);border:1px solid color-mix(in srgb,var(--td-purple-mid, #7c3aed) 22%,#e2e8f0);color:#4c1d95;font-size:.84rem;line-height:1.45;font-weight:500}.sched-actions{margin-top:1.5rem;padding-top:1.15rem;border-top:1px solid #eef2f7;display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus,.teacher-schedule-form input:focus,.teacher-schedule-form textarea:focus,.teacher-schedule-form select:focus{outline:none;border-color:var(--td-purple-mid, #7c3aed);box-shadow:0 0 0 3px color-mix(in srgb,var(--td-purple-mid, #7c3aed) 18%,transparent)}.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;overflow-wrap:anywhere;word-break:break-word}.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;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:#b91c1c59}.health-class-card--amber{border-color:#b453094d}.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 th,.health-student-table td{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--relay,.health-diagnosis--origin,.health-diagnosis--edge{border-color:#b91c1c40;background:#fef2f2}.health-diagnosis--teacher{border-color:#b453094d;background:#fffbeb}.health-diagnosis--student{border-color:#2563eb40;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));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:#15803d40;background:#f0fdf4}.ops-metric-cell--warn{border-color:#b453094d;background:#fffbeb}.ops-metric-cell--crit{border-color:#b91c1c4d;background:#fef2f2}.ops-platform-panel,.ops-host-card,.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));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, .1);--sev-warning: #d97706;--sev-warning-bg: rgba(217, 119, 6, .12);--sev-critical: #dc2626;--sev-critical-bg: rgba(220, 38, 38, .1);--sev-info: #2563eb;--sev-info-bg: rgba(37, 99, 235, .1);--ops-bg-0: #f4f6fb;--ops-bg-1: #ffffff;--ops-bg-2: #f8fafc;--ops-border: rgba(15, 23, 42, .08);--ops-text: #0f172a;--ops-muted: #64748b;--ops-primary: #4f46e5;--ops-primary-soft: rgba(79, 70, 229, .1);--ops-violet: #7c3aed;--ops-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .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{background:#fff;border-right:1px solid var(--ops-border);box-shadow:1px 0 #fff9}.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);font-weight:750;letter-spacing:-.03em;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:#4f46e50f;color:var(--ops-text)}.dash-layout--ops-theme .app-sidebar__item.is-active{background:var(--ops-primary-soft);color:var(--ops-primary);font-weight:650}.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;color:#94a3b8}.dash-layout--ops-theme .app-sidebar__user-text strong{color:var(--ops-text)}.dash-layout--ops-theme .app-sidebar__user-text span,.dash-layout--ops-theme .admin-muted,.dash-layout--ops-theme .dash-page-header__sub,.dash-layout--ops-theme .ops-page-header__sub{color:var(--ops-muted)}.dash-layout--ops-theme .dash-page-header h1,.dash-layout--ops-theme .ops-page-header h1,.dash-layout--ops-theme .admin-section-title{color:var(--ops-text);letter-spacing:-.03em}.dash-layout--ops-theme .infra-banner,.dash-layout--ops-theme .infra-headline-card,.dash-layout--ops-theme .ops-host-card,.dash-layout--ops-theme .ops-platform-panel,.dash-layout--ops-theme .infra-node,.dash-layout--ops-theme .health-class-card,.dash-layout--ops-theme .ops-status-hero,.dash-layout--ops-theme .ops-metric-cell,.dash-layout--ops-theme .attendance-table-wrap,.dash-layout--ops-theme .infra-log,.dash-layout--ops-theme .infra-settings-form,.dash-layout--ops-theme .health-alert-feed,.dash-layout--ops-theme .dash-stat-card{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:#4f46e50f}.dash-layout--ops-theme .btn--ghost{color:var(--ops-muted)}.dash-layout--ops-theme .error-banner--light{background:var(--sev-critical-bg);border-color:#dc262640;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:#dc262614;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 #ef444480;animation:admin-live-pulse 1.4s ease infinite}.ops-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));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 #0f172a14}.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__trend--flat{color:var(--ops-muted)}.ops-kpi-card__sub{margin:0;font-size:.72rem;color:var(--ops-muted)}.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));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;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:#4f46e559;box-shadow:0 8px 22px #0f172a14}.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));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:#4f46e547}.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;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){.ops-live-pill__dot,.btn--live-cta .live-badge__dot{animation:none}}.ops-status-hero{border:1px solid var(--ops-border, rgba(15, 23, 42, .08));border-radius:12px;padding:1rem 1.15rem;margin-bottom:1rem;background:#fff;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;gap:.65rem;align-items:start;padding:.55rem .65rem;border-radius:8px;background:#94a3b80f;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:#0e71eb1f}.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:#dc262640}.ops-rca--warning{background:var(--sev-warning-bg);border-color:#d9770640}.ops-rca--ok{background:var(--sev-ok-bg);border-color:#16a34a40}.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:#0f172a0f;font-family:var(--font-mono)}.dash-layout--ops-theme .ops-evidence-chip{background:#94a3b81f}.ops-rca__actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem}.ops-drawer-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;justify-content:flex-end}.ops-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#0206178c;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 #00000040;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}.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:#0e71eb1a;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);gap:1rem;align-items:start}.ops-split__list{min-width:0}.ops-split__detail{position:sticky;top:.75rem;max-height:calc(100vh - 2rem);overflow:auto}.ops-charts{display:grid;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:#94a3b80a}.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:#0e71eb26;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}.learner-topbar{display:none;--learner-topbar-h: 3.5rem;box-sizing:border-box;position:sticky;top:0;z-index:55;width:100%;min-height:var(--learner-topbar-h);padding:max(.5rem,env(safe-area-inset-top,0px)) max(.85rem,env(safe-area-inset-right,0px)) .55rem max(.85rem,env(safe-area-inset-left,0px));align-items:center;gap:.75rem;background:#fffffff0;backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px);border-bottom:1px solid rgba(15,23,42,.08)}.learner-topbar__brand{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:flex-start}.learner-topbar__brand .brand-mark-link{display:flex;align-items:center;min-width:0;text-decoration:none;color:inherit}.learner-topbar__brand .brand-mark{flex-direction:row;align-items:center;gap:.4rem}.learner-topbar__brand .brand-mark__logo{height:30px;width:auto;max-width:150px;aspect-ratio:75 / 26}.learner-topbar__brand .brand-mark__product{font-size:.65rem;letter-spacing:.08em}.learner-tabbar{display:none;--learner-tabbar-h: 3.65rem;box-sizing:border-box;position:fixed;left:0;right:0;bottom:0;z-index:55;padding:0 max(.35rem,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(.35rem,env(safe-area-inset-left,0px));background:#fffffff5;backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px);border-top:1px solid rgba(15,23,42,.08);box-shadow:0 -4px 18px #0f172a0d}.learner-tabbar__inner{display:flex;align-items:stretch;justify-content:space-around;max-width:32rem;margin:0 auto;min-height:var(--learner-tabbar-h);gap:.15rem}.learner-tabbar__item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.4rem .25rem .45rem;border-radius:.65rem;text-decoration:none;color:#64748b;font-size:.6875rem;font-weight:600;letter-spacing:.01em;transition:color .15s ease,background .15s ease;-webkit-tap-highlight-color:transparent}.learner-tabbar__item:active{background:#0e71eb0f}.learner-tabbar__item:focus-visible{outline:2px solid var(--color-primary, #0e71eb);outline-offset:-2px}.learner-tabbar__icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;color:inherit}.learner-tabbar__icon svg{width:1.35rem;height:1.35rem}.learner-tabbar__label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.15;font-size:.625rem;letter-spacing:.01em}@media(min-width:380px){.learner-tabbar__label{font-size:.6875rem}}.learner-tabbar__item.is-active,.learner-tabbar__item.is-active .learner-tabbar__icon{color:var(--color-primary, #0e71eb)}.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;top:0;right:0;bottom:0;left: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 #00000059;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:#0e71eb1f}.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;top:max(.75rem,env(safe-area-inset-top,0px));left:max(.75rem,env(safe-area-inset-left,0px));box-shadow:0 2px 10px #0f172a1f}.dash-layout.is-nav-open .ops-nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;border:none;background:#02061780}.dash-layout{grid-template-columns:1fr}.dash-layout .app-sidebar{position:fixed;inset:0 auto 0 0;width:min(18rem,86vw);max-width:calc(100vw - 2.5rem);transform:translate3d(-110%,0,0);transition:transform .18s var(--ease-standard);z-index:50;height:100dvh;height:100svh;padding-top:max(1.25rem,env(safe-area-inset-top,0px));padding-bottom:max(1rem,env(safe-area-inset-bottom,0px));pointer-events:none;visibility:hidden}.dash-layout.is-nav-open .app-sidebar{transform:translateZ(0);pointer-events:auto;visibility:visible}.dash-layout .app-sidebar__label,.dash-layout .app-sidebar__user-text,.dash-layout .app-sidebar__brand{display:block!important;font-size:revert}.dash-layout .app-sidebar__brand .brand-mark__product{display:block!important}.dash-layout__main{padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px));min-width:0;max-width:100%;width:100%}.ops-servers-table th:nth-child(n+6),.ops-servers-table td:nth-child(n+6){display:none}.dash-layout--learner{--learner-topbar-h: 3.5rem;--learner-tabbar-h: 3.65rem;display:flex;flex-direction:column;overflow-x:clip;width:100%;min-height:100dvh;min-height:100svh}.dash-layout--learner .ops-nav-toggle{display:none!important}.dash-layout--learner .learner-topbar{display:flex;flex-shrink:0}.dash-layout--learner .learner-tabbar{display:block}.dash-layout--learner .app-sidebar{display:none!important;visibility:hidden!important;pointer-events:none!important}.dash-layout--learner .dash-layout__main{flex:1 1 auto;width:100%;max-width:100%;min-width:0;margin:0 auto;box-sizing:border-box;padding-top:.85rem;padding-right:max(1rem,env(safe-area-inset-right,0px));padding-left:max(1rem,env(safe-area-inset-left,0px));padding-bottom:calc(var(--learner-tabbar-h) + env(safe-area-inset-bottom,0px) + .85rem);overflow-x:clip}.dash-layout--learner .attendance-report,.dash-layout--learner .dash-page-body{min-width:0;max-width:100%}.dash-layout--learner:not(.is-nav-open) .ops-nav-scrim{display:none!important}}@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:#f59e0b73}.ops-hint--crit{border-color:#ef444480}.ops-topo-flow{display:flex;flex-direction:column;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:#94a3b81f;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 th,.ops-live-table td{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:#4f46e50a}.ops-live-table tr.is-selected td{background:#4f46e514}.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}.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));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));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));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:#4f46e50f;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:#4f46e559}.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 #0f172a1f;font-size:.88rem;color:var(--ops-fg, #0f172a)}.ops-toast--ok{border-color:#16a34a59;background:#f0fdf4}.ops-toast--warn{border-color:#d9770659;background:#fffbeb}.ops-toast--error{border-color:#dc262659;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;gap:.65rem;align-items:center}.ops-analytics-row__day{font-size:.78rem;color:var(--ops-muted);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-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:#16a34a47;background:#f0fdf4}.ops-status-banner--warning{border-color:#d977064d;background:#fffbeb}.ops-status-banner--critical{border-color:#dc26264d;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);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{display:flex;justify-content:space-between;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));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));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;gap:.55rem;align-items:start;text-decoration:none;color:inherit;padding:.45rem .35rem;border-radius:8px}.ops-panel-list a:hover{background:#4f46e50f}.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 th,.ops-compact-table td{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 th:nth-child(1),.ops-compact-table td:nth-child(1){width:5.5rem}.ops-compact-table th:nth-child(3),.ops-compact-table td:nth-child(3){width:7.5rem}.ops-compact-table th:nth-child(4),.ops-compact-table td: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:#dc262640}.ops-alert-summary__warning{background:#fffbeb;border-color:#d9770640}.ops-alert-summary__info{background:#eff6ff;border-color:#2563eb38}.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));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:#4f46e559}.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-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;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-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-topbar__action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.35rem .8rem;border:none;border-radius:8px;background:#f1f5f9;color:#475569;font:inherit;font-size:.8rem;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:background .15s ease,color .15s ease}.ops-topbar__action:hover{background:#e2e8f0;color:#0f172a}.ops-topbar__action.is-active{background:#0e71eb1f;color:#0e71eb}.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:#16a34a1f}.ops-sparkline--info path{stroke:#2563eb}.ops-sparkline--info .ops-sparkline__area{fill:#2563eb1f}.ops-sparkline--accent path{stroke:#4f46e5}.ops-sparkline--accent .ops-sparkline__area{fill:#4f46e51f}.ops-sparkline--warn path{stroke:#d97706}.ops-sparkline--warn .ops-sparkline__area{fill:#d977061f}.ops-sparkline--critical path{stroke:#dc2626}.ops-sparkline--critical .ops-sparkline__area{fill:#dc26261f}.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));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{display:grid;grid-template-columns:148px minmax(0,1fr);gap:1rem;align-items:stretch}@media(max-width:900px){.ops-topo-layout,.ops-resource-charts--cols{grid-template-columns:1fr}}.ops-topo-side-legend{list-style:none;margin:0;padding:.35rem .85rem .35rem 0;display:flex;flex-direction:column;gap:.7rem;border-right:1px solid var(--ops-border)}.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 #2563eb26}.ops-topo-side-legend__icon--origin{background:#eff6ff;box-shadow:inset 0 0 0 1px #2563eb33}.ops-topo-side-legend__icon--relay{background:#f5f3ff;box-shadow:inset 0 0 0 1px #7c3aed33}.ops-topo-side-legend__icon--edge{background:#ecfdf5;box-shadow:inset 0 0 0 1px #10b98140}.ops-topo-side-legend__icon--turn{background:#fff7ed;box-shadow:inset 0 0 0 1px #ea580c33}.ops-topo-side-legend__icon--manager{background:#f8fafc;box-shadow:inset 0 0 0 1px #64748b40}.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;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));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;color:inherit;box-shadow:0 4px 14px #0f172a0d}.ops-topo-node--teacher{border-color:#2563eb59;max-width:118px}.ops-topo-node--origin{border-color:#2563eb73;max-width:160px}.ops-topo-node--relay{border-color:#7c3aed66;max-width:130px}.ops-topo-node--edge{border-color:#10b98166;max-width:148px}.ops-topo-node--students{border-color:#7c3aed59;max-width:130px}.ops-topo-node--ok{border-color:#16a34a73}.ops-topo-node--warning{border-color:#d9770680}.ops-topo-node--critical{border-color:#dc262680}.ops-topo-node__role{font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ops-muted)}.ops-topo-node__title{font-size:.78rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-topo-node__detail{font-size:.7rem;color:var(--ops-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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;background:#eff6ff;color:#2563eb;margin-bottom:.2rem}.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__spine,.ops-topo-branch__fan,.ops-topo-branch__edge-col{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;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:nth-child(1){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, .04), 0 8px 24px rgba(15, 23, 42, .035)}.dash-layout--ops-theme .dash-layout__main{padding:1rem 1.5rem 2rem;background:transparent}.dash-layout--ops-theme .app-sidebar{background:#fff;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 #2563eb40}.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:#fff;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 #0f172a0a,0 8px 20px #0f172a08;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--info,.dash-layout--ops-theme .ops-kpi-card__value--accent,.dash-layout--ops-theme .ops-kpi-card__value--default{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 #0f172a0a;background:#fff}.dash-layout--ops-theme .ops-topo-flow__line,.dash-layout--ops-theme .ops-topo-flow__stem,.dash-layout--ops-theme .ops-topo-flow__drop{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-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));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-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}.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));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-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{fill:#94a3b8;font-size:8px;font-family:var(--font-ops-sans, var(--font-sans))}.ops-res-chart__empty{fill:#94a3b8;font-size:10px;font-family:var(--font-ops-sans, var(--font-sans))}.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{align-items:center}.ops-topo-title{display:flex;align-items:center;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);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));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 #0f172a0a;text-decoration:none;color:inherit}.ops-topo-card--teacher,.ops-topo-card--students{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--teacher,.ops-topo-card__glyph--students{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, .05);--noc-shadow-hover: 0 15px 45px rgba(15, 23, 42, .1);--noc-ease: .15s 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 *:before,.ops-noc-page *:after{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:#2563eb14;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-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,#fff,#f3f7ff 55%,#eef4ff);box-shadow:var(--noc-shadow);padding:24px 28px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}.ops-noc-hero__top{display:flex;align-items:flex-start;justify-content:space-between;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 #22c55e73;animation:ops-noc-pulse 1.8s ease infinite}.ops-noc-hero__pulse.is-warn{background:var(--noc-warn);box-shadow:0 0 #f59e0b73}.ops-noc-hero__pulse.is-crit{background:var(--noc-crit);box-shadow:0 0 #ef444473}.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));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-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));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,#fff,#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:#22c55e1f;color:var(--noc-ok);flex-shrink:0}.ops-noc-status-card--system.is-warn{background:linear-gradient(135deg,#fff,#fffbeb)}.ops-noc-status-card--system.is-warn .ops-noc-status-card__sys-icon{background:#f59e0b24;color:var(--noc-warn)}.ops-noc-status-card--system.is-crit{background:linear-gradient(135deg,#fff,#fef2f2)}.ops-noc-status-card--system.is-crit .ops-noc-status-card__sys-icon{background:#ef44441f;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);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 #2563eb1f,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;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-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;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-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-running,.ops-noc-edge-list__icon.is-ready{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-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-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}.ops-noc-dist__chart{position:relative;width:148px;height:148px}.ops-noc-dist__center{position:absolute;top:0;right:0;bottom:0;left: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-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;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-variant-numeric:tabular-nums}.ops-noc-dist__empty{flex: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;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;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;overflow:auto;max-height:260px}.ops-noc-qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex: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:disabled,.ops-noc-qa.is-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:#16a34a0f;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 #9ca3af73;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 #16a34a73}.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 #f59e0b73}.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 #dc262673}.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);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));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 #2563eb1f,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;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-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: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;font-size:13px;font-weight:500;color:var(--noc-muted)}.ops-noc-detail__empty{margin:0;padding:32px 8px;text-align:center;font-size:13px;font-weight:500;color:var(--noc-muted)}.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));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;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));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-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:fit-content}.ops-noc-badge--ok,.ops-noc-badge--running,.ops-noc-badge--ready{color:var(--noc-ok);background:#16a34a1a}.ops-noc-badge--warn,.ops-noc-badge--provisioning,.ops-noc-badge--draining{color:#b45309;background:#f59e0b1f}.ops-noc-badge--crit,.ops-noc-badge--offline,.ops-noc-badge--full{color:var(--noc-crit);background:#dc26261a}.ops-noc-badge--info,.ops-noc-badge--unknown{color:#4b5563;background:#6b72801f}.ops-noc-badge--primary{color:var(--noc-primary);background:#2563eb1a}.ops-noc-badge--purple{color:var(--noc-purple);background:#7c3aed1a}.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));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-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:#16a34a1a}.ops-noc-autoscale__mode.is-paused{color:var(--noc-warn);background:#f59e0b1f}.ops-noc-autoscale__mode.is-stopped{color:var(--noc-crit);background:#dc26261a}.ops-noc-donut{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);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;top:0;right:0;bottom:0;left: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));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-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 #2563eb1f}.ops-noc-search__icon{display:grid;place-items:center;color:var(--noc-muted)}.ops-noc-search input{flex: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: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:hover,.ops-noc-th-sort.is-active{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-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: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-variant-numeric:tabular-nums}.ops-noc-table tbody tr{transition:background var(--noc-ease);cursor:pointer}.ops-noc-table tbody tr:hover{background:#2563eb08}.ops-noc-table tbody tr:last-child td{border-bottom:none}.ops-noc-table tbody tr.is-selected{background:#2563eb0f}.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));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:disabled,.ops-noc-actions__card.is-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:#2563eb14;color:var(--noc-primary)}.ops-noc-actions__icon--warn{background:#f59e0b1f;color:#b45309}.ops-noc-actions__icon--crit{background:#dc26261a;color:var(--noc-crit)}.ops-noc-actions__icon--purple{background:#7c3aed1a;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;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.is-crit .ops-noc-incidents__marker,.ops-noc-incidents__item--crit .ops-noc-incidents__marker{background:var(--noc-crit)}.ops-noc-incidents__item.is-warn .ops-noc-incidents__marker,.ops-noc-incidents__item--warn .ops-noc-incidents__marker{background:var(--noc-warn)}.ops-noc-incidents__item.is-ok .ops-noc-incidents__marker,.ops-noc-incidents__item--resolved .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;font-size:12px;font-weight:500;color:var(--noc-muted)}.ops-noc-incidents__time{font-size:12px;font-weight:500;color:var(--noc-muted);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 #1118270a}.ops-noc-alerts__item.is-crit,.ops-noc-alerts__item--crit{border-left:3px solid var(--noc-crit)}.ops-noc-alerts__item.is-warn,.ops-noc-alerts__item--warn{border-left:3px solid var(--noc-warn)}.ops-noc-alerts__item.is-info,.ops-noc-alerts__item--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,#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-page svg.ops-noc-icon,.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{grid-template-columns:1fr}.ops-noc-donut{grid-template-columns:1fr;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-status-row,.ops-noc-status-row--5,.ops-noc-inv-row,.ops-noc-server-grid{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-detail__actions,.ops-noc-actions__card[data-write],.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-status-card__dot,.ops-noc-skeleton{animation:none}.ops-noc-status-card,.ops-noc-server-card,.ops-noc-actions__card,.ops-noc-progress__bar{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:#22c55e40}.ops-topo-chip.is-warn{background:#fffbeb;border-color:#f59e0b4d}.ops-topo-chip.is-crit{background:#fef2f2;border-color:#ef444440}.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));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-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);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:hover,.ops-topo-node.is-selected{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb1a;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-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: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;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-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, .04), 0 8px 24px rgba(15, 23, 42, .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);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;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--ok,.topo-mock-dot--warn,.topo-mock-dot--crit,.topo-mock-dot--muted,.topo-mock-dot--info,.topo-mock-dot--purple,.topo-mock-dot--orange{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--warn,.topo-mock-dot--orange{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-badge--crit{background:#fee2e2;color:#b91c1c}.topo-mock-badge--muted,.topo-mock-badge--unknown{background:#f1f5f9;color:#64748b}.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;top:0;right:0;bottom:0;left: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-card__head h3,.topo-mock-summary__title,.topo-mock-canvas__title,.topo-mock-inspector h2,.topo-mock-inspector h3{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 0;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-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 #f59e0b1f;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-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;gap:6px;font-size:11px;color:var(--tm-secondary)}.topo-mock-node__pool-list strong{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__line,.topo-mock-conn__chevron{display:none}.topo-mock-inspector{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;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;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;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;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-variant-numeric:tabular-nums}.topo-mock-inspector__actions{display:grid;grid-template-columns:1fr 1fr;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__qa h3,.topo-mock-inspector__alerts h3,.topo-mock-inspector__active h3{font-size:12px;margin-bottom:8px}.topo-mock-inspector__qa-row{display:grid;grid-template-columns:repeat(4,1fr);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;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);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-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;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-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;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-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-variant-numeric:tabular-nums}.topo-mock-students__body{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(110px,.7fr);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;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-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);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-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--warn,.topo-mock-timeline__dot.topo-mock-dot--orange{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;gap:8px}.topo-mock-qa__item{display:grid;grid-template-columns:28px minmax(0,1fr) 14px;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-crit-soft: #fee2e2;--rm-muted-soft: #f1f5f9;--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, .04), 0 8px 24px rgba(15, 23, 42, .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);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;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--crit{background:var(--rm-crit-soft);color:var(--rm-crit)}.relay-mock-badge--warn{background:var(--rm-warn-soft);color:#b45309}.relay-mock-badge--muted{background:var(--rm-muted-soft);color:var(--rm-muted)}.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{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--rm-secondary);font-weight:500}.relay-mock-refresh__btn{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--rm-border);background:#fff;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.relay-mock-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));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-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__status--muted,.relay-mock-node__status--info{color:var(--rm-secondary)}.relay-mock-node__metric{display:flex;justify-content:space-between;font-size:12px;color:var(--rm-secondary)}.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}.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;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: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;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;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;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;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-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);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;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);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-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;gap:6px}.relay-mock-chart-ph__y{display:flex;flex-direction:column;justify-content:space-between;font-size:9px;color:var(--rm-muted);text-align:right;padding:4px 0 20px}.relay-mock-chart-ph__x{display:flex;justify-content:space-between;font-size:9px;color:var(--rm-muted);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-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-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-progress__fill--crit{background:#ef4444}.relay-mock-progress__fill--muted{background:#94a3b8}.relay-mock-progress__bar--unknown{background:repeating-linear-gradient(45deg,#eef2f7,#eef2f7 4px,#dfe6ef 4px,#dfe6ef 8px)}.relay-mock-timeline{list-style:none;margin:0;padding:0}.relay-mock-timeline li{display:grid;grid-template-columns:58px 12px minmax(0,1fr);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-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-muted-soft: #f1f5f9;--tn-crit: #dc2626;--tn-crit-soft: #fee2e2;--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, .04), 0 8px 24px rgba(15, 23, 42, .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--crit{background:var(--tn-crit-soft);color:var(--tn-crit)}.turn-mock-badge--muted{background:var(--tn-muted-soft);color:var(--tn-muted)}.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));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__icon--crit{background:var(--tn-crit-soft);color:var(--tn-crit)}.turn-mock-kpi__icon--muted{background:var(--tn-muted-soft);color:var(--tn-muted)}.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-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;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);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__src,.turn-mock-signal__out,.turn-mock-signal__manager{background:#fbfcfe;border:1px solid var(--tn-border);border-radius:10px;padding:10px}.turn-mock-signal__src,.turn-mock-signal__out{display:flex;align-items:center;gap:8px}.turn-mock-signal__src strong,.turn-mock-signal__manager 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 #22c55e14;border-color:#bbf7d0}.turn-mock-signal__manager p{margin:0;font-size:13px;font-weight:700}.turn-mock-signal__manager .is-ok,.turn-mock-details__meta .is-ok{color:var(--tn-ok)}.turn-mock-signal__addr{font-size:11px;color:var(--tn-secondary);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;gap:12px}.turn-mock-details__meta{margin:0;display:grid;grid-template-columns:1fr 1fr;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;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-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--logs{color:var(--tn-info);border-color:#bfdbfe}.turn-mock-btn--docs{margin-top:12px;color:var(--tn-info);border-color:#bfdbfe;width:100%}.turn-mock-chart__value{display:block;font-size:18px;font-weight:700;margin-bottom:8px;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;color:var(--tn-muted);margin-top:4px;padding:0 2px;font-variant-numeric:tabular-nums}.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-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;display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--tn-secondary);line-height:1.4}.turn-mock-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 2px 0;font-size:12px;color:var(--tn-secondary)}.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--signal,.turn-mock-row--4,.turn-mock-row--3,.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, .04), 0 8px 24px rgba(15, 23, 42, .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-refresh__btn,.queues-mock-range,.queues-mock-export{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));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-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;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;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-variant-numeric:tabular-nums}.queues-mock-livekit .is-ok,.queues-mock-health .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--muted,.queues-mock-health__icon--info,.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;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;gap:8px;align-items:center;font-size:12px;color:var(--qq-secondary)}.queues-mock-dist strong{color:var(--qq-text);font-variant-numeric:tabular-nums}.queues-mock-chart{display:grid;grid-template-columns:36px 1fr;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;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-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;height:28px}.queues-mock-rate__stats{display:grid;grid-template-columns:1fr 1fr;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-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--3,.queues-mock-row--2{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, .04), 0 8px 24px rgba(15, 23, 42, .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));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__icon--muted{background:#f1f5f9;color:#94a3b8}.ov-mock-kpi__value{font-size:22px;font-weight:700;letter-spacing:-.02em;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--muted .ov-mock-kpi__value{color:#94a3b8}.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{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--ov-ok)}.ov-mock-link{display:inline-flex;align-items:center;gap:4px;color:var(--ov-info);font-size:12px;font-weight:600;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;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);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 #0f172a08}.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 span,.ov-mock-node em,.ov-mock-node b{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));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-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);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));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;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-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));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--main,.ov-mock-row--3{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-kpis,.ov-mock-resources,.ov-mock-quality,.ov-mock-health-grid{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, .04), 0 8px 24px rgba(15, 23, 42, .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-size:12px;color:var(--srv-secondary);font-weight:500;max-width:820px;line-height:1.45}.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-size:12px;font-weight:600;color:var(--srv-secondary);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);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 strong,.srv-mock-status--warn em{color:#d97706}.srv-mock-status--muted strong,.srv-mock-status--muted em{color:#94a3b8}.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));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;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-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;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;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-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-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;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;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;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;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-status-row,.srv-mock-hosts,.srv-mock-row--3,.srv-mock-row--mid,.srv-mock-row--bottom{grid-template-columns:1fr 1fr}}@media(max-width:700px){.srv-mock-status-row,.srv-mock-hosts,.srv-mock-row--3,.srv-mock-row--mid,.srv-mock-row--bottom,.srv-mock-chart-grid--2,.srv-mock-chart-grid--3,.srv-mock-actions{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, .04), 0 8px 24px rgba(15, 23, 42, .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:disabled,.alerts-mock-btn--soft: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));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 select,.alerts-mock-field input,.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;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);gap:12px;align-items:start}.alerts-mock-timeline,.alerts-mock-detail{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;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__meta,.alerts-mock-row__rel,.alerts-mock-row__count{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: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;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;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;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;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 #22c55e33}.share-pip-bar__group{display:inline-flex;align-items:center;gap:4px}.share-pip-bar__btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;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}.admin-toolbar--reports{justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:.75rem}.admin-toolbar__filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.admin-filter{display:flex;flex-direction:column;gap:.3rem}.admin-filter__label{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary-light, #747487)}.admin-filter__select{min-height:40px;min-width:140px;padding:0 .75rem;border-radius:8px;border:1px solid var(--color-border-light, #e0e0e5);background:#fff;font:inherit;font-size:.9rem;color:var(--color-text-primary-light, #232333);box-shadow:var(--shadow-admin-card, 0 1px 2px rgba(16, 24, 40, .04))}.admin-filter__select:focus{outline:none;border-color:var(--color-primary, #0e71eb);box-shadow:0 0 0 3px #0e71eb26}.admin-code{font-family:var(--font-mono, ui-monospace, monospace);font-size:.85em;background:#eef2f8;padding:.1em .4em;border-radius:4px;color:#0e71eb}.admin-report-msg{display:inline-block;max-width:340px;line-height:1.4;color:var(--color-text-primary-light, #232333)}.admin-media-tags{display:inline-flex;flex-wrap:wrap;gap:.35rem}.admin-media-tag{display:inline-flex;align-items:center;min-height:24px;padding:0 .5rem;border-radius:999px;font-size:.72rem;font-weight:600;background:#eef5ff;color:#0b5ed7;border:1px solid #d6e6ff}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#0f12207a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:admin-fade-up .16s ease both}.admin-modal{width:min(560px,100%);max-height:min(88vh,800px);overflow:auto;background:#fff;border-radius:14px;border:1px solid var(--color-border-light, #e0e0e5);box-shadow:0 24px 64px #10182838;display:flex;flex-direction:column}.admin-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem .85rem;border-bottom:1px solid #eef0f4}.admin-modal__head h2{margin:0 0 .35rem;font-size:1.15rem;color:var(--color-text-primary-light, #232333)}.admin-modal__head .admin-muted{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.admin-modal__body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.admin-modal__message{margin:0;white-space:pre-wrap;line-height:1.55;font-size:.95rem;color:#232333;background:#f7f8fb;border:1px solid #eef0f4;border-radius:10px;padding:.85rem 1rem}.admin-modal__meta{margin:0;font-size:.78rem;word-break:break-all}.admin-modal__media{width:100%;max-height:280px;object-fit:contain;border-radius:10px;background:#f2f2f7;border:1px solid #eef0f4}.admin-field{display:flex;flex-direction:column;gap:.4rem}.admin-field__label{font-size:.78rem;font-weight:600;color:#3a3a4d}.admin-field__input{width:100%;box-sizing:border-box;min-height:72px;padding:.65rem .75rem;border:1px solid #e0e0e5;border-radius:10px;font:inherit;font-size:.9rem;resize:vertical;color:#232333;background:#fff}.admin-field__input:focus{outline:none;border-color:#0e71eb;box-shadow:0 0 0 3px #0e71eb24}.admin-modal__foot{display:flex;flex-wrap:wrap;gap:.5rem;padding:.85rem 1.25rem 1.15rem;border-top:1px solid #eef0f4;background:#fafbfd}.dash-layout .admin-table--modern tbody tr.admin-table__row{cursor:pointer}body:has(.rf-page){background:#0b0b12}.rf-page{min-height:100dvh;position:relative;isolation:isolate;color:#232333;font-family:var(--font-sans, "Lato", system-ui, sans-serif)}.rf-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.rf-bg__img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transform:scale(1.04);filter:saturate(1.05)}.rf-bg__shade{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 55% at 50% 40%,#080c1c40,#080a14c7 70%),linear-gradient(180deg,#0a0c168c,#0a0c16b8)}.rf-shell{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column;padding:20px 16px 40px}.rf-brand{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:20px}.rf-brand__logo{height:32px;width:auto;filter:brightness(0) invert(1)}.rf-brand__live{font-size:11px;font-weight:700;letter-spacing:.08em;color:#fff;background:#0e71eb;padding:3px 8px;border-radius:4px}.rf-center{flex:1;display:flex;align-items:center;justify-content:center}.rf-card{width:min(480px,100%);background:#fff;border-radius:16px;padding:28px 26px 26px;box-shadow:0 1px #fff9 inset,0 24px 64px #00000059;animation:rf-in .45s ease both}@keyframes rf-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.rf-head{text-align:center;margin-bottom:22px}.rf-kicker{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0e71eb}.rf-title{margin:0 0 8px;font-size:1.55rem;font-weight:700;letter-spacing:-.02em;color:#16162a;line-height:1.2}.rf-lede{margin:0;font-size:.95rem;line-height:1.5;color:#6b6b80}.rf-form{display:flex;flex-direction:column;gap:16px}.rf-field{display:flex;flex-direction:column;gap:6px}.rf-label{font-size:.82rem;font-weight:700;color:#3a3a4d}.rf-input{width:100%;box-sizing:border-box;min-height:46px;padding:11px 14px;border:1.5px solid #e2e2ea;border-radius:10px;font:inherit;font-size:.98rem;color:#16162a;background:#fafafc;transition:border-color .15s,box-shadow .15s,background .15s}.rf-input::placeholder{color:#9a9aab}.rf-input:hover{border-color:#c9c9d6;background:#fff}.rf-input:focus{outline:none;border-color:#0e71eb;background:#fff;box-shadow:0 0 0 3px #0e71eb2e}.rf-input--area{min-height:128px;resize:vertical;line-height:1.45}.rf-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.rf-upload-grid{grid-template-columns:1fr}.rf-card{padding:22px 18px 20px}}.rf-file{position:relative;display:flex;align-items:center;gap:10px;min-height:68px;padding:10px 12px;border:1.5px dashed #d0d0dc;border-radius:10px;background:#f7f7fb;cursor:pointer;transition:border-color .15s,background .15s}.rf-file:hover{border-color:#0e71eb;background:#f0f6ff}.rf-file.is-filled{border-style:solid;border-color:#b7d4f8;background:#f3f8ff}.rf-file__input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.rf-file__icon{flex:0 0 32px;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:16px;color:#0e71eb;background:#e8f1fc}.rf-file__text{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px;color:#3a3a4d}.rf-file__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.rf-file__size{font-size:11px;color:#8a8a9c}.rf-meta{margin:0;font-size:12px;color:#8a8a9c;text-align:center}.rf-error{padding:10px 12px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.9rem}.rf-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:10px;min-height:48px;padding:0 18px;font:inherit;font-weight:700;font-size:.98rem;cursor:pointer;transition:background .15s,transform .1s,opacity .15s}.rf-btn:disabled{opacity:.65;cursor:not-allowed}.rf-btn--primary{background:#0e71eb;color:#fff;box-shadow:0 8px 20px #0e71eb47}.rf-btn--primary:hover:not(:disabled){background:#0b5ed7}.rf-btn--primary:active:not(:disabled){transform:translateY(1px)}.rf-btn--block{width:100%;margin-top:4px}.rf-success{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 4px 4px}.rf-success__icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:700;color:#0e7a37;background:#e8f7ee;margin-bottom:4px}.rf-success .rf-btn{margin-top:10px;min-width:200px}.participants-panel__more{list-style:none;padding:.75rem .9rem .9rem;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.participants-panel__more-note{margin:0;font-size:.78rem;color:var(--muted, #64748b)}.participants-panel__more-btn{border:1px solid var(--border, #e2e8f0);background:transparent;border-radius:999px;padding:.25rem .75rem;font:inherit;font-size:.78rem;cursor:pointer}.participants-panel__more-btn:hover{border-color:var(--primary, #4f46e5)}.app-sidebar__viewonly{margin-left:auto;font-size:.62rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ops-muted, #94a3b8);border:1px solid currentColor;border-radius:999px;padding:.05rem .35rem;white-space:nowrap}
