:root{--bg: #ffffff;--bg-card: #ffffff;--bg-secondary: #f5f5f7;--text: #1d1d1f;--text-secondary: #86868b;--text-muted: #aeaeb2;--border: #e5e5ea;--accent: #0071e3;--accent-hover: #0077ed;--success: #34c759;--success-pale: #a8e6b8;--danger: #ff3b30;--danger-bg: #fff2f1;--warning: #ff9500;--shadow: 0 1px 3px rgba(0,0,0,.08);--shadow-lg: 0 4px 12px rgba(0,0,0,.1);--radius: 12px;--radius-sm: 8px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}html[data-theme=dark]{--bg: #1c1c1e;--bg-card: #2c2c2e;--bg-secondary: #3a3a3c;--text: #f5f5f7;--text-secondary: #98989d;--text-muted: #636366;--border: #3a3a3c;--accent: #0a84ff;--accent-hover: #409cff;--success: #30d158;--success-pale: #1a5c2a;--danger: #ff453a;--danger-bg: #3a1a1a;--shadow: 0 1px 3px rgba(0,0,0,.3);--shadow-lg: 0 4px 12px rgba(0,0,0,.4)}html[data-theme=gray]{--bg: #c8c8d0;--bg-card: #d8d8e0;--bg-secondary: #bcbcc4;--text: #1d1d1f;--text-secondary: #4a4a52;--text-muted: #72727a;--border: #aeaeb6;--accent: #0071e3;--accent-hover: #0077ed;--success: #28a745;--success-pale: #8ecfa1;--danger: #d93025;--danger-bg: #dcc8c8;--warning: #e68900;--shadow: 0 1px 3px rgba(0,0,0,.15);--shadow-lg: 0 4px 12px rgba(0,0,0,.22)}html[data-theme=material]{color-scheme:light;--bg: #FFFFFF;--bg-card: #F7F2FA;--bg-secondary: #EDE7F2;--text: #121212;--text-secondary: #37334A;--text-muted: #5F5B6E;--border: #B0AABD;--accent: #5B3FC2;--accent-hover: #4A2FB5;--success: #2D7A15;--success-pale: #C4EEA6;--danger: #C62828;--danger-bg: #F9DEDC;--warning: #E67E00;--shadow: 0 1px 3px 1px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.3);--shadow-lg: 0 4px 8px 3px rgba(0,0,0,.15), 0 1px 3px rgba(0,0,0,.3);--radius: 12px;--radius-sm: 8px;--font: "Roboto", "Segoe UI", sans-serif;--md3-surface-tint: rgba(91, 63, 194, .06);--md3-btn-tonal-bg: rgba(91, 63, 194, .18);--md3-btn-tonal-hover: rgba(91, 63, 194, .28);--md3-on-surface-variant: #37334A;--md3-outline-variant: #B0AABD;--md3-surface-container: #EDE7F2;--md3-surface-container-high: #E4DEE9;--md3-surface-container-highest: #DBD5E0}html[data-theme=material-gray]{color-scheme:light;--bg: #A8A2B0;--bg-card: #B8B2C0;--bg-secondary: #9A94A4;--text: #1A1A24;--text-secondary: #2E2A3E;--text-muted: #4A465A;--border: #8A849A;--accent: #5B3FC2;--accent-hover: #4A2FB5;--success: #2D7A15;--success-pale: #8CB880;--danger: #C62828;--danger-bg: #D4A8A6;--warning: #C77800;--shadow: 0 1px 3px 1px rgba(0,0,0,.22), 0 1px 2px rgba(0,0,0,.36);--shadow-lg: 0 4px 8px 3px rgba(0,0,0,.22), 0 1px 3px rgba(0,0,0,.36);--radius: 12px;--radius-sm: 8px;--font: "Roboto", "Segoe UI", sans-serif;--md3-surface-tint: rgba(91, 63, 194, .1);--md3-btn-tonal-bg: rgba(91, 63, 194, .22);--md3-btn-tonal-hover: rgba(91, 63, 194, .32);--md3-on-surface-variant: #2E2A3E;--md3-outline-variant: #8A849A;--md3-surface-container: #9A94A4;--md3-surface-container-high: #908A9A;--md3-surface-container-highest: #868090}html[data-theme=material-dark]{color-scheme:dark;--bg: #121016;--bg-card: #1E1B24;--bg-secondary: #262230;--text: #EEEAF4;--text-secondary: #CCC6D6;--text-muted: #9E98AA;--border: #4A4458;--accent: #CFBCFF;--accent-hover: #E2D4FF;--success: #7DD061;--success-pale: #1E3A13;--danger: #FFB4AB;--danger-bg: #441210;--warning: #FFB955;--shadow: 0 1px 3px 1px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.55);--shadow-lg: 0 4px 8px 3px rgba(0,0,0,.4), 0 1px 3px rgba(0,0,0,.55);--radius: 12px;--radius-sm: 8px;--font: "Roboto", "Segoe UI", sans-serif;--md3-surface-tint: rgba(207, 188, 255, .1);--md3-btn-tonal-bg: rgba(207, 188, 255, .2);--md3-btn-tonal-hover: rgba(207, 188, 255, .3);--md3-on-surface-variant: #CCC6D6;--md3-outline-variant: #4A4458;--md3-surface-container: #262230;--md3-surface-container-high: #312D3C;--md3-surface-container-highest: #3D3948}[data-theme^=material] .btn{text-transform:none;letter-spacing:.1px;font-weight:500;font-size:.875rem;border-radius:20px;position:relative;overflow:hidden;transition:background .2s,box-shadow .2s,opacity .2s}[data-theme^=material] .btn-primary{border:none;background:var(--accent);box-shadow:none}[data-theme^=material] .btn-primary:hover:not(:disabled){box-shadow:var(--shadow);opacity:.92}[data-theme^=material] .btn-success{border:none;background:var(--success);box-shadow:none}[data-theme^=material] .btn-success:hover:not(:disabled){box-shadow:var(--shadow);opacity:.92}[data-theme^=material] .btn-danger{border:none;background:var(--danger);box-shadow:none}[data-theme^=material] .btn-danger:hover:not(:disabled){box-shadow:var(--shadow);opacity:.92}[data-theme^=material] .btn-outline{border:none;border-radius:20px;background:var(--md3-btn-tonal-bg);color:var(--accent)}[data-theme^=material] .btn-outline:hover:not(:disabled){background:var(--md3-btn-tonal-hover)}[data-theme^=material] .btn-open{border-radius:20px;text-transform:none;letter-spacing:.1px;background:var(--md3-btn-tonal-bg);color:var(--accent)}[data-theme^=material] .btn-open:hover:not(:disabled){background:var(--md3-btn-tonal-hover);transform:scale(1.02)}[data-theme^=material] .btn-transitioning{border-radius:20px;text-transform:none;letter-spacing:.1px}[data-theme^=material] .card{border:none;border-radius:12px;box-shadow:none;background:var(--bg-card);background-image:linear-gradient(var(--md3-surface-tint),var(--md3-surface-tint))}[data-theme^=material] .header{border-bottom:none;box-shadow:none;background:var(--md3-surface-container)}[data-theme^=material] .bottom-nav{border-top:none;box-shadow:none;background:var(--md3-surface-container)}[data-theme^=material] .badge{border-radius:20px;font-weight:500;letter-spacing:.1px}[data-theme^=material] input[type=text],[data-theme^=material] input[type=password],[data-theme^=material] input[type=email],[data-theme^=material] input[type=number],[data-theme^=material] input[type=date],[data-theme^=material] input[type=time],[data-theme^=material] input[type=datetime-local],[data-theme^=material] select,[data-theme^=material] textarea{border-radius:12px;border:1px solid var(--md3-outline-variant);background:transparent;transition:border-color .2s,box-shadow .2s}[data-theme^=material] input[type=text]:focus,[data-theme^=material] input[type=password]:focus,[data-theme^=material] input[type=email]:focus,[data-theme^=material] input[type=number]:focus,[data-theme^=material] input[type=date]:focus,[data-theme^=material] input[type=time]:focus,[data-theme^=material] input[type=datetime-local]:focus,[data-theme^=material] select:focus,[data-theme^=material] textarea:focus{border-color:var(--accent);border-width:2px;box-shadow:none;outline:none}[data-theme^=material] select option,[data-theme^=material] select optgroup{background:var(--bg-card);color:var(--text)}[data-theme^=material] .modal{border-radius:28px;border:none;box-shadow:var(--shadow-lg);background:var(--md3-surface-container-high)}[data-theme^=material] .modal-overlay.open{background:#00000052}[data-theme^=material] .toast{border-radius:12px;box-shadow:var(--shadow);background:var(--md3-surface-container-highest)}[data-theme^=material] table tbody tr:nth-child(2n){background:transparent}[data-theme^=material] table tbody tr:hover{background:var(--md3-surface-tint)}[data-theme^=material] .btn .md-ripple{position:absolute;border-radius:50%;background:#fff3;transform:scale(0);animation:md-ripple-anim .5s ease-out;pointer-events:none}@keyframes md-ripple-anim{to{transform:scale(4);opacity:0}}html[data-theme=minimal]{--bg: #141414;--bg-card: #1c1c1c;--bg-secondary: #242424;--text: #d4d4d4;--text-secondary: #8a8a8a;--text-muted: #5a5a5a;--border: #2e2e2e;--accent: #a0a0a0;--accent-hover: #c0c0c0;--success: #7a9a7a;--success-pale: #2a3a2a;--danger: #9a6a6a;--danger-bg: #2a1e1e;--warning: #9a8a6a;--shadow: none;--shadow-lg: none;--radius: 2px;--radius-sm: 2px;--font: "Inter", -apple-system, "Segoe UI", sans-serif}html[data-theme=minimal-light]{--bg: #f5f5f2;--bg-card: #fbfbf8;--bg-secondary: #efefe9;--text: #2a2a28;--text-secondary: #70706a;--text-muted: #9a9a91;--border: #d8d8cf;--accent: #5e5e58;--accent-hover: #3f3f3a;--success: #617d61;--success-pale: #d8e2d8;--danger: #8b6666;--danger-bg: #efe2e2;--warning: #8e7b5d;--shadow: none;--shadow-lg: none;--radius: 2px;--radius-sm: 2px;--font: "Inter", -apple-system, "Segoe UI", sans-serif}html[data-theme=minimal-gray]{--bg: #d6d6d1;--bg-card: #dfdfda;--bg-secondary: #c8c8c2;--text: #272724;--text-secondary: #62625d;--text-muted: #878782;--border: #adada6;--accent: #585853;--accent-hover: #41413d;--success: #627862;--success-pale: #c5d0c5;--danger: #866969;--danger-bg: #dfd0d0;--warning: #85745c;--shadow: none;--shadow-lg: none;--radius: 2px;--radius-sm: 2px;--font: "Inter", -apple-system, "Segoe UI", sans-serif}[data-theme^=minimal] .btn{border-radius:2px;font-weight:400;letter-spacing:.3px}[data-theme^=minimal] .btn-primary{background:var(--text);color:var(--bg);border:none}[data-theme^=minimal] .btn-primary:hover:not(:disabled){background:var(--accent-hover);color:var(--bg)}[data-theme^=minimal] .btn-success{background:var(--success);color:var(--bg);border:none}[data-theme^=minimal] .btn-success:hover:not(:disabled){filter:brightness(1.06)}[data-theme^=minimal] .btn-danger{background:var(--danger);color:var(--bg);border:none}[data-theme^=minimal] .btn-danger:hover:not(:disabled){filter:brightness(1.06)}[data-theme^=minimal] .btn-outline{border:1px solid var(--border);color:var(--accent)}[data-theme^=minimal] .btn-outline:hover:not(:disabled){border-color:var(--text-secondary);background:var(--bg-secondary)}[data-theme^=minimal] .btn-open,[data-theme^=minimal] .btn-transitioning{border-radius:2px}[data-theme^=minimal] .card{border:1px solid var(--border);border-radius:2px;box-shadow:none}[data-theme^=minimal] .header{border-bottom:1px solid var(--border);box-shadow:none}[data-theme^=minimal] .bottom-nav{border-top:1px solid var(--border);box-shadow:none}[data-theme^=minimal] .badge{border-radius:2px;font-weight:400}[data-theme^=minimal] .badge-online{background:var(--success-pale);color:var(--success)}[data-theme^=minimal] .badge-offline{background:var(--danger-bg);color:var(--danger)}[data-theme^=minimal] input[type=text],[data-theme^=minimal] input[type=password],[data-theme^=minimal] input[type=email],[data-theme^=minimal] input[type=number],[data-theme^=minimal] input[type=date],[data-theme^=minimal] input[type=time],[data-theme^=minimal] input[type=datetime-local],[data-theme^=minimal] select,[data-theme^=minimal] textarea{border:1px solid var(--border);border-radius:2px;background:var(--bg-card)}[data-theme^=minimal] input[type=text]:focus,[data-theme^=minimal] input[type=password]:focus,[data-theme^=minimal] input[type=email]:focus,[data-theme^=minimal] input[type=number]:focus,[data-theme^=minimal] input[type=date]:focus,[data-theme^=minimal] input[type=time]:focus,[data-theme^=minimal] input[type=datetime-local]:focus,[data-theme^=minimal] select:focus,[data-theme^=minimal] textarea:focus{border-color:var(--accent);box-shadow:none;outline:none}[data-theme^=minimal] .modal{border:1px solid var(--border);border-radius:2px;box-shadow:0 10px 30px #00000080}[data-theme^=minimal] .modal-overlay.open{background:#0009}[data-theme^=minimal] .toast{border-radius:2px;box-shadow:none;border:1px solid var(--border)}[data-theme^=minimal] .toast-success{background:var(--success);color:var(--bg)}[data-theme^=minimal] .toast-error{background:var(--danger);color:var(--bg)}[data-theme^=minimal] .toast-info{background:var(--accent);color:var(--bg)}[data-theme^=minimal] table tbody tr:nth-child(2n){background:transparent}[data-theme^=minimal] table tbody tr:hover{background:var(--bg-secondary)}[data-theme^=minimal] a{color:var(--accent)}[data-theme^=minimal] a:hover{color:var(--accent-hover)}html[data-theme=metro]{--bg: #1d1d1d;--bg-card: #2d2d2d;--bg-secondary: #252525;--text: #ffffff;--text-secondary: #b0b0b0;--text-muted: #707070;--border: #404040;--accent: var(--metro-accent, #0078D4);--accent-hover: var(--metro-accent-hover, #106EBE);--success: #107C10;--success-pale: #1a3a1a;--danger: #E81123;--danger-bg: #3a1a1a;--warning: #FF8C00;--shadow: none;--shadow-lg: none;--radius: 0px;--radius-sm: 0px;--font: "Segoe UI", -apple-system, sans-serif;--metro-shell-bg: #171717;--metro-input-bg: #1d1d1d;--metro-row-hover: #252525;--metro-locked-bg: #404040;--metro-locked-text: #b0b0b0}html[data-theme=metro-light]{--bg: #f2f2f2;--bg-card: #ffffff;--bg-secondary: #ebebeb;--text: #111111;--text-secondary: #555555;--text-muted: #7a7a7a;--border: #c9c9c9;--accent: var(--metro-accent, #0078D4);--accent-hover: var(--metro-accent-hover, #106EBE);--success: #107C10;--success-pale: #d9edd9;--danger: #C50F1F;--danger-bg: #f2d9dc;--warning: #C77800;--shadow: none;--shadow-lg: none;--radius: 0px;--radius-sm: 0px;--font: "Segoe UI", -apple-system, sans-serif;--metro-shell-bg: #e1e1e1;--metro-input-bg: #ffffff;--metro-row-hover: #ececec;--metro-locked-bg: #d0d0d0;--metro-locked-text: #5c5c5c}html[data-theme=metro-gray]{--bg: #cfd2d6;--bg-card: #dde0e4;--bg-secondary: #c5c8cc;--text: #1a1b1d;--text-secondary: #4f545a;--text-muted: #71767c;--border: #a5abb2;--accent: var(--metro-accent, #0078D4);--accent-hover: var(--metro-accent-hover, #106EBE);--success: #0f6f0f;--success-pale: #cfdece;--danger: #b21424;--danger-bg: #e5d0d3;--warning: #b87000;--shadow: none;--shadow-lg: none;--radius: 0px;--radius-sm: 0px;--font: "Segoe UI", -apple-system, sans-serif;--metro-shell-bg: #b8bcc1;--metro-input-bg: #dde0e4;--metro-row-hover: #c8ccd1;--metro-locked-bg: #a7adb4;--metro-locked-text: #4c5158}html[data-theme=metro],html[data-theme=metro-light],html[data-theme=metro-gray]{font-size:20px}@media(min-width:600px){html[data-theme=metro],html[data-theme=metro-light],html[data-theme=metro-gray]{font-size:24px}}[data-theme^=metro] .btn{border-radius:0;font-weight:600;text-transform:none;letter-spacing:0;transition:background .1s}[data-theme^=metro] .btn-primary{background:var(--accent);border:none;color:#fff}[data-theme^=metro] .btn-primary:hover:not(:disabled){background:var(--accent-hover)}[data-theme^=metro] .btn-success{background:var(--success);border:none;color:#fff}[data-theme^=metro] .btn-success:hover:not(:disabled){filter:brightness(.92)}[data-theme^=metro] .btn-danger{background:var(--danger);border:none;color:#fff}[data-theme^=metro] .btn-danger:hover:not(:disabled){filter:brightness(.92)}[data-theme^=metro] .btn-outline{border:2px solid var(--accent);color:var(--accent);border-radius:0}[data-theme^=metro] .btn-outline:hover:not(:disabled){background:var(--accent);color:#fff}[data-theme^=metro] .btn-open,[data-theme^=metro] .btn-transitioning{border-radius:0}[data-theme^=metro] .card{border:none;border-radius:0;box-shadow:none;border-left:3px solid var(--accent)}[data-theme^=metro] .header{border-bottom:none;box-shadow:none;background:var(--metro-shell-bg)}[data-theme^=metro] .bottom-nav{border-top:none;box-shadow:none;background:var(--metro-shell-bg)}[data-theme^=metro] .badge{border-radius:0;font-weight:600}[data-theme^=metro] .badge-online{background:var(--success);color:#fff}[data-theme^=metro] .badge-offline{background:var(--danger);color:#fff}[data-theme^=metro] .badge-locked{background:var(--metro-locked-bg);color:var(--metro-locked-text)}[data-theme^=metro] input[type=text],[data-theme^=metro] input[type=password],[data-theme^=metro] input[type=email],[data-theme^=metro] input[type=number],[data-theme^=metro] input[type=date],[data-theme^=metro] input[type=time],[data-theme^=metro] input[type=datetime-local],[data-theme^=metro] select,[data-theme^=metro] textarea{border:2px solid var(--border);border-radius:0;background:var(--metro-input-bg)}[data-theme^=metro] input[type=text]:focus,[data-theme^=metro] input[type=password]:focus,[data-theme^=metro] input[type=email]:focus,[data-theme^=metro] input[type=number]:focus,[data-theme^=metro] input[type=date]:focus,[data-theme^=metro] input[type=time]:focus,[data-theme^=metro] input[type=datetime-local]:focus,[data-theme^=metro] select:focus,[data-theme^=metro] textarea:focus{border-color:var(--accent);box-shadow:none;outline:none}[data-theme^=metro] .modal{border:none;border-radius:0;box-shadow:none;border-top:3px solid var(--accent)}[data-theme^=metro] .modal-overlay.open{background:#00000080}[data-theme^=metro] .toast{border-radius:0;box-shadow:none}[data-theme^=metro] .toast-success{background:var(--success)}[data-theme^=metro] .toast-error{background:var(--danger)}[data-theme^=metro] .toast-info{background:var(--accent)}[data-theme^=metro] table tbody tr:nth-child(2n){background:transparent}[data-theme^=metro] table tbody tr:hover{background:var(--metro-row-hover)}[data-theme^=metro] a{color:var(--accent)}[data-theme^=metro] a:hover{color:var(--accent-hover)}[data-theme^=metro] .section-text-nav-link,[data-theme^=metro] .barriers-subtab-link{color:var(--text-secondary)}[data-theme^=metro] .section-text-nav-link:hover,[data-theme^=metro] .barriers-subtab-link:hover,[data-theme^=metro] .access-subtab-btn:hover,[data-theme^=metro] .surveillance-subtab-btn:hover,[data-theme^=metro] .settings-tab:hover{color:var(--accent-hover)}[data-theme^=metro] .section-text-nav-link.active,[data-theme^=metro] .barriers-subtab-link.active,[data-theme^=metro] .access-subtab-btn.active,[data-theme^=metro] .surveillance-subtab-btn.active,[data-theme^=metro] .settings-tab.active,[data-theme^=metro] .section-text-nav-link.active:hover,[data-theme^=metro] .barriers-subtab-link.active:hover,[data-theme^=metro] .access-subtab-btn.active:hover,[data-theme^=metro] .surveillance-subtab-btn.active:hover,[data-theme^=metro] .settings-tab.active:hover{color:var(--accent)}[data-theme^=metro] input[type=checkbox],[data-theme^=metro] input[type=radio]{border-radius:0}.metro-colors{display:none;flex-wrap:wrap;gap:6px;margin-top:8px}.metro-colors.visible{display:flex}.metro-color-btn{width:28px;height:28px;border:2px solid transparent;cursor:pointer;transition:transform .1s;padding:0;border-radius:0}.metro-color-btn:hover{transform:scale(1.15)}.metro-color-btn.active{border-color:#fff;box-shadow:0 0 0 1px #0000004d}html[data-theme=liquid]{--bg: linear-gradient(135deg, #c9d6ff 0%, #e2e2e2 50%, #dfe9f3 100%);--bg-color: #dfe9f3;--bg-card: rgba(255, 255, 255, var(--liquid-opacity, .55));--bg-secondary: rgba(240, 240, 245, .5);--text: #1a1a2e;--text-secondary: #3a3a5c;--text-muted: #6e6e8a;--border: rgba(255, 255, 255, .6);--accent: rgba(var(--liquid-tint, 100, 80, 220), .85);--accent-hover: rgba(var(--liquid-tint, 100, 80, 220), 1);--success: rgba(40, 160, 60, .85);--success-pale: rgba(40, 160, 60, .15);--danger: rgba(210, 40, 40, .85);--danger-bg: rgba(210, 40, 40, .12);--warning: rgba(220, 140, 0, .85);--shadow: 0 2px 16px rgba(0,0,0,.08);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--radius: 16px;--radius-sm: 12px;--font: -apple-system, "SF Pro Display", "Helvetica Neue", "Segoe UI", sans-serif;--liquid-blur: 20px;--liquid-glass-border: 1px solid rgba(255, 255, 255, .45);--liquid-glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .5);--liquid-surface: rgba(255, 255, 255, var(--liquid-opacity, .55));--liquid-surface-heavy: rgba(255, 255, 255, .75);--liquid-tint-bg: rgba(var(--liquid-tint, 100, 80, 220), .1)}html[data-theme=liquid-dark]{--bg: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);--bg-color: #16213e;--bg-card: rgba(30, 30, 50, var(--liquid-opacity, .45));--bg-secondary: rgba(40, 40, 65, .5);--text: #e8e8f0;--text-secondary: #b8b8d0;--text-muted: #8888a8;--border: rgba(255, 255, 255, .15);--accent: rgba(var(--liquid-tint, 140, 120, 255), .9);--accent-hover: rgba(var(--liquid-tint, 140, 120, 255), 1);--success: rgba(80, 200, 100, .9);--success-pale: rgba(80, 200, 100, .15);--danger: rgba(255, 90, 90, .9);--danger-bg: rgba(255, 90, 90, .15);--warning: rgba(255, 180, 50, .9);--shadow: 0 2px 16px rgba(0,0,0,.25);--shadow-lg: 0 8px 32px rgba(0,0,0,.35);--radius: 16px;--radius-sm: 12px;--font: -apple-system, "SF Pro Display", "Helvetica Neue", "Segoe UI", sans-serif;--liquid-blur: 24px;--liquid-glass-border: 1px solid rgba(255, 255, 255, .12);--liquid-glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .08);--liquid-surface: rgba(30, 30, 50, var(--liquid-opacity, .45));--liquid-surface-heavy: rgba(20, 20, 40, .8);--liquid-tint-bg: rgba(var(--liquid-tint, 140, 120, 255), .12)}html[data-theme^=liquid]{background:var(--bg-color, #16213e);background-image:var(--bg);background-size:cover;background-position:center;background-attachment:fixed;min-height:100vh}html[data-theme^=liquid] body{background:transparent}[data-theme^=liquid] .card{background:var(--liquid-surface);backdrop-filter:blur(var(--liquid-blur));-webkit-backdrop-filter:blur(var(--liquid-blur));border:var(--liquid-glass-border);border-radius:16px;box-shadow:var(--shadow),var(--liquid-glass-highlight)}[data-theme^=liquid] .header{background:var(--liquid-surface-heavy);backdrop-filter:blur(var(--liquid-blur));-webkit-backdrop-filter:blur(var(--liquid-blur));border-bottom:var(--liquid-glass-border);box-shadow:none}[data-theme^=liquid] .bottom-nav{background:var(--liquid-surface-heavy);backdrop-filter:blur(var(--liquid-blur));-webkit-backdrop-filter:blur(var(--liquid-blur));border-top:var(--liquid-glass-border);box-shadow:none}[data-theme^=liquid] .btn{border-radius:20px;font-weight:500;position:relative;overflow:hidden;transition:all .25s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}[data-theme^=liquid] .btn-primary{background:rgba(var(--liquid-tint, 100, 80, 220),.55);color:#fff;border:1px solid rgba(var(--liquid-tint, 100, 80, 220),.3);box-shadow:var(--liquid-glass-highlight)}[data-theme^=liquid] .btn-primary:hover:not(:disabled){background:rgba(var(--liquid-tint, 100, 80, 220),.72);box-shadow:var(--shadow)}[data-theme^=liquid] .btn-success{background:#28b44680;color:#fff;border:1px solid rgba(40,180,70,.25);box-shadow:var(--liquid-glass-highlight)}[data-theme^=liquid] .btn-success:hover:not(:disabled){background:#28b446ad;box-shadow:var(--shadow)}[data-theme^=liquid] .btn-danger{background:#dc323280;color:#fff;border:1px solid rgba(220,50,50,.25);box-shadow:var(--liquid-glass-highlight)}[data-theme^=liquid] .btn-danger:hover:not(:disabled){background:#dc3232ad;box-shadow:var(--shadow)}[data-theme^=liquid] .btn-outline{background:var(--liquid-tint-bg);border:var(--liquid-glass-border);color:var(--text);box-shadow:var(--liquid-glass-highlight)}[data-theme^=liquid] .btn-outline:hover:not(:disabled){background:rgba(var(--liquid-tint, 100, 80, 220),.18)}[data-theme^=liquid] .btn-open{background:rgba(var(--liquid-tint, 100, 80, 220),.45);color:#fff;border:1px solid rgba(var(--liquid-tint, 100, 80, 220),.2);border-radius:20px;box-shadow:var(--liquid-glass-highlight)}[data-theme^=liquid] .btn-open:hover:not(:disabled){background:rgba(var(--liquid-tint, 100, 80, 220),.62);transform:scale(1.02)}[data-theme^=liquid] .btn-transitioning{border-radius:20px;border:1px solid rgba(var(--liquid-tint, 100, 80, 220),.15);box-shadow:var(--liquid-glass-highlight)}[data-theme^=liquid] .badge{border-radius:20px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-theme^=liquid] input[type=text],[data-theme^=liquid] input[type=password],[data-theme^=liquid] input[type=email],[data-theme^=liquid] input[type=number],[data-theme^=liquid] input[type=date],[data-theme^=liquid] input[type=time],[data-theme^=liquid] input[type=datetime-local],[data-theme^=liquid] select,[data-theme^=liquid] textarea{border-radius:12px;border:var(--liquid-glass-border);background:var(--liquid-tint-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .2s,box-shadow .2s}[data-theme^=liquid] input[type=text]:focus,[data-theme^=liquid] input[type=password]:focus,[data-theme^=liquid] input[type=email]:focus,[data-theme^=liquid] input[type=number]:focus,[data-theme^=liquid] input[type=date]:focus,[data-theme^=liquid] input[type=time]:focus,[data-theme^=liquid] input[type=datetime-local]:focus,[data-theme^=liquid] select:focus,[data-theme^=liquid] textarea:focus{border-color:rgba(var(--liquid-tint, 100, 80, 220),.6);box-shadow:0 0 0 3px rgba(var(--liquid-tint, 100, 80, 220),.15);outline:none}[data-theme^=liquid] select option{background:var(--bg-color);color:var(--text)}[data-theme^=liquid] .modal{border-radius:24px;border:var(--liquid-glass-border);background:var(--liquid-surface);backdrop-filter:blur(var(--liquid-blur));-webkit-backdrop-filter:blur(var(--liquid-blur));box-shadow:var(--shadow-lg),var(--liquid-glass-highlight)}[data-theme^=liquid] .modal-overlay.open{background:#0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}[data-theme^=liquid] .toast{border-radius:16px;border:var(--liquid-glass-border);background:var(--liquid-surface-heavy);backdrop-filter:blur(var(--liquid-blur));-webkit-backdrop-filter:blur(var(--liquid-blur));box-shadow:var(--shadow)}[data-theme^=liquid] table tbody tr:nth-child(2n){background:rgba(var(--liquid-tint, 100, 80, 220),.04)}[data-theme^=liquid] table tbody tr:hover{background:var(--liquid-tint-bg)}.tablet-settings{display:none;flex-direction:column;gap:6px;margin-top:10px;padding:12px;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border)}.tablet-settings.visible{display:flex}.tablet-settings label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.tablet-settings input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:#374151;outline:none;cursor:pointer}.tablet-settings input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#3b82f6;border:2px solid #1f2937;box-shadow:0 1px 4px #0000004d;cursor:pointer}.tablet-settings input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#3b82f6;border:2px solid #1f2937;box-shadow:0 1px 4px #0000004d;cursor:pointer}.tablet-scale-value{font-size:.75rem;color:var(--text-muted);text-align:center}.liquid-settings{display:none;flex-direction:column;gap:8px;margin-top:10px;padding:12px;border-radius:12px;background:rgba(var(--liquid-tint, 100, 80, 220),.06);border:1px solid var(--border)}.liquid-settings.visible{display:flex}.liquid-settings label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.liquid-settings input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:rgba(var(--liquid-tint, 100, 80, 220),.18);outline:none;cursor:pointer}.liquid-settings input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:rgba(var(--liquid-tint, 100, 80, 220),.7);border:2px solid rgba(255,255,255,.8);box-shadow:0 1px 4px #0003;cursor:pointer}.liquid-settings input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:rgba(var(--liquid-tint, 100, 80, 220),.7);border:2px solid rgba(255,255,255,.8);box-shadow:0 1px 4px #0003;cursor:pointer}.liquid-settings #liquid-hue{background:linear-gradient(to right,#f04242,#eeee2b,#22c322,#17cfcf,#4c4ce6,#e830e8,#f04242)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}img{max-width:100%;display:block}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:var(--spacing-lg);padding-bottom:80px;max-width:1200px;margin:0 auto;width:100%}.header{background:var(--bg-card);border-bottom:1px solid var(--border);padding:calc(var(--spacing-md) / 2) var(--spacing-lg);padding-top:calc(env(safe-area-inset-top,0px) + calc(var(--spacing-md) / 2));padding-left:calc(env(safe-area-inset-left,0px) + var(--spacing-lg));padding-right:calc(env(safe-area-inset-right,0px) + var(--spacing-lg));position:sticky;top:0;z-index:600;box-shadow:var(--shadow)}.header-inner{max-width:calc(1200px - (var(--spacing-lg) * 2));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.header-primary{display:flex;align-items:center;gap:var(--spacing-md);min-width:0;flex:1}.header-brand{min-width:0;transform:translateY(-2px)}.header-brand-portal-plate{transform:none}.header-portal-plate{display:inline-flex;width:max-content;max-width:100%;--plate-row-gap: 1px;--plate-stack-pad-y: 1px;--plate-left-offset-y: 2px;--plate-right-offset-y: 3px;--plate-name-size: clamp(.95rem, 1.35vw, 1.5rem);--plate-type-size: clamp(.5rem, .72vw, .78rem);--plate-house-size: clamp(1.1rem, 1.6vw, 1.8rem);--plate-house-sub-size: clamp(.48rem, .68vw, .76rem);--plate-column-min-height: max( calc((var(--plate-name-size) * .92) + (var(--plate-type-size) * .92) + var(--plate-row-gap) + (var(--plate-stack-pad-y) * 2)), calc((var(--plate-house-size) * .92) + (var(--plate-house-sub-size) * .92) + var(--plate-row-gap) + (var(--plate-stack-pad-y) * 2)) );padding:3px 4px;border:2px solid #2c2f8f;border-radius:9px;background:linear-gradient(180deg,#4a49ab,#3f409e 38%,#393a95);color:#fff;box-shadow:inset 0 -2px #11165b47,0 1px 2px #0f172a38}.header-portal-plate-inner{display:inline-flex;align-items:stretch;gap:10px;width:max-content;max-width:100%;padding:4px 10px;border:2px solid rgba(255,255,255,.95);border-radius:6px}.header-portal-plate-left,.header-portal-plate-right{display:flex;align-items:stretch;min-height:var(--plate-column-min-height);min-width:0}.header-portal-plate-left{justify-content:center}.header-portal-plate-left-stack,.header-portal-plate-right-stack{display:grid;grid-auto-rows:min-content;align-content:center;row-gap:var(--plate-row-gap);min-height:var(--plate-column-min-height);padding:var(--plate-stack-pad-y) 0;box-sizing:border-box;min-width:0}.header-portal-plate-left-stack{justify-items:center;text-align:center;transform:translateY(var(--plate-left-offset-y))}.header-portal-plate-right-stack{justify-items:start;text-align:left;transform:translateY(var(--plate-right-offset-y))}.header-portal-plate-name,.header-portal-plate-type,.header-portal-plate-house,.header-portal-plate-house-sub{display:block;margin:0;font-family:Nimbus Roman,"Liberation Serif",Times New Roman,Georgia,serif;font-weight:700;line-height:.92;text-transform:uppercase;text-shadow:0 1px 0 rgba(28,30,103,.45);white-space:nowrap}.header-portal-plate-name{font-size:var(--plate-name-size);letter-spacing:.09em}.header-portal-plate-type{font-size:var(--plate-type-size);letter-spacing:.09em}.header-portal-plate-divider{width:2px;flex-shrink:0;align-self:stretch;background:#fffffff5;border-radius:999px}.header-portal-plate-house{font-size:var(--plate-house-size);letter-spacing:.04em}.header-portal-plate-house-sub{font-size:var(--plate-house-sub-size);letter-spacing:.06em}.header-logo{font-weight:700;font-size:1.1rem;white-space:nowrap}.header-logo-subtitle{font-size:.72rem;line-height:1.2;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-status{flex:0 1 auto;text-align:left;font-size:.85rem;color:var(--warning);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);margin-left:auto}.btn-header{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer;font-size:.85rem;white-space:nowrap;transition:background .2s}.btn-header:hover{background:var(--border)}.profile-toggle{display:inline-flex;align-items:center;gap:8px}.profile-avatar{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;flex-shrink:0}.profile-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.btn-header-icon{width:40px;height:40px;padding:0}.btn-header-icon svg{width:20px;height:20px}@media(max-width:520px){.profile-name{display:none}}@media(max-width:720px){.header-portal-plate{--plate-left-offset-y: 1px;--plate-right-offset-y: 2px;--plate-name-size: clamp(.72rem, 4.1vw, .98rem);--plate-type-size: clamp(.4rem, 2vw, .52rem);--plate-house-size: clamp(.82rem, 4.5vw, 1.18rem);--plate-house-sub-size: clamp(.38rem, 1.8vw, .5rem);padding:2px 3px;border-width:2px;border-radius:8px}.header-portal-plate-inner{gap:8px;padding:3px 8px;border-width:2px;border-radius:5px}.header-portal-plate-divider{width:2px}}.profile-dropdown{position:relative}.profile-panel{display:none;position:absolute;right:0;top:calc(100% + 8px);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:var(--spacing-lg);min-width:300px;z-index:700}.profile-panel.open{display:block}.profile-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border)}.profile-panel-section{margin-bottom:var(--spacing-md)}.profile-edit-form.hidden{display:none}.profile-edit-form{margin-bottom:var(--spacing-md)}.profile-edit-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.profile-password-form.hidden{display:none}.profile-password-form{margin-bottom:var(--spacing-md)}.profile-panel-divider{height:1px;background:var(--border);margin:var(--spacing-md) 0}.profile-panel h3,.profile-panel-title{font-size:.95rem;margin-bottom:var(--spacing-md);color:var(--text-secondary)}.profile-panel-title{padding-bottom:0;border-bottom:0;margin-bottom:0}.profile-panel-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:var(--spacing-sm) 0;padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--spacing-sm));padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);z-index:100;box-shadow:0 -1px 3px #00000014}.nav-item{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--text-secondary);font-size:.7rem;padding:2px 4px;border-radius:var(--radius-sm);transition:color .2s;flex:1;min-width:0;overflow:hidden}.nav-item .nav-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;line-height:1}.nav-item .nav-icon-light,.nav-item .nav-icon-dark,.nav-item .nav-icon-gray,.nav-item .nav-icon-material,.nav-item .nav-icon-minimal,.nav-item .nav-icon-metro,.nav-item .nav-icon-liquid,.nav-item .nav-icon-tablet{display:none}.nav-item .nav-icon-light{display:inline-flex}.nav-item .nav-icon svg.icon-fill{stroke:none}.nav-item .nav-icon-tablet{display:none}.nav-item .nav-icon svg{width:1.3rem;height:1.3rem;display:block;stroke:currentColor}.nav-item>span:not(.nav-icon){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.nav-item.active,.nav-item:hover{color:var(--accent)}html[data-theme=dark] .nav-item .nav-icon-light,html[data-theme=gray] .nav-item .nav-icon-light,html[data-theme^=material] .nav-item .nav-icon-light,html[data-theme^=minimal] .nav-item .nav-icon-light,html[data-theme^=metro] .nav-item .nav-icon-light,html[data-theme^=liquid] .nav-item .nav-icon-light,html[data-theme=tablet] .nav-item .nav-icon-light{display:none}html[data-theme=dark] .nav-item .nav-icon-dark,html[data-theme=gray] .nav-item .nav-icon-gray,html[data-theme^=material] .nav-item .nav-icon-material,html[data-theme^=minimal] .nav-item .nav-icon-minimal,html[data-theme^=metro] .nav-item .nav-icon-metro,html[data-theme^=liquid] .nav-item .nav-icon-liquid,html[data-theme=tablet] .nav-item .nav-icon-tablet{display:inline-flex}@media(min-width:768px){.app-wrapper{flex-direction:column}.bottom-nav{position:static;border-top:none;border-bottom:1px solid var(--border);box-shadow:none;padding:0;justify-content:center;gap:var(--spacing-xs)}.nav-item{flex-direction:row;gap:6px;padding:var(--spacing-md) var(--spacing-lg);font-size:.85rem;border-bottom:2px solid transparent;border-radius:0;flex:0 0 auto;overflow:visible}.nav-item>span:not(.nav-icon){white-space:nowrap;overflow:visible;text-overflow:clip;max-width:none}.nav-item.active{border-bottom-color:var(--accent)}.nav-item .nav-icon{font-size:1.1rem}.nav-item .nav-icon svg{width:1.1rem;height:1.1rem}.main-content{padding-bottom:var(--spacing-lg)}}@media(min-width:768px){html[data-desktop-nav=left] .header-inner{max-width:none;margin-left:80px;margin-right:0}html[data-desktop-nav=left] .bottom-nav{position:fixed;inset:64px auto 0 0;width:80px;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;padding:16px 0;border:0;border-right:1px solid var(--border);background:var(--bg-card);box-shadow:2px 0 8px #00000014;z-index:500}html[data-desktop-nav=left] .nav-item{flex:0 0 auto;width:auto;gap:0;padding:12px;border-radius:12px;color:var(--text-secondary);border-bottom:0;font-size:0}html[data-desktop-nav=left] .nav-item .nav-icon{font-size:1.35rem}html[data-desktop-nav=left] .nav-item>span:not(.nav-icon){display:none}html[data-desktop-nav=left] .nav-item.active{border-bottom-color:transparent;color:var(--accent);background:var(--bg-secondary)}html[data-desktop-nav=left] .nav-item:hover{color:var(--accent);background:var(--bg-secondary)}html[data-desktop-nav=left] .main-content{width:calc(100% - 80px);max-width:none;margin-left:80px;margin-right:0;padding-bottom:16px}}@media(min-width:768px){[data-theme^=material] .header{padding:0 16px}[data-theme^=material] .header-inner{height:64px}html[data-theme^=material][data-desktop-nav=left] .header-inner{width:calc(100% - 80px);max-width:none;margin:0}html[data-theme^=material][data-desktop-nav=left] .bottom-nav{box-shadow:2px 0 8px #00000014}html[data-theme^=material][data-desktop-nav=left] .nav-item.active{color:var(--accent);background:#1976d21f}html[data-theme^=material][data-desktop-nav=left] .nav-item:hover{color:var(--accent);background:#1976d214}html[data-theme^=material][data-desktop-nav=left] .nav-item:last-child{margin-top:auto}html[data-theme^=material][data-desktop-nav=top] .header-inner{max-width:calc(1200px - (var(--spacing-lg) * 2));margin:0 auto}html[data-theme^=liquid][data-desktop-nav=left] .header-inner{width:calc(100% - 80px);max-width:none;margin:0}html[data-theme^=liquid][data-desktop-nav=top] .header-inner{max-width:calc(1200px - (var(--spacing-lg) * 2));margin:0 auto}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);gap:var(--spacing-sm)}.card-header h2{font-size:1.05rem;font-weight:600}.card-header-actions{display:flex;gap:var(--spacing-sm)}.grid-2{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}@media(max-width:767px)and (orientation:landscape){.grid-2{grid-template-columns:1fr 1fr}}@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}}.grid-2>.card,.grid-3>.card{margin-bottom:0}.grid-3{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}@media(min-width:600px){.grid-3{grid-template-columns:1fr 1fr}}@media(min-width:960px){.grid-3{grid-template-columns:1fr 1fr 1fr}}.monitor-kpi-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}@media(min-width:600px){.monitor-kpi-grid{grid-template-columns:1fr 1fr}}@media(min-width:1100px){.monitor-kpi-grid{grid-template-columns:1fr 1fr 1fr 1fr}}.monitor-kpi-card{padding:var(--spacing-md)}.monitor-kpi-top{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.monitor-kpi-title{color:var(--text-secondary);font-size:.82rem;text-transform:uppercase;letter-spacing:.3px}.monitor-kpi-value{font-size:1.55rem;font-weight:700;line-height:1.15}.monitor-kpi-sub{font-size:.82rem;color:var(--text-secondary);margin-top:4px}.monitor-alert-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.monitor-alert-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary)}.monitor-summary-list,.monitor-mini-list,.monitor-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.monitor-summary-row,.monitor-mini-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-sm);padding:6px 0;border-bottom:1px dashed var(--border)}.monitor-summary-row:last-child,.monitor-mini-row:last-child{border-bottom:0}.monitor-summary-row span,.monitor-mini-row span{color:var(--text-secondary)}.monitor-list-item{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);font-size:.9rem}.monitor-inner-card{padding:var(--spacing-md)}.network-map{border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--bg-card) 0%,var(--bg-secondary) 100%);padding:var(--spacing-md)}.network-map-core{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}@media(min-width:900px){.network-map-core{grid-template-columns:2fr 1fr 1fr;align-items:stretch}}.network-node{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);padding:10px 12px}.network-node-primary{border-color:#0071e340;box-shadow:inset 0 0 0 1px #0071e30f}.network-node-title{font-weight:600;font-size:.9rem;margin-bottom:4px}.network-node-meta{color:var(--text-secondary);font-size:.82rem}.network-node-lines{display:flex;flex-direction:column;gap:4px;color:var(--text-secondary);font-size:.85rem}.network-map-branches{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm);position:relative;padding-top:10px}.network-map-branches:before{content:"";position:absolute;top:0;left:12px;right:12px;height:1px;background:var(--border)}.network-branch{display:grid;grid-template-columns:110px 1fr;gap:var(--spacing-sm);align-items:center}.network-branch-label{color:var(--text-secondary);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.25px}.network-branch-path{display:flex;align-items:center;gap:8px;min-width:0}.network-branch-arrow{color:var(--text-muted);font-weight:600}.network-leaf-node{border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius-sm);padding:8px 10px;font-size:.85rem;min-width:0}.network-map-footnote{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px dashed var(--border)}.network-stat-chip{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);border-radius:999px;padding:6px 10px;font-size:.82rem}@media(max-width:767px){.network-branch{grid-template-columns:1fr;gap:6px}.network-branch-path{flex-wrap:wrap}.network-branch-arrow{display:none}.network-leaf-node{width:100%}}.btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;gap:6px;padding:8px 16px;border:1px solid transparent;line-height:1;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){filter:brightness(1.1)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.1)}.btn-outline{background:transparent;border-color:var(--border);color:var(--text)}.btn-outline:hover:not(:disabled){background:var(--bg-secondary)}.btn-sm{padding:4px 10px;font-size:.8rem}.btn-lg{padding:14px 32px;font-size:1.15rem;border-radius:var(--radius)}.btn-open{background:var(--accent);color:#fff;padding:14px 40px;font-size:1.2rem;border-radius:var(--radius);width:100%;max-width:280px}.btn-open:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.02)}.btn-close-barrier{background:#e74c3c;color:#fff;padding:14px 40px;font-size:1.2rem;border-radius:var(--radius);width:100%;max-width:280px}.btn-close-barrier:hover:not(:disabled){background:#c0392b;transform:scale(1.02)}.btn-transitioning{background:var(--bg-secondary, #6c757d);color:var(--text-muted, #aaa);padding:14px 40px;font-size:1.2rem;border-radius:var(--radius);width:100%;max-width:280px;cursor:not-allowed;opacity:.8;border:1px solid var(--border, #555)}.btn-fullscreen-close{padding:10px 28px;border-radius:10px;border:none;background:#e74c3c73;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-fullscreen-close:hover{background:#e74c3cb3}.btn-live{padding:3px 10px;border-radius:6px;font-size:.75rem;font-weight:600;border:1px solid var(--success-pale);background:transparent;color:var(--success-pale);cursor:pointer;transition:all .2s}.btn-live.active{background:var(--success);color:#fff;border-color:var(--success)}.btn-quality-wrap{position:relative;display:inline-block}.btn-quality{padding:3px 8px;border-radius:6px;font-size:.72rem;font-weight:600;letter-spacing:.02em;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s;min-width:36px;text-align:center}.btn-quality:hover{border-color:var(--accent);color:var(--accent)}.btn-quality-video{border-color:var(--success-pale);color:var(--success-pale)}.btn-quality-video:hover{border-color:var(--success);color:var(--success)}.btn-quality-disabled{border-color:var(--success-pale);color:var(--success-pale);opacity:.6;pointer-events:none}.quality-dropdown,.player-speed-dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:50;min-width:56px;background:#0000001a;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;padding:4px 0}.quality-dropdown-item,.player-speed-dropdown-item{display:block;width:100%;padding:4px 12px;font-size:.72rem;font-weight:500;text-align:left;background:none;border:none;color:var(--text-secondary);text-shadow:-1px -1px 0 rgba(0,0,0,.8),1px -1px 0 rgba(0,0,0,.8),-1px 1px 0 rgba(0,0,0,.8),1px 1px 0 rgba(0,0,0,.8),0 0 3px rgba(0,0,0,.5);cursor:pointer;white-space:nowrap}.quality-dropdown-item:hover,.player-speed-dropdown-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.quality-dropdown-item.active,.player-speed-dropdown-item.active{color:var(--accent);font-weight:700}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.form-group .hint{font-size:.75rem;color:var(--text-muted);margin-top:2px}input[type=text],input[type=password],input[type=tel],input[type=email],input[type=number],input[type=date],input[type=time],input[type=datetime-local],select,textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);transition:border-color .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0071e326}textarea{resize:vertical;min-height:80px}.form-inline{display:flex;gap:var(--spacing-sm);align-items:flex-end;flex-wrap:wrap}.form-row{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}input[type=checkbox],input[type=radio]{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin:0;border:1.5px solid var(--border);border-radius:5px;background:var(--bg-card);display:inline-grid;place-content:center;vertical-align:middle;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}input[type=checkbox]:before,input[type=radio]:before{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0);transform-origin:center;margin-top:-1px;transition:transform .12s ease-in-out}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:before,input[type=radio]:checked:before{transform:rotate(-45deg) scale(1)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:none;box-shadow:0 0 0 3px #0071e32e}input[type=checkbox]:disabled,input[type=radio]:disabled{opacity:.55;cursor:not-allowed}.checkbox-label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:.9rem}.checkbox-label input[type=checkbox],.checkbox-label input[type=radio]{width:18px;height:18px;flex-shrink:0}.base-table-state{padding:var(--spacing-lg) 0}.base-table-wrapper{width:100%}.base-table-mobile-list{margin-top:var(--spacing-sm)}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}th{font-weight:600;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.3px;background:var(--bg-secondary)}tr:nth-child(2n) td{background:var(--bg-secondary)}tr:hover td{background:#0071e30d}td.muted{color:var(--text-muted)}.clickable{cursor:pointer;color:var(--accent)}.clickable:hover{text-decoration:underline}.sched-form-table tbody td:first-child .checkbox-label{margin-right:8px}@media(max-width:767px){.table-mobile-cards table,.table-mobile-cards thead{display:none}.table-mobile-cards .mobile-card{display:block}.table-mobile-cards .mobile-card[hidden]{display:none!important}.sched-form-table,.sched-form-table tbody,.sched-form-table tr,.sched-form-table td{display:block;width:100%}.sched-form-table thead{display:none}.sched-form-table tbody tr{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-card)}.sched-form-table tbody td{border-bottom:1px solid var(--border);padding:10px 12px}.sched-form-table tbody td:last-child{border-bottom:0}.sched-form-table tbody td[data-label]:before{content:attr(data-label);display:block;margin-bottom:6px;color:var(--text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.sched-form-table tbody td:first-child{white-space:normal!important}.sched-form-table tbody td input[type=date],.sched-form-table tbody td input[type=time],.sched-form-table tbody td input[type=text],.sched-form-table tbody td select,.sched-form-table tbody td button{width:100%!important;max-width:100%}.sched-form-table tbody td:first-child input[type=checkbox]{width:18px!important}.sched-form-table tbody td:first-child .checkbox-label{margin-right:6px}.tg-toolbar{flex-wrap:wrap;align-items:flex-start}.tg-toolbar-right{width:100%;justify-content:flex-end;flex-wrap:wrap;gap:var(--spacing-sm)}#tl-create-btn{width:auto!important;display:flex;margin:0 auto}}@media(min-width:768px){.table-mobile-cards .mobile-card{display:none}}.mobile-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-sm)}.mobile-card-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);padding:3px 0;font-size:.85rem}.mobile-card-row>:last-child{min-width:0;text-align:right}.mobile-card-label{color:var(--text-secondary);font-weight:500}.mobile-card-value{min-width:0;text-align:right}.mobile-card-value-break{overflow-wrap:anywhere;word-break:break-word}.mobile-card-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.snapshot-container{position:relative;width:100%;aspect-ratio:16/9;background:var(--bg-secondary);border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md)}.snapshot-container img,.snapshot-img{width:100%;height:100%;object-fit:cover;display:block}.snapshot-placeholder{color:var(--text-muted);font-size:.9rem;text-align:center}.snapshot-placeholder .icon{font-size:2rem;display:block;margin-bottom:4px}.barrier-camera-video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:500}.badge-online{background:#d4f8d4;color:#1a7c1a}.badge-offline{background:#f8d4d4;color:#7c1a1a}.badge-locked{background:var(--bg-secondary);color:var(--text-muted)}.badge-closed{background:#d4e8f8;color:#1a4a7c}.badge-opened{background:#d4f8d4;color:#1a7c1a}.badge-transition{background:#f8f0d4;color:#7c6a1a;animation:pulse-badge 1.2s ease-in-out infinite}.badge-danger{background:#f8d4d4;color:#7c1a1a}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.6}}[data-theme=dark] .badge-online{background:#1a3d1a;color:#6fdc6f}[data-theme=dark] .badge-offline{background:#3d1a1a;color:#dc6f6f}[data-theme=dark] .badge-closed{background:#1a2d3d;color:#6fb0dc}[data-theme=dark] .badge-opened{background:#1a3d1a;color:#6fdc6f}[data-theme=dark] .badge-transition{background:#3d3a1a;color:#dccc6f}[data-theme=dark] .badge-danger{background:#3d1a1a;color:#dc6f6f}.toast-container{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:9999;display:flex;flex-direction:column;gap:var(--spacing-sm)}.toast{padding:12px 20px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;box-shadow:var(--shadow-lg);animation:toastIn .3s ease;max-width:350px}.toast-success{background:var(--success);color:#fff}.toast-error{background:var(--danger);color:#fff}.toast-info{background:var(--accent);color:#fff}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.modal-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:500;align-items:center;justify-content:center;padding:var(--spacing-lg)}.modal-overlay.open{display:flex}.modal{background:var(--bg-card);border-radius:var(--radius);padding:var(--spacing-xl);max-width:500px;width:100%;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto}.modal h3{margin-bottom:var(--spacing-lg)}.barriers-subtabs{display:flex;gap:10px 14px;margin-bottom:var(--spacing-lg);flex-wrap:wrap;align-items:center}.barriers-subtab-link{color:var(--text-secondary);text-decoration:none;font-size:1.2rem;line-height:1.2;font-weight:600}.barriers-subtab-link.active{color:var(--accent);text-decoration:none}.barriers-subtab-link:hover{color:var(--accent-hover)}.barriers-subtab-link.active:hover{color:var(--accent)}.barriers-subtab-link:focus-visible{outline:none;box-shadow:0 0 0 3px #0071e32e;border-radius:6px}.barrier-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.barrier-card-header h2{font-size:1rem;font-weight:600}.barrier-mobile-toggle,.automation-mobile-toggle{-webkit-user-select:none;user-select:none}.barrier-mobile-toggle:focus-visible,.automation-mobile-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #0071e32e;border-radius:6px}.barrier-card-cameras{min-width:0}.cam-switcher{display:flex;gap:4px}.btn-cam{padding:3px 8px;border-radius:6px;font-size:.72rem;font-weight:500;letter-spacing:.02em;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn-cam:hover{border-color:var(--accent);color:var(--accent)}.btn-cam.active{background:var(--accent);color:#fff;border-color:var(--accent)}.barrier-status{display:flex;align-items:center;gap:var(--spacing-sm)}.open-btn-container{display:flex;justify-content:center;margin-top:var(--spacing-md)}@media(max-width:767px){.barrier-mobile-toggle,.automation-mobile-toggle{cursor:pointer;display:inline-flex;align-items:center;gap:6px}.barrier-mobile-toggle:before,.automation-mobile-toggle:before{content:"▾";font-size:.8rem;line-height:1;color:var(--text-muted);transition:transform .2s ease;transform-origin:center}.barrier-card.mobile-spoiler-collapsed .barrier-mobile-toggle:before{transform:rotate(-90deg)}.automation-card.mobile-spoiler-collapsed .automation-mobile-toggle:before{transform:rotate(-90deg)}.barrier-card.mobile-spoiler-collapsed .barrier-card-cameras,.barrier-card.mobile-spoiler-collapsed .snapshot-container,.barrier-card.mobile-spoiler-collapsed .btn-live,.barrier-card.mobile-spoiler-collapsed .btn-quality,.automation-card.mobile-spoiler-collapsed .automation-mobile-content{display:none}}html[data-theme^=minimal] .barriers-grid{gap:var(--spacing-sm)}html[data-theme^=minimal] .barrier-card{padding:4px;background:transparent;box-shadow:none}html[data-theme^=minimal] .barrier-card .barrier-card-header{padding-inline:6px}html[data-theme^=minimal] .barrier-card .barrier-card-header,html[data-theme^=minimal] .barrier-card .snapshot-container{margin-bottom:6px}html[data-theme^=minimal] .barrier-card .open-btn-container{margin-top:6px;padding-inline:0}html[data-theme^=minimal] .barrier-card .btn-open{max-width:none}.barriers-inline-journal-card{display:none}@media(max-width:767px){html[data-theme^=minimal] .barriers-page .barriers-subtabs{display:none}html[data-theme^=minimal] .barriers-page .barriers-grid{margin-inline:calc(var(--spacing-lg) * -1 + 3px);gap:6px}html[data-theme^=minimal] .barriers-page .automation-card{margin-inline:calc(var(--spacing-lg) * -1 + 3px);margin-top:6px;margin-bottom:6px}html[data-theme^=minimal] .barriers-page .barriers-inline-journal-card{display:block}html[data-theme^=minimal] .barriers-page>h1{display:none}html[data-theme^=minimal] .barriers-page{margin-top:calc(var(--spacing-lg) * -1 + 6px)}}.snapshot-container{position:relative}.btn-video-fullscreen{display:none;position:absolute;right:8px;bottom:8px;z-index:5;width:36px;height:36px;border-radius:6px;border:none;background:#00000073;color:#fff;cursor:pointer;align-items:center;justify-content:center;transition:background .15s;padding:0}.btn-video-fullscreen:hover{background:#000000b3}.snapshot-container.video-active .btn-video-fullscreen{display:flex}.barrier-fs-overlay{display:none}.snapshot-container:is(:fullscreen,.css-fullscreen) .barrier-fs-overlay{display:block;position:absolute;inset:0;z-index:20;pointer-events:none}.snapshot-container:is(:fullscreen,.css-fullscreen) .barrier-fs-overlay button{pointer-events:auto}.snapshot-container:is(:fullscreen,.css-fullscreen) .btn-video-fullscreen{display:none}.barrier-fs-top-btns{pointer-events:auto;position:absolute;top:12px;right:16px;display:flex;gap:6px;z-index:25}.barrier-fs-mode-btn,.barrier-fs-exit-btn{width:40px;height:40px;border-radius:8px;border:none;background:#00000073;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.barrier-fs-mode-btn:hover,.barrier-fs-exit-btn:hover{background:#000000b3}.barrier-fs-mode-btn.active{background:#0078ff99}.barrier-fs-nav{pointer-events:auto;position:absolute;top:96px;bottom:56px;width:56px;height:auto;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:0;-webkit-appearance:none;appearance:none;background:#0000004d;color:#fff;cursor:pointer;opacity:0;transition:opacity .2s;z-index:21}.barrier-fs-nav:hover{opacity:1}.barrier-fs-nav:focus-visible{opacity:1;outline:none}.barrier-fs-nav-left{left:0}.barrier-fs-nav-right{right:0}.barrier-fs-thumbs-bar{pointer-events:auto;position:absolute;top:0;left:0;right:0;height:96px;overflow-x:auto;overflow-y:hidden;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:24}.barrier-fs-thumbs-scroll{display:flex;gap:4px;height:100%;padding:6px 64px 6px 6px;justify-content:center;align-items:stretch}.barrier-fs-thumb{position:relative;display:block;flex:0 0 auto;width:auto;height:100%;min-width:0;aspect-ratio:16 / 9;padding:0;border-radius:4px;overflow:hidden;border:2px solid transparent;background:transparent;-webkit-appearance:none;appearance:none;opacity:.7;cursor:pointer;transition:opacity .15s,border-color .15s}.barrier-fs-thumb:hover{opacity:1}.barrier-fs-thumb.active{opacity:1;border-color:#007aff}.barrier-fs-thumb img{width:100%;height:100%;object-fit:contain;display:block;background:#000}.barrier-fs-thumb-name{position:absolute;left:0;right:0;bottom:0;padding:2px 4px;background:#0009;color:#fff;font-size:.65rem;line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-fullscreen-open{padding:10px 28px;border-radius:10px;border:none;background:#00000073;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-fullscreen-open:hover{background:#000000b3}.btn-fullscreen-transitioning{padding:10px 28px;border-radius:10px;border:none;background:#64646499;color:#ffffffb3;font-size:1rem;font-weight:600;cursor:not-allowed;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.barrier-fs-bottom-row{pointer-events:auto;position:absolute;left:0;right:0;bottom:56px;display:flex;justify-content:center;z-index:25}.fullscreen-quality-wrap,.barrier-fs-quality-inline{position:relative}.btn-fullscreen-quality{padding:6px 14px;border-radius:8px;border:none;background:#00000073;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-fullscreen-quality:hover{background:#000000b3}.fullscreen-quality-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;padding:4px 0;min-width:80px;z-index:20}.fullscreen-quality-dropdown button{display:block;width:100%;padding:6px 14px;border:none;background:transparent;color:#fff;font-size:.85rem;text-align:left;cursor:pointer;transition:background .15s}.fullscreen-quality-dropdown button:hover{background:#ffffff26}.fullscreen-quality-dropdown button.active{color:var(--accent, #0071e3);font-weight:600}.barrier-fs-split-view{position:absolute;inset:0;z-index:15;display:flex;pointer-events:auto;background:#000}.barrier-fs-split-view[data-dir=v]{flex-direction:column}.barrier-fs-split-view[data-dir=h]{flex-direction:row}.barrier-fs-split-cell{position:relative;flex:1 1 0;min-width:0;min-height:0}.barrier-fs-split-cell-inner{width:100%;height:100%;background:#000;scrollbar-width:none}.barrier-fs-split-cell-inner::-webkit-scrollbar{display:none}.barrier-fs-split-view[data-dir=v] .barrier-fs-split-cell-inner,.barrier-fs-split-view[data-dir=h] .barrier-fs-split-cell-inner{overflow-x:auto;overflow-y:hidden}.barrier-fs-split-view[data-dir=v] .barrier-fs-split-cell-inner video,.barrier-fs-split-view[data-dir=v] .barrier-fs-split-cell-inner img{width:auto;height:100%;display:block}.barrier-fs-split-view[data-dir=h] .barrier-fs-split-cell-inner video,.barrier-fs-split-view[data-dir=h] .barrier-fs-split-cell-inner img{width:auto;height:100%;display:block}.barrier-fs-pip-view{--pip-drag-size: 30%;position:absolute;z-index:16;display:flex;pointer-events:auto}.barrier-fs-pip-view.pip-single{left:20px;bottom:20px;width:20%;min-width:160px;max-width:320px}.barrier-fs-pip-view.pip-strip{left:12px;right:12px;bottom:12px;gap:8px;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.barrier-fs-pip-view.pip-strip::-webkit-scrollbar{display:none}.barrier-fs-pip-view.pip-strip .barrier-fs-pip-thumb{flex:0 0 20%;min-width:140px;max-width:260px}.barrier-fs-pip-thumb{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:8px;border:2px solid rgba(255,255,255,.25);background:#000;box-shadow:0 4px 16px #00000080;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,box-shadow .15s}.barrier-fs-pip-thumb:hover{border-color:#ffffff80}.barrier-fs-pip-thumb.dragging{opacity:.85;border-color:#0078ffb3;box-shadow:0 8px 24px #000000b3}.barrier-fs-pip-thumb video,.barrier-fs-pip-thumb img{width:100%;height:100%;object-fit:cover;display:block;background:#000;pointer-events:none}.barrier-fs-pip-drag-handle{position:absolute;top:0;left:0;right:0;height:24px;display:flex;align-items:center;gap:4px;padding:0 6px;background:#0006;color:#fffc;cursor:grab;touch-action:none;z-index:2}.barrier-fs-pip-drag-handle:hover{background:#0009}.barrier-fs-pip-drag-handle:active{cursor:grabbing}.barrier-fs-pip-drag-handle svg{flex-shrink:0;opacity:.6;pointer-events:none}.barrier-fs-pip-drag-handle-label{font-size:.6rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.barrier-fs-overlay.split-active .barrier-fs-nav,.barrier-fs-overlay.split-active .barrier-fs-thumbs-bar,.barrier-fs-overlay.pip-active .barrier-fs-nav,.barrier-fs-overlay.pip-active .barrier-fs-thumbs-bar{display:none!important}.snapshot-container:is(:fullscreen,.css-fullscreen){background:#000;display:flex;align-items:center;justify-content:center}.snapshot-container:is(:fullscreen,.css-fullscreen) .barrier-camera-img,.snapshot-container:is(:fullscreen,.css-fullscreen) .barrier-camera-video{width:100%;height:100%;object-fit:contain}@media(max-width:767px)and (orientation:portrait){.barrier-fs-thumbs-bar{top:54px;height:74px}.barrier-fs-thumbs-scroll{justify-content:flex-start;padding-right:8px}.barrier-fs-top-btns{top:8px;right:8px}.barrier-fs-pip-view.pip-single{left:8px;right:8px;bottom:8px;width:auto;min-width:0;max-width:none}.barrier-fs-pip-view.pip-strip{left:6px;right:6px;bottom:6px;gap:6px}.barrier-fs-pip-view.pip-strip .barrier-fs-pip-thumb{flex:0 0 calc(100% - 12px);min-width:0;max-width:none}}@media(max-width:767px)and (orientation:landscape){.barrier-fs-thumbs-scroll{justify-content:flex-start;padding-right:64px}.barrier-fs-pip-view.pip-single{width:25%;min-width:120px;max-width:220px;left:10px;bottom:10px}.barrier-fs-pip-view.pip-strip{left:6px;right:6px;bottom:6px;gap:6px}.barrier-fs-pip-view.pip-strip .barrier-fs-pip-thumb{flex:0 0 25%;min-width:100px;max-width:180px}}html.kiosk-shell .header,html.kiosk-shell .bottom-nav{display:none!important}html.kiosk-shell .main-content{max-width:none!important;margin-left:0!important;margin-right:0!important;width:100%!important;height:100dvh;padding:var(--spacing-sm)!important;overflow:hidden}html.kiosk-shell body,html.kiosk-shell #app,html.kiosk-shell .kiosk-wrapper{min-height:100dvh}html.kiosk-shell .kiosk-wrapper{width:100%}.barriers-kiosk-full{height:100%}.barriers-kiosk-full .barriers-grid{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%;height:100%}.barriers-kiosk-full .barriers-grid .barrier-card{display:flex;flex-direction:column;overflow:hidden;min-height:0;flex:1}.barriers-kiosk-full .barriers-grid .barrier-card.mobile-spoiler-collapsed{flex:0 0 auto}@media(min-width:700px){.barriers-kiosk-full .barriers-grid:has(.barrier-card:nth-child(2)) .barrier-card.mobile-spoiler-collapsed{flex:1;align-self:flex-start}}@media(max-width:699px)and (orientation:landscape){.barriers-kiosk-full .barriers-grid:has(.barrier-card:nth-child(2)){flex-direction:row}}@media(min-width:700px){.barriers-kiosk-full .barriers-grid:has(.barrier-card:nth-child(2)){flex-direction:row}}@media(min-width:700px)and (max-width:1199px){.barriers-kiosk-full .barriers-grid:has(.barrier-card:nth-child(3)){flex-wrap:wrap}.barriers-kiosk-full .barriers-grid:has(.barrier-card:nth-child(3)) .barrier-card{flex-basis:calc(50% - var(--spacing-sm) / 2)}}@media(min-width:1200px){.barriers-kiosk-full .barriers-grid:has(.barrier-card:nth-child(3)){flex-direction:row}}@media(min-width:1600px){.barriers-kiosk-full .barriers-grid:has(.barrier-card:nth-child(4)){flex-direction:row}}.barriers-kiosk-full .snapshot-container{flex:1;min-height:0;aspect-ratio:auto;margin-bottom:0}.barriers-kiosk-full .snapshot-img{max-height:100%;object-fit:contain}.barriers-kiosk-full .barrier-mobile-toggle{cursor:pointer;display:flex;align-items:center;gap:6px}.barriers-kiosk-full .barrier-mobile-toggle:before{content:"▾";font-size:.72rem;transition:transform .2s;transform-origin:center}.barriers-kiosk-full .barrier-card.mobile-spoiler-collapsed .barrier-mobile-toggle:before{transform:rotate(-90deg)}.barriers-kiosk-full .barrier-card.mobile-spoiler-collapsed .barrier-card-cameras,.barriers-kiosk-full .barrier-card.mobile-spoiler-collapsed .snapshot-container,.barriers-kiosk-full .barrier-card.mobile-spoiler-collapsed .btn-live,.barriers-kiosk-full .barrier-card.mobile-spoiler-collapsed .btn-quality{display:none}.barriers-kiosk{width:100%;max-width:480px;margin:0 auto;padding:var(--spacing-xs);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);min-height:100dvh;justify-content:center}.kiosk-grid{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%}.kiosk-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--card-bg, var(--surface));border-radius:var(--radius, 12px);box-shadow:var(--card-shadow, 0 1px 3px rgba(0,0,0,.08))}.kiosk-card-name{font-weight:600;font-size:1rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kiosk-card-status,.kiosk-card-action{flex-shrink:0}.kiosk-btn{min-width:120px;padding:14px 24px;font-size:1.05rem;font-weight:600;border-radius:var(--radius, 12px)}.kiosk-back-link{color:var(--text-muted, #888);font-size:.82rem;text-decoration:none;margin-top:var(--spacing-sm)}.kiosk-back-link:hover{color:var(--accent);text-decoration:underline}.surveillance-subtabs{display:flex;gap:10px 14px;flex-wrap:wrap;align-items:center;min-width:0}.surveillance-subtab-btn{border:0;background:transparent;color:var(--text-secondary);padding:0;cursor:pointer;font-size:1.2rem;line-height:1.2;font-weight:600;text-decoration:none}.surveillance-subtab-btn.active{color:var(--accent);text-decoration:none}.surveillance-subtab-btn:hover{color:var(--accent-hover)}.surveillance-subtab-btn.active:hover{color:var(--accent)}.surveillance-subtab-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #0071e32e;border-radius:6px}.camera-tile{cursor:pointer;transition:transform .2s,box-shadow .2s}.camera-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.camera-tile .camera-group{font-size:.75rem;color:var(--text-muted);margin-top:4px}.surveillance-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.surveillance-toolbar-right{margin-left:auto;display:inline-flex;gap:var(--spacing-sm);align-items:center}.surveillance-events-table td:nth-child(1),.surveillance-events-table td:nth-child(2),.surveillance-events-table td:nth-child(5),.surveillance-events-table td:nth-child(6){white-space:nowrap}.surveillance-events-table td:nth-child(6){width:1%}.surveillance-events-table .btn{white-space:nowrap}.surveillance-events-filter-row th{background:var(--bg-card);text-transform:none;letter-spacing:0;font-size:.8rem;padding:6px 8px}.surveillance-events-filter-row input,.surveillance-events-filter-row select{width:100%;min-width:80px;font-size:.8rem;padding:6px 8px}.surveillance-camera-filter{min-width:0;width:100%}.surveillance-camera-filter-trigger{width:100%;min-height:34px;font-size:.8rem;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.surveillance-events-filter-row .surveillance-camera-filter-trigger,.surveillance-events-mobile-filters .surveillance-camera-filter-trigger,.surveillance-events-filter-row .surveillance-camera-filter-trigger:hover,.surveillance-events-mobile-filters .surveillance-camera-filter-trigger:hover,.surveillance-events-filter-row .surveillance-camera-filter-trigger[aria-expanded=true],.surveillance-events-mobile-filters .surveillance-camera-filter-trigger[aria-expanded=true]{background:var(--bg)}.surveillance-camera-filter-trigger[aria-expanded=true]{border-color:var(--accent)}[data-theme^=material] .surveillance-events-filter-row .surveillance-camera-filter-trigger,[data-theme^=material] .surveillance-events-mobile-filters .surveillance-camera-filter-trigger,[data-theme^=material] .surveillance-events-filter-row .surveillance-camera-filter-trigger:hover,[data-theme^=material] .surveillance-events-mobile-filters .surveillance-camera-filter-trigger:hover,[data-theme^=material] .surveillance-events-filter-row .surveillance-camera-filter-trigger[aria-expanded=true],[data-theme^=material] .surveillance-events-mobile-filters .surveillance-camera-filter-trigger[aria-expanded=true]{background:transparent}[data-theme^=minimal] .surveillance-events-filter-row .surveillance-camera-filter-trigger,[data-theme^=minimal] .surveillance-events-mobile-filters .surveillance-camera-filter-trigger,[data-theme^=minimal] .surveillance-events-filter-row .surveillance-camera-filter-trigger:hover,[data-theme^=minimal] .surveillance-events-mobile-filters .surveillance-camera-filter-trigger:hover,[data-theme^=minimal] .surveillance-events-filter-row .surveillance-camera-filter-trigger[aria-expanded=true],[data-theme^=minimal] .surveillance-events-mobile-filters .surveillance-camera-filter-trigger[aria-expanded=true]{background:var(--bg-card)}[data-theme^=metro] .surveillance-events-filter-row .surveillance-camera-filter-trigger,[data-theme^=metro] .surveillance-events-mobile-filters .surveillance-camera-filter-trigger,[data-theme^=metro] .surveillance-events-filter-row .surveillance-camera-filter-trigger:hover,[data-theme^=metro] .surveillance-events-mobile-filters .surveillance-camera-filter-trigger:hover,[data-theme^=metro] .surveillance-events-filter-row .surveillance-camera-filter-trigger[aria-expanded=true],[data-theme^=metro] .surveillance-events-mobile-filters .surveillance-camera-filter-trigger[aria-expanded=true]{background:var(--metro-input-bg)}[data-theme^=liquid] .surveillance-events-filter-row .surveillance-camera-filter-trigger,[data-theme^=liquid] .surveillance-events-mobile-filters .surveillance-camera-filter-trigger,[data-theme^=liquid] .surveillance-events-filter-row .surveillance-camera-filter-trigger:hover,[data-theme^=liquid] .surveillance-events-mobile-filters .surveillance-camera-filter-trigger:hover,[data-theme^=liquid] .surveillance-events-filter-row .surveillance-camera-filter-trigger[aria-expanded=true],[data-theme^=liquid] .surveillance-events-mobile-filters .surveillance-camera-filter-trigger[aria-expanded=true]{background:var(--liquid-tint-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-theme=tablet] .surveillance-events-filter-row .surveillance-camera-filter-trigger,[data-theme=tablet] .surveillance-events-mobile-filters .surveillance-camera-filter-trigger,[data-theme=tablet] .surveillance-events-filter-row .surveillance-camera-filter-trigger:hover,[data-theme=tablet] .surveillance-events-mobile-filters .surveillance-camera-filter-trigger:hover,[data-theme=tablet] .surveillance-events-filter-row .surveillance-camera-filter-trigger[aria-expanded=true],[data-theme=tablet] .surveillance-events-mobile-filters .surveillance-camera-filter-trigger[aria-expanded=true]{background:#374151}.surveillance-camera-filter-menu{min-width:240px;z-index:140}.surveillance-camera-filter-options{display:block}.surveillance-camera-filter-option{display:flex;align-items:center;gap:8px;padding:4px 10px;font-size:.85rem;cursor:pointer;white-space:nowrap}.surveillance-camera-filter-option input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;flex:0 0 18px}.surveillance-camera-filter-option:hover{background:var(--bg-secondary)}.surveillance-camera-filter-status{color:var(--text-secondary);font-size:.8rem;padding:8px 10px}.surveillance-events-filter-row .btn{width:100%}.surveillance-events-table-wrapper{position:relative}.surveillance-events-date-filter-trigger{cursor:pointer;background:var(--bg-card)}.surveillance-events-date-filter-trigger::placeholder{color:var(--text-secondary)}.surveillance-events-time-range-panel{position:absolute;top:0;left:0;z-index:30;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);padding:var(--spacing-md);box-shadow:var(--shadow-lg);min-width:320px;max-width:min(760px,calc(100% - 8px))}.surveillance-events-time-range-panel[hidden]{display:none}.surveillance-events-time-range-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.surveillance-events-time-range-panel-title{font-weight:600;font-size:.9rem}.surveillance-events-time-range-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.surveillance-events-time-range-grid .form-group{margin-bottom:0}.surveillance-events-time-range-grid .form-group label{font-size:.75rem;color:var(--text-secondary);margin-bottom:4px}.surveillance-events-time-range-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;flex-wrap:wrap}.surveillance-events-mobile-filters{display:none;margin-bottom:var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);overflow:hidden}.surveillance-events-mobile-filters summary{list-style:none;cursor:pointer;padding:var(--spacing-md);font-weight:600;-webkit-user-select:none;user-select:none}.surveillance-events-mobile-filters summary::-webkit-details-marker{display:none}.surveillance-events-mobile-filters summary:after{content:"▾";float:right;color:var(--text-secondary);transition:transform .15s ease}.surveillance-events-mobile-filters[open] summary:after{transform:rotate(180deg)}.surveillance-events-mobile-filters-body{padding:0 var(--spacing-md) var(--spacing-md);border-top:1px solid var(--border)}.surveillance-events-mobile-filters-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.surveillance-events-mobile-filters .form-group{margin-bottom:0}.surveillance-events-mobile-filters .form-group label{font-size:.75rem;color:var(--text-secondary);margin-bottom:4px}.surveillance-events-mobile-filters .surveillance-camera-filter-trigger{min-height:38px}.surveillance-events-mobile-filters .surveillance-camera-filter-menu{min-width:100%}.surveillance-events-mobile-filters-actions{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}html[data-theme^=minimal] .surveillance-grid:not(.view-grid){gap:var(--spacing-sm)}html[data-theme^=minimal] .surveillance-grid:not(.view-grid)>.camera-tile.card{padding:4px;background:transparent;box-shadow:none}html[data-theme^=minimal] .surveillance-grid:not(.view-grid)>.camera-tile .snapshot-container{margin-bottom:6px}html[data-theme^=minimal] .surveillance-grid:not(.view-grid)>.camera-tile .flex-between{padding-inline:6px}@media(max-width:767px){html[data-theme^=minimal] .surveillance-page .surveillance-grid:not(.view-grid){margin-inline:calc(var(--spacing-lg) * -1 + 3px);gap:6px}}.surveillance-view-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.surveillance-layout-group,.surveillance-layout-btns{display:inline-flex;gap:2px;align-items:center}.surveillance-layout-btn{padding:4px 8px!important}.surveillance-layout-btn svg,#surveillance-grid-toggle svg{display:block;pointer-events:none}.surveillance-layout-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.surveillance-grid.grid-3[data-layout=list]{grid-template-columns:1fr}.surveillance-grid.grid-3[data-layout="2"]{grid-template-columns:1fr 1fr}.surveillance-grid.grid-3[data-layout="3"]{grid-template-columns:1fr 1fr 1fr}.surveillance-grid[data-layout=list]>.camera-tile{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr auto;gap:0 var(--spacing-md)}.surveillance-grid[data-layout=list]>.camera-tile .snapshot-container{grid-row:1 / 3}.surveillance-grid[data-layout=list]>.camera-tile .camera-events-panel{display:block!important;align-self:stretch;overflow-y:auto}.surveillance-grid[data-layout=list]>.camera-tile .flex-between{align-self:end;padding-top:var(--spacing-sm)}.camera-events-panel{font-size:.82rem}.camera-events-panel-header{font-weight:600;font-size:.78rem;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.camera-events-panel-list{max-height:280px;overflow-y:auto}.camera-event-item{display:flex;gap:8px;padding:4px 0;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.78rem}.camera-event-item:last-child{border-bottom:none}.camera-event-time{font-weight:600;color:var(--text);min-width:38px}.camera-event-type{flex:1}.camera-event-duration{color:var(--text-muted);white-space:nowrap}.temp-links-view-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.surveillance-grid.view-grid{gap:0;background:#000;overflow:hidden;grid-auto-flow:dense}.surveillance-grid.view-grid>.camera-tile.card{padding:0;border:0;border-radius:0;box-shadow:none;background:#000}.surveillance-grid.view-grid>.camera-tile:hover{transform:none;box-shadow:none}.surveillance-grid.view-grid>.camera-tile .snapshot-container{margin-bottom:0;border-radius:0;background:#000;border:1px solid rgba(255,59,48,.9);display:grid;place-items:stretch}.surveillance-grid.view-grid>.camera-tile .snapshot-container>img.snapshot-img,.surveillance-grid.view-grid>.camera-tile .snapshot-container>.surveillance-video,.surveillance-grid.view-grid>.camera-tile .snapshot-container>.snapshot-placeholder,.surveillance-grid.view-grid>.camera-tile .snapshot-container>.fs-overlay{grid-area:1 / 1}.surveillance-grid.view-grid>.camera-tile .snapshot-container>img.snapshot-img,.surveillance-grid.view-grid>.camera-tile .snapshot-container>.snapshot-placeholder{z-index:1}.surveillance-grid.view-grid>.camera-tile .snapshot-container>.surveillance-video{z-index:0}.surveillance-grid.view-grid>.camera-tile .snapshot-container.grid-video-active>.surveillance-video{z-index:1}.surveillance-grid.view-grid>.camera-tile .snapshot-placeholder{font-size:.78rem;color:#ffffffc7}.surveillance-grid.view-grid>.camera-tile .snapshot-placeholder .icon{font-size:1.4rem;margin-bottom:2px}.surveillance-grid.view-grid>.camera-tile .flex-between{display:none}.surveillance-grid.view-grid>.camera-tile .snapshot-container:after{content:attr(data-cam-name);position:absolute;left:6px;bottom:6px;max-width:calc(100% - 12px);font-size:.7rem;line-height:1.2;color:#fff;background:#0000008c;border-radius:4px;padding:3px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.surveillance-grid.view-grid>.camera-tile .surveillance-video{width:100%;height:100%;object-fit:contain;background:#000}.surveillance-grid.view-grid>.camera-tile .expanded-fs-btn{display:none}.surveillance-grid.view-grid>.camera-tile.expanded .snapshot-container{border-color:#ffffff38}.surveillance-grid.view-grid>.camera-tile.expanded .expanded-fs-btn{display:flex}.snapshot-container:is(:fullscreen,.css-fullscreen) .snapshot-img,.snapshot-container:is(:fullscreen,.css-fullscreen) video{width:100%;height:100%;object-fit:contain}body.surveillance-grid-mode .main-content{max-width:none;padding:0}body.surveillance-grid-mode .surveillance-toolbar{position:fixed;top:calc(env(safe-area-inset-top,0px) + 8px);right:calc(env(safe-area-inset-right,0px) + 8px);z-index:900;margin:0;padding:0;justify-content:flex-end}body.surveillance-grid-mode .surveillance-toolbar h1,body.surveillance-grid-mode .surveillance-toolbar .surveillance-subtabs{display:none}body.surveillance-grid-mode .surveillance-toolbar .surveillance-view-btn{background:#00000085;color:#fff;border-color:#ffffff3d;box-shadow:0 6px 18px #00000047;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}body.surveillance-grid-mode .surveillance-toolbar .surveillance-view-btn:hover{background:#000000ad;border-color:#ffffff61}body.surveillance-grid-mode .surveillance-toolbar .surveillance-view-btn.active{background:#00000085;color:#fff;border-color:#ffffff3d}body.surveillance-grid-mode .surveillance-layout-btns,body.surveillance-grid-mode .header,body.surveillance-grid-mode .bottom-nav{display:none}body.surveillance-grid-mode .surveillance-grid.view-grid{height:100vh;height:100dvh;overflow:hidden;align-content:start}@media(max-width:767px){.surveillance-subtabs{width:100%}.surveillance-subtab-btn{font-size:1.05rem}.surveillance-events-table .btn{width:auto}.surveillance-events-mobile-filters{display:block}.surveillance-events-mobile-filters-grid{grid-template-columns:1fr}.surveillance-events-time-range-grid{grid-template-columns:1fr 1fr}.surveillance-events-time-range-actions{display:grid;grid-template-columns:1fr 1fr}.surveillance-events-time-range-panel{min-width:0;max-width:calc(100% - 8px)}.surveillance-grid.view-grid,.surveillance-grid.grid-3,.surveillance-grid.grid-3[data-layout=list],.surveillance-grid.grid-3[data-layout="2"],.surveillance-grid.grid-3[data-layout="3"]{grid-template-columns:1fr}.surveillance-grid[data-layout=list]>.camera-tile{grid-template-columns:1fr}.surveillance-grid[data-layout=list]>.camera-tile .snapshot-container{grid-row:auto}.surveillance-layout-group{display:none}}@media(max-width:767px)and (orientation:landscape){.surveillance-grid.view-grid,.surveillance-grid.grid-3,.surveillance-grid.grid-3[data-layout=list],.surveillance-grid.grid-3[data-layout="2"],.surveillance-grid.grid-3[data-layout="3"]{grid-template-columns:1fr 1fr}}@media(min-width:768px)and (max-width:1399px){.surveillance-grid.view-grid{grid-template-columns:1fr 1fr}}@media(min-width:1400px){.surveillance-grid.view-grid{grid-template-columns:1fr 1fr 1fr}}.surveillance-grid.view-grid[data-layout=list]{grid-template-columns:1fr}.surveillance-grid.view-grid[data-layout="2"]{grid-template-columns:1fr 1fr}.surveillance-grid.view-grid[data-layout="3"]{grid-template-columns:1fr 1fr 1fr}.surveillance-grid.view-grid .camera-events-panel{display:none!important}.surveillance-grid.view-grid.has-expanded>.camera-tile .snapshot-container{aspect-ratio:auto;height:100%}.surveillance-grid.view-grid.has-expanded>.camera-tile{overflow:hidden}.snapshot-container:is(:fullscreen,.css-fullscreen) .expanded-fs-btn{display:none}.surveillance-grid.view-grid.has-expanded>.camera-tile .snapshot-img,.surveillance-grid.view-grid.has-expanded>.camera-tile .surveillance-video{object-fit:cover}.fs-overlay{display:none}.snapshot-container:is(:fullscreen,.css-fullscreen) .fs-overlay{display:block;position:absolute;inset:0;z-index:20;pointer-events:none}.snapshot-container:is(:fullscreen,.css-fullscreen).fs-idle{cursor:none}.snapshot-container:is(:fullscreen,.css-fullscreen).fs-idle .fs-overlay:not(.split-active):not(.pip-active){opacity:0;transition:opacity .3s}.snapshot-container:is(:fullscreen,.css-fullscreen).fs-idle .fs-overlay.split-active>:not(.fs-split-view){opacity:0;transition:opacity .3s}.snapshot-container:is(:fullscreen,.css-fullscreen).fs-idle .fs-overlay.pip-active>:not(.fs-pip-view){opacity:0;transition:opacity .3s}.fs-exit-btn{pointer-events:auto;position:absolute;top:12px;right:16px;width:40px;height:40px;border-radius:8px;border:none;background:#00000073;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:25}.fs-exit-btn:hover{background:#000000b3}.fs-nav{pointer-events:auto;position:absolute;top:96px;bottom:56px;width:56px;height:auto;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;cursor:pointer;background:#0000004d;color:#fff;z-index:21}.fs-nav:hover{opacity:1}.fs-nav-left{left:0}.fs-nav-right{right:0}.fs-thumbs-bar{pointer-events:auto;position:absolute;top:0;left:0;right:0;height:96px;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .2s;overflow-x:auto;overflow-y:hidden;z-index:24}.fs-thumbs-bar:hover,.fs-thumbs-bar.visible{opacity:1}.fs-thumbs-scroll{display:flex;gap:4px;padding:6px 64px 6px 6px;height:100%;justify-content:center}.fs-thumb{flex:0 0 auto;height:100%;aspect-ratio:16 / 9;border-radius:4px;overflow:hidden;cursor:pointer;position:relative;border:2px solid transparent;opacity:.7;transition:opacity .15s,border-color .15s}.fs-thumb.active{border-color:#007aff;opacity:1}.fs-thumb:hover{opacity:1}.fs-thumb img{width:100%;height:100%;object-fit:cover}.fs-thumb-name{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:.65rem;color:#fff;background:#0009;padding:2px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-overlay .fs-quality-wrap{pointer-events:auto;position:absolute;top:12px;right:68px;z-index:25}.fs-bottom-row{pointer-events:auto;position:absolute;bottom:56px;left:0;right:0;display:flex;justify-content:center;z-index:25}.fs-top-btns{pointer-events:auto;position:absolute;top:12px;right:16px;display:flex;gap:6px;z-index:25}.fs-top-btns .fs-exit-btn{position:static}.fs-split-btn{width:40px;height:40px;border-radius:8px;border:none;background:#00000073;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.fs-split-btn:hover{background:#000000b3}.fs-split-btn.active{background:#0078ff99}.fs-overlay:has(.fs-split-btn) .fs-quality-wrap{right:154px}.fs-overlay:has(.fs-pip-btn) .fs-quality-wrap{right:200px}.fs-overlay.split-active .fs-quality-wrap{display:none!important}.fs-split-quality-dd{position:absolute;top:32px;left:50%;transform:translate(-50%);z-index:30;background:#000c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:6px;padding:4px;display:flex;flex-direction:column;gap:2px;white-space:nowrap}.fs-split-quality-dd button{background:transparent;border:none;color:#fff;padding:4px 12px;border-radius:4px;font-size:.75rem;cursor:pointer;text-align:left}.fs-split-quality-dd button:hover{background:#ffffff26}.fs-split-quality-dd button.active{background:#0078ff80}.fs-split-view{display:none;pointer-events:auto;position:absolute;inset:0;z-index:15;background:#000}.fs-split-view.active{display:flex}.fs-split-view[data-dir=v]{flex-direction:column}.fs-split-view[data-dir=v]>.fs-split-cell{flex:1 1 0;min-height:0;width:100%}.fs-split-view[data-dir=v]>.fs-split-cell>.fs-split-cell-inner{width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.fs-split-view[data-dir=v] .fs-split-cell-inner video,.fs-split-view[data-dir=v] .fs-split-cell-inner img{width:100%;height:auto;display:block}.fs-split-view[data-dir=h]{flex-direction:row}.fs-split-view[data-dir=h]>.fs-split-cell{flex:1 1 0;min-width:0;height:100%}.fs-split-view[data-dir=h]>.fs-split-cell>.fs-split-cell-inner{width:100%;height:100%;overflow-x:auto;overflow-y:hidden}.fs-split-view[data-dir=h] .fs-split-cell-inner video,.fs-split-view[data-dir=h] .fs-split-cell-inner img{height:100%;width:auto;display:block}.fs-split-cell{position:relative}.fs-split-cell-inner{scrollbar-width:none}.fs-split-cell-inner::-webkit-scrollbar{display:none}.fs-split-cell-quality{position:absolute;top:6px;left:50%;transform:translate(-50%);padding:4px 10px;border-radius:6px;border:none;background:#00000073;color:#fff;font-size:.75rem;font-weight:500;cursor:pointer;z-index:5;transition:background .15s}.fs-split-cell-quality:hover{background:#000000b3}.fs-overlay.split-active .fs-nav,.fs-overlay.split-active .fs-thumbs-bar{display:none!important}.fs-pip-btn{width:40px;height:40px;border-radius:8px;border:none;background:#00000073;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.fs-pip-btn:hover{background:#000000b3}.fs-pip-btn.active{background:#0078ff99}.fs-pip-view{--pip-drag-size: 30%;display:none;pointer-events:auto;position:absolute;z-index:16}.fs-pip-view.active{display:flex}.fs-pip-view.pip-single{left:20px;bottom:20px;width:20%;min-width:160px;max-width:320px}.fs-pip-view.pip-strip{left:12px;right:12px;bottom:12px;gap:8px;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.fs-pip-view.pip-strip::-webkit-scrollbar{display:none}.fs-pip-view.pip-strip .fs-pip-thumb{flex:0 0 20%;min-width:140px;max-width:260px}.fs-pip-thumb{position:relative;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;cursor:pointer;background:#000;border:2px solid rgba(255,255,255,.25);box-shadow:0 4px 16px #00000080;transition:border-color .15s,box-shadow .15s;-webkit-user-select:none;user-select:none}.fs-pip-thumb:hover{border-color:#ffffff80}.fs-pip-thumb video,.fs-pip-thumb img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.fs-pip-drag-handle{position:absolute;top:0;left:0;right:0;height:24px;background:#0006;cursor:grab;display:flex;align-items:center;gap:4px;padding:0 6px;z-index:2;touch-action:none;transition:background .15s}.fs-pip-drag-handle:hover{background:#0009}.fs-pip-drag-handle:active{cursor:grabbing}.fs-pip-drag-handle svg{flex-shrink:0;opacity:.5;pointer-events:none}.fs-pip-drag-handle:hover svg{opacity:.8}.fs-pip-drag-handle-label{font-size:.6rem;color:#fffc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;line-height:1}.fs-pip-thumb.dragging{opacity:.85;z-index:100;box-shadow:0 8px 24px #000000b3;border-color:#0078ffb3}@media(max-width:767px)and (orientation:portrait){.fs-pip-view.pip-single{left:8px;right:8px;bottom:8px;width:auto;min-width:0;max-width:none}.fs-pip-view.pip-strip{left:6px;right:6px;bottom:6px;gap:6px}.fs-pip-view.pip-strip .fs-pip-thumb{flex:0 0 calc(100% - 12px);min-width:0;max-width:none}.fs-pip-drag-handle{height:20px}}@media(max-width:767px)and (orientation:landscape){.fs-pip-view.pip-single{width:25%;min-width:120px;max-width:220px;left:10px;bottom:10px}.fs-pip-view.pip-strip{left:6px;right:6px;bottom:6px;gap:6px}.fs-pip-view.pip-strip .fs-pip-thumb{flex:0 0 25%;min-width:100px;max-width:180px}.fs-pip-drag-handle{height:20px}}.fs-overlay.pip-active .fs-nav,.fs-overlay.pip-active .fs-thumbs-bar,.fs-overlay.pip-active .fs-quality-wrap{display:none!important}.player-controls-bar{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:3;opacity:0;transition:opacity .2s}.snapshot-container:hover .player-controls-bar,.player-controls-bar:focus-within{opacity:1}.snapshot-container:is(:fullscreen,.css-fullscreen) .player-controls-bar{opacity:1;z-index:26}.snapshot-container:is(:fullscreen,.css-fullscreen) .fs-thumbs-bar{opacity:1}.snapshot-container:is(:fullscreen,.css-fullscreen).fs-idle .player-controls-bar{opacity:0;pointer-events:none}.player-controls-left,.player-controls-right{display:flex;align-items:center;gap:6px}.player-controls-center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center}.pc-open-barrier{gap:6px;font-weight:600;font-size:.82rem;letter-spacing:.02em}.pc-open-barrier:hover{background:#ffffff38!important}.snapshot-container:is(:fullscreen,.css-fullscreen) .pc-open-barrier{font-size:.95rem;padding:6px 16px}.player-seek-wrap{position:absolute;left:10px;right:10px;top:0;height:0;min-height:0;padding:0;pointer-events:none}.player-seek-track{position:relative;width:100%;height:14px;transform:translateY(-50%);cursor:pointer;outline:none;isolation:isolate;pointer-events:auto}.player-seek-track.is-disabled{cursor:default;pointer-events:none}.player-seek-rail{position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-50%);border-radius:999px;background:#ffffff38;overflow:hidden;z-index:0}.player-seek-fill{position:absolute;left:0;top:0;bottom:0;width:0%;border-radius:inherit;background:var(--primary);box-shadow:0 0 10px color-mix(in srgb,var(--primary) 36%,transparent);z-index:1}.player-seek-thumb{position:absolute;left:0%;top:50%;width:10px;height:10px;transform:translate(-50%,-50%);border-radius:999px;background:#fff;border:2px solid var(--primary);box-shadow:0 2px 10px #0006;opacity:1;pointer-events:none;transition:transform .15s ease,box-shadow .15s ease;z-index:2}.snapshot-container:hover .player-seek-thumb,.player-seek-track:focus-visible .player-seek-thumb,.player-seek-track.is-scrubbing .player-seek-thumb{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 0 3px #ffffff24,0 2px 12px #00000073}.player-ctrl-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;background:transparent;color:#ffffffd9;font-size:.76rem;min-height:32px;padding:0 10px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;line-height:1;box-sizing:border-box}.player-ctrl-btn:hover{background:#ffffff2e;color:#fff}.player-ctrl-btn.active{background:var(--primary);color:#fff}.player-ctrl-btn.pc-play{min-width:38px;padding:0 10px}.pc-label{font-size:.6rem;opacity:.7;margin-left:1px}.pc-quality-wrap{position:relative;display:flex;align-items:stretch}.pc-speed-mobile-wrap{position:relative;display:none;align-items:stretch}.pc-quality-wrap>.player-ctrl-btn,.player-ctrl-btn.pc-live{min-height:32px}.pc-speed-mobile-btn{min-width:44px;padding:0 10px;font-variant-numeric:tabular-nums}.pc-live-indicator{width:8px;height:8px;border-radius:999px;background:#ff3b30;box-shadow:0 0 10px #ff3b30a6;opacity:0;transform:scale(.7);transition:opacity .15s ease,transform .15s ease}.player-ctrl-btn.pc-live.is-streaming .pc-live-indicator{opacity:1;transform:scale(1)}.player-speed-placeholder{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 10px;border-radius:var(--radius-sm);background:#ffffff14;color:#ffffffe0;box-sizing:border-box}.player-speed-placeholder.is-disabled{opacity:.72}.player-speed-caption,.player-speed-value{font-size:.72rem;line-height:1}.player-speed-value{min-width:2.2em;text-align:right}.player-speed-slider{width:clamp(72px,12vw,120px);accent-color:#fff;margin:0}.player-speed-slider:disabled{cursor:not-allowed;opacity:.8}.pc-speed-mobile-wrap .player-speed-dropdown{display:flex;flex-direction:column;align-items:center;gap:0;width:min(240px,calc(100vw - 24px));min-width:0;padding:8px;left:50%;right:auto;transform:translate(-50%)}.pc-speed-mobile-wrap .player-speed-dropdown-slider-row{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;width:100%}.pc-speed-mobile-wrap .player-speed-dropdown-slider{flex:1 1 auto;width:auto;min-width:0;margin:0;accent-color:#fff}.pc-speed-mobile-wrap .player-speed-dropdown-current{min-width:2.8em;text-align:right;color:#fffffff0;font-size:.72rem;line-height:1;font-variant-numeric:tabular-nums}.pc-speed-mobile-wrap .player-speed-dropdown,.pc-quality-wrap .quality-dropdown{bottom:calc(100% + 4px);top:auto}.snapshot-container+.timeline-container{margin-top:0}.snapshot-container:has(+.timeline-container){margin-bottom:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.timeline-container{padding:0}.timeline-bar{position:relative;height:40px;background:var(--bg-secondary);border-radius:0 0 var(--radius-sm) var(--radius-sm);overflow:hidden}.timeline-nav{position:absolute;top:0;height:100%;width:24px;border:none;background:#ffffff26;color:var(--text-muted);font-size:1.1rem;cursor:pointer;pointer-events:auto!important;z-index:10;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s}.timeline-nav:hover:not(:disabled){background:#ffffff2e;color:var(--text-primary)}.timeline-nav:disabled{opacity:.3;cursor:default}.timeline-nav-left{left:0;border-radius:0 0 0 var(--radius-sm)}.timeline-nav-right{right:0;border-radius:0 0 var(--radius-sm) 0}.timeline-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:4px}.timeline-zoom-controls{display:flex;align-items:center;gap:4px}.timeline-zoom-mobile{display:none}.timeline-marker{position:absolute;top:8px;height:24px;min-width:4px;border:0;margin:0;padding:0;background:#4caf50;border-radius:2px;cursor:pointer;opacity:.8;appearance:none;-webkit-appearance:none}.timeline-marker:hover{opacity:1}.timeline-marker:focus-visible{outline:1px solid rgba(255,255,255,.45);outline-offset:1px}.timeline-zoom-btn{padding:1px 6px;font-size:.65rem;line-height:1.2;min-height:0}.timeline-zoom-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.timeline-zoom-mobile-btn,.timeline-zoom-mobile-value{min-height:40px;padding:0 14px;font-size:1.3rem;line-height:1;font-weight:600}.timeline-zoom-mobile-btn{min-width:40px}.timeline-zoom-mobile-value{min-width:72px;font-size:1rem;font-variant-numeric:tabular-nums;cursor:default;pointer-events:none}.timeline-filter-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;line-height:1.2;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;opacity:.5;transition:opacity .15s}.timeline-filter-btn.active{opacity:1;color:var(--text-primary);background:var(--bg-secondary)}.timeline-labels{position:relative;height:18px;font-size:.7rem;color:var(--text-muted);margin-top:4px}.timeline-labels span{position:absolute;transform:translate(-50%);white-space:nowrap}.timeline-marker-timelapse{position:absolute;bottom:2px;height:3px;min-width:4px;border:0;margin:0;padding:0;background:#00acc1;border-radius:1px;cursor:pointer;opacity:.85;appearance:none;-webkit-appearance:none}.timeline-marker-timelapse.is-active{height:6px;opacity:1}.timeline-marker-timelapse:hover{opacity:1}.timeline-marker-timelapse:focus-visible{outline:1px solid rgba(255,255,255,.45);outline-offset:1px}@media(max-width:767px){.timeline-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.timeline-range-label,#timeline-range-label{width:auto;min-width:0}#timeline-range-label.timeline-range-label-multiline{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.2}#timeline-range-label .timeline-range-line{display:block}.timeline-zoom-desktop{display:none}.timeline-zoom-mobile{display:flex;margin-left:0;justify-self:end;align-self:start}.player-speed-placeholder{display:none}.pc-speed-mobile-wrap:not(.hidden){display:flex}html[data-theme^=minimal] .camera-personal-card,html[data-theme^=minimal] .camera-events-card{margin-inline:calc(var(--spacing-lg) * -1 + 3px);background:transparent;box-shadow:none}html[data-theme^=minimal] .camera-personal-card>.p-lg{padding:3px}}.camera-events-card .table-wrapper{position:relative}.camera-events-card-header{gap:var(--spacing-sm)}.camera-events-spoiler-toggle{display:inline-flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;padding:0;border:0;background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.camera-events-spoiler-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #0071e32e;border-radius:6px}.camera-events-spoiler-title{font-size:1.1rem;font-weight:700;line-height:1.2}.camera-events-spoiler-icon:before{content:"▸";display:block;font-size:.8rem;line-height:1;color:var(--text-secondary);transition:transform .2s ease}.camera-events-card.is-expanded .camera-events-spoiler-icon:before{transform:rotate(90deg)}.camera-events-card.is-collapsed .camera-events-spoiler-body,.camera-events-card.is-collapsed .cam-events-limit-wrap{display:none}.camera-events-card .surveillance-events-mobile-filters{margin:0 0 var(--spacing-md)}.cam-events-limit-wrap{position:relative}.cam-events-limit-btn{min-width:48px;font-variant-numeric:tabular-nums}.cam-events-limit-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:4px;min-width:72px;overflow:hidden}.cam-events-limit-option{display:flex;width:100%;align-items:center;justify-content:center;padding:8px 12px;border:1px solid transparent;border-radius:calc(var(--radius-sm) - 2px);background:transparent;font-size:.82rem;font-weight:600;font-variant-numeric:tabular-nums;text-decoration:none;color:var(--text-primary);text-align:center;line-height:1.1;cursor:pointer}.cam-events-limit-option:hover{background:var(--bg-secondary);color:var(--text-primary)}.cam-events-limit-option.active{background:color-mix(in srgb,var(--accent) 12%,var(--bg-card));border-color:color-mix(in srgb,var(--accent) 24%,transparent);font-weight:600;color:var(--accent)}@media(max-width:767px){.camera-events-card:not(.is-expanded) .camera-events-spoiler-body{display:none}.camera-events-card-header{align-items:center}}.tg-composer{background:var(--bg-secondary)}.tg-editor{min-height:80px;max-height:260px;overflow-y:auto;padding:var(--spacing-md) var(--spacing-lg);outline:none;line-height:1.6;font-size:.95rem;white-space:pre-wrap;word-break:break-word}.tg-editor:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.tg-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--border);background:var(--bg-card)}.tg-fmt-btns{display:flex;align-items:center;gap:2px}.tg-fmt-btn{width:30px;height:30px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;padding:0}.tg-fmt-btn:hover{background:var(--border);color:var(--text)}.tg-fmt-btn b{font-size:.9rem;font-weight:800}.tg-fmt-btn i,.tg-fmt-btn u,.tg-fmt-btn s{font-size:.9rem}.tg-fmt-btn code{font-family:monospace;font-size:.78rem;letter-spacing:-.03em}.tg-toolbar-right{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}.tg-fmt-sep{width:1px;height:18px;background:var(--border);margin:0 2px;flex-shrink:0;align-self:center}.tg-img-preview{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--border)}.tg-img-preview.hidden{display:none}.tg-img-thumb{position:relative;width:80px;height:80px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--border)}.tg-img-thumb img{width:100%;height:100%;object-fit:cover;display:block}.tg-remove-img{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#0000008c;color:#fff;border:none;cursor:pointer;font-size:9px;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.announcement-card{padding:var(--spacing-lg);margin-bottom:var(--spacing-md)}.announcement-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.announcement-card .author{font-size:.8rem;color:var(--text-secondary)}.announcement-card .text{margin-bottom:var(--spacing-sm);line-height:1.6;white-space:pre-wrap;word-break:break-word}.announcement-card .text b{font-weight:700}.announcement-card .text i{font-style:italic}.announcement-card .text u{text-decoration:underline}.announcement-card .text s{text-decoration:line-through}.announcement-card .text code{font-family:monospace;font-size:.88em;background:var(--bg-secondary);padding:1px 4px;border-radius:3px}.announcement-card .meta{font-size:.8rem;color:var(--text-muted);display:flex;justify-content:space-between}.ann-images{display:flex;flex-direction:column;gap:var(--spacing-sm);margin:var(--spacing-sm) 0}.ann-img{width:100%;max-height:480px;object-fit:contain;border-radius:var(--radius-sm);background:var(--bg-secondary);display:block;cursor:pointer;transition:opacity .15s}.ann-img:hover{opacity:.9}.announcement-pinned{border-left:3px solid var(--primary, #3b82f6)}.announcement-pinned-label{font-size:.75rem;font-weight:600;color:var(--primary, #3b82f6);margin-bottom:var(--spacing-xs, 4px);text-transform:uppercase;letter-spacing:.03em}.announcement-card-actions{display:flex;align-items:center;gap:var(--spacing-xs, 4px)}.temp-link-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media(max-width:767px){.temp-link-cards-grid{grid-template-columns:1fr}}.temp-link-card{background:var(--bg-secondary);border:2px solid var(--accent);border-radius:var(--radius);padding:var(--spacing-lg);display:flex;flex-direction:column}.temp-link-code{font-size:1.6rem;font-weight:700;font-family:SF Mono,Fira Code,monospace;margin-bottom:var(--spacing-sm)}.temp-link-url{font-size:1.2rem;font-weight:600;color:var(--accent);margin-bottom:var(--spacing-sm)}.temp-link-meta{font-size:.85rem;color:var(--text-secondary)}.temp-link-actions{display:flex;gap:var(--spacing-sm);margin-top:auto;padding-top:var(--spacing-md)}.temp-link-card-phone{border-color:#4caf50}[data-theme=dark] .temp-link-card-phone,[data-theme=gray] .temp-link-card-phone{border-color:#66bb6a}.temp-link-phone-numbers{margin-bottom:var(--spacing-sm);font-size:1.1rem}.temp-link-phone-row{display:flex;gap:var(--spacing-sm);align-items:baseline;margin-bottom:2px}.section-text-nav{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}.section-text-nav-link{color:var(--text-secondary);text-decoration:none;font-size:1.2rem;line-height:1.2;font-weight:600;border-radius:6px}.section-text-nav-link:hover{color:var(--accent-hover)}.section-text-nav-link.active{color:var(--accent);text-decoration:none}.section-text-nav-link.active:hover{color:var(--accent)}.section-text-nav-link:focus-visible{outline:none;box-shadow:0 0 0 3px #0071e32e}@media(min-width:768px){.access-page .card-header{justify-content:flex-start}.access-page .card-header>h2+.btn{margin-left:auto}.access-page .card-header>.btn{margin-right:8px}.access-page .card-header>.btn:last-child{margin-right:0}.access-page .access-right-tools{width:100%;justify-content:flex-end!important}.access-page .access-right-tools>.btn{margin-left:auto;margin-right:8px}.access-page th.access-right-cell,.access-page td.access-right-cell{text-align:right;padding-right:8px}}.access-subtabs{display:flex;gap:10px 14px;margin-bottom:var(--spacing-lg);flex-wrap:wrap;align-items:center}.access-subtab-btn{border:0;background:transparent;color:var(--text-secondary);padding:0;cursor:pointer;font-size:1.2rem;line-height:1.2;font-weight:600}.access-subtab-btn.active{color:var(--accent);text-decoration:none}.access-subtab-btn:hover{color:var(--accent-hover)}.access-subtab-btn.active:hover{color:var(--accent)}.access-subtab-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #0071e32e;border-radius:6px}.access-overview-grid{margin-bottom:var(--spacing-lg)}.access-stack{display:flex;flex-direction:column;gap:var(--spacing-lg)}.access-summary-card{display:flex;min-height:132px;flex-direction:column;gap:var(--spacing-sm);justify-content:space-between}.access-summary-label{color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.access-summary-value{font-size:clamp(1.9rem,4vw,2.6rem);font-weight:700;line-height:1}.access-summary-hint{margin:0;color:var(--text-secondary);font-size:.95rem}.access-code-stack,.access-contact-stack{display:inline-flex;min-width:0;flex-direction:column;gap:4px}.access-inline-tags{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.access-row-actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.access-token-code{font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.88rem;letter-spacing:.04em}.access-role-hint-box{min-height:40px;display:flex;align-items:center}.worker-schedule-box{border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg-card);padding:var(--spacing-md)}.worker-schedule-days{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.worker-schedule-days .checkbox-label{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;font-size:.85rem}.worker-schedule-time-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.tenant-access-inline-row{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:flex-end}.tenant-access-inline-row .tenant-access-options{flex:1 1 420px;min-width:260px}.tenant-access-options-row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.tenant-access-options-row .checkbox-label{margin-bottom:0;white-space:nowrap}.access-remotes-checkbox-list{display:flex;flex-wrap:wrap;gap:8px 14px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card)}.access-remotes-checkbox-list .checkbox-label{margin-bottom:0;font-size:.9rem}.access-user-role-note{display:block;margin-top:2px}@media(max-width:767px){.access-summary-card{min-height:0}.access-row-actions{width:100%;justify-content:stretch}.access-row-actions>.btn{flex:1 1 100%}.worker-schedule-time-row{grid-template-columns:1fr}.tenant-access-inline-row .tenant-access-options{flex-basis:100%;min-width:0}}.barriers-subtabs-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:nowrap}.access-log-header{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md);margin-bottom:0;flex-wrap:wrap;flex-shrink:0}.access-log-header .btn{flex-shrink:0}.log-contact-panel{margin-bottom:var(--spacing-md);display:none}.log-contact-panel.open{display:block}.log-contact-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.log-contact-panel-title{font-weight:600;font-size:.9rem}.log-contact-panel-fields{display:grid;gap:var(--spacing-sm)}.log-contact-panel-field{display:grid;gap:4px}.log-contact-panel-field label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.log-contact-panel-field.hidden{display:none}.log-filter-row th{background:var(--bg-card);text-transform:none;letter-spacing:0;font-size:.8rem;padding:6px 8px}.log-filter-row input,.log-filter-row select{width:100%;min-width:80px;font-size:.8rem;padding:6px 8px}.log-filter-row .log-filter-wide{min-width:120px}.log-filter-row .log-filter-narrow{min-width:0;width:100%}#access-log-table .col-apt{width:4ch;min-width:4ch;max-width:5ch;text-align:center;white-space:nowrap;padding-left:4px;padding-right:4px}#access-log-table .col-barrier{width:2.5ch;min-width:2.5ch;max-width:3.5ch;text-align:center;white-space:nowrap;padding-left:4px;padding-right:4px}.log-filter-row .col-apt input,.log-filter-row .col-apt select,.log-filter-row .col-barrier input,.log-filter-row .col-barrier select{min-width:0;width:100%;padding:6px 4px}.table-wrapper.table-mobile-cards{position:relative}.log-time-filter-trigger{cursor:pointer;background:var(--bg-card)}.log-time-filter-trigger::placeholder{color:var(--text-secondary)}.log-time-range-panel{position:absolute;top:0;left:0;z-index:30;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);padding:var(--spacing-md);box-shadow:var(--shadow-lg);min-width:320px;max-width:min(760px,calc(100% - 8px))}.log-time-range-panel[hidden]{display:none}.log-time-range-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.log-time-range-panel-title{font-weight:600;font-size:.9rem}.log-time-range-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.log-time-range-grid .form-group{margin-bottom:0}.log-time-range-grid .form-group label{font-size:.75rem;color:var(--text-secondary);margin-bottom:4px}.log-time-range-quick{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:var(--spacing-sm)}.log-time-range-quick-label{color:var(--text-secondary);font-size:.75rem;margin-right:2px}.log-time-range-quick .btn{min-width:42px;padding-left:8px;padding-right:8px}.log-time-range-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;flex-wrap:wrap}.log-mobile-filters{display:none;margin-bottom:var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);overflow:hidden}.log-mobile-filters summary{list-style:none;cursor:pointer;padding:var(--spacing-md);font-weight:600;color:var(--text);-webkit-user-select:none;user-select:none}.log-mobile-filters summary::-webkit-details-marker{display:none}.log-mobile-filters summary:after{content:"▾";float:right;color:var(--text-secondary);transition:transform .15s ease}.log-mobile-filters[open] summary:after{transform:rotate(180deg)}.log-mobile-filters-body{padding:0 var(--spacing-md) var(--spacing-md);border-top:1px solid var(--border)}.log-mobile-filters-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.log-mobile-filters .form-group{margin-bottom:0}.log-mobile-filters .form-group label{font-size:.75rem;color:var(--text-secondary);margin-bottom:4px}.log-mobile-filters input,.log-mobile-filters select{width:100%;min-width:0}.log-mobile-filters-actions{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}@media(max-width:767px){.barriers-subtabs-row{align-items:flex-start}.log-mobile-filters{display:block}.log-mobile-filters-grid{grid-template-columns:1fr}.log-mobile-filters-actions,.log-time-range-grid{grid-template-columns:1fr 1fr}.log-time-range-actions{display:grid;grid-template-columns:1fr 1fr}.log-time-range-panel{min-width:0;max-width:calc(100% - 8px)}}.temp-public{max-width:480px;margin:0 auto;padding:var(--spacing-xl)}.temp-public-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.temp-public-code{font-size:1.4rem;font-weight:700;font-family:monospace}.temp-public-expiry{font-size:.9rem;color:var(--text-secondary)}.temp-public-buttons{display:flex;gap:var(--spacing-lg);justify-content:center;margin-top:var(--spacing-xl);flex-wrap:wrap}.temp-public-form-card{max-width:400px}.temp-public-form-input{text-align:center;font-size:1.3rem;font-weight:600}.temp-public-form-code{text-transform:uppercase;text-align:center;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:1.3rem;letter-spacing:3px}.temp-public-lang-switch{justify-content:center;margin-bottom:var(--spacing-lg)}.temp-public-action{text-align:center}.temp-public-scheme{padding:0;overflow:hidden;background:#fff}.temp-public-scheme-image{display:block;width:100%;height:auto}.temp-public-feedback{margin-top:var(--spacing-lg);text-align:center}.temp-public-feedback-success{color:var(--success)}@media(max-width:767px){.temp-public{padding:var(--spacing-lg)}.temp-public-header{flex-direction:column;gap:var(--spacing-sm);text-align:center}.temp-public-buttons{gap:var(--spacing-md)}}.spoiler-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:6px}.spoiler-toggle:before{content:"▸";transition:transform .2s}.spoiler-toggle.open:before{transform:rotate(90deg)}.spoiler-content{display:none}.spoiler-content.open{display:block}.login-container{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:var(--spacing-xl)}@media(max-width:600px){.login-container{align-items:flex-start;padding-top:5vh}}.login-wrapper{display:flex;gap:var(--spacing-xl);flex-wrap:wrap;justify-content:center;max-width:800px;width:100%}.login-card{flex:1;min-width:280px;max-width:360px}.login-card h1{font-size:1.3rem;margin-bottom:var(--spacing-sm)}.login-card .subtitle{font-size:.9rem;color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.lang-switch{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-lg);font-size:.85rem}.lang-link{color:var(--text-secondary);text-decoration:none}.lang-link:hover{color:var(--text-primary)}.lang-link.active{color:var(--primary);font-weight:600}.error-text{color:var(--danger);font-size:.85rem;margin-bottom:var(--spacing-md)}.remember-me{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.85rem;color:var(--text-secondary);margin-bottom:var(--spacing-md);cursor:pointer;-webkit-user-select:none;user-select:none}.remember-me input[type=checkbox]{margin:0}@media(max-width:600px){.login-inline .form-group label{display:none}.login-inline{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:flex-end}.login-inline .form-group{flex:1 1 calc(50% - var(--spacing-sm));margin-bottom:0;min-width:0}.login-inline .btn{width:100%}}.theme-options{display:flex;flex-wrap:wrap;gap:6px}.theme-btn{all:unset;box-sizing:border-box;flex:1 1 calc(33.33% - 4px);min-width:0;padding:7px 0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text);cursor:pointer;font-family:var(--font);font-size:.8rem;font-weight:500;text-align:center;white-space:nowrap;line-height:1.2;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}.theme-btn:hover{border-color:var(--accent);background:var(--bg-secondary);color:var(--accent)}.theme-btn.active{background:var(--bg-secondary);color:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.theme-btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--bg-card),0 0 0 4px var(--accent)}.theme-variant-info{display:none;margin-top:10px}.theme-variant-info.visible{display:block}.theme-variant-title{font-size:.76rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.theme-sync-section{margin-top:var(--spacing-md)}.theme-sync-toggle{display:flex;align-items:center;gap:10px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:var(--font);font-size:.75rem;font-weight:600;line-height:1.3}.theme-sync-toggle:hover{color:var(--text-secondary)}.theme-sync-toggle input{width:16px;height:16px;margin:0;accent-color:var(--accent);flex:0 0 auto}.default-tab-info{margin-top:10px}.default-tab-title{font-size:.76rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.default-tab-modes{position:relative;display:grid;gap:0;margin-top:8px;margin-bottom:var(--spacing-md);padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--bg-secondary);overflow:hidden}.default-tab-slider-thumb{position:absolute;top:3px;bottom:3px;left:3px;border-radius:999px;background:var(--bg-card);box-shadow:var(--shadow);transition:transform .22s ease,width .22s ease}.default-tab-btn{all:unset;position:relative;z-index:1;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:7px 0;border-radius:999px;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:var(--font);font-size:.78rem;font-weight:500;text-align:center;white-space:nowrap;line-height:1.2;transition:color .2s ease}.default-tab-btn:hover{color:var(--text)}.default-tab-btn.active{color:var(--accent)}.default-tab-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--accent),0 0 0 2px var(--bg-card),0 0 0 4px var(--accent)}.default-tab-btn .nav-icon{width:18px;height:18px;flex:0 0 18px;display:inline-flex;align-items:center;justify-content:center}.default-tab-btn .nav-icon svg{width:18px;height:18px;display:block;stroke:currentColor}.default-tab-btn .nav-icon svg.icon-fill{stroke:none}.default-tab-btn .nav-icon-light,.default-tab-btn .nav-icon-dark,.default-tab-btn .nav-icon-gray,.default-tab-btn .nav-icon-material,.default-tab-btn .nav-icon-minimal,.default-tab-btn .nav-icon-metro,.default-tab-btn .nav-icon-liquid,.default-tab-btn .nav-icon-tablet{display:none}.default-tab-btn .nav-icon-light{display:inline-flex}html[data-theme=dark] .default-tab-btn .nav-icon-light,html[data-theme=gray] .default-tab-btn .nav-icon-light,html[data-theme^=material] .default-tab-btn .nav-icon-light,html[data-theme^=minimal] .default-tab-btn .nav-icon-light,html[data-theme^=metro] .default-tab-btn .nav-icon-light,html[data-theme^=liquid] .default-tab-btn .nav-icon-light,html[data-theme=tablet] .default-tab-btn .nav-icon-light{display:none}html[data-theme=dark] .default-tab-btn .nav-icon-dark,html[data-theme=gray] .default-tab-btn .nav-icon-gray,html[data-theme^=material] .default-tab-btn .nav-icon-material,html[data-theme^=minimal] .default-tab-btn .nav-icon-minimal,html[data-theme^=metro] .default-tab-btn .nav-icon-metro,html[data-theme^=liquid] .default-tab-btn .nav-icon-liquid,html[data-theme=tablet] .default-tab-btn .nav-icon-tablet{display:inline-flex}.theme-nav-layout-info{margin-top:10px}.theme-nav-layout-title{font-size:.76rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.theme-nav-layout-modes{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:8px;margin-bottom:var(--spacing-md);padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--bg-secondary);overflow:hidden}.theme-nav-layout-slider-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px)/2);border-radius:999px;background:var(--bg-card);box-shadow:var(--shadow);transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.theme-nav-layout-modes[data-active-layout=top] .theme-nav-layout-slider-thumb{transform:translate(100%)}.theme-nav-layout-btn{all:unset;position:relative;z-index:1;box-sizing:border-box;padding:7px 0;border-radius:999px;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:var(--font);font-size:.78rem;font-weight:500;text-align:center;white-space:nowrap;line-height:1.2;transition:color .2s ease}.theme-nav-layout-btn:hover{color:var(--text)}.theme-nav-layout-btn.active{color:var(--accent)}.theme-nav-layout-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--accent),0 0 0 2px var(--bg-card),0 0 0 4px var(--accent)}.theme-base-modes{display:none;position:relative;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:8px;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--bg-secondary);overflow:hidden}.theme-base-modes.visible{display:grid}.theme-base-slider-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px)/4);border-radius:999px;background:var(--bg-card);box-shadow:var(--shadow);transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.theme-base-modes[data-active-theme=light] .theme-base-slider-thumb{transform:translate(100%)}.theme-base-modes[data-active-theme=gray] .theme-base-slider-thumb{transform:translate(200%)}.theme-base-modes[data-active-theme=dark] .theme-base-slider-thumb{transform:translate(300%)}.theme-mode-btn{all:unset;position:relative;z-index:1;box-sizing:border-box;padding:7px 0;border-radius:999px;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:var(--font);font-size:.78rem;font-weight:500;text-align:center;white-space:nowrap;line-height:1.2;transition:color .2s ease}.theme-mode-btn:hover{color:var(--text)}.theme-mode-btn.active{color:var(--accent)}.theme-mode-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--accent),0 0 0 2px var(--bg-card),0 0 0 4px var(--accent)}.theme-material-modes{display:none;position:relative;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:8px;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--bg-secondary);overflow:hidden}.theme-material-modes.visible{display:grid}.theme-material-slider-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px)/4);border-radius:999px;background:var(--bg-card);box-shadow:var(--shadow);transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.theme-material-modes[data-active-theme=material] .theme-material-slider-thumb{transform:translate(100%)}.theme-material-modes[data-active-theme=material-gray] .theme-material-slider-thumb{transform:translate(200%)}.theme-material-modes[data-active-theme=material-dark] .theme-material-slider-thumb{transform:translate(300%)}.theme-material-mode-btn{all:unset;position:relative;z-index:1;box-sizing:border-box;padding:7px 0;border-radius:999px;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:var(--font);font-size:.78rem;font-weight:500;text-align:center;white-space:nowrap;line-height:1.2;transition:color .2s ease}.theme-material-mode-btn:hover{color:var(--text)}.theme-material-mode-btn.active{color:var(--accent)}.theme-material-mode-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--accent),0 0 0 2px var(--bg-card),0 0 0 4px var(--accent)}.theme-minimal-modes{display:none;position:relative;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:8px;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--bg-secondary);overflow:hidden}.theme-minimal-modes.visible{display:grid}.theme-minimal-slider-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px)/4);border-radius:999px;background:var(--bg-card);box-shadow:var(--shadow);transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.theme-minimal-modes[data-active-theme=minimal-light] .theme-minimal-slider-thumb{transform:translate(100%)}.theme-minimal-modes[data-active-theme=minimal-gray] .theme-minimal-slider-thumb{transform:translate(200%)}.theme-minimal-modes[data-active-theme=minimal] .theme-minimal-slider-thumb{transform:translate(300%)}.theme-minimal-mode-btn{all:unset;position:relative;z-index:1;box-sizing:border-box;padding:7px 0;border-radius:999px;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:var(--font);font-size:.78rem;font-weight:500;text-align:center;white-space:nowrap;line-height:1.2;transition:color .2s ease}.theme-minimal-mode-btn:hover{color:var(--text)}.theme-minimal-mode-btn.active{color:var(--accent)}.theme-minimal-mode-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--accent),0 0 0 2px var(--bg-card),0 0 0 4px var(--accent)}.theme-metro-modes{display:none;position:relative;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:8px;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--bg-secondary);overflow:hidden}.theme-metro-modes.visible{display:grid}.theme-metro-slider-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px)/4);border-radius:999px;background:var(--bg-card);box-shadow:var(--shadow);transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.theme-metro-modes[data-active-theme=metro-light] .theme-metro-slider-thumb{transform:translate(100%)}.theme-metro-modes[data-active-theme=metro-gray] .theme-metro-slider-thumb{transform:translate(200%)}.theme-metro-modes[data-active-theme=metro] .theme-metro-slider-thumb{transform:translate(300%)}.theme-metro-mode-btn{all:unset;position:relative;z-index:1;box-sizing:border-box;padding:7px 0;border-radius:999px;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:var(--font);font-size:.78rem;font-weight:500;text-align:center;white-space:nowrap;line-height:1.2;transition:color .2s ease}.theme-metro-mode-btn:hover{color:var(--text)}.theme-metro-mode-btn.active{color:var(--accent)}.theme-metro-mode-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--accent),0 0 0 2px var(--bg-card),0 0 0 4px var(--accent)}.theme-liquid-modes{display:none;position:relative;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:8px;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--bg-secondary);overflow:hidden}.theme-liquid-modes.visible{display:grid}.theme-liquid-slider-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / 3);border-radius:999px;background:var(--bg-card);box-shadow:var(--shadow);transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.theme-liquid-modes[data-active-theme=liquid] .theme-liquid-slider-thumb{transform:translate(100%)}.theme-liquid-modes[data-active-theme=liquid-dark] .theme-liquid-slider-thumb{transform:translate(200%)}.theme-liquid-mode-btn{all:unset;position:relative;z-index:1;box-sizing:border-box;padding:7px 0;border-radius:999px;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:var(--font);font-size:.78rem;font-weight:500;text-align:center;white-space:nowrap;line-height:1.2;transition:color .2s ease}.theme-liquid-mode-btn:hover{color:var(--text)}.theme-liquid-mode-btn.active{color:var(--accent)}.theme-liquid-mode-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--accent),0 0 0 2px var(--bg-card),0 0 0 4px var(--accent)}@media(max-width:767px){.nav-layout-section{display:none}}.apt-number{font-weight:700}.apt-index{color:var(--text-muted);font-weight:400}.config-editor{font-family:SF Mono,Fira Code,monospace;font-size:.85rem;min-height:200px;background:var(--bg-secondary)}.md-doc{line-height:1.6}.md-doc>*+*{margin-top:var(--spacing-md)}.md-doc h1,.md-doc h2,.md-doc h3,.md-doc h4,.md-doc h5,.md-doc h6{line-height:1.25}.md-doc h1{font-size:1.25rem}.md-doc h2{font-size:1.05rem}.md-doc h3{font-size:.95rem}.md-doc ul{padding-left:1.1rem}.md-doc li+li{margin-top:4px}.md-doc pre{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--spacing-md);overflow-x:auto}.md-doc code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}.block{display:block}.inline-block{display:inline-block}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-sm{font-size:.85rem}.text-base{font-size:.9rem}.text-lg{font-size:1.2rem}.text-2xl{font-size:2rem}.text-accent{color:var(--accent)}.text-danger{color:var(--danger)}.text-telegram{color:#2aabee}.text-inherit{color:inherit}.font-mono{font-family:monospace}.font-mono-sm{font-family:monospace;font-size:.82rem}.cursor-pointer{cursor:pointer}.no-underline{text-decoration:none}.nowrap{white-space:nowrap}.pre-wrap{white-space:pre-wrap}.break-word{word-break:break-word}.break-all{word-break:break-all}.h-auto{height:auto}.mt-4{margin-top:4px}.mt-6{margin-top:6px}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-8{margin-top:8px}.mt-10{margin-top:10px}.m-0{margin:0}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.ml-sm{margin-left:var(--spacing-sm)}.ml-auto{margin-left:auto}.gap-xs{gap:var(--spacing-xs)}.gap-4{gap:4px}.gap-sm{gap:var(--spacing-sm)}.gap-lg{gap:var(--spacing-lg)}.flex{display:flex}.flex-1{flex:1}.shrink-0{flex-shrink:0}.min-w-0{min-width:0}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-wrap{flex-wrap:wrap}.row-gap-xs-center{display:flex;gap:var(--spacing-xs);align-items:center}.row-gap-sm-center{display:flex;gap:var(--spacing-sm);align-items:center}.row-gap-sm-center-wrap{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}.row-gap-sm-start{display:flex;gap:var(--spacing-sm);align-items:flex-start}.row-gap-sm-start-wrap{display:flex;gap:var(--spacing-sm);align-items:flex-start;flex-wrap:wrap}.row-gap-sm-end-wrap{display:flex;gap:var(--spacing-sm);align-items:flex-end;flex-wrap:wrap}.row-gap-sm-wrap{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.row-gap-lg-wrap{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.row-gap-lg-center-wrap{display:flex;gap:var(--spacing-lg);flex-wrap:wrap;align-items:center}.row-between-center{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.row-wrap-gap-8-14{display:flex;flex-wrap:wrap;gap:8px 14px}.hint-muted-block{color:var(--text-muted);display:block;margin-top:8px}.choice-list-panel{display:flex;flex-wrap:wrap;gap:8px 14px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card)}.p-0{padding:0}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.p-md-lg{padding:var(--spacing-md) var(--spacing-lg)}.pr-md{padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.bg-secondary{background:var(--bg-secondary)}.bg-white{background:#fff}.rounded-sm{border-radius:var(--radius-sm)}.border-0{border:none}.border-top-divider{border-top:1px solid var(--border);margin:var(--spacing-md) 0}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.pointer-events-none{pointer-events:none}.w-60{width:60px}.w-70{width:70px}.w-80{width:80px}.w-90{width:90px}.w-100{width:100px}.w-110{width:110px}.w-120{width:120px}.w-130{width:130px}.w-140{width:140px}.w-150{width:150px}.w-160{width:160px}.w-170{width:170px}.w-180{width:180px}.w-190{width:190px}.w-200{width:200px}.w-220{width:220px}.w-auto{width:auto}.min-w-120{min-width:120px}.min-w-60{min-width:60px}.min-w-140{min-width:140px}.min-w-160{min-width:160px}.min-w-180{min-width:180px}.min-w-200{min-width:200px}.min-w-220{min-width:220px}.min-w-240{min-width:240px}.min-w-260{min-width:260px}.min-h-70{min-height:70px}.max-w-full{max-width:100%}.max-w-280{max-width:280px}.max-w-400{max-width:400px}.max-w-480{max-width:480px}.max-w-520{max-width:520px}.max-w-900{max-width:900px}.max-w-260{max-width:260px}.max-h-70vh{max-height:70vh}.max-h-95vh{max-height:95vh}.max-h-preview-body{max-height:calc(95vh - 120px)}.tg-soft-bg{background:linear-gradient(90deg,rgba(42,171,238,.08) 0%,transparent 100%)}.css-fullscreen{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;z-index:99999!important;background:#000}.hidden{display:none}.w-full{width:100%}.desktop-only{display:none}.mobile-only{display:block}@media(min-width:768px){.desktop-only{display:block}.mobile-only{display:none}}.map-placeholder{width:100%;aspect-ratio:16/9;background:var(--bg-secondary);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--text-muted);margin-bottom:var(--spacing-lg);font-size:1rem}.state-message{text-align:center;padding:calc(var(--spacing-xl) * 2)}.state-message .icon{font-size:3rem;margin-bottom:var(--spacing-lg)}.state-message h2{margin-bottom:var(--spacing-md)}.state-message p{color:var(--text-secondary)}.add-form-area{display:none;background:var(--bg-secondary);border-radius:var(--radius-sm);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border:1px solid var(--border)}.add-form-area.open{display:block}.add-form-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center;margin-top:var(--spacing-md)}.add-form-actions .checkbox-label{margin-bottom:0}.inline-edit-row>td[colspan]{padding:0!important;border:none!important}.inline-edit-row>td:not([colspan]){border:none!important}.inline-edit-row .add-form-area{margin-bottom:0;border-radius:0;border-left:none;border-right:none}.table-wrapper:has(.inline-edit-row){overflow-x:visible}.vs-form-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm)}.vs-form-field{height:34px;min-width:120px;flex:1 1 120px;box-sizing:border-box}input.vs-form-field{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);font-size:.85rem}.vs-form-check{white-space:nowrap;flex:0 0 auto}.vs-dropdown-wrap{position:relative;flex:0 0 auto;min-width:110px}.vs-dropdown-btn{display:flex;align-items:center;justify-content:space-between;width:100%;height:34px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);font-size:.85rem;cursor:pointer;white-space:nowrap}.vs-dropdown-btn:hover{border-color:var(--accent)}.vs-dropdown-menu{position:absolute;top:100%;left:0;min-width:200px;max-height:220px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000040;z-index:100;padding:4px 0}.vs-dropdown-menu.hidden{display:none}.vs-dropdown-menu label{display:flex;align-items:center;gap:6px;padding:4px 10px;cursor:pointer;font-size:.85rem;white-space:nowrap}.vs-dropdown-menu label:hover{background:var(--bg-secondary)}.share-popup{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .2s;pointer-events:none}.share-popup.open{opacity:1;pointer-events:auto}.share-popup-backdrop{position:absolute;inset:0;background:#0006}.share-popup-content{position:relative;background:var(--bg-card);border-radius:var(--radius) var(--radius) 0 0;padding:var(--spacing-lg);width:100%;max-width:400px;transform:translateY(100%);transition:transform .25s ease-out}.share-popup.open .share-popup-content{transform:translateY(0)}@media(min-width:768px){.share-popup{align-items:center}.share-popup-content{border-radius:var(--radius);transform:scale(.95)}.share-popup.open .share-popup-content{transform:scale(1)}}.share-popup-title{font-weight:600;font-size:1rem;margin-bottom:var(--spacing-md);text-align:center}.share-popup-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.share-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--spacing-md) var(--spacing-sm);border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:.75rem;font-weight:500;text-decoration:none;cursor:pointer;transition:background .15s,transform .1s}.share-btn:hover{background:var(--bg-hover);transform:scale(1.03)}.share-btn:active{transform:scale(.97)}.share-btn-whatsapp{color:#25d366}.share-btn-telegram{color:#2aabee}.share-btn-sms{color:var(--accent)}.share-btn-copy{color:var(--text-secondary)}.share-popup-close{display:block;width:100%;padding:var(--spacing-sm);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-secondary);font-size:.9rem;cursor:pointer}.share-popup-close:hover{background:var(--bg-hover)}.settings-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.settings-tabs::-webkit-scrollbar{display:none}.settings-tab{padding:10px 18px;font-size:.88rem;font-weight:500;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s}.settings-tab:hover{color:var(--text)}.settings-tab.active{color:var(--accent);border-bottom-color:transparent;font-weight:600}.settings-tab-panel{display:none}.settings-tab-panel.active{display:block}.settings-tab-panel>.flex-between:first-child{min-height:36px}.settings-tab-panel table td,.settings-tab-panel table th{padding:6px 10px;vertical-align:middle;font-size:.84rem;line-height:1.4}.settings-tab-panel table th{font-size:.76rem}.settings-tab-panel table .th-apt{width:40px;max-width:48px;text-align:center}.settings-tab-panel table .th-apt input{min-width:0;width:100%;box-sizing:border-box}.settings-tab-panel table td input[type=checkbox]{vertical-align:middle}.settings-tab-panel .log-filter-row th{padding:4px 6px}.settings-tab-panel .log-filter-row input[type=text],.settings-tab-panel .log-filter-row select{width:100%;padding:3px 6px;font-size:.8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);box-sizing:border-box;height:28px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}#tab-roles,#tab-roles .role-list-item,#tab-roles .permission-group-toggle,#tab-roles .permission-item,#tab-roles .form-group label,#tab-roles input,#tab-roles textarea,#tab-roles select{font-size:.72rem}#tab-roles .card-header h2,#tab-roles .role-editor-header h2{font-size:.84rem}#tab-roles .text-sm,#tab-roles .role-list-item-meta,#tab-roles .permission-item-description{font-size:.68rem}#tab-roles .btn{font-size:.72rem}#tab-roles .btn-sm{font-size:.68rem}#tab-roles .badge{font-size:.62rem}.roles-workspace{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}@media(min-width:980px){.roles-workspace{grid-template-columns:320px minmax(0,1fr);align-items:start}}.roles-sidebar,.roles-editor{min-width:0}.role-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.role-list-item{width:100%;text-align:left;border:1px solid var(--border);background:var(--bg-card);color:inherit;border-radius:var(--radius-sm);padding:var(--spacing-md);transition:border-color .2s,box-shadow .2s,transform .2s}.role-list-item:hover{border-color:var(--accent);transform:translateY(-1px)}.role-list-item.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--bg-secondary)}.role-list-item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.role-list-item-description{margin-top:var(--spacing-xs)}.role-list-item-meta{display:flex;gap:var(--spacing-md);flex-wrap:wrap;margin-top:var(--spacing-sm);font-size:.82rem;color:var(--text-secondary)}.role-editor-panel{display:none;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--spacing-lg)}.role-editor-panel.active{display:block}.role-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap;margin-bottom:var(--spacing-sm)}.permission-tree{display:flex;flex-direction:column;gap:var(--spacing-md)}.permission-group{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-secondary)}.permission-group-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--border);background:var(--bg-card)}.permission-group-toggle{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600}.permission-group-items{display:flex;flex-direction:column}.permission-item{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-sm);align-items:start;padding:var(--spacing-md);border-top:1px solid var(--border)}.permission-item:first-child{border-top:none}.permission-item-description{display:block;margin-top:2px;font-size:.84rem;color:var(--text-secondary);font-weight:400}input.remote-notes-input{width:100%;min-width:80px;border:1px solid transparent;background:transparent;padding:0 4px;height:19px;font-size:inherit;color:inherit;line-height:1.4;border-radius:var(--radius-sm);transition:border-color .2s,background .2s}input.remote-notes-input:hover,input.remote-notes-input:focus{border-color:var(--border);background:var(--bg-card);outline:none}.remotes-pagination{display:flex;align-items:center;gap:8px}.remotes-pagination-mobile{display:none}@media(max-width:900px){.remotes-pagination-desktop{display:none}.remotes-pagination-mobile{display:flex}}.remotes-page-size{width:52px;font-size:12px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:inherit}.remotes-page-buttons{display:flex;gap:2px}.remotes-page-btn{min-width:24px;height:24px;padding:0 6px;font-size:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:inherit;cursor:pointer}.remotes-page-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.remotes-page-ellipsis{font-size:12px;color:var(--text-muted);line-height:24px;padding:0 2px}.remotes-page-btn:hover:not(.active){background:var(--bg-hover)}.remotes-page-info{font-size:12px;color:var(--text-muted)}input.remote-apt-input{width:50px;border:1px solid var(--border);background:var(--bg-card);padding:0 4px;height:19px;font-size:inherit;color:inherit;line-height:1.4;border-radius:var(--radius-sm);text-align:center}.remote-user-dropdown{width:100%;min-width:100px;font-size:inherit;padding:2px 4px}.remote-user-label{white-space:nowrap}.remote-barrier-group{display:flex;flex-direction:column;gap:4px;min-width:120px}.remote-barrier-group label{font-size:.82rem;font-weight:500;color:var(--text-secondary);margin:0}.remote-barrier-group input[type=text],.remote-barrier-group input[type=tel],.remote-barrier-group select{width:100%;padding:6px 8px;font-size:.84rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);box-sizing:border-box}.user-role-dropdown{z-index:30;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);padding:var(--spacing-md);box-shadow:var(--shadow-lg);min-width:200px;max-width:300px}.user-role-dropdown-list{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:240px;overflow-y:auto}.user-role-dropdown-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:4px 0;font-size:.84rem;cursor:pointer;white-space:nowrap}.user-roles-cell{display:block;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-role-trigger{font-size:.82rem;cursor:pointer;white-space:nowrap}.ue-fields-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-md);align-items:end}.settings-tab-panel table .inline-edit-row>td{padding:var(--spacing-md) var(--spacing-lg)}.add-user-compact{padding:var(--spacing-md) var(--spacing-lg)}.add-user-row{display:flex;gap:var(--spacing-sm);align-items:flex-end;flex-wrap:wrap}.add-user-row .remote-barrier-group{flex:1;min-width:100px}.add-user-row .add-user-apt{flex:0 0 60px;min-width:0}.add-user-row .add-user-apt input{text-align:center}.add-user-row .add-user-pwd{flex:1.5;min-width:160px}.add-remote-buttons-row{display:flex;gap:var(--spacing-sm);align-items:flex-end;flex-wrap:wrap;margin-top:var(--spacing-sm)}.add-remote-buttons-row .remote-barrier-group{flex:1;min-width:120px}.add-user-compact .remote-barrier-group label{font-size:.76rem;margin-bottom:2px}.add-user-compact .remote-barrier-group input,.add-user-compact .remote-barrier-group select{height:28px;padding:3px 6px;font-size:.82rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);width:100%;box-sizing:border-box}.add-user-compact .ue-password-input-wrap input{height:28px;padding:3px 24px 3px 6px}.add-user-compact .ue-password-row .btn{height:28px}.inline-edit-row .remote-barrier-group input[type=text],.inline-edit-row .remote-barrier-group input[type=tel],.inline-edit-row .remote-barrier-group input[type=password],.inline-edit-row .remote-barrier-group select{width:100%;height:32px;padding:4px 8px;box-sizing:border-box}.inline-edit-row .remote-barrier-group input[readonly]{opacity:.7;cursor:default}.ue-dual-field{display:flex;gap:var(--spacing-sm)}.ue-dual-half{flex:1;min-width:0}.ue-dual-half input,.ue-dual-half select{width:100%;box-sizing:border-box}.ue-notes-cell{grid-column:span 2}.ue-password-fullrow{display:flex;flex-direction:column;gap:4px}.ue-password-row{display:flex;gap:var(--spacing-sm);align-items:center;flex:1;min-width:0}.ue-password-input-wrap{position:relative;flex:1;min-width:0;max-width:260px}.ue-password-input-wrap input{width:100%;padding-right:30px;box-sizing:border-box;height:32px;padding-left:8px;font-size:.84rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text)}.ue-pwd-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;padding:2px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;line-height:1}.ue-pwd-toggle:hover{color:var(--text)}.ue-password-row .btn{height:32px;flex-shrink:0}.ue-pwd-save-btn{background:var(--bg-secondary);color:var(--text);border-color:var(--border);font-weight:600}.ue-pwd-save-btn:hover:not(:disabled){background:var(--border)}.ue-pwd-send-label{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap;flex-shrink:0}.ue-pwd-send-label input:disabled+span{opacity:.4;cursor:default}@media(max-width:900px){.ue-fields-grid{grid-template-columns:repeat(3,1fr)}.ue-notes-cell{grid-column:span 1}.ue-password-fullrow{flex-wrap:wrap}}@media(max-width:600px){.ue-fields-grid{grid-template-columns:1fr}.ue-notes-cell{grid-column:span 1}.ue-password-input-wrap{max-width:none}}.ue-roles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 16px}.ue-role-item{display:flex;align-items:center;gap:6px;font-size:.82rem;cursor:pointer;white-space:nowrap}.mobile-barriers-row{display:flex;gap:10px;align-items:center}.mobile-barriers-row label{display:flex;align-items:center;gap:3px;font-size:.82rem;color:var(--text-secondary)}.mobile-notes-input{width:100%;border:1px solid var(--border);background:var(--bg-card);padding:4px 8px;font-size:.84rem;border-radius:var(--radius-sm);color:var(--text)}.settings-mobile-filters{display:none;margin-bottom:var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);overflow:hidden}.settings-mobile-filters summary{list-style:none;cursor:pointer;padding:var(--spacing-md);font-weight:600;color:var(--text);-webkit-user-select:none;user-select:none}.settings-mobile-filters summary::-webkit-details-marker{display:none}.settings-mobile-filters summary:after{content:"▾";float:right;color:var(--text-secondary);transition:transform .15s ease}.settings-mobile-filters[open] summary:after{transform:rotate(180deg)}.settings-mobile-filters-body{padding:0 var(--spacing-md) var(--spacing-md);border-top:1px solid var(--border)}.settings-mobile-filters-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.settings-mobile-filters .form-group{margin-bottom:0}.settings-mobile-filters .form-group label{font-size:.75rem;color:var(--text-secondary);margin-bottom:4px}.settings-mobile-filters input,.settings-mobile-filters select{width:100%;min-width:0}.settings-mobile-filters-actions{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.mobile-card-edit{border-top:1px solid var(--border);padding:var(--spacing-md);background:var(--bg-secondary)}.mobile-card-edit.hidden{display:none}.mobile-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.mobile-edit-grid .form-group{margin-bottom:0}.mobile-edit-grid .form-group label{font-size:.75rem;color:var(--text-secondary);margin-bottom:4px;display:block}.mobile-edit-grid input,.mobile-edit-grid select{width:100%;padding:6px 8px;font-size:.84rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);box-sizing:border-box}@media(max-width:767px){.settings-mobile-filters{display:block}.settings-mobile-filters-grid{grid-template-columns:1fr}}.admin-root-card{padding:0}.admin-settings-tabs{padding:0 var(--spacing-lg)}.admin-settings-tab-panel{padding:var(--spacing-lg) var(--spacing-lg) 0}.admin-portal-card-header{margin-bottom:var(--spacing-lg)}.admin-portal-card-lead{margin-top:4px;max-width:56ch}.admin-portal-layout{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);align-items:start}.admin-portal-main,.admin-portal-side{min-width:0;display:flex;flex-direction:column;gap:var(--spacing-lg)}.admin-portal-section{padding:var(--spacing-lg);border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,var(--bg-card) 0%,var(--bg-secondary) 100%)}.admin-portal-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);flex-wrap:wrap;margin-bottom:var(--spacing-md)}.admin-portal-section-header h3{margin:0;font-size:1rem;font-weight:600}.admin-portal-section-header p{margin-top:4px;max-width:54ch}.admin-portal-switch{margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card)}.admin-portal-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}.admin-field-span-2{grid-column:1 / -1}.admin-field-label-row{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.admin-field-label-row .admin-field-label{margin-bottom:0}.admin-compact-checkbox{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;cursor:pointer}.admin-compact-checkbox input[type=checkbox]{width:14px;height:14px}.admin-compact-checkbox input[type=checkbox]:before{width:6px;height:3px;border-left-width:1.5px;border-bottom-width:1.5px}.admin-input-with-action{display:flex;align-items:stretch;width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);overflow:hidden;transition:border-color .2s,box-shadow .2s}.admin-input-with-action:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #0071e326}.admin-input-with-action input[type=text],.admin-input-with-action input[type=password],.admin-input-with-action input[type=number],.admin-input-with-action input[type=email],.admin-input-with-action input[type=tel]{border:0;border-radius:0;box-shadow:none;background:transparent;min-width:0}.admin-input-with-action input:focus{box-shadow:none}.admin-input-with-action-btn{flex:0 0 auto;border:0;border-left:1px solid var(--border);border-radius:0;padding:0 12px;background:var(--bg-secondary);color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.admin-input-with-action-btn:hover{background:#0071e314}.admin-input-with-action-btn:focus-visible{outline:none;background:#0071e31f}.admin-portal-help{margin-top:var(--spacing-sm)}.admin-portal-sign-layout{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);align-items:start}.admin-portal-sign-disabled{position:relative}.admin-portal-sign-disabled .admin-portal-sign-layout{opacity:.58}.admin-portal-sign-disabled:after{content:"Табличка выключена";position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);padding:5px 10px;border-radius:999px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);font-size:.75rem}.admin-portal-preview-surface{padding:var(--spacing-lg);border:1px dashed var(--border);border-radius:var(--radius);background:radial-gradient(circle at top right,rgba(0,113,227,.08),transparent 36%),linear-gradient(180deg,var(--bg) 0%,var(--bg-secondary) 100%);min-height:116px;display:flex;align-items:center;overflow:auto}.admin-portal-preview-surface .header-portal-plate{max-width:100%}.admin-portal-sign-preview{min-width:0}.admin-admin-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.admin-summary-card{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:6px}.admin-summary-value{font-size:1.9rem;font-weight:700;line-height:1}.admin-summary-label{color:var(--text-muted);font-size:.9rem}.admin-card-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.admin-form-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}.admin-span-2{grid-column:1 / -1}.admin-inline-checks{display:flex;flex-wrap:wrap;gap:var(--spacing-sm) var(--spacing-md)}.admin-stack-sm{display:flex;flex-direction:column;gap:var(--spacing-md)}.add-form-grid{display:grid;grid-template-columns:1fr auto;gap:var(--spacing-sm);align-items:end}.admin-audit-details{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.75rem;line-height:1.45;color:var(--text);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--spacing-sm);max-height:220px;overflow:auto}@media(min-width:900px){.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-portal-sign-preview-label{margin-bottom:var(--spacing-sm);font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.admin-portal-sign-preview-surface{min-height:170px;justify-content:center}.admin-portal-choice{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);cursor:pointer}.admin-portal-choice-copy{display:flex;flex-direction:column;gap:4px}.admin-portal-choice-title{color:var(--text);font-weight:600}.admin-portal-theme-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.admin-portal-theme-card .card-header{margin-bottom:0}.admin-portal-theme-options{display:flex;flex-direction:column;gap:var(--spacing-md)}.admin-portal-icon-preview{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card)}.admin-portal-icon-image{width:68px;height:68px;flex-shrink:0;object-fit:cover;border-radius:16px;border:1px solid var(--border);background:var(--bg-secondary)}.admin-portal-icon-image-default{opacity:.6}.admin-portal-icon-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.admin-portal-icon-title{color:var(--text);font-weight:600}.admin-portal-icon-generator{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border)}.admin-portal-icon-generator-title{color:var(--text);font-weight:600}.admin-portal-icon-generator-body{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;margin-top:var(--spacing-md)}.admin-portal-house-icon-preview{width:96px;height:96px;flex-shrink:0}.admin-portal-house-icon-preview.is-empty{opacity:.48;filter:saturate(.75)}.admin-portal-house-icon-shell{width:100%;height:100%;padding:7px;border:2px solid #2c2f8f;border-radius:24px;background:linear-gradient(180deg,#4a49ab,#3f409e 38%,#393a95);box-shadow:inset 0 -2px #11165b47,0 1px 2px #0f172a38;box-sizing:border-box}.admin-portal-house-icon-inner{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 6px 6px;border:2px solid rgba(255,255,255,.95);border-radius:16px;box-sizing:border-box}.admin-portal-house-icon-primary,.admin-portal-house-icon-secondary{display:block;max-width:100%;margin:0;font-family:Nimbus Roman,"Liberation Serif",Times New Roman,Georgia,serif;font-weight:700;line-height:1.02;text-transform:uppercase;text-shadow:0 1px 0 rgba(28,30,103,.45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.admin-portal-house-icon-primary{font-size:1.9rem;letter-spacing:.025em;transform:translateY(2px)}.admin-portal-house-icon-secondary{font-size:.56rem;letter-spacing:.04em}.admin-portal-icon-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-md)}.admin-portal-upload-btn{cursor:pointer;margin:0}.admin-portal-secondary-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.admin-portal-secondary-grid>.card,.admin-portal-secondary-stack>.card{margin-bottom:0}.admin-portal-secondary-stack{display:flex;flex-direction:column;gap:var(--spacing-lg);min-width:0}.admin-video-mode-intro{margin-bottom:var(--spacing-lg)}.admin-video-mode-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.admin-video-mode-card{margin-bottom:0;padding:var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,var(--bg-card) 0%,var(--bg-secondary) 100%)}.admin-video-mode-options{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.admin-video-mode-option{margin:0;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card)}@media(min-width:720px){.admin-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-portal-sign-layout{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)}}@media(min-width:1024px){.admin-portal-layout{grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr)}.admin-portal-secondary-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start}}@media(max-width:767px){.admin-portal-section{padding:var(--spacing-md)}.admin-portal-switch{width:100%;justify-content:flex-start}.admin-portal-icon-preview,.admin-portal-icon-generator-body{align-items:flex-start}}.doc-page{position:relative}.doc-page .settings-tabs{align-items:center}.doc-page .settings-tab{display:inline-flex;align-items:center;gap:6px}.doc-tab-icon{display:none;flex-shrink:0;width:16px;height:16px}.doc-breadcrumbs{display:flex;align-items:center;gap:2px;flex-wrap:wrap;min-width:0;font-size:.9rem}.doc-crumb-btn{background:none;border:none;color:var(--accent);cursor:pointer;padding:4px 6px;border-radius:var(--radius-sm);font-size:.9rem;white-space:nowrap}.doc-crumb-btn:hover{background:var(--bg-secondary)}.doc-crumb-btn:last-child{color:var(--text);font-weight:600;cursor:default}.doc-crumb-btn:last-child:hover{background:transparent}.doc-crumb-sep{color:var(--text-muted);font-size:.8rem}.doc-toolbar-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0;padding:4px 0}.doc-view-toggle{display:flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.doc-view-btn{background:transparent;border:none;padding:5px 8px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center}.doc-view-btn.active{background:var(--bg-secondary);color:var(--accent)}.doc-view-btn:not(:last-child){border-right:1px solid var(--border)}.doc-item-check{display:flex;align-items:center;flex-shrink:0;cursor:pointer}.doc-item-check input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.doc-view-grid .doc-item-check{display:none}.doc-sel-bar{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);font-size:.85rem}.doc-list{min-height:320px}.doc-drop-hint{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-md);margin-top:auto;color:var(--text-muted);font-size:.82rem;border:2px dashed var(--border);border-radius:var(--radius);opacity:.5;transition:opacity .2s,border-color .2s;cursor:pointer}.doc-drop-hint:hover{opacity:.8;border-color:var(--accent);color:var(--accent)}.doc-view-list .doc-item{display:flex;align-items:center;gap:var(--spacing-md);padding:10px var(--spacing-md);border-bottom:1px solid var(--border);cursor:pointer}.doc-view-list .doc-item:first-child{border-top:1px solid var(--border)}.doc-view-list .doc-item:hover{background:var(--bg-secondary)}.doc-view-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-sm)}.doc-view-grid .doc-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;position:relative}.doc-view-grid .doc-item:hover{background:var(--bg-secondary);box-shadow:var(--shadow)}.doc-view-grid .doc-item-icon{margin-bottom:var(--spacing-sm)}.doc-view-grid .doc-item-icon svg{width:36px;height:36px}.doc-view-grid .doc-item-info{min-width:0;width:100%}.doc-view-grid .doc-item-name{font-size:.82rem;word-break:break-word;white-space:normal}.doc-view-grid .doc-item-meta{font-size:.72rem}.doc-view-grid .doc-item-menu{position:absolute;top:4px;right:4px}.doc-item-icon{flex-shrink:0;display:flex;align-items:center}.doc-item-info{flex:1;min-width:0}.doc-item-name{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.doc-item-meta{font-size:.78rem;color:var(--text-muted);display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:2px}.doc-item-menu{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 6px;border-radius:var(--radius-sm);flex-shrink:0;font-size:1.1rem;line-height:1}.doc-item-menu:hover{background:var(--bg-secondary);color:var(--text)}.doc-badge{display:inline-block;padding:1px 6px;border-radius:8px;font-size:.65rem;font-weight:500;vertical-align:middle;margin-left:4px}.doc-badge-system{background:#0071e31f;color:var(--accent)}.doc-badge-shared{background:#34c7591f;color:var(--success)}.doc-badge-link{background:#ff95001f;color:var(--warning)}.doc-ctx-menu{position:fixed;z-index:600;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:4px 0;min-width:180px}.doc-ctx-action{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 16px;font-size:.85rem;color:var(--text);cursor:pointer}.doc-ctx-action:hover{background:var(--bg-secondary)}.doc-ctx-danger{color:var(--danger)}#doc-panel-files{position:relative}.doc-dropzone{display:none;position:absolute;inset:0;z-index:50;align-items:center;justify-content:center;background:#0071e30f;border:2px dashed var(--accent);border-radius:var(--radius);pointer-events:none}.doc-dropzone.active{display:flex}.doc-dropzone-inner{text-align:center;color:var(--accent);font-weight:500}.doc-dropzone-inner p{margin-top:var(--spacing-xs)}.doc-upload-bar{display:flex;align-items:center;gap:var(--spacing-sm)}.doc-upload-bar-track{width:60px;height:4px;background:var(--border);border-radius:2px;overflow:hidden;flex-shrink:0}.doc-upload-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .2s}.doc-upload-label{font-size:.78rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-office-preview{padding:var(--spacing-lg);font-size:.92rem;line-height:1.5;color:var(--text-primary);overflow:auto;max-height:70vh}.doc-office-preview table{border-color:var(--border);font-size:.85rem}.doc-office-preview td,.doc-office-preview th{border-color:var(--border);padding:4px 8px}.doc-office-preview h3{margin:.8em 0 .4em;font-size:1rem}.doc-office-preview img{max-width:100%}.doc-empty{text-align:center;padding:var(--spacing-xl) var(--spacing-lg)}.doc-share-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:6px 0;border-bottom:1px solid var(--border);font-size:.88rem}.doc-share-row:last-child{border-bottom:none}.doc-link-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm);padding:8px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.doc-link-row:last-child{border-bottom:none}.doc-details-table{width:100%;font-size:.88rem}.doc-details-table td{padding:4px 0;border-bottom:1px dashed var(--border)}.doc-details-table tr:last-child td{border-bottom:none}.doc-events{max-height:250px;overflow-y:auto}.doc-event{padding:4px 0;border-bottom:1px solid var(--border);font-size:.82rem}.doc-event:last-child{border-bottom:none}.doc-event-kind{font-weight:500;color:var(--accent)}@media(max-width:767px){.doc-btn-text,.doc-view-toggle{display:none}.doc-view-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.doc-item-meta{flex-direction:column;gap:1px}.doc-sel-bar{flex-wrap:wrap;gap:var(--spacing-xs)}.doc-tab-icon{display:block}.doc-tab-text{display:none}.doc-page .settings-tab{padding:8px 14px;justify-content:center;line-height:1}}html[data-theme=tablet]{--bg: #111827;--bg-card: #1f2937;--bg-secondary: #374151;--text: #f3f4f6;--text-secondary: #9ca3af;--text-muted: #6b7280;--border: #374151;--accent: #3b82f6;--accent-hover: #2563eb;--success: #22c55e;--success-pale: rgba(6, 78, 59, .3);--danger: #ef4444;--danger-bg: rgba(127, 29, 29, .28);--warning: #f59e0b;--shadow: 0 1px 2px rgba(0, 0, 0, .35);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .42), 0 10px 10px -5px rgba(0, 0, 0, .28);--radius: 12px;--radius-sm: 8px;--font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}[data-theme=tablet] a{color:#60a5fa}[data-theme=tablet] a:hover{color:#93c5fd}[data-theme=tablet] .section-text-nav-link,[data-theme=tablet] .barriers-subtab-link{color:#9ca3af}[data-theme=tablet] .section-text-nav-link:hover,[data-theme=tablet] .barriers-subtab-link:hover,[data-theme=tablet] .access-subtab-btn:hover,[data-theme=tablet] .surveillance-subtab-btn:hover,[data-theme=tablet] .settings-tab:hover{color:#93c5fd}[data-theme=tablet] .section-text-nav-link.active,[data-theme=tablet] .barriers-subtab-link.active,[data-theme=tablet] .access-subtab-btn.active,[data-theme=tablet] .surveillance-subtab-btn.active,[data-theme=tablet] .settings-tab.active,[data-theme=tablet] .section-text-nav-link.active:hover,[data-theme=tablet] .barriers-subtab-link.active:hover,[data-theme=tablet] .access-subtab-btn.active:hover,[data-theme=tablet] .surveillance-subtab-btn.active:hover,[data-theme=tablet] .settings-tab.active:hover{color:#60a5fa}[data-theme=tablet] .main-content{max-width:var(--tablet-content-width, 1280px);padding:16px 16px 96px}[data-theme=tablet] .header{background:#1f2937;border-bottom:1px solid #374151;box-shadow:0 1px 2px #0000004d;padding:0 16px}[data-theme=tablet] .header-inner{max-width:calc(var(--tablet-content-width, 1280px) - 32px);height:64px}[data-theme=tablet] .header-primary{gap:12px}[data-theme=tablet] .header-brand{transform:none}[data-theme=tablet] .header-with-portal-plate .header-inner{height:64px;align-items:center}[data-theme=tablet] .header-with-portal-plate .header-primary{align-items:center;flex-wrap:nowrap}[data-theme=tablet] .header-with-portal-plate .header-brand{width:max-content;max-width:100%}[data-theme=tablet] .header-with-portal-plate .header-status{margin-top:0}[data-theme=tablet] .header-logo{font-size:1.125rem;font-weight:700}[data-theme=tablet] .header-logo-subtitle{font-size:.72rem;color:#94a3b8}[data-theme=tablet] .header-status{flex:0 1 auto;text-align:left;font-size:.875rem;font-weight:500;color:#93c5fd;background:#1e3a8a4d;border:1px solid rgba(30,64,175,.4);border-radius:999px;padding:5px 12px}[data-theme=tablet] .header-actions{gap:8px}[data-theme=tablet] .btn-header{border:none;background:transparent;color:#f3f4f6;border-radius:8px;padding:8px 12px}[data-theme=tablet] .btn-header:hover{background:#374151}[data-theme=tablet] .profile-avatar{width:32px;height:32px;background:#3b82f6;color:#fff;font-size:.75rem;font-weight:700}[data-theme=tablet] .btn-header-icon{width:40px;height:40px}[data-theme=tablet] .profile-panel{min-width:288px;border:1px solid #374151;border-radius:12px;background:#1f2937;box-shadow:var(--shadow-lg);padding:24px}[data-theme=tablet] .profile-panel-heading{border-bottom-color:#374151}[data-theme=tablet] .profile-panel h3,[data-theme=tablet] .profile-panel-title{color:#e5e7eb;font-size:1rem;font-weight:700;margin-bottom:12px}[data-theme=tablet] .profile-panel-title{border-bottom-color:#374151;padding-bottom:8px}[data-theme=tablet] .profile-panel-label{color:#9ca3af;font-size:.75rem;font-weight:500;margin-bottom:8px}[data-theme=tablet] .profile-panel-divider{background:#374151}[data-theme=tablet] .theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}[data-theme=tablet] .theme-variant-title,[data-theme=tablet] .theme-nav-layout-title{color:#9ca3af;font-size:.74rem}[data-theme=tablet] .theme-nav-layout-modes{margin-top:8px;gap:0;padding:4px;border:1px solid #374151;background:#111827}[data-theme=tablet] .theme-nav-layout-slider-thumb{top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/2);background:#374151;box-shadow:none}[data-theme=tablet] .theme-nav-layout-btn{border:0;background:transparent;color:#9ca3af;border-radius:8px;font-size:.72rem;font-weight:600;padding:6px 8px}[data-theme=tablet] .theme-nav-layout-btn:hover{color:#e5e7eb}[data-theme=tablet] .theme-nav-layout-btn.active{color:#dbeafe}[data-theme=tablet] .theme-nav-layout-btn:focus-visible{box-shadow:inset 0 0 0 1px #60a5fa,0 0 0 2px #1f2937,0 0 0 4px #60a5fa59}[data-theme=tablet] .theme-base-modes,[data-theme=tablet] .theme-material-modes,[data-theme=tablet] .theme-minimal-modes,[data-theme=tablet] .theme-metro-modes,[data-theme=tablet] .theme-liquid-modes{margin-top:8px;gap:0;padding:4px;border:1px solid #374151;background:#111827}[data-theme=tablet] .theme-base-slider-thumb,[data-theme=tablet] .theme-material-slider-thumb,[data-theme=tablet] .theme-minimal-slider-thumb,[data-theme=tablet] .theme-metro-slider-thumb{top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/4);background:#374151;box-shadow:none}[data-theme=tablet] .theme-liquid-slider-thumb{top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / 3);background:#374151;box-shadow:none}[data-theme=tablet] .theme-btn{min-width:0;border:0;background:#374151;color:#e5e7eb;border-radius:8px;font-weight:600;font-size:.75rem;padding:6px 8px}[data-theme=tablet] .theme-btn:hover{border-color:transparent;background:#4b5563;color:#dbeafe}[data-theme=tablet] .theme-btn.active{background:#3b82f6;color:#fff;border-color:transparent;box-shadow:none}[data-theme=tablet] .theme-mode-btn{border:0;background:transparent;color:#9ca3af;border-radius:8px;font-size:.72rem;font-weight:600;padding:6px 8px}[data-theme=tablet] .theme-mode-btn:hover{color:#e5e7eb}[data-theme=tablet] .theme-mode-btn.active{color:#dbeafe}[data-theme=tablet] .theme-mode-btn:focus-visible{box-shadow:inset 0 0 0 1px #60a5fa,0 0 0 2px #1f2937,0 0 0 4px #60a5fa59}[data-theme=tablet] .theme-material-mode-btn{border:0;background:transparent;color:#9ca3af;border-radius:8px;font-size:.72rem;font-weight:600;padding:6px 8px}[data-theme=tablet] .theme-material-mode-btn:hover{color:#e5e7eb}[data-theme=tablet] .theme-material-mode-btn.active{color:#dbeafe}[data-theme=tablet] .theme-material-mode-btn:focus-visible{box-shadow:inset 0 0 0 1px #60a5fa,0 0 0 2px #1f2937,0 0 0 4px #60a5fa59}[data-theme=tablet] .theme-minimal-mode-btn{border:0;background:transparent;color:#9ca3af;border-radius:8px;font-size:.72rem;font-weight:600;padding:6px 8px}[data-theme=tablet] .theme-minimal-mode-btn:hover{color:#e5e7eb}[data-theme=tablet] .theme-minimal-mode-btn.active{color:#dbeafe}[data-theme=tablet] .theme-minimal-mode-btn:focus-visible{box-shadow:inset 0 0 0 1px #60a5fa,0 0 0 2px #1f2937,0 0 0 4px #60a5fa59}[data-theme=tablet] .theme-metro-mode-btn{border:0;background:transparent;color:#9ca3af;border-radius:8px;font-size:.72rem;font-weight:600;padding:6px 8px}[data-theme=tablet] .theme-metro-mode-btn:hover{color:#e5e7eb}[data-theme=tablet] .theme-metro-mode-btn.active{color:#dbeafe}[data-theme=tablet] .theme-metro-mode-btn:focus-visible{box-shadow:inset 0 0 0 1px #60a5fa,0 0 0 2px #1f2937,0 0 0 4px #60a5fa59}[data-theme=tablet] .theme-liquid-mode-btn{border:0;background:transparent;color:#9ca3af;border-radius:8px;font-size:.72rem;font-weight:600;padding:6px 8px}[data-theme=tablet] .theme-liquid-mode-btn:hover{color:#e5e7eb}[data-theme=tablet] .theme-liquid-mode-btn.active{color:#dbeafe}[data-theme=tablet] .theme-liquid-mode-btn:focus-visible{box-shadow:inset 0 0 0 1px #60a5fa,0 0 0 2px #1f2937,0 0 0 4px #60a5fa59}[data-theme=tablet] .card{background:#1f2937;border:1px solid #374151;border-radius:12px;box-shadow:0 1px 2px #0000004d}[data-theme=tablet] .card-header{gap:12px}[data-theme=tablet] .card-header h2{font-size:1rem;font-weight:700}[data-theme=tablet] .btn{border-radius:8px;font-weight:700;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease,box-shadow .15s ease}[data-theme=tablet] .btn-primary{background:#3b82f6;color:#fff;box-shadow:0 1px 2px #0000002e}[data-theme=tablet] .btn-primary:hover:not(:disabled){background:#2563eb}[data-theme=tablet] .btn-success{background:#22c55e;color:#fff}[data-theme=tablet] .btn-success:hover:not(:disabled){background:#16a34a;filter:none}[data-theme=tablet] .btn-danger{background:#ef4444;color:#fff}[data-theme=tablet] .btn-danger:hover:not(:disabled){background:#dc2626;filter:none}[data-theme=tablet] .btn-outline{background:transparent;border:2px solid #3b82f6;color:#60a5fa}[data-theme=tablet] .btn-outline:hover:not(:disabled){background:#3b82f61f;color:#93c5fd}[data-theme=tablet] .btn-open{background:#3b82f6;color:#fff;border-radius:16px;padding:16px 48px;font-size:1.25rem;font-weight:800;max-width:340px;box-shadow:0 10px 15px -3px #00000038,0 4px 6px -4px #00000038}[data-theme=tablet] .btn-open:hover:not(:disabled){background:#2563eb;transform:scale(1.05)}[data-theme=tablet] .btn-open:active:not(:disabled){transform:scale(.95)}[data-theme=tablet] .btn-transitioning{border-radius:16px;padding:16px 48px;font-size:1.25rem;font-weight:800;max-width:340px}[data-theme=tablet] .btn-live{border-radius:999px;border-color:#4ade8042;color:#4ade80;font-size:.72rem;font-weight:700;letter-spacing:.02em}[data-theme=tablet] .btn-live.active{background:#22c55e;border-color:#22c55e;color:#fff}[data-theme=tablet] input[type=text],[data-theme=tablet] input[type=password],[data-theme=tablet] input[type=tel],[data-theme=tablet] input[type=email],[data-theme=tablet] input[type=number],[data-theme=tablet] input[type=date],[data-theme=tablet] input[type=time],[data-theme=tablet] input[type=datetime-local],[data-theme=tablet] select,[data-theme=tablet] textarea{background:#374151;border:1px solid #4b5563;border-radius:8px;padding:12px;color:#f3f4f6}[data-theme=tablet] input:focus,[data-theme=tablet] select:focus,[data-theme=tablet] textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}[data-theme=tablet] input[type=checkbox],[data-theme=tablet] input[type=radio]{background:#111827;border-color:#4b5563;border-radius:4px}[data-theme=tablet] input[type=checkbox]:checked,[data-theme=tablet] input[type=radio]:checked{background:#3b82f6;border-color:#3b82f6}[data-theme=tablet] input[type=checkbox]:focus-visible,[data-theme=tablet] input[type=radio]:focus-visible{box-shadow:0 0 0 3px #3b82f62e}[data-theme=tablet] .modal{border:1px solid #374151;border-radius:16px;background:#1f2937;box-shadow:0 25px 50px -12px #00000080}[data-theme=tablet] .modal-overlay.open{background:#000000b8}[data-theme=tablet] .toast{border-radius:10px}[data-theme=tablet] .toast-success{background:#065f46;color:#d1fae5}[data-theme=tablet] .toast-error{background:#991b1b;color:#fee2e2}[data-theme=tablet] .toast-info{background:#1e40af;color:#dbeafe}[data-theme=tablet] .snapshot-container{background:#111827;border:1px solid #374151}[data-theme=tablet] .snapshot-placeholder{color:#9ca3af}[data-theme=tablet] .snapshot-placeholder .icon{color:#cbd5e1}[data-theme=tablet] .badge{padding:3px 10px;border-radius:999px;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}[data-theme=tablet] .badge-online{background:#064e3b4d;color:#34d399}[data-theme=tablet] .badge-offline{background:#7f1d1d4d;color:#f87171}[data-theme=tablet] .badge-locked{background:#94a3b824;color:#cbd5e1}[data-theme=tablet] .btn-cam{border-color:#4b5563;color:#9ca3af;border-radius:999px}[data-theme=tablet] .btn-cam:hover{border-color:#3b82f6;color:#60a5fa}[data-theme=tablet] .btn-cam.active{background:#3b82f6;border-color:#3b82f6;color:#fff}[data-theme=tablet] table{font-size:.9rem}[data-theme=tablet] th,[data-theme=tablet] td{border-bottom-color:#4b5563b3;padding:12px 16px}[data-theme=tablet] th{background:transparent;color:#9ca3af;font-size:.875rem;font-weight:500;text-transform:none;letter-spacing:0}[data-theme=tablet] tr:nth-child(2n) td{background:transparent}[data-theme=tablet] tbody tr:nth-child(2n) td{background:#ffffff05}[data-theme=tablet] tbody tr:hover td{background:#37415180}[data-theme=tablet] .mobile-card{background:#1f2937;border-color:#374151;border-radius:12px}[data-theme=tablet] .mobile-card-label{color:#9ca3af}[data-theme=tablet] .barrier-card{overflow:hidden;padding:0}[data-theme=tablet] .barrier-card-header{margin-bottom:0;padding:16px;border-bottom:1px solid #374151}[data-theme=tablet] .barrier-card .snapshot-container{margin:0;border:0;border-radius:0;border-bottom:1px solid #374151}[data-theme=tablet] .barrier-card .open-btn-container{margin-top:0;padding:24px}[data-theme=tablet] .automation-card,[data-theme=tablet] .barriers-inline-journal-card,[data-theme=tablet] [data-surveillance-tab=events].card{overflow:hidden;padding:0}[data-theme=tablet] .automation-card .card-header,[data-theme=tablet] .barriers-inline-journal-card .card-header,[data-theme=tablet] [data-surveillance-tab=events].card .card-header{margin-bottom:0;padding:16px 20px;border-bottom:1px solid #374151;background:#1118273d}[data-theme=tablet] .automation-card .automation-mobile-content,[data-theme=tablet] .barriers-inline-journal-card .automation-mobile-content,[data-theme=tablet] [data-surveillance-tab=events].card>:not(.card-header){padding:20px}[data-theme=tablet] .camera-tile{overflow:hidden;padding:0;border-radius:8px}[data-theme=tablet] .camera-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}[data-theme=tablet] .camera-tile .snapshot-container{margin:0;border:0;border-bottom:1px solid #374151;border-radius:0}[data-theme=tablet] .camera-tile .flex-between{padding:14px 16px}[data-theme=tablet] .camera-tile .camera-group{color:#9ca3af}[data-theme=tablet] .settings-tabs{gap:8px;border-bottom:0;margin-bottom:16px}[data-theme=tablet] .settings-tab{margin-bottom:0;border:1px solid transparent;border-radius:10px;padding:10px 14px;color:#9ca3af}[data-theme=tablet] .settings-tab:hover{color:#e5e7eb;background:#374151a6}[data-theme=tablet] .settings-tab.active{color:#60a5fa;border-color:transparent;background:transparent}[data-theme=tablet] .settings-tab.active:hover{color:#60a5fa;background:transparent}[data-theme=tablet] .temp-link-card{background:#1e3a8a29;border:1px solid rgba(59,130,246,.32);border-radius:14px}[data-theme=tablet] .temp-link-code{color:#60a5fa}[data-theme=tablet] .temp-link-url{color:#93c5fd}[data-theme=tablet] .temp-link-card-telegram{background:linear-gradient(135deg,#2aabee2e,#0e749029);border-color:#2aabee73}[data-theme=tablet] .login-container{padding:16px}[data-theme=tablet] .login-wrapper{flex-direction:column;align-items:center;gap:32px;max-width:448px}[data-theme=tablet] .login-card{width:100%;max-width:none;padding:32px;box-shadow:var(--shadow-lg)}[data-theme=tablet] .login-card h1{font-size:1.875rem;line-height:1.15;margin-bottom:8px;text-align:center}[data-theme=tablet] .login-card .subtitle{color:#9ca3af;margin-bottom:24px;text-align:center}[data-theme=tablet] .error-text{color:#fca5a5;font-weight:700}[data-theme=tablet] .temp-public{max-width:448px;padding:16px}[data-theme=tablet] .temp-public-header,[data-theme=tablet] .map-placeholder,[data-theme=tablet] .state-message{background:#1f2937;border:1px solid #374151;border-radius:16px;box-shadow:var(--shadow)}[data-theme=tablet] .temp-public-header{padding:16px;margin-bottom:16px}[data-theme=tablet] .temp-public-code{color:#60a5fa;font-size:1.75rem}[data-theme=tablet] .temp-public-expiry{color:#93c5fd;font-weight:600}[data-theme=tablet] .map-placeholder{overflow:hidden;margin-bottom:16px}[data-theme=tablet] .temp-public-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}[data-theme=tablet] .temp-public-buttons>div{background:#1f2937;border:1px solid #374151;border-radius:12px;box-shadow:var(--shadow);padding:24px}[data-theme=tablet] .temp-public-buttons .btn-open{width:100%;max-width:none}[data-theme=tablet] .state-message{padding:32px 24px}[data-theme=tablet] .state-message p{color:#9ca3af}@media(min-width:768px){html[data-theme=tablet][data-desktop-nav=left] .bottom-nav{border-right-color:#374151;background:#1f2937;box-shadow:none}html[data-theme=tablet][data-desktop-nav=left] .nav-item{color:#9ca3af}html[data-theme=tablet][data-desktop-nav=left] .nav-item.active{color:#60a5fa;background:#1e3a8a3d}html[data-theme=tablet][data-desktop-nav=left] .nav-item:hover{color:#60a5fa;background:#374151}html[data-theme=tablet][data-desktop-nav=left] .nav-item:last-child{margin-top:auto}html[data-theme=tablet][data-desktop-nav=left] .main-content{width:calc(100% - 80px);max-width:var(--tablet-content-width, 1280px);margin-left:80px;padding-bottom:16px}html[data-theme=tablet][data-desktop-nav=left] .header-inner{max-width:calc(var(--tablet-content-width, 1280px) - 32px);margin-left:80px;margin-right:auto}html[data-theme=tablet][data-desktop-nav=top] .main-content{padding-bottom:16px}}@media(max-width:767px){[data-theme=tablet] .header-status{display:none}[data-theme=tablet] .bottom-nav{background:#1f2937;border-top:1px solid #374151;box-shadow:none;padding:4px 8px}[data-theme=tablet] .nav-item{color:#9ca3af;font-size:.625rem}[data-theme=tablet] .nav-item.active{color:#60a5fa}[data-theme=tablet] .temp-public-buttons{grid-template-columns:1fr}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
