.admin-unlock-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.admin-unlock-dialog{background-color:var(--color-surface);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);max-width:400px;width:90%;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.admin-unlock-header{margin-bottom:var(--spacing-lg);text-align:center}.admin-unlock-header h2{font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0 0 var(--spacing-sm) 0}.admin-unlock-subtitle{color:var(--color-text-secondary);font-size:.875rem;margin:0}.admin-unlock-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-weight:600;color:var(--color-text);font-size:.875rem}.form-group input{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:1rem;background-color:var(--color-bg);color:var(--color-text);transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled{background-color:var(--color-bg);opacity:.6;cursor:not-allowed}.error-message{background-color:#ef44441a;color:var(--color-error);padding:var(--spacing-md);border-radius:var(--border-radius);border-left:4px solid var(--color-error);font-size:.875rem}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.btn{padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:var(--border-radius);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;flex:1}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background-color:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-border);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.operator-login-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#28a745 0%,#1e7e34 100%);display:flex;justify-content:center;align-items:center;z-index:1900}.operator-login-box{background:white;border-radius:12px;padding:40px;box-shadow:0 10px 40px #0000004d;text-align:center;min-width:400px;max-width:500px}.operator-login-box h2{margin-bottom:10px;color:#1a1a1a;font-size:24px}.operator-login-subtitle{color:#666;font-size:14px;margin-bottom:30px}.code-display{display:flex;justify-content:center;gap:15px;margin-bottom:30px;padding:20px}.code-dot{font-size:36px;color:#ddd;transition:color .2s}.code-dot.filled{color:#28a745}.numpad{display:flex;flex-direction:column;gap:10px}.numpad-row{display:flex;gap:10px;justify-content:center}.numpad-btn{width:80px;height:80px;font-size:28px;font-weight:600;border:2px solid #ddd;border-radius:12px;background:white;color:#1a1a1a;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.numpad-btn:hover:not(:disabled){background:#f0f0f0;border-color:#28a745}.numpad-btn:active:not(:disabled){transform:scale(.95);background:#e0e0e0}.numpad-btn:disabled{opacity:.5;cursor:not-allowed}.numpad-btn-secondary{background:#f8f9fa;font-size:20px}.numpad-btn-secondary:hover:not(:disabled){background:#e9ecef}.numpad-btn-submit{width:100%;background:#28a745;color:#fff;border-color:#28a745;font-size:22px}.numpad-btn-submit:hover:not(:disabled){background:#1e7e34;border-color:#1e7e34}.numpad-btn-submit:disabled{background:#6c757d;border-color:#6c757d}.code-error{color:#dc3545;margin-top:20px;font-size:16px;font-weight:600}.checklist-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px}.checklist-modal{background:white;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:95%;width:100%;max-height:85vh;display:flex;flex-direction:column}.checklist-header{padding:30px;border-bottom:2px solid #ddd;background:linear-gradient(135deg,#007bff 0%,#0056b3 100%);color:#fff;border-radius:12px 12px 0 0}.checklist-header h2{margin:0 0 10px;font-size:28px}.checklist-header p{margin:0;opacity:.9;font-size:14px}.checklist-body{padding:30px;overflow-y:auto;flex:1}.checklist-step{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #007bff;display:flex;gap:15px;align-items:flex-start}.checklist-step:last-child{margin-bottom:0}.checklist-step-text{flex:1;min-width:0}.checklist-step-media{flex-shrink:0;max-width:350px;width:auto}.checklist-step-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#007bff;color:#fff;border-radius:50%;font-weight:700;margin-bottom:10px;font-size:14px}.checklist-step-title{font-size:16px;font-weight:600;color:#1a1a1a;margin-bottom:8px}.checklist-step-content{color:#000;line-height:1.5;font-size:20px}.checklist-step-image{margin-top:0;border-radius:6px;max-width:120px;max-height:120px;width:auto;height:auto;object-fit:contain;box-shadow:0 2px 8px #00000026}.checklist-step-images{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.checklist-step-images .checklist-step-image{margin-top:0;max-width:120px;max-height:120px;width:auto;height:auto;object-fit:contain}.checklist-footer{padding:20px 30px;border-top:2px solid #ddd;text-align:center}.checklist-footer .btn{padding:15px 40px;font-size:16px;font-weight:700}.checklist-footer .btn+.btn{margin-left:12px}.checklist-footer .btn:disabled{opacity:.6;cursor:not-allowed}.checklist-progress{margin-bottom:15px;font-size:15px;font-weight:600;color:#0056b3}.checklist-body::-webkit-scrollbar{width:8px}.checklist-body::-webkit-scrollbar-track{background:#f8f9fa}.checklist-body::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.checklist-body::-webkit-scrollbar-thumb:hover{background:#999}.checklist-step-image.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.checklist-step-image.clickable:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000040}.image-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);display:flex;justify-content:center;align-items:center;z-index:3000;cursor:pointer;padding:20px}.image-popup-content{position:relative;max-width:90vw;max-height:90vh;display:flex;justify-content:center;align-items:center}.image-popup-enlarged{max-width:100%;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 10px 40px #00000080;cursor:pointer}.update-checker{position:relative;flex-shrink:0}.version-badge{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:.25rem .5rem;font-size:.75rem;color:#fffc;cursor:pointer;transition:all .2s ease;position:relative;white-space:nowrap;flex-shrink:0}.version-badge:hover{background:rgba(255,255,255,.15);border-color:#ffffff4d}.version-badge.has-update{background:rgba(76,175,80,.2);border-color:#4caf5080;color:#81c784}.update-dot{position:absolute;top:-3px;right:-3px;width:8px;height:8px;background:#4caf50;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #4caf50b3}70%{box-shadow:0 0 0 6px #4caf5000}to{box-shadow:0 0 #4caf5000}}.update-dropdown{position:absolute;top:100%;left:0;margin-top:.5rem;background:#2d2d2d;border:1px solid #444;border-radius:8px;box-shadow:0 4px 20px #00000080;min-width:250px;z-index:1000}.update-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #444;font-weight:600;color:#fff}.close-btn{background:none;border:none;color:#888;font-size:1.25rem;cursor:pointer;padding:0;line-height:1}.close-btn:hover{color:#fff}.update-dropdown-content{padding:1rem}.version-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.875rem}.version-row .label{color:#888}.version-row .value{color:#fff;font-family:monospace}.version-row .value.highlight{color:#4caf50;font-weight:600}.update-error{margin-top:.75rem;padding:.5rem;background:rgba(244,67,54,.1);border:1px solid rgba(244,67,54,.3);border-radius:4px;color:#ef5350;font-size:.75rem}.update-actions{margin-top:1rem;padding-top:.75rem;border-top:1px solid #444}.update-actions .btn{width:100%;padding:.5rem 1rem;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-check{background:#3d3d3d;border:1px solid #555;color:#fff}.btn-check:hover:not(:disabled){background:#4d4d4d;border-color:#666}.btn-check:disabled{opacity:.6;cursor:not-allowed}.btn-update{background:#4caf50;border:1px solid #43a047;color:#fff}.btn-update:hover:not(:disabled){background:#43a047;border-color:#388e3c}.btn-update:disabled{opacity:.6;cursor:not-allowed}.up-to-date{text-align:center;color:#81c784;font-size:.875rem;padding:.25rem 0}/*!
 * 
 *   react-simple-keyboard v3.8.233
 *   https://github.com/hodgef/react-simple-keyboard
 *
 *   Copyright (c) Francisco Hodge (https://github.com/hodgef) and project contributors.
 *
 *   This source code is licensed under the MIT license found in the
 *   LICENSE file in the root directory of this source tree.
 *
 *//*!
 * 
 *   simple-keyboard v3.8.158
 *   https://github.com/hodgef/simple-keyboard
 *
 *   Copyright (c) Francisco Hodge (https://github.com/hodgef) and project contributors.
 *
 *   This source code is licensed under the MIT license found in the
 *   LICENSE file in the root directory of this source tree.
 *
 */.hg-theme-default{background-color:#ececec;border-radius:5px;box-sizing:border-box;font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;overflow:hidden;padding:5px;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.hg-theme-default .hg-button span,.hg-theme-default .hg-button span svg{pointer-events:none}.hg-theme-default button.hg-button{border-width:0;font-size:inherit}.hg-theme-default .hg-button{display:inline-block;flex-grow:1}.hg-theme-default .hg-row{display:flex}.hg-theme-default .hg-row:not(:last-child){margin-bottom:5px}.hg-theme-default .hg-row .hg-button-container,.hg-theme-default .hg-row .hg-button:not(:last-child){margin-right:5px}.hg-theme-default .hg-row>div:last-child{margin-right:0}.hg-theme-default .hg-row .hg-button-container{display:flex}.hg-theme-default .hg-button{align-items:center;background:#fff;border-bottom:1px solid #b5b5b5;border-radius:5px;box-shadow:0 0 3px -1px #0000004d;box-sizing:border-box;cursor:pointer;display:flex;height:40px;justify-content:center;padding:5px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.hg-theme-default .hg-button.hg-standardBtn{width:20px}.hg-theme-default .hg-button.hg-activeButton{background:#efefef}.hg-theme-default.hg-layout-numeric .hg-button{align-items:center;display:flex;height:60px;justify-content:center;width:33.3%}.hg-theme-default .hg-button.hg-button-numpadadd,.hg-theme-default .hg-button.hg-button-numpadenter{height:85px}.hg-theme-default .hg-button.hg-button-numpad0{width:105px}.hg-theme-default .hg-button.hg-button-com{max-width:85px}.hg-theme-default .hg-button.hg-standardBtn.hg-button-at{max-width:45px}.hg-theme-default .hg-button.hg-selectedButton{background:rgba(5,25,70,.53);color:#fff}.hg-theme-default .hg-button.hg-standardBtn[data-skbtn=".com"]{max-width:82px}.hg-theme-default .hg-button.hg-standardBtn[data-skbtn="@"]{max-width:60px}.hg-candidate-box{background:#ececec;border-bottom:2px solid #b5b5b5;border-radius:5px;display:inline-flex;margin-top:-10px;position:absolute;transform:translateY(-100%);-webkit-user-select:none;-moz-user-select:none;user-select:none}ul.hg-candidate-box-list{display:flex;flex:1;list-style:none;margin:0;padding:0}li.hg-candidate-box-list-item{align-items:center;display:flex;height:40px;justify-content:center;width:40px}li.hg-candidate-box-list-item:hover{background:rgba(0,0,0,.03);cursor:pointer}li.hg-candidate-box-list-item:active{background:rgba(0,0,0,.1)}.hg-candidate-box-prev:before{content:"◄"}.hg-candidate-box-next:before{content:"►"}.hg-candidate-box-next,.hg-candidate-box-prev{align-items:center;color:#969696;cursor:pointer;display:flex;padding:0 10px}.hg-candidate-box-next{border-bottom-right-radius:5px;border-top-right-radius:5px}.hg-candidate-box-prev{border-bottom-left-radius:5px;border-top-left-radius:5px}.hg-candidate-box-btn-active{color:#444}.mps-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);display:flex;align-items:stretch;justify-content:stretch;z-index:1000;padding:0}.mps-modal{background:#1a1a1a;border:none;border-radius:0;padding:1.5rem 2rem;width:100%;height:100%;max-width:none;max-height:100%;overflow-y:auto;display:flex;flex-direction:column;box-shadow:none}.mps-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.mps-header h3{margin:0;color:#ce93d8;font-size:1.7rem}.mps-close-btn{background:none;border:none;color:#888;font-size:2.2rem;cursor:pointer;padding:0 12px;line-height:1}.mps-close-btn:hover:not(:disabled){color:#fff}.mps-close-btn:disabled{opacity:.3;cursor:not-allowed}.mps-section-label{font-size:1rem;text-transform:uppercase;color:#888;font-weight:600;letter-spacing:.03em;margin-bottom:6px}.mps-server-section{margin-bottom:1.5rem}.mps-server-info{display:flex;align-items:center;gap:8px;padding:14px 16px;font-size:1rem;background:#2a2a2e;border-radius:6px;border-left:3px solid #666}.mps-server-info.online{border-left-color:#4caf50}.mps-server-info.offline{border-left-color:#f44336}.mps-no-server{color:#f44336;font-size:.9rem;padding:8px}.mps-language-section{margin-bottom:1.5rem}.mps-language-row{display:flex;gap:8px}.mps-language-btn{padding:14px 28px;background:#2a2a2e;border:2px solid #444;border-radius:8px;color:#ccc;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .15s}.mps-language-btn:hover:not(:disabled){border-color:#9c27b0;color:#fff}.mps-language-btn.selected{border-color:#ce93d8;background:rgba(156,39,176,.2);color:#e1bee7}.mps-language-btn:disabled{opacity:.5;cursor:not-allowed}.mps-clients-section{margin-bottom:1.5rem;display:flex;flex-direction:column;flex:1;min-height:0}.mps-clients-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.mps-select-actions{display:flex;gap:4px}.mps-select-actions button{background:#2a2a2e;border:1px solid #444;color:#aaa;border-radius:4px;padding:8px 18px;font-size:.95rem;cursor:pointer}.mps-select-actions button:hover:not(:disabled){background:#3a3a3e;color:#fff}.mps-player-count{font-size:1rem;color:#aaa;margin-bottom:12px}.mps-warning{color:#ff9800}.mps-pc-list{display:flex;flex-direction:column;gap:8px;flex:1;max-height:none;overflow-y:auto}.mps-pc-item{display:flex;align-items:center;gap:12px;padding:14px;background:#2a2a2e;border-radius:8px;cursor:pointer;transition:background .15s;border:1px solid transparent}.mps-pc-item:hover{background:#3a3a3e}.mps-pc-item.selected{background:rgba(156,39,176,.12);border-color:#9c27b04d}.mps-pc-item input[type=checkbox]{margin:0;accent-color:#9c27b0;width:22px;height:22px}.mps-pc-item.diag-blocked{opacity:.55;cursor:not-allowed}.mps-pc-item.diag-blocked:hover{background:#2a2a2e}.mps-status-badge.diag-blocked{background:rgba(244,67,54,.2);color:#f44336}.mps-no-clients{color:#888;font-size:.9rem;padding:8px}.mps-pc-name{flex:1;font-size:1.1rem;color:#ddd}.mps-status-badge{font-size:.85rem;text-transform:uppercase;padding:3px 10px;border-radius:3px;font-weight:600}.mps-status-badge.online{background:rgba(76,175,80,.2);color:#4caf50}.mps-status-badge.offline{background:rgba(244,67,54,.2);color:#f44336}.mps-ip{font-size:.9rem;color:#888;font-family:monospace}.mps-session-status{padding:14px;border-radius:6px;margin-bottom:1rem;font-size:1rem}.mps-session-status.starting_server,.mps-session-status.waiting_for_server,.mps-session-status.launching_clients{background:rgba(156,39,176,.1);border:1px solid rgba(156,39,176,.3);color:#ce93d8}.mps-session-status.active{background:rgba(76,175,80,.1);border:1px solid rgba(76,175,80,.3);color:#4caf50}.mps-session-status.failed{background:rgba(244,67,54,.1);border:1px solid rgba(244,67,54,.3);color:#f44336}.mps-session-status.stopping,.mps-session-status.completed{background:rgba(158,158,158,.1);border:1px solid rgba(158,158,158,.3);color:#9e9e9e}.mps-session-label{font-weight:500}.mps-session-error{margin-top:4px;font-size:.8rem;opacity:.8}.mps-progress-bar{height:3px;background:rgba(156,39,176,.2);border-radius:2px;margin-top:8px;overflow:hidden}.mps-progress-fill{height:100%;width:30%;background:#ce93d8;border-radius:2px;animation:mps-pulse 1.5s ease-in-out infinite}@keyframes mps-pulse{0%,to{transform:translate(-100%)}50%{transform:translate(330%)}}.mps-actions{display:flex;gap:14px;padding-top:.5rem}.mps-cancel-btn{flex:0 0 auto;padding:18px 24px;background:#2a2a2e;color:#aaa;border:1px solid #444;border-radius:8px;font-size:1.15rem;cursor:pointer;transition:all .15s}.mps-cancel-btn:hover{background:#3a3a3e;color:#fff}.mps-go-btn{flex:1;padding:18px 24px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:1.15rem;font-weight:700;cursor:pointer;transition:background .15s}.mps-go-btn:hover:not(:disabled){background:#43a047}.mps-go-btn:disabled{opacity:.4;cursor:not-allowed}.mps-stop-btn{flex:1;padding:18px 24px;background:#f44336;color:#fff;border:none;border-radius:8px;font-size:1.15rem;font-weight:600;cursor:pointer;transition:background .15s}.mps-stop-btn:hover:not(:disabled){background:#e53935}.mps-stop-btn:disabled{opacity:.5;cursor:not-allowed}.playspace-map-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#6366f1 0%,#4338ca 100%);color:#fff;font-weight:700;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.playspace-map-btn:hover{background:linear-gradient(135deg,#4f46e5 0%,#3730a3 100%);transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.pmap-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.85);z-index:1000;display:flex}.pmap-modal{background:#12161c;color:#e6edf3;width:100%;height:100%;display:flex;flex-direction:column}.pmap-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #2b333d;flex-shrink:0}.pmap-header h3{margin:0;font-size:1.2rem;font-weight:700}.pmap-header-sub{margin-left:12px;font-size:.85rem;color:#8b949e;font-weight:400}.pmap-header-actions{display:flex;gap:8px}.pmap-btn{background:#21262d;color:#e6edf3;border:1px solid #2b333d;border-radius:8px;padding:10px 16px;font-weight:600;font-size:.95rem;cursor:pointer}.pmap-btn:hover{border-color:#4ea1ff}.pmap-btn.active{border-color:#4ea1ff;background:rgba(78,161,255,.15)}.pmap-btn.close{background:#b91c1c;border-color:#b91c1c}.pmap-btn.close:hover{background:#991b1b}.pmap-body{flex:1;display:flex;min-height:0}.pmap-stage{flex:1;position:relative;min-width:0}.pmap-stage canvas{display:block;width:100%;height:100%}.pmap-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;color:#8b949e;padding:24px;pointer-events:none;font-size:1rem;line-height:1.5}.pmap-side{width:300px;flex:none;border-left:1px solid #2b333d;padding:14px;overflow-y:auto;background:#161b22}.pmap-side h4{margin:0 0 10px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#8b949e;font-weight:600}.pmap-side h4+.pmap-row{border-top:none}.pmap-side h4:not(:first-child){margin-top:18px}.pmap-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid #222932}.pmap-dot{width:24px;height:24px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#0e1116;margin-top:1px}.pmap-dot.muted{background:transparent!important;border:2px solid #8b949e;color:#8b949e}.pmap-row-text{min-width:0}.pmap-row-name{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pmap-row-verdict{font-size:12px;color:#8b949e}.pmap-row-verdict.warn{color:#f0883e}.pmap-row-verdict.bad{color:#f85149}.pmap-foot{margin-top:16px;font-size:11px;color:#6e7781;line-height:1.5}@media (max-width: 900px){.pmap-body{flex-direction:column}.pmap-side{width:auto;max-height:40%;border-left:none;border-top:1px solid #2b333d}}.pmap-banner{padding:8px 20px;font-size:.9rem;color:#8b949e;background:#161b22;border-bottom:1px solid #2b333d;flex-shrink:0}.pmap-banner.warn{color:#f0883e;background:rgba(240,136,62,.08)}.pmap-hint{font-size:12px;color:#8b949e;margin:-4px 0 8px}.pmap-row.tappable{cursor:pointer;border-radius:8px;margin:0 -6px;padding-left:6px;padding-right:6px}.pmap-row.tappable:hover{background:rgba(78,161,255,.12)}.access-view{padding:var(--spacing-lg, 1.5rem);max-width:1200px;margin:0 auto}.access-tabs{display:flex;gap:var(--spacing-sm, .5rem);margin-bottom:var(--spacing-lg, 1.5rem);border-bottom:1px solid var(--color-border, #e2e8f0)}.access-tab{background:none;border:none;border-bottom:2px solid transparent;padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);font-size:1rem;font-weight:600;color:var(--color-text-secondary, #64748b);cursor:pointer}.access-tab.active{color:var(--color-primary, #2563eb);border-bottom-color:var(--color-primary, #2563eb)}.access-error{background:#fef2f2;border-left:3px solid var(--color-error, #dc2626);color:var(--color-error, #dc2626);padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);border-radius:var(--border-radius, .5rem);margin-bottom:var(--spacing-md, 1rem);font-size:.875rem}.access-split{display:grid;grid-template-columns:320px 1fr;gap:var(--spacing-lg, 1.5rem);align-items:start}@media (max-width: 800px){.access-split{grid-template-columns:1fr}}.access-list{border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius, .5rem);background:var(--color-surface, #fff);overflow:hidden}.access-list-search{width:100%;border:none;border-bottom:1px solid var(--color-border, #e2e8f0);padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);font-size:.875rem;box-sizing:border-box}.access-list-items{max-height:calc(100vh - 260px);overflow-y:auto}.access-list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm, .5rem);width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--color-border, #e2e8f0);padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);cursor:pointer}.access-list-item:hover{background:var(--color-bg, #f8fafc)}.access-list-item.selected{background:#eff6ff}.access-list-item-main{display:flex;flex-direction:column;min-width:0}.access-list-item-title{font-weight:600;color:var(--color-text, #0f172a)}.access-list-item-sub{font-size:.75rem;color:var(--color-text-secondary, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.access-detail{border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius, .5rem);background:var(--color-surface, #fff);padding:var(--spacing-lg, 1.5rem)}.access-detail-empty{color:var(--color-text-secondary, #64748b);text-align:center;padding:var(--spacing-xl, 2rem)}.access-detail-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-md, 1rem);margin-bottom:var(--spacing-md, 1rem);flex-wrap:wrap}.access-detail-header h2{margin:0;font-size:1.25rem}.access-detail-sub{color:var(--color-text-secondary, #64748b);font-size:.875rem}.access-field{margin-bottom:var(--spacing-md, 1rem)}.access-field label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary, #64748b);margin-bottom:.25rem}.access-field input[type=text],.access-field select,.access-field textarea{width:100%;box-sizing:border-box;padding:.5rem .75rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius, .5rem);font-size:.875rem}.access-row{display:flex;gap:var(--spacing-sm, .5rem);align-items:flex-end;flex-wrap:wrap}.access-badge{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .4rem;border-radius:999px;line-height:1.4}.access-badge--role{background:#e0e7ff;color:#3730a3}.access-badge--individual{background:#dcfce7;color:#166534}.access-badge--system,.access-badge--count{background:#f1f5f9;color:#475569}.access-btn{border:1px solid var(--color-border, #e2e8f0);background:var(--color-surface, #fff);color:var(--color-text, #0f172a);border-radius:var(--border-radius, .5rem);padding:.5rem .85rem;font-size:.875rem;font-weight:600;cursor:pointer}.access-btn:hover{background:var(--color-bg, #f8fafc)}.access-btn--primary{background:var(--color-primary, #2563eb);border-color:var(--color-primary, #2563eb);color:#fff}.access-btn--primary:hover{background:var(--color-secondary, #1e40af)}.access-btn--danger{color:var(--color-error, #dc2626);border-color:#fecaca}.access-btn--danger:hover{background:#fef2f2}.access-btn:disabled{opacity:.5;cursor:not-allowed}.perm-matrix{margin-top:var(--spacing-md, 1rem)}.perm-category{margin-bottom:var(--spacing-md, 1rem)}.perm-category-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary, #64748b);margin:0 0 .25rem;padding-bottom:.25rem;border-bottom:1px solid var(--color-border, #e2e8f0)}.perm-row{display:flex;align-items:flex-start;gap:var(--spacing-sm, .5rem);padding:.4rem 0}.perm-row-toggle{padding-top:.15rem}.perm-row-toggle input{width:1.05rem;height:1.05rem;cursor:pointer}.perm-row-toggle input:disabled{cursor:not-allowed}.perm-row-body{min-width:0;flex:1}.perm-row-label{display:flex;align-items:center;gap:.4rem;font-weight:600;color:var(--color-text, #0f172a);flex-wrap:wrap}.perm-row-label.is-effective .perm-row-name{color:var(--color-text, #0f172a)}.perm-row-label.not-effective .perm-row-name{color:var(--color-text-secondary, #94a3b8)}.perm-row-desc{font-size:.75rem;color:var(--color-text-secondary, #64748b)}.perm-row-key{font-family:monospace;font-size:.7rem;color:#94a3b8}.access-note{font-size:.75rem;color:var(--color-text-secondary, #64748b);margin-top:.25rem}.software-view{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--spacing-sm, .5rem)}.software-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.software-tabs{display:flex;gap:var(--spacing-xs, .25rem);flex-shrink:0;flex-wrap:wrap;border-bottom:1px solid var(--color-border, #e2e8f0)}.software-tab{padding:.5rem .9rem;font-size:.85rem;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-secondary, #64748b);cursor:pointer;min-height:2.5rem}.software-tab:hover{color:var(--color-text, #0f172a)}.software-tab.active{color:var(--color-primary, #2563eb);border-bottom-color:var(--color-primary, #2563eb);font-weight:600}.software-content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:var(--spacing-md, 1rem);padding-right:var(--spacing-xs, .25rem)}.software-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.software-header h2{margin:0;color:var(--color-text, #0f172a)}.software-hint{margin:0;color:var(--color-text-secondary, #64748b);font-size:.85rem}.software-error{color:var(--color-error, #dc2626)}.software-room-section{border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius, .5rem);background:var(--color-surface, #fff);padding:var(--spacing-md, 1rem);box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05))}.software-room-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm, .5rem);margin-bottom:var(--spacing-md, 1rem)}.software-room-name{font-size:1.1rem;font-weight:600;color:var(--color-text, #0f172a)}.software-room-targets{display:flex;gap:var(--spacing-md, 1rem);flex-wrap:wrap}.software-target-label{display:inline-flex;align-items:center;gap:var(--spacing-xs, .25rem);font-size:.8rem;color:var(--color-text-secondary, #64748b)}.software-version-select{padding:.25rem .4rem;border:1px solid var(--color-border, #e2e8f0);border-radius:.375rem;font-size:.8rem;background:var(--color-surface, #fff)}.software-table{width:100%;border-collapse:collapse;font-size:.85rem}.software-table th,.software-table td{text-align:left;padding:var(--spacing-sm, .5rem);border-bottom:1px solid var(--color-border, #e2e8f0);vertical-align:top}.software-table th{color:var(--color-text-secondary, #64748b);font-weight:600}.software-row-experimental{background:#fff7ed}.software-pc-name{font-weight:600;white-space:nowrap}.software-pc-role{display:block;font-weight:400;font-size:.75rem;color:var(--color-text-secondary, #64748b)}.software-exp-toggle{display:inline-flex;align-items:center;gap:var(--spacing-xs, .25rem);font-size:.75rem;color:var(--color-warning, #ea580c)}.software-device-label{cursor:pointer;border-bottom:1px dashed var(--color-border, #cbd5e1)}.software-device-label em{color:var(--color-text-secondary, #64748b);font-style:italic}.software-device-label-input{font:inherit;padding:2px 4px;border:1px solid var(--color-border, #cbd5e1);border-radius:4px;min-width:10rem}.software-version-line{display:flex;align-items:center;gap:var(--spacing-xs, .25rem);margin-bottom:var(--spacing-xs, .25rem)}.software-dot{width:.6rem;height:.6rem;border-radius:50%;flex-shrink:0}.software-dot.on{background:var(--color-online, #22c55e)}.software-dot.off{background:var(--color-offline, #ef4444)}.software-installed{font-variant-numeric:tabular-nums}.software-drift{color:var(--color-warning, #ea580c);font-weight:600;font-size:.75rem}.software-stale{color:var(--color-text-secondary, #64748b);font-size:.7rem;font-style:italic}.software-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-xs, .25rem)}.software-actions button{padding:.2rem .5rem;font-size:.75rem;border:1px solid var(--color-border, #e2e8f0);border-radius:.375rem;background:var(--color-bg, #f8fafc);color:var(--color-text, #0f172a);cursor:pointer}.software-actions button:hover:not(:disabled){background:#eef2ff;border-color:var(--color-primary, #2563eb)}.software-actions button:disabled{opacity:.45;cursor:not-allowed}.software-empty{color:var(--color-text-secondary, #64748b);font-size:.85rem;margin:0}.software-this-device{color:var(--color-text-secondary, #64748b);font-size:.85rem;margin:0 0 .6rem}.software-this-device code{font-size:.8rem;opacity:.85}.software-bs-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm, .5rem);margin-bottom:var(--spacing-md, 1rem);font-size:.85rem}.software-bs-label{font-weight:600;color:var(--color-text, #0f172a)}.software-bs-summary{color:var(--color-text, #0f172a);font-variant-numeric:tabular-nums}.software-bs-inherit{color:var(--color-text-secondary, #64748b);font-style:italic;font-size:.8rem}.software-bs-override{color:var(--color-warning, #ea580c);font-weight:600;font-size:.75rem}.software-bs-editor{border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius, .5rem);background:var(--color-bg, #f8fafc);padding:var(--spacing-md, 1rem);margin-bottom:var(--spacing-md, 1rem);display:flex;flex-direction:column;gap:var(--spacing-sm, .5rem)}.software-bs-editor-title{font-weight:600;font-size:.9rem;color:var(--color-text, #0f172a)}.software-bs-fields{display:flex;flex-wrap:wrap;gap:var(--spacing-md, 1rem)}.software-bs-field{display:flex;flex-direction:column;gap:var(--spacing-xs, .25rem);font-size:.75rem;color:var(--color-text-secondary, #64748b)}.software-bs-field select,.software-bs-field input{padding:.25rem .4rem;border:1px solid var(--color-border, #e2e8f0);border-radius:.375rem;font-size:.8rem;background:var(--color-surface, #fff);min-width:8rem}.software-bs-preview{margin:0;padding:var(--spacing-sm, .5rem);background:var(--color-surface, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:.375rem;font-size:.7rem;max-height:12rem;overflow:auto}.software-bs-preview-empty{margin:0;color:var(--color-text-secondary, #64748b);font-size:.8rem;font-style:italic}.software-bs-warning{margin:0;color:var(--color-warning, #ea580c);font-size:.8rem}.agent-config-editor{border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius, .5rem);background:var(--color-bg, #f8fafc);padding:var(--spacing-md, 1rem);margin-bottom:var(--spacing-md, 1rem);display:flex;flex-direction:column;gap:var(--spacing-sm, .5rem)}.agent-config-editor-title{font-weight:600;font-size:.9rem;color:var(--color-text, #0f172a)}.agent-config-editor-hint{margin:0;color:var(--color-text-secondary, #64748b);font-size:.8rem}.agent-config-sections{display:flex;flex-wrap:wrap;gap:var(--spacing-md, 1rem)}.agent-config-group{border:1px solid var(--color-border, #e2e8f0);border-radius:.375rem;padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem) var(--spacing-md, 1rem);margin:0;min-width:16rem;flex:1 1 18rem;display:flex;flex-direction:column;gap:var(--spacing-sm, .5rem)}.agent-config-group legend{font-weight:600;font-size:.8rem;color:var(--color-text, #0f172a);padding:0 .35rem}.agent-config-field{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm, .5rem);font-size:.8rem;color:var(--color-text, #0f172a)}.agent-config-field.danger .agent-config-field-label,.agent-config-danger-tag{color:var(--color-warning, #ea580c)}.agent-config-field-label{display:flex;flex-direction:column;gap:.1rem}.agent-config-field-desc{font-size:.7rem;color:var(--color-text-secondary, #64748b);font-weight:400}.agent-config-field select,.agent-config-field input{padding:.3rem .4rem;border:1px solid var(--color-border, #e2e8f0);border-radius:.375rem;font-size:.8rem;background:var(--color-surface, #fff);min-width:8rem;min-height:2.25rem}.agent-config-preview{margin:0;padding:var(--spacing-sm, .5rem);background:var(--color-surface, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:.375rem;font-size:.7rem;max-height:12rem;overflow:auto}.agent-config-preview-empty{margin:0;color:var(--color-text-secondary, #64748b);font-size:.8rem;font-style:italic}.software-room-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.software-room-header h3{margin:0}.software-hmd-table td{vertical-align:top}.software-hmd-adder{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0 12px}.software-hmd-table tr.software-hmd-offline td{opacity:.6}.software-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem}.software-hmd-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.software-hmd-badge.ok{background:rgba(30,142,62,.14);color:#1e8e3e}.software-hmd-badge.warn{background:rgba(224,121,27,.16);color:#b85c0c}.software-hmd-badge.err{background:rgba(192,57,43,.14);color:#c0392b}.software-hmd-badge.muted{background:rgba(100,116,139,.14);color:var(--color-text-secondary, #64748b)}.software-select{font:inherit;padding:4px 8px;border-radius:6px;border:1px solid #d5dce5;background:#fff;max-width:220px}.software-btn{font:inherit;padding:5px 10px;border-radius:6px;border:1px solid #d5dce5;background:#fff;cursor:pointer}.software-btn:disabled{opacity:.5;cursor:not-allowed}.software-btn.primary{background:#2b6ac0;border-color:#2b6ac0;color:#fff;font-weight:600}.software-btn.danger{background:#c0392b;border-color:#c0392b;color:#fff}.software-btn.subtle{border-color:transparent;color:var(--color-text-secondary, #64748b)}.software-confirm{display:inline-flex;gap:6px;margin-left:6px}.software-error-inline{color:#c0392b;font-size:.75rem;margin-top:2px}.settings-view{padding:var(--spacing-lg, 1.5rem);max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-md, 1rem)}.settings-header h2{margin:0;color:var(--color-text, #0f172a)}.settings-hint{margin:var(--spacing-xs, .25rem) 0 0;color:var(--color-text-secondary, #64748b);font-size:.85rem}.settings-list{display:flex;flex-direction:column;gap:var(--spacing-sm, .5rem)}.settings-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg, 1.5rem);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius, .5rem);background:var(--color-surface, #fff);padding:var(--spacing-md, 1rem);box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05));cursor:pointer}.settings-item-text{min-width:0}.settings-item-label{font-weight:600;color:var(--color-text, #0f172a)}.settings-item-desc{margin-top:var(--spacing-xs, .25rem);color:var(--color-text-secondary, #64748b);font-size:.85rem;line-height:1.35}.settings-toggle{position:relative;flex:0 0 auto;width:46px;height:26px}.settings-toggle input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.settings-toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-border, #e2e8f0);border-radius:999px;transition:background .15s ease}.settings-toggle-slider:before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05));transition:transform .15s ease}.settings-toggle input:checked+.settings-toggle-slider{background:var(--color-primary, #2563eb)}.settings-toggle input:checked+.settings-toggle-slider:before{transform:translate(20px)}.settings-toggle input:focus-visible+.settings-toggle-slider{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.settings-volume{display:flex;align-items:center;gap:var(--spacing-sm, .5rem);flex:0 0 auto}.settings-volume input[type=range]{width:160px;max-width:40vw;accent-color:var(--color-primary, #2563eb);cursor:pointer}.settings-volume-value{min-width:3ch;text-align:right;font-variant-numeric:tabular-nums;color:var(--color-text-secondary, #64748b);font-size:.9rem}.settings-item--disabled{opacity:.55}.settings-item--disabled input[type=range]{cursor:default}.settings-room{display:flex;flex-direction:column;gap:var(--spacing-sm, .5rem);margin-top:var(--spacing-md, 1rem);padding-top:var(--spacing-md, 1rem);border-top:1px solid var(--color-border, #e2e8f0)}.settings-room-header{font-weight:700;font-size:.95rem;color:var(--color-text-secondary, #64748b)}.settings-item--static{cursor:default}.settings-error{margin:0;color:var(--color-danger, #dc2626);font-size:.85rem}.settings-segment{display:inline-flex;flex:0 0 auto;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius, .5rem);overflow:hidden}.settings-segment-btn{border:none;background:var(--color-surface, #fff);color:var(--color-text-secondary, #64748b);padding:.5rem .9rem;font:inherit;cursor:pointer;white-space:nowrap}.settings-segment-btn+.settings-segment-btn{border-left:1px solid var(--color-border, #e2e8f0)}.settings-segment-btn.is-active{background:var(--color-primary, #2563eb);color:#fff}.settings-segment-btn--danger.is-active{background:var(--color-danger, #dc2626)}.settings-segment-btn:disabled{opacity:.6;cursor:default}.settings-confirm{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md, 1rem);border:1px solid var(--color-danger, #dc2626);border-radius:var(--border-radius, .5rem);background:#fef2f2;padding:var(--spacing-md, 1rem)}.settings-confirm-text{color:var(--color-text, #0f172a);font-size:.9rem}.settings-confirm-actions{display:flex;gap:.5rem;flex:0 0 auto}.settings-btn{border:1px solid var(--color-border, #e2e8f0);background:var(--color-surface, #fff);color:var(--color-text, #0f172a);border-radius:var(--border-radius, .5rem);padding:.5rem .9rem;font:inherit;cursor:pointer}.settings-btn--danger{border-color:var(--color-danger, #dc2626);background:var(--color-danger, #dc2626);color:#fff}.settings-btn:disabled{opacity:.6;cursor:default}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:rgba(0,0,0,.07);position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}.logs-view{display:flex;flex-direction:column;height:100%;gap:.5rem}.logs-filters{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:.5rem;background:var(--color-surface, #1e293b);border-radius:var(--border-radius, .5rem)}.logs-filters select,.logs-filter-input{padding:.35rem .5rem;border-radius:4px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;font-size:.8rem}.logs-btn-sm{padding:.35rem .75rem;border-radius:4px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;font-size:.8rem;cursor:pointer}.logs-btn-sm:hover{background:#334155}.logs-btn-active{background:#16a34a;border-color:#16a34a;color:#fff}.logs-btn-active:hover{background:#15803d}.logs-error{padding:.5rem;background:#7f1d1d;color:#fca5a5;border-radius:4px;font-size:.85rem}.logs-table-container{flex:1;overflow-y:auto;background:#0f172a;border-radius:var(--border-radius, .5rem)}.logs-table{width:100%;border-collapse:collapse;font-size:.8rem;font-family:Consolas,Monaco,monospace}.logs-table thead{position:sticky;top:0;z-index:1}.logs-table th{padding:.4rem .5rem;text-align:left;font-weight:600;color:#94a3b8;background:#1e293b;border-bottom:1px solid #334155;white-space:nowrap}.logs-table td{padding:.25rem .5rem;border-bottom:1px solid #1e293b;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logs-cell-message{white-space:normal!important;word-break:break-word;max-width:0;width:100%}.logs-cell-date,.logs-cell-time{color:#64748b}.logs-cell-pc,.logs-cell-app,.logs-cell-category{color:#94a3b8}.logs-row:hover{background:#1e293b}.logs-level-error td,.logs-level-fatal td{background:rgba(239,68,68,.08)}.logs-level-warn td{background:rgba(245,158,11,.06)}.logs-level-debug td{color:#64748b}.logs-level-badge{font-size:.7rem;letter-spacing:.05em}.logs-row-expanded td{background:#1e293b;padding:0}.logs-metadata{margin:0;padding:.75rem 1rem;font-size:.75rem;color:#94a3b8;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.logs-loading,.logs-empty{padding:2rem;text-align:center;color:#64748b;font-size:.9rem}.logs-load-more{display:block;width:100%;padding:.5rem;background:none;border:none;color:#3b82f6;cursor:pointer;font-size:.85rem}.logs-load-more:hover{background:#1e293b}.deployment-view{display:flex;flex-direction:column;height:100%;gap:.5rem}.deployment-toolbar{display:flex;gap:.5rem;align-items:center;padding:.5rem;background:var(--color-surface, #1e293b);border-radius:var(--border-radius, .5rem)}.deployment-toolbar select{padding:.35rem .5rem;border-radius:4px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;font-size:.8rem}.deployment-btn{padding:.35rem .75rem;border-radius:4px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;font-size:.8rem;cursor:pointer}.deployment-btn:hover{background:#334155}.deployment-btn-primary{background:#2563eb;border-color:#2563eb;color:#fff}.deployment-btn-primary:hover{background:#1d4ed8}.deployment-btn-success{background:#16a34a;border-color:#16a34a;color:#fff}.deployment-btn-success:hover{background:#15803d}.deployment-btn-danger{background:#dc2626;border-color:#dc2626;color:#fff}.deployment-btn-danger:hover{background:#b91c1c}.deployment-btn-sm{padding:.2rem .5rem;font-size:.7rem}.deployment-content{display:flex;flex:1;gap:.5rem;overflow:hidden}.config-matrix{flex:1;min-width:0;display:flex;flex-direction:column;background:#0f172a;border-radius:var(--border-radius, .5rem);overflow:hidden}.config-matrix-header{padding:.5rem .75rem;background:#1e293b;border-bottom:1px solid #334155;font-weight:600;font-size:.85rem;color:#e2e8f0}.config-matrix-scroll{flex:1;overflow:auto}.config-matrix-table{width:100%;border-collapse:collapse;font-size:.8rem}.config-matrix-table th{padding:.4rem .5rem;text-align:left;font-weight:600;color:#94a3b8;background:#1e293b;border-bottom:1px solid #334155;white-space:nowrap;position:sticky;top:0;z-index:1}.config-matrix-table td{padding:.35rem .5rem;border-bottom:1px solid #1e293b;color:#cbd5e1;vertical-align:top}.config-matrix-row{cursor:pointer}.config-matrix-row:hover td{background:#1e293b}.config-matrix-row.selected td{background:rgba(37,99,235,.15);border-color:#2563eb4d}.config-name{font-weight:600;white-space:nowrap}.config-room-name{font-size:.7rem;color:#64748b}.phase-cell{min-width:140px}.phase-cell-empty{color:#475569;font-style:italic;font-size:.75rem}.phase-cell-content{display:flex;flex-direction:column;gap:.25rem}.phase-release{display:flex;align-items:center;gap:.35rem;padding:.2rem .4rem;background:#1e293b;border-radius:4px;font-size:.75rem}.phase-release:hover{background:#334155}.phase-release-name{font-weight:500;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.phase-release-version{font-family:Consolas,Monaco,monospace;color:#94a3b8;font-size:.7rem}.phase-release-actions{display:flex;gap:.15rem;margin-left:auto;opacity:0}.phase-release:hover .phase-release-actions{opacity:1}.phase-action-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:.1rem;font-size:.7rem;line-height:1}.phase-action-btn:hover{color:#e2e8f0}.phase-add-btn{background:none;border:1px dashed #334155;border-radius:4px;color:#475569;cursor:pointer;padding:.15rem .4rem;font-size:.7rem;width:100%;text-align:center}.phase-add-btn:hover{border-color:#2563eb;color:#2563eb}.phase-badge{display:inline-block;padding:.1rem .35rem;border-radius:3px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.phase-production{background:rgba(22,163,74,.2);color:#4ade80}.phase-beta{background:rgba(245,158,11,.2);color:#fbbf24}.phase-alpha{background:rgba(139,92,246,.2);color:#a78bfa}.phase-backup{background:rgba(100,116,139,.2);color:#94a3b8}.phase-short{background:rgba(6,182,212,.2);color:#22d3ee}.room-sync-panel{flex:1;min-width:0;display:flex;flex-direction:column;background:#0f172a;border-radius:var(--border-radius, .5rem);overflow:hidden}.room-sync-header{padding:.5rem .75rem;background:#1e293b;border-bottom:1px solid #334155;font-weight:600;font-size:.85rem;color:#e2e8f0}.room-sync-scroll{flex:1;overflow-y:auto;padding:.5rem}.room-sync-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#475569;font-size:.85rem}.room-group{margin-bottom:.75rem}.room-group-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem .5rem;background:#1e293b;border-radius:4px;margin-bottom:.35rem}.room-group-title{font-weight:600;font-size:.8rem;color:#e2e8f0}.pc-row{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-bottom:1px solid #1e293b;font-size:.8rem}.pc-row:last-child{border-bottom:none}.pc-name{font-weight:500;color:#e2e8f0;min-width:80px}.pc-role-badge{font-size:.65rem;padding:.1rem .3rem;border-radius:3px;font-weight:600;text-transform:uppercase}.pc-role-primary{background:rgba(37,99,235,.2);color:#60a5fa}.pc-role-secondary{background:rgba(100,116,139,.2);color:#94a3b8}.pc-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pc-status-online{background:#22c55e}.pc-status-offline{background:#64748b}.pc-status-error{background:#ef4444}.pc-sync-statuses{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0}.pc-sync-item{display:flex;align-items:center;gap:.35rem;font-size:.7rem}.pc-sync-exp-name{color:#94a3b8;min-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-status-badge{display:inline-block;padding:.05rem .3rem;border-radius:3px;font-size:.65rem;font-weight:600;text-transform:uppercase}.sync-installed{background:rgba(34,197,94,.2);color:#4ade80}.sync-downloading{background:rgba(59,130,246,.2);color:#60a5fa}.sync-pending{background:rgba(100,116,139,.2);color:#94a3b8}.sync-failed{background:rgba(239,68,68,.2);color:#f87171}.sync-downloaded{background:rgba(34,197,94,.15);color:#86efac}.sync-not-synced{background:rgba(100,116,139,.1);color:#475569;font-style:italic}.sync-progress-bar{flex:1;height:6px;background:#1e293b;border-radius:3px;overflow:hidden;min-width:40px;max-width:120px}.sync-progress-fill{height:100%;background:#3b82f6;border-radius:3px;transition:width .3s ease}.sync-progress-text{color:#64748b;font-size:.65rem;white-space:nowrap}.sync-source{font-size:.6rem;color:#475569;text-transform:uppercase}.sync-error-msg{color:#f87171;font-size:.65rem;margin-top:.1rem}.pc-actions{margin-left:auto;flex-shrink:0}.deployment-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000}.deployment-dialog{background:#1e293b;border-radius:8px;border:1px solid #334155;padding:1.25rem;min-width:400px;max-width:500px;width:100%}.deployment-dialog-title{font-size:1rem;font-weight:600;color:#e2e8f0;margin-bottom:1rem}.deployment-dialog-field{margin-bottom:.75rem}.deployment-dialog-label{display:block;font-size:.75rem;font-weight:500;color:#94a3b8;margin-bottom:.25rem}.deployment-dialog-select,.deployment-dialog-input{width:100%;padding:.4rem .5rem;border-radius:4px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;font-size:.85rem}.deployment-dialog-select:focus,.deployment-dialog-input:focus{outline:none;border-color:#2563eb}.deployment-dialog-info{padding:.5rem .75rem;background:#0f172a;border-radius:4px;font-size:.8rem;color:#94a3b8;margin-bottom:.75rem}.deployment-dialog-info strong{color:#e2e8f0}.deployment-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.deployment-loading,.deployment-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#64748b;font-size:.9rem}.deployment-toast{position:fixed;bottom:1rem;right:1rem;padding:.5rem 1rem;border-radius:6px;font-size:.8rem;z-index:1001;animation:toast-in .3s ease}.deployment-toast-success{background:rgba(22,163,74,.9);color:#fff}.deployment-toast-error{background:rgba(220,38,38,.9);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.sync-paused-badge{font-size:.6rem;font-weight:800;padding:.1rem .35rem;border-radius:3px;color:#fff;background:#b45309;white-space:nowrap}.sync-pause-btn{color:#fbbf24}.sync-resume-btn{color:#4ade80}:root{--color-primary: #2563eb;--color-secondary: #1e40af;--color-success: #16a34a;--color-warning: #ea580c;--color-error: #dc2626;--color-bg: #f8fafc;--color-surface: #ffffff;--color-text: #0f172a;--color-text-secondary: #64748b;--color-border: #e2e8f0;--color-online: #22c55e;--color-offline: #ef4444;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--border-radius: .5rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;line-height:1.5;color:var(--color-text)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg)}#root{width:100%;height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);font-size:.95rem;transition:all .2s ease}button:hover{opacity:.9;transform:translateY(-1px);box-shadow:var(--shadow-md)}button:active{transform:translateY(0)}input,select,textarea{font-family:inherit;border-radius:var(--border-radius);border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);font-size:.95rem;transition:border-color .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.app{min-height:100vh;display:flex;flex-direction:column;background:#0f0f0f;color:#e0e0e0}.app-header{background:#1a1a1a;padding:.4rem 1rem;border-bottom:1px solid #333;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:.75rem;overflow:visible}.app-header h1{font-size:1.1rem;color:#00d4ff;margin:0;white-space:nowrap}.header-left{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.header-room-selector{display:flex;align-items:center;gap:.35rem}.header-room-selector select{background:#2a2a2a;color:#fff;border:1px solid #444;padding:.25rem .5rem;font-size:.85rem;border-radius:4px}.operator-info{padding:.5rem 1rem;background:rgba(40,167,69,.2);border:1px solid #28a745;border-radius:6px;color:#28a745;font-size:.9rem;font-weight:600}.header-actions{display:flex;gap:1rem;align-items:center}.dagstart-btn{padding:.5rem 1.25rem;font-weight:600;border-radius:6px;transition:all .2s;background:#16a34a;color:#fff}.dagstart-btn:hover:not(:disabled){background:#15803d}.dagstart-btn:disabled{background:#6b7280;cursor:not-allowed;opacity:.7}.dagafsluiting-btn{padding:.5rem 1.25rem;font-weight:600;border-radius:6px;transition:all .2s;background:#ff9800;color:#fff}.dagafsluiting-btn:hover{background:#f57c00}.operator-logout-btn{padding:.5rem 1.25rem;font-weight:600;border-radius:6px;transition:all .2s;background:#dc2626;color:#fff}.operator-logout-btn:hover{background:#b91c1c}.admin-login-btn,.admin-logout-btn{padding:.5rem 1.25rem;font-weight:600;border-radius:6px;transition:all .2s}.admin-login-btn{background:#28a745;color:#fff}.admin-login-btn:hover{background:#218838}.admin-logout-btn{background:#6c757d;color:#fff}.admin-logout-btn:hover{background:#5a6268}.lock-kiosk-btn{padding:.5rem 1.25rem;background:#dc2626;color:#fff;font-weight:600;border-radius:6px}.lock-kiosk-btn:hover{background:#b91c1c}.quit-app-btn{padding:.5rem 1.25rem;background:#7c3aed;color:#fff;font-weight:600;border-radius:6px}.quit-app-btn:hover{background:#6d28d9}.app-main{flex:1;padding:1rem;overflow:hidden;display:flex;flex-direction:column;min-height:0}.app-footer{background:#1a1a1a;padding:1rem 2rem;border-top:2px solid #333;text-align:center;color:#888}.refresh-btn{background:rgba(0,212,255,.12);border:1px solid rgba(0,212,255,.3);color:#00d4ff;font-size:.85rem;font-weight:500;padding:.35rem .75rem;border-radius:4px;transition:all .2s ease}.refresh-btn:hover{background:rgba(0,212,255,.25);border-color:#00d4ff80;color:#00e5ff}.dashboard,.networks-container{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.network-section{flex:1;display:flex;flex-direction:column;min-height:0}.pc-grid{display:grid;gap:.75rem;width:100%;height:100%;overflow:hidden;flex:1;min-height:0}.pc-tile{background:#252525;border:2px solid #333;border-radius:8px;padding:.5rem;transition:all .3s ease;position:relative;display:flex;flex-direction:column;overflow:hidden;min-height:0;min-width:0}.pc-tile.online{border-color:#0f8}.pc-tile.offline{border-color:#f44;opacity:.7}.pc-tile.devices-warning{border-color:red!important;border-width:3px}.pc-tile.danger-zone-active{border-color:#ff6b00!important;border-width:4px;animation:dangerPulse 2s ease-in-out infinite;box-shadow:0 0 20px #ff6b0080}@keyframes dangerPulse{0%,to{border-color:#ff6b00;box-shadow:0 0 20px #ff6b0080}50%{border-color:red;box-shadow:0 0 30px #f00c}}.danger-zone-alert{display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(135deg,rgba(255,107,0,.2) 0%,rgba(255,0,0,.2) 100%);border:2px solid #ff6b00;border-radius:8px;margin-bottom:.75rem;animation:alertFlash 1.5s ease-in-out infinite}@keyframes alertFlash{0%,to{background:linear-gradient(135deg,rgba(255,107,0,.2) 0%,rgba(255,0,0,.2) 100%)}50%{background:linear-gradient(135deg,rgba(255,107,0,.3) 0%,rgba(255,0,0,.3) 100%)}}.danger-zone-icon{font-size:2.5rem;line-height:1;animation:iconBounce 1s ease-in-out infinite}@keyframes iconBounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.danger-zone-content{flex:1;min-width:0}.danger-zone-title{font-size:1.1rem;font-weight:700;color:#ff6b00;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.danger-zone-reason{font-size:.9rem;color:orange;font-weight:500}.notifications-container{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.notification{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;border:2px solid;animation:notificationSlideIn .3s ease-out}@keyframes notificationSlideIn{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.notification-error{background:linear-gradient(135deg,rgba(255,107,0,.2) 0%,rgba(255,0,0,.2) 100%);border-color:#ff6b00;animation:alertFlash 1.5s ease-in-out infinite}.notification-error .notification-icon{font-size:2rem;animation:iconBounce 1s ease-in-out infinite}.pc-tile:has(.notification-error){border-color:#ff6b00!important;border-width:4px;animation:dangerPulse 2s ease-in-out infinite;box-shadow:0 0 20px #ff6b0080}.notification-warning{background:linear-gradient(135deg,rgba(255,193,7,.15) 0%,rgba(255,152,0,.15) 100%);border-color:#ff9800}.notification-warning .notification-icon{font-size:1.75rem;color:#ff9800}.notification-info{background:linear-gradient(135deg,rgba(33,150,243,.15) 0%,rgba(3,169,244,.15) 100%);border-color:#2196f3}.notification-info .notification-icon{font-size:1.75rem;color:#2196f3}.notification-content{flex:1;min-width:0}.notification-text{font-size:.95rem;font-weight:600;color:#fff;line-height:1.3}.notification-error .notification-text{color:#ff6b00;font-weight:700}.notification-warning .notification-text{color:#ff9800}.notification-info .notification-text{color:#2196f3}.pc-tile-header{display:flex;justify-content:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #333}.pc-name-centered{display:flex;align-items:center;gap:.75rem}.pc-name-centered h3{margin:0;font-size:1.3rem}.status-indicator{width:12px;height:12px;border-radius:50%}.status-indicator.online{background:#00ff88;box-shadow:0 0 8px #0f8}.status-indicator.offline{background:#ff4444}.role-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;text-transform:uppercase}.role-badge.primary{background:#00d4ff;color:#000}.role-badge.secondary{background:#666;color:#fff}.role-badge.server{background:#ff9800;color:#000}.instruction-buttons-bar{display:flex;gap:8px;padding:8px 12px;flex-wrap:wrap}.instruction-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:rgba(33,150,243,.15);border:1px solid rgba(33,150,243,.4);color:#90caf9;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .15s}.instruction-btn:hover{background:rgba(33,150,243,.25)}.instruction-btn.active{background:rgba(33,150,243,.3);border-color:#90caf9;color:#bbdefb}.instruction-btn-icon{font-size:1rem}.instruction-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:10000;cursor:pointer}.instruction-modal-image{max-width:95%;max-height:95%;object-fit:contain;cursor:pointer}.admin-info-section{margin-bottom:1rem;padding:1rem;background:linear-gradient(135deg,#1e3a5f 0%,#2a1a4f 100%);border:2px solid #28a745;border-radius:8px}.admin-info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(40,167,69,.3)}.admin-badge{padding:.25rem .75rem;background:#28a745;color:#fff;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.5px}.admin-info-content{display:flex;flex-direction:column;gap:.75rem}.admin-info-item{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.admin-label{font-weight:600;color:#aaa;font-size:.875rem;min-width:80px}.ip-address{font-family:Courier New,Courier,monospace;color:#00d4ff;font-weight:600;padding:.25rem .5rem;background:rgba(0,212,255,.1);border-radius:4px}.no-ip{color:#666;font-style:italic}.admin-update-btn{margin-top:.5rem;width:100%}.admin-action-btn{margin-top:.5rem;width:100%;padding:.75rem;font-weight:700;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s}.restart-btn{background:#ff9800;color:#fff}.restart-btn:hover:not(:disabled){background:#f57c00}.shutdown-btn{background:#dc2626;color:#fff}.shutdown-btn:hover:not(:disabled){background:#b91c1c}.admin-action-btn:disabled{background:#555;cursor:not-allowed;opacity:.6}.restart-pc-section{margin-bottom:.75rem;padding:.75rem;background:#1a1a1a;border:2px solid #ff9800;border-radius:8px}.location-manager-restart-btn{width:100%;padding:.75rem;background:#ff9800;color:#fff;font-weight:700;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .2s}.location-manager-restart-btn:hover:not(:disabled){background:#f57c00;transform:translateY(-1px);box-shadow:0 4px 8px #ff98004d}.location-manager-restart-btn:disabled{background:#555;cursor:not-allowed;opacity:.6}.pico-status{margin-bottom:0;padding:.65rem;background:#252525;border-radius:4px;display:flex;align-items:center;gap:.65rem;font-size:.85rem;flex-wrap:wrap}.pico-indicator{font-weight:600}.pico-indicator.disconnected{color:#666}.battery-level{padding:.25rem .5rem;background:#252525;border-radius:4px;font-weight:500}.battery-level.low{color:#f44;animation:pulse-battery 1.5s ease-in-out infinite}@keyframes pulse-battery{0%,to{opacity:1}50%{opacity:.5}}.mp-status{margin-bottom:1rem;padding:.75rem;background:#1a1a1a;border-radius:4px;display:flex;align-items:center;gap:.75rem;font-size:.875rem}.mp-indicator{font-weight:600;font-size:.875rem}.mp-indicator.connected{color:#0f8}.mp-indicator.disconnected{color:#666}.admin-info-item .mp-indicator{padding:.25rem .5rem;background:rgba(0,255,136,.1);border-radius:4px}.admin-info-item .mp-indicator.disconnected{background:rgba(102,102,102,.1)}.mp-server-ip{padding:.25rem .5rem;background:rgba(0,212,255,.1);border-radius:4px;font-family:Courier New,Courier,monospace;font-size:.8rem;color:#00d4ff}.pico-error{color:#ff9800;cursor:help}.headset-status{margin-bottom:0;padding:.65rem;background:#252525;border-radius:4px;display:flex;align-items:center;gap:.65rem;font-size:.85rem;flex-wrap:wrap}.headset-indicator{font-weight:600}.charging-indicator{padding:.2rem .4rem;background:#252525;border-radius:4px;font-weight:500;color:orange;font-size:.8rem}.headset-error{color:#ff9800;cursor:help}.status-panel{margin-bottom:.75rem;padding:.75rem;background:#1a1a1a;border:2px solid #333;border-radius:8px}.status-panel-header{font-size:.85rem;font-weight:600;color:#00d4ff;text-transform:uppercase;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #333;text-align:center}.device-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.volume-control{margin-top:.75rem;margin-bottom:.75rem;padding:.75rem;background:#1a1a1a;border:2px solid #333;border-radius:8px}.volume-control input[type=range]{width:100%;height:6px;border-radius:3px;background:linear-gradient(90deg,#00d4ff 0%,#00d4ff var(--value),#333 var(--value),#333 100%);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.volume-control input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px;border-radius:3px;background:transparent}.volume-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#ffffff;cursor:pointer;margin-top:-5px;box-shadow:0 2px 4px #0000004d}.volume-control input[type=range]::-moz-range-track{width:100%;height:6px;border-radius:3px;background:#333}.volume-control input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:#00d4ff}.volume-control input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#ffffff;cursor:pointer;border:none;box-shadow:0 2px 4px #0000004d}.experience-section{padding:1rem;background:#1a1a1a;border-radius:8px;border:2px solid #00d4ff}.experience-header{margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid #333}.skip-billing-container{margin-bottom:.75rem;padding:.75rem;background:rgba(255,152,0,.1);border:2px solid #ff9800;border-radius:6px}.skip-billing-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.skip-billing-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#ff9800}.skip-billing-text{font-size:.95rem;font-weight:600;color:#ff9800}.launch-progress-container{margin-bottom:1rem;padding:1rem;background:rgba(0,212,255,.1);border:2px solid #00d4ff;border-radius:8px;animation:pulse-border 2s ease-in-out infinite}@keyframes pulse-border{0%,to{border-color:#00d4ff;box-shadow:0 0 #00d4ff66}50%{border-color:#0fa;box-shadow:0 0 15px #00d4ff99}}.launch-progress-label{font-size:.9rem;font-weight:600;color:#00d4ff;margin-bottom:.5rem;text-align:center}.launch-progress-bar{width:100%;height:24px;background:#1a1a1a;border-radius:12px;overflow:hidden;position:relative;box-shadow:inset 0 2px 4px #0000004d}.launch-progress-fill{height:100%;background:linear-gradient(90deg,#00d4ff 0%,#00ffaa 50%,#00d4ff 100%);background-size:200% 100%;animation:progress-shimmer 1.5s ease-in-out infinite;transition:width .3s ease-out;border-radius:12px;box-shadow:0 0 10px #00d4ff80}@keyframes progress-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.launch-progress-percent{font-size:.85rem;font-weight:700;color:#0fa;text-align:center;margin-top:.5rem;letter-spacing:1px}.experience-header h4{margin:0;color:#00d4ff;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.experience-details{display:flex;flex-direction:column;gap:.75rem}.experience-name{font-size:1.25rem;font-weight:700;color:#fff;margin-bottom:.25rem}.experience-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.875rem;color:#aaa}.experience-version{padding:.25rem .5rem;background:rgba(0,212,255,.1);border-radius:4px;color:#00d4ff;font-weight:600}.experience-separator{color:#666}.experience-runtime{color:#0f8;font-weight:600}.experience-pid{font-family:Courier New,Courier,monospace;color:#aaa}.experience-time-remaining{padding:.75rem;background:rgba(0,212,255,.05);border-radius:4px;border-left:3px solid #00d4ff;display:flex;justify-content:space-between;align-items:center}.time-remaining-label{color:#aaa;font-size:.875rem}.time-remaining-value{color:#00d4ff;font-weight:600;font-size:.875rem}.experience-progress{margin-top:.5rem}.progress-bar-container{width:100%;height:8px;background:rgba(0,212,255,.1);border-radius:4px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#00d4ff 0%,#0099ff 100%);border-radius:4px;transition:width .3s ease-out;box-shadow:0 0 10px #00d4ff80}.experience-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;width:100%}.next-level-btn{flex:1;min-width:120px;padding:.75rem;background:#4488ff;color:#fff;font-weight:700;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:background .2s}.next-level-btn:hover:not(:disabled){background:#2266dd}.next-level-btn:disabled{background:#555;cursor:not-allowed;opacity:.6}.go-to-level-wrapper{position:relative;flex:1;min-width:120px}.go-to-level-btn{width:100%;min-width:120px;padding:.75rem;background:#9944ff;color:#fff;font-weight:700;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:background .2s}.go-to-level-btn:hover:not(:disabled){background:#7722dd}.go-to-level-btn:disabled{background:#555;cursor:not-allowed;opacity:.6}.scene-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);z-index:1000;display:flex;align-items:center;justify-content:center}.scene-picker{background:#1e1e2e;border:1px solid #444;border-radius:10px;min-width:300px;max-width:420px;max-height:70vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}.scene-picker-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #333;font-weight:700;font-size:1rem;color:#fff}.scene-picker-close{background:none;border:none;color:#aaa;font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px}.scene-picker-close:hover{color:#fff;background:#333}.scene-picker-list{overflow-y:auto;padding:.5rem}.scene-picker-item{display:block;width:100%;padding:.65rem .75rem;margin-bottom:.25rem;background:#2a2a3e;color:#fff;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:.95rem;text-align:left;transition:background .15s,border-color .15s}.scene-picker-item:hover{background:#9944ff;border-color:#94f}.scene-picker-empty{padding:1.5rem;text-align:center;color:#888}.stop-experience-btn{flex:1;padding:.75rem;background:#ff4444;color:#fff;font-weight:700;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:background .2s}.stop-experience-btn:hover:not(:disabled){background:#cc0000}.stop-experience-btn:disabled{background:#555;cursor:not-allowed;opacity:.6}.invalidate-run-btn{flex:1;padding:.75rem;background:#ccaa00;color:#fff;font-weight:700;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:background .2s}.invalidate-run-btn:hover:not(:disabled){background:#e6c200}.invalidate-run-btn:disabled{background:#555;cursor:not-allowed;opacity:.6}.experience-launch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.launch-experience-btn{padding:1rem;background:linear-gradient(135deg,#00d4ff 0%,#0095c2 100%);color:#fff;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.launch-experience-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00d4ff66}.launch-experience-btn:disabled{background:#555;cursor:not-allowed;opacity:.6}.launch-btn-name{font-size:.95rem;line-height:1.2}.launch-btn-version{font-size:.75rem;opacity:.8;font-weight:600}.beta-badge{display:inline-block;background:#ff8c00;color:#000;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:middle;letter-spacing:.5px}.alpha-badge{display:inline-block;background:#ff4444;color:#fff;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:middle;letter-spacing:.5px}.no-experiences{text-align:center;color:#666;padding:1rem;font-style:italic}.device-connection-status{display:flex;flex-direction:column;gap:.75rem}.device-connection-item{display:flex;align-items:center;gap:12px;padding:1rem;background:#252525;border-radius:8px;border-left:4px solid}.device-connection-item.not-connected{border-left-color:#f44}.device-connection-item.connected{border-left-color:#0f8}.device-connection-item .device-icon{font-size:1.75rem;line-height:1;flex-shrink:0}.device-connection-item .device-message{font-size:1rem;font-weight:600;color:#e0e0e0}.inline-checklist{display:flex;flex-direction:column;gap:.5rem}.inline-checklist-question{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#252525;border-radius:6px;border-left:3px solid #00d4ff}.inline-checklist-question .question-icon{font-size:1rem;color:#00d4ff;font-weight:700;flex-shrink:0}.inline-checklist-question .question-text{font-size:.875rem;color:#e0e0e0;font-weight:500;line-height:1.3}.confirm-checklist-btn{width:100%;padding:.875rem 1.25rem;background:linear-gradient(135deg,#00d4ff 0%,#0095c2 100%);color:#fff;font-weight:700;border:2px solid #00d4ff;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .3s ease;margin-top:.5rem;box-shadow:0 4px 15px #00d4ff66,0 0 20px #00d4ff33,inset 0 1px #fff3;text-shadow:0 1px 2px rgba(0,0,0,.3);position:relative;overflow:hidden;letter-spacing:.03em}.confirm-checklist-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.confirm-checklist-btn:hover:not(:disabled):before{left:100%}.confirm-checklist-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 6px 20px #00d4ff99,0 0 30px #00d4ff4d,inset 0 1px #ffffff4d;border-color:#00e6ff;background:linear-gradient(135deg,#00e6ff 0%,#00a8d8 100%)}.confirm-checklist-btn:active:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 10px #00d4ff80,inset 0 2px 4px #0003}.confirm-checklist-btn:disabled{background:linear-gradient(135deg,#555 0%,#444 100%);border-color:#555;cursor:not-allowed;opacity:.6;box-shadow:none}.cancel-checklist-btn{width:100%;padding:.75rem;background:#6c757d;color:#fff;font-weight:600;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .2s;margin-top:1rem}.cancel-checklist-btn:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.cancel-checklist-btn:disabled{background:#555;cursor:not-allowed;opacity:.6}.single-experience-launching{text-align:center;padding:2rem 1rem;color:#00d4ff;font-size:1.1rem;font-weight:600}.update-btn{width:100%;padding:.75rem;background:#9333ea;color:#fff;font-weight:700;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s}.update-btn:hover:not(:disabled){background:#7c3aed}.update-btn:disabled{background:#555;cursor:not-allowed;opacity:.6}.error-message{margin-top:1rem;padding:.75rem;background:#ff4444;color:#fff;border-radius:4px}.mp-error-tile{background:#1a1a1a;border:3px solid #ff4444;display:flex;align-items:center;justify-content:center;min-height:200px}.mp-error-content{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;padding:2rem}.mp-error-icon{font-size:4rem;color:#f44;animation:pulse-error 2s ease-in-out infinite}@keyframes pulse-error{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.mp-error-message{font-size:1.25rem;font-weight:700;color:#f44;text-transform:uppercase;letter-spacing:.5px}.software-error-tile{background:#1a1a1a;border:3px solid #ff9800;display:flex;align-items:center;justify-content:center;min-height:200px}.software-error-message{font-size:1.25rem;font-weight:700;color:#ff9800;text-transform:uppercase;letter-spacing:.5px;text-align:center;padding:0 1rem}.offline-tile{background:#1a1a1a;border:3px solid #ff6b6b;display:flex;align-items:center;justify-content:center;min-height:200px}.offline-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center;padding:2rem}.offline-icon{font-size:4rem;animation:pulse-sleep 3s ease-in-out infinite}@keyframes pulse-sleep{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.offline-message{font-size:1.25rem;font-weight:700;color:#ff6b6b;text-transform:uppercase;letter-spacing:.5px}.wol-btn{padding:.875rem 1.5rem;background:linear-gradient(135deg,#00d4ff 0%,#0095c2 100%);color:#fff;font-weight:700;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s;min-width:180px}.wol-btn:hover:not(:disabled){background:linear-gradient(135deg,#00b8e6 0%,#007a9d 100%);transform:translateY(-2px);box-shadow:0 4px 12px #00d4ff66}.wol-btn:disabled{background:#555;cursor:not-allowed;opacity:.6}.wol-error{font-size:.875rem;color:#ff9800;font-style:italic}.dashboard-top-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dashboard-top-left{flex:1;min-width:0}.room-actions-bar{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:8px 12px;flex-shrink:0}.wake-all-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#00d4ff 0%,#0095c2 100%);color:#fff;font-weight:700;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.wake-all-btn:hover:not(:disabled){background:linear-gradient(135deg,#00b8e6 0%,#007a9d 100%);transform:translateY(-2px);box-shadow:0 4px 12px #00d4ff66}.wake-all-btn:disabled{background:#555;cursor:not-allowed;opacity:.6}.wake-gateway-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;margin-right:8px;background:linear-gradient(135deg,#ffb300 0%,#f57c00 100%);color:#1a1a1a;font-weight:700;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.wake-gateway-btn:hover:not(:disabled){background:linear-gradient(135deg,#ffa000 0%,#e65100 100%);transform:translateY(-2px);box-shadow:0 4px 12px #f57c0066}.wake-gateway-btn:disabled{background:#555;cursor:not-allowed;opacity:.6}.mark-issue-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;margin-right:8px;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);color:#fff;font-weight:700;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.mark-issue-btn:hover:not(:disabled){background:linear-gradient(135deg,#d97706 0%,#b45309 100%);transform:translateY(-2px);box-shadow:0 4px 12px #d9770666}.mark-issue-btn:disabled{background:#555;cursor:not-allowed;opacity:.6}.language-flag{display:inline-block;margin-left:.5rem;padding:.2rem .5rem;background:linear-gradient(135deg,rgba(0,212,255,.2) 0%,rgba(0,212,255,.4) 100%);border:2px solid #00d4ff;border-radius:6px;font-size:.75rem;font-weight:700;line-height:1;color:#00d4ff;text-shadow:0 0 8px rgba(0,212,255,.6);letter-spacing:.05em;box-shadow:0 0 10px #00d4ff4d}.language-selection-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom));box-sizing:border-box}.language-selection-content{background:#1a1a1a;border:2px solid #00d4ff;border-radius:12px;padding:2rem;max-width:500px;width:90%;box-shadow:0 8px 32px #00d4ff4d;display:flex;flex-direction:column;min-height:0;max-height:100%;box-sizing:border-box}.language-selection-content h3,.language-selection-content .experience-name,.language-selection-content .cancel-lang-btn{flex-shrink:0}.language-selection-content h3{color:#00d4ff;margin:0 0 .5rem;font-size:1.5rem;text-align:center}.language-selection-content .experience-name{color:#aaa;text-align:center;margin-bottom:1.5rem;font-size:.9rem}.language-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem;overflow-y:auto;min-height:0;flex:1 1 auto;-webkit-overflow-scrolling:touch;padding-right:.25rem}@media (max-height: 720px){.language-selection-content{padding:1rem}.language-selection-content h3{font-size:1.2rem}.language-selection-content .experience-name{margin-bottom:.75rem}.language-buttons{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem;margin-bottom:.75rem}.language-btn{padding:.6rem .5rem;gap:.25rem}.cancel-lang-btn{padding:.7rem}.language-flag-img-large{height:1.6rem}.language-flag-large{font-size:1.4rem}}.language-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;background:linear-gradient(135deg,#2a2a2a 0%,#1a1a1a 100%);border:2px solid #333;border-radius:8px;cursor:pointer;transition:all .2s;color:#fff}.language-btn:hover:not(:disabled){border-color:#00d4ff;background:linear-gradient(135deg,#333 0%,#222 100%);transform:translateY(-2px);box-shadow:0 4px 12px #00d4ff4d}.language-btn:disabled{opacity:.5;cursor:not-allowed}.language-flag-large{font-size:2rem;font-weight:700;color:#00d4ff;text-shadow:0 0 10px rgba(0,212,255,.5)}.language-name{font-size:.9rem;color:#aaa}.cancel-lang-btn{width:100%;padding:.875rem;background:#333;color:#fff;border:2px solid #555;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.cancel-lang-btn:hover:not(:disabled){background:#444;border-color:#666}.pc-tile-header-v2{display:flex;align-items:center;gap:.5rem;padding-bottom:.4rem;margin-bottom:.4rem;border-bottom:1px solid #333;flex-shrink:0}.player-index{font-size:1.3rem;font-weight:800;color:#0c6;min-width:1.5rem}.device-batteries{display:flex;gap:.5rem;flex:1;justify-content:center}.battery-indicator{font-size:.7rem;font-weight:700;color:#0f8;padding:.15rem .4rem;background:rgba(0,255,136,.1);border-radius:4px;white-space:nowrap}.battery-indicator.disconnected{color:#666;background:rgba(102,102,102,.1)}.battery-indicator.discharging{color:#ff9800;background:rgba(255,152,0,.12)}.battery-indicator.low{color:#f44;background:rgba(255,68,68,.1);animation:pulse-battery 1.5s ease-in-out infinite}.battery-indicator.hmd-tappable{cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}.battery-indicator.hmd-streaming-down{color:#f44;background:rgba(255,68,68,.12)}.battery-indicator .hmd-dot{display:inline-block;width:.45rem;height:.45rem;border-radius:50%;margin-left:.3rem;vertical-align:middle;background:#00ff88}.battery-indicator .hmd-dot.down{background:#ff4444;animation:pulse-battery 1.5s ease-in-out infinite}.battery-indicator .charging-indicator,.battery-indicator .discharging-indicator{padding:0;background:none;font-size:1rem;font-weight:800;line-height:1;color:inherit;margin-left:.15rem;vertical-align:-.1rem}.red-circle-btn{background:none;border:none;padding:.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.red-circle-btn:hover{transform:none;box-shadow:none;opacity:1}.red-circle{display:block;width:18px;height:18px;border-radius:50%;background:#dc2626;box-shadow:0 0 6px #dc262680;transition:transform .2s}.red-circle-btn:hover .red-circle{transform:scale(1.2);box-shadow:0 0 10px #dc2626cc}.red-button-popup-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);border-radius:8px;z-index:10;display:flex;align-items:center;justify-content:center}.red-popup-content{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:1rem;width:80%;max-width:200px}.red-popup-close{position:absolute;top:.5rem;right:.5rem;background:none;border:none;color:#aaa;font-size:1.2rem;cursor:pointer;padding:.25rem}.red-popup-close:hover{color:#fff;transform:none;box-shadow:none}.red-popup-btn{width:100%;padding:.65rem;font-weight:700;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background .2s;color:#fff}.red-popup-btn:hover{transform:none;box-shadow:none}.red-popup-btn.shutdown{background:#dc2626}.red-popup-btn.shutdown:hover{background:#b91c1c}.red-popup-btn.restart-pc{background:#ff9800}.red-popup-btn.restart-pc:hover{background:#f57c00}.red-popup-btn.restart-agent{background:#9333ea}.red-popup-btn.restart-agent:hover{background:#7c3aed}.red-popup-btn.capture-incident{background:#0284c7}.red-popup-btn.capture-incident:hover{background:#0369a1}.red-popup-btn.mark-issue{background:#d97706}.red-popup-btn.mark-issue:hover{background:#b45309}.red-popup-btn.send-message{background:#7c3aed}.red-popup-btn.send-message:hover{background:#6d28d9}.red-popup-btn.start-parsec{background:#0d9488}.red-popup-btn.start-parsec:hover{background:#0f766e}.red-popup-btn.restart-parsec{background:#0891b2}.red-popup-btn.restart-parsec:hover{background:#0e7490}.red-popup-btn:disabled{background:#555;cursor:not-allowed;opacity:.6}.red-popup-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem;font-size:.8rem;color:#ccc;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:.25rem}.red-popup-toggle input[type=checkbox]{accent-color:#ff9800}.pc-tile-body{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;gap:.4rem}.notifications-container-v2{display:flex;flex-direction:column;gap:.25rem;flex-shrink:0}.notification-v2{display:flex;align-items:center;gap:.4rem;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.notification-v2.notification-error{background:rgba(255,107,0,.15);color:#ff6b00}.notification-v2.notification-warning{background:rgba(255,152,0,.15);color:#ff9800}.notification-v2.notification-info{background:rgba(33,150,243,.15);color:#2196f3}.notification-v2.notification-visitor-done{background:#d32f2f;color:#fff;padding:.5rem .65rem;font-size:.95rem;font-weight:800;letter-spacing:.01em;border-radius:5px;box-shadow:0 0 0 2px #d32f2f59}.notification-v2.notification-visitor-done .notification-icon-v2{font-size:1.1rem}.notification-v2.notification-visitor-done .notification-text-v2{overflow:visible;white-space:normal}@keyframes visitor-done-blink{0%,to{outline-color:#d32f2f;box-shadow:0 0 20px 3px #d32f2fcc}50%{outline-color:#ffb300;box-shadow:0 0 20px 3px #ffb300cc}}.pc-tile.visitor-done-blink{outline:4px solid #d32f2f;outline-offset:2px;animation:visitor-done-blink .9s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.pc-tile.visitor-done-blink{animation:none;outline-color:#d32f2f;box-shadow:0 0 20px 3px #d32f2fcc}}.notification-icon-v2{flex-shrink:0}.notification-text-v2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-action-v2{flex-shrink:0;margin-left:auto;display:flex;align-items:center}.notification-repair-btn{border:1px solid currentColor;background:rgba(255,255,255,.12);color:inherit;font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;cursor:pointer;white-space:nowrap}.notification-repair-btn:hover{background:rgba(255,255,255,.22)}.notification-repair-reboot{background:rgba(244,67,54,.2);color:#f44336}.notification-dismiss-btn{margin-left:.3rem;padding:.15rem .4rem;opacity:.75}.notification-dismiss-btn:hover{opacity:1}.notification-repair-progress{font-size:.72rem;opacity:.85;white-space:nowrap}.notification-repair-ok{font-size:.72rem;font-weight:600;color:#4caf50;white-space:nowrap}.danger-zone-alert-v2{padding:.3rem .5rem;background:linear-gradient(135deg,rgba(255,107,0,.2) 0%,rgba(255,0,0,.2) 100%);border-radius:4px;font-size:.75rem;font-weight:700;color:#ff6b00;text-align:center;flex-shrink:0}.admin-info-compact{padding:.3rem .4rem;background:linear-gradient(135deg,#1e3a5f 0%,#2a1a4f 100%);border:1px solid #28a745;border-radius:4px;font-size:.7rem;display:flex;flex-direction:column;gap:.3rem;flex-shrink:0}.admin-info-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.admin-label-compact{color:#aaa;font-weight:600}.admin-value-compact{color:#00d4ff;font-family:monospace}.mp-shadow-badge{display:inline-block;padding:1px 6px;border-radius:999px;font-size:.7rem;font-weight:600;background:rgba(224,121,27,.16);color:#b85c0c;white-space:nowrap}.mp-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mp-dot.connected{background:#00ff88;box-shadow:0 0 4px #0f8}.mp-dot.disconnected{background:#666}.admin-compact-btn{padding:.25rem .5rem;font-size:.7rem;font-weight:600;border:none;border-radius:4px;cursor:pointer;background:#00d4ff;color:#000}.admin-compact-btn:hover{transform:none;box-shadow:none;opacity:.8}.admin-compact-btn:disabled{background:#555;color:#888;cursor:not-allowed}.force-update-label-compact{display:flex;align-items:center;gap:.25rem;font-size:.65rem;color:#aaa;cursor:pointer}.force-update-label-compact input[type=checkbox]{width:12px;height:12px}.experience-running-v2{display:flex;flex-direction:column;gap:.4rem;flex:1;min-height:0}.experience-running-info{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.experience-running-left{min-width:0;flex:1}.experience-name-v2{font-size:.95rem;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.experience-scene-v2{font-size:.75rem;color:#aaa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.experience-running-right{flex-shrink:0}.time-display{font-size:.75rem;color:#00d4ff;font-weight:600;white-space:nowrap}.time-separator{color:#666}.mini-progress-bar{width:100%;height:4px;background:rgba(0,212,255,.1);border-radius:2px;overflow:hidden;flex-shrink:0}.mini-progress-fill{height:100%;background:linear-gradient(90deg,#00d4ff,#00ffaa);border-radius:2px;transition:width 1s linear}.next-btn-large{width:100%;padding:.6rem;background:#1a1a1a;color:#0c6;font-weight:800;font-size:1rem;border:2px solid #00cc66;border-radius:6px;cursor:pointer;letter-spacing:.05em;transition:all .2s;flex-shrink:0}.next-btn-large:hover:not(:disabled){background:rgba(0,204,102,.15);border-color:#0f8;color:#0f8}.next-btn-large:disabled{background:#333;color:#666;cursor:not-allowed}.experience-running-actions{display:flex;gap:.4rem;flex-shrink:0}.stop-btn-v2{flex:1;padding:.5rem;background:rgba(255,50,50,.15);color:#f44;font-weight:700;font-size:.8rem;border:2px solid #ff4444;border-radius:6px;cursor:pointer;transition:all .2s}.stop-btn-v2:hover:not(:disabled){background:rgba(255,50,50,.3);border-color:#f66;color:#f66}.stop-btn-v2:disabled{background:#333;color:#666;border-color:#555;cursor:not-allowed}.scene-select-btn-v2{flex:1;padding:.5rem;background:#1a1a1a;color:#48f;font-weight:700;font-size:.8rem;border:2px solid #4488ff;border-radius:6px;cursor:pointer;transition:all .2s}.scene-select-btn-v2:hover:not(:disabled){border-color:#6af;color:#6af;background:rgba(68,136,255,.15)}.scene-select-btn-v2:disabled{background:#333;color:#666;cursor:not-allowed}.invalidate-btn-compact{width:100%;padding:.3rem;background:transparent;color:#666;font-size:.7rem;border:1px solid #333;border-radius:4px;cursor:pointer;transition:all .2s;flex-shrink:0}.invalidate-btn-compact:hover:not(:disabled){color:#f44;border-color:#f44}.experience-loading-v2{display:flex;flex-direction:column;gap:.5rem;flex:1;justify-content:center;align-items:stretch}.launch-progress-container-v2{display:flex;align-items:center;gap:.5rem;width:100%}.launch-progress-bar-v2{flex:1;height:6px;background:#333;border-radius:3px;overflow:hidden}.launch-progress-fill-v2{height:100%;background:linear-gradient(90deg,#00d4ff,#00ffaa);border-radius:3px;transition:width .1s linear;animation:progress-shimmer 1.5s ease-in-out infinite;background-size:200% 100%}.launch-progress-percent-v2{font-size:.75rem;color:#00d4ff;font-weight:600;min-width:2.5rem;text-align:right}.device-warning-compact{display:flex;flex-direction:column;gap:.3rem;padding:.4rem;flex:1;justify-content:center}.device-warning-item{font-size:.8rem;font-weight:600;color:#f44;padding:.25rem .5rem;background:rgba(255,68,68,.1);border-radius:4px}.device-warning-item.connected{color:#0f8;background:rgba(0,255,136,.1)}.inline-checklist-v2{display:flex;flex-direction:column;gap:.2rem;flex:1;overflow-y:auto}.checklist-item-v2{font-size:.75rem;color:#aaa;padding:.15rem .3rem}.confirm-checklist-btn-v2{width:100%;padding:.5rem;background:linear-gradient(135deg,#00d4ff 0%,#0095c2 100%);color:#fff;font-weight:700;font-size:.85rem;border:none;border-radius:6px;cursor:pointer;margin-top:auto;flex-shrink:0}.confirm-checklist-btn-v2:hover:not(:disabled){opacity:.9}.experience-selection-v2{display:flex;flex-direction:column;gap:.4rem;flex:1;min-height:0}.test-run-label{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:#ff9800;font-weight:600;padding:.3rem .5rem;background:rgba(255,152,0,.1);border:1px solid #ff9800;border-radius:4px;cursor:pointer;flex-shrink:0}.test-run-label input[type=checkbox]{width:14px;height:14px}.experience-launch-grid-v2{display:flex;flex-direction:column;gap:.4rem;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.launch-btn-v2{width:100%;padding:.6rem .75rem;background:var(--btn-bg, #1a1a1a);color:#fff;border:2px solid var(--btn-color, #444);border-radius:6px;cursor:pointer;font-weight:700;font-size:.9rem;text-align:center;transition:all .2s;flex:1;min-height:2.6rem;display:flex;align-items:center;justify-content:center}.launch-btn-v2:hover:not(:disabled){filter:brightness(1.3)}.launch-btn-v2:disabled{background:#1a1a1a;color:#555;cursor:not-allowed;border-color:#333;filter:none}.launch-btn-name-v2{display:flex;align-items:center;justify-content:center;gap:.4rem}.version-tag{font-size:.6rem;padding:.1rem .3rem;border-radius:3px;font-weight:600;background:rgba(255,255,255,.1);color:#aaa}.phase-badge{font-size:.6rem;padding:.1rem .3rem;border-radius:3px;font-weight:700}.phase-badge.beta{background:#ff9800;color:#000}.phase-badge.alpha{background:#dc2626;color:#fff}.language-flag-v2{font-size:.7rem;color:#00d4ff;font-weight:700}.launch-card-v2{width:100%;padding:.4rem .5rem .5rem;background:var(--btn-bg, #1a1a1a);border:2px solid var(--btn-color, #444);border-radius:6px;flex:1;min-height:4.75rem;display:flex;flex-direction:column;gap:.4rem}.launch-card-name-v2{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:.4rem;color:#fff;font-weight:700;font-size:.9rem;text-align:center}.launch-card-langs-v2{flex:1;min-height:2.4rem;display:flex;align-items:stretch;gap:.4rem}.lang-quick-btn-v2{flex:1;min-width:0;background:rgba(0,0,0,.35);color:#fff;border:1px solid var(--btn-color, #444);border-radius:5px;cursor:pointer;font-weight:700;font-size:1.3rem;letter-spacing:.04em;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:.45rem}.lang-globe-btn-v2{flex:0 0 auto;min-width:5.2rem;background:rgba(0,0,0,.35);color:#fff;border:1px solid var(--btn-color, #444);border-radius:5px;cursor:pointer;font-size:1.6rem;line-height:1;transition:all .15s;display:flex;align-items:center;justify-content:center}.lang-flag-svg{height:1.05em;width:auto;flex-shrink:0;border-radius:2px;box-shadow:0 0 0 .5px #ffffff59;display:inline-block;vertical-align:middle}.language-flag-img-large{height:2.2rem;border-radius:3px}.lang-quick-btn-v2:hover:not(:disabled),.lang-globe-btn-v2:hover:not(:disabled){background:var(--btn-color, #444);filter:brightness(1.1)}.lang-quick-btn-v2:disabled,.lang-globe-btn-v2:disabled{opacity:.5;cursor:not-allowed;filter:none}.experience-launch-grid-v2.compact{gap:.3rem}.experience-launch-grid-v2.compact .launch-card-v2{min-height:3.4rem;padding:.3rem .45rem .4rem;gap:.25rem}.experience-launch-grid-v2.compact .launch-card-name-v2{font-size:.8rem}.experience-launch-grid-v2.compact .launch-card-langs-v2{min-height:1.9rem}.experience-launch-grid-v2.compact .lang-quick-btn-v2{font-size:1.05rem}.experience-launch-grid-v2.compact .lang-globe-btn-v2{font-size:1.2rem;min-width:3.6rem}.experience-launch-grid-v2.compact .launch-btn-v2{min-height:2rem;font-size:.8rem}.back-btn-v2{width:100%;padding:.4rem;background:transparent;color:#888;font-size:.75rem;border:1px solid #333;border-radius:4px;cursor:pointer;flex-shrink:0}.back-btn-v2:hover{color:#ccc;border-color:#555}.no-experiences-v2{color:#666;font-size:.85rem;text-align:center;padding:1rem}.pc-tile-footer{margin-top:auto;padding-top:.3rem;border-top:1px solid #333;flex-shrink:0}.volume-control-v2{display:flex;align-items:center;gap:.4rem}.volume-label{font-size:.6rem;font-weight:700;color:#888;letter-spacing:.05em;flex-shrink:0}.volume-control-v2 input[type=range]{flex:1;height:6px;border-radius:3px;background:linear-gradient(90deg,#00d4ff 0%,#00d4ff var(--value),#333 var(--value),#333 100%);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;margin:0;border:none}.volume-control-v2 input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px;border-radius:3px;background:transparent}.volume-control-v2 input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#ffffff;cursor:pointer;margin-top:-4px;box-shadow:0 2px 4px #0000004d}.volume-control-v2 input[type=range]::-moz-range-track{width:100%;height:6px;border-radius:3px;background:#333}.volume-control-v2 input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:#00d4ff}.volume-control-v2 input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#ffffff;cursor:pointer;border:none;box-shadow:0 2px 4px #0000004d}.error-message-v2{position:absolute;bottom:2rem;left:.5rem;right:.5rem;padding:.3rem .5rem;background:rgba(220,38,38,.9);color:#fff;font-size:.7rem;border-radius:4px;text-align:center;z-index:5}.pc-tile.offline-tile,.pc-tile.mp-error-tile{opacity:.7}.offline-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;flex:1}.offline-icon{font-size:2rem}.offline-message{font-size:.85rem;color:#888}.mp-error-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;flex:1}.mp-error-icon{font-size:2rem;color:#ff9800}.mp-error-message{font-size:.85rem;color:#ff9800;font-weight:600}.wol-btn{padding:.5rem 1rem;background:#00d4ff;color:#000;font-weight:700;border:none;border-radius:6px;cursor:pointer;font-size:.85rem}.wol-btn:disabled{background:#555;color:#888;cursor:not-allowed}.wol-error{font-size:.7rem;color:#f44}.pc-tile.diag-testing{border-color:#00d4ff;animation:diagTestingPulse 2s ease-in-out infinite}@keyframes diagTestingPulse{0%,to{border-color:#00d4ff;box-shadow:0 0 10px #00d4ff4d}50%{border-color:#0095c2;box-shadow:0 0 20px #00d4ff99}}.pc-tile.diag-fixing{border-color:#ff9800;animation:diagFixingPulse 2s ease-in-out infinite}@keyframes diagFixingPulse{0%,to{border-color:#ff9800;box-shadow:0 0 10px #ff98004d}50%{border-color:#f57c00;box-shadow:0 0 20px #ff980099}}.pc-tile.diag-malfunctioning{border-color:#f44;border-width:3px}.diag-rebooting-tile{border-color:#00d4ff}.diag-rebooting-message{color:#00d4ff}.reconnecting-tile{border-color:#7a8699}.updating-tile{border-color:#b98bff}.unreachable-tile{border-color:#f0b429}.reconnecting-tile .offline-icon,.updating-tile .offline-icon,.diag-rebooting-tile .offline-icon{animation:lifecycle-pulse 1.6s ease-in-out infinite}@keyframes lifecycle-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.reconnecting-tile .offline-icon,.updating-tile .offline-icon,.diag-rebooting-tile .offline-icon{animation:none}}.diag-chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;flex-shrink:0;margin-bottom:.4rem}.diag-chip{font-size:.65rem;font-weight:700;padding:.15rem .4rem;border-radius:4px;white-space:nowrap}.diag-chip.pass{color:#0f8;background:rgba(0,255,136,.1)}.diag-chip.degraded{color:#ff9800;background:rgba(255,152,0,.15)}.diag-chip.pending-hmd{color:#00d4ff;background:rgba(0,212,255,.12)}.diag-chip-btn{border:none;cursor:pointer;font-family:inherit}.diag-chip-btn:hover{filter:brightness(1.3);transform:none;box-shadow:none}.diag-badge-overridden{font-size:.65rem;font-weight:700;padding:.15rem .4rem;border-radius:4px;color:#f66;border:1px solid #ff4444;background:transparent;white-space:nowrap}.diag-badge-would-block{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;width:100%;font-size:.7rem;font-weight:800;padding:.25rem .5rem;border-radius:4px;color:#fff;background:#dc2626}.diag-badge-btn{font-size:.65rem;font-weight:700;padding:.1rem .4rem;border:1px solid rgba(255,255,255,.6);border-radius:4px;background:transparent;color:#fff;cursor:pointer}.diag-badge-btn:hover:not(:disabled){background:rgba(255,255,255,.15);transform:none;box-shadow:none}.diag-badge-btn:disabled{opacity:.6;cursor:not-allowed}.diag-run-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;text-align:center;padding:.5rem}.diag-run-title{font-size:.95rem;font-weight:700;color:#00d4ff}.diag-run-title.fixing{color:#ff9800}.diag-run-subtitle{font-size:.8rem;color:#aaa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.diag-run-elapsed{font-size:.75rem;color:#888;font-family:monospace}.diag-run-actions{display:flex;gap:.4rem}.diag-skip-btn{margin-top:.25rem;padding:.4rem 1rem;background:transparent;color:#aaa;font-weight:600;font-size:.75rem;border:1px solid #555;border-radius:6px;cursor:pointer;transition:all .2s}.diag-skip-btn:hover:not(:disabled){color:#fff;border-color:#888}.diag-skip-btn:disabled{opacity:.5;cursor:not-allowed}.diag-malfunction-body{flex:1;display:flex;flex-direction:column;gap:.4rem;padding:.4rem;min-height:0}.diag-malfunction-title{font-size:.95rem;font-weight:800;color:#f44;text-align:center;text-transform:uppercase;letter-spacing:.03em}.diag-malfunction-list{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:.25rem}.diag-malfunction-item{font-size:.75rem;color:#ffb4b4;background:rgba(255,68,68,.1);border-radius:4px;padding:.25rem .4rem}.diag-malfunction-test{font-weight:700;color:#f66}.diag-malfunction-actions{display:flex;flex-direction:column;gap:.35rem;flex-shrink:0}.diag-action-btn{width:100%;padding:.45rem;font-weight:700;font-size:.8rem;border-radius:6px;cursor:pointer;transition:all .2s}.diag-action-btn.retry{background:rgba(0,212,255,.15);color:#00d4ff;border:2px solid #00d4ff}.diag-action-btn.retry:hover:not(:disabled){background:rgba(0,212,255,.3)}.diag-action-btn.override{background:rgba(255,50,50,.15);color:#f44;border:2px solid #ff4444}.diag-action-btn.override:hover:not(:disabled){background:rgba(255,50,50,.3)}.diag-action-btn.report{background:transparent;color:#aaa;border:2px solid #555}.diag-action-btn.report:hover:not(:disabled){color:#fff;border-color:#888}.diag-action-btn:disabled{background:#333;color:#666;border-color:#555;cursor:not-allowed}.upstream-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;margin-bottom:.5rem;background:rgba(255,152,0,.12);border:1px solid #ff9800;border-radius:8px;color:#ff9800;font-size:.85rem;font-weight:600}.upstream-banner-dismiss{background:none;border:none;color:#ff9800;font-size:1rem;cursor:pointer;padding:.15rem .3rem;flex-shrink:0}.upstream-banner-dismiss:hover{color:#fff;transform:none;box-shadow:none}.pc-tile.sync-syncing{border-color:#38bdf8;box-shadow:0 0 12px #38bdf859}.sync-chip{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;width:100%;font-size:.7rem;font-weight:800;padding:.25rem .5rem;border-radius:4px;white-space:nowrap}.sync-chip-paused{color:#fff;background:#b45309;animation:sync-paused-pulse 2s ease-in-out infinite}@keyframes sync-paused-pulse{0%,to{background:#b45309}50%{background:#d97706}}.sync-chip-busy{color:#7dd3fc;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.4)}.sync-chip-btn{font-size:.65rem;font-weight:700;padding:.1rem .4rem;border:1px solid rgba(255,255,255,.6);border-radius:3px;background:rgba(255,255,255,.12);color:inherit;cursor:pointer}.sync-chip-btn:hover{background:rgba(255,255,255,.25);transform:none;box-shadow:none}.sync-run-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;text-align:center;padding:.5rem}.sync-run-title{font-size:.95rem;font-weight:700;color:#38bdf8}.sync-run-subtitle{font-size:.7rem;color:#94a3b8}.sync-run-launch-label{margin-top:.35rem;font-size:.7rem;font-weight:700;color:#e2e8f0}.sync-room-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .75rem;border-radius:6px;margin-bottom:.5rem;font-size:.75rem;font-weight:700;color:#7dd3fc;background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.35)}.sync-room-banner.paused{color:#fff;background:#b45309;border-color:#d97706;animation:sync-paused-pulse 2s ease-in-out infinite}.sync-banner-btn,.sync-room-pause-btn{font-size:.7rem;font-weight:700;padding:.25rem .6rem;border:1px solid rgba(255,255,255,.5);border-radius:4px;background:rgba(255,255,255,.12);color:inherit;cursor:pointer;white-space:nowrap}.sync-banner-btn:hover,.sync-room-pause-btn:hover{background:rgba(255,255,255,.25);transform:none;box-shadow:none}.sync-room-pause-btn{color:#cbd5e1}.touch-keyboard .simple-keyboard.hg-theme-default{background:#eef1f5;border-radius:10px;padding:6px}.touch-keyboard .simple-keyboard .hg-button{height:46px;min-width:34px;background:#fff;border-bottom:1px solid #c4ccd6;border-radius:7px;color:#16202e;font-size:17px;box-shadow:0 1px #00000014}.touch-keyboard .simple-keyboard .hg-button:active{background:#2B6AC0;color:#fff}.touch-keyboard .simple-keyboard .hg-button.hg-functionBtn{background:#dbe2ea;color:#16202e}.touch-keyboard .simple-keyboard .hg-button.hg-button-space{max-width:none}@media (max-width: 768px){.app-header{flex-wrap:wrap;padding:.4rem .5rem;gap:.4rem}.app-header h1{font-size:.95rem}.header-left{flex-shrink:1;min-width:0}.header-room-selector select{font-size:.75rem;padding:.2rem .35rem;max-width:120px}.operator-info{font-size:.7rem;padding:.25rem .5rem;order:10}.header-actions{gap:.4rem;flex-wrap:wrap}.header-actions button,.refresh-btn,.dagstart-btn,.dagafsluiting-btn,.operator-logout-btn,.quit-app-btn{font-size:.75rem;padding:.3rem .6rem}.app-main{padding:.5rem;overflow-y:auto;overflow-x:hidden}.pc-grid{grid-template-columns:1fr!important;grid-template-rows:auto!important;overflow-y:auto!important;overflow-x:hidden;height:auto!important;gap:.5rem}.pc-tile{padding:.4rem;overflow-y:auto;max-height:none}.pc-tile-header{margin-bottom:.4rem;padding-bottom:.4rem}.pc-name-centered h3{font-size:1rem}.status-panel{padding:.5rem;margin-bottom:.5rem}.device-status-grid{grid-template-columns:1fr;gap:.4rem}.experience-section{padding:.5rem}.experience-name{font-size:1rem}.experience-actions{flex-direction:column}.next-level-btn,.go-to-level-btn,.kill-btn{min-width:unset;width:100%}.volume-control input[type=range]::-webkit-slider-thumb{width:24px;height:24px;margin-top:-9px}.volume-control input[type=range]::-moz-range-thumb{width:24px;height:24px}.experience-btn,.launch-btn{font-size:.85rem;padding:.6rem .75rem}.admin-info-section{padding:.5rem}.admin-info-item{font-size:.8rem}.admin-label{min-width:60px;font-size:.75rem}.danger-zone-alert{padding:.5rem;gap:.5rem}.danger-zone-icon{font-size:1.5rem}.danger-zone-title{font-size:.9rem}.danger-zone-reason{font-size:.8rem}.notification{padding:.5rem;gap:.5rem}.instruction-buttons-bar{gap:4px;padding:4px 8px}.instruction-btn{font-size:.75rem;padding:4px 10px}.operator-login-box{min-width:unset;max-width:95vw;padding:24px 20px}.operator-login-box h2{font-size:20px}.numpad-btn{width:64px;height:64px;font-size:24px}.code-display{gap:10px;padding:12px}.code-dot{font-size:28px}.checklist-modal{max-height:95vh}.checklist-header{padding:16px}.checklist-header h2{font-size:20px}.checklist-body{padding:16px}.checklist-step{flex-direction:column;padding:10px;gap:8px}.checklist-step-media{max-width:100%}.checklist-step-content{font-size:16px}.checklist-footer{padding:12px 16px}.update-dropdown{right:0;left:auto;max-width:90vw}}@media (min-width: 769px) and (max-width: 1024px){.app-main{overflow-y:auto;overflow-x:hidden;padding:.75rem}.pc-grid{grid-template-columns:repeat(2,1fr)!important;grid-template-rows:auto!important;overflow:visible!important;height:auto!important;gap:.75rem}.pc-tile{padding:.75rem;min-height:420px;overflow:visible}.player-index{font-size:1.8rem}.battery-indicator{font-size:.9rem;padding:.25rem .55rem}.red-circle{width:22px;height:22px}.experience-name-v2{font-size:1.2rem}.experience-scene-v2,.time-display{font-size:.95rem}.next-btn-large{font-size:1.2rem;padding:.9rem}.stop-btn-v2,.scene-select-btn-v2{font-size:1rem;padding:.8rem}.launch-progress-percent-v2{font-size:.95rem}.launch-btn-v2{font-size:1.1rem;padding:.9rem 1rem}.launch-btn-name-v2{gap:.5rem}.launch-card-name-v2{font-size:1.1rem;gap:.5rem}.lang-quick-btn-v2{font-size:1.7rem}.lang-globe-btn-v2{font-size:2rem;min-width:5.6rem}.experience-launch-grid-v2.compact .launch-card-name-v2{font-size:.95rem}.experience-launch-grid-v2.compact .lang-quick-btn-v2{font-size:1.3rem}.experience-launch-grid-v2.compact .lang-globe-btn-v2{font-size:1.5rem;min-width:4rem}.version-tag,.phase-badge,.language-flag-v2{font-size:.75rem}.device-warning-item{font-size:1rem;padding:.5rem .7rem}.checklist-item-v2{font-size:.95rem;padding:.3rem .4rem}.confirm-checklist-btn-v2{font-size:1.05rem;padding:.8rem}.volume-label{font-size:.8rem}.volume-control-v2 input[type=range]{height:10px}.volume-control-v2 input[type=range]::-webkit-slider-thumb{width:22px;height:22px;margin-top:-6px}.volume-control-v2 input[type=range]::-moz-range-thumb{width:22px;height:22px}.admin-info-compact{font-size:.85rem}.admin-compact-btn{font-size:.85rem;padding:.4rem .7rem}}.supabase-env-badge{position:fixed;top:8px;right:8px;z-index:10000;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font:600 11px/1 Inter,system-ui,sans-serif;letter-spacing:1.5px;text-transform:uppercase;pointer-events:none;box-shadow:0 2px 8px #00000059}.supabase-env-badge-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.supabase-env-badge--staging{background:rgba(56,189,248,.18);border:1px solid rgba(56,189,248,.7);color:#38bdf8}.supabase-env-badge--prod{background:rgba(248,113,113,.18);border:1px solid rgba(248,113,113,.85);color:#f87171}.supabase-env-badge--other{background:rgba(250,204,21,.18);border:1px solid rgba(250,204,21,.75);color:#facc15}.next-up-widget{display:grid;grid-template-columns:3rem 1fr auto;gap:.85rem;align-items:center;padding:.7rem 1rem;margin:.5rem 0 .75rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#e5e5e5}.next-up-widget--loading,.next-up-widget--empty{grid-template-columns:1fr;color:#888;font-style:italic;text-align:center}.next-up-empty-label{font-size:.95rem}.next-up-position{font-size:2rem;font-weight:700;text-align:center;color:#4ade80;line-height:1}.next-up-main{min-width:0}.next-up-headline{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;font-size:1rem}.next-up-headline strong{color:#fafafa}.next-up-sep{color:#ffffff59}.next-up-room{color:#fff9;font-size:.85rem}.next-up-override-pill{margin-left:.4rem;padding:.1rem .45rem;background:rgba(245,158,11,.2);border:1px solid rgba(245,158,11,.4);border-radius:999px;font-size:.7rem;color:#fbbf24}.next-up-sub{margin-top:.2rem;font-size:.75rem;color:#ffffff8c;display:flex;align-items:center;gap:.6rem}.next-up-edit-link{background:transparent;border:0;color:#60a5fa;cursor:pointer;padding:0;font-size:.75rem;text-decoration:underline}.next-up-edit-link:hover{color:#93c5fd}.next-up-checkbox{display:flex;align-items:center;gap:.45rem;font-size:.85rem;color:#ffffffd9;cursor:pointer;-webkit-user-select:none;user-select:none}.next-up-checkbox input{transform:scale(1.2)}.next-up-banner{display:flex;align-items:center;gap:.6rem;margin:.4rem 0 .75rem;padding:.6rem .9rem;background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.45);border-radius:8px;color:#fde68a;font-size:.95rem}.next-up-banner-label{font-weight:600}.next-up-banner-action{flex:1}.next-up-banner-action strong{color:#fff}.next-up-banner-close{background:transparent;border:0;color:#fde68a;cursor:pointer;font-size:1rem;padding:0 .4rem}.queue-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:9000}.queue-picker-modal{width:min(540px,90vw);max-height:80vh;display:flex;flex-direction:column;background:#121212;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#e5e5e5;overflow:hidden}.queue-picker-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.queue-picker-header h2{font-size:1rem;margin:0;font-weight:600}.queue-picker-close{background:transparent;border:0;color:#fff9;cursor:pointer;font-size:1.1rem}.queue-picker-empty{padding:2rem 1rem;text-align:center;color:#ffffff80;font-style:italic}.queue-picker-list{list-style:none;margin:0;padding:.4rem;overflow-y:auto}.queue-picker-row{display:grid;grid-template-columns:auto 2.2rem 3.2rem 1fr;gap:.6rem;align-items:center;padding:.55rem .7rem;border:1px solid transparent;border-radius:8px;cursor:pointer}.queue-picker-row:hover{background:rgba(255,255,255,.04)}.queue-picker-row.selected{background:rgba(74,222,128,.12);border-color:#4ade8080}.queue-picker-pos{font-weight:700;text-align:center;color:#4ade80}.queue-picker-time{color:#ffffffb3;font-size:.85rem}.queue-picker-label{font-size:.9rem}.queue-picker-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.8rem 1rem;border-top:1px solid rgba(255,255,255,.08)}.queue-picker-secondary,.queue-picker-primary{padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;border:1px solid rgba(255,255,255,.15);background:transparent;color:#e5e5e5}.queue-picker-primary{background:#4ade80;color:#052e0d;border-color:#4ade80;font-weight:600}.queue-picker-primary:disabled{opacity:.4;cursor:not-allowed}.queue-display{min-height:100vh;background:#000;color:#fafafa;font-family:Inter,system-ui,sans-serif;padding:4vh 6vw 6vh;display:flex;flex-direction:column}.queue-display--idle{align-items:center;justify-content:center}.queue-display-message{font-size:3rem;color:#fff6;font-style:italic;text-align:center}.queue-display-header{margin-bottom:4vh}.queue-display-header h1{font-size:5rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin:0}.queue-display-subtitle{color:#ffffff73;font-size:1.4rem;margin-top:.4rem}.queue-display-list{flex:1;display:flex;flex-direction:column;gap:.6rem}.queue-display-row{display:grid;grid-template-columns:5rem 1fr 1fr auto;align-items:center;gap:1.5rem;padding:1.2rem 1.8rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;font-size:2.2rem}.queue-display-row--head{background:rgba(74,222,128,.12);border-color:#4ade8099}.queue-display-row-pos{font-size:3rem;font-weight:800;color:#ffffff8c;text-align:center}.queue-display-row--head .queue-display-row-pos{color:#4ade80}.queue-display-row-name{font-weight:600}.queue-display-row-exp{color:#ffffff8c;font-size:1.5rem}.queue-display-row-pill{padding:.4rem 1rem;border-radius:999px;background:#4ade80;color:#052e0d;font-weight:700;font-size:1.2rem;letter-spacing:1px;text-transform:uppercase}.queue-display-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.85);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;animation:queue-display-overlay-in .25s ease-out}@keyframes queue-display-overlay-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.queue-display-overlay-label{font-size:2.5rem;font-weight:600;color:#fde68a;letter-spacing:4px;text-transform:uppercase}.queue-display-overlay-name{font-size:9rem;font-weight:800;margin:1rem 0;color:#fff;text-shadow:0 0 30px rgba(74,222,128,.6)}.queue-display-overlay-sub{font-size:2rem;color:#ffffffb3}.dispatch-modal{width:min(620px,92vw)}.dispatch-body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.dispatch-visitor{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;background:rgba(74,222,128,.08);border:1px solid rgba(74,222,128,.35);border-radius:10px}.dispatch-visitor-name{font-size:1.4rem;font-weight:700;color:#e5e5e5}.dispatch-visitor-meta{color:#e5e5e5a6;font-size:.95rem}.dispatch-section{display:flex;flex-direction:column;gap:.5rem}.dispatch-section-label{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:#e5e5e58c}.dispatch-chips{display:flex;flex-wrap:wrap;gap:.5rem}.dispatch-chip{padding:.5rem .9rem;border-radius:999px;border:1px solid rgba(229,229,229,.25);background:transparent;color:#e5e5e5;font-size:.95rem;cursor:pointer}.dispatch-chip.selected{border-color:#4ade80;background:rgba(74,222,128,.15);color:#4ade80;font-weight:600}.dispatch-chip:disabled{opacity:.4;cursor:not-allowed}.dispatch-pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.dispatch-pc{position:relative;padding:.75rem .5rem;border-radius:10px;border:1px solid rgba(229,229,229,.25);background:#1a1a1a;color:#e5e5e5;font-size:1rem;font-weight:600;cursor:pointer}.dispatch-pc.selected{border-color:#4ade80;background:rgba(74,222,128,.15);color:#4ade80}.dispatch-pc.blocked{opacity:.4;cursor:not-allowed}.dispatch-pc-flag{position:absolute;top:4px;right:8px;color:#fbbf24;font-weight:800}.dispatch-warning{color:#fbbf24;font-size:.9rem}.queue-manage-panel{width:min(680px,94vw)}.queue-manage-header-actions{display:flex;align-items:center;gap:.75rem}.queue-manage-note{margin:.5rem 1.25rem 0;padding:.5rem .75rem;border-radius:8px;background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.4);color:#fbbf24;font-size:.9rem;cursor:pointer}.queue-manage-list{max-height:38vh}.queue-manage-row{grid-template-columns:2.2rem 3.2rem 1fr auto}.queue-manage-actions{display:flex;gap:.35rem}.queue-manage-btn{padding:.35rem .6rem;border-radius:8px;border:1px solid rgba(229,229,229,.25);background:transparent;color:#e5e5e5;cursor:pointer;font-size:.9rem}.queue-manage-btn:disabled{opacity:.35;cursor:not-allowed}.queue-manage-remove{border-color:#f8717180;color:#f87171}.queue-manage-add-btn{border-color:#4ade8080;color:#4ade80;white-space:nowrap}.queue-manage-scope{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 1rem .75rem;color:#e5e5e5bf;font-size:.9rem}.queue-manage-add{padding:0 1.25rem .5rem}.queue-manage-add h3{margin:.75rem 0 .5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:#e5e5e58c}.next-up-dispatch-link{color:#4ade80!important;font-weight:600}.next-up-dispatch-link:disabled,.next-up-edit-link:disabled{opacity:.4;cursor:not-allowed}.next-up-undo-link{color:#fbbf24!important}.next-up-widget--empty .next-up-sub{justify-content:center;flex-wrap:wrap;font-style:normal}.next-up-widget--empty .next-up-headline{justify-content:center}.next-up-widget--parked{border-color:#fbbf2473}.next-up-widget--parked .next-up-position{color:#fbbf24}.next-up-flag,.queue-row-flag,.dispatch-visitor-flag,.dispatch-chip-flag,.tile-queue-flag{display:inline-block;width:1.15em;height:.78em;vertical-align:-.08em;border-radius:2px;box-shadow:0 0 0 1px #ffffff2e;margin-right:.35em}.next-up-flag{margin-left:.1em;margin-right:0}.dispatch-visitor-flag{width:1.3em;height:.9em}.next-up-eta,.queue-eta{color:#4ade80;font-weight:600;white-space:nowrap}.queue-eta{margin-left:.5em;font-size:.85em}.queue-parked-pill{margin-left:.5em;padding:.1rem .45rem;background:rgba(251,191,36,.18);border:1px solid rgba(251,191,36,.45);border-radius:999px;font-size:.7rem;font-weight:600;color:#fbbf24;white-space:nowrap;vertical-align:middle}.queue-picker-row--parked{opacity:.65}.queue-picker-row--parked .queue-picker-pos{color:#fbbf24}.queue-manage-title{display:flex;flex-direction:column;gap:.15rem}.queue-manage-subtitle{font-size:.75rem;color:#e5e5e58c}.queue-manage-park{border-color:#fbbf2480;color:#fbbf24;white-space:nowrap}.queue-manage-unpark{border-color:#4ade8080;color:#4ade80;white-space:nowrap}.next-up-banner--move{background:rgba(96,165,250,.12);border-color:#60a5fa73;color:#bfdbfe;flex-wrap:wrap}.next-up-banner-btn{padding:.3rem .7rem;font-size:.8rem;white-space:nowrap}.dispatch-visitor-name{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.dispatch-visitor-party{font-size:.9rem;font-weight:500;color:#e5e5e5b3}.dispatch-other-link{align-self:flex-start;margin-top:.15rem}.dispatch-chip--booked{border-color:#4ade8073}.dispatch-chip-tag{margin-left:.45em;font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;color:#4ade80d9}.dispatch-chip.selected .dispatch-chip-tag{color:inherit}.dispatch-chips-divider{align-self:stretch;width:1px;margin:0 .25rem;background:rgba(229,229,229,.2)}.dispatch-chip--lang{display:inline-flex;align-items:center}.dispatch-hint{color:#e5e5e599;font-size:.85rem}.dispatch-mp-btn{align-self:flex-start}.tile-queue-visitor{margin-top:.45rem;padding:.4rem .5rem;border-radius:6px;background:rgba(74,222,128,.07);border:1px solid rgba(74,222,128,.25);display:flex;flex-direction:column;gap:.35rem}.tile-queue-visitor-line{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:#e5e5e5;min-width:0}.tile-queue-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-queue-party{color:#e5e5e5a6;white-space:nowrap}.tile-queue-actions{display:flex;flex-wrap:wrap;gap:.3rem}.tile-queue-btn{flex:1 1 auto;padding:.3rem .45rem;border-radius:6px;border:1px solid rgba(229,229,229,.25);background:transparent;color:#e5e5e5;font-size:.72rem;cursor:pointer;white-space:nowrap}.tile-queue-btn:hover:not(:disabled){border-color:#4ade8099;color:#4ade80}.tile-queue-btn:disabled{opacity:.4;cursor:not-allowed}.queue-display-row--parked{opacity:.55}.queue-display-row-eta{min-width:7rem;text-align:right;font-size:1.6rem;font-weight:600;color:#ffffffb3;white-space:nowrap}.queue-display-row-eta--parked{font-style:italic;color:#fbbf24}.settings-staging input[type=number]{width:5rem;padding:.3rem .4rem;font-size:1rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:inherit}
