:root{--navy-900:#0a1628;--navy-800:#0f2038;--navy-700:#16304f;--navy-600:#1d3f69;--blue-500:#2f80ed;--blue-400:#4f9bf5;--blue-300:#8dc0fa;--surface-base:var(--navy-900);--surface-raised:var(--navy-800);--surface-overlay:var(--navy-700);--surface-hover:#ffffff0f;--border-subtle:#ffffff1a;--border-strong:#ffffff2e;--text-primary:#eef3fb;--text-secondary:#a8b8d0;--text-muted:#7489a6;--text-on-accent:#fff;--accent:var(--blue-500);--accent-hover:var(--blue-400);--accent-subtle:#2f80ed26;--status-online:#27c08a;--status-offline:#6b7a90;--status-warning:#e8a33d;--status-danger:#e5544b;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-raised:0 1px 2px #0000004d, 0 8px 24px #0003;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--surface-base:#f4f7fc;--surface-raised:#fff;--surface-overlay:#fff;--surface-hover:#0f20380a;--border-subtle:#0f20381a;--border-strong:#0f20382e;--text-primary:#0f2038;--text-secondary:#41557a;--text-muted:#6b7a90;--accent:#1a63cc;--accent-hover:#164fa6;--accent-subtle:#1a63cc1a;--status-offline:#8494a8;--shadow-raised:0 1px 2px #0f203814, 0 8px 24px #0f203814;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--surface-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:1.5rem}h2{font-size:1.125rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}button,input,select{font:inherit;color:inherit}.app-shell{grid-template-columns:248px 1fr;min-height:100%;display:grid}.sidebar{background:var(--surface-raised);border-right:1px solid var(--border-subtle);flex-direction:column;gap:1.5rem;padding:1.25rem 1rem;display:flex}.brand{align-items:center;gap:.625rem;padding:0 .25rem;display:flex}.brand__mark{flex:none;width:34px;height:34px;display:block}.brand__name{font-size:1rem;font-weight:650}.brand__tagline{color:var(--text-muted);font-size:.75rem}.nav{flex-direction:column;gap:.125rem;display:flex}.nav__link{border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:.625rem;padding:.5rem .625rem;font-size:.9375rem;display:flex}.nav__link:hover{background:var(--surface-hover);color:var(--text-primary);text-decoration:none}.nav__link--active{background:var(--accent-subtle);color:var(--accent);font-weight:550}.sidebar__footer{flex-direction:column;gap:.75rem;margin-top:auto;font-size:.8125rem;display:flex}.user-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.625rem}.user-card__name{overflow-wrap:anywhere;font-weight:550}.user-card__meta{color:var(--text-muted);overflow-wrap:anywhere;font-size:.75rem}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.topbar__controls{align-items:center;gap:.5rem;display:flex}.content{flex-direction:column;gap:1.25rem;min-width:0;padding:1.5rem;display:flex}.button{border-radius:var(--radius-sm);background:var(--accent);color:var(--text-on-accent);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .875rem;font-weight:550;display:inline-flex}.button:hover:not(:disabled){background:var(--accent-hover)}.button:disabled{opacity:.6;cursor:not-allowed}.button--ghost{border-color:var(--border-strong);color:var(--text-secondary);background:0 0}.button--ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.field{flex-direction:column;gap:.3rem;display:flex}.field__label{color:var(--text-secondary);font-size:.8125rem;font-weight:550}.field__hint{color:var(--text-muted);font-size:.75rem}.input,.select{background:var(--surface-base);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:.5rem .625rem}.input:focus,.select:focus{border-color:var(--accent);outline:none}.select--compact{width:auto;padding:.3rem .5rem;font-size:.8125rem}.card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem 1.125rem}.card__title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.8125rem;font-weight:550}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.875rem;display:grid}.metric__value{font-variant-numeric:tabular-nums;margin-top:.25rem;font-size:1.875rem;font-weight:650;line-height:1.2}.metric__label{color:var(--text-secondary);font-size:.8125rem}.metric--online .metric__value{color:var(--status-online)}.metric--warning .metric__value{color:var(--status-warning)}.table-wrap{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:.625rem .875rem;font-size:.75rem;font-weight:600}.table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:.625rem .875rem}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-hover)}.table__empty{text-align:center;color:var(--text-muted);padding:2rem .875rem}.mono{font-family:var(--font-mono);font-size:.8125rem}.status{white-space:nowrap;align-items:center;gap:.4rem;display:inline-flex}.status__dot{background:var(--status-offline);border-radius:50%;flex:none;width:8px;height:8px}.status--online .status__dot{background:var(--status-online);box-shadow:0 0 0 3px #27c08a33}.status--warning .status__dot{background:var(--status-warning)}.status--danger .status__dot{background:var(--status-danger)}.badge{background:var(--accent-subtle);color:var(--accent);white-space:nowrap;border-radius:999px;padding:.1rem .45rem;font-size:.75rem;font-weight:550;display:inline-block}.badge-list{flex-wrap:wrap;gap:.25rem;display:flex}.notice{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--accent-subtle);color:var(--text-secondary);padding:.75rem .875rem;font-size:.8125rem}.alert{border-radius:var(--radius-sm);border:1px solid var(--status-danger);color:var(--text-primary);background:#e5544b1f;padding:.75rem .875rem;font-size:.875rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.toolbar .input{max-width:320px}.pagination{color:var(--text-secondary);align-items:center;gap:.75rem;font-size:.8125rem;display:flex}.login{background:radial-gradient(1000px 500px at 50% -10%, var(--navy-700), transparent), var(--surface-base);place-items:center;min-height:100%;padding:1.5rem;display:grid}.login__panel{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-raised);flex-direction:column;gap:1.125rem;padding:1.75rem;display:flex}.login__form{flex-direction:column;gap:.875rem;display:flex}.login__footer{color:var(--text-muted);justify-content:space-between;align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.centered-message{min-height:100%;color:var(--text-secondary);place-items:center;display:grid}@media (width<=860px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border-subtle)}.nav{flex-flow:wrap}.sidebar__footer{margin-top:0}.content,.topbar{padding-inline:1rem}}.notice--strong{border-color:var(--status-warning);background:var(--surface-raised);color:var(--text-primary);flex-direction:column;gap:.75rem;display:flex}.toolbar--between{justify-content:space-between;width:100%}.code-block{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-base);min-width:0;font-family:var(--font-mono);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;flex:18rem;padding:.5rem .625rem;font-size:.8125rem}.button--danger{border-color:var(--status-danger);color:var(--status-danger);background:0 0}.button--danger:hover:not(:disabled){background:var(--status-danger);color:#fff}.screen-frame{border:1px solid var(--border);background:#000;border-radius:8px;justify-content:center;align-items:center;min-height:12rem;margin:1rem 0;display:flex;position:relative;overflow:hidden}.screen{max-width:100%;height:auto;display:block}.screen__placeholder{color:#9aa4b2;font-size:.9rem;position:absolute}.connect{margin-bottom:1.5rem}.connect__form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:.75rem;display:flex}.connect__form .field{flex:0 12rem;margin:0}.connect__form .input{letter-spacing:.06em;font-size:1.1rem}.connect .alert{margin-top:.75rem}.download{max-width:34rem}.download__title{margin:0 0 .75rem;font-size:1.4rem}.download__button{margin:1rem 0;padding:.75rem 1.25rem;font-size:1.05rem;text-decoration:none;display:inline-block}.download__steps{margin:.5rem 0 1rem;padding-left:1.25rem;line-height:1.7}.profile__row{align-items:center;gap:1rem;margin:.75rem 0 1rem;display:flex}.profile__picture{object-fit:cover;border:1px solid var(--border-strong);border-radius:50%;flex:none;width:96px;height:96px}.profile__picture--initials{background:var(--accent);color:#fff;border:none;justify-content:center;align-items:center;font-size:2rem;font-weight:600;display:inline-flex}.profile__name{font-size:1.1rem;font-weight:600}.profile__actions{gap:.5rem;margin-bottom:.75rem;display:flex}.stage{flex-direction:column;gap:0;margin:1rem 0;display:flex}.viewer-toolbar{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:none;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.5rem .625rem;display:flex}.viewer-toolbar__group{border-right:1px solid var(--border-subtle);align-items:center;gap:.375rem;padding-right:.75rem;display:flex}.viewer-toolbar__group:last-of-type{border-right:none}.viewer-toolbar__end{margin-left:auto}.stage .screen-frame{border-radius:0 0 var(--radius-md) var(--radius-md);margin:0}.screen-frame--actual{max-height:78vh;display:block;overflow:auto}.screen-frame--actual .screen{max-width:none}.screen:focus{outline:2px solid var(--accent);outline-offset:-2px}.stage--fullscreen{background:#000;height:100vh;margin:0}.stage:fullscreen{background:#000;height:100vh;margin:0}.stage--fullscreen .viewer-toolbar{border-left:none;border-right:none;border-radius:0}.stage:fullscreen .viewer-toolbar{border-left:none;border-right:none;border-radius:0}.stage--fullscreen .screen-frame{border:none;border-radius:0;flex:1;min-height:0;max-height:none}.stage:fullscreen .screen-frame{border:none;border-radius:0;flex:1;min-height:0;max-height:none}.stage--fullscreen .screen-frame--fit .screen{width:auto;max-height:100%}.stage:fullscreen .screen-frame--fit .screen{width:auto;max-height:100%}.menu{position:relative}.menu__list{z-index:20;background:var(--surface-overlay);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-width:18rem;box-shadow:var(--shadow-raised);padding:.25rem;position:absolute;top:calc(100% + .25rem);left:0}.menu__item{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:baseline;gap:1rem;padding:.45rem .6rem;display:flex}.menu__item:hover,.menu__item:focus-visible{background:var(--surface-hover)}.menu__item[aria-checked=true]{font-weight:600}.menu__item[aria-checked=true]>:first-child:before{content:"✓ "}.menu__keys,.menu__hint{color:var(--text-muted);font-size:.8rem;font-family:var(--font-mono)}.menu__hint{font-family:inherit}.technician-app{align-items:flex-start;gap:1.5rem;display:flex}.technician-app__mark{border-radius:16px;flex:none}.technician-app .button{margin:.5rem 0 .75rem;display:inline-block}.technician-app__steps{gap:.5rem;margin:0;padding-left:1.25rem;display:grid}.technician-app .muted{color:var(--text-muted);font-size:.875rem}
