@charset "UTF-8";:root{--c-primary: #195998;--c-accent: #0873F6;--c-accent-soft: #A9C7FB;--c-accent-strong: #081B7A;--c-accent-alt: #00CCFF;--c-cta: #195998;--c-warning: #F3A22A;--c-highlight: #F6D07A;--c-danger: #D81A1A;--c-info: #1D3BC8;--c-on-primary: #FFFFFF;--c-white: #FFFFFF;--c-black: #000000;--c-bg: #FFFFFF;--c-surface: #FFFFFF;--c-surface-muted: #F5F5F5;--c-surface-strong: #E7E7E7;--c-surface-soft: #EEF6F2;--c-surface-alt: #D9ECDF;--c-surface-contrast: #F2F6FF;--c-border: #97A7FF;--c-border-soft: #B9C4FF;--c-border-accent: #A9C7FB;--c-border-strong: #9A9A9A;--c-text: #195998;--c-text-strong: #2B2B2B;--c-text-dark: #333333;--c-text-medium: #444444;--c-text-muted: #666666;--c-text-subtle: #5A5A5A;--c-text-soft: #505050;--c-text-faint: #8D8D8D;--c-text-deep: #3B3B3B;--c-link-strong: #1E3A8A;--c-shadow-soft: rgba(0, 0, 0, .06);--c-shadow: rgba(0, 0, 0, .1);--c-shadow-strong: rgba(0, 0, 0, .18);--c-overlay: rgba(0, 0, 0, .25);--c-ink-55: rgba(0, 0, 0, .55);--c-ink-60: rgba(0, 0, 0, .6);--c-ink-65: rgba(0, 0, 0, .65);--c-ink-75: rgba(0, 0, 0, .75);--c-primary-soft: rgba(25, 89, 152, .06);--f-brand: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--f-base: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--r-card: 12px;--r-xl: 14px;--r-2xl: 18px;--r-pill: 999px;--r-circle: 50%}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--c-bg)}a{color:inherit;text-decoration:none}h1,h2,h3,.brand-title{font-family:var(--f-brand);color:var(--c-primary);letter-spacing:.02em}body,button,input,textarea{font-family:var(--f-base);color:var(--c-text)}html{height:100%;--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #0001ac);--mat-sys-on-tertiary-container: light-dark(#0000ef, #e0e0ff);--mat-sys-on-tertiary-fixed: light-dark(#00006e, #00006e);--mat-sys-on-tertiary-fixed-variant: light-dark(#0000ef, #0000ef);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#343dff, #bec2ff);--mat-sys-tertiary-container: light-dark(#e0e0ff, #0000ef);--mat-sys-tertiary-fixed: light-dark(#e0e0ff, #e0e0ff);--mat-sys-tertiary-fixed-dim: light-dark(#bec2ff, #bec2ff);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}.manual-item__text,.video-content__text{min-width:0;max-width:100%}:where(.manual-item__text,.video-content__text) :where(picture,figure){display:block;max-width:100%;margin-inline:auto}:where(.manual-item__text,.video-content__text) img{display:block;width:auto!important;max-width:100%!important;height:auto!important;object-fit:contain;margin-inline:auto}body{color-scheme:light;background-color:var(--mat-sys-surface);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);margin:0;height:100%}.fullpage-backdrop{background:#0000008c}.fullpage-dialog{width:100vw;height:100vh;max-width:100vw;max-height:100vh;margin:0;border-radius:0;padding:0}.quiz-report-backdrop{background:#081b7a59}.quiz-report-panel{padding:0;border-radius:var(--r-md);background:transparent}.required-marker{color:var(--c-danger, #d92d20);font-weight:900}.required-label:after{content:"\a0*";color:var(--c-danger, #d92d20);font-weight:900}.required-note{margin:0 0 12px;color:var(--c-text-muted);font-size:.9rem;font-weight:700}.gamification-card{gap:.9rem}.gamification-grid,.student-gamification-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.gamification-section,.student-gamification-detail>section{display:grid;align-content:start;gap:.65rem;min-width:0;border:1px solid var(--c-border-soft);border-radius:8px;background:color-mix(in srgb,var(--c-primary) 3%,var(--c-white));padding:.9rem}.gamification-section h3,.gamification-section p,.student-gamification-detail>section h3,.student-gamification-detail>section p{margin:0}.gamification-section h3,.student-gamification-detail>section h3{color:var(--c-primary);font-size:1rem}.gamification-section--badges,.student-gamification-detail__badges{grid-column:1/-1}.gamification-metrics{display:flex;align-items:baseline;gap:.55rem 1rem;flex-wrap:wrap;color:var(--c-text-muted);font-size:.9rem}.gamification-metrics strong{color:var(--c-text-strong)}.final-goal__heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.competency-badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.7rem}.competency-badge{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:start;border:1px solid color-mix(in srgb,var(--c-primary) 24%,var(--c-border-soft));border-radius:8px;background:var(--c-white);padding:.75rem}.competency-badge div{display:grid;gap:.25rem;min-width:0}.competency-badge strong{color:var(--c-primary)}.competency-badge p{color:var(--c-text-medium)}.competency-badge div>span{color:var(--c-text-muted);font-size:.85rem;font-weight:800}.competency-badge__icon{display:inline-grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:50%;background:color-mix(in srgb,#d99b16 18%,var(--c-white));color:#9b6800;font-size:1.4rem}.student-gamification-detail{margin:.85rem 0}.driving-school-card__gamification{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.driving-school-card__gamification span{display:grid;gap:.2rem;min-width:0;border:1px solid var(--c-border-soft);border-radius:8px;background:color-mix(in srgb,var(--c-primary) 4%,var(--c-white));color:var(--c-text-muted);padding:.5rem;font-size:.78rem;font-weight:800}.driving-school-card__gamification strong{color:var(--c-text-strong);font-size:.95rem;overflow-wrap:anywhere}@media(max-width:860px){.gamification-grid,.student-gamification-detail{grid-template-columns:1fr}.gamification-section--badges,.student-gamification-detail__badges{grid-column:auto}.competency-badges{grid-template-columns:1fr}.driving-school-card__gamification{grid-template-columns:repeat(2,minmax(0,1fr))}}.driving-school-card__risk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;border-top:1px solid var(--c-border-soft);padding-top:.75rem}.driving-school-card__risk span{display:grid;gap:.2rem;min-width:0;color:var(--c-text-muted);font-size:.76rem;font-weight:800;line-height:1.2}.driving-school-card__risk strong{color:var(--c-text-strong);font-size:1rem}.dashboard-panel__heading--filter{align-items:end}.risk-filter{display:grid;gap:.3rem;min-width:min(240px,100%);color:var(--c-text-muted);font-size:.78rem;font-weight:800}.risk-filter select{min-height:40px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-white);padding:.45rem 2rem .45rem .65rem;color:var(--c-text-strong);font:inherit}.risk-priority{display:grid;gap:.75rem}.risk-priority__list{display:grid;border-top:1px solid var(--c-border-soft)}.risk-student{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(88px,auto) minmax(420px,2.2fr) minmax(180px,1fr) auto;gap:.8rem;align-items:center;border-bottom:1px solid var(--c-border-soft);padding:.8rem 0}.risk-student:last-child{border-bottom:0}.risk-student__identity{display:grid;gap:.15rem;min-width:0}.risk-student__identity strong,.risk-student__identity span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.risk-student__identity strong{color:var(--c-text-strong)}.risk-student__identity span{color:var(--c-text-muted);font-size:.82rem}.risk-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:28px;border-radius:999px;padding:.3rem .65rem;font-size:.78rem;font-weight:900;line-height:1;white-space:nowrap}.risk-critical{background:color-mix(in srgb,#d71920 14%,var(--c-white));color:#b5161b}.risk-high{background:color-mix(in srgb,#e56b00 16%,var(--c-white));color:#a74b00}.risk-medium{background:color-mix(in srgb,#e5aa00 20%,var(--c-white));color:#715300}.risk-none{background:color-mix(in srgb,#16803c 12%,var(--c-white));color:#126c34}.risk-student__metrics{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:.6rem;margin:0}.risk-student__metrics div{display:grid;gap:.15rem;min-width:0}.risk-student__metrics dt{color:var(--c-text-muted);font-size:.7rem;font-weight:900;text-transform:uppercase}.risk-student__metrics dd{margin:0;color:var(--c-text-strong);font-size:.86rem;font-weight:800;line-height:1.25}.risk-reasons{display:flex;flex-wrap:wrap;gap:.35rem}.risk-reason{overflow:hidden;max-width:180px;border:1px solid var(--c-border-soft);border-radius:999px;padding:.28rem .55rem;background:var(--c-white);color:var(--c-text-medium);font-size:.73rem;font-weight:800;line-height:1;text-overflow:ellipsis;white-space:nowrap}.risk-student__actions{display:flex;align-items:center;justify-content:flex-end;gap:.35rem}.risk-indicator{display:grid;justify-items:start;gap:.25rem}.risk-indicator small{color:var(--c-text-muted);font-size:.72rem;white-space:nowrap}.risk-indicator.is-active small{color:var(--c-text-strong);font-weight:800}.risk-card--high{border-color:color-mix(in srgb,#e56b00 36%,var(--c-border-soft))}.risk-card--inactive,.risk-card--declining{border-color:color-mix(in srgb,#e5aa00 35%,var(--c-border-soft))}.risk-card--confidence{border-color:color-mix(in srgb,#d71920 30%,var(--c-border-soft))}@media(max-width:860px){.driving-school-card__risk{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-panel__heading--filter{align-items:stretch;flex-direction:column}.risk-filter{width:100%}.risk-student{grid-template-columns:minmax(0,1fr) auto}.risk-student__metrics,.risk-reasons{grid-column:1/-1}.risk-student__actions{grid-column:1/-1;justify-content:flex-start}}
