:root{--pms-background:oklch(14.5% 0 0);--pms-foreground:oklch(98.5% 0 0);--pms-card:oklch(20.5% 0 0);--pms-card-elevated:oklch(24% .02 264);--pms-primary:oklch(45% .14 264.05);--pms-primary-light:oklch(55% .15 264.05);--pms-primary-foreground:oklch(100% 0 0);--pms-muted:oklch(70.8% 0 0);--pms-muted-foreground:oklch(55.6% 0 0);--pms-border:oklch(100% 0 0/.1);--pms-border-strong:oklch(100% 0 0/.18);--pms-secondary:oklch(26.9% 0 0);--pms-destructive:oklch(70.4% .191 22.216);--pms-success:oklch(72% .19 145);--pms-warning:oklch(80% .18 85);--pms-info:oklch(60% .17 250);--pms-chart-1:oklch(48.8% .243 264.376);--pms-chart-2:oklch(69.6% .17 162.48);--pms-chart-3:oklch(76.9% .188 70.08);--pms-chart-4:oklch(62.7% .265 303.9);--pms-chart-5:oklch(64.5% .246 16.439);--pms-ring:oklch(45% .14 264.05);--bg:var(--pms-background);--surface:var(--pms-card);--surface-elevated:var(--pms-card-elevated);--border:var(--pms-border);--border-strong:var(--pms-border-strong);--text:var(--pms-foreground);--muted:var(--pms-muted);--accent:var(--pms-primary);--accent-light:var(--pms-primary-light);--accent-muted:color-mix(in oklch, var(--pms-primary) 38%, transparent);--link:color-mix(in oklch, var(--pms-primary) 70%, white 30%);--live:var(--pms-success);--live-pulse:color-mix(in oklch, var(--live) 45%, transparent);--danger:var(--pms-destructive);--chart-grid:var(--pms-border-strong);--chart-axis:var(--pms-muted);--chart-line:var(--pms-chart-1);--chart-fill:color-mix(in oklch, var(--pms-chart-1) 42%, transparent);--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:14px;--radius-2xl:16px;--radius-full:999px;--shadow-sm:0 1px 3px oklch(0% 0 0/.2);--shadow-md:0 4px 20px oklch(0% 0 0/.25);--shadow-lg:0 12px 40px oklch(0% 0 0/.35);--shadow-glow:0 0 20px color-mix(in oklch, var(--accent) 25%, transparent);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body{background:var(--bg);scrollbar-width:none;-ms-overflow-style:none;min-height:100dvh;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}body::-webkit-scrollbar{display:none}#root{scrollbar-width:none;-ms-overflow-style:none}#root::-webkit-scrollbar{display:none}a{color:var(--link);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-light)}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.page{max-width:1200px;margin:0 auto;padding:1.5rem}.page.narrow{max-width:480px}.page--flush{max-width:none;min-height:100vh;margin:0;padding:0}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h1{letter-spacing:-.025em;margin:0 0 .25rem;font-size:1.75rem;font-weight:800}.muted{color:var(--muted);margin:0}.muted.small{letter-spacing:.01em;margin-bottom:1.25rem;font-size:.8rem}.nav{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.nav a,.nav button.linkish{border-radius:var(--radius-md);align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.nav a:hover,.nav button.linkish:hover{background:var(--surface);text-decoration:none}.user-pill{border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);color:var(--muted);letter-spacing:.01em;padding:.3rem .75rem;font-size:.8rem}.error{color:var(--danger)}button.linkish{color:var(--link);cursor:pointer;font:inherit;background:0 0;border:none;padding:0}button.linkish:hover{text-decoration:underline}.dashboard-shell{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.dashboard-shell--kiosk .dash-brand-text h1{font-size:clamp(1.5rem,3vw,2rem)}.dash-brand{align-items:center;gap:.85rem;min-width:0;display:flex}.dash-logo{object-fit:contain;object-position:left center;width:40px;height:40px;filter:drop-shadow(0 0 8px color-mix(in oklch, var(--accent) 30%, transparent));flex-shrink:0}.dash-brand-text{min-width:0}.dash-top-left{flex:auto;min-width:0}.dash-top{padding-top:max(.85rem, env(safe-area-inset-top,0));padding-bottom:.85rem;padding-left:max(1.5rem, env(safe-area-inset-left,0));padding-right:max(1.5rem, env(safe-area-inset-right,0));border-bottom:1px solid var(--border);background:linear-gradient(180deg, color-mix(in oklch, var(--surface-elevated) 80%, var(--accent) 5%) 0%, var(--bg) 100%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.dash-brand-text h1{letter-spacing:-.025em;background:linear-gradient(135deg, var(--text) 60%, var(--muted) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .1rem;font-size:1.25rem;font-weight:800}.dash-subtitle{max-width:42rem;color:var(--muted);letter-spacing:.01em;font-size:.8rem}.dash-top-right{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.dash-live-stack{flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.dash-admin-login-link{letter-spacing:.02em;color:var(--link);opacity:0;white-space:nowrap;font-size:.68rem;font-weight:500;text-decoration:none;transition:opacity .14s}.dash-top-right:hover .dash-admin-login-link,.dash-live-stack:hover .dash-admin-login-link,.sidebar-live-stack:hover .dash-admin-login-link,.dash-admin-login-link:focus-visible{opacity:1}.dash-body{padding:1.25rem 1.5rem calc(5.5rem + env(safe-area-inset-bottom,0));flex:1;overflow-x:hidden}.dashboard-shell--kiosk .dash-body{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom,0))}.dashboard-shell--stage .dash-body{flex-direction:column;min-height:0;display:flex}.dashboard-shell--stage .dash-body .stage-layout{flex:auto;min-height:min(62vh,640px)}.dash-bottom{z-index:20;position:fixed;bottom:0;left:0;right:0}.meet-bar{padding:.55rem max(1.25rem, env(safe-area-inset-right,0)) max(.55rem, env(safe-area-inset-bottom,0)) max(1.25rem, env(safe-area-inset-left,0));background:color-mix(in oklch, var(--surface) 75%, transparent);-webkit-backdrop-filter:blur(24px)saturate(1.3);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.5rem .75rem;display:flex;box-shadow:0 -4px 32px oklch(0% 0 0/.35),inset 0 1px oklch(100% 0 0/.04)}.meet-bar--kiosk{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem}.meet-bar-divider{background:linear-gradient(180deg, transparent, var(--border-strong) 30%, var(--border-strong) 70%, transparent);width:1px;height:1.5rem}.meet-bar-spacer{flex:1;min-width:.5rem}.meet-fs-btn{border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;letter-spacing:.01em;padding:.4rem .8rem;font-size:.8rem;font-weight:600;transition:all .2s}.meet-fs-btn:hover{border-color:var(--accent);color:var(--link);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.meet-fs-btn:active{transform:translateY(0)}.layout-mode-switcher{background:var(--pms-secondary);border-radius:var(--radius-md);border:1px solid var(--border);gap:2px;padding:2px;display:flex}.layout-mode-btn{color:var(--muted);cursor:pointer;white-space:nowrap;letter-spacing:.01em;background:0 0;border:none;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.layout-mode-btn:hover{color:var(--text);background:color-mix(in oklch, var(--surface) 50%, transparent)}.layout-mode-btn.active{color:var(--pms-primary-foreground);background:var(--accent);box-shadow:0 1px 4px oklch(0% 0 0/.3)}.layout-mode-btn svg{flex-shrink:0;width:14px;height:14px}.layout-mode-label{white-space:nowrap}.range-control{border-radius:var(--radius-md);background:var(--pms-secondary);border:1px solid var(--border);flex-wrap:wrap;gap:2px;max-width:100%;padding:2px;display:inline-flex}.range-btn{color:var(--muted);cursor:pointer;letter-spacing:.015em;background:0 0;border:none;border-radius:6px;padding:.3rem .6rem;font-size:.75rem;font-weight:600;transition:all .2s}.range-btn:hover{color:var(--text);background:color-mix(in oklch, var(--surface) 50%, transparent)}.range-btn.active{background:var(--accent);color:var(--pms-primary-foreground);box-shadow:0 1px 4px oklch(0% 0 0/.3)}.range-btn--calendar{align-items:center;gap:.3rem;display:inline-flex}.range-btn-cal-icon{opacity:.85;display:flex}.range-control-wrap{max-width:100%;display:inline-block;position:relative}.range-cal-popover{border-radius:var(--radius-lg);background:var(--surface-elevated);border:1px solid var(--border-strong);width:min(100vw - 1.5rem,300px);box-shadow:var(--shadow-lg);z-index:60;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.85rem;position:absolute;bottom:calc(100% + 10px);right:0}.range-cal-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.range-cal-title{color:var(--text);letter-spacing:.02em;font-size:.82rem;font-weight:700}.range-cal-nav{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;transition:color .15s,border-color .15s,background .15s}.range-cal-nav:hover{color:var(--text);border-color:var(--accent);background:color-mix(in oklch, var(--accent) 12%, var(--surface))}.range-cal-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.35rem;display:grid}.range-cal-wd{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:center;font-size:.62rem;font-weight:700}.range-cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.range-cal-cell{aspect-ratio:1;border-radius:var(--radius-sm);background:color-mix(in oklch, var(--surface) 70%, transparent);min-height:32px;color:var(--text);cursor:pointer;border:1px solid #0000;font-size:.76rem;font-weight:600;transition:background .12s,border-color .12s,color .12s}.range-cal-cell:hover:not(:disabled){border-color:var(--accent-muted);background:color-mix(in oklch, var(--accent) 18%, var(--surface))}.range-cal-cell--pad{visibility:hidden;pointer-events:none}.range-cal-cell--disabled{opacity:.28;cursor:not-allowed}.range-cal-cell--in{background:color-mix(in oklch, var(--accent) 22%, var(--surface));color:var(--text)}.range-cal-cell--edge{background:var(--accent);color:var(--pms-primary-foreground);border-color:color-mix(in oklch, var(--accent) 80%, white 20%)}.range-cal-hint{margin:.55rem 0 0;font-size:.68rem;line-height:1.35}.range-cal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;margin-top:.65rem;padding-top:.65rem;display:flex}.range-cal-btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border-strong);padding:.38rem .75rem;font-size:.74rem;font-weight:600;transition:all .15s}.range-cal-btn--ghost{color:var(--muted);background:0 0}.range-cal-btn--ghost:hover{color:var(--text);border-color:var(--muted)}.range-cal-btn--primary{background:var(--accent);color:var(--pms-primary-foreground);border-color:#0000}.range-cal-btn--primary:hover:not(:disabled){filter:brightness(1.06)}.range-cal-btn--primary:disabled{opacity:.45;cursor:not-allowed}.sidebar-rail-inner .range-control-wrap{width:100%}.sidebar-rail-inner .range-cal-popover{left:0;right:auto}.live-indicator{color:var(--muted);border-radius:var(--radius-full);background:color-mix(in oklch, var(--surface) 60%, transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:.5rem;padding:.3rem .75rem;font-size:.72rem;font-weight:600;display:inline-flex}.live-dot{background:var(--live);width:7px;height:7px;box-shadow:0 0 0 0 var(--live-pulse);border-radius:50%;flex-shrink:0;animation:2s ease-out infinite live-pulse}@keyframes live-pulse{0%{box-shadow:0 0 0 0 var(--live-pulse)}50%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}.live-text{white-space:nowrap}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem;margin-bottom:1.75rem;display:grid}.kpi-grid--hero{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.kpi-card{background:color-mix(in oklch, var(--surface) 70%, transparent);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);padding:1rem 1rem .85rem;transition:all .25s;position:relative;overflow:hidden}.kpi-card:before{content:"";background:linear-gradient(135deg, color-mix(in oklch, var(--accent) 5%, transparent) 0%, transparent 60%);pointer-events:none;position:absolute;inset:0}.kpi-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md), var(--shadow-glow);transform:translateY(-2px)}.kpi-card h3{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .5rem;font-size:.7rem;font-weight:700;position:relative}.kpi-value{letter-spacing:-.025em;background:linear-gradient(135deg, var(--text) 70%, var(--muted) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.5rem;font-weight:800;position:relative}.kpi-grid--hero .kpi-value{font-size:clamp(1.75rem,4vw,2.5rem)}.kpi-card:nth-child(5n+1){border-left-color:var(--pms-chart-1)}.kpi-card:nth-child(5n+2){border-left-color:var(--pms-chart-2)}.kpi-card:nth-child(5n+3){border-left-color:var(--pms-chart-3)}.kpi-card:nth-child(5n+4){border-left-color:var(--pms-chart-4)}.kpi-card:nth-child(5n+5){border-left-color:var(--pms-chart-5)}@keyframes kpi-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.kpi-card{animation:.4s ease-out both kpi-fade-up}.kpi-card:first-child{animation-delay:50ms}.kpi-card:nth-child(2){animation-delay:.1s}.kpi-card:nth-child(3){animation-delay:.15s}.kpi-card:nth-child(4){animation-delay:.2s}.kpi-card:nth-child(5){animation-delay:.25s}.kpi-card:nth-child(6){animation-delay:.3s}.kpi-card:nth-child(7){animation-delay:.35s}.kpi-card:nth-child(8){animation-delay:.4s}.chart-panel{flex-direction:column;gap:1.25rem;display:flex}.chart-card{background:color-mix(in oklch, var(--surface) 70%, transparent);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);transition:all .25s;overflow:hidden}.chart-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.chart-card-header{border-bottom:1px solid var(--border);background:color-mix(in oklch, var(--surface-elevated) 30%, transparent);align-items:center;gap:.5rem;min-width:0;padding:.85rem 1rem;display:flex}.chart-card-header svg{width:16px;height:16px;color:var(--muted);flex-shrink:0}.chart-card-header h3{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:.85rem;font-weight:700;overflow:hidden}.chart-card>h3{letter-spacing:-.01em;border-bottom:1px solid var(--border);background:color-mix(in oklch, var(--surface-elevated) 30%, transparent);margin:0;padding:.85rem 1rem;font-size:.85rem;font-weight:700}.chart-wrap{width:100%;height:220px;padding:.5rem .5rem 0}.spotlight-layout{flex-direction:column;gap:1rem;display:flex}.spotlight-stage{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md);transition:border-color .25s;position:relative;overflow:hidden}.spotlight-stage:after{content:"";border-radius:inherit;background:linear-gradient(135deg, color-mix(in oklch, var(--accent) 15%, transparent), transparent 50%);pointer-events:none;z-index:0;opacity:0;transition:opacity .3s;position:absolute;inset:-1px}.spotlight-stage:hover:after{opacity:1}.spotlight-stage .chart-card{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1;background:0 0;border:none;border-radius:0;position:relative}.spotlight-strip{flex-wrap:wrap;gap:.5rem;display:flex}.spotlight-thumb{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;letter-spacing:.01em;padding:.5rem .85rem;font-size:.78rem;font-weight:600;transition:all .2s;position:relative}.spotlight-thumb:hover{color:var(--text);border-color:var(--border-strong);transform:translateY(-1px)}.spotlight-thumb.active{color:var(--pms-primary-foreground);border-color:var(--accent);background:var(--accent);box-shadow:0 2px 8px color-mix(in oklch, var(--accent) 35%, transparent)}.spotlight-thumb-label{pointer-events:none}.sidebar-layout{grid-template-columns:1fr auto;align-items:stretch;gap:0;min-height:0;display:grid}.sidebar-layout--collapsed{grid-template-columns:1fr 2.5rem}.sidebar-main{min-width:0;padding-right:.75rem}.sidebar-rail{border-left:1px solid var(--border);background:linear-gradient(180deg, color-mix(in oklch, var(--surface-elevated) 80%, var(--accent) 3%) 0%, var(--surface) 100%);border-radius:var(--radius-lg) 0 0 var(--radius-lg);min-height:200px;position:relative}.sidebar-layout--collapsed .sidebar-rail{border-radius:var(--radius-lg)}.sidebar-toggle{border:1px solid var(--border-strong);background:var(--surface-elevated);width:1.75rem;height:1.75rem;color:var(--text);cursor:pointer;z-index:2;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;line-height:1;transition:all .2s;display:flex;position:absolute;top:.75rem;left:-1px;transform:translate(-50%)}.sidebar-toggle:hover{background:var(--accent);color:var(--pms-primary-foreground);border-color:var(--accent);box-shadow:var(--shadow-glow)}.sidebar-rail-inner{width:220px;max-width:100%;padding:2.25rem 1rem 1rem}.sidebar-heading{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 .75rem;font-size:.65rem;font-weight:700}.sidebar-live{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.sidebar-hint{color:color-mix(in oklch, var(--muted) 70%, transparent);margin-top:1rem;font-size:.78rem;line-height:1.5}.stage-layout{flex-direction:row;flex:auto;align-items:stretch;gap:.85rem;min-height:min(72vh,720px);display:flex}.stage-main{flex-direction:column;flex:1;gap:.65rem;min-width:0;min-height:0;display:flex}.stage-chart{border-radius:var(--radius-xl);border:1px solid var(--border-strong);background:linear-gradient(165deg, color-mix(in oklch, var(--surface) 55%, oklch(12% 0 0)) 0%, color-mix(in oklch, var(--bg) 85%, oklch(8% 0 0)) 100%);flex-direction:column;flex:1;min-height:280px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px oklch(0% 0 0/.22),inset 0 1px oklch(100% 0 0/.05)}.stage-chart .chart-panel--fill{flex:1 1 0;gap:0;min-height:0;margin:0}.stage-chart .chart-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1 1 0;height:auto;min-height:0;display:flex}.stage-chart .chart-wrap--fill{flex:1 1 0;min-height:200px}.stage-chart-empty{justify-content:center;align-items:center;min-height:200px;padding:2rem;font-size:.9rem;display:flex}.stage-chart-strip{flex-shrink:0}.stage-rail{border-radius:var(--radius-xl);border:1px solid var(--border);background:linear-gradient(185deg, color-mix(in oklch, var(--surface-elevated) 95%, var(--accent) 4%) 0%, var(--surface) 100%);flex-direction:column;flex-shrink:0;width:clamp(240px,28vw,340px);display:flex;overflow:hidden;box-shadow:-4px 0 24px oklch(0% 0 0/.12)}.stage-rail-header{border-bottom:1px solid var(--border);background:color-mix(in oklch, var(--surface-elevated) 40%, transparent);justify-content:space-between;align-items:center;padding:.75rem .85rem;display:flex}.stage-rail-title{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.72rem;font-weight:800}.stage-rail-count{font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:700}.stage-rail-scroll{flex:1;min-height:0;padding:.65rem .65rem .85rem;overflow-y:auto}.stage-rail-scroll--fixed-kpis{min-height:14rem}.stage-rail-empty{text-align:center;margin:0;padding:1rem .5rem}.kpi-grid--stage-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:0}.kpi-grid--stage-rail .kpi-card{border-radius:var(--radius-md);padding:.6rem .55rem .5rem;animation:none}.kpi-grid--stage-rail .kpi-card h3{letter-spacing:.06em;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.35rem;font-size:.58rem;line-height:1.25;display:-webkit-box;overflow:hidden}.kpi-grid--stage-rail .kpi-value{font-size:clamp(.95rem,2.8vw,1.2rem)}.login-page{background:radial-gradient(ellipse 60% 40% at 50% -10%, color-mix(in oklch, var(--accent) 12%, transparent), transparent 70%), radial-gradient(ellipse 50% 50% at 80% 80%, color-mix(in oklch, var(--pms-chart-2) 8%, transparent), transparent 60%), var(--bg);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex}.login-page .page-header{width:100%;max-width:420px;margin-bottom:1.25rem}.login-page .page-header h1{letter-spacing:-.025em;font-weight:800}.login-brand{margin-bottom:.75rem}.login-logo{object-fit:contain;object-position:left center;max-width:min(200px,100%);height:auto;max-height:52px;filter:drop-shadow(0 0 12px color-mix(in oklch, var(--accent) 20%, transparent));display:block}.login-form{background:color-mix(in oklch, var(--surface) 75%, transparent);border:1px solid var(--border-strong);border-radius:var(--radius-2xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px);flex-direction:column;gap:1rem;padding:1.75rem;animation:.5s ease-out both login-card-in;display:flex}@keyframes login-card-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-form label{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;flex-direction:column;gap:.4rem;font-size:.82rem;font-weight:600;display:flex}.login-form input{border-radius:var(--radius-md);border:1px solid var(--border-strong);background:color-mix(in oklch, var(--bg) 80%, transparent);color:var(--text);padding:.6rem .75rem;font-family:inherit;font-size:.9rem;transition:all .2s}.login-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted);outline:none}.login-form input::placeholder{color:color-mix(in oklch, var(--muted) 50%, transparent)}.login-form button[type=submit]{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);color:var(--pms-primary-foreground);cursor:pointer;letter-spacing:.01em;border:none;padding:.7rem 1rem;font-size:.9rem;font-weight:700;transition:all .2s;position:relative;overflow:hidden}.login-form button[type=submit]:after{content:"";background:linear-gradient(105deg,#0000 30%,oklch(100% 0 0/.12) 50%,#0000 70%);transition:transform .6s;position:absolute;inset:0;transform:translate(-100%)}.login-form button[type=submit]:hover:after{transform:translate(100%)}.login-form button[type=submit]:hover{box-shadow:0 4px 16px color-mix(in oklch, var(--accent) 40%, transparent);transform:translateY(-1px)}.login-form button[type=submit]:active{transform:translateY(0)}.login-form button:disabled{opacity:.5;cursor:not-allowed;transform:none}.login-form button:disabled:hover:after{transform:translate(-100%)}.login-form .error{border-radius:var(--radius-md);background:color-mix(in oklch, var(--danger) 12%, transparent);border:1px solid color-mix(in oklch, var(--danger) 25%, transparent);margin:0;padding:.6rem .75rem;font-size:.82rem}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-elevated) 50%, var(--surface) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.8s ease-in-out infinite skeleton-shimmer}.skeleton-kpi{height:88px}.skeleton-chart{height:280px}.loading-text{color:var(--muted);align-items:center;gap:.75rem;padding:2rem 0;font-size:.85rem;font-weight:500;display:flex}.loading-spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin-loader}@keyframes spin-loader{to{transform:rotate(360deg)}}@media (width<=1200px){.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.kpi-grid--hero{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.dashboard-shell--stage .dash-body .stage-layout{min-height:min(58vh,560px)}.stage-layout{min-height:min(65vh,640px)}}@media (width<=900px){.dash-body{padding-left:1.15rem;padding-right:1.15rem}.dash-top{padding-left:max(1.1rem, env(safe-area-inset-left,0));padding-right:max(1.1rem, env(safe-area-inset-right,0))}.layout-mode-switcher{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.layout-mode-switcher::-webkit-scrollbar{display:none}.range-control-wrap{max-width:100%}.range-control{justify-content:center}.spotlight-strip,.stage-chart-strip{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;margin-bottom:.15rem;padding-bottom:.25rem;overflow:auto hidden}.spotlight-strip::-webkit-scrollbar{display:none}.stage-chart-strip::-webkit-scrollbar{display:none}.spotlight-thumb{flex-shrink:0}.meet-bar-divider{display:none}.meet-bar{justify-content:center}.meet-bar-spacer{display:none}.sidebar-main{padding-right:0}}@media (width<=768px){.dash-top{padding-top:max(.75rem, env(safe-area-inset-top,0));padding-bottom:.75rem;padding-left:max(1rem, env(safe-area-inset-left,0));padding-right:max(1rem, env(safe-area-inset-right,0));flex-direction:column;align-items:stretch;gap:.75rem}.dash-top-right{justify-content:space-between;align-items:flex-start;width:100%}.dash-live-stack{align-items:flex-start}.dash-body{padding:1rem max(.85rem, env(safe-area-inset-left,0)) calc(5.25rem + env(safe-area-inset-bottom,0)) max(.85rem, env(safe-area-inset-right,0))}.dashboard-shell--kiosk .dash-body{padding-bottom:calc(4.25rem + env(safe-area-inset-bottom,0))}.dash-brand-text h1{font-size:clamp(1rem,4.5vw,1.15rem)}.dash-subtitle{font-size:.75rem}.dash-logo{width:36px;height:36px}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem;margin-bottom:1.25rem}.kpi-grid--hero{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.65rem}.kpi-card{padding:.75rem .65rem}.kpi-card h3{font-size:.65rem}.kpi-value{font-size:clamp(1.05rem,4vw,1.25rem)}.chart-panel{gap:1rem}.chart-card-header{padding:.65rem .85rem}.chart-card-header h3{font-size:.78rem}.meet-bar{padding-top:.5rem;padding-left:max(.65rem, env(safe-area-inset-left,0));padding-right:max(.65rem, env(safe-area-inset-right,0));gap:.45rem}.layout-mode-btn,.range-btn{min-height:40px}.live-indicator{max-width:100%}.live-text{white-space:normal;text-align:left;line-height:1.25}.sidebar-layout{grid-template-columns:1fr}.sidebar-rail{display:none}.stage-layout{flex-direction:column;gap:.75rem;min-height:0}.stage-chart{min-height:220px}.stage-rail{width:100%;min-height:0;max-height:46vh}.dashboard-shell--stage .dash-body .stage-layout{flex:auto;min-height:0}.muted.small{margin-bottom:.85rem;font-size:.72rem}.login-page{padding:1.25rem max(1rem, env(safe-area-inset-left,0)) 1.5rem max(1rem, env(safe-area-inset-right,0));padding-top:max(1.25rem, env(safe-area-inset-top,0))}.login-form{padding:1.25rem 1rem}.page:not(.page--flush){padding:1.1rem max(1rem, env(safe-area-inset-left,0)) 1.5rem max(1rem, env(safe-area-inset-right,0))}}@media (width<=480px){.layout-mode-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.layout-mode-btn{justify-content:center;padding:.4rem .45rem}.range-btn{padding:.3rem .45rem;font-size:.68rem}.range-btn--calendar{gap:.2rem;font-size:.65rem}.meet-fs-btn{width:100%;margin-top:.15rem;padding:.4rem .65rem;font-size:.72rem}.meet-bar{flex-direction:column;align-items:stretch}.meet-bar .layout-mode-switcher{justify-content:stretch;width:100%}.meet-bar .layout-mode-switcher .layout-mode-btn{flex:1 1 0;min-width:0}.meet-bar .range-control-wrap{width:100%}.meet-bar .range-control{flex-wrap:wrap;justify-content:center;width:100%}.meet-bar--kiosk{flex-flow:wrap}.meet-bar--kiosk .meet-fs-btn{flex:auto;width:auto;margin-top:0}.kpi-grid,.kpi-grid--hero{grid-template-columns:1fr}.dash-logo{width:32px;height:32px}.user-pill{text-overflow:ellipsis;max-width:100%;font-size:.72rem;overflow:hidden}.nav{justify-content:flex-end;width:100%}.range-cal-popover{width:min(100vw - 1.25rem,300px);transform:translate(-50%);left:50%!important;right:auto!important}}
