@import"https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap";:root{color-scheme:dark;--ey-orange: #F05A30;--ey-teal: #00B7AC;--ey-sky: #0096D5;--ey-indigo: #262C65;--ey-yellow: #FDD835;--ey-cream: #F9F6F1;--ey-charcoal: #34302D;--bg-deep: #07090e;--bg-base: #0d111a;--bg-elevated: #151a26;--bg-card: #181f2e;--bg-card-hover: #1e273a;--bg-input: #0f141f;--border-subtle: rgba(255,255,255,.06);--border-default: rgba(255,255,255,.09);--border-hover: rgba(255,255,255,.14);--border-active: rgba(240,90,48,.35);--glass-bg: rgba(18,22,32,.65);--glass-blur: 16px;--egg-gold: #F5A623;--egg-amber: #F05A30;--egg-warm: #E8A317;--green: #00B7AC;--green-dim: rgba(0, 183, 172, .12);--red: #C84B31;--red-dim: rgba(200, 75, 49, .12);--blue: #0096D5;--blue-dim: rgba(0, 150, 213, .12);--purple: #a78bfa;--purple-dim: rgba(167,139,250,.12);--pink: #f472b6;--pink-dim: rgba(244,114,182,.12);--teal: #00B7AC;--teal-dim: rgba(0, 183, 172, .12);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--text-muted: #475569;--font-sans: "Lora", Georgia, "Source Serif Pro", serif;--font-mono: "JetBrains Mono", "SF Mono", monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 8px;--radius-xl: 8px;--radius-pill: 99px;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 32px rgba(0,0,0,.5);--shadow-glow-gold: 0 0 20px rgba(240,90,48,.15);--shadow-glow-green: 0 0 16px rgba(0,183,172,.2);--shadow-glow-red: 0 0 16px rgba(200,75,49,.2);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-deep);color:var(--text-primary);min-height:100vh;display:flex;justify-content:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(ellipse 80% 60% at 20% 10%,rgba(253,216,53,.04) 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 80%,rgba(96,165,250,.03) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 50% 50%,rgba(167,139,250,.02) 0%,transparent 50%)}::selection{background:#fdd83540;color:#fff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}#app{width:100%;max-width:1360px;padding:24px 28px}.ptz-h-btn{width:32px;height:32px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#fff;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;user-select:none;-webkit-user-select:none}.ptz-h-btn:hover{background:#fdd8352e;border-color:var(--egg-gold)}.ptz-h-btn:active,.ptz-h-btn.ptz-kb-active{background:#fdd83559;transform:scale(.9);border-color:var(--egg-gold);box-shadow:0 0 8px #fdd83580}.ptz-h-stop{background:#f871711f;border-color:#f8717140;font-size:.65rem}.ptz-h-stop:hover{background:#f8717140}.ptz-h-preset{padding:3px 8px;border-radius:5px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-secondary);font-size:.62rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--font-sans)}.ptz-h-preset:hover{background:#2dd4bf1f;border-color:var(--teal);color:var(--teal)}.ptz-h-preset:active{transform:scale(.95)}.global-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 24px;border-bottom:1px solid var(--border-subtle);margin-bottom:24px;position:relative;z-index:1000}.global-logo{display:flex;align-items:center;gap:8px}.global-logo .logo-egg{font-size:1.45rem}.global-logo .logo-text{font-size:1.35rem;font-weight:800;background:linear-gradient(135deg,var(--egg-gold),var(--egg-amber));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.01em}.global-nav{display:flex;align-items:center;gap:10px}.nav-item{position:relative}.nav-link{text-decoration:none;font-weight:600;color:var(--text-secondary);padding:8px 16px;border-radius:var(--radius-md);font-size:.85rem;display:flex;align-items:center;gap:6px;transition:all var(--duration-fast) var(--ease-out);border:1px solid transparent}.nav-link:hover,.nav-item.active .nav-link{background:#ffffff0d;color:var(--text-primary);border-color:var(--border-subtle)}.nav-item.active .nav-link{border-color:#fdd83533;background:#fdd8350f;color:var(--egg-gold)}.has-submenu .nav-link:after{content:" ▾";font-size:.75rem;color:var(--text-tertiary);transition:transform var(--duration-fast)}.nav-submenu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--bg-elevated);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-default);border-radius:var(--radius-md);padding:8px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(8px);transition:all var(--duration-normal) var(--ease-out);z-index:1010}.nav-submenu:before{content:"";position:absolute;top:-6px;right:24px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--border-default)}.nav-item:hover .nav-submenu{opacity:1;visibility:visible;transform:translateY(0)}.submenu-link{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:500;color:var(--text-secondary);padding:8px 12px;border-radius:var(--radius-sm);font-size:.8rem;transition:all var(--duration-fast) var(--ease-out)}.submenu-link:hover{background:#ffffff0a;color:var(--egg-gold)}.ey-icon{width:16px;height:16px;display:inline-block;vertical-align:text-bottom;stroke-width:2px;stroke:currentColor;fill:none;flex-shrink:0;transition:all var(--duration-fast)}.logo-svg{vertical-align:middle}.nav-link .ey-icon,.submenu-link .ey-icon,.btn .ey-icon,.cam-btn .ey-icon{margin-right:6px}.ey-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#0006;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .22s var(--ease-out)}.ey-dialog-overlay.show{opacity:1}.ey-dialog-card{width:92%;max-width:550px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg),0 0 32px #00000073;padding:26px;transform:scale(.92);transition:transform .28s var(--ease-spring);position:relative;overflow:hidden}.ey-dialog-overlay.show .ey-dialog-card{transform:scale(1)}.ey-dialog-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--ey-orange),var(--ey-yellow))}.ey-dialog-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.ey-dialog-title{font-size:1.15rem;font-weight:700;margin:0;background:linear-gradient(135deg,var(--ey-yellow),var(--ey-orange));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ey-dialog-body{font-size:.88rem;color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.ey-dialog-footer{display:flex;justify-content:flex-end;gap:12px}.ey-dialog-btn{padding:10px 22px;border-radius:var(--radius-md);font-size:.8rem;font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);font-family:var(--font-sans);outline:none}.ey-dialog-btn-primary{background:linear-gradient(135deg,var(--ey-orange),var(--ey-yellow));color:#000;border:none;box-shadow:var(--shadow-glow-gold)}.ey-dialog-btn-primary:hover{transform:translateY(-1px);opacity:.95}.ey-dialog-btn-primary:active{transform:scale(.97)}.ey-dialog-btn-secondary{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-secondary)}.ey-dialog-btn-secondary:hover{border-color:var(--border-hover);color:var(--text-primary);transform:translateY(-1px)}.ey-dialog-btn-secondary:active{transform:scale(.97)}.loader-spinner-mini{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.2);border-radius:50%;border-top-color:currentColor;animation:ey-spin .6s linear infinite;margin-right:6px;vertical-align:middle}@keyframes ey-spin{to{transform:rotate(360deg)}}select{color-scheme:dark!important}select option{background-color:#181f2e!important;color:#f1f5f9!important}.menu-toggle-btn{display:none;background:var(--glass-bg);border:1px solid var(--border-default);color:var(--text-primary);width:40px;height:40px;border-radius:var(--radius-md);align-items:center;justify-content:center;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);outline:none}.menu-toggle-btn:hover{background:#ffffff14;border-color:var(--border-hover)}.menu-toggle-btn:active{transform:scale(.95)}.menu-toggle-btn svg line{transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s;transform-origin:center}@media (max-width: 768px){#app{padding:16px 12px}.global-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--border-subtle)}.global-logo{order:1}.menu-toggle-btn{display:flex;order:2}.global-nav{display:none;order:3;width:100%;flex-direction:column;gap:8px;margin-top:16px}.global-header.nav-open .global-nav{display:flex;animation:slideDownMenu .3s cubic-bezier(.16,1,.3,1) forwards}.global-header.nav-open .menu-toggle-btn .line-1{transform:translateY(6px) rotate(45deg)}.global-header.nav-open .menu-toggle-btn .line-2{opacity:0}.global-header.nav-open .menu-toggle-btn .line-3{transform:translateY(-6px) rotate(-45deg)}.nav-item{width:100%}.nav-link{justify-content:flex-start;padding:12px 16px;font-size:.85rem;gap:8px;background:#ffffff05;border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%}.nav-link:hover,.nav-item.active .nav-link{background:#ffffff0d;border-color:var(--border-hover)}#nav-logout-item{margin-left:0!important;order:4;width:100%!important;display:flex;flex-direction:column;align-items:stretch;background:#ffffff05;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px;gap:12px;margin-top:12px}#nav-logout-item .user-badge{text-align:center;width:100%;padding:8px;font-size:.82rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);box-sizing:border-box}#nav-logout-item #btn-logout{width:100%;justify-content:center;background:#c84b311a!important;border:1px solid rgba(200,75,49,.2)!important;color:var(--red)!important;padding:10px;border-radius:var(--radius-md);font-weight:700}#nav-logout-item .ey-lang-select-wrapper{width:100%}#nav-logout-item .ey-lang-select{width:100%;text-align:center;padding:8px;border-radius:var(--radius-md)}.nav-submenu{position:static;width:100%;opacity:1;visibility:visible;display:none;transform:none;box-shadow:none;border:none;background:#00000026;margin-top:4px;padding-left:20px}.nav-submenu:before{display:none}.nav-item.has-submenu.submenu-open .nav-submenu{display:block!important}.nav-item.has-submenu .nav-link:after{display:inline-block;transition:transform .2s ease}.nav-item.has-submenu.submenu-open .nav-link:after{transform:rotate(180deg)}.ey-dialog-card{padding:18px;max-height:90vh;display:flex;flex-direction:column;overflow-y:auto}}@keyframes slideDownMenu{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){#app{padding:12px 8px}.nav-link{padding:10px 14px;font-size:.82rem}.ey-dialog-card{padding:14px}.ey-dialog-footer{flex-direction:column;gap:8px}.ey-dialog-btn{width:100%;text-align:center}}.ey-custom-select-container{position:relative;display:inline-block;-webkit-user-select:none;user-select:none;vertical-align:middle}.ey-custom-select-trigger{padding:8px 16px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:.85rem;font-weight:600;outline:none;cursor:pointer;transition:all var(--duration-fast);display:inline-flex;align-items:center;gap:8px;min-width:280px;justify-content:space-between}.ey-custom-select-trigger:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.ey-custom-select-trigger:focus{border-color:var(--ey-orange);box-shadow:0 0 0 2px #f05a3026}.ey-custom-select-options{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0,0,0,.3));z-index:1000;display:none;flex-direction:column;padding:4px 0;max-height:380px;overflow-y:auto}.ey-custom-select-options.show{display:flex}.ey-custom-select-option{padding:8px 16px;color:var(--text-primary);font-size:.82rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.ey-custom-select-option:hover{background:#ffffff0d}.ey-custom-select-option.selected{background:var(--ey-orange-translucent, rgba(255, 87, 34, .15));color:var(--ey-orange);font-weight:600}
