.ov{--ov-bg:#f4f6f9;--ov-surface:#ffffff;--ov-text:#0f172a;--ov-muted:#64748b;--ov-muted-2:#94a3b8;--ov-line:#e8edf3;--ov-accent:#0e71eb;--ov-accent-soft:rgba(14,113,235,0.08);--ov-ok:#059669;--ov-ok-soft:rgba(5,150,105,0.1);--ov-warn:#d97706;--ov-warn-soft:rgba(217,119,6,0.12);--ov-bad:#dc2626;--ov-bad-soft:rgba(220,38,38,0.1);--ov-radius:1rem;--ov-radius-sm:0.75rem;--ov-ease:cubic-bezier(0.4,0,0.2,1);--ov-space:clamp(0.4rem,0.35rem + 0.4vw,0.5rem);--ov-gap:clamp(0.75rem,0.55rem + 0.6vw,1rem);--ov-card-shadow:0 1px 2px rgba(15,23,42,0.03);--ov-card-glow:0 0 0 1px rgba(14,113,235,0.28);--ov-kpi-min:12rem;--ov-split-min:17.5rem;--ov-touch:2.75rem;font-family:var(--font-overview),var(--font-sans),system-ui,sans-serif;color:var(--ov-text);width:100%;max-width:100%;min-width:0;overflow-x:clip;overflow-wrap:break-word;text-size-adjust:100%;container-type:inline-size;container-name:ov;animation:ov-fade-up .45s var(--ov-ease) both}@keyframes ov-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ov-bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes ov-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes ov-skel-breathe{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(.97)}}.ov-stack{display:flex;flex-direction:column;gap:clamp(1rem,.75rem + 1vw,1.5rem);width:100%;max-width:min(75rem,100%);min-width:0;margin-inline:auto;box-sizing:border-box}.ov-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:calc(var(--ov-space) * 2);min-height:0;padding-bottom:calc(var(--ov-space) * 1)}.ov-header>div:first-child{flex:1 1 min(100%,16rem);min-width:0}.ov-header__eyebrow{margin:0 0 4px;font-size:.8125rem;font-weight:500;color:var(--ov-muted);letter-spacing:.01em}.ov-header__title{margin:0;font-size:clamp(1.35rem,1.1rem + 1.2vw,1.875rem);font-weight:700;letter-spacing:-.03em;line-height:1.2;overflow-wrap:anywhere}.ov-header__sub{margin:6px 0 0;font-size:.875rem;color:var(--ov-muted)}.ov-live-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:.8125rem;font-weight:600;background:var(--ov-surface);border:1px solid var(--ov-line);color:var(--ov-muted);transition:transform .2s var(--ov-ease),background .2s var(--ov-ease)}.ov-live-pill.is-live{color:var(--ov-ok);background:var(--ov-ok-soft);border-color:transparent}.ov-live-pill__dot{width:8px;height:8px;border-radius:50%;background:currentColor}.ov-live-pill.is-live .ov-live-pill__dot{box-shadow:0 0 0 4px rgba(5,150,105,.15);animation:ov-pulse 1.6s var(--ov-ease) infinite}@keyframes ov-pulse{0%,to{opacity:1}50%{opacity:.45}}.ov-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--ov-space) * 2);padding:calc(var(--ov-space) * 3) calc(var(--ov-space) * 3);background:var(--ov-surface);border-radius:var(--ov-radius);border:1px solid var(--ov-line);box-shadow:var(--ov-card-shadow);transition:box-shadow .25s var(--ov-ease)}.ov-hero:hover{box-shadow:var(--ov-card-glow)}.ov-hero__label{margin:0 0 6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ov-accent)}.ov-hero>div:first-child{min-width:0;flex:1 1 12rem}.ov-hero__title{margin:0;font-size:clamp(1.15rem,1rem + 1vw,1.375rem);font-weight:700;letter-spacing:-.02em;overflow-wrap:anywhere}.ov-hero__meta{margin:8px 0 0;font-size:.9375rem;color:var(--ov-muted)}.ov-hero__meta strong{color:var(--ov-text);font-weight:600}.ov-hero__actions{display:flex;flex-wrap:wrap;gap:8px}.ov-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--ov-touch);min-width:var(--ov-touch);padding:0 1.125rem;border-radius:var(--ov-radius-sm);font-size:.875rem;font-weight:600;border:1px solid transparent;text-decoration:none;cursor:pointer;box-sizing:border-box;transition:transform .2s var(--ov-ease),background .2s var(--ov-ease),border-color .2s var(--ov-ease),color .2s var(--ov-ease)}.ov-btn:hover{transform:scale(1.02)}.ov-btn--primary{background:var(--ov-accent);color:#fff}.ov-btn--primary:hover{background:#0b5ed7;color:#fff}.ov-btn--ghost{background:transparent;border-color:var(--ov-line);color:var(--ov-text)}.ov-btn--ghost:hover{background:var(--ov-bg)}.ov-btn--secondary{background:#fff;border-color:rgba(14,113,235,.22);color:var(--ov-accent);box-shadow:0 1px 2px rgba(15,23,42,.04)}.ov-btn--secondary:hover{background:var(--ov-accent-soft);border-color:rgba(14,113,235,.35);color:#0b5ed7}.ov-header__cta{flex:0 0 auto;align-self:center;gap:.4rem;min-height:2.5rem;padding:0 1rem 0 .85rem;white-space:nowrap;font-size:.8125rem}.ov-header__cta svg{flex-shrink:0}.ov-attn{padding:calc(var(--ov-space) * 2.5);background:var(--ov-surface);border-radius:var(--ov-radius);border:1px solid var(--ov-line);box-shadow:var(--ov-card-shadow);transition:box-shadow .25s var(--ov-ease)}.ov-attn:hover{box-shadow:var(--ov-card-glow)}.ov-attn__title{margin:0 0 12px;font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ov-warn)}.ov-attn__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.ov-attn__item a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--ov-radius-sm);text-decoration:none;color:var(--ov-text);transition:background .2s var(--ov-ease),transform .2s var(--ov-ease)}.ov-attn__item a:hover{background:var(--ov-bg);transform:scale(1.01)}.ov-attn__badge{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--ov-muted-2)}.ov-attn__badge.is-warn{background:var(--ov-warn)}.ov-attn__badge.is-critical{background:var(--ov-bad)}.ov-attn__badge.is-info{background:var(--ov-accent)}.ov-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--ov-kpi-min)),1fr));grid-gap:var(--ov-gap);gap:var(--ov-gap)}.ov-kpis:has(>:nth-child(3):last-child){grid-template-columns:repeat(auto-fit,minmax(min(100%,11.5rem),1fr))}.ov-stat{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:clamp(8.5rem,20vw,10.5rem);width:100%;max-width:100%;min-width:0;padding:clamp(.9rem,.75rem + .4vw,1.25rem);background:#ffffff;border:1px solid #eceff4;border-radius:.875rem;text-decoration:none;text-align:left;color:inherit;font:inherit;cursor:default;box-sizing:border-box;box-shadow:var(--ov-card-shadow);transition:box-shadow .25s var(--ov-ease);animation:ov-fade-up .45s var(--ov-ease) both}a.ov-stat,button.ov-stat{cursor:pointer}.ov-stat:hover,a.ov-stat:hover,button.ov-stat:hover{box-shadow:var(--ov-card-glow)}.ov-stat__icon{width:40px;height:40px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;flex:0 0 auto}.ov-stat--violet .ov-stat__icon{color:#7c3aed;background:rgba(124,58,237,.1)}.ov-stat--green .ov-stat__icon{color:#059669;background:rgba(5,150,105,.12)}.ov-stat--red .ov-stat__icon{color:#dc2626;background:rgba(220,38,38,.1)}.ov-stat--blue .ov-stat__icon{color:#0e71eb;background:rgba(14,113,235,.1)}.ov-stat--amber .ov-stat__icon{color:#d97706;background:rgba(217,119,6,.12)}.ov-stat--teal .ov-stat__icon{color:#0d9488;background:rgba(13,148,136,.12)}.ov-stat__label{margin:0;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8b95a8}.ov-stat__value-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;max-width:100%;min-width:0;margin-top:.6rem}.ov-stat__value{margin:0;font-size:clamp(1.4rem,1.2rem + .9vw,1.75rem);font-weight:700;letter-spacing:-.045em;line-height:1.05;color:#0f172a;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}.ov-stat__trend{display:inline-flex;align-items:center;gap:3px;padding:4px 8px;border-radius:999px;font-size:.75rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 0 auto}.ov-stat__trend.is-up{color:#059669;background:rgba(5,150,105,.1)}.ov-stat__trend.is-down{color:#dc2626;background:rgba(220,38,38,.1)}.ov-stat__trend.is-flat{color:#64748b;background:rgba(100,116,139,.1)}.ov-stat__foot{margin:.6rem 0 0;font-size:.8125rem;color:#94a3b8;line-height:1.35;max-width:100%;overflow-wrap:anywhere}.ov-section{padding:calc(var(--ov-space) * 2.5);background:var(--ov-surface);border-radius:var(--ov-radius);border:1px solid var(--ov-line);box-shadow:var(--ov-card-shadow);transition:box-shadow .25s var(--ov-ease)}.ov-section:hover{box-shadow:var(--ov-card-glow)}.ov-section__head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-bottom:calc(var(--ov-space) * 2)}.ov-section__title{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.02em}.ov-section__link{font-size:.8125rem;font-weight:600;color:var(--ov-accent);text-decoration:none}.ov-section__link:hover{text-decoration:underline}.ov-group-label{margin:16px 0 8px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ov-muted-2)}.ov-group-label:first-child{margin-top:0}.ov-row{display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--ov-radius-sm);text-decoration:none;color:inherit;border:1px solid transparent;background:var(--ov-bg);transition:box-shadow .25s var(--ov-ease),border-color .25s var(--ov-ease),background .25s var(--ov-ease)}.ov-list{display:flex;flex-direction:column;gap:10px}.ov-row:hover{box-shadow:var(--ov-card-glow);border-color:rgba(14,113,235,.12);background:#fff}.ov-row__icon{flex:0 0 40px;width:40px;height:40px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;color:var(--ov-accent);background:var(--ov-accent-soft)}.ov-row__time{flex:0 0 72px;font-size:.8125rem;font-weight:600;color:var(--ov-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ov-row__main{flex:1 1;min-width:0}.ov-row__title{margin:0;font-size:.9375rem;font-weight:600;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ov-row__meta{margin:5px 0 0;font-size:.75rem;line-height:1.35;color:var(--ov-muted)}.ov-row__cta{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:var(--ov-touch);padding:0 .35rem;font-size:.8125rem;font-weight:600;color:var(--ov-accent);text-decoration:none;white-space:nowrap;transition:box-shadow .2s var(--ov-ease),background .2s var(--ov-ease)}.ov-row__cta--solid{padding:8px 14px;border-radius:10px;background:var(--ov-accent);color:#fff}.ov-row__cta--solid:hover{background:#0b5ed7;color:#fff;box-shadow:0 8px 18px -10px rgba(14,113,235,.7)}.ov-trend{display:flex;align-items:flex-end;gap:8px;height:120px;padding-top:8px}.ov-trend__bar-wrap{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.ov-trend__bar{width:100%;max-width:28px;border-radius:8px 8px 4px 4px;background:var(--ov-accent);transform-origin:bottom;animation:ov-bar-grow .7s var(--ov-ease) both;min-height:4px}.ov-trend__bar.is-warn{background:var(--ov-warn)}.ov-trend__bar.is-bad{background:var(--ov-bad)}.ov-trend__bar.is-ok{background:var(--ov-ok)}.ov-trend__label{font-size:.625rem;color:var(--ov-muted-2);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-perf{display:flex;flex-direction:column;gap:.25rem;min-width:0;width:100%}.ov-perf__row{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(4.5rem,.9fr) minmax(3.5rem,.8fr) minmax(3.5rem,.7fr) minmax(4rem,.7fr) minmax(3rem,.7fr) minmax(3.5rem,.8fr);grid-gap:.5rem;gap:.5rem;align-items:center;padding:.875rem .75rem;border-radius:var(--ov-radius-sm);text-decoration:none;color:inherit;min-width:0;transition:box-shadow .25s var(--ov-ease),background .25s var(--ov-ease)}.ov-perf__row:hover{background:#fff;box-shadow:var(--ov-card-glow)}.ov-perf__head{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ov-muted-2);padding-bottom:4px}.ov-perf__title{font-weight:600;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ov-perf__cell{font-size:.8125rem;color:var(--ov-muted)}.ov-fill{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.8125rem}.ov-fill__dot{width:8px;height:8px;border-radius:50%}.ov-fill.is-ok{color:var(--ov-ok)}.ov-fill.is-ok .ov-fill__dot{background:var(--ov-ok)}.ov-fill.is-warn{color:var(--ov-warn)}.ov-fill.is-warn .ov-fill__dot{background:var(--ov-warn)}.ov-fill.is-bad{color:var(--ov-bad)}.ov-fill.is-bad .ov-fill__dot{background:var(--ov-bad)}.ov-streak{margin-top:12px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--ov-radius-sm);background:var(--ov-accent-soft);color:var(--ov-accent);font-size:.8125rem;font-weight:600}.ov-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--ov-split-min)),1fr));grid-gap:var(--ov-gap);gap:var(--ov-gap);align-items:stretch}.ov-panel{padding:calc(var(--ov-space) * 2.75);background:var(--ov-surface);border-radius:var(--ov-radius);border:1px solid var(--ov-line);box-shadow:var(--ov-card-shadow);transition:box-shadow .25s var(--ov-ease)}.ov-panel:hover{box-shadow:var(--ov-card-glow)}.ov-split__card{display:flex;flex-direction:column;min-height:0;min-width:0;height:100%}@container ov (min-width: 36rem){.ov-split__card{min-height:clamp(14rem,36vw,20rem)}.ov-stat{min-height:clamp(8.5rem,22cqi,10.5rem);padding:clamp(.9rem,.7rem + 1.2cqi,1.25rem)}.ov-header__title{font-size:clamp(1.35rem,1.1rem + 1.8cqi,1.875rem)}.ov-stat__value{font-size:clamp(1.4rem,1.15rem + 1.5cqi,1.75rem)}.ov-ring{--ov-ring-size:clamp(6.5rem,5rem + 10cqi,9.25rem)}}.ov-split__body{flex:1 1 auto;min-height:0;max-height:min(28rem,55vh);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.35) transparent}@container ov (max-width: 36rem){.ov-split__body{max-height:none;overflow:visible}}.ov-split__body::-webkit-scrollbar{width:6px}.ov-split__body::-webkit-scrollbar-track{background:transparent}.ov-split__body::-webkit-scrollbar-thumb{background:rgba(100,116,139,.28);border-radius:999px}.ov-split__body::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.45)}.ov-split__body::-webkit-scrollbar-button{display:none;width:0;height:0}.ov-progress-card__body{flex:1 1 auto;display:flex;align-items:center;gap:28px;padding-top:8px}.ov-progress-card__body--stack{flex-direction:column;align-items:stretch;gap:20px}.ov-progress-card__top{display:flex;align-items:center;gap:28px}.ov-trend--compact{height:96px;padding:8px 4px 0;border-top:1px solid var(--ov-line)}.ov-progress-card__copy{flex:1 1 auto;min-width:0}.ov-progress-card__eyebrow{margin:0 0 6px;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ov-muted-2)}.ov-progress-card__title{margin:0;font-size:1.125rem;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:var(--ov-text)}.ov-progress-card__meta{margin:10px 0 0;font-size:.875rem;color:var(--ov-muted);line-height:1.45}.ov-ring{--ov-ring-size:clamp(6.5rem,5rem + 4vw,9.25rem);position:relative;width:min(var(--ov-ring-size),100%);height:auto;aspect-ratio:1;flex:0 0 auto;max-width:100%}.ov-ring svg{display:block;width:100%;height:100%}.ov-ring__track{stroke:rgba(14,113,235,.12)}.ov-ring__fill{stroke:#0e71eb;transition:stroke-dashoffset .8s cubic-bezier(.22,1,.36,1)}.ov-ring--ok .ov-ring__fill{stroke:var(--ov-ok)}.ov-ring--warn .ov-ring__fill{stroke:var(--ov-warn)}.ov-ring--bad .ov-ring__fill{stroke:var(--ov-bad)}.ov-ring--ok .ov-ring__track{stroke:rgba(5,150,105,.14)}.ov-ring--warn .ov-ring__track{stroke:rgba(217,119,6,.16)}.ov-ring--bad .ov-ring__track{stroke:rgba(220,38,38,.14)}.ov-ring__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}.ov-ring__center strong{font-size:1.625rem;font-weight:700;letter-spacing:-.04em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ov-text)}.ov-ring__center span{margin-top:6px;font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ov-muted)}.ov-cards-h{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(min(15rem,82%),15rem);grid-gap:.75rem;gap:.75rem;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:.35rem;margin-inline:0;scroll-snap-type:x mandatory;scroll-padding-inline:.15rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.ov-mini-card{scroll-snap-align:start;min-width:0;padding:1rem;border-radius:var(--ov-radius);border:1px solid var(--ov-line);background:var(--ov-bg);text-decoration:none;color:inherit;box-shadow:var(--ov-card-shadow);transition:box-shadow .25s var(--ov-ease);box-sizing:border-box}.ov-mini-card .ov-btn{width:100%;max-width:100%}.ov-mini-card:hover{box-shadow:var(--ov-card-glow)}.ov-mini-card__title{margin:0;font-size:.875rem;font-weight:600}.ov-mini-card__meta{margin:6px 0 12px;font-size:.75rem;color:var(--ov-muted)}.ov-empty{padding:24px;text-align:center;color:var(--ov-muted);font-size:.875rem}.ov-skel{height:16px;border-radius:12px;background:#e8edf4;transform-origin:center center;animation:ov-skel-breathe 1.45s cubic-bezier(.4,0,.2,1) infinite;will-change:transform,opacity}.ov-skel--hero{height:120px;animation-delay:0s}.ov-skel--card,.ov-skel--hero{border-radius:var(--ov-radius)}.ov-skel--card{height:320px;border:1px solid var(--ov-line)}.ov-kpis>.ov-skel:first-child{animation-delay:0s}.ov-kpis>.ov-skel:nth-child(2){animation-delay:90ms}.ov-kpis>.ov-skel:nth-child(3){animation-delay:.18s}.ov-kpis>.ov-skel:nth-child(4){animation-delay:.27s}.ov-split>.ov-skel:first-child{animation-delay:.12s}.ov-split>.ov-skel:nth-child(2){animation-delay:.22s}.ov-stack>*{animation:ov-fade-up .45s var(--ov-ease) both}.ov-stack>:first-child{animation-delay:0s}.ov-stack>:nth-child(2){animation-delay:40ms}.ov-stack>:nth-child(3){animation-delay:80ms}.ov-stack>:nth-child(4){animation-delay:.12s}.ov-stack>:nth-child(5){animation-delay:.16s}.ov-stack>:nth-child(6){animation-delay:.2s}@media (prefers-reduced-motion:reduce){.ov,.ov-attn,.ov-hero,.ov-panel,.ov-ring__fill,.ov-row,.ov-section,.ov-skel,.ov-stack>*,.ov-stat{animation:none!important;transition:none!important}.ov-skel{opacity:.7;transform:none}}.ov-banner{padding:14px 16px;border-radius:var(--ov-radius-sm);background:var(--ov-warn-soft);color:#92400e;font-size:.875rem}.ov-banner a{color:inherit;font-weight:700}.dash-layout__main:has(.ov){background:var(--ov-bg);min-width:0;max-width:100%;box-sizing:border-box;padding:max(1.75rem,env(safe-area-inset-top,0px)) max(2rem,env(safe-area-inset-right,0px)) max(2.5rem,env(safe-area-inset-bottom,0px)) max(2rem,env(safe-area-inset-left,0px));display:flex;flex-direction:column;align-items:stretch}.dash-page-view>.ov{width:100%;max-width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}.dash-page-view>.attendance-report,.dash-page-view>.dash-page-body,.dash-page-view>.dash-page-header,.dash-page-view>.dash-page-shell{width:100%;max-width:min(75rem,100%);margin-inline:auto;box-sizing:border-box;min-width:0}@container ov (max-width: 52rem){.ov-header{flex-direction:column;align-items:stretch}.ov-header__cta{align-self:stretch;width:100%;max-width:none;justify-content:center;min-height:2.75rem}.ov-live-pill{align-self:flex-start}.ov-hero{flex-direction:column;align-items:stretch}.ov-hero__title{font-size:clamp(1.1rem,1rem + 2cqi,1.35rem);overflow-wrap:anywhere}.ov-hero__actions{width:100%}.ov-hero__actions .ov-btn{flex:1 1 auto;min-width:min(100%,9rem)}.ov-progress-card__body,.ov-progress-card__top{flex-direction:column;text-align:center;gap:1.15rem}.ov-progress-card__copy .ov-streak{margin-left:auto;margin-right:auto}.ov-perf__head{display:none}.ov-perf__row{grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem .75rem;padding:.85rem}.ov-perf__title{grid-column:1/-1;white-space:normal;overflow:visible;text-overflow:unset;line-height:1.35}.ov-perf__row>:nth-child(2){color:var(--ov-muted)}.ov-perf__row>:nth-child(5){display:inline-flex;justify-self:end}.ov-perf__row>:nth-child(3),.ov-perf__row>:nth-child(4),.ov-perf__row>:nth-child(6),.ov-perf__row>:nth-child(7){display:none}.ov-row{flex-wrap:wrap;align-items:center;gap:.65rem .75rem}.ov-row__title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.ov-row__cta--solid{margin-left:auto}}@container ov (max-width: 40rem){.ov{--ov-kpi-min:100%}.ov-stat{min-height:0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0 .875rem;padding:1rem}.ov-stat__icon{margin-bottom:0}.ov-stat__label{flex-grow:1;flex-shrink:1;flex-basis:calc(100% - 3.4rem);align-self:center}.ov-stat__value-row{flex:1 1 100%;margin-top:.5rem}.ov-stat__value{font-size:clamp(1.35rem,1.2rem + 2cqi,1.5rem)}.ov-stat__foot{flex:1 1 100%;margin-top:.25rem}.ov-hero__actions{flex-direction:column}.ov-hero__actions .ov-btn{width:100%;min-width:0}.ov-row__time{flex:0 0 3.75rem;font-size:.75rem}.ov-row__main{flex-grow:1;flex-shrink:1;flex-basis:calc(100% - 5rem);min-width:0}.ov-row__cta{flex:1 1 100%;justify-content:center;margin-left:0}.ov-row__cta--solid{width:100%;margin-left:0}.ov-trend--compact{height:5rem}.ov-cards-h{grid-auto-columns:minmax(min(14rem,78vw),14rem)}.ov-attn__item a{min-height:var(--ov-touch);padding:.85rem .75rem}}@container ov (max-width: 24rem){.ov-row__time{flex:0 0 100%;order:-1}.ov-stat__trend{padding:.2rem .4rem;font-size:.6875rem}.ov-hero{padding:calc(var(--ov-space) * 2)}}@media (max-width:1100px){.ov-stack{gap:clamp(1rem,2vw,1.25rem)}.ov-stat__value{font-size:1.55rem}.ov-perf__row{grid-template-columns:minmax(0,1.6fr) minmax(4rem,.85fr) minmax(3rem,.7fr) minmax(3rem,.65fr) minmax(4rem,.75fr)}.ov-perf__head>:nth-child(6),.ov-perf__head>:nth-child(7),.ov-perf__row>:nth-child(6),.ov-perf__row>:nth-child(7){display:none}}@media (max-width:900px){.ov-header{flex-direction:column;align-items:stretch}.ov-header__cta{align-self:stretch;width:100%;justify-content:center;min-height:2.75rem}.ov-live-pill{align-self:flex-start}.ov-hero{flex-direction:column;align-items:stretch;padding:calc(var(--ov-space) * 2.5)}.ov-hero__title{font-size:clamp(1.125rem,4.5vw,1.375rem);overflow-wrap:anywhere}.ov-hero__actions{width:100%}.ov-hero__actions .ov-btn{flex:1 1 auto;min-width:min(100%,9.5rem)}.ov-progress-card__body,.ov-progress-card__top{flex-direction:column;text-align:center;gap:1.25rem}.ov-progress-card__copy .ov-streak{margin-left:auto;margin-right:auto}.ov-perf__head{display:none}.ov-perf__row{grid-template-columns:minmax(0,1fr) auto auto;gap:8px 12px;padding:14px}.ov-perf__title{grid-column:1/-1;white-space:normal;overflow:visible;text-overflow:unset;line-height:1.35}.ov-perf__row>:nth-child(2){color:var(--ov-muted)}.ov-perf__row>:nth-child(5){display:inline-flex;justify-self:end}.ov-perf__row>:nth-child(3),.ov-perf__row>:nth-child(4),.ov-perf__row>:nth-child(6),.ov-perf__row>:nth-child(7){display:none}.ov-attn,.ov-panel,.ov-section{padding:calc(var(--ov-space) * 2)}.ov-row{flex-wrap:wrap;align-items:center;gap:10px 12px}.ov-row__title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.ov-row__cta--solid{margin-left:auto}}@media (max-width:640px){.dash-layout__main:has(.ov){padding:max(.85rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1.5rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px))}.dash-layout--learner .dash-layout__main:has(.ov){padding-top:.85rem}.ov-kpis,.ov-kpis:has(>:nth-child(3):last-child){grid-template-columns:1fr}.ov-stack{gap:calc(var(--ov-space) * 2);max-width:100%;margin-inline:auto}.ov-header,.ov-stack{width:100%}.ov-header__title{font-size:clamp(1.35rem,6vw,1.625rem)}.ov-header__sub{font-size:.8125rem}.ov-stat{min-height:0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0 14px;padding:16px}.ov-stat__icon{margin-bottom:0}.ov-stat__label{flex-grow:1;flex-shrink:1;flex-basis:calc(100% - 54px);align-self:center}.ov-stat__value-row{flex:1 1 100%;margin-top:8px}.ov-stat__value{font-size:1.5rem}.ov-stat__foot{flex:1 1 100%;margin-top:4px}.ov-hero__actions{flex-direction:column}.ov-hero__actions .ov-btn{width:100%;min-width:0}.ov-attn__item a{padding:14px 12px;min-height:48px}.ov-row{padding:12px}.ov-row__time{flex:0 0 3.75rem;font-size:.75rem}.ov-row__icon{flex:0 0 36px;width:36px;height:36px}.ov-row__main{flex-grow:1;flex-shrink:1;flex-basis:calc(100% - 7rem);min-width:0}.ov-row__cta{flex:1 1 100%;justify-content:center;margin-left:0;min-height:44px}.ov-row__cta--solid{width:100%;margin-left:0}.ov-ring{--ov-ring-size:clamp(6.5rem,40vw,8rem)}.ov-ring__center strong{font-size:1.4rem}.ov-skel--hero{height:100px}.ov-skel--card{height:240px}.ov-trend--compact{height:80px}.ov-cards-h{grid-auto-columns:minmax(min(10rem,78vw),14rem);-webkit-overflow-scrolling:touch;scroll-padding-inline:2px}}@media (max-width:400px){.dash-layout__main:has(.ov){padding:max(.75rem,env(safe-area-inset-top,0px)) max(.85rem,env(safe-area-inset-right,0px)) max(1.25rem,env(safe-area-inset-bottom,0px)) max(.85rem,env(safe-area-inset-left,0px))}.dash-layout--learner .dash-layout__main:has(.ov){padding-top:.75rem}.ov-hero{padding:calc(var(--ov-space) * 2)}.ov-row__time{flex:0 0 100%;order:-1}.ov-stat__trend{padding:3px 6px;font-size:.6875rem}}@media (max-width:960px){.dash-layout--learner .dash-layout__main:has(.ov),.dash-layout__main:has(.ov){padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px))}.dash-layout--learner .dash-layout__main:has(.ov){padding-top:.75rem;padding-bottom:calc(var(--learner-tabbar-h, 3.65rem) + env(safe-area-inset-bottom, 0px) + .85rem)}.dash-layout--learner .ov-stack,.dash-page-view>.ov .ov-stack{width:100%;max-width:100%;margin-inline:auto}}@media (hover:none){.ov-attn__item a:hover,.ov-btn:hover,.ov-stat:hover,a.ov-stat:hover,button.ov-stat:hover{transform:none}.ov-attn:hover,.ov-hero:hover,.ov-mini-card:hover,.ov-panel:hover,.ov-perf__row:hover,.ov-row:hover,.ov-section:hover{box-shadow:var(--ov-card-shadow)}.ov-row:hover{border-color:transparent;background:var(--ov-bg)}.ov-perf__row:hover{background:transparent}}.dash-page-view{width:100%;max-width:100%;min-width:0;display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box;will-change:opacity,transform;transition:opacity .28s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1)}.dash-page-view.is-enter{opacity:1;transform:translateY(0)}.dash-page-view.is-exit{opacity:0;transform:translateY(10px)}.dash-page-view.is-enter>.ov{animation:none}@media (max-height:500px) and (orientation:landscape){.ov-stat{padding:.75rem 1rem}.ov-split__card,.ov-stat{min-height:0}.ov-split__body{max-height:min(14rem,50vh)}}.dash-layout--superadmin:not(.dash-layout--ops-theme){--admin-bg:#eef1f6;--admin-bg-deep:#e6ebf3;--admin-surface:#ffffff;--admin-ink:#0b1220;--admin-ink-soft:#1e293b;--admin-muted:#64748b;--admin-muted-2:#94a3b8;--admin-line:rgba(15,23,42,0.08);--admin-line-strong:rgba(15,23,42,0.12);--admin-accent:#0e71eb;--admin-accent-hover:#0b5ed7;--admin-accent-soft:rgba(14,113,235,0.1);--admin-accent-ring:rgba(14,113,235,0.22);--admin-ok:#059669;--admin-ok-soft:rgba(5,150,105,0.12);--admin-warn:#d97706;--admin-warn-soft:rgba(217,119,6,0.14);--admin-danger:#dc2626;--admin-radius:16px;--admin-radius-sm:12px;--admin-radius-xs:10px;--admin-shadow:0 1px 2px rgba(15,23,42,0.04),0 10px 28px rgba(15,23,42,0.06);--admin-shadow-lg:0 4px 12px rgba(15,23,42,0.06),0 20px 48px rgba(15,23,42,0.1);--font-admin:var(--font-ops-sans),var(--font-lato),"Helvetica Neue",sans-serif;font-family:var(--font-admin);color:var(--admin-ink);background:radial-gradient(1000px 420px at 8% -8%,rgba(14,113,235,.09),transparent 55%),radial-gradient(780px 360px at 96% 4%,rgba(14,122,55,.05),transparent 50%),linear-gradient(180deg,#f5f7fb 0,var(--admin-bg) 42%,var(--admin-bg-deep) 100%)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .app-sidebar{background:rgba(255,255,255,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-right:1px solid var(--admin-line);box-shadow:1px 0 0 rgba(255,255,255,.65);padding:1.1rem .85rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .app-sidebar__brand{margin-bottom:.35rem;padding:.55rem .85rem 1rem;border-bottom:1px solid var(--admin-line)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .app-sidebar__brand .brand-mark__product{color:var(--admin-accent);letter-spacing:.12em}.dash-layout--superadmin:not(.dash-layout--ops-theme) .app-sidebar__nav{gap:.2rem;padding-top:.35rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .app-sidebar__item{min-height:42px;border-radius:var(--admin-radius-sm);border-left:none;color:var(--admin-muted);font-weight:550;letter-spacing:-.01em;transition:background .16s var(--ease-standard),color .16s var(--ease-standard),box-shadow .16s var(--ease-standard),transform .16s var(--ease-standard)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .app-sidebar__item:hover{background:rgba(15,23,42,.04);color:var(--admin-ink-soft);transform:none}.dash-layout--superadmin:not(.dash-layout--ops-theme) .app-sidebar__item.is-active{background:linear-gradient(135deg,var(--admin-accent) 0,#1769e0 100%);color:#fff;box-shadow:0 6px 16px rgba(14,113,235,.28);font-weight:650}.dash-layout--superadmin:not(.dash-layout--ops-theme) .app-sidebar__item.is-active:hover{background:linear-gradient(135deg,var(--admin-accent-hover) 0,#0e71eb 100%);color:#fff}.dash-layout--superadmin:not(.dash-layout--ops-theme) .app-sidebar__footer{border-top-color:var(--admin-line);gap:.45rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .app-sidebar__user{border-radius:var(--admin-radius-sm);background:rgba(15,23,42,.03);padding:.55rem .7rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .app-sidebar__avatar{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--admin-accent-soft)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .app-sidebar__logout{border-radius:var(--admin-radius-sm)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-layout__main{padding:1.35rem 1.75rem 2.75rem;animation:admin-panel-enter .4s var(--ease-standard) both}@keyframes admin-panel-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-layout__main{animation:none}}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.35rem;padding:.65rem .75rem .65rem .85rem;background:rgba(255,255,255,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--admin-line);border-radius:calc(var(--admin-radius) + 2px);box-shadow:var(--admin-shadow)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-topbar__search{flex:1 1;max-width:420px;min-height:40px;border-radius:999px;border:1px solid var(--admin-line);background:#f8fafc;color:var(--admin-muted);font-weight:500;transition:border-color .15s var(--ease-standard),box-shadow .15s var(--ease-standard),background .15s var(--ease-standard)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-topbar__search:hover{background:#fff;border-color:var(--admin-line-strong)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-topbar__clock{color:var(--admin-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:600}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-topbar__avatar{background:linear-gradient(145deg,#0e71eb,#0ea5e9)!important;box-shadow:0 0 0 2px #fff}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-topbar__user strong{color:var(--admin-ink);font-size:.86rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-topbar__user span{color:var(--admin-muted);font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-page-header,.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-page-header{margin-bottom:1.35rem;align-items:center}.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-page-header h1,.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-page-header h1{font-size:clamp(1.55rem,1.3rem + .8vw,1.9rem);font-weight:750;letter-spacing:-.035em;color:var(--admin-ink);line-height:1.15}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-muted,.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-page-header__sub,.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-page-header__sub{color:var(--admin-muted);font-size:.92rem;line-height:1.45}.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-page-header .admin-muted{margin:.35rem 0 0}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-invite-panel,.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-modal-card,.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-card{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow);padding:1.25rem 1.35rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-invite-panel h2,.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-modal-card h2,.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-card h2{margin:0 0 1rem;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--admin-ink)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.85rem;flex-wrap:wrap;margin-bottom:1rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-search{max-width:420px}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-search__input{min-height:44px;border-radius:999px;border:1px solid var(--admin-line);background:var(--admin-surface);box-shadow:0 1px 2px rgba(15,23,42,.03);font-size:.9rem;color:var(--admin-ink)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-search__input::placeholder{color:var(--admin-muted-2)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-search__input:focus{border-color:var(--admin-accent);box-shadow:0 0 0 4px var(--admin-accent-ring);background:#fff}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-search__icon{color:var(--admin-muted-2)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-field,.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-modal-card>label,.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-card>label,.dash-layout--superadmin:not(.dash-layout--ops-theme) .infra-form-row{display:flex;flex-direction:column;gap:.4rem;margin:0 0 .9rem;font-size:.8rem;font-weight:650;letter-spacing:.01em;color:var(--admin-ink-soft)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-field__label,.dash-layout--superadmin:not(.dash-layout--ops-theme) .infra-form-row>span{font-size:.78rem;font-weight:650;color:var(--admin-muted);text-transform:uppercase;letter-spacing:.05em}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-field__input,.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-modal-card input,.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-modal-card select,.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-modal-card textarea,.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-card input,.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-card select,.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-card textarea,.dash-layout--superadmin:not(.dash-layout--ops-theme) .infra-form-row input,.dash-layout--superadmin:not(.dash-layout--ops-theme) .infra-form-row select,.dash-layout--superadmin:not(.dash-layout--ops-theme) .infra-form-row textarea,.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer input,.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer select,.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer textarea{width:100%;min-height:44px;padding:.6rem .85rem;border:1px solid var(--admin-line-strong);border-radius:var(--admin-radius-xs);background:#f8fafc;color:var(--admin-ink);font:inherit;font-weight:500;transition:border-color .15s var(--ease-standard),box-shadow .15s var(--ease-standard),background .15s var(--ease-standard);-webkit-appearance:none;-moz-appearance:none;appearance:none}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-modal-card textarea,.dash-layout--superadmin:not(.dash-layout--ops-theme) .infra-form-row textarea,.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer textarea{min-height:88px;resize:vertical;line-height:1.45}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-field__input:hover,.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-modal-card input:hover,.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-card input:hover,.dash-layout--superadmin:not(.dash-layout--ops-theme) .infra-form-row input:hover,.dash-layout--superadmin:not(.dash-layout--ops-theme) .infra-form-row select:hover,.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer input:hover,.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer select:hover{border-color:rgba(14,113,235,.35);background:#fff}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-field__input:focus,.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-modal-card input:focus,.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-modal-card select:focus,.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-modal-card textarea:focus,.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-card input:focus,.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-card select:focus,.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-card textarea:focus,.dash-layout--superadmin:not(.dash-layout--ops-theme) .infra-form-row input:focus,.dash-layout--superadmin:not(.dash-layout--ops-theme) .infra-form-row select:focus,.dash-layout--superadmin:not(.dash-layout--ops-theme) .infra-form-row textarea:focus,.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer input:focus,.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer select:focus,.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer textarea:focus{outline:none;border-color:var(--admin-accent);background:#fff;box-shadow:0 0 0 4px var(--admin-accent-ring)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-invite-panel{margin-bottom:1.1rem;animation:admin-panel-enter .28s var(--ease-standard) both}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-invite-panel__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.85rem 1rem;gap:.85rem 1rem}@media (max-width:720px){.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-invite-panel__grid{grid-template-columns:1fr}}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-invite-panel__grid .admin-field{margin:0}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-form-actions,.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.35rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn{min-height:40px;padding:.5rem 1rem;border-radius:10px;font-size:.875rem;font-weight:600;letter-spacing:-.01em;border:1px solid transparent;box-shadow:none;transition:background .14s var(--ease-standard),color .14s var(--ease-standard),border-color .14s var(--ease-standard),box-shadow .14s var(--ease-standard),transform .12s var(--ease-standard)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn--compact{min-height:36px;padding:.4rem .85rem;font-size:.84rem;border-radius:10px}.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn--pill{border-radius:10px}.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn--primary{background:var(--admin-accent);color:#fff;border-color:transparent;box-shadow:0 1px 2px rgba(14,113,235,.2);filter:none}.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn--primary:hover:not(:disabled){background:var(--admin-accent-hover);filter:none;box-shadow:0 2px 8px rgba(14,113,235,.28);transform:none}.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn--primary:active:not(:disabled){transform:scale(.98);box-shadow:none}.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn--outline-primary,.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn--secondary{background:var(--admin-accent-soft);color:var(--admin-accent);border-color:transparent;box-shadow:none}.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn--outline-primary:hover:not(:disabled),.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn--secondary:hover:not(:disabled){background:rgba(14,113,235,.16);color:var(--admin-accent-hover);border-color:transparent;box-shadow:none}.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn--ghost,.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn--ghost-light{background:#f1f5f9;color:#334155;border-color:transparent;box-shadow:none}.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn--ghost-light:hover:not(:disabled),.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn--ghost:hover:not(:disabled){background:#e2e8f0;color:#0f172a;border-color:transparent}.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn--danger{background:#fef2f2;color:#b91c1c;border-color:transparent}.dash-layout--superadmin:not(.dash-layout--ops-theme) .btn--danger:hover:not(:disabled){background:#fee2e2;color:#991b1b}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-topbar__action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.35rem .8rem;border:none;border-radius:8px;background:#f1f5f9;color:#475569;font:inherit;font-size:.8rem;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:background .14s var(--ease-standard),color .14s var(--ease-standard)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-topbar__action:hover{background:#e2e8f0;color:#0f172a}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-topbar__action.is-active{background:var(--admin-accent-soft);color:var(--admin-accent)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-filter-chips{display:inline-flex;flex-wrap:wrap;gap:.25rem;padding:.2rem;border-radius:10px;background:#f1f5f9}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-chip{min-height:32px;padding:.3rem .85rem;border:none;border-radius:8px;background:transparent;color:#64748b;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .14s var(--ease-standard),color .14s var(--ease-standard),box-shadow .14s var(--ease-standard)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-chip:hover{color:#0f172a;background:rgba(255,255,255,.7)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-chip.is-active{background:#fff;color:var(--admin-accent);box-shadow:0 1px 2px rgba(15,23,42,.08)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-media-tags{display:inline-flex;flex-wrap:wrap;gap:.3rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-media-tag{display:inline-flex;align-items:center;min-height:24px;padding:.15rem .55rem;border-radius:6px;background:#f1f5f9;color:#475569;font-size:.72rem;font-weight:650;letter-spacing:.01em}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-status-pill{min-height:24px;padding:.15rem .6rem;border-radius:6px;letter-spacing:.01em;border:none}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-modal__foot{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;padding:1rem 1.15rem;border-top:1px solid var(--admin-line);background:#f8fafc}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-modal__foot .btn{min-width:0}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-table-wrap--modern,.dash-layout--superadmin:not(.dash-layout--ops-theme) .attendance-table-wrap{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow);overflow:hidden}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-table--modern th{padding:.95rem 1.15rem;font-size:.7rem;font-weight:700;letter-spacing:.07em;color:var(--admin-muted);background:linear-gradient(180deg,#fbfcfe,#f4f6fa);border-bottom:1px solid var(--admin-line)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-table--modern td{padding:1rem 1.15rem;border-bottom:1px solid rgba(15,23,42,.045)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-table--modern tbody tr:last-child td{border-bottom:none}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-table__row{transition:background .14s var(--ease-standard)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-table__row:hover{background:linear-gradient(90deg,rgba(14,113,235,.05),rgba(14,113,235,.02))}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-avatar{width:40px;height:40px;font-size:.88rem;box-shadow:0 0 0 2px #fff,0 2px 8px rgba(15,23,42,.12)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-user-cell__text strong{font-size:.94rem;font-weight:650;letter-spacing:-.015em;color:var(--admin-ink)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-user-cell__text span{font-size:.8rem;color:var(--admin-muted)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-status-pill{min-height:26px;padding:0 .7rem;font-size:.72rem;font-weight:700;letter-spacing:.02em;border:1px solid transparent}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-status-pill--ok{background:var(--admin-ok-soft);color:var(--admin-ok);border-color:rgba(5,150,105,.18)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-status-pill--warn{background:var(--admin-warn-soft);color:#b45309;border-color:rgba(217,119,6,.2)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-status-pill--muted{background:#f1f5f9;color:#64748b;border-color:rgba(100,116,139,.15)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-strong-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;color:var(--admin-ink)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-muted-num{color:var(--admin-muted-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-class-grid{display:flex;flex-direction:column;gap:.75rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .class-card{border-radius:var(--admin-radius);border:1px solid var(--admin-line);box-shadow:var(--admin-shadow);background:var(--admin-surface);padding:1.15rem 1.25rem;transition:transform .18s var(--ease-standard),box-shadow .18s var(--ease-standard),border-color .18s var(--ease-standard)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .class-card:hover{transform:translateY(-2px);border-color:rgba(14,113,235,.2);box-shadow:var(--admin-shadow-lg)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .class-card--live{border-left:4px solid #ef4444;background:linear-gradient(90deg,rgba(239,68,68,.07),transparent 42%),var(--admin-surface)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .class-card__title{font-size:1.06rem;font-weight:700;letter-spacing:-.02em;color:var(--admin-ink)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .class-card__meta{color:var(--admin-muted)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer-backdrop{background:rgba(11,18,32,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer{width:min(440px,100vw);background:var(--admin-surface);color:var(--admin-ink);border-left:1px solid var(--admin-line);box-shadow:-16px 0 48px rgba(15,23,42,.18);animation:admin-drawer-in .22s var(--ease-standard)}@keyframes admin-drawer-in{0%{transform:translateX(18px);opacity:.6}to{transform:translateX(0);opacity:1}}@media (prefers-reduced-motion:reduce){.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer{animation:none}}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer__head{padding:1.15rem 1.25rem;border-bottom:1px solid var(--admin-line);background:linear-gradient(180deg,#fbfcfe,#fff)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer__head h2{font-size:1.12rem;font-weight:750;letter-spacing:-.025em}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer__body{padding:1.15rem 1.25rem 1.5rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer .infra-settings-form{max-width:none;gap:.95rem;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-drawer .infra-settings-form .btn--primary{width:100%;margin-top:.35rem;min-height:46px;border-radius:var(--radius-pill)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-view-toggle{display:inline-flex;padding:.2rem;gap:.15rem;border-radius:999px;background:#e8edf5;border:1px solid var(--admin-line)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-view-toggle button{min-height:36px;padding:.35rem .9rem;border-radius:999px;border:none;background:transparent;color:var(--admin-muted);font-size:.85rem;font-weight:650;transition:background .14s var(--ease-standard),color .14s var(--ease-standard),box-shadow .14s var(--ease-standard)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-view-toggle button.is-active{background:#fff;color:var(--admin-ink);box-shadow:0 1px 3px rgba(15,23,42,.1)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-chart-card,.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-quick-link-card,.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-stat-card{border-radius:var(--admin-radius);border:1px solid var(--admin-line);box-shadow:var(--admin-shadow);background:var(--admin-surface)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-quick-link-card:hover,.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-stat-card:hover{border-color:rgba(14,113,235,.22);box-shadow:var(--admin-shadow-lg)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .empty-state{border-radius:var(--admin-radius);border:1.5px dashed rgba(100,116,139,.35);background:rgba(255,255,255,.7);padding:2.75rem 1.5rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-inline-msg{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 1rem;padding:.65rem .9rem;border-radius:var(--admin-radius-sm);background:var(--admin-accent-soft);color:var(--admin-accent-hover);font-weight:600;font-size:.88rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-filter-bar{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-filter-chip{min-height:34px;padding:.3rem .85rem;border-radius:999px;border:1px solid var(--admin-line);background:#fff;color:var(--admin-muted);font-size:.82rem;font-weight:650;cursor:pointer;transition:background .14s var(--ease-standard),color .14s var(--ease-standard),border-color .14s var(--ease-standard)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-filter-chip.is-active,.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-filter-chip:hover{border-color:rgba(14,113,235,.35);color:var(--admin-accent);background:var(--admin-accent-soft)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-toolbar--reports{padding:.75rem .9rem;background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-filter{display:flex;align-items:center;gap:.55rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-filter__label{font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--admin-muted)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-filter__select{min-height:38px;padding:.35rem 2rem .35rem .75rem;border-radius:999px;border:1px solid var(--admin-line-strong);background:#f8fafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .75rem center;font:inherit;font-weight:600;color:var(--admin-ink);-webkit-appearance:none;-moz-appearance:none;appearance:none}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-filter__select:focus{outline:none;border-color:var(--admin-accent);box-shadow:0 0 0 4px var(--admin-accent-ring);background-color:#fff}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-toggle{display:inline-flex;align-items:center;gap:.55rem;min-height:38px;padding:.35rem .75rem;border-radius:999px;border:1px solid var(--admin-line);background:#f8fafc;color:var(--admin-ink-soft);font-size:.85rem;font-weight:600;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-toggle input{width:1rem;height:1rem;accent-color:var(--admin-accent);margin:0}.dash-layout--superadmin:not(.dash-layout--ops-theme) .admin-code{font-family:var(--font-mono);font-size:.82em;padding:.1rem .35rem;border-radius:6px;background:#f1f5f9;color:var(--admin-ink-soft)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-layout__main>p>a{color:var(--admin-muted);font-weight:600;font-size:.88rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-layout__main>p>a:hover{color:var(--admin-accent)}.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-card+.dash-card,.dash-layout--superadmin:not(.dash-layout--ops-theme) section.dash-card{margin-top:1rem}@media (max-width:768px){.dash-layout--superadmin:not(.dash-layout--ops-theme) .dash-layout__main{padding:1rem .9rem 2rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-topbar{flex-wrap:wrap;padding:.55rem}.dash-layout--superadmin:not(.dash-layout--ops-theme) .ops-topbar__search{max-width:none;order:3;width:100%}}