.app-icon[data-v-989d8df3]{display:inline-flex;align-items:center;justify-content:center}.icon-svg[data-v-989d8df3]{width:1.25em;height:1.25em;vertical-align:-.3em}.cinematic-overlay[data-v-4dbbd0a9]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#06090d,#0a0e14 40%,#0c1016);pointer-events:none}.cinematic-bg[data-v-4dbbd0a9]{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.cinematic-grid[data-v-4dbbd0a9]{position:absolute;top:-50%;right:0;bottom:-50%;left:0;background-image:linear-gradient(rgba(88,166,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(88,166,255,.03) 1px,transparent 1px);background-size:48px 48px;animation:cinematic-grid-pulse-4dbbd0a9 3s ease-in-out infinite}.cinematic-overlay.fade .cinematic-grid[data-v-4dbbd0a9]{opacity:0;transition:opacity .3s ease}@media (prefers-reduced-motion: reduce){.cinematic-grid[data-v-4dbbd0a9]{animation:none}}@keyframes cinematic-grid-pulse-4dbbd0a9{0%,to{opacity:.6}50%{opacity:1}}.cinematic-logo-wrap[data-v-4dbbd0a9]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.75rem}.cinematic-logo[data-v-4dbbd0a9]{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:clamp(2.5rem,8vw,4rem);font-weight:700;letter-spacing:.2em;color:#e6edf3;text-shadow:0 0 40px rgba(88,166,255,.25);filter:blur(12px);opacity:.5;transform:scale(.88);transition:filter .6s cubic-bezier(.16,1,.3,1),opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.cinematic-overlay.line .cinematic-logo[data-v-4dbbd0a9],.cinematic-overlay.fade .cinematic-logo[data-v-4dbbd0a9]{filter:blur(0);opacity:1;transform:scale(1)}.cinematic-line[data-v-4dbbd0a9]{width:120px;height:2px;background:linear-gradient(90deg,transparent,rgba(88,166,255,.6) 20%,rgba(88,166,255,.9) 50%,rgba(88,166,255,.6) 80%,transparent);border-radius:1px;transform:scaleX(0);transform-origin:center;transition:transform .4s cubic-bezier(.16,1,.3,1);box-shadow:0 0 12px #58a6ff4d}.cinematic-overlay.line .cinematic-line[data-v-4dbbd0a9],.cinematic-overlay.fade .cinematic-line[data-v-4dbbd0a9]{transform:scaleX(1)}.cinematic-overlay.fade[data-v-4dbbd0a9]{opacity:0;transition:opacity .45s ease-out}.cinematic-fade-enter-active[data-v-4dbbd0a9],.cinematic-fade-leave-active[data-v-4dbbd0a9]{transition:opacity .35s ease}.cinematic-fade-leave-to[data-v-4dbbd0a9]{opacity:0}@media (prefers-reduced-motion: reduce){.cinematic-logo[data-v-4dbbd0a9]{transition:none;filter:blur(0);opacity:1;transform:scale(1)}.cinematic-line[data-v-4dbbd0a9]{transition:none;transform:scaleX(1)}.cinematic-overlay.fade[data-v-4dbbd0a9]{transition-duration:.01ms}}.toast[data-v-5242ce29]{position:fixed;right:var(--space-4);bottom:var(--space-4);max-width:360px;padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:10000}.toast__text[data-v-5242ce29]{font-size:var(--text-sm);color:var(--text);line-height:1.5}.toast-enter-active[data-v-5242ce29],.toast-leave-active[data-v-5242ce29]{transition:opacity var(--duration-normal),transform var(--duration-normal)}.toast-enter-from[data-v-5242ce29],.toast-leave-to[data-v-5242ce29]{opacity:0;transform:translate(1rem)}.app-layout[data-v-a08bd1a1]{display:flex;min-height:100vh;background:var(--bg-page)}.sidebar[data-v-a08bd1a1]{width:240px;flex-shrink:0;background:var(--bg-elevated);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;transition:width var(--duration-normal) var(--ease-out)}.sidebar.collapsed[data-v-a08bd1a1]{width:72px}.sidebar.collapsed .nav-label[data-v-a08bd1a1],.sidebar.collapsed .logo-text[data-v-a08bd1a1],.sidebar.collapsed .nav-group__title[data-v-a08bd1a1]{opacity:0;width:0;overflow:hidden;white-space:nowrap}.sidebar-header[data-v-a08bd1a1]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4);min-height:56px;border-bottom:1px solid var(--border-subtle)}.logo[data-v-a08bd1a1]{display:flex;align-items:center;gap:var(--space-2);min-width:0}.logo-dot[data-v-a08bd1a1]{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#2563eb);box-shadow:0 0 14px var(--accent-glow);flex-shrink:0}.logo-text[data-v-a08bd1a1]{font-weight:700;font-size:1.125rem;letter-spacing:-.03em;color:var(--text);transition:opacity var(--duration-normal)}.sidebar-toggle[data-v-a08bd1a1]{padding:var(--space-2);border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:4px}.sidebar-toggle[data-v-a08bd1a1]:hover{background:var(--bg-hover)}.toggler-bar[data-v-a08bd1a1]{width:16px;height:2px;background:var(--text-muted);border-radius:1px;transition:transform var(--duration-fast)}.sidebar-nav[data-v-a08bd1a1]{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.nav-group[data-v-a08bd1a1]{display:flex;flex-direction:column;gap:var(--space-1)}.nav-group__title[data-v-a08bd1a1]{padding:var(--space-2) var(--space-3) var(--space-1);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);transition:opacity var(--duration-normal)}.nav-divider[data-v-a08bd1a1]{height:1px;margin:var(--space-2) 0;background:var(--border-subtle)}.nav-item[data-v-a08bd1a1]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-weight:var(--font-medium);font-size:var(--text-sm);transition:background var(--duration-fast),color var(--duration-fast)}.nav-item[data-v-a08bd1a1]:hover{color:var(--text);background:var(--bg-hover)}.nav-item.active[data-v-a08bd1a1]{color:var(--accent);background:var(--bg-active)}.nav-item .app-icon[data-v-a08bd1a1]{flex-shrink:0}.nav-label[data-v-a08bd1a1]{white-space:nowrap;transition:opacity var(--duration-normal)}.main-wrap[data-v-a08bd1a1]{flex:1;min-width:0;display:flex;flex-direction:column}.topbar[data-v-a08bd1a1]{height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle)}.topbar-title[data-v-a08bd1a1]{font-size:var(--text-lg);font-weight:var(--font-semibold);letter-spacing:-.02em;margin:0;color:var(--text)}.topbar-actions[data-v-a08bd1a1]{display:flex;align-items:center;gap:var(--space-2)}.icon-btn[data-v-a08bd1a1]{width:36px;height:36px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--duration-fast),color var(--duration-fast)}.icon-btn[data-v-a08bd1a1]:hover{background:var(--bg-hover);color:var(--text)}.user-badge[data-v-a08bd1a1]{font-size:var(--text-sm);color:var(--text-muted);margin-right:var(--space-2)}.main[data-v-a08bd1a1]{position:relative;flex:1;padding:var(--space-6);overflow:auto}.main[data-v-a08bd1a1]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 120% 80% at 50% -20%,rgba(88,166,255,.03) 0%,transparent 50%);background-size:200% 200%;animation:ambient 24s ease-in-out infinite}[data-theme=light] .main[data-v-a08bd1a1]:before{background:radial-gradient(ellipse 120% 80% at 50% -20%,rgba(9,105,218,.02) 0%,transparent 50%);background-size:200% 200%}@media (prefers-reduced-motion: reduce){.main[data-v-a08bd1a1]:before{animation:none}}.page-enter-active[data-v-a08bd1a1],.page-leave-active[data-v-a08bd1a1]{transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.page-enter-from[data-v-a08bd1a1]{opacity:0;transform:translateY(4px)}.page-leave-to[data-v-a08bd1a1]{opacity:0;transform:translateY(-2px)}@media (max-width: 768px){.sidebar[data-v-a08bd1a1]{width:72px}.sidebar .nav-label[data-v-a08bd1a1],.sidebar .logo-text[data-v-a08bd1a1]{opacity:0;width:0;overflow:hidden}.main[data-v-a08bd1a1]{padding:var(--space-4)}}:root{font-family:Plus Jakarta Sans,Segoe UI,system-ui,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-out-expo: cubic-bezier(.19, 1, .22, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--radius-xs: 6px;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem}:root,[data-theme=dark]{color-scheme:dark;--bg-page: #0c0f14;--bg-elevated: #111419;--bg-card: #161b22;--bg-card-hover: #1a2028;--bg-subtle: #0f1318;--bg-glass: rgba(22, 27, 34, .88);--bg-hover: rgba(255, 255, 255, .06);--bg-active: rgba(94, 176, 255, .12);--border: #2d3640;--border-subtle: #21262d;--border-focus: rgba(94, 176, 255, .5);--text: #e6edf3;--text-secondary: #8b949e;--text-muted: #6e7681;--text-dim: #484f58;--accent: #58a6ff;--accent-soft: rgba(88, 166, 255, .18);--accent-glow: rgba(88, 166, 255, .25);--success: #3fb950;--success-soft: rgba(63, 185, 80, .15);--success-glow: rgba(63, 185, 80, .2);--danger: #f85149;--danger-soft: rgba(248, 81, 73, .15);--danger-glow: rgba(248, 81, 73, .2);--warning: #d29922;--warning-soft: rgba(210, 153, 34, .15);--warning-glow: rgba(210, 153, 34, .2);--info: #58a6ff;--info-soft: rgba(88, 166, 255, .12);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .45);--shadow-glow-success: 0 0 20px var(--success-glow);--shadow-glow-danger: 0 0 20px var(--danger-glow);--shadow-glow-warning: 0 0 20px var(--warning-glow)}[data-theme=light]{color-scheme:light;--bg-page: #f6f8fa;--bg-elevated: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f3f4f6;--bg-subtle: #eaeef2;--bg-glass: rgba(255, 255, 255, .88);--bg-hover: rgba(0, 0, 0, .04);--bg-active: rgba(88, 166, 255, .1);--border: #d0d7de;--border-subtle: #e2e8ef;--border-focus: rgba(88, 166, 255, .5);--text: #1f2328;--text-secondary: #57606a;--text-muted: #656d76;--text-dim: #8c959f;--accent: #0969da;--accent-soft: rgba(9, 105, 218, .12);--accent-glow: rgba(9, 105, 218, .15);--success: #1a7f37;--success-soft: rgba(26, 127, 55, .12);--success-glow: rgba(26, 127, 55, .15);--danger: #cf222e;--danger-soft: rgba(207, 34, 46, .12);--danger-glow: rgba(207, 34, 46, .15);--warning: #9a6700;--warning-soft: rgba(154, 103, 0, .12);--warning-glow: rgba(154, 103, 0, .15);--info: #0969da;--info-soft: rgba(9, 105, 218, .1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 8px 24px rgba(0, 0, 0, .1);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .12);--shadow-glow-success: 0 0 0 1px rgba(26, 127, 55, .2);--shadow-glow-danger: 0 0 0 1px rgba(207, 34, 46, .2);--shadow-glow-warning: 0 0 0 1px rgba(154, 103, 0, .2)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg-page);color:var(--text);font-size:var(--text-base);transition:background var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out)}[data-theme=dark] body{background-image:radial-gradient(ellipse 120% 80% at 50% -30%,rgba(88,166,255,.04),transparent),radial-gradient(ellipse 80% 50% at 100% 50%,rgba(63,185,80,.02),transparent)}#app{min-height:100vh}a{color:var(--accent);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--accent);text-decoration:underline}button{border-radius:var(--radius-sm);border:1px solid var(--border);padding:.5rem 1rem;font-size:var(--text-sm);font-weight:var(--font-medium);font-family:inherit;background:var(--bg-card);color:var(--text);cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast),color var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast)}button:hover:not(:disabled){border-color:var(--border);background:var(--bg-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.primary,.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled),.btn-primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 0 0 3px var(--accent-soft)}button.danger,.btn-danger{border-color:var(--danger);color:var(--danger);background:transparent}button.danger:hover:not(:disabled),.btn-danger:hover:not(:disabled){background:var(--danger-soft)}input,select{padding:.5rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-page);color:var(--text);font-size:var(--text-sm);font-family:inherit;caret-color:var(--accent);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:2rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%236e7681' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:12px}[data-theme=light] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23656d76' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E")}select:hover{border-color:var(--border)}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input::placeholder{color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:border-color var(--duration-normal),box-shadow var(--duration-normal),transform var(--duration-normal)}.card:hover{border-color:var(--border);box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.25rem .6rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.02em}.badge.success{background:var(--success-soft);color:var(--success)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.info{background:var(--info-soft);color:var(--info)}.status-indicator{position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;contain:layout style paint}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;position:relative;z-index:1;transition:box-shadow var(--duration-fast)}.status-indicator.online .status-dot{background:var(--success);box-shadow:0 0 0 2px var(--success-soft),0 0 10px var(--success-glow);animation:signal-heartbeat 2.2s ease-in-out infinite}.status-indicator.online:before,.status-indicator.online:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin-left:-4px;margin-top:-4px;border-radius:50%;border:1px solid var(--success);background:transparent;opacity:0;pointer-events:none;animation:radar-ping 2.4s ease-out infinite}.status-indicator.online:after{animation-delay:1.2s}@keyframes signal-heartbeat{0%,to{transform:scale(1);opacity:1;box-shadow:0 0 0 2px var(--success-soft),0 0 10px var(--success-glow)}50%{transform:scale(1.08);opacity:.92;box-shadow:0 0 0 2px var(--success-soft),0 0 14px var(--success-glow)}}@keyframes radar-ping{0%{transform:scale(1);opacity:.45}to{transform:scale(2.6);opacity:0}}.kiosk-card:hover .status-indicator.online .status-dot{box-shadow:0 0 0 2px var(--success-soft),0 0 14px var(--success-glow)}.status-indicator.warning .status-dot{background:var(--warning);box-shadow:0 0 0 2px var(--warning-soft);animation:signal-warning-pulse 3s ease-in-out infinite}@keyframes signal-warning-pulse{0%,85%,to{transform:scale(1);opacity:1}92%{transform:scale(1.06);opacity:.9}}.status-indicator.error .status-dot{background:var(--danger);box-shadow:0 0 0 2px var(--danger-soft),0 0 8px var(--danger-glow);animation:signal-error-flash 2.8s ease-in-out infinite}@keyframes signal-error-flash{0%,78%,to{transform:scale(1);opacity:1;box-shadow:0 0 0 2px var(--danger-soft),0 0 8px var(--danger-glow)}82%{transform:scale(1.1);opacity:1;box-shadow:0 0 0 2px var(--danger-soft),0 0 18px var(--danger-glow)}86%{transform:scale(1);opacity:.95}}.status-indicator.offline .status-dot{background:var(--danger);box-shadow:0 0 0 2px var(--danger-soft)}.status-dot.signal-flash{animation:signal-flash .45s var(--ease-out) forwards}@keyframes signal-flash{0%{transform:scale(1);filter:brightness(1)}25%{transform:scale(1.2);filter:brightness(1.35)}to{transform:scale(1);filter:brightness(1)}}.table-wrap{overflow-x:auto;border-radius:var(--radius-sm)}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}th,td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--border-subtle)}th{color:var(--text-muted);font-weight:var(--font-semibold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}tbody tr{transition:background var(--duration-fast)}tbody tr:hover td{background:var(--bg-hover)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.empty-state{text-align:center;padding:var(--space-8);color:var(--text-muted);font-size:var(--text-sm)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out) forwards}.animate-slide-up{animation:slideUp var(--duration-slow) var(--ease-out-expo) forwards}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.status-dot.online,.status-indicator.online .status-dot,.status-indicator.warning .status-dot,.status-indicator.error .status-dot,.status-dot.signal-flash{animation:none!important}.status-indicator.online:before,.status-indicator.online:after{animation:none!important;opacity:0}}html{transition:background-color var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out)}.dashboard-intro-wrap{filter:blur(6px);opacity:.96;transition:filter .5s var(--ease-out),opacity .5s var(--ease-out)}.dashboard-intro-wrap.dashboard-intro-done{filter:blur(0);opacity:1}.dashboard-intro .stat-tile{opacity:0;transform:translateY(10px);animation:stat-tile-enter .4s var(--ease-out) forwards}.dashboard-intro .stat-tile:nth-child(1){animation-delay:.05s}.dashboard-intro .stat-tile:nth-child(2){animation-delay:.1s}.dashboard-intro .stat-tile:nth-child(3){animation-delay:.15s}.dashboard-intro .stat-tile:nth-child(4){animation-delay:.2s}.dashboard-intro .stat-tile:nth-child(5){animation-delay:.25s}@keyframes stat-tile-enter{to{opacity:1;transform:translateY(0)}}.chart-reveal-wrap{overflow:hidden;clip-path:inset(0 100% 0 0);transition:clip-path .55s var(--ease-out-expo)}.dashboard-intro-done .chart-reveal-wrap{clip-path:inset(0 0 0 0)}@keyframes status-blink{0%,90%,to{opacity:1}95%{opacity:.75}}.kiosk-card.card-hover-lift{transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),border-color .2s}.kiosk-card.card-hover-lift:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--shadow-lg)}.kiosk-card.status-just-updated{animation:card-highlight .4s var(--ease-out)}@keyframes card-highlight{0%{box-shadow:0 0 0 2px var(--accent-glow)}to{box-shadow:none}}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%),rgba(255,255,255,.25) 0%,transparent 60%);opacity:0;transform:scale(0);border-radius:50%;pointer-events:none}.btn-ripple:active:after{animation:ripple .4s var(--ease-out) forwards}@keyframes ripple{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(2.5)}}.stats-strip.data-updated{animation:stats-flash .35s var(--ease-out)}@keyframes stats-flash{0%{filter:brightness(1.1)}to{filter:brightness(1)}}.stats-strip--glass{position:relative;overflow:hidden}.stats-strip--glass .stat-tile{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-sm),0 0 0 1px #ffffff08}.sweep-line{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(88,166,255,.5) 30%,rgba(88,166,255,.9) 50%,rgba(88,166,255,.5) 70%,transparent);box-shadow:0 0 12px #58a6ff66;animation:sweep-down .55s var(--ease-out) forwards;pointer-events:none}@keyframes sweep-down{0%{top:0;opacity:1}to{top:100%;opacity:.3}}.kiosk-card.status-online{box-shadow:var(--shadow-sm),0 0 0 1px #3fb95014,0 0 20px -4px #3fb95026}.kiosk-card.status-online.card-hover-lift:hover{box-shadow:var(--shadow-lg),0 0 0 1px #3fb9501f,0 0 28px -2px #3fb95033}.page-enter-active{transition:opacity .22s var(--ease-out),transform .22s var(--ease-out)}.page-leave-active{transition:opacity .15s var(--ease-out),transform .15s var(--ease-out)}.page-enter-from{opacity:0;transform:translateY(10px)}.page-leave-to{opacity:0;transform:translateY(-6px)}.ambient-bg{background-size:200% 200%;animation:ambient 24s ease-in-out infinite}@keyframes ambient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@media (prefers-reduced-motion: reduce){.dashboard-intro-wrap,.dashboard-intro .stat-tile,.chart-reveal-wrap{transition:none;animation:none}.dashboard-intro .stat-tile{opacity:1;transform:none}.chart-reveal-wrap{clip-path:none}.sweep-line{animation:none;opacity:0}.status-dot.online,.status-indicator.online .status-dot,.status-indicator.warning .status-dot,.status-indicator.error .status-dot,.status-dot.signal-flash{animation:none}.status-indicator.online:before,.status-indicator.online:after{animation:none;opacity:0}.kiosk-card.card-hover-lift:hover{transform:none}.kiosk-card.status-just-updated{animation:none}.btn-ripple:active:after{animation:none}.stats-strip.data-updated{animation:none}.page-enter-active,.page-leave-active{transition-duration:.01ms}.page-enter-from,.page-leave-to{transform:none}.ambient-bg{animation:none}}
