@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";:root{--font-heading: "Plus Jakarta Sans", Inter, system-ui, sans-serif;--font-body: Inter, system-ui, sans-serif;--font-ui: Inter, system-ui, sans-serif;--font-button: Inter, system-ui, sans-serif;--font-form: Inter, system-ui, sans-serif;--font-report: Merriweather, Georgia, serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--layout-content-max: 86rem;--layout-page-padding-x: clamp(.75rem, 1.6vw, 1.35rem);--layout-page-padding-y: clamp(.9rem, 1.5vw, 1.25rem);--layout-section-gap: clamp(.85rem, 1.4vw, 1.1rem);--label-font-size: .8125rem;--label-font-size-small: .75rem;--label-font-size-strong: .875rem;--label-line-height: 1.25;--label-font-weight: 700;--label-font-weight-strong: 850;--label-padding-y: .3125rem;--label-padding-x: .625rem;--label-padding-y-compact: .25rem;--label-padding-x-compact: .55rem;--label-radius: 999px;--intranet-card-title: #111827;--intranet-card-subtitle: #374151;--intranet-card-link: #073b73;--intranet-card-bg: #eaf4ff;--intranet-card-active-bg: #fff4e5;--intranet-card-border: #bfd7f2;--import-stat-title: #111827;--import-stat-label: #374151;--import-stat-value: #111827;--import-stat-muted: #4b5563;--import-stat-bg: #eaf4ff;--import-stat-border: #bfd7f2;--group-card-title: #111827;--group-card-route: #374151;--group-card-meta: #4b5563;--group-card-status: #111827;--group-card-bg: #eaf4ff;--group-card-border: #bfd7f2;--colored-card-bg: #ffffff;--colored-card-title: #111827;--colored-card-text: #374151;--colored-card-muted: #4b5563;--colored-card-border: #d9e2ec;--critical-card-bg: #fff4e5;--critical-card-title: #7c2d12;--critical-card-text: #9a3412;--critical-card-border: #fed7aa;--success-card-bg: #eafbf1;--success-card-title: #14532d;--success-card-text: #166534;--success-card-border: #bbf7d0;--info-card-bg: #eaf4ff;--info-card-title: #1e3a8a;--info-card-text: #1d4ed8;--info-card-border: #bfdbfe;--icon-size-header: 22px;--icon-size-menu: 22px;--icon-button-size: 36px;--theme-light-page-bg: #f6f8fb;--theme-light-card-bg: #ffffff;--theme-light-card-raised-bg: #ffffff;--theme-light-header-bg: #ffffff;--theme-light-menu-bg: #0b5cad;--theme-light-menu-bg-strong: #073b73;--theme-light-primary-text: #111827;--theme-light-secondary-text: #4b5563;--theme-light-muted-text: #6b7280;--theme-light-border: #d9e2ec;--theme-light-border-subtle: #e8eef5;--theme-light-button-dark-bg: #0b5cad;--theme-light-button-dark-text: #ffffff;--theme-light-button-dark-icon: #ffffff;--theme-light-button-dark-hover-bg: #073b73;--theme-light-button-dark-active-bg: #073b73;--theme-light-button-light-bg: #ffffff;--theme-light-button-light-text: #0b5cad;--theme-light-button-light-icon: #0b5cad;--theme-light-button-light-hover-bg: #eaf4ff;--theme-light-badge-bg: #f3f4f6;--theme-light-badge-text: #111827;--theme-light-popup-bg: #ffffff;--theme-light-form-bg: #ffffff;--theme-light-form-text: #111827;--theme-light-select-bg: #ffffff;--theme-light-select-text: #111827;--theme-light-icon: #111827;--theme-light-focus: #0b5cad;--theme-dark-prep-page-bg: #0f1720;--theme-dark-prep-card-bg: #17212b;--theme-dark-prep-card-raised-bg: #1d2a36;--theme-dark-prep-header-bg: #111c26;--theme-dark-prep-menu-bg: #0b5cad;--theme-dark-prep-menu-bg-strong: #073b73;--theme-dark-prep-primary-text: #f7fbff;--theme-dark-prep-secondary-text: #d8e4ee;--theme-dark-prep-muted-text: #aab8c5;--theme-dark-prep-border: #314457;--theme-dark-prep-border-subtle: #243545;--theme-dark-prep-button-dark-bg: #1f78c1;--theme-dark-prep-button-dark-text: #ffffff;--theme-dark-prep-button-dark-icon: #ffffff;--theme-dark-prep-button-light-bg: #253746;--theme-dark-prep-button-light-text: #f7fbff;--theme-dark-prep-button-light-icon: #f7fbff;--theme-dark-prep-badge-bg: #2a3440;--theme-dark-prep-badge-text: #f7fbff;--theme-dark-prep-popup-bg: #1d2a36;--theme-dark-prep-form-bg: #17212b;--theme-dark-prep-form-text: #f7fbff;--theme-dark-prep-select-bg: #17212b;--theme-dark-prep-select-text: #f7fbff;--theme-dark-prep-icon: #f7fbff;--theme-dark-prep-focus: #7dd3fc;--color-orange: #c2410c;--color-orange-dark: #c2410c;--color-orange-soft: #fff4e5;--color-blue: #0b5cad;--color-blue-dark: var(--theme-light-menu-bg);--color-blue-soft: #eaf4ff;--color-blue-faint: #f6f8fb;--color-white: var(--theme-light-card-raised-bg);--color-background: var(--theme-light-page-bg);--color-surface: var(--theme-light-card-bg);--color-border: var(--theme-light-border);--color-text-primary: var(--theme-light-primary-text);--color-text-secondary: var(--theme-light-secondary-text);--color-text-muted: var(--theme-light-muted-text);--color-text-on-card: var(--theme-light-primary-text);--color-text-on-button: var(--theme-light-primary-text);--color-text-on-badge: var(--theme-light-badge-text);--color-ink-on-dark: var(--theme-light-button-dark-text);--color-icon: var(--theme-light-icon);--color-text: var(--color-text-primary);--color-muted: var(--color-text-muted);--surface-page: var(--theme-light-page-bg);--surface-card: var(--theme-light-card-bg);--surface-card-raised: var(--theme-light-card-raised-bg);--surface-header: var(--theme-light-header-bg);--surface-menu: var(--theme-light-menu-bg);--surface-menu-strong: var(--theme-light-menu-bg-strong);--surface-subtle: #f6f8fb;--surface-accent-blue: #eaf4ff;--surface-accent-orange: #fff4e5;--surface-input: #ffffff;--text-on-surface: var(--color-text-primary);--text-on-contrast: var(--color-text-primary);--surface-map-start: var(--color-white);--surface-map-end: #f7fbff;--text-page: var(--text-on-surface);--text-card: var(--text-on-surface);--text-on-soft-card: var(--text-on-surface);--text-on-menu: var(--color-ink-on-dark);--text-secondary-surface: var(--color-text-secondary);--text-muted-surface: var(--color-text-muted);--border-strong: var(--theme-light-border);--border-subtle: var(--theme-light-border-subtle);--control-bg: var(--theme-light-form-bg);--control-text: var(--theme-light-form-text);--control-border: var(--border-strong);--control-hover-bg: #eaf4ff;--control-active-bg: #eaf4ff;--accent-blue-border: #bfd7f2;--accent-orange-border: transparent;--button-dark-bg: var(--theme-light-button-dark-bg);--button-dark-text: var(--theme-light-button-dark-text);--button-dark-icon: var(--theme-light-button-dark-icon);--button-dark-border: var(--theme-light-button-dark-bg);--button-dark-hover-bg: var(--theme-light-button-dark-hover-bg);--button-dark-hover-text: var(--theme-light-button-dark-text);--button-dark-active-bg: var(--theme-light-button-dark-active-bg);--button-dark-active-text: var(--theme-light-button-dark-text);--button-light-bg: var(--theme-light-button-light-bg);--button-light-text: var(--theme-light-button-light-text);--button-light-icon: var(--theme-light-button-light-icon);--button-light-border: var(--accent-blue-border);--button-light-hover-bg: var(--theme-light-button-light-hover-bg);--button-light-hover-text: var(--theme-light-button-light-text);--button-border: var(--button-dark-border);--button-hover-bg: var(--button-dark-hover-bg);--button-active-bg: var(--button-dark-active-bg);--badge-bg: var(--theme-light-badge-bg);--badge-text: var(--theme-light-badge-text);--popup-surface: var(--theme-light-popup-bg);--link-text: var(--color-text-primary);--button-text: var(--button-dark-text);--selected-card-text: var(--color-text-primary);--icon-on-surface: var(--color-icon);--active-text: var(--color-text-primary);--page-bg: var(--surface-page);--card-bg: var(--surface-card);--header-bg: var(--surface-header);--text-primary: var(--text-page);--text-secondary: var(--text-secondary-surface);--text-muted: var(--text-muted-surface);--border-color: var(--border-strong);--input-bg: var(--control-bg);--input-text: var(--control-text);--input-border: var(--control-border);--select-bg: var(--theme-light-select-bg);--select-text: var(--theme-light-select-text);--button-bg: var(--button-dark-bg);--button-fixed-height: 2.35rem;--button-fixed-padding-x: .75rem;--hover-bg: var(--control-hover-bg);--focus-ring: var(--theme-light-focus);--success-color: var(--color-text-primary);--warning-color: var(--color-text-primary);--error-color: var(--color-text-primary);--link-color: var(--link-text);--icon-color: var(--icon-on-surface);--popup-bg: var(--popup-surface);--table-row-bg: var(--surface-card);--route-category-intake-bg: #f3e8ff;--route-category-intake-text: #6b21a8;--route-category-intake-border: transparent;--route-category-intake-accent: #7e22ce;--route-category-starttoets-bg: #eaf4ff;--route-category-starttoets-text: #1d4ed8;--route-category-starttoets-border: transparent;--route-category-starttoets-accent: #2563eb;--route-category-methodetoets-bg: #eafbf1;--route-category-methodetoets-text: #166534;--route-category-methodetoets-border: transparent;--route-category-methodetoets-accent: #15803d;--route-category-ice-toets-bg: #fff4e5;--route-category-ice-toets-text: #9a3412;--route-category-ice-toets-border: transparent;--route-category-ice-toets-accent: #c2410c;--route-category-eindtoets-bg: #fdecef;--route-category-eindtoets-text: #9f1239;--route-category-eindtoets-border: transparent;--route-category-eindtoets-accent: #be123c;--nav-bg: var(--surface-menu);--nav-bg-strong: var(--surface-menu-strong);--nav-text: var(--text-on-menu);--nav-muted: #dbeafe;--nav-border: transparent;--nav-hover-bg: #0a4f96;--nav-active-bg: transparent;--nav-accent: #7dd3fc;--status-complete-bg: #eafbf1;--status-complete-border: transparent;--status-complete-accent: #166534;--status-busy-bg: #eaf4ff;--status-busy-border: transparent;--status-busy-accent: #1d4ed8;--status-open-bg: #f3f4f6;--status-open-border: transparent;--status-open-accent: #374151;--status-action-bg: #fff4e5;--status-action-border: transparent;--status-action-accent: #9a3412;--status-failed-bg: #fee2e2;--status-failed-border: transparent;--status-failed-accent: #b91c1c;--shadow-card: 0 14px 32px rgb(16 76 127 / .08);--shadow-panel: 0 20px 48px rgb(16 76 127 / .1);font-family:var(--font-body)}:root.theme-dark-dev,body.theme-dark-dev,.theme-dark-dev{--color-white: var(--theme-dark-prep-card-raised-bg);--color-background: var(--theme-dark-prep-page-bg);--color-surface: var(--theme-dark-prep-card-bg);--color-border: var(--theme-dark-prep-border);--color-text-primary: var(--theme-dark-prep-primary-text);--color-text-secondary: var(--theme-dark-prep-secondary-text);--color-text-muted: var(--theme-dark-prep-muted-text);--color-text-on-card: var(--theme-dark-prep-primary-text);--color-text-on-button: var(--theme-dark-prep-primary-text);--color-text-on-badge: var(--theme-dark-prep-badge-text);--color-icon: var(--theme-dark-prep-icon);--color-text: var(--theme-dark-prep-primary-text);--color-muted: var(--theme-dark-prep-muted-text);--surface-page: var(--theme-dark-prep-page-bg);--surface-card: var(--theme-dark-prep-card-bg);--surface-card-raised: var(--theme-dark-prep-card-raised-bg);--surface-header: var(--theme-dark-prep-header-bg);--surface-input: var(--theme-dark-prep-form-bg);--text-on-surface: var(--theme-dark-prep-primary-text);--text-on-contrast: var(--theme-dark-prep-primary-text);--surface-map-start: var(--theme-dark-prep-card-bg);--surface-map-end: var(--theme-dark-prep-header-bg);--text-page: var(--theme-dark-prep-primary-text);--text-card: var(--theme-dark-prep-primary-text);--text-on-soft-card: var(--theme-dark-prep-primary-text);--text-secondary-surface: var(--theme-dark-prep-secondary-text);--text-muted-surface: var(--theme-dark-prep-muted-text);--border-strong: var(--theme-dark-prep-border);--border-subtle: var(--theme-dark-prep-border-subtle);--control-bg: var(--theme-dark-prep-form-bg);--control-text: var(--theme-dark-prep-form-text);--control-border: var(--theme-dark-prep-border);--control-hover-bg: color-mix(in srgb, var(--theme-dark-prep-form-bg) 82%, var(--theme-dark-prep-focus));--control-active-bg: color-mix(in srgb, var(--theme-dark-prep-form-bg) 76%, var(--theme-dark-prep-focus));--button-light-bg: var(--theme-dark-prep-button-light-bg);--button-light-text: var(--theme-dark-prep-button-light-text);--button-light-icon: var(--theme-dark-prep-button-light-icon);--button-light-border: var(--theme-dark-prep-border);--button-light-hover-bg: color-mix(in srgb, var(--theme-dark-prep-button-light-bg) 78%, var(--theme-dark-prep-focus));--button-light-hover-text: var(--theme-dark-prep-button-light-text);--intranet-card-title: #111827;--intranet-card-subtitle: #374151;--intranet-card-link: #073b73;--intranet-card-bg: #eaf4ff;--intranet-card-active-bg: #fff4e5;--intranet-card-border: #bfd7f2;--import-stat-title: var(--theme-dark-prep-primary-text);--import-stat-label: var(--theme-dark-prep-secondary-text);--import-stat-value: var(--theme-dark-prep-primary-text);--import-stat-muted: var(--theme-dark-prep-muted-text);--import-stat-bg: var(--theme-dark-prep-card-raised-bg);--import-stat-border: var(--theme-dark-prep-border);--group-card-title: var(--theme-dark-prep-primary-text);--group-card-route: var(--theme-dark-prep-secondary-text);--group-card-meta: var(--theme-dark-prep-muted-text);--group-card-status: var(--theme-dark-prep-primary-text);--group-card-bg: var(--theme-dark-prep-card-raised-bg);--group-card-border: var(--theme-dark-prep-border);--colored-card-bg: var(--theme-dark-prep-card-raised-bg);--colored-card-title: var(--theme-dark-prep-primary-text);--colored-card-text: var(--theme-dark-prep-secondary-text);--colored-card-muted: var(--theme-dark-prep-muted-text);--colored-card-border: var(--theme-dark-prep-border);--critical-card-bg: #3b2415;--critical-card-title: #fed7aa;--critical-card-text: #fdba74;--critical-card-border: #9a3412;--success-card-bg: #143322;--success-card-title: #bbf7d0;--success-card-text: #86efac;--success-card-border: #166534;--info-card-bg: #132a46;--info-card-title: #bfdbfe;--info-card-text: #93c5fd;--info-card-border: #2563eb;--badge-bg: var(--theme-dark-prep-badge-bg);--badge-text: var(--theme-dark-prep-badge-text);--popup-surface: var(--theme-dark-prep-popup-bg);--link-text: var(--theme-dark-prep-primary-text);--selected-card-text: var(--theme-dark-prep-primary-text);--icon-on-surface: var(--theme-dark-prep-icon);--active-text: var(--theme-dark-prep-primary-text);--page-bg: var(--theme-dark-prep-page-bg);--card-bg: var(--theme-dark-prep-card-bg);--header-bg: var(--theme-dark-prep-header-bg);--text-primary: var(--theme-dark-prep-primary-text);--text-secondary: var(--theme-dark-prep-secondary-text);--text-muted: var(--theme-dark-prep-muted-text);--border-color: var(--theme-dark-prep-border);--input-bg: var(--theme-dark-prep-form-bg);--input-text: var(--theme-dark-prep-form-text);--input-border: var(--theme-dark-prep-border);--select-bg: var(--theme-dark-prep-select-bg);--select-text: var(--theme-dark-prep-select-text);--hover-bg: var(--control-hover-bg);--focus-ring: var(--theme-dark-prep-focus);--success-color: var(--theme-dark-prep-primary-text);--warning-color: var(--theme-dark-prep-primary-text);--error-color: var(--theme-dark-prep-primary-text);--link-color: var(--theme-dark-prep-primary-text);--icon-color: var(--theme-dark-prep-icon);--popup-bg: var(--theme-dark-prep-popup-bg);--table-row-bg: var(--theme-dark-prep-card-bg);--route-category-intake-bg: #2a2237;--route-category-intake-text: var(--theme-dark-prep-primary-text);--route-category-intake-border: #6f5a91;--route-category-intake-accent: #b99bea;--route-category-starttoets-bg: #172b3d;--route-category-starttoets-text: var(--theme-dark-prep-primary-text);--route-category-starttoets-border: #356f9f;--route-category-starttoets-accent: #8dc7f5;--route-category-methodetoets-bg: #172d21;--route-category-methodetoets-text: var(--theme-dark-prep-primary-text);--route-category-methodetoets-border: #3d8558;--route-category-methodetoets-accent: #8bd8a4;--route-category-ice-toets-bg: #342517;--route-category-ice-toets-text: var(--theme-dark-prep-primary-text);--route-category-ice-toets-border: #a66a2d;--route-category-ice-toets-accent: #f2b46d;--route-category-eindtoets-bg: #351b22;--route-category-eindtoets-text: var(--theme-dark-prep-primary-text);--route-category-eindtoets-border: #9a5360;--route-category-eindtoets-accent: #f19aa8;--status-complete-bg: #183424;--status-complete-border: #4c9b67;--status-complete-accent: #9be7b2;--status-busy-bg: #172b3d;--status-busy-border: #356f9f;--status-busy-accent: #8dc7f5;--status-open-bg: #1e2a36;--status-open-border: #52667a;--status-open-accent: #c7d5e3;--status-action-bg: #342517;--status-action-border: #a66a2d;--status-action-accent: #f2b46d;--status-failed-bg: #3a1d21;--status-failed-border: #a94a55;--status-failed-accent: #ff9aa5;--shadow-card: 0 14px 32px rgb(0 0 0 / .34);--shadow-panel: 0 20px 48px rgb(0 0 0 / .42)}.theme-dark-dev{--route-category-intake-text: #e9d5ff;--route-category-starttoets-text: #bfdbfe;--route-category-methodetoets-text: #bbf7d0;--route-category-ice-toets-text: #fed7aa;--route-category-eindtoets-text: #fecdd3;--status-open-accent: #e5e7eb;--status-busy-accent: #bfdbfe;--status-complete-accent: #bbf7d0;--status-action-accent: #fed7aa;--status-failed-accent: #fecaca}*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{background:var(--page-bg);color:var(--text-primary);font-family:var(--font-body);font-size:.95rem;margin:0}:is(h1,h2,h3,h4,h5,h6,.dashboard-hero h2,.dashboard-panel h2,.metric-card h3,.teacher-dashboard-card h3,.docent-cockpit-panel h3,.course-task-part__header h3,.course-task-route__header h2,.route-task-point h3,.route-task-detail-panel__head h3,.teacher-profile-card h2,.report-editor-panel__head h2,.report-template-panel__head h2,.report-prompt-panel__head h2,.report-section-card h3,.admin-export-details h2,.module-panel h2,.intro-panel h2){font-family:var(--font-heading);letter-spacing:0}:is(button,a,input,select,textarea,label,table,th,td,.nav-item,.status-pill,.mini-status,.signal-badge,.dashboard-hero__badge,.route-task-point__status,.route-task-point__type,.info-hint__popup,.header-view-switcher__menu){font-family:var(--font-ui)}:is(button,.primary-action,.secondary-action,.quick-action,.compact-action,.theme-mode-toggle){font-family:var(--font-button)}:is(input,select,textarea,option,.teacher-form,.route-task-detail-form,.step-input-form){font-family:var(--font-form)}body .app-shell,body .app-shell :is(h1,h2,h3,h4,p,span,strong,small,label,legend,dt,dd,li,td,th,button,a,input,select,textarea,div){color:var(--color-text-primary)}body .app-shell :is(button,a,input,select,textarea,.nav-item,.nav-item:hover,.nav-item--active,.sidebar-view-switch__item,.sidebar-view-switch__item:hover,.sidebar-view-switch__item--active,.header-view-switcher__admin,.header-view-switcher__button,.header-view-switcher__menu-button,.header-view-switcher__option,.header-view-switcher__option:hover,.header-view-switcher__option--active,.route-task-point,.route-task-point:hover,.route-task-point--active,.route-task-point--complete,.status-pill,.signal-badge,.mini-status){color:var(--color-text-primary)}img,svg,video,canvas{max-width:100%}button,input,select,textarea{max-width:100%}p,span,strong,small,td,th,dd,dt,h1,h2,h3{overflow-wrap:anywhere}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:13.75rem minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-height:100vh;max-width:100vw;overflow-x:clip}.app-shell--docent{grid-template-columns:minmax(0,1fr)}.app-shell--docent .app-header{grid-template-columns:minmax(7rem,auto) minmax(0,1fr) auto}.app-header{align-items:center;background:var(--header-bg);border-bottom:1px solid var(--color-border);box-shadow:0 8px 24px #104c7f0f;display:grid;gap:.75rem;grid-column:1 / -1;grid-template-columns:minmax(7rem,auto) minmax(0,1fr) auto;min-height:3.15rem;padding:.45rem clamp(.75rem,1.6vw,1.1rem);position:relative;z-index:2}.app-header__brand{align-items:center;display:flex;gap:.65rem;min-width:0}.app-header__logo{display:block;flex:0 0 auto;height:auto;max-height:2rem;max-width:10.5rem;object-fit:contain;width:auto}.app-header__module{border-left:2px solid var(--color-orange);color:var(--color-blue-dark);font-weight:800;line-height:1.2;font-size:.86rem;padding-left:.65rem;white-space:nowrap}.app-header__spacer,.app-header__page{min-width:0}.app-header__page h1{color:var(--color-blue-dark);font-size:1rem;margin:0}.app-header__actions,.app-header__user{align-items:center;display:flex;gap:.45rem;justify-content:flex-end;min-width:0}.app-header__settings-wrap{display:inline-flex;position:relative}.app-header__user-name{color:var(--color-muted);font-size:.9rem;font-weight:700;white-space:nowrap}.app-header__settings,.app-header__logout{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--color-blue-dark);cursor:pointer;display:inline-flex;font:inherit;font-size:.86rem;font-weight:800;gap:.45rem;height:2rem;justify-content:center;min-height:2rem;padding:0;width:2rem}.app-header__settings{text-decoration:none}.app-header__settings:hover,.app-header__logout:hover{background:transparent;border-color:transparent;color:var(--color-orange-dark);opacity:.82}.app-header__settings:focus-visible,.app-header__logout:focus-visible{box-shadow:0 0 0 3px #5fb3f347;outline:none}.app-header__settings svg,.app-header__logout svg{color:currentColor;stroke:currentColor}.app-header__settings-menu{background:var(--popup-bg);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 14px 34px #0f172a29;color:var(--text-primary);inset-block-start:calc(100% + .45rem);inset-inline-end:0;min-inline-size:11rem;padding:.3rem;position:absolute;z-index:220}.app-header__settings-link{align-items:center;border-radius:8px;color:var(--text-primary);display:flex;font-size:.86rem;font-weight:750;min-block-size:2.15rem;padding:.42rem .55rem;text-decoration:none;white-space:nowrap}.app-header__settings-link:hover,.app-header__settings-link:focus-visible{background:var(--hover-bg);color:var(--color-blue-dark);outline:none}.theme-mode-toggle{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--button-light-text);cursor:pointer;display:inline-flex;flex:0 0 auto;height:2rem;justify-content:center;min-height:2rem;padding:0;width:2rem}.theme-mode-toggle:hover,.theme-mode-toggle:active,.theme-mode-toggle[aria-pressed=true]{background:transparent;border-color:transparent;color:var(--button-light-hover-text);opacity:.82}.theme-mode-toggle:focus-visible{box-shadow:0 0 0 3px #5fb3f347;outline:none}.theme-mode-toggle svg{color:currentColor;stroke:currentColor}.view-switcher__item:hover,.view-switcher__select:hover{background:var(--hover-bg);border-color:var(--focus-ring)}.header-view-switcher__admin:focus-visible,.header-view-switcher__button:focus-visible,.header-view-switcher__menu-button:focus-visible,.header-view-switcher__option:focus-visible,.header-view-switcher__search input:focus-visible{box-shadow:0 0 0 3px #5fb3f347;outline:none}.header-view-switcher{align-items:center;display:flex;gap:.3rem;min-width:0;position:relative}.header-view-switcher__admin,.header-view-switcher__button,.header-view-switcher__menu-button{align-items:center;background:var(--color-blue-faint);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:inline-flex;font:inherit;font-size:.8rem;font-weight:780;gap:.35rem;block-size:2rem;min-width:0;padding:.35rem .55rem;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,color .14s ease}.header-view-switcher__button{inline-size:clamp(8.75rem,18vw,14rem);justify-content:flex-start}.header-view-switcher__menu-button{inline-size:2rem;justify-content:center;padding:0}.header-view-switcher__menu-button svg{transition:transform .14s ease}.header-view-switcher__menu-button[aria-expanded=true] svg{transform:rotate(90deg)}.header-view-switcher__button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-view-switcher__admin--active,.header-view-switcher__button--active,.header-view-switcher__admin:hover,.header-view-switcher__button:hover,.header-view-switcher__menu-button:hover,.header-view-switcher__menu-button[aria-expanded=true]{background:var(--color-blue-soft);border-color:#bdd9ec;color:var(--active-text)}.header-view-switcher__menu{background:var(--popup-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-panel);display:grid;gap:.35rem;inline-size:min(20rem,calc(100vw - 1.5rem));inset-block-start:calc(100% + .45rem);inset-inline-end:0;max-width:calc(100vw - 1.5rem);padding:.45rem;position:absolute;z-index:40}.header-view-switcher__search,.header-view-switcher__option{align-items:center;border-radius:8px;display:grid;gap:.5rem;grid-template-columns:1rem minmax(0,1fr);min-width:0}.header-view-switcher__search{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-muted);padding:.35rem .5rem}.header-view-switcher__search input{background:transparent;border:0;color:var(--text-primary);font:inherit;min-height:1.5rem;outline:0;padding:0}.header-view-switcher__list{display:grid;gap:.25rem;max-height:14rem;overflow-y:auto}.header-view-switcher__option{background:transparent;border:1px solid transparent;color:var(--text-primary);cursor:pointer;font:inherit;padding:.5rem;text-align:left}.header-view-switcher__option:hover,.header-view-switcher__option--active{background:var(--hover-bg);border-color:var(--border-color)}.header-view-switcher__option span,.header-view-switcher__option strong,.header-view-switcher__option small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-view-switcher__option strong{font-size:.84rem}.header-view-switcher__option small{color:var(--text-muted);font-size:.72rem}.sidebar{background:linear-gradient(180deg,var(--nav-bg) 0%,var(--nav-bg-strong) 100%);color:var(--nav-text);display:flex;flex-direction:column;gap:.8rem;grid-column:1;grid-row:2;min-width:0;padding:.85rem}.sidebar--docent{background:linear-gradient(180deg,var(--surface-menu) 0%,var(--nav-bg) 100%)}.sidebar--admin .brand{box-shadow:inset 3px 0 0 var(--nav-accent)}.sidebar--docent .brand{box-shadow:inset 3px 0 0 var(--nav-text)}.brand{align-items:center;background:var(--nav-hover-bg);border:1px solid var(--nav-border);border-radius:8px;display:flex;gap:.5rem;min-height:2.35rem;min-width:0;padding:.55rem .6rem}.brand strong,.brand small,.nav-item strong,.nav-item small{display:block;line-height:1.25}.brand small,.nav-item small{color:color-mix(in srgb,var(--nav-muted) 86%,var(--nav-text));font-size:.68rem;font-weight:650;margin-top:.1rem}.nav-list{display:grid;gap:.25rem}.nav-item{align-items:center;border:1px solid transparent;border-radius:8px;display:grid;gap:.55rem;grid-template-columns:1.05rem minmax(0,1fr);min-height:2.75rem;min-width:0;padding:.45rem .55rem;position:relative}.nav-item span,.brand span,.sidebar-view-switch__item span,.sidebar-view-switch__teacher small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item svg{color:var(--nav-muted)}.nav-item:hover,.nav-item--active{background:var(--nav-hover-bg);border-color:transparent}.nav-item:hover svg,.nav-item--active svg{color:var(--nav-text)}.nav-item--active{background:var(--nav-active-bg);box-shadow:none}.nav-item strong{color:var(--nav-text);font-size:.84rem;font-weight:800}.sidebar-view-switch{border:1px solid var(--nav-border);border-radius:8px;display:grid;gap:.25rem;padding:.3rem}.sidebar-view-switch__item{align-items:center;border:1px solid transparent;border-radius:7px;color:var(--nav-muted);display:grid;font-size:.78rem;font-weight:850;gap:.42rem;grid-template-columns:.9rem minmax(0,1fr);min-height:1.95rem;padding:.3rem .42rem;position:relative}.sidebar-view-switch__item:hover,.sidebar-view-switch__item--active{background:var(--nav-hover-bg);border-color:var(--nav-border);color:var(--nav-text)}.sidebar-view-switch__item--active{box-shadow:none}.sidebar-view-switch__teacher{display:grid;gap:.2rem}.sidebar-view-switch__teacher small{color:var(--nav-muted);display:block;font-size:.7rem;font-weight:750;padding:0 .45rem .2rem 1.75rem}.main-area{display:grid;grid-column:2;grid-row:2;min-width:0;max-width:100%;overflow-x:clip}.intro-panel h2,.module-panel h2{margin:0}.eyebrow{color:var(--color-orange-dark);display:block;font-size:.72rem;font-weight:800;letter-spacing:0;margin-bottom:.3rem;text-transform:uppercase}.status-pill{background:var(--badge-bg);border:0;border-radius:999px;color:var(--badge-text);box-shadow:none;font-size:.72rem;font-weight:750;line-height:1;padding:.28rem .55rem}.status-pill--success{background:var(--status-complete-bg);color:var(--status-complete-accent)}.status-pill--warning{background:var(--status-action-bg);color:var(--status-action-accent)}.info-hint{display:inline-flex;margin-left:.35rem;position:relative;vertical-align:middle}.info-hint__button{align-items:center;background:var(--color-blue-soft);border:1px solid #bdd9ec;border-radius:999px;color:var(--color-blue-dark);cursor:pointer;display:inline-flex;height:1.35rem;justify-content:center;padding:0;width:1.35rem}.info-hint__popup{background:var(--popup-bg);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 16px 36px #104c7f29;color:var(--color-text);font-size:.82rem;font-weight:600;inline-size:min(18rem,calc(100vw - 2rem));inset-block-start:calc(100% + .4rem);inset-inline-end:0;line-height:1.35;max-width:calc(100vw - 2rem);padding:.65rem .75rem;position:absolute;text-transform:none;z-index:30}::placeholder{color:color-mix(in srgb,var(--text-muted) 78%,transparent)}.content{box-sizing:border-box;display:grid;gap:var(--layout-section-gap);inline-size:min(100%,var(--layout-content-max));margin-inline:auto;max-width:100%;min-width:0;overflow-x:clip;padding:var(--layout-page-padding-y) var(--layout-page-padding-x) 1.5rem;width:min(100%,var(--layout-content-max))}.content>*{max-width:100%;min-width:0}.content>:is(.admin-dashboard,.teacher-dashboard,.teacher-management,.admin-teacher-dashboard,.docent-route-dashboard,.course-task-route,.export-control-page,.report-prep-page,.page-grid){inline-size:100%;margin-inline:0;max-inline-size:100%}.content :is(.dashboard-panel,.dashboard-hero,.teacher-overview-table-panel,.teacher-list-panel,.teacher-detail-panel,.responsive-table-wrap,.route-task-point,.step-input-form,.export-control-panel){max-inline-size:100%;min-inline-size:0}.content :is(td,th,dd,p,small,code,.teacher-list-item strong,.teacher-list-item small){overflow-wrap:anywhere}.page-grid{display:grid;gap:1rem;margin:0 auto;max-width:72rem}.admin-dashboard{display:grid;gap:.75rem;margin:0 auto;max-width:78rem}.teacher-dashboard{display:grid;gap:1rem;margin:0 auto;max-width:78rem}.dashboard-hero,.dashboard-panel,.metric-card{background:var(--surface-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-panel)}.dashboard-hero,.dashboard-panel,.metric-card,.teacher-management,.admin-teacher-dashboard,.docent-route-dashboard,.course-task-route,.route-task-point,.route-task-point__body,.teacher-list-panel,.teacher-detail-panel,.teacher-side-panel,.step-input-page,.step-input-form,.step-input-side,.route-task-detail-panel,.route-entry-history{max-width:100%;min-width:0}.dashboard-hero{align-items:center;border-top:3px solid var(--color-blue);display:flex;gap:.75rem;justify-content:space-between;padding:clamp(.65rem,1.1vw,.9rem)}.dashboard-hero h2,.dashboard-panel h2,.metric-card h3{margin:0}.dashboard-hero h2{color:var(--color-blue-dark);font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.2}.dashboard-hero p,.metric-card p,.dashboard-empty{color:var(--color-muted);line-height:1.35;margin:.25rem 0 0}.admin-api-error{background:var(--surface-card);border:1px solid var(--border-color);border-left:4px solid var(--status-action-accent);border-radius:12px;box-shadow:0 10px 24px #0f172a0f;color:var(--text-primary);display:grid;gap:.75rem;padding:.9rem}.admin-api-error__content{display:grid;gap:.32rem}.admin-api-error h3{color:var(--text-primary);font-family:var(--font-heading);font-size:1rem;line-height:1.2;margin:0}.admin-api-error p,.admin-api-error small{color:var(--text-secondary);line-height:1.4;margin:0}.admin-api-error small{font-size:.82rem}.admin-api-error__actions{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem}.admin-api-error__details{color:var(--text-secondary);font-size:.84rem}.admin-api-error__details summary{color:var(--text-primary);cursor:pointer;font-weight:750}.admin-api-error__details p{margin-block-start:.35rem}.primary-action,.secondary-action{align-items:center;border:1px solid transparent;border-radius:8px;cursor:pointer;display:inline-flex;font:inherit;font-weight:760;gap:.5rem;justify-content:center;min-height:var(--button-fixed-height);padding:.5rem var(--button-fixed-padding-x);transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,color .14s ease}.primary-action{background:var(--button-bg);border:1px solid var(--button-border);color:var(--button-text)}.primary-action:hover{background:var(--button-hover-bg);box-shadow:0 8px 18px #c65f0733}.secondary-action{background:var(--control-active-bg);border:1px solid var(--control-border);color:var(--active-text)}.secondary-action:hover{border-color:var(--color-blue);box-shadow:0 8px 18px #0f6fb61f}.primary-action:focus-visible,.secondary-action:focus-visible,.nav-item:focus-visible,.quick-action:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid rgb(245 130 32 / .35);outline-offset:2px}.dashboard-hero__badge{background:var(--badge-bg);border:0;border-radius:999px;box-shadow:none;color:var(--badge-text);flex:0 0 auto;font-size:.72rem;font-weight:900;padding:.35rem .55rem}.metric-grid{display:grid;gap:.5rem;grid-auto-rows:4.8rem;grid-template-columns:repeat(auto-fit,minmax(min(10.5rem,100%),1fr))}.metric-card{align-items:center;border-top:3px solid var(--color-blue);display:flex;gap:.58rem;height:100%;min-height:4.8rem;padding:.55rem .62rem}.metric-card--action,.metric-card--orange{border-top-color:var(--color-orange)}.metric-card__icon{align-items:center;background:transparent;color:var(--color-blue-dark);display:inline-flex;flex:0 0 1.45rem;height:1.45rem;justify-content:center;width:1.45rem}.metric-card--action .metric-card__icon,.metric-card--orange .metric-card__icon{background:transparent;color:var(--color-orange-dark)}.metric-card__icon svg{height:1.38rem;width:1.38rem}.metric-card__content{display:grid;gap:.12rem;min-width:0}.metric-card__content>strong{color:var(--color-blue-dark);font-size:clamp(1.28rem,1.85vw,1.62rem);line-height:1}.metric-card--action .metric-card__content>strong,.metric-card--orange .metric-card__content>strong{color:var(--color-orange-dark)}.metric-card h3{display:-webkit-box;font-size:.78rem;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-height:1.16;margin:0;overflow:hidden;text-overflow:ellipsis}.metric-card p{display:-webkit-box;font-size:.74rem;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}.dashboard-columns{align-items:start;display:grid;gap:.75rem;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.admin-dashboard-actions{display:flex;flex-wrap:wrap;gap:.55rem}.dashboard-panel{display:grid;gap:.65rem;padding:.85rem}.dashboard-panel__header{align-items:center;display:flex;justify-content:space-between}.quick-action-grid{display:grid;gap:.45rem;grid-auto-rows:minmax(2.55rem,auto)}.quick-action{align-items:center;background:var(--color-orange-soft);border:1px solid transparent;border-radius:8px;color:var(--color-orange-dark);cursor:pointer;display:flex;font:inherit;font-size:.84rem;font-weight:800;gap:.45rem;height:100%;min-height:2.25rem;padding:.45rem .55rem;text-align:left}.quick-action span,.quick-action strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-action:hover{background:#ffe3c5;border-color:var(--color-orange)}.activity-list{display:grid;gap:.45rem}.signal-list{display:grid;gap:.65rem}.signal-list--compact{margin-top:.75rem}.signal-row{align-items:center;background:var(--surface-accent-blue);border:1px solid var(--accent-blue-border);border-radius:8px;display:grid;gap:.75rem;grid-template-columns:auto minmax(0,1fr);padding:.7rem}.signal-row--action{background:var(--surface-accent-orange);border-color:transparent}.signal-row strong,.signal-row small{display:block;line-height:1.35}.signal-row small{color:var(--color-muted);font-size:.8rem;margin-top:.15rem}.admin-notification-panel{display:grid;gap:1rem}.notification-settings-grid{display:grid;gap:.75rem;grid-template-columns:minmax(16rem,1fr) repeat(2,minmax(12rem,.7fr))}.notification-settings-grid label{display:grid;gap:.35rem}.notification-settings-grid label>span{color:var(--color-muted);font-size:.78rem;font-weight:850}.notification-settings-grid input[type=text],.notification-settings-grid input:not([type]){background:var(--color-white);border:1px solid #bdd9ec;border-radius:8px;color:var(--color-blue-dark);font:inherit;min-height:2.65rem;padding:.6rem .75rem}.notification-toggle{align-items:center;background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;display:flex!important;gap:.55rem!important;min-height:2.65rem;padding:.65rem}.notification-toggle input{accent-color:var(--color-orange)}.notification-log-list{display:grid;gap:.65rem}.notification-log-item{background:var(--color-blue-soft);border:1px solid #c8e0f0;border-left:4px solid var(--color-orange);border-radius:8px;display:grid;gap:.3rem;padding:.75rem}.notification-log-item strong{color:var(--color-blue-dark)}.notification-log-item p{color:var(--color-muted);line-height:1.4;margin:0;white-space:pre-wrap}.notification-log-item small{color:var(--color-muted);font-weight:750}.import-control-page{display:grid;gap:1rem;margin:0 auto;max-width:86rem}.import-control-summary,.import-test-panel,.import-log-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-panel)}.import-control-summary{display:grid;gap:.75rem;grid-template-columns:repeat(6,minmax(0,1fr));padding:1rem}.import-control-summary div{background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;display:grid;gap:.25rem;padding:.75rem}.import-control-summary strong{color:var(--color-blue-dark);font-size:1.1rem;line-height:1.2}.import-control-workspace{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.import-test-panel,.import-log-panel{display:grid;gap:1rem;padding:1rem}.import-test-panel textarea{background:var(--color-white);border:1px solid #bdd9ec;border-radius:8px;color:var(--color-blue-dark);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86rem;line-height:1.45;padding:.85rem;resize:vertical}.import-mode-actions{display:flex;flex-wrap:wrap;gap:.55rem}.import-preview,.import-record{background:var(--status-busy-bg);border:1px solid var(--status-busy-border);border-left:4px solid var(--color-blue);border-radius:8px;display:grid;gap:.35rem;padding:.75rem}.import-preview--error,.import-record--error{background:var(--status-failed-bg);border-color:var(--status-failed-border);border-left-color:var(--status-failed-accent)}.import-preview strong,.import-record strong{color:var(--color-blue-dark)}.import-preview span,.import-preview small,.import-record span{color:var(--color-muted);font-size:.85rem;line-height:1.35}.import-record-list{display:grid;gap:.65rem}.import-record dl{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.import-record dt{color:var(--color-muted);font-size:.72rem;font-weight:850}.import-record dd{color:var(--color-blue-dark);font-size:.84rem;font-weight:750;margin:.1rem 0 0}.signal-badge{background:var(--color-white);border:0;border-radius:999px;box-shadow:none;color:var(--badge-text);font-size:.72rem;font-weight:900;line-height:1;padding:.3rem .55rem}.signal-badge--action{background:var(--status-action-bg);color:var(--status-action-accent)}.activity-item{align-items:center;background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;display:grid;gap:.5rem;grid-template-columns:auto minmax(0,1fr);min-height:2.6rem;padding:.5rem}.activity-item__icon{align-items:center;background:var(--color-white);border-radius:6px;color:var(--color-blue-dark);display:inline-flex;height:1.85rem;justify-content:center;width:1.85rem}.activity-item__icon--orange{color:var(--color-orange-dark)}.activity-item--action{background:var(--color-orange-soft);border-color:transparent}.activity-item strong,.activity-item small{display:block;line-height:1.35}.activity-item small{color:var(--color-muted);font-size:.74rem;margin-top:.1rem}.activity-item strong{font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-group-overview{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-dashboard-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-card);display:grid;gap:1rem;padding:1rem}.teacher-dashboard-card__head{align-items:center;display:grid;gap:.75rem;grid-template-columns:auto minmax(0,1fr)}.teacher-dashboard-card__icon{align-items:center;background:var(--color-blue-soft);border-radius:8px;color:var(--color-blue-dark);display:inline-flex;height:2.5rem;justify-content:center;width:2.5rem}.teacher-dashboard-card h3,.teacher-dashboard-card p{margin:0}.teacher-dashboard-card h3{color:var(--color-blue-dark);font-size:1rem}.teacher-dashboard-card p{color:var(--color-muted);font-size:.85rem;margin-top:.2rem}.teacher-dashboard-stats{display:grid;gap:.6rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.teacher-dashboard-stats div{background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;display:grid;gap:.15rem;padding:.65rem}.teacher-dashboard-stats dt{color:var(--color-muted);font-size:.72rem;font-weight:850}.teacher-dashboard-stats dd{color:var(--color-blue-dark);font-size:1.05rem;font-weight:900;margin:0}.teacher-dashboard-columns{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.docent-route-dashboard{display:grid;gap:.85rem}.docent-cockpit-hero,.docent-cockpit-panel,.docent-cockpit-export{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-card)}.docent-cockpit-hero{align-items:end;display:grid;gap:.8rem;grid-template-columns:minmax(0,1fr) minmax(15rem,24rem) minmax(13rem,18rem);padding:.9rem}.docent-cockpit-hero h2,.docent-cockpit-panel h3,.docent-cockpit-export h3{color:var(--color-blue-dark);margin:0}.docent-cockpit-hero p{color:var(--color-muted);line-height:1.4;margin:.3rem 0 0}.docent-cockpit-hero label{display:grid;gap:.35rem}.docent-cockpit-hero label span{color:var(--color-blue-dark);font-size:.74rem;font-weight:900;text-transform:uppercase}.docent-cockpit-hero select{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font:inherit;min-height:2.35rem;padding:.45rem .65rem}.docent-cockpit-stats{display:grid;gap:.45rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.docent-cockpit-stats div{background:var(--color-blue-faint);border:1px solid var(--color-border);border-radius:8px;display:grid;gap:.1rem;min-height:3.5rem;padding:.55rem}.docent-cockpit-stats dt{color:var(--color-muted);font-size:.68rem;font-weight:900}.docent-cockpit-stats dd{color:var(--color-blue-dark);font-size:1.2rem;font-weight:900;margin:0}.docent-cockpit-panel{display:grid;gap:.65rem;padding:.85rem}.docent-cockpit-panel__head,.docent-cockpit-export,.docent-cockpit-export>div{align-items:center;display:flex;gap:.7rem}.docent-cockpit-panel__head,.docent-cockpit-export{justify-content:space-between}.docent-cockpit-export{align-items:stretch;display:grid;gap:.85rem;grid-template-columns:minmax(0,1fr) minmax(18rem,32rem);padding:.9rem}.docent-cockpit-export>div:first-child{align-items:flex-start}.docent-cockpit-export p{color:var(--color-muted);line-height:1.4;margin:.25rem 0 0}.docent-cockpit-export>.docent-cockpit-export__body{align-items:stretch;display:grid;gap:.65rem}.docent-cockpit-export__status{display:grid;gap:.45rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.docent-cockpit-export__status div{background:var(--color-blue-faint);border:1px solid var(--color-border);border-radius:8px;display:grid;gap:.15rem;min-height:4rem;padding:.55rem}.docent-cockpit-export__status dt{color:var(--color-muted);font-size:.68rem;font-weight:900}.docent-cockpit-export__status dd{align-items:center;color:var(--color-blue-dark);display:inline-flex;font-size:.9rem;font-weight:850;gap:.3rem;margin:0}.docent-cockpit-export__missing{align-items:flex-start;background:var(--color-orange-soft);border:1px solid transparent;border-radius:8px;color:var(--color-text);display:flex;gap:.45rem;line-height:1.35;padding:.6rem}.docent-cockpit-export__success{background:var(--status-complete-bg);border:1px solid var(--status-complete-border);border-radius:8px;color:var(--color-blue-dark)!important;font-weight:850;padding:.6rem}.export-drive-action{box-sizing:border-box;min-width:min(100%,17.5rem);width:100%}.docent-open-task-list{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr))}.docent-open-task{align-items:center;background:var(--color-blue-faint);border:1px solid var(--color-border);border-radius:8px;color:var(--text-primary);cursor:pointer;display:grid;font:inherit;gap:.55rem;grid-template-columns:1rem minmax(0,1fr) auto;min-height:3.6rem;padding:.55rem .65rem;text-align:left}.docent-open-task:hover,.docent-open-task:focus-visible{background:var(--color-blue-soft);border-color:var(--color-blue);outline:none}.docent-open-task strong,.docent-open-task small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docent-open-task strong{color:var(--color-blue-dark);font-size:.88rem}.docent-open-task small{color:var(--color-muted);font-size:.75rem}.docent-open-task b{color:var(--color-blue-dark);font-size:.78rem}.docent-cockpit-export{padding:.85rem}.docent-route-dashboard__intro,.course-task-route,.docent-dashboard-block{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-card)}.docent-route-dashboard__intro{align-items:end;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(15rem,22rem);padding:clamp(1.1rem,2vw,1.5rem)}.docent-route-dashboard__intro h2,.course-task-route__header h2,.docent-dashboard-block h3{color:var(--color-blue-dark);margin:0}.docent-route-dashboard__intro p,.course-task-route__header p{color:var(--color-muted);line-height:1.55;margin:.45rem 0 0;max-width:58rem}.docent-route-dashboard__intro label{display:grid;gap:.4rem}.docent-route-dashboard__intro label span{color:var(--color-blue-dark);font-size:.78rem;font-weight:800;text-transform:uppercase}.docent-route-dashboard__intro select{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font:inherit;min-height:2.7rem;padding:.55rem .75rem}.course-task-route{overflow:hidden}.course-task-route__header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:1rem;justify-content:space-between;padding:clamp(.85rem,1.6vw,1.1rem)}.course-task-route__workspace{align-items:start;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr);padding:0}.course-task-route--editing .course-task-route__workspace{grid-template-columns:minmax(0,1fr) minmax(18rem,.36fr)}.course-task-route__map{background:linear-gradient(90deg,rgb(15 111 182 / .06) 1px,transparent 1px),linear-gradient(180deg,rgb(15 111 182 / .06) 1px,transparent 1px),linear-gradient(180deg,var(--surface-map-start) 0%,var(--surface-map-end) 100%);background-size:54px 54px;min-height:0;overflow:hidden;padding:.75rem;position:relative}.course-task-route__line{display:none}.course-task-route__scroll{display:grid;gap:.55rem;grid-auto-rows:7.25rem;grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr));overflow:visible;padding:0;position:relative;z-index:1}.route-task-point{--route-category-bg: var(--color-white);--route-category-text: var(--color-text-primary);--route-category-border: var(--color-border);--route-category-accent: var(--color-blue);cursor:pointer;display:block;height:100%;min-width:0}.route-task-point--type-intake{--route-category-bg: var(--route-category-intake-bg);--route-category-text: var(--route-category-intake-text);--route-category-border: var(--route-category-intake-border);--route-category-accent: var(--route-category-intake-accent)}.route-task-point--type-starttoets{--route-category-bg: var(--route-category-starttoets-bg);--route-category-text: var(--route-category-starttoets-text);--route-category-border: var(--route-category-starttoets-border);--route-category-accent: var(--route-category-starttoets-accent)}.route-task-point--type-methodetoets{--route-category-bg: var(--route-category-methodetoets-bg);--route-category-text: var(--route-category-methodetoets-text);--route-category-border: var(--route-category-methodetoets-border);--route-category-accent: var(--route-category-methodetoets-accent)}.route-task-point--type-ice-toets{--route-category-bg: var(--route-category-ice-toets-bg);--route-category-text: var(--route-category-ice-toets-text);--route-category-border: var(--route-category-ice-toets-border);--route-category-accent: var(--route-category-ice-toets-accent)}.route-task-point--type-eindtoets{--route-category-bg: var(--route-category-eindtoets-bg);--route-category-text: var(--route-category-eindtoets-text);--route-category-border: var(--route-category-eindtoets-border);--route-category-accent: var(--route-category-eindtoets-accent)}.route-task-point__body{background:linear-gradient(90deg,var(--route-category-accent) 0 .22rem,transparent .22rem),var(--route-category-bg);border:1px solid var(--route-category-border);border-radius:8px;box-shadow:0 8px 18px #104c7f0f;display:grid;gap:.32rem;grid-template-rows:auto minmax(2.25rem,1fr) auto auto;height:100%;min-height:7.25rem;padding:.55rem .55rem .55rem .7rem;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease;width:100%}.route-task-point--state-klaar .route-task-point__body{background:linear-gradient(90deg,var(--route-category-accent) 0 .22rem,transparent .22rem),color-mix(in srgb,var(--route-category-bg) 78%,var(--color-white));border-color:var(--route-category-border);color:var(--selected-card-text)}.route-task-point--state-bezig .route-task-point__body{background:linear-gradient(90deg,var(--route-category-accent) 0 .22rem,transparent .22rem),color-mix(in srgb,var(--route-category-bg) 88%,var(--color-white));color:var(--selected-card-text)}.route-task-point:hover .route-task-point__body,.route-task-point:focus-visible .route-task-point__body,.route-task-point--active .route-task-point__body{border-color:var(--route-category-accent);box-shadow:0 10px 24px #104c7f1c}.route-task-point:focus-visible{outline:none}.route-task-point--active .route-task-point__body{box-shadow:0 0 0 2px color-mix(in srgb,var(--route-category-border) 70%,transparent),0 10px 24px #104c7f1c}.route-task-point__top,.route-task-point__meta,.route-task-point__footer,.route-task-point__icons{align-items:center;display:flex;min-width:0}.route-task-point__top,.route-task-point__footer{justify-content:space-between;min-height:1.35rem}.route-task-point__index{color:var(--route-category-accent);font-size:.66rem;font-weight:900}.route-task-point__type-icon,.route-task-point__status-icon{align-items:center;background:color-mix(in srgb,var(--route-category-bg) 82%,var(--color-white));border:0;border-radius:7px;box-shadow:none;color:var(--route-category-accent);display:inline-flex;flex:0 0 auto;gap:.25rem;height:1.35rem;justify-content:center;min-width:1.35rem;padding:0 .28rem}.route-task-point__type-icon span{color:var(--route-category-text);font-size:.64rem;font-weight:900}.route-task-point__status-icon{width:1.35rem}.route-task-point--state-klaar .route-task-point__status-icon,.route-task-point--state-klaar .route-task-point__type-icon{background:color-mix(in srgb,var(--route-category-bg) 82%,var(--color-white));border-color:transparent;color:var(--route-category-accent)}.route-task-point h3{display:-webkit-box;color:var(--text-primary);font-size:.82rem;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.25;margin:0;min-height:0;overflow:hidden;text-overflow:ellipsis}.route-task-point p,.route-task-point small{color:var(--color-muted);font-size:.74rem;line-height:1.35;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-task-point__meta{gap:.3rem;flex-wrap:wrap;min-height:1.45rem}.route-task-point__type{background:color-mix(in srgb,var(--route-category-bg) 70%,var(--color-white));border:0;border-radius:999px;color:var(--route-category-text);font-size:.66rem;font-weight:900;line-height:1;max-width:100%;overflow:hidden;padding:.16rem .34rem;text-overflow:ellipsis;white-space:nowrap}.route-task-point__status{background:var(--status-open-bg);border:0;border-radius:999px;box-shadow:none;color:var(--status-open-accent);font-size:.66rem;font-weight:900;line-height:1;max-width:100%;overflow:hidden;padding:.18rem .4rem;text-overflow:ellipsis;white-space:nowrap}.route-task-point__status--openstaand,.route-task-point__status--open,.route-task-point__status--nog-invullen{background:var(--status-open-bg);border-color:var(--status-open-border);color:var(--status-open-accent)}.route-task-point__status--deels-ingevuld,.route-task-point__status--bezig{background:var(--status-busy-bg);border-color:var(--status-busy-border);color:var(--status-busy-accent)}.route-task-point__status--actie-nodig,.route-task-point--actie-nodig .route-task-point__status,.route-task-point--actie-nodig .route-task-point__status-icon{background:var(--status-action-bg);border-color:var(--status-action-border);color:var(--status-action-accent)}.route-task-point--state-klaar .route-task-point__status{background:var(--status-complete-bg);border-color:var(--status-complete-border);color:var(--status-complete-accent)}.route-task-point__icons{gap:.2rem}.route-task-point__icon{align-items:center;background:var(--card-bg);border:1px solid var(--route-category-border);border-radius:6px;color:var(--route-category-text);display:inline-flex;flex:0 0 auto;height:1.35rem;justify-content:center;width:1.35rem}.route-task-point__open{align-items:center;background:var(--color-blue-soft);border:1px solid var(--accent-blue-border);border-radius:8px;color:var(--color-text-primary);cursor:pointer;display:inline-flex;font:inherit;font-size:.74rem;font-weight:900;justify-content:center;min-height:1.85rem;min-width:4rem;padding:.25rem .55rem}.route-task-point__open:hover,.route-task-point__open:focus-visible,.route-task-point__open:active{background:var(--hover-bg);border-color:var(--focus-ring);color:var(--color-text-primary)}.route-task-detail-panel{background:var(--card-bg);border-left:1px solid var(--border-color);display:grid;gap:.75rem;padding:.85rem}.route-task-detail-panel__head{align-items:start;display:flex;gap:.75rem;justify-content:space-between;min-width:0}.route-task-detail-panel__head h3{color:var(--text-primary);font-size:1rem;line-height:1.25;margin:0}.route-task-detail-panel__text,.route-task-detail-panel__admin{color:var(--text-muted);font-size:.84rem;line-height:1.4;margin:0}.route-task-detail-panel__admin{background:var(--color-orange-soft);border:1px solid transparent;border-radius:8px;color:var(--color-orange-dark);font-weight:850;padding:.55rem .65rem}.route-task-detail-panel__edit{align-items:center;background:var(--color-blue-soft);border:1px solid #bdd9ec;border-radius:8px;color:var(--color-blue-dark);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:.78rem;font-weight:900;gap:.35rem;min-height:1.9rem;padding:.3rem .55rem}.route-task-detail-meta{display:grid;gap:.45rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.route-task-detail-meta div{background:var(--color-blue-faint);border:1px solid var(--border-color);border-radius:8px;display:grid;gap:.1rem;padding:.5rem}.route-task-detail-meta dt,.route-task-detail-form label>span{color:var(--text-muted);font-size:.7rem;font-weight:900}.route-task-detail-meta dd{color:var(--text-primary);font-size:.82rem;font-weight:900;margin:0}.route-task-detail-form{display:grid;gap:.55rem}.route-task-detail-form label{display:grid;gap:.25rem}.route-task-detail-form input,.route-task-detail-form select,.route-task-detail-form textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--text-primary);font:inherit;font-size:.86rem;min-height:2.15rem;padding:.45rem .55rem}.docent-cockpit-save-notice{justify-self:start}.route-task-detail-form textarea{line-height:1.4;min-height:4.35rem;resize:vertical}.route-task-detail-history{border-top:1px solid var(--border-color);display:grid;gap:.55rem;padding-top:.65rem}.route-task-detail-history h4{color:var(--text-primary);font-size:.9rem;margin:0}.history-list--compact{gap:.5rem}.history-list--compact article{padding:.6rem}.history-list--compact dl{gap:.35rem;grid-template-columns:repeat(3,minmax(0,1fr))}.route-detail-info .info-hint__popup{inline-size:min(14rem,calc(100vw - 2rem));inset-inline-end:auto;inset-inline-start:0}.docent-dashboard-blocks{display:grid;gap:1rem;grid-auto-rows:minmax(13rem,auto);grid-template-columns:repeat(3,minmax(0,1fr))}.docent-dashboard-block{display:grid;gap:1rem;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:13rem;padding:1.1rem}.docent-dashboard-block__head{align-items:center;color:var(--color-blue-dark);display:flex;gap:.75rem}.docent-dashboard-block ul{display:grid;gap:.7rem;list-style:none;margin:0;padding:0}.docent-dashboard-block li{background:var(--color-blue-faint);border:1px solid var(--color-border);border-radius:8px;display:grid;gap:.25rem;grid-template-rows:auto auto auto;min-height:4.25rem;padding:.75rem}.docent-dashboard-block li strong{color:var(--color-blue-dark);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.docent-dashboard-block li span,.docent-dashboard-block li small,.docent-report-summary dt{color:var(--color-muted);line-height:1.35;min-width:0;overflow:hidden;text-overflow:ellipsis}.docent-dashboard-block li button{background:transparent;border:0;color:var(--color-blue-dark);cursor:pointer;font:inherit;font-weight:900;justify-self:start;min-height:1.65rem;padding:.2rem 0}.docent-report-summary{display:grid;gap:.65rem;margin:0}.docent-report-summary div{align-items:center;background:var(--color-blue-faint);border:1px solid var(--color-border);border-radius:8px;display:flex;justify-content:space-between;padding:.75rem}.docent-report-summary dd{color:var(--color-blue-dark);font-size:1.35rem;font-weight:900;margin:0}.teacher-signal-panel{align-self:start}.group-route-page{display:grid;gap:1rem;margin:0 auto;max-width:84rem}.group-route-hero,.group-route-header,.route-planner-panel,.group-analysis{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-card)}.group-route-hero{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:1.5rem}.group-route-hero__main{max-width:48rem}.group-route-hero h2,.group-route-header h3,.route-planner-panel h2,.group-analysis h2,.group-analysis-panel h3{margin:0}.group-route-hero h2,.group-route-header h3,.route-planner-panel h2,.group-analysis h2{color:var(--color-blue-dark)}.group-route-hero p,.group-analysis p{color:var(--color-muted);line-height:1.55;margin:.45rem 0 0}.group-route-selector{display:grid;flex:0 0 17rem;gap:.35rem}.group-route-selector span{color:var(--color-muted);font-size:.75rem;font-weight:850}.group-route-selector select{background:var(--color-white);border:1px solid #bdd9ec;border-radius:8px;color:var(--color-blue-dark);font:inherit;font-weight:800;min-height:2.75rem;padding:.55rem .7rem}.group-route-header{align-items:stretch;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(16rem,.32fr);padding:1.25rem}.group-route-header__info{display:grid;gap:.8rem}.route-type-chip,.route-step-type,.route-step-period{border-radius:999px;display:inline-flex;font-size:.74rem;font-weight:850;line-height:1;padding:.45rem .6rem}.route-type-chip{background:var(--color-blue-soft);color:var(--color-blue-dark);justify-self:start}.group-route-facts{display:grid;gap:.7rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.group-route-facts div,.group-route-progress,.route-step-stats div{background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px}.group-route-facts div{display:grid;gap:.15rem;padding:.7rem}.group-route-facts dt,.route-step-stats dt{color:var(--color-muted);font-size:.72rem;font-weight:850}.group-route-facts dd,.route-step-stats dd{color:var(--color-blue-dark);font-size:.95rem;font-weight:900;margin:0}.group-route-progress{align-content:center;display:grid;gap:.55rem;padding:1rem}.group-route-progress span{color:var(--color-muted);font-size:.78rem;font-weight:850}.group-route-progress strong{color:var(--color-blue-dark);font-size:2rem}.group-route-progress__bar{background:var(--color-white);border-radius:999px;height:.75rem;overflow:hidden}.group-route-progress__bar span{background:var(--color-orange);display:block;height:100%}.route-planner-panel,.group-analysis{display:grid;gap:1rem;padding:1.25rem}.route-step-list{display:grid;gap:1rem;position:relative}.route-step-list:before{background:linear-gradient(180deg,var(--color-blue) 0%,#c8e0f0 48%,var(--color-orange) 100%);bottom:1.5rem;content:"";left:1.32rem;position:absolute;top:1.5rem;width:3px}.route-step-card{align-items:start;background:linear-gradient(90deg,rgb(15 111 182 / .035),transparent 38%),var(--color-white);border:1px solid var(--color-border);border-left:4px solid var(--color-blue);border-radius:8px;box-shadow:0 10px 24px #104c7f12;display:grid;gap:.9rem;grid-template-columns:auto minmax(0,1fr);padding:1.1rem;position:relative}.route-step-card--action{border-left-color:var(--color-orange)}.route-step-card__order{align-items:center;background:var(--color-blue-soft);border:3px solid var(--color-white);border-radius:999px;color:var(--color-text-primary);display:inline-flex;font-size:.82rem;font-weight:900;box-shadow:0 0 0 4px var(--color-blue-faint);height:2.45rem;justify-content:center;width:2.45rem;z-index:1}.route-step-card--action .route-step-card__order{background:var(--color-orange);color:var(--text-on-surface)}.route-step-card__body{display:grid;gap:.8rem}.route-step-card__title{align-items:start;display:flex;gap:.8rem;justify-content:space-between}.route-step-card__title h3{color:var(--color-blue-dark);display:grid;font-size:1.08rem;gap:.25rem;margin:.35rem 0 0}.extra-step-label{color:var(--color-orange-dark);font-size:.72rem;font-weight:900}.route-step-type{background:var(--color-blue-soft);border:1px solid #c8e0f0;color:var(--color-blue-dark);text-transform:capitalize}.route-step-period{background:var(--color-orange-soft);border:0;color:var(--color-orange-dark);flex:0 0 auto}.route-step-stats{display:grid;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.route-step-stats div{display:grid;gap:.15rem;padding:.65rem}.intranet-actions{align-items:start;display:grid;gap:.25rem;justify-items:start}.intranet-actions a,.intranet-actions>span{align-items:center;color:var(--color-muted);display:inline-flex;font-size:.85rem;font-weight:800;gap:.4rem;text-decoration:none}.intranet-actions a{background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;color:var(--color-blue-dark);padding:.55rem .7rem}.intranet-actions small{color:var(--color-muted);font-size:.78rem;line-height:1.35}.intranet-actions--missing{background:var(--color-orange-soft);border:1px solid transparent;border-radius:8px;color:var(--color-orange-dark);display:inline-flex;font-size:.85rem;font-weight:850;gap:.45rem;padding:.6rem .7rem}.group-analysis__summary{display:grid;gap:.25rem}.group-analysis-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.group-analysis-panel{border:1px solid var(--color-border);border-radius:8px;display:grid;gap:.8rem;padding:1rem}.group-analysis-panel__head{align-items:center;display:flex;gap:.65rem}.group-analysis-panel h3{color:var(--color-blue-dark);font-size:.98rem}.compact-group-analysis{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-card);display:grid;gap:1rem;padding:1.25rem}.compact-group-analysis h2{color:var(--color-blue-dark);margin:0}.compact-analysis-cards{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.compact-analysis-card{background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;display:grid;gap:.25rem;padding:.85rem}.compact-analysis-card--action{background:var(--color-orange-soft);border-color:transparent}.compact-analysis-card span,.compact-analysis-card small{color:var(--color-muted);font-size:.76rem;font-weight:850}.compact-analysis-card strong{color:var(--color-blue-dark);font-size:1.55rem;line-height:1}.compact-analysis-card--action strong{color:var(--color-orange-dark)}.compact-analysis-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.compact-analysis-panel{border:1px solid var(--color-border);border-radius:8px;display:grid;gap:.8rem;padding:1rem}.compact-analysis-panel h3{color:var(--color-blue-dark);font-size:.98rem;margin:0}.z-route-page .route-type-chip,.z-route-page .route-step-type{background:#e8f5ee;color:#236343}.z-route-page .route-step-card,.z-route-page .student-route-point{border-left-color:#2f7d54}.z-route-analysis{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-card);display:grid;gap:1rem;padding:1.25rem}.z-route-analysis h2{color:var(--color-blue-dark);margin:0}.z-route-analysis p{color:var(--color-muted);line-height:1.55;margin:.45rem 0 0}.z-route-metrics{display:grid;gap:.7rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.z-route-metrics--side{grid-template-columns:1fr}.z-route-metrics div{background:#e8f5ee;border:1px solid #b7dcc7;border-radius:8px;display:grid;gap:.15rem;padding:.7rem}.z-route-metrics dt{color:var(--color-muted);font-size:.72rem;font-weight:850}.z-route-metrics dd{color:#236343;font-size:1rem;font-weight:900;margin:0}.z-route-signal-list{display:grid;gap:.7rem}.student-route-page{display:grid;gap:1rem;margin:0 auto;max-width:84rem}.student-route-hero,.student-route-header,.student-route-panel,.student-route-checklist{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-card)}.student-route-hero{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:1.5rem}.student-route-hero h2,.student-route-header h3,.student-route-panel h2,.student-route-checklist h2,.student-route-point h3{margin:0}.student-route-hero h2,.student-route-header h3,.student-route-panel h2,.student-route-checklist h2,.student-route-point h3{color:var(--color-blue-dark)}.student-route-hero p,.student-route-point p,.student-route-checklist p{color:var(--color-muted);line-height:1.55;margin:.45rem 0 0}.student-route-selectors{display:grid;flex:0 0 24rem;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.student-route-selectors label{display:grid;gap:.35rem}.student-route-selectors label span{color:var(--color-muted);font-size:.75rem;font-weight:850}.student-route-selectors select{background:var(--color-white);border:1px solid #bdd9ec;border-radius:8px;color:var(--color-blue-dark);font:inherit;font-weight:800;min-height:2.75rem;padding:.55rem .7rem}.student-route-header{align-items:stretch;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(16rem,.32fr);padding:1.25rem}.student-route-header__main{display:grid;gap:.8rem}.student-route-facts{display:grid;gap:.7rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.student-route-facts div,.student-route-progress,.student-route-step-facts div{background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px}.student-route-facts div,.student-route-step-facts div{display:grid;gap:.15rem;padding:.65rem}.student-route-facts dt,.student-route-step-facts dt{color:var(--color-muted);font-size:.72rem;font-weight:850}.student-route-facts dd,.student-route-step-facts dd{color:var(--color-blue-dark);font-size:.92rem;font-weight:900;margin:0}.student-route-progress{align-content:center;display:grid;gap:.55rem;padding:1rem}.student-route-progress span{color:var(--color-muted);font-size:.78rem;font-weight:850}.student-route-progress strong{color:var(--color-blue-dark);font-size:2rem}.student-route-workspace{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(18rem,.32fr)}.student-route-panel,.student-route-checklist{display:grid;gap:1rem;padding:1.25rem}.student-route-list{display:grid;gap:1rem;position:relative}.student-route-list:before{background:linear-gradient(180deg,var(--color-blue) 0%,#c8e0f0 55%,var(--color-orange) 100%);bottom:1.5rem;content:"";left:1.23rem;position:absolute;top:1.5rem;width:3px}.student-route-point{background:linear-gradient(90deg,rgb(15 111 182 / .035),transparent 40%),var(--color-white);border:1px solid var(--color-border);border-left:4px solid #bdd9ec;border-radius:8px;box-shadow:0 10px 24px #104c7f12;display:grid;gap:.9rem;grid-template-columns:auto minmax(0,1fr);padding:1.1rem;position:relative}.student-route-point--complete{border-left-color:var(--color-blue)}.student-route-point--busy{border-left-color:#327fa8}.student-route-point--action{border-left-color:var(--color-orange)}.student-route-point__marker{align-items:center;background:var(--color-blue-soft);border:3px solid var(--color-white);border-radius:999px;color:var(--color-blue-dark);display:inline-flex;font-size:.82rem;font-weight:900;box-shadow:0 0 0 4px var(--color-blue-faint);height:2.45rem;justify-content:center;width:2.45rem;z-index:1}.student-route-point--complete .student-route-point__marker{background:var(--color-blue-soft);color:var(--color-text-primary)}.student-route-point--action .student-route-point__marker{background:var(--color-orange);color:var(--text-on-surface)}.student-route-point__content{display:grid;gap:.8rem}.student-route-point__head{align-items:start;display:flex;gap:.8rem;justify-content:space-between}.student-route-point h3{display:grid;font-size:1rem;gap:.25rem;margin-top:.35rem}.student-route-point h3 small{color:var(--color-orange-dark);font-size:.72rem;font-weight:900}.student-route-status{border:1px solid transparent;border-radius:999px;flex:0 0 auto;font-size:.74rem;font-weight:900;line-height:1;padding:.45rem .6rem}.student-route-status--complete{background:var(--color-blue-soft);border-color:#c8e0f0;color:var(--color-blue-dark)}.student-route-status--busy{background:#e5f4fa;color:#1e6687}.student-route-status--action{background:var(--color-orange-soft);border-color:transparent;color:var(--color-orange-dark)}.student-route-status--idle{background:#f4f7f9;color:var(--color-muted)}.student-route-step-facts{display:grid;gap:.65rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.student-route-step-facts--z{grid-template-columns:repeat(3,minmax(0,1fr))}.student-route-point__footer{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.student-route-point__footer a,.student-route-point__footer span{align-items:center;color:var(--color-muted);display:inline-flex;font-size:.85rem;font-weight:800;gap:.4rem;text-decoration:none}.student-route-point__footer a{color:var(--color-blue-dark)}.student-route-edit{min-height:2.35rem}.student-route-checklist{position:sticky;top:1rem}.student-route-checklist ul{display:grid;gap:.6rem;list-style:none;margin:0;padding:0}.student-route-checklist li{align-items:start;background:var(--color-orange-soft);border:1px solid transparent;border-radius:8px;color:var(--color-orange-dark);display:flex;font-size:.88rem;font-weight:800;gap:.45rem;line-height:1.35;padding:.7rem}.step-input-page{display:grid;gap:.8rem;margin:0 auto;max-width:84rem}.step-input-hero,.step-input-context,.step-input-form,.step-input-side{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-panel)}.step-input-hero{align-items:center;border-top:4px solid var(--color-blue);display:flex;gap:1rem;justify-content:space-between;padding:1rem}.step-input-hero h2,.step-input-form h3,.step-input-side h3{color:var(--color-blue-dark);margin:0}.step-input-hero p{color:var(--color-muted);line-height:1.55;margin:.45rem 0 0}.step-input-context{display:grid;gap:.55rem;grid-template-columns:repeat(3,minmax(0,1fr));padding:.75rem}.step-input-context label,.step-input-form label,.step-input-action-row label{display:grid;gap:.35rem}.step-input-context label span,.step-input-form label span,.step-input-action-row label span{color:var(--color-muted);font-size:.75rem;font-weight:850}.step-input-context select,.step-input-form input,.step-input-form select,.step-input-form textarea,.step-input-action-row input{background:var(--color-white);border:1px solid #bdd9ec;border-radius:8px;color:var(--color-blue-dark);font:inherit;min-height:2.35rem;padding:.5rem .65rem}.step-input-form textarea{line-height:1.5;min-height:4.75rem;resize:vertical}.step-input-form input:focus,.step-input-form select:focus,.step-input-form textarea:focus,.step-input-context select:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px #1e6b971f;outline:none}.step-input-layout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(18rem,.32fr)}.step-input-form,.step-input-side{display:grid;gap:1rem;padding:1.35rem}.step-input-form__header{align-items:start;display:flex;gap:.8rem;justify-content:space-between}.step-input-form__header h3{margin-top:.35rem}.step-input-grid{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.z-observation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.step-input-field{display:grid}.step-input-counter,.step-input-warning{font-size:.8rem;font-weight:850;justify-self:end}.step-input-counter{color:var(--color-muted)}.step-input-warning{color:var(--color-orange-dark)}.step-input-action-row{align-items:end;display:grid;gap:.8rem;grid-template-columns:minmax(10rem,.25fr) minmax(0,1fr)}.step-input-toggle{align-items:center;background:var(--color-orange-soft);border:1px solid transparent;border-radius:8px;display:flex!important;gap:.55rem!important;min-height:2.75rem;padding:.65rem .75rem}.step-input-toggle input{min-height:auto;width:1.05rem}.step-input-toggle span{color:var(--color-text-primary)!important;font-size:.9rem!important}.step-input-alert{align-items:center;background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;color:var(--color-blue-dark);display:flex;font-weight:850;gap:.55rem;line-height:1.35;padding:.8rem}.step-input-alert--action{background:var(--color-orange-soft);border-color:transparent;color:var(--color-orange-dark)}.step-input-meta{display:grid;gap:.65rem;margin:0}.step-input-meta div{background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;display:grid;gap:.15rem;padding:.65rem}.step-input-meta dt{color:var(--color-muted);font-size:.72rem;font-weight:850}.step-input-meta dd{color:var(--color-blue-dark);font-weight:900;margin:0}.save-notice{background:#eef9f2;border:1px solid #b7e4c7;border-radius:8px;color:#166534;font-weight:800;margin:0;padding:.75rem .9rem}.route-entry-history{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-card);display:grid;gap:1rem;padding:1rem}.history-list{display:grid;gap:.75rem}.history-list article{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;display:grid;gap:.45rem;padding:.85rem}.history-list article>span,.history-list dd{color:var(--color-muted)}.history-list dl{display:grid;gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.history-list dt{color:var(--color-blue-dark);font-size:.72rem;font-weight:900;text-transform:uppercase}.history-list dd{margin:.15rem 0 0}.extra-step-page{display:grid;gap:1rem;margin:0 auto;max-width:84rem}.extra-step-layout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(18rem,.32fr)}.extra-step-form,.extra-step-side{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-card);display:grid;gap:1rem;padding:1.25rem}.extra-step-options{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.extra-step-option{align-items:center;background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;color:var(--color-blue-dark);cursor:pointer;display:flex;font-weight:850;gap:.55rem;min-height:3rem;padding:.75rem}.extra-step-option--active{background:var(--color-orange-soft);border-color:transparent;color:var(--color-orange-dark)}.extra-step-option input{margin:0}.extra-step-form label{display:grid;gap:.35rem}.extra-step-form label span{color:var(--color-muted);font-size:.75rem;font-weight:850}.extra-step-form input,.extra-step-form select,.extra-step-form textarea{background:var(--color-white);border:1px solid #bdd9ec;border-radius:8px;color:var(--color-blue-dark);font:inherit;min-height:2.75rem;padding:.65rem .75rem}.extra-step-form textarea{line-height:1.5;resize:vertical}.extra-step-toggles{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.extra-step-side h3{color:var(--color-blue-dark);margin:0}.extra-step-side p{color:var(--color-muted);line-height:1.55;margin:.45rem 0 0}.extra-step-side ul{display:grid;gap:.6rem;list-style:none;margin:0;padding:0}.extra-step-side li{background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;color:var(--color-blue-dark);font-weight:850;padding:.7rem}.intranet-management-page{display:grid;gap:1rem;margin:0 auto;max-width:84rem}.intranet-management-layout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(18rem,.38fr) minmax(0,1fr)}.intranet-step-list,.intranet-link-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-card);display:grid;gap:1rem;padding:1.25rem}.intranet-step-list label,.intranet-link-form label{display:grid;gap:.35rem}.intranet-step-list label span,.intranet-link-form label span{color:var(--color-muted);font-size:.75rem;font-weight:850}.intranet-step-list select,.intranet-link-form input,.intranet-link-form select,.intranet-link-form textarea{background:var(--color-white);border:1px solid #bdd9ec;border-radius:8px;color:var(--color-blue-dark);font:inherit;min-height:2.75rem;padding:.65rem .75rem}.intranet-link-form textarea{line-height:1.5;resize:vertical}.intranet-link-form h3{color:var(--color-blue-dark);margin:.35rem 0 0}.intranet-link-form p{color:var(--color-muted);line-height:1.55;margin:.45rem 0 0}.intranet-step-button{align-items:center;background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;color:var(--color-blue-dark);cursor:pointer;display:flex;font:inherit;gap:.75rem;justify-content:space-between;padding:.75rem;text-align:left}.intranet-step-button--active{background:var(--color-orange-soft);border-color:transparent;color:var(--color-orange-dark)}.intranet-step-button strong,.intranet-step-button small{display:block}.intranet-step-button small{color:var(--color-muted);font-size:.78rem;margin-top:.2rem}.primary-action:disabled{cursor:not-allowed;opacity:.55}.teacher-management{display:grid;gap:1rem;margin:0 auto;max-width:86rem}.admin-teacher-dashboard{display:grid;gap:.55rem;margin:0 auto;max-width:86rem}.admin-teacher-context{align-items:center;background:transparent;border:0;color:var(--color-text-secondary);display:flex;flex-wrap:wrap;gap:.45rem;justify-content:space-between;min-width:0}.admin-teacher-context strong{color:var(--color-text-secondary);font-size:.82rem;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-teacher-context__actions{align-items:center;display:inline-flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.admin-teacher-context__back{align-items:center;background:var(--color-blue-soft);border:1px solid var(--accent-blue-border);border-radius:8px;color:var(--color-text-primary);display:inline-flex;flex:0 0 auto;font-size:.78rem;font-weight:850;min-height:2.1rem;padding:.32rem .55rem;text-decoration:none}.docent-cockpit-compactbar{align-items:end;background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-card);display:grid;gap:.6rem;grid-template-columns:minmax(14rem,24rem) auto;justify-content:space-between;padding:.65rem .75rem}.docent-cockpit-compactbar label{display:grid;gap:.3rem}.docent-cockpit-compactbar label span,.docent-cockpit-compactbar>span{color:var(--color-muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.docent-cockpit-compactbar select{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font:inherit;min-height:2.35rem;padding:.45rem .65rem}.admin-teacher-context__back:hover,.admin-teacher-context__back:focus-visible{background:var(--hover-bg);border-color:var(--focus-ring);color:var(--color-text-primary)}.admin-teacher-summary-grid{display:grid;gap:.8rem;grid-auto-rows:minmax(5.75rem,auto);grid-template-columns:repeat(4,minmax(0,1fr))}.admin-teacher-summary-grid div,.teacher-overview-table-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-card)}.admin-teacher-summary-grid div{display:grid;gap:.25rem;height:100%;min-height:5.75rem;padding:1rem}.admin-teacher-summary-grid strong{color:var(--color-blue-dark);line-height:1.1}.admin-teacher-summary-grid span,.teacher-meta-list dt,.teacher-meta-list dd{min-width:0;overflow:hidden;text-overflow:ellipsis}.teacher-overview-table-panel{display:grid;gap:.75rem;padding:1rem}.responsive-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.teacher-overview-table{border-collapse:collapse;table-layout:fixed;width:100%}.teacher-overview-table th,.teacher-overview-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:.85rem;padding:.55rem .5rem;text-align:left;vertical-align:middle}.teacher-overview-table th{color:var(--color-blue-dark);font-size:.75rem;font-weight:900;text-transform:uppercase}.truncate-cell,.truncate-value{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-action-row{display:flex;flex-wrap:wrap;gap:.35rem}.icon-action{align-items:center;background:var(--color-blue-soft);border:1px solid #bdd9ec;border-radius:8px;color:var(--color-blue-dark);cursor:pointer;display:inline-flex;height:2rem;justify-content:center;padding:0;width:2rem}.icon-action:hover{background:var(--color-orange-soft);border-color:#f5b46e;color:var(--color-orange-dark)}.auditlog-filter-grid{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.auditlog-helper-text{color:var(--color-text-muted);font-size:.88rem;margin:.25rem 0 0;max-width:42rem}.auditlog-filter-grid label{display:grid;gap:.35rem}.auditlog-filter-grid span{color:var(--color-blue-dark);font-size:.78rem;font-weight:900;text-transform:uppercase}.auditlog-filter-grid select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);min-height:2.35rem;padding:.45rem .55rem;width:100%}.auditlog-table{min-width:76rem}.auditlog-table th{white-space:nowrap}.auditlog-pagination{align-items:center;display:flex;gap:.75rem;justify-content:space-between;padding-top:.85rem}.auditlog-pagination>span{color:var(--color-text-muted);font-size:.9rem;font-weight:700}.auditlog-pagination div{display:flex;gap:.5rem}.compact-action{min-height:2.2rem;padding:.45rem .65rem;white-space:nowrap}.compact-drive-summary{align-items:center;background:var(--color-blue-faint);border:1px solid #d7e9f7;border-radius:8px;display:flex;gap:.5rem;min-width:0;padding:.55rem .65rem}.compact-drive-summary span{color:var(--color-muted);font-size:.75rem;font-weight:900;text-transform:uppercase}.report-prep-page{display:grid;gap:1rem;margin:0 auto;max-width:86rem}.report-prep-controls,.report-prep-summary,.report-editor-panel,.report-editor-side,.report-template-panel,.report-prompt-panel,.report-section-card,.report-prep-side{background:var(--surface-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-panel)}.report-prep-controls{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem}.report-prep-controls label,.report-prep-side label{display:grid;gap:.35rem}.report-prep-controls span,.report-prep-side .eyebrow{color:var(--color-muted);font-size:.75rem;font-weight:850}.report-prep-controls select,.report-prep-side textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--input-text);font:inherit;min-height:2.75rem;padding:.65rem .75rem}.report-prep-summary{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr));padding:1rem}.report-prep-summary div{background:var(--surface-accent-blue);border:1px solid var(--accent-blue-border);border-radius:8px;display:grid;gap:.25rem;padding:.8rem}.report-prep-summary strong{color:var(--color-blue-dark);font-size:1.7rem;line-height:1}.report-prep-summary small{color:var(--color-muted);font-weight:750}.report-editor-layout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(20rem,.34fr)}.report-editor-panel,.report-editor-side{display:grid;gap:1rem;padding:1rem}.report-editor-panel__head{align-items:start;display:flex;gap:1rem;justify-content:space-between}.report-editor-panel__head h2,.report-editor-side h2{color:var(--color-blue-dark);margin:.15rem 0}.report-editor-panel__head p{color:var(--color-muted);margin:0}.report-editor-panel__head .primary-action{align-items:center;display:inline-flex;gap:.45rem;white-space:nowrap}.report-status-control{background:var(--surface-accent-blue);border:1px solid var(--accent-blue-border);border-radius:8px;display:grid;gap:.35rem;grid-template-columns:repeat(3,minmax(0,1fr));padding:.35rem}.report-status-control button{background:transparent;border:0;border-radius:6px;color:var(--color-blue-dark);cursor:pointer;font:inherit;font-weight:800;min-height:2.4rem;padding:.55rem}.report-status-control button.is-active{background:var(--surface-card-raised);box-shadow:0 2px 8px #0b5b8c1f;color:var(--active-text)}.report-text-editor{background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--color-blue-dark);font:inherit;line-height:1.55;min-height:28rem;padding:.85rem;resize:vertical}.report-text-editor:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px #1e6b971f;outline:none}.report-editor-side{position:sticky;top:1rem}.report-editor-side section{display:grid;gap:.65rem}.report-editor-side ul{display:grid;gap:.55rem;list-style:none;margin:0;padding:0}.report-editor-side li{background:var(--surface-accent-blue);border:1px solid var(--accent-blue-border);border-radius:8px;color:var(--color-muted);font-size:.84rem;line-height:1.35;padding:.65rem}.report-editor-meta{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.report-editor-meta div{background:var(--surface-accent-orange);border:1px solid transparent;border-radius:8px;display:grid;gap:.25rem;padding:.7rem}.report-editor-meta span{color:var(--color-muted);font-size:.75rem;font-weight:850}.report-editor-meta strong{color:var(--color-blue-dark);font-size:1rem;line-height:1.25}.report-template-panel{display:grid;gap:1rem;padding:1rem}.report-template-panel__head{align-items:start;display:flex;gap:1rem;justify-content:space-between}.report-template-panel__head h2{color:var(--color-blue-dark);margin:.15rem 0}.report-template-panel__head p{color:var(--color-muted);margin:0}.report-template-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.report-template-actions .primary-action,.report-template-actions .secondary-action{align-items:center;display:inline-flex;gap:.45rem;white-space:nowrap}.drive-upload-banner,.template-registry-banner{align-items:start;border-radius:8px;display:flex;gap:.7rem;padding:.85rem}.drive-upload-banner--ready,.template-registry-banner--ready{background:var(--surface-accent-blue);border:1px solid var(--accent-blue-border);color:var(--color-blue-dark)}.drive-upload-banner--warning,.template-registry-banner--missing{background:var(--surface-accent-orange);border:1px solid transparent;color:var(--color-blue-dark)}.drive-upload-banner div,.template-registry-banner div{display:grid;gap:.2rem}.drive-upload-banner strong,.template-registry-banner strong{color:var(--color-blue-dark)}.drive-upload-banner span,.template-registry-banner span{color:var(--color-muted);font-size:.88rem;line-height:1.4}.template-registry-banner ul{display:grid;gap:.4rem;list-style:none;margin:.4rem 0 0;padding:0}.template-registry-banner li{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem .75rem}.template-registry-banner a{color:var(--color-blue-dark);font-weight:850;text-decoration:underline;text-decoration-color:#0f6fb659}.template-registry-banner small{color:var(--color-muted);font-size:.78rem}.template-registry-banner__warning{background:color-mix(in srgb,var(--color-orange-soft) 42%,var(--card-bg));border-left:4px solid var(--color-orange);border-radius:8px;color:var(--color-text-primary)!important;font-weight:850;margin-top:.35rem;padding:.55rem .7rem}.rotterdam-field-mapping{display:grid;gap:.85rem}.rotterdam-field-mapping__template{border:1px solid var(--color-border);border-radius:8px;display:grid;gap:.85rem;padding:1rem}.rotterdam-field-mapping__head{align-items:start;display:flex;gap:.75rem;justify-content:space-between}.rotterdam-field-mapping__head h3{color:var(--color-blue-dark);font-size:1rem;margin:0}.rotterdam-field-source-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.rotterdam-field-source{background:var(--surface-subtle);border:1px solid var(--color-border);border-radius:8px;padding:.8rem}.rotterdam-field-source h4{color:var(--color-blue-dark);font-size:.9rem;margin:0 0 .6rem}.rotterdam-field-source ul{display:grid;gap:.45rem;list-style:none;margin:0;padding:0}.rotterdam-field-source__field{background:var(--surface-card-raised);border:1px solid #dfeaf2;border-radius:8px;display:grid;gap:.2rem;padding:.55rem .65rem}.rotterdam-field-source__field strong{color:var(--color-blue-dark);font-size:.82rem}.rotterdam-field-source__field span{color:var(--color-muted);font-size:.82rem;line-height:1.35;white-space:pre-line}.rotterdam-field-source__field--missing{border-color:transparent}.rotterdam-field-source__field--missing span{color:var(--color-orange-dark);font-weight:800}.rotterdam-export-actions{align-items:center;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:.6rem;padding-top:.85rem}.rotterdam-export-actions small{color:var(--color-muted);font-size:.82rem}.rotterdam-concept-panel{background:var(--surface-subtle);border:1px solid var(--color-border);border-radius:8px;display:grid;gap:.85rem;padding:1rem}.rotterdam-concept-grid{display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.rotterdam-concept-field{background:var(--surface-card-raised);border:1px solid #dfeaf2;border-radius:8px;display:grid;gap:.65rem;padding:.8rem}.rotterdam-concept-field label,.rotterdam-concept-field dl{display:grid;gap:.45rem;margin:0}.rotterdam-concept-field textarea{min-height:7rem;resize:vertical}.rotterdam-concept-field dt{color:var(--color-blue-dark);font-size:.75rem;font-weight:850}.rotterdam-concept-field dd{color:var(--color-muted);font-size:.8rem;line-height:1.35;margin:0}.practical-error{align-items:start;background:var(--surface-accent-orange);border:1px solid transparent;border-left:4px solid var(--color-orange);border-radius:8px;color:var(--color-orange-dark);display:flex;font-weight:850;gap:.6rem;line-height:1.4;padding:.8rem}.report-export-status{align-items:center;background:var(--surface-accent-orange);border:1px solid transparent;border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:.85rem}.report-export-status div{display:grid;gap:.2rem}.report-export-status strong{color:var(--color-blue-dark);font-size:1.05rem}.report-export-status small{color:var(--color-muted);font-weight:750}.report-download-link{align-items:center;background:var(--surface-card-raised);border:1px solid #f6a14a;border-radius:8px;color:var(--color-blue-dark);display:inline-flex;font-weight:850;min-height:2.5rem;padding:.55rem .8rem;text-decoration:none;white-space:nowrap}.report-download-list{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.report-template-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.report-template-field{background:var(--surface-accent-blue);border:1px solid var(--accent-blue-border);border-left:4px solid var(--color-blue);border-radius:8px;display:grid;gap:.5rem;padding:.8rem}.report-template-field h3{color:var(--color-blue-dark);margin:.1rem 0 0}.report-template-field p{color:var(--color-blue-dark);line-height:1.45;margin:0;white-space:pre-wrap}.report-template-field small{color:var(--color-muted);font-size:.78rem;line-height:1.35}.report-export-log{display:grid;gap:.65rem}.report-export-log h3{color:var(--color-blue-dark);margin:0}.report-export-log ul{display:grid;gap:.55rem;list-style:none;margin:0;padding:0}.report-export-log li{background:var(--surface-accent-blue);border:1px solid var(--accent-blue-border);border-radius:8px;display:grid;gap:.15rem;padding:.65rem}.report-export-log strong{color:var(--color-blue-dark)}.report-export-log span,.report-export-log small{color:var(--color-muted);font-size:.84rem;line-height:1.35}.report-prompt-panel{display:grid;gap:.85rem;padding:1rem}.report-prompt-panel__head{align-items:start;display:flex;gap:1rem;justify-content:space-between}.report-prompt-panel__head h2{color:var(--color-blue-dark);margin:.15rem 0}.report-prompt-panel__head p{color:var(--color-muted);margin:0}.report-prompt-panel__head .secondary-action{align-items:center;display:inline-flex;gap:.45rem;white-space:nowrap}.report-prompt-preview{background:var(--surface-accent-blue);border:1px solid var(--accent-blue-border);border-left:4px solid var(--color-orange);border-radius:8px;color:var(--color-blue-dark);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.84rem;line-height:1.5;margin:0;max-height:28rem;overflow-x:hidden;overflow-y:auto;padding:.9rem;white-space:pre-wrap}.report-prep-layout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(20rem,.34fr)}.report-section-list{display:grid;gap:.85rem;grid-auto-rows:minmax(8.5rem,auto)}.report-section-card{border-left:4px solid var(--color-blue);box-shadow:0 10px 24px #104c7f0f;display:grid;gap:.8rem;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:8.5rem;padding:1rem}.report-section-card--ontbreekt,.report-section-card--te-kort{border-left-color:var(--color-orange)}.report-section-card__head{align-items:start;display:flex;gap:.8rem;justify-content:space-between;min-height:2rem}.report-section-card h3,.report-prep-side h2{color:var(--color-blue-dark);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:0;overflow:hidden}.report-section-card ul,.report-prep-side ul{display:grid;gap:.55rem;list-style:none;margin:0;padding:0}.report-section-card li,.report-prep-side li{background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;display:grid;gap:.15rem;padding:.65rem}.report-section-card--ontbreekt li,.report-section-card--te-kort li{background:var(--color-orange-soft);border-color:transparent}.report-section-card li span,.report-section-card li small,.report-prep-side li{color:var(--color-muted);font-size:.84rem;line-height:1.35}.report-section-card li strong{color:var(--color-blue-dark)}.report-prep-side{display:grid;gap:1rem;padding:1rem;position:sticky;top:1rem}.report-prep-side section{display:grid;gap:.65rem}.report-prep-side textarea{line-height:1.5;resize:vertical}.teacher-management__layout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.35fr) minmax(18rem,.85fr)}.teacher-list-panel,.teacher-detail-panel,.teacher-side-panel,.teacher-profile-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-card)}.teacher-list-panel,.teacher-detail-panel,.teacher-side-panel{display:grid;gap:1rem;padding:1.25rem}.teacher-side-panel{align-self:start;background:transparent;border:0;box-shadow:none;padding:0}.teacher-profile-card{display:grid;gap:1rem;padding:1rem}.teacher-profile-card h2{color:var(--color-blue-dark);font-size:1rem;margin:0}.teacher-list{display:grid;gap:.55rem}.teacher-list-item{align-items:center;background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;display:grid;font:inherit;gap:.75rem;grid-template-columns:minmax(0,1fr) auto;min-height:4.25rem;padding:.75rem;text-align:left}.teacher-list-item--active,.teacher-list-item:hover{background:var(--color-blue-soft);border-color:#bdd9ec}.teacher-list-item strong,.teacher-list-item small{display:block;line-height:1.35}.teacher-list-item small{color:var(--color-muted);font-size:.78rem;margin-top:.2rem}.mini-status{background:var(--status-busy-bg);border:0;border-radius:999px;box-shadow:none;color:var(--status-busy-accent);font-size:.72rem;font-weight:800;line-height:1;padding:.28rem .5rem}.mini-status--muted{background:var(--status-open-bg);border-color:var(--status-open-border);color:var(--status-open-accent)}.teacher-form{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-form label{color:var(--color-text);display:grid;font-size:.84rem;font-weight:750;gap:.35rem}.teacher-form input,.teacher-form select,.teacher-form textarea{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font:inherit;min-height:2.35rem;padding:.5rem .65rem;width:100%}.teacher-form textarea{line-height:1.5;min-height:4.5rem;resize:vertical}.teacher-form input:focus,.teacher-form select:focus,.teacher-form textarea:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px #0f6fb624;outline:none}.teacher-form__wide,.teacher-form__actions{grid-column:1 / -1}.teacher-form__actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.compact-form{gap:.65rem}.compact-form input,.compact-form select,.compact-form textarea{min-height:2.35rem;padding:.5rem .65rem}.compact-form textarea{min-height:4.5rem}.search-field{align-items:center;background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;color:var(--color-muted);display:grid;gap:.5rem;grid-template-columns:auto minmax(0,1fr);min-height:2.75rem;padding:0 .75rem}.search-field input{border:0;color:var(--color-text);font:inherit;min-width:0;outline:none;width:100%}.duplicate-warning{align-items:center;background:var(--color-orange-soft);border:1px solid transparent;border-radius:8px;color:var(--color-orange-dark);display:flex;font-size:.86rem;font-weight:800;gap:.55rem;padding:.75rem}.inline-panel{border-top:1px solid var(--color-border);display:grid;gap:.9rem;margin-top:.4rem;padding-top:1rem}.secondary-action:disabled{cursor:not-allowed;opacity:.55}.teacher-toggle{align-content:center;align-items:center;background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;display:flex!important;flex-direction:row;gap:.6rem!important;min-height:2.75rem;padding:.65rem .75rem}.teacher-toggle input{min-height:auto;width:auto}.selection-fieldset{border:1px solid var(--color-border);border-radius:8px;display:grid;gap:.75rem;margin:0;padding:.9rem}.selection-fieldset legend{color:var(--color-blue-dark);font-size:.84rem;font-weight:850;padding:0 .35rem}.selection-grid{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}.selection-option{align-items:center;background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;display:flex!important;flex-direction:row;gap:.55rem!important;min-height:2.65rem;padding:.6rem .7rem}.selection-option input{min-height:auto;width:auto}.selection-option:has(input:disabled){opacity:.58}.field-error,.field-warning{font-size:.76rem;line-height:1.35}.field-error{color:#b3261e}.field-warning{color:var(--color-orange-dark)}.teacher-profile-card__top{align-items:center;display:flex;gap:.85rem}.teacher-avatar{align-items:center;background:var(--color-blue-soft);border-radius:8px;color:var(--color-text-primary);display:inline-flex;flex:0 0 auto;font-weight:900;height:3rem;justify-content:center;width:3rem}.teacher-meta-list{display:grid;gap:.8rem;margin:0}.teacher-meta-list div{display:grid;gap:.22rem}.teacher-meta-list dt{align-items:center;color:var(--color-muted);display:flex;font-size:.76rem;font-weight:800;gap:.35rem}.teacher-meta-list dd{color:var(--color-text);font-size:.9rem;margin:0;overflow-wrap:anywhere}.drive-check{align-items:center;color:var(--color-blue-dark);display:grid;gap:.75rem;grid-template-columns:auto minmax(0,1fr)}.drive-check strong,.drive-check small{display:block;line-height:1.35}.drive-check small{color:var(--color-muted);font-size:.82rem}.teacher-group-list{display:grid;gap:.6rem;list-style:none;margin:0;padding:0}.teacher-group-list li{background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;display:grid;gap:.2rem;padding:.75rem}.teacher-group-list span{color:var(--color-muted);font-size:.82rem}body .app-shell .student-group-history-card,.theme-dark-dev body .app-shell .student-group-history-card{background:var(--group-card-bg);border-color:var(--group-card-border);color:var(--group-card-title)}body .app-shell .student-group-history-card strong,.theme-dark-dev body .app-shell .student-group-history-card strong{color:var(--group-card-title)!important;font-weight:750;overflow-wrap:anywhere}body .app-shell .student-group-history-card__route,.theme-dark-dev body .app-shell .student-group-history-card__route{color:var(--group-card-route)!important;font-weight:650;overflow-wrap:anywhere}body .app-shell .student-group-history-card__meta,.theme-dark-dev body .app-shell .student-group-history-card__meta{color:var(--group-card-meta)!important;font-weight:600;overflow-wrap:anywhere}.sheet-status-grid{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.sheet-status-grid div{background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;display:grid;gap:.2rem;padding:.65rem}.sheet-status-grid dt{color:var(--color-muted);font-size:.72rem;font-weight:850}.sheet-status-grid dd{color:var(--color-blue-dark);font-size:.86rem;font-weight:850;margin:0}.sheet-tab-list{display:flex;flex-wrap:wrap;gap:.45rem}.sheet-tab-list span{background:var(--color-orange-soft);border:0;border-radius:999px;box-shadow:none;color:var(--color-orange-dark);font-size:.72rem;font-weight:850;padding:.32rem .55rem}.sheet-sync-button{justify-content:center;margin-top:.75rem;width:100%}.group-sheet-sync-panel{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-card);display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto auto;padding:1rem}.group-sheet-sync-panel h3{color:var(--color-blue-dark);margin:.15rem 0}.group-sheet-sync-panel p{color:var(--color-muted);margin:0}.group-sheet-sync-panel dl{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(8rem,1fr));margin:0}.group-sheet-sync-panel dt{color:var(--color-muted);font-size:.72rem;font-weight:850}.group-sheet-sync-panel dd{color:var(--color-blue-dark);font-weight:850;margin:.15rem 0 0}.intro-panel,.module-panel,.route-card{background:var(--surface-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-card)}.export-control-page{background:linear-gradient(180deg,var(--surface-subtle) 0%,var(--surface-card) 100%)}.export-control-page .dashboard-hero,.export-control-page .dashboard-panel,.export-control-page .metric-card{background:var(--surface-card-raised)}.intro-panel{align-items:start;display:grid;gap:1rem;grid-template-columns:auto minmax(0,1fr);padding:1.5rem}.intro-panel__icon,.route-card__icon{align-items:center;background:var(--color-orange-soft);border:0;border-radius:8px;color:var(--color-orange-dark);display:inline-flex;justify-content:center}.intro-panel__icon{height:3.25rem;width:3.25rem}.intro-panel p,.module-panel p{color:var(--color-muted);line-height:1.6;margin:.5rem 0 0}.card-grid{display:grid;gap:1rem;grid-auto-rows:minmax(6.5rem,auto);grid-template-columns:repeat(3,minmax(0,1fr))}.route-card{align-items:center;display:grid;gap:.85rem;grid-template-columns:auto minmax(0,1fr) auto;height:100%;min-height:6.5rem;padding:1rem}.route-card:hover{border-color:var(--color-orange)}.route-card__icon{height:2.75rem;width:2.75rem}.route-card small{color:var(--color-muted);display:block;font-size:.78rem;margin-bottom:.25rem}.route-card strong{color:var(--color-blue-dark);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.module-panel{display:grid;gap:1rem;padding:1.25rem}.module-panel__header{align-items:start;display:flex;gap:1rem;justify-content:space-between}.placeholder-surface{align-items:center;background:linear-gradient(135deg,rgb(15 111 182 / .08),transparent 45%),linear-gradient(315deg,rgb(245 130 32 / .1),transparent 45%),var(--surface-card-raised);border:1px dashed #b8cce0;border-radius:8px;color:var(--color-blue);display:grid;justify-items:center;min-height:16rem;padding:2rem;text-align:center}.scope-list{display:grid;gap:.6rem;list-style:none;margin:0;padding:0}.scope-list li{align-items:center;background:var(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;color:var(--color-blue-dark);display:flex;gap:.5rem;min-height:2.75rem;padding:.65rem .8rem}.teacher-dashboard-card,.route-planner-panel,.group-analysis,.student-route-panel,.student-route-checklist,.group-sheet-sync-panel,.teacher-profile-card,.teacher-list-panel,.teacher-detail-panel,.teacher-side-panel,.student-list-panel,.student-detail-panel,.student-history-panel,.intranet-list-panel,.intranet-detail-panel,.extra-step-panel,.z-route-panel{box-shadow:var(--shadow-panel)}.dashboard-panel__header,.report-editor-panel__head,.report-template-panel__head,.report-prompt-panel__head,.step-input-form__header,.group-route-hero,.student-route-hero{border-bottom:1px solid var(--color-border);padding-bottom:.75rem}.route-type-chip,.route-step-type,.route-step-period,.status-pill,.student-route-status,.signal-badge{letter-spacing:0;text-transform:none}.quick-action,.report-download-link,.intranet-actions a,.student-route-edit{transition:border-color .14s ease,box-shadow .14s ease}.quick-action:hover,.report-download-link:hover,.intranet-actions a:hover,.student-route-edit:hover{box-shadow:0 8px 18px #0f6fb61a}@media(max-width:78rem){.app-shell{grid-template-columns:4.5rem minmax(0,1fr)}.app-header{grid-template-columns:minmax(15rem,auto) minmax(0,1fr) auto}.app-header__logo{max-width:11.5rem}.sidebar{padding:.7rem}.brand{align-items:flex-start}.nav-item{min-height:2.65rem;padding:.4rem .5rem}.admin-dashboard,.teacher-dashboard,.docent-route-dashboard,.group-route-page,.student-route-page,.step-input-page,.report-prep-page,.import-control-page{max-width:100%}.import-control-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.report-prep-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:56rem){.app-shell{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr)}.app-header{grid-column:1;grid-template-columns:minmax(0,1fr) auto;min-height:4rem}.app-header__brand{gap:.75rem}.app-header__logo{max-height:2rem;max-width:9.75rem}.app-header__module{font-size:.86rem;padding-left:.75rem}.app-header__page{grid-column:1 / -1;order:3}.app-header__page h1{font-size:1.08rem}.app-header__user{gap:.5rem}.app-header__actions{justify-content:flex-end}.view-switcher{max-width:min(16rem,52vw)}.header-view-switcher__admin{display:none}.header-view-switcher__button{inline-size:min(11rem,38vw)}.header-view-switcher__menu-button{inline-size:2rem;flex:0 0 2rem}.view-switcher__item,.view-switcher__select{font-size:.76rem;max-width:8.5rem;padding-inline:.4rem}.app-header__user-name{display:none}.app-header__logout{min-height:2.2rem;padding-inline:.65rem}.sidebar{align-items:stretch;gap:.55rem;grid-column:1;grid-row:2;padding:.55rem;position:static}.main-area{grid-column:1;grid-row:3}.brand{display:none;max-width:100%}.nav-list{display:flex;gap:.25rem;overflow-x:auto;width:100%}.nav-item{flex:0 0 2.75rem;min-height:2.35rem;width:2.75rem}.nav-item small,.sidebar-view-switch{display:none}.sidebar-view-switch__teacher small{grid-column:1 / -1;padding-left:.45rem}.card-grid,.metric-grid,.import-control-summary,.import-control-workspace,.import-record dl,.notification-settings-grid,.dashboard-columns,.teacher-group-overview,.teacher-dashboard-columns,.docent-dashboard-blocks,.group-route-header,.group-sheet-sync-panel,.group-route-facts,.route-step-stats,.group-analysis-grid,.compact-analysis-cards,.compact-analysis-grid,.student-route-selectors,.student-route-header,.student-route-facts,.student-route-workspace,.student-route-step-facts,.z-route-metrics,.z-observation-grid,.step-input-context,.step-input-layout,.step-input-grid,.step-input-action-row,.extra-step-layout,.extra-step-options,.extra-step-toggles,.intranet-management-layout,.report-prep-controls,.report-prep-summary,.report-editor-layout,.report-status-control,.report-editor-meta,.report-download-list,.report-export-status,.report-template-grid,.rotterdam-field-source-grid,.rotterdam-concept-grid,.report-prep-layout,.docent-cockpit-export,.docent-cockpit-export__status,.admin-export-layout,.admin-export-detail-grid,.admin-drive-form,.teacher-management__layout,.teacher-form,.selection-grid,.docent-route-dashboard__intro,.docent-cockpit-hero,.course-task-route__workspace,.course-task-route--editing .course-task-route__workspace{grid-template-columns:1fr}.route-task-detail-panel{border-left:0;border-top:1px solid var(--border-color)}.course-task-route__header{align-items:stretch;flex-direction:column}.course-task-route__map{padding:.75rem}.course-task-route__scroll{grid-auto-rows:auto;grid-template-columns:1fr}.app-header,.module-panel__header,.dashboard-hero,.group-route-hero,.student-route-hero,.student-route-point__head,.student-route-point__footer,.step-input-hero,.step-input-form__header,.report-editor-panel__head,.report-template-panel__head,.report-template-actions,.report-export-status,.report-prompt-panel__head,.route-step-card__title{align-items:stretch;flex-direction:column}.app-header{align-items:center;flex-direction:unset}.route-step-card,.student-route-point{grid-template-columns:minmax(0,1fr)}.route-step-list:before,.student-route-list:before{display:none}.group-route-selector,.student-route-selectors{flex-basis:auto}.student-route-checklist,.report-editor-side,.report-prep-side{position:static}.teacher-form__actions{justify-content:stretch}.teacher-form__actions>button,.report-download-link,.primary-action,.secondary-action{width:100%}.teacher-overview-table,.teacher-overview-table thead,.teacher-overview-table tbody,.teacher-overview-table tr,.teacher-overview-table td{display:block;width:100%}.teacher-overview-table thead{display:none}.teacher-overview-table tr{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;margin-bottom:.6rem;padding:.6rem}.teacher-overview-table td{align-items:start;border-bottom:0;display:grid;gap:.35rem;grid-template-columns:7rem minmax(0,1fr);padding:.3rem 0}.teacher-overview-table td:before{color:var(--color-muted);content:attr(data-label);font-size:.72rem;font-weight:900;text-transform:uppercase}.icon-action-row{justify-content:flex-start}.admin-teacher-summary-grid,.history-list dl{grid-template-columns:1fr}}@media(max-width:36rem){.app-header{gap:.75rem}.app-header__module{display:none}.app-header__logo{max-width:10.5rem}.app-header__logout span,.app-header__page{display:none}.view-switcher__item:not(.view-switcher__item--active){display:none}.view-switcher__select{max-width:7.5rem}.header-view-switcher__button{inline-size:2.2rem;padding-inline:.5rem;justify-content:center}.header-view-switcher__button span{display:none}.header-view-switcher__menu{inset-inline-end:-3rem}}.app-shell--sidebar-collapsed{grid-template-columns:4.75rem minmax(0,1fr)}.app-shell--sidebar-expanded{grid-template-columns:14rem minmax(0,1fr)}.sidebar{padding:.75rem .45rem}.sidebar--collapsed{align-items:center}.sidebar--expanded{align-items:stretch;padding-inline:.75rem}.sidebar-toggle{align-items:center;align-self:center;background:var(--color-blue-soft);border:1px solid var(--accent-blue-border);border-radius:10px;cursor:pointer;display:inline-flex;flex:0 0 3rem;height:3rem;justify-content:center;min-height:3rem;padding:0;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease;width:3rem}.sidebar-toggle:hover,.sidebar-toggle:focus-visible{background:var(--color-orange-soft);border-color:transparent}.sidebar-toggle:focus-visible{outline:3px solid rgb(245 130 32 / .35);outline-offset:2px}.sidebar-toggle svg{color:var(--color-blue);flex:0 0 auto}.sidebar-toggle:hover svg,.sidebar-toggle:focus-visible svg{color:var(--color-orange-dark)}.sidebar--collapsed .brand{display:flex;justify-content:center;min-height:2.75rem;padding:.45rem;width:3.25rem}.sidebar--expanded .brand{display:flex;justify-content:flex-start;width:100%}.sidebar--collapsed .brand span,.sidebar--collapsed .brand strong,.sidebar--collapsed .brand small,.sidebar--collapsed .nav-item span,.sidebar--collapsed .nav-item strong,.sidebar--collapsed .nav-item small,.sidebar--collapsed .sidebar-view-switch__item span,.sidebar--collapsed .sidebar-view-switch__teacher{display:none}.sidebar--expanded .brand span,.sidebar--expanded .brand strong,.sidebar--expanded .brand small,.sidebar--expanded .nav-item span,.sidebar--expanded .nav-item strong,.sidebar--expanded .nav-item small{display:block}.sidebar--collapsed .nav-list{gap:.42rem;width:3.25rem}.sidebar--expanded .nav-list{gap:.3rem;width:100%}.sidebar--collapsed .nav-item{border-radius:10px;display:inline-flex;height:3rem;justify-content:center;min-height:3rem;padding:0;position:relative;width:3rem}.sidebar--expanded .nav-item{border-radius:10px;display:grid;gap:.55rem;grid-template-columns:1.05rem minmax(0,1fr);min-height:2.75rem;padding:.45rem .55rem;width:100%}.nav-item svg{flex:0 0 auto;height:1.18rem;width:1.18rem}.sidebar--collapsed .nav-item[data-tooltip]:after{background:var(--popup-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-card);content:attr(data-tooltip);font-size:.78rem;font-weight:800;inline-size:max-content;inset-block-start:50%;inset-inline-start:calc(100% + .45rem);max-inline-size:min(13rem,calc(100vw - 6rem));opacity:0;padding:.42rem .55rem;pointer-events:none;position:absolute;text-overflow:ellipsis;transform:translateY(-50%);transition:opacity .14s ease;white-space:nowrap;z-index:45}.sidebar--collapsed .nav-item[data-tooltip]:hover:after,.sidebar--collapsed .nav-item[data-tooltip]:focus-visible:after{opacity:1}.sidebar--collapsed .sidebar-view-switch{gap:.42rem;padding:0;width:3.25rem}.sidebar--expanded .sidebar-view-switch{width:100%}.sidebar--collapsed .sidebar-view-switch__item{border-radius:10px;display:inline-flex;height:2.8rem;justify-content:center;min-height:2.8rem;padding:0;width:3rem}body :is(h1,h2,h3,h4,p,span,strong,small,label,legend,dt,dd,li,td,th,button,a,input,select,textarea,option,summary,figcaption),body :is(button,a,input,select,textarea,.nav-item,.nav-item:hover,.nav-item--active,.sidebar-view-switch__item,.sidebar-view-switch__item:hover,.sidebar-view-switch__item--active,.header-view-switcher__admin,.header-view-switcher__admin:hover,.header-view-switcher__admin--active,.header-view-switcher__button,.header-view-switcher__button:hover,.header-view-switcher__button--active,.header-view-switcher__menu-button,.header-view-switcher__menu-button:hover,.header-view-switcher__menu-button[aria-expanded=true],.header-view-switcher__option,.header-view-switcher__option:hover,.header-view-switcher__option--active,.route-task-point,.route-task-point:hover,.route-task-point--active,.route-task-point--complete,.status-pill,.signal-badge,.mini-status,.primary-action,.primary-action:hover,.secondary-action,.secondary-action:hover){color:var(--color-text-primary)!important}.app-header{background:linear-gradient(90deg,#ffffff 0%,#ffffff 72%,var(--color-blue-faint) 100%);border-bottom-color:var(--accent-blue-border)}.app-header__brand{border-inline-start:3px solid var(--color-orange);padding-inline-start:.55rem}.sidebar{background:linear-gradient(180deg,var(--nav-bg) 0%,var(--nav-bg-strong) 100%);border-inline-end:1px solid var(--nav-border)}.brand,.nav-item,.sidebar-view-switch{background:#ffffff14;border-color:var(--nav-border)}.nav-item:hover,.sidebar-view-switch__item:hover{background:var(--nav-hover-bg);border-color:#ffffff47}.nav-item--active,.sidebar-view-switch__item--active{background:var(--nav-active-bg);border-color:#ffffff52;box-shadow:none}.header-view-switcher__admin svg,.header-view-switcher__button svg,.header-view-switcher__menu-button svg,.secondary-action svg,.info-hint__button svg{color:var(--color-blue)}.primary-action svg,.metric-card--action .metric-card__icon svg,.metric-card--orange .metric-card__icon svg{color:var(--color-orange-dark)}.sidebar,.sidebar :is(.brand,.brand strong,.brand small,.nav-item,.nav-item strong,.nav-item small,.sidebar-view-switch__item,.sidebar-view-switch__item span,.sidebar-view-switch__teacher,.sidebar-view-switch__teacher small){color:var(--nav-text)!important}.sidebar :is(.brand svg,.nav-item svg,.sidebar-view-switch__item svg,.sidebar-toggle svg,.mobile-drawer-close svg){color:var(--nav-text)!important}.sidebar .nav-item small,.sidebar .brand small,.sidebar .sidebar-view-switch__teacher small{color:var(--nav-muted)!important}.sidebar-toggle,.mobile-drawer-close{background:#ffffff1a;border-color:var(--nav-border)}.sidebar-toggle:hover,.sidebar-toggle:focus-visible,.mobile-drawer-close:hover,.mobile-drawer-close:focus-visible{background:var(--nav-hover-bg);border-color:#ffffff52}.dashboard-hero,.dashboard-panel,.metric-card,.teacher-dashboard-card,.docent-route-dashboard__intro,.course-task-route,.teacher-list-panel,.teacher-detail-panel,.teacher-profile-card,.student-list-panel,.student-detail-panel,.report-editor-panel,.report-template-panel,.report-prompt-panel,.import-control-page .dashboard-panel,.export-control-page .dashboard-panel{background:linear-gradient(180deg,#ffffff 0%,var(--surface-card) 100%);border-color:var(--border-color)}.metric-card,.teacher-dashboard-card,.dashboard-panel{background:linear-gradient(180deg,#fff,#f8fbff);border-color:var(--accent-blue-border);border-top-color:var(--color-blue)}.metric-card--action,.metric-card--orange{background:linear-gradient(180deg,#fff,#fff8ef);border-color:transparent;border-top-color:var(--color-orange)}.teacher-dashboard-card{border-left:4px solid var(--color-blue)}.docent-dashboard-block{background:linear-gradient(180deg,var(--surface-card-raised) 0%,var(--surface-card) 100%);border-color:var(--accent-blue-border);border-top:3px solid var(--color-blue)}.docent-dashboard-block:nth-of-type(2){border-top-color:var(--color-orange)}.docent-dashboard-block:nth-of-type(3){border-top-color:var(--status-complete-accent)}.docent-dashboard-block li{background:color-mix(in srgb,var(--color-blue-faint) 82%,#ffffff);border-color:var(--accent-blue-border)}.docent-dashboard-block li:hover,.primary-action,.quick-action:hover{background:var(--color-orange-soft);border-color:transparent}.primary-action:hover,.primary-action:focus-visible{background:color-mix(in srgb,var(--color-orange-soft) 70%,#ffffff);border-color:var(--color-orange)}.secondary-action,.header-view-switcher__admin,.header-view-switcher__button,.header-view-switcher__menu-button{background:var(--color-blue-soft);border-color:var(--accent-blue-border)}.secondary-action:hover,.header-view-switcher__admin:hover,.header-view-switcher__admin--active,.header-view-switcher__button:hover,.header-view-switcher__button--active,.header-view-switcher__menu-button:hover,.header-view-switcher__menu-button[aria-expanded=true]{background:var(--color-orange-soft);border-color:transparent}.status-pill,.mini-status,.signal-badge,.dashboard-hero__badge,.route-task-point__status,.route-task-point__type,.sheet-tab-list span{background:var(--badge-bg);border-color:transparent;box-shadow:none}.status-pill--success{background:var(--status-complete-bg);border-color:var(--status-complete-border)}.status-pill--warning,.signal-badge--action{background:var(--status-action-bg);border-color:var(--status-action-border);color:var(--status-action-accent)}.info-hint__button,.metric-card__icon,.teacher-dashboard-card__icon,.activity-item__icon,.route-card__icon,.intro-panel__icon,.route-task-point__icon{background:var(--color-blue-soft);border-color:var(--accent-blue-border);color:var(--color-blue)}.metric-card--action .metric-card__icon,.metric-card--orange .metric-card__icon,.dashboard-panel:nth-of-type(2) .metric-card__icon,.route-task-point--actie-nodig .route-task-point__status-icon{background:var(--status-action-bg);border-color:var(--status-action-border);color:var(--status-action-accent)}.route-task-point__type-icon svg,.route-task-point__status-icon svg,.route-task-point__icon svg{color:currentColor}.route-task-point--active .route-task-point__body{background:linear-gradient(90deg,var(--route-category-accent) 0 .22rem,transparent .22rem),color-mix(in srgb,var(--route-category-bg) 78%,#ffffff)}.route-task-point--state-klaar .route-task-point__body{background:linear-gradient(90deg,var(--route-category-accent) 0 .22rem,transparent .22rem),color-mix(in srgb,var(--route-category-bg) 78%,#ffffff);border-color:var(--route-category-border)}.route-task-point--state-bezig .route-task-point__body{background:linear-gradient(90deg,var(--route-category-accent) 0 .22rem,transparent .22rem),color-mix(in srgb,var(--route-category-bg) 88%,#ffffff);border-color:var(--route-category-border)}.route-task-point--state-open .route-task-point__body,.route-task-point--state-openstaand .route-task-point__body{background:linear-gradient(90deg,var(--route-category-accent) 0 .22rem,transparent .22rem),color-mix(in srgb,var(--route-category-bg) 74%,#ffffff);border-color:var(--route-category-border)}.route-task-point--state-klaar .route-task-point__status,.student-route-status--complete{background:var(--status-complete-bg);border-color:var(--status-complete-border)}.student-route-status--busy{background:var(--status-busy-bg);border-color:var(--status-busy-border)}.student-route-status--idle{background:var(--status-open-bg);border-color:var(--status-open-border)}.student-route-status--action{background:var(--status-action-bg);border-color:var(--status-action-border);color:var(--status-action-accent)}.export-control-page{background:linear-gradient(180deg,var(--color-blue-faint) 0%,var(--surface-page) 100%)}.admin-export-layout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(16rem,.34fr) minmax(0,1fr)}.admin-export-list{display:grid;gap:.5rem}.admin-export-row{align-items:center;background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;display:grid;font:inherit;gap:.6rem;grid-template-columns:minmax(0,1fr) auto;min-height:3.4rem;padding:.6rem .7rem;text-align:left}.admin-export-row--active,.admin-export-row:hover,.admin-export-row:focus-visible{background:var(--color-blue-soft);border-color:var(--color-blue)}.admin-export-row strong,.admin-export-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-export-row b{color:var(--color-blue-dark);font-size:.8rem}.admin-export-details{display:grid;gap:.8rem}.admin-export-detail-grid{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.admin-export-detail-grid div{background:var(--color-blue-faint);border:1px solid var(--color-border);border-radius:8px;display:grid;gap:.2rem;min-width:0;padding:.65rem}.admin-export-detail-grid dt,.admin-drive-form label span{color:var(--color-muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.admin-export-detail-grid dd{color:var(--color-blue-dark);font-weight:850;margin:0;min-width:0;overflow-wrap:anywhere}.admin-drive-form{display:grid;gap:.6rem;grid-template-columns:minmax(0,.75fr) minmax(0,1fr) auto}.admin-drive-form label{display:grid;gap:.3rem;min-width:0}.admin-drive-form input{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font:inherit;min-height:2.55rem;min-width:0;padding:.55rem .65rem}.admin-export-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.primary-action,.primary-action:hover,.primary-action:focus-visible,.primary-action:active,.primary-action[aria-pressed=true],.primary-action[aria-selected=true]{background:var(--button-dark-bg);border-color:var(--button-dark-border);color:var(--button-dark-text)!important}.primary-action:hover,.primary-action:focus-visible{background:var(--button-dark-hover-bg);color:var(--button-dark-hover-text)!important}.primary-action:active,.primary-action[aria-pressed=true],.primary-action[aria-selected=true]{background:var(--button-dark-active-bg);color:var(--button-dark-active-text)!important}.primary-action :is(svg,span,strong,small),.primary-action:hover :is(svg,span,strong,small),.primary-action:focus-visible :is(svg,span,strong,small),.primary-action:active :is(svg,span,strong,small),.primary-action[aria-pressed=true] :is(svg,span,strong,small),.primary-action[aria-selected=true] :is(svg,span,strong,small){color:var(--button-dark-text)!important;stroke:currentColor}.primary-action:disabled,.primary-action[disabled]{background:color-mix(in srgb,var(--button-dark-bg) 72%,#ffffff);border-color:color-mix(in srgb,var(--button-dark-border) 72%,#ffffff);color:var(--button-dark-text)!important;cursor:not-allowed;opacity:1}.primary-action:disabled :is(svg,span,strong,small),.primary-action[disabled] :is(svg,span,strong,small){color:var(--button-dark-text)!important}.secondary-action:disabled,.secondary-action[disabled],.quick-action:disabled,.quick-action[disabled],.compact-action:not(.primary-action):disabled,.compact-action:not(.primary-action)[disabled],.icon-action:disabled,.icon-action[disabled]{background:var(--status-open-bg);border-color:var(--status-open-border);color:var(--color-text-secondary)!important;cursor:not-allowed;opacity:1}.secondary-action,.secondary-action:hover,.secondary-action:focus-visible,.secondary-action:active,.secondary-action[aria-pressed=true],.secondary-action[aria-selected=true],.quick-action,.quick-action:hover,.quick-action:focus-visible,.quick-action:active,.compact-action:not(.primary-action),.compact-action:not(.primary-action):hover,.compact-action:not(.primary-action):focus-visible,.icon-action,.icon-action:hover,.icon-action:focus-visible,.icon-action:active,.report-download-link,.report-download-link:hover,.report-download-link:focus-visible,.admin-teacher-context__back,.admin-teacher-context__back:hover,.header-view-switcher__admin,.header-view-switcher__button,.header-view-switcher__menu-button,.header-view-switcher__admin:hover,.header-view-switcher__admin--active,.header-view-switcher__button:hover,.header-view-switcher__button--active,.header-view-switcher__menu-button:hover,.header-view-switcher__menu-button[aria-expanded=true],.info-hint__button,.info-hint__button:hover,.info-hint__button:focus-visible{color:var(--button-light-text)!important}.secondary-action :is(svg,span,strong,small),.quick-action :is(svg,span,strong,small),.compact-action:not(.primary-action) :is(svg,span,strong,small),.icon-action :is(svg,span,strong,small),.report-download-link :is(svg,span,strong,small),.admin-teacher-context__back :is(svg,span,strong,small),.header-view-switcher__admin :is(svg,span,strong,small),.header-view-switcher__button :is(svg,span,strong,small),.header-view-switcher__menu-button :is(svg,span,strong,small),.info-hint__button :is(svg,span,strong,small){color:currentColor!important;stroke:currentColor}.status-pill--dark,.signal-badge--dark,.badge--dark,.accent-heading--dark{background:var(--color-blue-dark);border-color:transparent;box-shadow:none;color:var(--color-ink-on-dark)!important}.status-pill--dark svg,.signal-badge--dark svg,.badge--dark svg,.accent-heading--dark svg{color:var(--color-ink-on-dark)}.mobile-menu-button,.mobile-drawer-close,.mobile-nav-backdrop{display:none}@media(max-width:56rem){.app-shell--sidebar-collapsed{grid-template-columns:4.25rem minmax(0,1fr)}.app-shell--sidebar-expanded{grid-template-columns:minmax(9.75rem,11rem) minmax(0,1fr)}.sidebar{grid-column:1;grid-row:2 / 4;position:relative}.app-header{grid-column:1 / -1}.main-area{grid-column:2;grid-row:2}.sidebar--expanded .nav-item small,.sidebar--expanded .brand small{display:none}}@media(max-width:36rem){.app-shell--sidebar-expanded{grid-template-columns:minmax(8.75rem,9.75rem) minmax(0,1fr)}.sidebar--expanded{padding-inline:.45rem}.sidebar--expanded .nav-item{gap:.4rem;padding-inline:.45rem}}@media(max-width:48rem){html,body,#root{inline-size:100%;max-inline-size:100%;overflow-x:hidden}.app-shell,.app-shell--sidebar-collapsed,.app-shell--sidebar-expanded{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);max-inline-size:100vw;min-inline-size:0;overflow-x:clip}.app-header{grid-column:1 / -1;grid-template-columns:auto minmax(0,1fr) auto;max-inline-size:100vw;min-inline-size:0;overflow-x:clip;padding-inline:.6rem}.sidebar{block-size:100dvh;box-shadow:var(--shadow-panel);inline-size:min(18rem,calc(100vw - 2rem));inset-block:0;inset-inline-start:0;max-inline-size:100%;min-inline-size:0;overflow-y:auto;padding:.65rem;position:fixed;transform:translate(-105%);transition:transform .18s ease;z-index:70}.sidebar .nav-list{display:grid;overflow:visible}.sidebar--mobile-open{transform:translate(0)}.main-area{grid-column:1;grid-row:2;max-inline-size:100%;min-inline-size:0;overflow-x:clip}.mobile-menu-button,.mobile-drawer-close{align-items:center;background:var(--color-blue-soft);border:1px solid var(--accent-blue-border);border-radius:9px;cursor:pointer;display:inline-flex;flex:0 0 2.25rem;block-size:2.25rem;inline-size:2.25rem;justify-content:center;min-block-size:2.25rem;padding:0}.mobile-menu-button:hover,.mobile-menu-button:focus-visible,.mobile-drawer-close:hover,.mobile-drawer-close:focus-visible{background:var(--color-orange-soft);border-color:transparent}.mobile-menu-button:focus-visible,.mobile-drawer-close:focus-visible{outline:3px solid rgb(245 130 32 / .35);outline-offset:2px}.mobile-drawer-close{align-self:end;margin-block-end:.25rem}.mobile-menu-button svg,.mobile-drawer-close svg{block-size:1rem;inline-size:1rem}.mobile-nav-backdrop{background:#11111152;border:0;display:block;inset:0;padding:0;position:fixed;z-index:60}.content{inline-size:100%;margin-inline:0;max-inline-size:100%;min-inline-size:0;overflow-x:clip;padding:.7rem .55rem 1rem}.sidebar-toggle,.sidebar-view-switch{display:none}.sidebar--collapsed .nav-list,.sidebar--expanded .nav-list{inline-size:100%}.sidebar--collapsed .brand,.sidebar--expanded .brand{inline-size:100%;justify-content:flex-start}.sidebar--collapsed .brand span,.sidebar--collapsed .brand strong,.sidebar--collapsed .brand small,.sidebar--collapsed .nav-item span,.sidebar--collapsed .nav-item strong,.sidebar--collapsed .nav-item small{display:block}.sidebar--collapsed .nav-item,.sidebar--expanded .nav-item{display:grid;grid-template-columns:1rem minmax(0,1fr);inline-size:100%;min-block-size:2.75rem;min-inline-size:0;padding:.45rem .55rem}.sidebar--collapsed .nav-item span,.sidebar--expanded .nav-item span,.sidebar--collapsed .nav-item strong,.sidebar--expanded .nav-item strong{min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar--expanded .nav-item small,.sidebar--expanded .brand small{display:none}.sidebar--collapsed .nav-item[data-tooltip]:after{display:none}.app-header__brand,.app-header__actions,.app-header__user,.header-view-switcher{min-inline-size:0}.app-header__logo{max-inline-size:min(8.5rem,42vw)}.app-header__module,.app-header__page,.app-header__user-name{display:none}.header-view-switcher__button{inline-size:2.25rem;justify-content:center;padding-inline:0}.header-view-switcher__button span{display:none}.header-view-switcher__menu{inline-size:min(18rem,calc(100vw - 1rem));inset-inline-end:0;max-inline-size:calc(100vw - 1rem)}.dashboard-hero,.module-panel__header,.report-editor-panel__head,.report-template-panel__head,.report-prompt-panel__head,.step-input-form__header,.group-route-hero,.student-route-hero{align-items:stretch;display:grid;gap:.6rem;grid-template-columns:1fr}.metric-grid,.card-grid,.dashboard-columns,.teacher-management__layout,.student-management__layout,.teacher-group-overview,.teacher-dashboard-columns,.docent-dashboard-blocks,.course-task-route__workspace,.group-route-header,.group-sheet-sync-panel,.group-route-facts,.route-step-stats,.group-analysis-grid,.compact-analysis-cards,.compact-analysis-grid,.student-route-selectors,.student-route-header,.student-route-facts,.student-route-workspace,.student-route-step-facts,.z-route-metrics,.z-observation-grid,.step-input-context,.step-input-layout,.step-input-grid,.step-input-action-row,.extra-step-layout,.extra-step-options,.extra-step-toggles,.intranet-management-layout,.report-prep-controls,.report-prep-summary,.report-editor-layout,.report-status-control,.report-editor-meta,.report-download-list,.report-export-status,.report-template-grid,.rotterdam-field-source-grid,.rotterdam-concept-grid,.report-prep-layout,.selection-grid,.teacher-form,.import-control-summary,.import-control-workspace,.notification-settings-grid{grid-template-columns:minmax(0,1fr)}.dashboard-hero,.dashboard-panel,.metric-card,.teacher-dashboard-card,.docent-route-dashboard__intro,.course-task-route,.route-task-detail-panel,.teacher-list-panel,.teacher-detail-panel,.teacher-side-panel,.student-list-panel,.student-detail-panel,.report-editor-panel,.report-template-panel,.report-prompt-panel,.import-record,.notification-card,.group-sheet-sync-panel{max-inline-size:100%;min-inline-size:0;overflow-wrap:anywhere}.course-task-route__map{padding:.55rem}.course-task-route__scroll{grid-template-columns:minmax(0,1fr)}.route-task-detail-panel{border-left:0;border-top:1px solid var(--border-color)}.responsive-table-wrap,.teacher-overview-table-panel{max-inline-size:100%;min-inline-size:0;overflow-x:hidden}.teacher-overview-table,.teacher-overview-table thead,.teacher-overview-table tbody,.teacher-overview-table tr,.teacher-overview-table td{display:block;inline-size:100%}.teacher-overview-table thead{display:none}.teacher-overview-table tr{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;margin-block-end:.6rem;padding:.55rem}.teacher-overview-table td{align-items:start;border-bottom:0;display:grid;gap:.25rem;grid-template-columns:minmax(0,1fr);padding:.35rem 0}.teacher-overview-table td:before{color:var(--color-muted);content:attr(data-label);font-size:.7rem;font-weight:900;text-transform:uppercase}.primary-action,.secondary-action,.quick-action,.report-download-link,input,select,textarea{max-inline-size:100%;min-inline-size:0}.info-hint__popup{inline-size:min(16rem,calc(100vw - 1rem));inset-inline-end:auto;inset-inline-start:0;max-inline-size:calc(100vw - 1rem)}}@media(max-width:48rem){.page-grid,.admin-dashboard,.teacher-dashboard,.admin-teacher-dashboard,.teacher-management,.student-management,.docent-route-dashboard,.group-route-page,.student-route-page,.step-input-page,.report-prep-page,.import-control-page,.export-control-page,.dashboard-hero,.dashboard-panel,.metric-card,.teacher-dashboard-card,.docent-dashboard-block,.course-task-route,.route-task-point,.route-task-point__body,.route-task-detail-panel,.teacher-list-panel,.teacher-detail-panel,.teacher-profile-card,.student-list-panel,.student-detail-panel,.student-history-panel,.group-sheet-sync-panel,.report-editor-panel,.report-editor-side,.report-template-panel,.report-prompt-panel,.report-section-card,.report-prep-side,.import-record,.notification-card,.module-panel,.intro-panel,.route-card{inline-size:100%;max-inline-size:100%;min-inline-size:0}.metric-grid,.teacher-group-overview,.teacher-dashboard-stats,.admin-teacher-summary-grid,.docent-dashboard-blocks,.report-prep-summary,.report-template-grid,.student-route-step-facts,.sheet-status-grid,.group-route-facts,.step-input-grid,.teacher-form,.selection-grid,.import-record dl,.group-sheet-sync-panel dl{grid-template-columns:minmax(0,1fr)}.metric-grid,.docent-dashboard-blocks,.course-task-route__scroll,.admin-teacher-summary-grid{grid-auto-rows:auto}.metric-card,.teacher-dashboard-card,.docent-dashboard-block{min-block-size:auto;padding:.75rem}.dashboard-hero{padding:.75rem}.dashboard-hero__badge,.status-pill,.mini-status,.signal-badge{max-inline-size:100%;white-space:normal}.course-task-route__workspace{display:grid;grid-template-columns:minmax(0,1fr)}.course-task-route--editing .course-task-route__workspace{grid-template-columns:minmax(0,1fr)}.course-task-route__map{border-bottom:1px solid var(--border-color)}.route-task-point__body{align-items:center;gap:.55rem;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;min-block-size:4.75rem;padding:.65rem .7rem}.route-task-point__top{grid-column:1;grid-row:1 / 3;justify-content:center}.route-task-point__status-icon,.route-task-point__type-icon span{display:none}.route-task-point h3{grid-column:2;grid-row:1;-webkit-line-clamp:2;min-block-size:0}.route-task-point__meta{grid-column:2;grid-row:2;min-block-size:0}.route-task-point__footer{grid-column:3;grid-row:1 / 3;justify-content:end}.route-task-point__footer small{background:var(--color-blue-soft);border:1px solid var(--accent-blue-border);border-radius:8px;color:var(--color-text-primary);display:inline-flex;font-size:.76rem;font-weight:900;min-block-size:2.35rem;padding:.55rem .65rem}.route-task-point__icon{display:none}.route-task-detail-panel{border-left:0;border-top:1px solid var(--border-color);padding:.75rem}.route-task-detail-panel__head,.route-task-detail-meta,.history-list dl,.route-task-detail-form{display:grid;grid-template-columns:minmax(0,1fr)}.route-task-detail-form label,.teacher-form label,.step-input-form label,.report-status-control label{min-inline-size:0}.route-task-detail-form input,.route-task-detail-form select,.route-task-detail-form textarea,.teacher-form input,.teacher-form select,.teacher-form textarea,.step-input-form input,.step-input-form select,.step-input-form textarea,.report-editor-panel textarea{inline-size:100%;min-block-size:2.75rem}select,.view-switcher__select,.docent-cockpit-hero select,.docent-route-dashboard__intro select,.group-route-selector select,.student-route-selectors select,.step-input-context select,.step-input-form select,.extra-step-form select,.intranet-step-list select,.intranet-link-form select,.report-prep-controls select,.report-status-control select,.teacher-form select,.compact-form select,.route-task-detail-form select{block-size:2.2rem;font-size:.84rem;line-height:1.15;min-block-size:2.2rem;padding-block:.32rem;padding-inline:.52rem 1.85rem}.route-task-detail-form textarea,.teacher-form textarea,.step-input-form textarea,.report-editor-panel textarea{min-block-size:6rem}.route-task-detail-form .primary-action,.teacher-form__actions,.step-input-form__actions,.report-template-actions{margin-block-start:.35rem}.teacher-overview-table tr{display:grid;gap:.35rem}.teacher-overview-table td{min-inline-size:0;overflow-wrap:anywhere}.icon-action-row{gap:.45rem}.icon-action{block-size:2.5rem;inline-size:2.5rem;min-block-size:2.5rem}.primary-action,.secondary-action,.quick-action,.compact-action,.report-download-link,.student-route-edit,.intranet-actions a,.icon-action{min-block-size:2.75rem}.primary-action,.secondary-action,.quick-action,.compact-action,.report-download-link{justify-content:center;white-space:normal}.info-hint{position:static}.info-hint__popup,.header-view-switcher__menu{inset-block-start:auto;inset-inline:.5rem;max-block-size:min(70dvh,28rem);overflow-y:auto;position:fixed;top:4.5rem;z-index:90}.route-detail-info .info-hint__popup{inline-size:auto;max-inline-size:calc(100vw - 1rem)}.report-export-status,.report-download-list,.report-template-actions,.teacher-form__actions,.step-input-action-row,.icon-action-row{align-items:stretch;display:flex;flex-wrap:wrap}.report-download-list>*,.teacher-form__actions>*,.step-input-action-row>*{flex:1 1 100%}}@media(max-width:48rem){.mobile-menu-button{background:var(--color-blue-dark);border-color:var(--color-blue-dark);block-size:2.2rem;flex-basis:2.2rem;inline-size:2.2rem;min-block-size:2.2rem}.mobile-menu-button svg{color:var(--color-ink-on-dark)}.sidebar .mobile-drawer-close{background:#ffffff1a;border-color:var(--nav-border);block-size:2.2rem;flex-basis:2.2rem;inline-size:2.2rem;min-block-size:2.2rem}.mobile-menu-button:hover,.mobile-menu-button:focus-visible{background:var(--button-hover-bg);border-color:var(--button-hover-bg)}.sidebar .mobile-drawer-close:hover,.sidebar .mobile-drawer-close:focus-visible{background:var(--nav-hover-bg);border-color:#ffffff52}select,.view-switcher__select,.docent-cockpit-hero select,.docent-route-dashboard__intro select,.group-route-selector select,.student-route-selectors select,.step-input-context select,.step-input-form select,.extra-step-form select,.intranet-step-list select,.intranet-link-form select,.report-prep-controls select,.report-status-control select,.teacher-form select,.compact-form select,.route-task-detail-form select{block-size:2.2rem;font-size:.84rem;line-height:1.15;min-block-size:2.2rem;padding-block:.32rem;padding-inline:.52rem 1.85rem}}.sidebar{--menu-blue: #0b5cad;--menu-blue-strong: #073b73;--menu-blue-hover: #0a4f96;--menu-blue-active: transparent;--menu-blue-border: transparent;--menu-blue-border-strong: transparent;--menu-blue-accent: #7dd3fc;--menu-text: #ffffff;--menu-text-muted: #dbeafe;background:linear-gradient(180deg,var(--menu-blue) 0%,var(--menu-blue-strong) 100%)!important;border-inline-end:1px solid var(--menu-blue-border);color:var(--menu-text)!important;gap:.5rem}.sidebar :is(.brand,.brand strong,.nav-item,.nav-item strong,.sidebar-view-switch__item,.sidebar-view-switch__item span,.sidebar-toggle,.mobile-drawer-close){color:var(--menu-text)!important}.sidebar :is(.brand small,.nav-item small,.sidebar-view-switch__teacher,.sidebar-view-switch__teacher small){color:var(--menu-text-muted)!important}.sidebar :is(.brand svg,.nav-item svg,.sidebar-view-switch__item svg,.sidebar-toggle svg,.mobile-drawer-close svg){color:var(--menu-text)!important;stroke:currentColor}.sidebar :is(.brand,.nav-item,.sidebar-view-switch,.sidebar-view-switch__item,.sidebar-toggle,.mobile-drawer-close){background:transparent;border-color:transparent}.sidebar :is(.nav-item:hover,.nav-item:focus-visible,.sidebar-view-switch__item:hover,.sidebar-view-switch__item:focus-visible,.sidebar-toggle:hover,.sidebar-toggle:focus-visible,.mobile-drawer-close:hover,.mobile-drawer-close:focus-visible){background:var(--menu-blue-hover);border-color:transparent;color:var(--menu-text)!important}.sidebar :is(.nav-item--active,.sidebar-view-switch__item--active){background:var(--menu-blue-active);border-color:transparent;box-shadow:none;color:var(--menu-text)!important}.sidebar-toggle{border-radius:8px;flex-basis:2.35rem;height:2.35rem;min-height:2.35rem;width:2.35rem}.sidebar-toggle svg{height:.95rem;width:.95rem}.sidebar--collapsed .brand{min-height:2.35rem;width:2.55rem}.sidebar--expanded .brand{min-height:2.35rem;padding-block:.42rem}.sidebar--collapsed .nav-list{gap:.24rem;width:2.55rem}.sidebar--expanded .nav-list{gap:.22rem}.sidebar--collapsed .nav-item{border-radius:8px;height:2.32rem;min-height:2.32rem;width:2.32rem}.sidebar--expanded .nav-item{border-radius:8px;gap:.46rem;grid-template-columns:.92rem minmax(0,1fr);min-height:2.32rem;padding:.34rem .45rem}.sidebar .nav-item svg{height:.98rem;width:.98rem}.sidebar .nav-item strong{font-size:.77rem;font-weight:780;line-height:1.1}.sidebar .nav-item small,.sidebar .brand small{font-size:.62rem;font-weight:650;line-height:1.05;margin-top:.04rem}.sidebar-view-switch{border-radius:8px;padding:.22rem}.sidebar-view-switch__item{border-radius:7px;font-size:.72rem;gap:.35rem;min-height:1.78rem;padding:.24rem .36rem}.sidebar--collapsed .nav-item[data-tooltip]:after{background:var(--popup-bg);border-color:var(--border-color);color:var(--color-text-primary)!important}@media(max-width:56rem)and (min-width:48.01rem){.app-shell--sidebar-collapsed{grid-template-columns:4rem minmax(0,1fr)}.app-shell--sidebar-expanded{grid-template-columns:minmax(9rem,10.25rem) minmax(0,1fr)}}@media(max-width:48rem){.sidebar{block-size:100dvh;inline-size:min(18rem,calc(100vw - 2rem));max-inline-size:calc(100vw - .75rem);overflow-x:hidden;overscroll-behavior:contain;transform:translate3d(-105%,0,0);visibility:hidden}.sidebar--mobile-open{transform:translateZ(0);visibility:visible}.sidebar--collapsed,.sidebar--expanded{padding:.65rem}.sidebar--collapsed .brand,.sidebar--expanded .brand,.sidebar--collapsed .nav-list,.sidebar--expanded .nav-list{inline-size:100%;width:100%}.sidebar--collapsed .brand{justify-content:flex-start;min-height:2.35rem}.sidebar--collapsed .brand span,.sidebar--collapsed .brand strong,.sidebar--collapsed .brand small,.sidebar--collapsed .nav-item span,.sidebar--collapsed .nav-item strong,.sidebar--collapsed .nav-item small,.sidebar--expanded .brand span,.sidebar--expanded .brand strong,.sidebar--expanded .brand small,.sidebar--expanded .nav-item span,.sidebar--expanded .nav-item strong,.sidebar--expanded .nav-item small{display:block}.sidebar--collapsed .nav-item,.sidebar--expanded .nav-item{block-size:auto;display:grid;grid-template-columns:1rem minmax(0,1fr);inline-size:100%;min-block-size:2.45rem;width:100%}.sidebar--collapsed .nav-item[data-tooltip]:after,.sidebar--expanded .nav-item[data-tooltip]:after{display:none}.mobile-nav-backdrop{cursor:default;touch-action:none}.mobile-menu-button{background:var(--color-blue-dark);border-color:var(--color-blue-dark);color:var(--color-ink-on-dark)}.mobile-menu-button svg{color:var(--color-ink-on-dark);stroke:currentColor}.mobile-menu-button:hover,.mobile-menu-button:focus-visible{background:#073b73;border-color:#073b73}.sidebar .mobile-drawer-close{background:#ffffff14;border-color:var(--menu-blue-border);color:var(--menu-text)!important}.sidebar--collapsed .nav-item,.sidebar--expanded .nav-item{min-block-size:2.45rem;padding:.4rem .5rem}.sidebar .nav-item strong{font-size:.82rem}.sidebar .nav-item small{font-size:.66rem}}.app-shell--docent.app-shell--sidebar-collapsed,.app-shell--docent.app-shell--sidebar-expanded{grid-template-columns:minmax(0,1fr)}.app-shell--docent .main-area,.app-shell--docent .app-header{grid-column:1}.app-shell--admin.app-shell--sidebar-collapsed{grid-template-columns:4.25rem minmax(0,1fr)}.app-shell--admin.app-shell--sidebar-expanded{grid-template-columns:12.25rem minmax(0,1fr)}.app-shell--docent,.app-shell--docent.app-shell--sidebar-collapsed,.app-shell--docent.app-shell--sidebar-expanded{grid-template-columns:minmax(0,1fr)}.app-shell--docent .sidebar,.app-shell--docent .mobile-menu-button,.app-shell--docent .mobile-nav-backdrop{display:none!important}.app-shell--docent .app-header,.app-shell--docent .main-area{grid-column:1}.app-shell--admin .sidebar{--menu-blue: #0b5cad;--menu-blue-strong: #073b73;--menu-blue-hover: #0a4f96;--menu-blue-active: transparent;--menu-blue-border: transparent;--menu-blue-border-strong: transparent;--menu-blue-accent: #7dd3fc;--menu-text: #ffffff;--menu-text-muted: #dbeafe;background:linear-gradient(180deg,var(--menu-blue) 0%,var(--menu-blue-strong) 100%)!important;color:var(--menu-text)!important;gap:.42rem;overflow-x:hidden;padding:.58rem .42rem}.app-shell--admin .sidebar :is(.brand,.nav-item,.sidebar-toggle,.mobile-drawer-close){background:transparent;border:1px solid transparent;border-radius:8px;box-sizing:border-box;color:var(--menu-text)!important}.app-shell--admin .sidebar :is(.brand strong,.nav-item strong,.sidebar-toggle,.mobile-drawer-close){color:var(--menu-text)!important}.app-shell--admin .sidebar :is(.brand small,.nav-item small){color:var(--menu-text-muted)!important}.app-shell--admin .sidebar :is(.brand svg,.nav-item svg,.sidebar-toggle svg,.mobile-drawer-close svg){color:var(--menu-text)!important;stroke:currentColor}.app-shell--admin .sidebar-topbar{align-items:start;display:flex;gap:.35rem;inline-size:100%;justify-content:flex-end}.app-shell--admin .sidebar-toggle,.app-shell--admin .mobile-drawer-close,.app-shell--admin .mobile-menu-button{block-size:2.18rem;inline-size:2.18rem;min-block-size:2.18rem;min-inline-size:2.18rem;padding:0}.app-shell--admin .sidebar-toggle{align-self:start;flex:0 0 2.18rem;justify-content:center;justify-self:end}.app-shell--admin .sidebar-toggle svg,.app-shell--admin .mobile-drawer-close svg,.app-shell--admin .mobile-menu-button svg{block-size:.95rem;inline-size:.95rem}.app-shell--admin .sidebar :is(.nav-item:hover,.nav-item:focus-visible,.sidebar-toggle:hover,.sidebar-toggle:focus-visible,.mobile-drawer-close:hover,.mobile-drawer-close:focus-visible){background:var(--menu-blue-hover);border-color:transparent;color:var(--menu-text)!important;opacity:1}.app-shell--admin .sidebar .nav-item--active{background:transparent;border-color:transparent;box-shadow:none;opacity:1}.app-shell--admin .sidebar .brand{align-items:center;display:flex;min-block-size:2.2rem;padding:.34rem .44rem}.app-shell--admin .sidebar--collapsed .brand{inline-size:2.2rem;justify-content:center;padding-inline:0}.app-shell--admin .sidebar--collapsed .sidebar-topbar{justify-content:center}.app-shell--admin .sidebar--collapsed .sidebar-toggle{justify-self:auto}.app-shell--admin .sidebar--collapsed .brand span,.app-shell--admin .sidebar--collapsed .nav-item span{display:none}.app-shell--admin .sidebar .nav-list{display:grid;gap:.2rem}.app-shell--admin .sidebar--collapsed .nav-list{inline-size:2.2rem}.app-shell--admin .sidebar .nav-item{align-items:center;display:grid;font-size:.76rem;min-block-size:2.18rem}.app-shell--admin .sidebar--collapsed .nav-item{block-size:2.18rem;grid-template-columns:1fr;inline-size:2.18rem;justify-items:center;padding:0}.app-shell--admin .sidebar--expanded .nav-item{block-size:2.18rem;gap:.42rem;grid-template-columns:.95rem minmax(0,1fr);padding:.32rem .44rem}.app-shell--admin .sidebar .nav-item svg{block-size:.92rem;inline-size:.92rem}.app-shell--admin .sidebar .nav-item strong{font-family:var(--font-ui);font-size:.76rem;font-weight:600;line-height:1.05}.app-shell--admin .sidebar .nav-item small{font-family:var(--font-ui);font-size:.61rem;font-weight:500;line-height:1.05}.app-shell--admin .sidebar :is(.nav-item,.nav-item:hover,.nav-item:focus-visible,.nav-item--active,.sidebar-toggle,.sidebar-toggle:hover,.sidebar-toggle:focus-visible){transform:none!important}.app-shell--admin .mobile-menu-button{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--color-blue-dark);display:none;justify-content:center}.app-shell--admin .mobile-menu-button:hover,.app-shell--admin .mobile-menu-button:focus-visible{background:transparent;border-color:transparent;opacity:.82}.app-shell--admin .mobile-menu-button svg{color:currentColor;stroke:currentColor}@media(max-width:64rem){.app-shell--admin.app-shell--sidebar-expanded{grid-template-columns:11.25rem minmax(0,1fr)}}@media(max-width:48rem){.app-shell--admin,.app-shell--admin.app-shell--sidebar-collapsed,.app-shell--admin.app-shell--sidebar-expanded{grid-template-columns:minmax(0,1fr)}.app-shell--admin .app-header,.app-shell--admin .main-area{grid-column:1}.app-shell--admin .app-header{grid-template-columns:2.18rem minmax(8rem,auto) minmax(0,1fr) auto;gap:.55rem}.app-shell--admin .mobile-menu-button{display:inline-flex}.app-shell--admin .sidebar{block-size:100dvh;box-shadow:18px 0 40px #0a3a6347;inline-size:min(17.5rem,calc(100vw - 2.25rem));inset-block:0;inset-inline-start:0;max-inline-size:calc(100vw - .75rem);overflow-x:hidden;overflow-y:auto;padding:.65rem;position:fixed;transform:translate3d(-105%,0,0);transition:transform .16s ease,visibility .16s ease;visibility:hidden;z-index:120}.app-shell--admin .sidebar--mobile-open{transform:translateZ(0);visibility:visible}.app-shell--admin .sidebar-toggle{display:none}.app-shell--admin .mobile-drawer-close{align-items:center;display:inline-flex;justify-content:center}.app-shell--admin .sidebar--collapsed .brand,.app-shell--admin .sidebar--expanded .brand,.app-shell--admin .sidebar--collapsed .sidebar-topbar,.app-shell--admin .sidebar--expanded .sidebar-topbar,.app-shell--admin .sidebar--collapsed .nav-list,.app-shell--admin .sidebar--expanded .nav-list{inline-size:100%}.app-shell--admin .sidebar--collapsed .sidebar-topbar,.app-shell--admin .sidebar--expanded .sidebar-topbar{justify-content:flex-end}.app-shell--admin .sidebar--collapsed .brand span,.app-shell--admin .sidebar--expanded .brand span,.app-shell--admin .sidebar--collapsed .nav-item span,.app-shell--admin .sidebar--expanded .nav-item span{display:block}.app-shell--admin .sidebar--collapsed .nav-item,.app-shell--admin .sidebar--expanded .nav-item{block-size:2.32rem;grid-template-columns:1rem minmax(0,1fr);inline-size:100%;justify-items:stretch;padding:.38rem .5rem}.app-shell--admin .mobile-nav-backdrop{background:#091a286b;border:0;cursor:default;inset:0;padding:0;position:fixed;touch-action:none;z-index:110}select,.docent-cockpit-hero select,.docent-cockpit-compactbar select,.teacher-form select,.compact-form select,.route-task-detail-form select,.report-prep-controls select,.report-status-control select{block-size:2.18rem;font-size:.84rem;min-block-size:2.18rem;padding-block:.3rem}.teacher-form,.admin-drive-form,.route-task-detail-form,.report-prep-controls{grid-template-columns:minmax(0,1fr)}.teacher-overview-table,.teacher-overview-table thead,.teacher-overview-table tbody,.teacher-overview-table tr,.teacher-overview-table td{display:block;inline-size:100%}.teacher-overview-table thead{display:none}.teacher-overview-table tr{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;margin-block-end:.6rem;padding:.55rem}.teacher-overview-table td{border-bottom:0;display:grid;gap:.25rem;grid-template-columns:minmax(0,1fr);padding:.35rem 0}.teacher-overview-table td:before{color:var(--color-muted);content:attr(data-label);font-size:.7rem;font-weight:900;text-transform:uppercase}.info-hint__popup{inline-size:min(16rem,calc(100vw - 1rem));inset-inline:.5rem auto;max-inline-size:calc(100vw - 1rem)}}.course-task-route__map{overflow:visible}.course-task-route__parts{display:grid;gap:clamp(1.15rem,2.4vw,1.8rem);min-width:0}.course-task-part{background:#ffffffc7;border:1px solid var(--border-color);border-radius:8px;display:grid;gap:.85rem;min-width:0;padding:clamp(.85rem,1.8vw,1.1rem)}.course-task-part__header{align-items:start;display:flex;gap:.85rem;justify-content:space-between;min-width:0}.course-task-part__header h3{color:var(--color-blue-dark);font-size:1rem;line-height:1.2;margin:0}.course-task-part__header p,.course-task-part__empty{color:var(--color-muted);font-size:.84rem;line-height:1.4;margin:.25rem 0 0}.course-task-part__grid{align-items:stretch;display:grid;gap:clamp(.75rem,1.6vw,1rem);grid-auto-rows:7.75rem;grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr));min-width:0}.course-task-part .route-task-point{min-width:0}.course-task-part .route-task-point__body{min-height:7.75rem}@media(max-width:920px){.course-task-route--editing .course-task-route__workspace{grid-template-columns:minmax(0,1fr)}.course-task-route--editing .route-task-detail-panel{border-left:0;border-top:1px solid var(--border-color)}.course-task-part__grid{grid-template-columns:repeat(auto-fit,minmax(min(10.5rem,100%),1fr))}}@media(max-width:720px){.course-task-route__map{padding:.65rem}.course-task-route__parts{gap:1rem}.course-task-part{padding:.75rem}.course-task-part__header{display:grid;gap:.5rem}.course-task-part__grid{grid-auto-rows:minmax(4.9rem,auto);grid-template-columns:minmax(0,1fr)}.course-task-part .route-task-point__body{min-height:4.9rem}}.info-popup-layer{inset:0;pointer-events:none;position:fixed;z-index:1000}.info-popup-layer .info-hint__popup{align-items:start;background:var(--popup-bg);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 18px 42px #104c7f33;color:var(--color-text-primary)!important;display:grid;font-size:.84rem;font-weight:650;gap:.65rem;grid-template-columns:minmax(0,1fr) 1.6rem;line-height:1.4;margin:0;max-inline-size:calc(100vw - 1.5rem);overflow-wrap:anywhere;overflow-y:auto;padding:.75rem .8rem;pointer-events:auto;position:fixed;text-transform:none;white-space:normal;z-index:1001}.info-popup-layer .info-hint__popup[data-placement=mobile]{border-end-end-radius:0;border-end-start-radius:0;bottom:.75rem;inset-block-start:auto;max-inline-size:calc(100vw - 1.5rem)}.info-popup-layer .info-hint__popup:focus{outline:2px solid var(--focus-ring);outline-offset:2px}.info-hint__close{align-items:center;background:var(--color-blue-soft);border:1px solid var(--accent-blue-border);border-radius:7px;color:var(--color-text-primary)!important;cursor:pointer;display:inline-flex;height:1.6rem;justify-content:center;padding:0;width:1.6rem}.info-hint__close:hover,.info-hint__close:focus-visible,.info-hint__close:active{background:var(--color-orange-soft);border-color:transparent;color:var(--color-text-primary)!important}.teacher-preview-shell{background:var(--page-bg);min-block-size:100dvh;overflow-x:hidden}.teacher-preview-exit{align-items:center;background:var(--color-white);border-bottom:1px solid var(--color-border);display:flex;justify-content:flex-end;min-block-size:2.75rem;padding:.35rem clamp(.75rem,2vw,1.25rem);position:sticky;top:0;z-index:20}.teacher-preview-canvas{min-block-size:calc(100dvh - 2.75rem)}.teacher-preview-canvas .app-header{grid-column:1}@media(max-width:48rem){.teacher-preview-exit{justify-content:center;position:static}}:is(.metric-card__icon,.teacher-dashboard-card__icon,.activity-item__icon,.route-card__icon,.intro-panel__icon,.route-task-point__type-icon,.route-task-point__status-icon,.route-task-point__icon,.info-hint__button,.info-hint__close,.icon-action,.sidebar-toggle,.mobile-menu-button,.mobile-drawer-close){background:transparent!important;border-color:transparent!important;box-shadow:none!important}:is(.metric-card__icon,.teacher-dashboard-card__icon,.activity-item__icon,.route-card__icon,.intro-panel__icon,.route-task-point__type-icon,.route-task-point__status-icon,.route-task-point__icon){border-radius:0!important;padding:0!important}:is(.info-hint__button,.info-hint__close,.icon-action,.sidebar-toggle,.mobile-menu-button,.mobile-drawer-close):hover,:is(.info-hint__button,.info-hint__close,.icon-action,.sidebar-toggle,.mobile-menu-button,.mobile-drawer-close):active,:is(.info-hint__button,.info-hint__close,.icon-action,.sidebar-toggle,.mobile-menu-button,.mobile-drawer-close)[aria-pressed=true],:is(.info-hint__button,.info-hint__close,.icon-action,.sidebar-toggle,.mobile-menu-button,.mobile-drawer-close)[aria-selected=true]{background:transparent!important;border-color:transparent!important;box-shadow:none!important}:is(.info-hint__button,.info-hint__close,.icon-action,.sidebar-toggle,.mobile-menu-button,.mobile-drawer-close):focus-visible{background:transparent!important;border-color:transparent!important;box-shadow:none!important;outline:2px solid var(--focus-ring);outline-offset:2px}.app-shell--admin .sidebar :is(.nav-item svg,.sidebar-toggle svg,.mobile-drawer-close svg){color:var(--menu-text)!important;stroke:currentColor}.app-shell--admin .mobile-menu-button,.app-shell--admin .mobile-menu-button:hover,.app-shell--admin .mobile-menu-button:focus-visible{background:transparent!important;border-color:transparent!important;color:var(--color-blue-dark)!important}.app-shell--admin .mobile-menu-button svg{color:var(--color-blue-dark)!important}.icon-action,.icon-action:hover,.icon-action:focus-visible,.icon-action:active,.info-hint__button,.info-hint__button:hover,.info-hint__button:focus-visible,.info-hint__button:active,.info-hint__close,.info-hint__close:hover,.info-hint__close:focus-visible,.info-hint__close:active{color:var(--color-blue-dark)!important}.icon-action:hover,.info-hint__button:hover,.info-hint__close:hover{opacity:.78}.route-task-point__type-icon,.route-task-point__status-icon,.route-task-point__icon{color:var(--route-category-accent)!important}.route-task-point--state-klaar :is(.route-task-point__type-icon,.route-task-point__status-icon){color:var(--status-complete-accent)!important}.route-task-point--actie-nodig .route-task-point__status-icon{color:var(--color-orange-dark)!important}.route-task-detail-panel{--detail-category-bg: var(--color-white);--detail-category-text: var(--color-text-primary);--detail-category-border: var(--color-border);--detail-category-accent: var(--color-blue);background:linear-gradient(90deg,var(--detail-category-accent) 0 .28rem,transparent .28rem),linear-gradient(180deg,color-mix(in srgb,var(--detail-category-bg) 44%,#ffffff) 0%,var(--card-bg) 8rem);border-left-color:var(--detail-category-accent);gap:1rem;padding:clamp(1rem,1.8vw,1.25rem)}.route-task-detail-panel--type-intake,.route-task-detail-panel--type-observatiemoment{--detail-category-bg: var(--route-category-intake-bg);--detail-category-text: var(--route-category-intake-text);--detail-category-border: var(--route-category-intake-border);--detail-category-accent: var(--route-category-intake-accent)}.route-task-detail-panel--type-starttoets{--detail-category-bg: var(--route-category-starttoets-bg);--detail-category-text: var(--route-category-starttoets-text);--detail-category-border: var(--route-category-starttoets-border);--detail-category-accent: var(--route-category-starttoets-accent)}.route-task-detail-panel--type-methodetoets,.route-task-detail-panel--type-thematoets{--detail-category-bg: var(--route-category-methodetoets-bg);--detail-category-text: var(--route-category-methodetoets-text);--detail-category-border: var(--route-category-methodetoets-border);--detail-category-accent: var(--route-category-methodetoets-accent)}.route-task-detail-panel--type-ice-toets{--detail-category-bg: var(--route-category-ice-toets-bg);--detail-category-text: var(--route-category-ice-toets-text);--detail-category-border: var(--route-category-ice-toets-border);--detail-category-accent: var(--route-category-ice-toets-accent)}.route-task-detail-panel--type-eindtoets{--detail-category-bg: var(--route-category-eindtoets-bg);--detail-category-text: var(--route-category-eindtoets-text);--detail-category-border: var(--route-category-eindtoets-border);--detail-category-accent: var(--route-category-eindtoets-accent)}.route-task-detail-panel__head{background:color-mix(in srgb,var(--detail-category-bg) 64%,#ffffff);border:1px solid color-mix(in srgb,var(--detail-category-border) 72%,#ffffff);border-radius:8px;padding:.75rem .85rem}.route-task-detail-panel__head .eyebrow,.route-task-detail-panel__head h3{color:var(--color-text-primary)}.route-task-detail-panel__summary{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem;margin:.45rem 0 0}.route-task-detail-panel__summary span,.route-task-detail-panel .route-task-point__status,.route-task-detail-meta div{background:color-mix(in srgb,var(--detail-category-bg) 58%,#ffffff);border-color:var(--detail-category-border);color:var(--color-text-primary)}.route-task-detail-panel__summary span{border:1px solid var(--detail-category-border);border-radius:999px;font-size:.72rem;font-weight:900;line-height:1;padding:.26rem .5rem}.route-task-detail-form{gap:.8rem}.route-task-detail-form label{gap:.38rem}.route-task-detail-form label>span{color:var(--color-text-primary);font-size:.75rem}.route-task-detail-form input,.route-task-detail-form select,.route-task-detail-form textarea{border-color:color-mix(in srgb,var(--detail-category-border) 82%,var(--input-border));font-size:.92rem;line-height:1.45;min-height:2.55rem;padding:.62rem .72rem}.route-task-detail-form input:focus,.route-task-detail-form select:focus,.route-task-detail-form textarea:focus{border-color:var(--detail-category-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--detail-category-accent) 18%,transparent);outline:none}.route-task-detail-form textarea{line-height:1.55;min-height:7rem;padding-block:.75rem}.route-task-detail-form__notes{margin-block-start:.15rem}.route-task-detail-form__notes textarea{font-size:.95rem;min-height:clamp(12rem,28vh,18rem);resize:vertical}.route-task-detail-form__notes+label,.route-task-detail-form__notes+.save-notice,.route-task-detail-form__notes~.primary-action{margin-block-start:.25rem}.route-task-full-view{--detail-category-bg: var(--color-white);--detail-category-text: var(--color-text-primary);--detail-category-border: var(--color-border);--detail-category-accent: var(--color-blue);align-items:stretch;background:#1118277a;display:flex;inset:0;justify-content:flex-end;padding:clamp(.75rem,2vw,1.4rem);position:fixed;z-index:240}.route-task-full-view--type-intake,.route-task-full-view--type-observatiemoment{--detail-category-bg: var(--route-category-intake-bg);--detail-category-text: var(--route-category-intake-text);--detail-category-border: var(--route-category-intake-border);--detail-category-accent: var(--route-category-intake-accent)}.route-task-full-view--type-starttoets{--detail-category-bg: var(--route-category-starttoets-bg);--detail-category-text: var(--route-category-starttoets-text);--detail-category-border: var(--route-category-starttoets-border);--detail-category-accent: var(--route-category-starttoets-accent)}.route-task-full-view--type-methodetoets,.route-task-full-view--type-thematoets{--detail-category-bg: var(--route-category-methodetoets-bg);--detail-category-text: var(--route-category-methodetoets-text);--detail-category-border: var(--route-category-methodetoets-border);--detail-category-accent: var(--route-category-methodetoets-accent)}.route-task-full-view--type-ice-toets{--detail-category-bg: var(--route-category-ice-toets-bg);--detail-category-text: var(--route-category-ice-toets-text);--detail-category-border: var(--route-category-ice-toets-border);--detail-category-accent: var(--route-category-ice-toets-accent)}.route-task-full-view--type-eindtoets{--detail-category-bg: var(--route-category-eindtoets-bg);--detail-category-text: var(--route-category-eindtoets-text);--detail-category-border: var(--route-category-eindtoets-border);--detail-category-accent: var(--route-category-eindtoets-accent)}.route-task-full-view__panel{background:linear-gradient(90deg,var(--detail-category-accent, var(--color-blue)) 0 .32rem,transparent .32rem),var(--popup-bg);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 28px 72px #0f172a3d;color:var(--text-primary);display:grid;grid-template-rows:auto minmax(0,1fr);inline-size:min(46rem,100%);max-block-size:min(100%,56rem);overflow:hidden;animation:route-full-view-slide-in .22s ease-out both}.route-task-full-view__head{align-items:flex-start;background:color-mix(in srgb,var(--detail-category-bg, var(--surface-card)) 58%,var(--popup-bg));border-block-end:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:space-between;padding:.9rem 1rem}.route-task-full-view__head h3{color:var(--text-primary);font-size:1.05rem;line-height:1.15;margin:.12rem 0 0}.route-task-full-view__form{display:grid;gap:.85rem;min-block-size:0;overflow-y:auto;padding:1rem}.route-task-full-view__grid{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.route-task-full-view label{display:grid;gap:.36rem}.route-task-full-view label>span{color:var(--text-primary);font-size:.78rem;font-weight:850}.route-task-full-view :is(input,select,textarea){background:var(--input-bg);border:1px solid color-mix(in srgb,var(--detail-category-border, var(--input-border)) 78%,var(--input-border));border-radius:8px;color:var(--input-text);font:inherit;font-size:.95rem;line-height:1.5;min-block-size:2.45rem;padding:.62rem .72rem;width:100%}.route-task-full-view textarea{min-block-size:8rem;resize:vertical}.route-task-full-view__notes textarea{min-block-size:26.25rem;padding:.9rem .95rem}.route-task-full-view :is(input,select,textarea):focus{border-color:var(--detail-category-accent, var(--focus-ring));box-shadow:0 0 0 3px color-mix(in srgb,var(--detail-category-accent, var(--focus-ring)) 18%,transparent);outline:none}.route-task-full-view__actions{align-items:center;border-block-start:1px solid var(--border-color);display:flex;gap:.65rem;justify-content:flex-end;padding-block-start:.75rem}@keyframes route-full-view-slide-in{0%{opacity:0;transform:translate(1.5rem)}to{opacity:1;transform:translate(0)}}@media(max-width:56rem){.route-task-detail-form__notes textarea{min-height:12rem}.route-task-full-view__grid{grid-template-columns:minmax(0,1fr)}.route-task-full-view__notes textarea{min-block-size:21.25rem}}@media(max-width:43rem){.route-task-detail-panel{padding:.85rem}.route-task-detail-form__notes textarea{inline-size:100%;min-height:11rem}.route-task-full-view{align-items:flex-end;padding:.55rem}.route-task-full-view__panel{border-radius:14px 14px 10px 10px;inline-size:100%;max-block-size:calc(100dvh - 1.1rem);animation-name:route-full-view-slide-up}.route-task-full-view__head{padding:.75rem .8rem}.route-task-full-view__form{gap:.7rem;padding:.8rem}.route-task-full-view__notes textarea{min-block-size:17.5rem}.route-task-full-view__actions{justify-content:stretch}.route-task-full-view__actions>button{flex:1 1 0}}@keyframes route-full-view-slide-up{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.route-task-full-view__panel{animation:route-full-view-fade-in 1ms linear both!important;transform:none!important}}@keyframes route-full-view-fade-in{0%{opacity:.96}to{opacity:1}}.theme-dark-dev body{background:var(--page-bg);color:var(--text-primary)}.theme-dark-dev .app-header{background:linear-gradient(90deg,var(--header-bg) 0%,var(--header-bg) 72%,var(--surface-card) 100%);border-bottom-color:var(--border-color);color:var(--text-primary)}.theme-dark-dev :is(.dashboard-hero,.dashboard-panel,.metric-card,.teacher-dashboard-card,.docent-route-dashboard__intro,.course-task-route,.docent-cockpit-panel,.teacher-list-panel,.teacher-detail-panel,.teacher-side-panel,.teacher-profile-card,.student-list-panel,.student-detail-panel,.report-editor-panel,.report-template-panel,.report-prompt-panel,.report-section-card,.step-input-page,.step-input-form,.step-input-side,.module-panel,.intro-panel,.route-card,.import-test-panel,.import-log-panel,.notification-card,.teacher-overview-table-panel){background:var(--card-bg);border-color:var(--border-color);color:var(--text-primary)}.theme-dark-dev :is(.dashboard-hero p,.dashboard-empty,.metric-card p,.teacher-dashboard-card p,.docent-cockpit-panel p,.report-editor-panel__head p,.report-template-panel__head p,.report-prompt-panel__head p,.teacher-profile-card small,.teacher-list-item small,.app-header__module,.app-header__user-name){color:var(--text-muted)!important}.theme-dark-dev :is(.dashboard-hero h2,.dashboard-panel h2,.metric-card h3,.teacher-dashboard-card h3,.docent-cockpit-panel h3,.teacher-profile-card h2,.report-editor-panel__head h2,.report-template-panel__head h2,.report-prompt-panel__head h2,.module-panel h2,.intro-panel h2){color:var(--text-primary)!important}.theme-dark-dev :is(input,select,textarea,option,.teacher-form input,.teacher-form select,.teacher-form textarea,.compact-form input,.compact-form select,.compact-form textarea,.step-input-form input,.step-input-form select,.step-input-form textarea,.step-input-context select,.report-prep-controls select,.report-prep-side textarea,.report-status-control select,.header-view-switcher__search,.header-view-switcher__search input,.search-field,.search-field input){background:var(--input-bg);border-color:var(--input-border);color:var(--input-text)!important}.theme-dark-dev :is(select,option){background:var(--select-bg);color:var(--select-text)!important}.theme-dark-dev :is(input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible){outline-color:var(--focus-ring)}.theme-dark-dev :is(.secondary-action,.quick-action,.compact-action:not(.primary-action),.header-view-switcher__admin,.header-view-switcher__button,.header-view-switcher__menu-button,.report-download-link){background:var(--button-light-bg);border-color:var(--button-light-border);color:var(--button-light-text)!important}.theme-dark-dev :is(.secondary-action:hover,.secondary-action:focus-visible,.quick-action:hover,.quick-action:focus-visible,.compact-action:not(.primary-action):hover,.compact-action:not(.primary-action):focus-visible,.header-view-switcher__admin:hover,.header-view-switcher__admin--active,.header-view-switcher__button:hover,.header-view-switcher__button--active,.header-view-switcher__menu-button:hover,.header-view-switcher__menu-button[aria-expanded=true]){background:var(--button-light-hover-bg);border-color:var(--focus-ring);color:var(--button-light-hover-text)!important}.theme-dark-dev :is(.status-pill,.mini-status,.signal-badge,.dashboard-hero__badge){background:var(--badge-bg);border-color:transparent;box-shadow:none;color:var(--badge-text)!important}.theme-dark-dev :is(.teacher-list-item,.admin-export-row,.report-export-status div,.sheet-status-grid div,.step-input-meta div,.docent-cockpit-export__status div){background:var(--surface-card-raised);border-color:var(--border-color);color:var(--text-primary)!important}.theme-dark-dev :is(.teacher-list-item:hover,.teacher-list-item--active,.admin-export-row:hover,.admin-export-row:focus-visible,.admin-export-row--active,.header-view-switcher__option:hover,.header-view-switcher__option--active){background:var(--hover-bg);border-color:var(--focus-ring);color:var(--text-primary)!important}.theme-dark-dev :is(.header-view-switcher__menu,.info-popup-layer .info-hint__popup,.sidebar--collapsed .nav-item[data-tooltip]:after){background:var(--popup-bg);border-color:var(--border-color);color:var(--text-primary)!important}.theme-dark-dev :is(.teacher-overview-table,.teacher-overview-table th,.teacher-overview-table td){border-color:var(--border-color);color:var(--text-primary)!important}.theme-dark-dev .teacher-overview-table th{background:var(--surface-card-raised)}.theme-dark-dev .teacher-overview-table tr{background:var(--table-row-bg)}.theme-dark-dev :is(input[type=checkbox],input[type=radio],.step-input-toggle input,.selection-option input,.teacher-toggle input){accent-color:var(--focus-ring);background:var(--input-bg);border-color:var(--input-border);color:var(--input-text)!important}.theme-dark-dev :is(.selection-fieldset,.selection-option,.step-input-toggle,.step-input-alert,.save-notice,.docent-cockpit-save-notice,.docent-cockpit-export__success,.drive-upload-banner,.duplicate-warning,.practical-error,.field-error,.field-warning,.dashboard-empty,.course-task-part__empty){background:var(--surface-card-raised);border-color:var(--border-color);color:var(--text-primary)!important}.theme-dark-dev :is(.field-error,.practical-error,.import-preview--error,.import-record--error){border-color:color-mix(in srgb,#fca5a5 64%,var(--border-color));color:#fecaca!important}.theme-dark-dev :is(.field-warning,.step-input-warning,.step-input-alert--action,.drive-upload-banner--warning,.template-registry-banner__warning,.duplicate-warning){border-color:color-mix(in srgb,#fbbf24 58%,var(--border-color));color:#fde68a!important}.theme-dark-dev :is(.save-notice,.docent-cockpit-save-notice,.docent-cockpit-export__success,.status-pill--success){border-color:color-mix(in srgb,#86efac 56%,var(--border-color));color:#bbf7d0!important}.theme-dark-dev :is(.selection-fieldset legend,.selection-option span,.step-input-toggle span,.step-input-alert span,.save-notice span,.docent-cockpit-export__success span,.dashboard-empty span,.course-task-part__empty span){color:inherit!important}.theme-dark-dev :is(.course-task-part,.course-task-route__map){background:color-mix(in srgb,var(--card-bg) 82%,var(--surface-card-raised));border-color:var(--border-color)}.theme-dark-dev .course-task-part__header h3{color:var(--text-primary)!important}.theme-dark-dev :is(.course-task-part__header p,.course-task-part__empty){color:var(--text-muted)!important}.theme-dark-dev .route-task-point__body{background:linear-gradient(90deg,var(--route-category-accent) 0 .22rem,transparent .22rem),color-mix(in srgb,var(--route-category-bg) 84%,var(--card-bg));border-color:var(--route-category-border);box-shadow:0 10px 24px #0000003d;color:var(--route-category-text)!important}.theme-dark-dev .route-task-point--state-klaar .route-task-point__body,.theme-dark-dev .route-task-point--state-bezig .route-task-point__body{background:linear-gradient(90deg,var(--route-category-accent) 0 .22rem,transparent .22rem),color-mix(in srgb,var(--route-category-bg) 84%,var(--card-bg));border-color:var(--route-category-border)}.theme-dark-dev :is(.route-task-point--state-open .route-task-point__body,.route-task-point--state-openstaand .route-task-point__body){background:linear-gradient(90deg,var(--route-category-accent) 0 .22rem,transparent .22rem),color-mix(in srgb,var(--route-category-bg) 82%,var(--card-bg))}.theme-dark-dev :is(.route-task-point h3,.route-task-point__type,.route-task-point__type-icon span){color:var(--route-category-text)!important}.theme-dark-dev :is(.route-task-point p,.route-task-point small){color:var(--text-muted)!important}.theme-dark-dev :is(.route-task-point__type,.route-task-point__type-icon,.route-task-point__status-icon,.route-task-point__icon){background:color-mix(in srgb,var(--route-category-bg) 72%,var(--card-bg));border-color:var(--route-category-border);color:var(--route-category-accent)!important}.theme-dark-dev :is(.route-task-point__status,.route-task-point__status--openstaand,.route-task-point__status--open,.route-task-point__status--nog-invullen){background:var(--status-open-bg);border-color:var(--status-open-border);color:var(--status-open-accent)!important}.theme-dark-dev :is(.route-task-point__status--deels-ingevuld,.route-task-point__status--bezig){background:var(--status-busy-bg);border-color:var(--status-busy-border);color:var(--status-busy-accent)!important}.theme-dark-dev :is(.route-task-point--state-klaar .route-task-point__status,.route-task-point--state-klaar .route-task-point__status-icon,.route-task-point--state-klaar .route-task-point__type-icon,.status-pill--success,.student-route-status--complete){background:var(--status-complete-bg);border-color:var(--status-complete-border);color:var(--status-complete-accent)!important}.theme-dark-dev :is(.route-task-point__status--actie-nodig,.route-task-point--actie-nodig .route-task-point__status,.route-task-point--actie-nodig .route-task-point__status-icon,.student-route-status--action){background:var(--status-action-bg);border-color:var(--status-action-border);color:var(--status-action-accent)!important}.theme-dark-dev :is(.route-task-point__open,.route-task-point__open:hover,.route-task-point__open:focus-visible){background:var(--button-light-bg);border-color:var(--button-light-border);color:var(--button-light-text)!important}.theme-dark-dev .route-task-detail-panel{background:linear-gradient(90deg,var(--detail-category-accent) 0 .28rem,transparent .28rem),linear-gradient(180deg,color-mix(in srgb,var(--detail-category-bg) 42%,var(--card-bg)) 0%,var(--card-bg) 8rem);border-color:var(--border-color);border-left-color:var(--detail-category-accent);color:var(--text-primary)}.theme-dark-dev .route-task-detail-panel__head{background:color-mix(in srgb,var(--detail-category-bg) 62%,var(--card-bg));border-color:var(--detail-category-border)}.theme-dark-dev :is(.route-task-detail-panel__head .eyebrow,.route-task-detail-panel__head h3,.route-task-detail-form label>span){color:var(--text-primary)!important}.theme-dark-dev :is(.route-task-detail-panel__summary span,.route-task-detail-panel .route-task-point__status,.route-task-detail-meta div){background:color-mix(in srgb,var(--detail-category-bg) 62%,var(--card-bg));border-color:var(--detail-category-border);color:var(--detail-category-text)!important}.theme-dark-dev :is(.route-task-detail-form input,.route-task-detail-form select,.route-task-detail-form textarea){background:var(--input-bg);border-color:color-mix(in srgb,var(--detail-category-border) 72%,var(--input-border));color:var(--input-text)!important}.theme-dark-dev .route-task-detail-form textarea::placeholder{color:var(--text-muted)}.theme-dark-dev :is(.route-task-detail-form input:focus,.route-task-detail-form select:focus,.route-task-detail-form textarea:focus){border-color:var(--detail-category-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--detail-category-accent) 24%,transparent)}.theme-dark-dev .export-control-page{background:linear-gradient(180deg,var(--page-bg) 0%,var(--surface-page) 100%)}.theme-dark-dev :is(.admin-export-row,.admin-export-detail-grid div,.admin-drive-form input){background:var(--surface-card-raised);border-color:var(--border-color);color:var(--text-primary)!important}.theme-dark-dev :is(.admin-export-row b,.admin-export-detail-grid dd){color:var(--text-primary)!important}.theme-dark-dev :is(.admin-export-row small,.admin-export-detail-grid dt,.admin-drive-form label span){color:var(--text-muted)!important}.theme-dark-dev :is(.admin-export-row--active,.admin-export-row:hover,.admin-export-row:focus-visible){background:var(--hover-bg);border-color:var(--focus-ring)}.theme-dark-dev .teacher-preview-shell{background:var(--page-bg)}.theme-dark-dev .teacher-preview-exit{background:var(--surface-card-raised);border-bottom-color:var(--border-color)}.theme-dark-dev body .app-shell .app-header__settings,.theme-dark-dev body .app-shell .theme-mode-toggle,.theme-dark-dev body .app-shell .app-header__settings:hover,.theme-dark-dev body .app-shell .theme-mode-toggle:hover,.theme-dark-dev body .app-shell .app-header__settings:focus-visible,.theme-dark-dev body .app-shell .theme-mode-toggle:focus-visible,.theme-dark-dev body .app-shell .app-header__settings:active,.theme-dark-dev body .app-shell .theme-mode-toggle:active,.theme-dark-dev body .app-shell .theme-mode-toggle[aria-pressed=true]{background:transparent;border-color:transparent;color:var(--button-light-text)!important}.theme-dark-dev body .app-shell .app-header__settings:hover,.theme-dark-dev body .app-shell .theme-mode-toggle:hover,.theme-dark-dev body .app-shell .app-header__settings:focus-visible,.theme-dark-dev body .app-shell .theme-mode-toggle:focus-visible,.theme-dark-dev body .app-shell .app-header__settings:active,.theme-dark-dev body .app-shell .theme-mode-toggle:active,.theme-dark-dev body .app-shell .theme-mode-toggle[aria-pressed=true]{background:transparent;color:var(--button-light-hover-text)!important;opacity:.82}.theme-dark-dev body .app-shell .app-header__settings svg,.theme-dark-dev body .app-shell .theme-mode-toggle svg{color:currentColor!important;stroke:currentColor}:is(.primary-action,.primary-action:hover,.primary-action:focus-visible,.primary-action:active,.primary-action[aria-pressed=true],.primary-action[aria-selected=true],.export-drive-action,.export-drive-action:hover,.export-drive-action:focus-visible,.export-drive-action:active){background:var(--button-dark-bg)!important;border-color:var(--button-dark-border)!important;color:var(--button-dark-text)!important}:is(.primary-action:hover,.primary-action:focus-visible,.export-drive-action:hover,.export-drive-action:focus-visible){background:var(--button-dark-hover-bg)!important;color:var(--button-dark-hover-text)!important}:is(.primary-action:active,.primary-action[aria-pressed=true],.primary-action[aria-selected=true],.export-drive-action:active){background:var(--button-dark-active-bg)!important;color:var(--button-dark-active-text)!important}:is(.primary-action,.primary-action:hover,.primary-action:focus-visible,.primary-action:active,.primary-action[aria-pressed=true],.primary-action[aria-selected=true],.export-drive-action,.export-drive-action:hover,.export-drive-action:focus-visible,.export-drive-action:active) :is(svg,span,strong,small,b,i,.loader,.spinner){color:var(--button-dark-icon)!important;stroke:currentColor}:is(.primary-action,.export-drive-action):disabled,:is(.primary-action,.export-drive-action)[disabled]{background:color-mix(in srgb,var(--button-dark-bg) 72%,#ffffff)!important;border-color:color-mix(in srgb,var(--button-dark-border) 72%,#ffffff)!important;color:var(--button-dark-text)!important;cursor:not-allowed;opacity:1}:is(.primary-action,.export-drive-action):disabled :is(svg,span,strong,small,b,i,.loader,.spinner),:is(.primary-action,.export-drive-action)[disabled] :is(svg,span,strong,small,b,i,.loader,.spinner){color:var(--button-dark-icon)!important;stroke:currentColor}:is(.secondary-action,.quick-action,.compact-action:not(.primary-action),.report-download-link) :is(svg,span,strong,small,b,i){color:var(--button-light-icon)!important;stroke:currentColor}body .app-shell :is(.primary-action,.primary-action:hover,.primary-action:focus-visible,.primary-action:active,.primary-action[aria-pressed=true],.primary-action[aria-selected=true],.export-drive-action,.export-drive-action:hover,.export-drive-action:focus-visible,.export-drive-action:active){background:var(--button-dark-bg)!important;border-color:var(--button-dark-border)!important;color:var(--button-dark-text)!important}body .app-shell :is(.primary-action:hover,.primary-action:focus-visible,.export-drive-action:hover,.export-drive-action:focus-visible){background:var(--button-dark-hover-bg)!important;color:var(--button-dark-hover-text)!important}body .app-shell :is(.primary-action:active,.primary-action[aria-pressed=true],.primary-action[aria-selected=true],.export-drive-action:active){background:var(--button-dark-active-bg)!important;color:var(--button-dark-active-text)!important}body .app-shell :is(.primary-action,.primary-action:hover,.primary-action:focus-visible,.primary-action:active,.primary-action[aria-pressed=true],.primary-action[aria-selected=true],.export-drive-action,.export-drive-action:hover,.export-drive-action:focus-visible,.export-drive-action:active) :is(svg,span,strong,small,b,i,.loader,.spinner,.badge,.status-pill){color:var(--button-dark-icon)!important;stroke:currentColor}body .app-shell :is(.primary-action,.export-drive-action):disabled,body .app-shell :is(.primary-action,.export-drive-action)[disabled]{background:color-mix(in srgb,var(--button-dark-bg) 72%,#ffffff)!important;border-color:color-mix(in srgb,var(--button-dark-border) 72%,#ffffff)!important;color:var(--button-dark-text)!important;cursor:not-allowed;opacity:1}body .app-shell :is(.primary-action,.export-drive-action):disabled :is(svg,span,strong,small,b,i,.loader,.spinner,.badge,.status-pill),body .app-shell :is(.primary-action,.export-drive-action)[disabled] :is(svg,span,strong,small,b,i,.loader,.spinner,.badge,.status-pill){color:var(--button-dark-icon)!important;stroke:currentColor}.theme-dark-dev .app-shell--admin .sidebar{--menu-blue: #0b5cad;--menu-blue-strong: #073b73;--menu-blue-hover: #0a4f96;--menu-blue-active: transparent;--menu-blue-border: transparent;--menu-blue-border-strong: transparent;--menu-blue-accent: #7dd3fc;--menu-text: var(--color-ink-on-dark);--menu-text-muted: #dbeafe;background:linear-gradient(180deg,var(--menu-blue) 0%,var(--menu-blue-strong) 100%)!important;border-inline-end-color:var(--menu-blue-border);color:var(--menu-text)!important}.theme-dark-dev .app-shell--admin .sidebar :is(.brand,.brand strong,.nav-item,.nav-item strong,.sidebar-view-switch__item,.sidebar-view-switch__item span,.sidebar-toggle,.mobile-drawer-close){background:var(--menu-blue-hover);border-color:transparent;color:var(--menu-text)!important}.theme-dark-dev .app-shell--admin .sidebar :is(.brand small,.nav-item small,.sidebar-view-switch__teacher,.sidebar-view-switch__teacher small){color:var(--menu-text-muted)!important}.theme-dark-dev .app-shell--admin .sidebar :is(.brand svg,.nav-item svg,.sidebar-view-switch__item svg,.sidebar-toggle svg,.mobile-drawer-close svg){color:var(--menu-text)!important;stroke:currentColor}.theme-dark-dev .app-shell--admin .sidebar :is(.nav-item:hover,.nav-item:focus-visible,.nav-item--active,.sidebar-view-switch__item:hover,.sidebar-view-switch__item:focus-visible,.sidebar-view-switch__item--active,.sidebar-toggle:hover,.sidebar-toggle:focus-visible,.mobile-drawer-close:hover,.mobile-drawer-close:focus-visible){color:var(--menu-text)!important}.theme-dark-dev .app-shell--admin .sidebar :is(.nav-item--active,.sidebar-view-switch__item--active){background:transparent;border-color:transparent;box-shadow:none}.theme-dark-dev .app-shell--admin .mobile-menu-button,.theme-dark-dev .app-shell--admin .mobile-menu-button:hover,.theme-dark-dev .app-shell--admin .mobile-menu-button:focus-visible,.theme-dark-dev .app-shell--admin .mobile-menu-button:active{background:transparent!important;border-color:transparent!important;color:var(--icon-color)!important}.theme-dark-dev .app-shell--admin .mobile-menu-button svg{color:currentColor!important;stroke:currentColor}.theme-dark-dev .mobile-nav-backdrop{background:#00000094}.theme-dark-dev body .app-shell :is(.primary-action,.primary-action:hover,.primary-action:focus-visible,.primary-action:active,.primary-action[aria-pressed=true],.primary-action[aria-selected=true],.export-drive-action,.export-drive-action:hover,.export-drive-action:focus-visible,.export-drive-action:active,.submit-action,.submit-action:hover,.submit-action:focus-visible,.submit-action:active,.save-action,.save-action:hover,.save-action:focus-visible,.save-action:active,.brand-action,.brand-action:hover,.brand-action:focus-visible,.brand-action:active,.dark-action,.dark-action:hover,.dark-action:focus-visible,.dark-action:active,.solid-action,.solid-action:hover,.solid-action:focus-visible,.solid-action:active,.button-primary,.button-primary:hover,.button-primary:focus-visible,.button-primary:active){background:var(--button-dark-bg)!important;border-color:var(--button-dark-border)!important;color:var(--button-dark-text)!important}.theme-dark-dev body .app-shell :is(.primary-action:hover,.primary-action:focus-visible,.export-drive-action:hover,.export-drive-action:focus-visible,.submit-action:hover,.submit-action:focus-visible,.save-action:hover,.save-action:focus-visible,.brand-action:hover,.brand-action:focus-visible,.dark-action:hover,.dark-action:focus-visible,.solid-action:hover,.solid-action:focus-visible,.button-primary:hover,.button-primary:focus-visible){background:var(--button-dark-hover-bg)!important;color:var(--button-dark-hover-text)!important}.theme-dark-dev body .app-shell :is(.primary-action:active,.primary-action[aria-pressed=true],.primary-action[aria-selected=true],.export-drive-action:active,.submit-action:active,.save-action:active,.brand-action:active,.dark-action:active,.solid-action:active,.button-primary:active){background:var(--button-dark-active-bg)!important;color:var(--button-dark-active-text)!important}.theme-dark-dev body .app-shell :is(.primary-action,.export-drive-action,.submit-action,.save-action,.brand-action,.dark-action,.solid-action,.button-primary) :is(svg,span,strong,small,b,i,.loader,.spinner,.badge,.status-pill){color:var(--button-dark-icon)!important;stroke:currentColor}.theme-dark-dev body .app-shell :is(.secondary-action,.quick-action,.compact-action:not(.primary-action),.report-download-link,.admin-teacher-context__back,.header-view-switcher__admin,.header-view-switcher__button,.header-view-switcher__menu-button){background:var(--button-light-bg);border-color:var(--button-light-border);color:var(--button-light-text)!important}.theme-dark-dev body .app-shell :is(.secondary-action:hover,.secondary-action:focus-visible,.secondary-action:active,.secondary-action[aria-pressed=true],.secondary-action[aria-selected=true],.quick-action:hover,.quick-action:focus-visible,.quick-action:active,.compact-action:not(.primary-action):hover,.compact-action:not(.primary-action):focus-visible,.compact-action:not(.primary-action):active,.report-download-link:hover,.report-download-link:focus-visible,.admin-teacher-context__back:hover,.admin-teacher-context__back:focus-visible,.header-view-switcher__admin:hover,.header-view-switcher__admin--active,.header-view-switcher__button:hover,.header-view-switcher__button--active,.header-view-switcher__menu-button:hover,.header-view-switcher__menu-button[aria-expanded=true]){background:var(--button-light-hover-bg);border-color:var(--focus-ring);color:var(--button-light-hover-text)!important}.theme-dark-dev body .app-shell :is(.secondary-action,.quick-action,.compact-action:not(.primary-action),.report-download-link,.admin-teacher-context__back,.header-view-switcher__admin,.header-view-switcher__button,.header-view-switcher__menu-button) :is(svg,span,strong,small,b,i){color:currentColor!important;stroke:currentColor}.theme-dark-dev body .app-shell :is(.icon-action,.info-hint__button,.info-hint__close),.theme-dark-dev body .app-shell :is(.icon-action,.info-hint__button,.info-hint__close):hover,.theme-dark-dev body .app-shell :is(.icon-action,.info-hint__button,.info-hint__close):focus-visible,.theme-dark-dev body .app-shell :is(.icon-action,.info-hint__button,.info-hint__close):active{background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:var(--icon-color)!important}.theme-dark-dev body .app-shell :is(.icon-action,.info-hint__button,.info-hint__close) svg{color:currentColor!important;stroke:currentColor}body .app-shell :is(.dashboard-hero,.docent-cockpit-hero){gap:clamp(.32rem,.55vw,.48rem);padding:clamp(.34rem,.62vw,.48rem) clamp(.46rem,.82vw,.62rem)}body .app-shell .dashboard-hero{border-top-width:2px}body .app-shell :is(.dashboard-hero,.docent-cockpit-hero) .eyebrow{font-size:.62rem;margin-block-end:.08rem}body .app-shell .dashboard-hero h2,body .app-shell .docent-cockpit-hero h2{font-size:clamp(.9rem,.98vw,1.04rem);line-height:1.12}body .app-shell .dashboard-hero p{display:none}body .app-shell .docent-cockpit-hero p{font-size:.76rem;line-height:1.18;margin-block-start:.04rem}body .app-shell .dashboard-hero__badge{font-size:.62rem;padding:.14rem .34rem}body .app-shell .docent-cockpit-hero{align-items:center;grid-template-columns:minmax(0,1fr) minmax(12rem,17rem) minmax(10rem,14rem)}body .app-shell .docent-cockpit-hero label{gap:.16rem}body .app-shell .docent-cockpit-hero label span{font-size:.62rem}body .app-shell .docent-cockpit-hero select{min-height:1.95rem;padding:.26rem .48rem}body .app-shell .docent-cockpit-stats{gap:.28rem}body .app-shell .docent-cockpit-stats div{align-items:center;display:flex;gap:.24rem;justify-content:space-between;min-height:1.9rem;padding:.24rem .36rem}body .app-shell .docent-cockpit-stats dt{font-size:.58rem;line-height:1}body .app-shell .docent-cockpit-stats dd{font-size:.88rem;line-height:1}body .app-shell :is(.dashboard-hero,.docent-cockpit-hero,.group-route-hero,.student-route-hero,.step-input-hero,.intro-panel){gap:clamp(.22rem,.45vw,.38rem);padding:clamp(.26rem,.5vw,.4rem) clamp(.38rem,.72vw,.56rem)}body .app-shell :is(.dashboard-hero,.docent-cockpit-hero,.group-route-hero,.student-route-hero,.step-input-hero,.intro-panel) :is(.eyebrow,.dashboard-hero__badge,.status-pill){font-size:.58rem;line-height:1}body .app-shell :is(.dashboard-hero,.docent-cockpit-hero,.group-route-hero,.student-route-hero,.step-input-hero,.intro-panel) :is(h1,h2){font-size:clamp(.86rem,.92vw,1rem);line-height:1.08}body .app-shell :is(.group-route-hero,.student-route-hero,.step-input-hero,.intro-panel) p{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;font-size:.74rem;line-height:1.18;margin-block-start:.02rem;overflow:hidden;text-overflow:ellipsis}body .app-shell .dashboard-hero__badge{padding:.12rem .3rem}body .app-shell .docent-cockpit-hero{grid-template-columns:minmax(0,1fr) minmax(10.5rem,15rem) minmax(9rem,12.5rem)}body .app-shell .docent-cockpit-hero select{min-height:1.85rem;padding-block:.2rem}body .app-shell .docent-cockpit-stats{gap:.22rem}body .app-shell .docent-cockpit-stats div{min-height:1.68rem;padding:.18rem .28rem}@media(max-width:48rem){body .app-shell :is(.dashboard-hero,.docent-cockpit-hero){gap:.38rem;padding:.42rem}body .app-shell .docent-cockpit-hero{grid-template-columns:minmax(0,1fr)}body .app-shell .docent-cockpit-stats div{min-height:1.8rem;padding:.22rem .3rem}body .app-shell :is(.dashboard-hero,.docent-cockpit-hero,.group-route-hero,.student-route-hero,.step-input-hero,.intro-panel){gap:.3rem;padding:.34rem}body .app-shell .docent-cockpit-stats div{min-height:1.6rem;padding:.16rem .26rem}}body .app-shell .metric-grid{gap:.5rem;grid-auto-rows:4.8rem}body .app-shell .metric-card{align-items:center;display:flex;gap:.58rem;min-block-size:4.8rem;padding:.55rem .62rem}body .app-shell .metric-card__icon,body .app-shell .metric-card--action .metric-card__icon,body .app-shell .metric-card--orange .metric-card__icon{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--color-blue-dark);flex:0 0 1.45rem;inline-size:1.45rem;block-size:1.45rem}body .app-shell .metric-card--action .metric-card__icon,body .app-shell .metric-card--orange .metric-card__icon{color:var(--status-action-accent)}body .app-shell .metric-card__icon svg{inline-size:1.38rem;block-size:1.38rem;color:currentColor!important;stroke:currentColor}body .app-shell .metric-card__content{display:grid;gap:.12rem;min-inline-size:0}body .app-shell .metric-card__content>strong{color:var(--color-blue-dark);font-size:clamp(1.28rem,1.85vw,1.62rem);line-height:1}body .app-shell .metric-card--action .metric-card__content>strong,body .app-shell .metric-card--orange .metric-card__content>strong{color:var(--status-action-accent)}body .app-shell .metric-card h3{-webkit-line-clamp:1;font-size:.78rem;line-height:1.16;margin:0}body .app-shell .course-task-part__grid{gap:clamp(.85rem,1.7vw,1.1rem);grid-auto-rows:11.2rem;position:relative}body .app-shell .course-task-part__grid:before{background:linear-gradient(90deg,transparent 0,var(--border-color) 12%,var(--border-color) 88%,transparent 100%);block-size:1px;content:"";inline-size:100%;inset-block-start:2.15rem;inset-inline:0;opacity:.72;pointer-events:none;position:absolute;z-index:0}body .app-shell .route-task-point{position:relative;z-index:1}body .app-shell .course-task-part .route-task-point__body{gap:.38rem;grid-template-rows:2.75rem 1.38rem minmax(2.35rem,auto) minmax(2.1rem,auto) 2rem;min-block-size:11.2rem;overflow:hidden;padding:.58rem .62rem .58rem .78rem}body .app-shell .route-task-point__type-icon,body .app-shell .route-task-point__status-icon,body .app-shell .route-task-point__icon{background:transparent!important;border:0!important;box-shadow:none!important}body .app-shell .route-task-point__type-icon{align-items:flex-start;flex-direction:column;gap:.12rem;min-block-size:2.65rem;min-inline-size:2.2rem;padding:0}body .app-shell .route-task-point__type-icon svg{block-size:2rem;inline-size:2rem;color:var(--route-category-accent)!important;stroke:currentColor}body .app-shell .route-task-point__type-icon span{color:var(--color-muted);font-size:.62rem;line-height:1}body .app-shell .route-task-point__top{align-items:flex-start;gap:.45rem;min-block-size:2.75rem}body .app-shell .route-task-point__status{align-items:center;display:inline-flex;gap:.22rem;min-block-size:1.3rem;max-inline-size:min(8.5rem,52%);overflow:hidden;text-overflow:ellipsis}body .app-shell .route-task-point__next-badge{align-self:start;background:#073b73;border:1px solid #073b73;border-radius:999px;color:var(--button-dark-text)!important;font-size:.64rem;font-weight:900;line-height:1;padding:.18rem .42rem;white-space:nowrap}body .app-shell .route-task-point h3{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;font-size:.86rem;line-height:1.18;min-block-size:2.05rem;overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis}body .app-shell .route-task-point p{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;line-height:1.28;min-block-size:1.85rem;opacity:.78;overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis;transform:translateY(1px);transition:opacity .16s ease,transform .16s ease;white-space:normal}body .app-shell :is(.route-task-point:hover,.route-task-point:focus-visible,.route-task-point--active) .route-task-point__body{box-shadow:0 12px 26px #104c7f1f;transform:translateY(-2px)}body .app-shell :is(.route-task-point:hover,.route-task-point:focus-visible,.route-task-point--active) p{opacity:1;transform:translateY(0)}body .app-shell .route-task-point--next .route-task-point__body{border-color:var(--color-blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-blue) 22%,transparent),0 12px 26px #104c7f1a}body .app-shell .route-task-point--next .route-task-point__open{background:var(--button-dark-bg);border-color:var(--button-dark-border);color:var(--button-dark-text)!important}body .app-shell .route-task-point--next .route-task-point__open:hover,body .app-shell .route-task-point--next .route-task-point__open:focus-visible,body .app-shell .route-task-point--next .route-task-point__open:active{background:var(--button-dark-hover-bg);color:var(--button-dark-hover-text)!important}body .app-shell .route-task-point--state-klaar .route-task-point__body{box-shadow:none;opacity:.9}body .app-shell .route-task-point--state-niet-gemaakt .route-task-point__body{background:linear-gradient(90deg,var(--status-open-accent) 0 .22rem,transparent .22rem),color-mix(in srgb,var(--status-open-bg) 72%,var(--color-white));border-color:var(--border-color)}body .app-shell .route-task-point__status--niet-gemaakt,body .app-shell .route-task-point--state-niet-gemaakt .route-task-point__status{background:var(--status-open-bg);color:var(--status-open-accent)}body .app-shell .course-task-part__grid{grid-auto-rows:14.2rem}body .app-shell .course-task-part .route-task-point__body{background:var(--surface-card);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 10px 24px #104c7f14;gap:0;grid-template-rows:1.45rem 4.55rem minmax(2.35rem,auto) minmax(2.2rem,auto) 2.5rem;min-block-size:14.2rem;overflow:hidden;padding:0}body .app-shell .route-task-point__next-zone{align-items:center;background:color-mix(in srgb,var(--route-category-bg) 45%,var(--surface-card));display:flex;min-block-size:1.45rem;padding-inline:.82rem}body .app-shell .route-task-point__top{align-items:flex-start;background:linear-gradient(135deg,color-mix(in srgb,var(--route-category-bg) 68%,var(--surface-card)) 0%,var(--route-category-bg) 100%);gap:.45rem;min-block-size:4.55rem;padding:.56rem .82rem 1.1rem;position:relative}body .app-shell .route-task-point__top:after{background:var(--surface-card);block-size:1.35rem;border-radius:50% 50% 0 0/100% 100% 0 0;content:"";inset-block-end:-.75rem;inset-inline:-12%;pointer-events:none;position:absolute;z-index:0}body .app-shell .route-task-point__top>*{position:relative;z-index:1}body .app-shell .route-task-point__type-icon{min-block-size:3rem;min-inline-size:2.75rem}body .app-shell .route-task-point__type-icon svg{block-size:2.55rem;inline-size:2.55rem}body .app-shell .route-task-point__type-icon span{color:var(--route-category-text);font-size:.64rem;font-weight:900}body .app-shell .route-task-point__status{background:color-mix(in srgb,var(--surface-card) 78%,var(--route-category-bg));border:1px solid color-mix(in srgb,var(--route-category-accent) 24%,transparent);max-inline-size:min(8.6rem,58%)}body .app-shell .route-task-point__next-badge,body .app-shell .route-task-point h3,body .app-shell .route-task-point p,body .app-shell .route-task-point__footer{margin-inline:.82rem}body .app-shell .route-task-point__next-badge{align-self:center;justify-self:start;block-size:1rem;display:inline-flex;align-items:center;margin:0;max-inline-size:100%}body .app-shell .route-task-point h3{align-self:end;font-size:.92rem;line-height:1.17;margin-block-start:.15rem;min-block-size:2.15rem;text-align:center}body .app-shell .route-task-point p{align-self:start;color:var(--text-secondary);font-size:.76rem;line-height:1.28;min-block-size:1.95rem;text-align:center}body .app-shell .route-task-point__footer{align-self:end;border-block-start:1px solid color-mix(in srgb,var(--route-category-accent) 16%,var(--border-color));justify-content:center;margin-block-end:0;padding-block:.42rem .52rem}body .app-shell .route-task-point__open{min-block-size:2rem;min-inline-size:5.4rem}body .app-shell .route-task-point--next .route-task-point__body{border-color:var(--color-blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-blue) 20%,transparent),0 13px 28px #104c7f1f}body .app-shell .route-task-point--state-klaar .route-task-point__body{opacity:.94}body .app-shell .route-task-point--state-niet-gemaakt .route-task-point__body{background:var(--surface-card);border-color:var(--border-color)}body .app-shell .route-task-point--state-niet-gemaakt .route-task-point__top{background:linear-gradient(135deg,var(--status-open-bg) 0%,color-mix(in srgb,var(--status-open-bg) 76%,var(--surface-card)) 100%)}@media(max-width:48rem){body .app-shell .course-task-part__grid{grid-auto-rows:minmax(13.2rem,auto)}body .app-shell .course-task-part .route-task-point__body{grid-template-rows:1.38rem 4.05rem minmax(2.2rem,auto) minmax(2rem,auto) 2.45rem;min-block-size:13.2rem}body .app-shell .route-task-point__next-zone{min-block-size:1.38rem;padding-inline:.74rem}body .app-shell .route-task-point__top{min-block-size:4.05rem;padding:.5rem .74rem .98rem}body .app-shell .route-task-point__type-icon svg{block-size:2.15rem;inline-size:2.15rem}}@media(max-width:48rem){body .app-shell :is(select,.view-switcher__select,.docent-cockpit-hero select,.docent-cockpit-compactbar select,.docent-route-dashboard__intro select,.group-route-selector select,.student-route-selectors select,.step-input-context select,.step-input-form select,.extra-step-form select,.intranet-step-list select,.intranet-link-form select,.report-prep-controls select,.report-status-control select,.teacher-form select,.compact-form select,.route-task-detail-form select,.admin-drive-form input,.teacher-form input,.step-input-form input,.route-task-detail-form input){block-size:2.25rem;box-shadow:none!important;font-family:var(--font-ui);font-size:.82rem;line-height:1.15;min-block-size:2.25rem;padding-block:.28rem;padding-inline:.5rem}body .app-shell :is(select,.view-switcher__select,.docent-cockpit-hero select,.docent-cockpit-compactbar select,.docent-route-dashboard__intro select,.group-route-selector select,.student-route-selectors select,.step-input-context select,.step-input-form select,.extra-step-form select,.intranet-step-list select,.intranet-link-form select,.report-prep-controls select,.report-status-control select,.teacher-form select,.compact-form select,.route-task-detail-form select){padding-inline-end:1.55rem}body .app-shell :is(.header-view-switcher__admin,.header-view-switcher__button,.header-view-switcher__menu-button,.header-view-switcher__option,.view-switcher__item,.sidebar-view-switch__item,.selection-option,.teacher-toggle,.step-input-toggle,.report-status-control button,.sheet-tab-list span,.secondary-action,.quick-action,.compact-action){border-radius:8px;box-shadow:none!important;font-size:.82rem;gap:.38rem!important;min-block-size:2.25rem;padding-block:.28rem;padding-inline:.52rem}body .app-shell :is(.selection-fieldset,.teacher-form,.route-task-detail-form,.step-input-form){gap:.55rem}body .app-shell .selection-fieldset{padding:.65rem}body .app-shell .selection-grid{gap:.42rem}body .app-shell :is(.teacher-toggle input,.selection-option input,.step-input-toggle input){block-size:1rem;inline-size:1rem;min-block-size:1rem}body .app-shell :is(.theme-mode-toggle,.app-header__settings,.app-header__logout,.mobile-menu-button,.sidebar-toggle,.mobile-drawer-close){block-size:var(--icon-button-size)!important;inline-size:var(--icon-button-size)!important;min-block-size:var(--icon-button-size)!important;min-inline-size:var(--icon-button-size)!important;padding:0!important}}@media(max-width:48rem){body .app-shell .course-task-part__grid{grid-auto-rows:minmax(10.4rem,auto)}body .app-shell .course-task-part__grid:before{block-size:calc(100% - 1.2rem);inline-size:1px;inset-block:.6rem auto;inset-inline-start:1.55rem}body .app-shell .course-task-part .route-task-point__body{min-block-size:10.4rem}body .app-shell .route-task-point__type-icon svg{block-size:1.75rem;inline-size:1.75rem}}@media(prefers-reduced-motion:reduce){body .app-shell .route-task-point__body,body .app-shell .route-task-point p,body .app-shell .route-task-detail-panel{transition:none!important;animation:none!important}body .app-shell :is(.route-task-point:hover,.route-task-point:focus-visible,.route-task-point--active) .route-task-point__body,body .app-shell :is(.route-task-point:hover,.route-task-point:focus-visible,.route-task-point--active) p,body .app-shell .route-task-detail-panel{transform:none}}body .app-shell .course-task-part__grid{grid-auto-rows:14.4rem}body .app-shell .course-task-part .route-task-point__body{grid-template-rows:1.45rem 4.55rem minmax(2.35rem,auto) minmax(2.2rem,auto) 2.5rem;min-block-size:14.4rem}body .app-shell .route-task-point__next-zone{align-items:center;display:flex;justify-content:flex-start;min-block-size:1.45rem;overflow:hidden;padding-inline:.82rem}body .app-shell .route-task-point__next-badge{background:#073b73;border:0;border-radius:999px;block-size:1rem;color:var(--button-dark-text)!important;display:inline-flex;align-items:center;flex:0 1 auto;font-size:.64rem;font-weight:900;justify-content:center;line-height:1;margin:0;max-inline-size:100%;padding-inline:.42rem;white-space:nowrap}body .app-shell .route-task-detail-panel{animation:route-detail-slide-in .22s ease-out both;will-change:transform,opacity}body .app-shell .route-task-detail-form__notes textarea{min-block-size:20rem}@keyframes route-detail-slide-in{0%{opacity:0;transform:translate(1.25rem)}to{opacity:1;transform:translate(0)}}@media(max-width:64rem){body .app-shell .route-task-detail-form__notes textarea{min-block-size:17.5rem}}@media(max-width:48rem){body .app-shell .course-task-part__grid{grid-auto-rows:minmax(13.8rem,auto)}body .app-shell .course-task-part .route-task-point__body{grid-template-rows:1.38rem 4.05rem minmax(2.2rem,auto) minmax(2rem,auto) 2.45rem;min-block-size:13.8rem}body .app-shell .route-task-point__next-zone{min-block-size:1.38rem;padding-inline:.74rem}body .app-shell .route-task-detail-panel{animation-name:route-detail-slide-up}body .app-shell .route-task-detail-form__notes textarea{min-block-size:15rem}}@keyframes route-detail-slide-up{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){body .app-shell .route-task-detail-panel{animation:route-detail-fade-in 1ms linear both!important;transform:none!important;will-change:auto}}@keyframes route-detail-fade-in{0%{opacity:.96}to{opacity:1}}.sidebar :is(.nav-item,.sidebar-view-switch__item),.app-shell--admin .sidebar .nav-item,.theme-dark-dev .app-shell--admin .sidebar :is(.nav-item,.sidebar-view-switch__item){position:relative}.sidebar :is(.nav-item,.sidebar-view-switch__item):before,.app-shell--admin .sidebar .nav-item:before,.theme-dark-dev .app-shell--admin .sidebar :is(.nav-item,.sidebar-view-switch__item):before{background:transparent;block-size:100%;border-radius:0;content:"";inline-size:3px;inset-block:0;inset-inline-start:0;pointer-events:none;position:absolute}.sidebar :is(.nav-item--active,.sidebar-view-switch__item--active),.app-shell--admin .sidebar .nav-item--active,.theme-dark-dev .app-shell--admin .sidebar :is(.nav-item--active,.sidebar-view-switch__item--active){box-shadow:none!important}.sidebar :is(.nav-item--active,.sidebar-view-switch__item--active):before,.app-shell--admin .sidebar .nav-item--active:before,.theme-dark-dev .app-shell--admin .sidebar :is(.nav-item--active,.sidebar-view-switch__item--active):before{background:var(--menu-blue-accent, var(--nav-accent, #7dd3fc));border-radius:0}body .app-shell :is(.app-header__settings,.app-header__logout,.theme-mode-toggle,.mobile-menu-button,.sidebar-toggle,.mobile-drawer-close),body .app-shell--admin :is(.app-header__settings,.app-header__logout,.theme-mode-toggle,.mobile-menu-button,.sidebar-toggle,.mobile-drawer-close){align-items:center;background:transparent!important;block-size:var(--icon-button-size)!important;border-color:transparent!important;box-shadow:none!important;flex:0 0 var(--icon-button-size);inline-size:var(--icon-button-size)!important;justify-content:center;min-block-size:var(--icon-button-size)!important;min-inline-size:var(--icon-button-size)!important;padding:0!important}body .app-shell :is(.app-header__settings,.app-header__logout,.theme-mode-toggle,.mobile-menu-button,.sidebar-toggle,.mobile-drawer-close):is(:hover,:focus-visible,:active),body .app-shell--admin :is(.app-header__settings,.app-header__logout,.theme-mode-toggle,.mobile-menu-button,.sidebar-toggle,.mobile-drawer-close):is(:hover,:focus-visible,:active){background:transparent!important;border-color:transparent!important;box-shadow:none!important}body .app-shell :is(.app-header__settings,.app-header__logout,.theme-mode-toggle,.mobile-menu-button,.sidebar-toggle,.mobile-drawer-close) svg,body .app-shell--admin :is(.app-header__settings,.app-header__logout,.theme-mode-toggle,.mobile-menu-button,.sidebar-toggle,.mobile-drawer-close) svg{block-size:var(--icon-size-header)!important;color:currentColor!important;inline-size:var(--icon-size-header)!important;stroke:currentColor}body .app-shell--admin .sidebar .nav-item svg,body .app-shell--admin .sidebar :is(.brand svg,.sidebar-view-switch__item svg){block-size:var(--icon-size-menu)!important;color:currentColor!important;inline-size:var(--icon-size-menu)!important;stroke:currentColor}body .app-shell--admin .sidebar--expanded .nav-item{grid-template-columns:var(--icon-size-menu) minmax(0,1fr)}body .app-shell--admin .sidebar .sidebar-topbar,body .app-shell--admin .sidebar--collapsed .sidebar-topbar,body .app-shell--admin .sidebar--expanded .sidebar-topbar{align-items:center;display:flex;inline-size:100%;justify-content:flex-end}body .app-shell--admin .sidebar .sidebar-toggle,body .app-shell--admin .sidebar--collapsed .sidebar-toggle,body .app-shell--admin .sidebar--expanded .sidebar-toggle{margin-inline-start:auto}@media(min-width:48.01rem){body .app-shell--admin .mobile-menu-button,body .app-shell--admin .mobile-drawer-close{display:none!important}}@media(max-width:64rem){body .app-shell--admin .sidebar{box-sizing:border-box;inline-size:min(17.5rem,calc(100vw - 2.25rem));inset-inline:0 auto;max-inline-size:calc(100vw - .75rem)}body .app-shell--admin .sidebar.sidebar--mobile-open{transform:translateZ(0)!important;visibility:visible!important}}body .app-shell :is(.status-pill,.mini-status,.signal-badge,.dashboard-hero__badge,.route-task-point__status,.route-task-detail-panel__summary span,.route-task-detail-panel .route-task-point__status){border-radius:var(--label-radius);box-shadow:none!important;font-size:var(--label-font-size)!important;font-weight:var(--label-font-weight);line-height:var(--label-line-height);padding:var(--label-padding-y-compact) var(--label-padding-x-compact)}body .app-shell :is(dt,.eyebrow,.route-task-detail-form label>span,.route-task-full-view label>span,.teacher-form label>span,.compact-form label>span){font-size:var(--label-font-size-small);line-height:var(--label-line-height)}body .app-shell :is(.route-task-detail-form label>span,.route-task-full-view label>span,.teacher-form label>span,.compact-form label>span){font-weight:var(--label-font-weight)}body .app-shell .route-task-point__next-badge{background:#073b73;border:0;color:var(--button-dark-text)!important;font-size:var(--label-font-size-strong)!important;font-weight:var(--label-font-weight-strong);line-height:1.15;min-block-size:1.35rem;padding:.18rem .62rem}body .app-shell .route-task-point__next-zone{min-block-size:1.55rem}body .app-shell .route-task-point--state-niet-gemaakt .route-task-point__status,body .app-shell .route-task-point__status--niet-gemaakt{background:var(--status-open-bg);color:#374151}body .app-shell .dashboard-hero--admin-start{align-items:center;min-block-size:0;padding-block:clamp(.36rem,.68vw,.58rem);padding-inline:clamp(.55rem,1vw,.85rem)}body .app-shell .dashboard-hero--admin-start h2{color:var(--color-blue-dark);font-family:var(--font-heading);font-size:clamp(1.5rem,2.05vw,1.875rem);font-weight:750;line-height:1.16}body .app-shell .admin-dashboard-actions{display:grid;gap:.75rem;grid-auto-rows:minmax(7.35rem,1fr);grid-template-columns:repeat(auto-fit,minmax(min(15.5rem,100%),1fr))}body .app-shell .admin-dashboard-actions .quick-action{align-items:center;background:var(--surface-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 20px #0f172a0d;color:var(--text-primary)!important;display:grid;gap:.75rem;grid-template-columns:auto minmax(0,1fr) auto;height:100%;min-block-size:7.35rem;padding:.95rem;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}body .app-shell .admin-dashboard-actions .quick-action:hover,body .app-shell .admin-dashboard-actions .quick-action:focus-visible{background:color-mix(in srgb,var(--color-blue-faint) 76%,var(--surface-card));border-color:var(--color-blue);box-shadow:0 12px 26px #0b5cad1f;color:var(--text-primary)!important}body .app-shell .admin-dashboard-actions .quick-action:focus-visible{outline:3px solid color-mix(in srgb,var(--focus-ring) 45%,transparent);outline-offset:2px}body .app-shell .admin-dashboard-actions .quick-action__icon{align-items:center;align-self:start;background:transparent;border:0;box-shadow:none;color:var(--color-blue);display:inline-flex;inline-size:2.15rem;justify-content:center;min-inline-size:2.15rem}body .app-shell .admin-dashboard-actions .quick-action__icon svg{block-size:2rem;color:currentColor!important;inline-size:2rem;stroke:currentColor}body .app-shell .admin-dashboard-actions .quick-action__content{display:grid;gap:.28rem;min-inline-size:0}body .app-shell .admin-dashboard-actions .quick-action__title{color:var(--text-primary)!important;font-family:var(--font-heading);font-size:1rem;font-weight:800;line-height:1.18;white-space:normal}body .app-shell .admin-dashboard-actions .quick-action__description{color:var(--text-secondary)!important;display:block;font-size:.84rem;font-weight:550;line-height:1.35;overflow-wrap:anywhere;white-space:normal}body .app-shell .admin-dashboard-actions .quick-action__destination{color:var(--color-blue-dark)!important;display:block;font-size:.78rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere;white-space:normal}body .app-shell .admin-dashboard-actions .quick-action__arrow{align-self:center;block-size:1.25rem;color:var(--color-blue)!important;inline-size:1.25rem;justify-self:end;stroke:currentColor}.theme-dark-dev body .app-shell .admin-dashboard-actions .quick-action{background:var(--surface-card);border-color:var(--border-color);color:var(--text-primary)!important}.theme-dark-dev body .app-shell .admin-dashboard-actions .quick-action:hover,.theme-dark-dev body .app-shell .admin-dashboard-actions .quick-action:focus-visible{background:var(--button-light-hover-bg);border-color:var(--focus-ring);color:var(--text-primary)!important}.theme-dark-dev body .app-shell .admin-dashboard-actions .quick-action__title,.theme-dark-dev body .app-shell .admin-dashboard-actions .quick-action__description,.theme-dark-dev body .app-shell .admin-dashboard-actions .quick-action__destination{color:currentColor!important}@media(max-width:64rem){body .app-shell .admin-dashboard-actions{grid-auto-rows:minmax(7rem,1fr);grid-template-columns:repeat(2,minmax(0,1fr))}body .app-shell .admin-dashboard-actions .quick-action{min-block-size:7rem}body .app-shell .admin-dashboard-actions .quick-action__icon svg{block-size:1.85rem;inline-size:1.85rem}}@media(max-width:48rem){body .app-shell .admin-dashboard-actions{grid-auto-rows:minmax(6.4rem,auto);grid-template-columns:minmax(0,1fr)}body .app-shell .admin-dashboard-actions .quick-action{gap:.62rem!important;grid-template-columns:auto minmax(0,1fr) auto;min-block-size:6.4rem;padding:.78rem}body .app-shell .admin-dashboard-actions .quick-action__icon,body .app-shell .admin-dashboard-actions .quick-action__icon svg{block-size:1.65rem;inline-size:1.65rem}body .app-shell .admin-dashboard-actions .quick-action__title{font-size:.95rem}body .app-shell .admin-dashboard-actions .quick-action__description{font-size:.8rem}}body .app-shell .intranet-step-button,.theme-dark-dev body .app-shell .intranet-step-button,body .app-shell .intranet-actions a,.theme-dark-dev body .app-shell .intranet-actions a{background:var(--intranet-card-bg);border-color:var(--intranet-card-border);color:var(--intranet-card-link)!important}body .app-shell .intranet-step-button:hover,body .app-shell .intranet-step-button:focus-visible,.theme-dark-dev body .app-shell .intranet-step-button:hover,.theme-dark-dev body .app-shell .intranet-step-button:focus-visible,body .app-shell .intranet-actions a:hover,body .app-shell .intranet-actions a:focus-visible,.theme-dark-dev body .app-shell .intranet-actions a:hover,.theme-dark-dev body .app-shell .intranet-actions a:focus-visible{background:color-mix(in srgb,var(--intranet-card-bg) 82%,#ffffff);border-color:var(--color-blue);color:var(--intranet-card-link)!important}body .app-shell .intranet-step-button--active,.theme-dark-dev body .app-shell .intranet-step-button--active,body .app-shell .intranet-step-button--active:hover,body .app-shell .intranet-step-button--active:focus-visible,.theme-dark-dev body .app-shell .intranet-step-button--active:hover,.theme-dark-dev body .app-shell .intranet-step-button--active:focus-visible{background:var(--intranet-card-active-bg);border-color:#f3c98d;color:#9a3412!important}body .app-shell .intranet-step-button strong,.theme-dark-dev body .app-shell .intranet-step-button strong{color:var(--intranet-card-title)!important;font-weight:700}body .app-shell .intranet-step-button small,.theme-dark-dev body .app-shell .intranet-step-button small{color:var(--intranet-card-subtitle)!important;font-weight:650}body .app-shell .intranet-step-button svg,.theme-dark-dev body .app-shell .intranet-step-button svg,body .app-shell .intranet-actions a svg,.theme-dark-dev body .app-shell .intranet-actions a svg{color:currentColor!important;stroke:currentColor}body .app-shell .intranet-actions small,.theme-dark-dev body .app-shell .intranet-actions small{color:var(--intranet-card-subtitle)!important}body .app-shell .import-control-summary div,.theme-dark-dev body .app-shell .import-control-summary div{background:var(--import-stat-bg);border-color:var(--import-stat-border);color:var(--import-stat-title)}body .app-shell .import-control-summary .eyebrow,.theme-dark-dev body .app-shell .import-control-summary .eyebrow{color:var(--import-stat-label)!important}body .app-shell .import-control-summary strong,.theme-dark-dev body .app-shell .import-control-summary strong{color:var(--import-stat-value)!important}.theme-dark-dev body .app-shell .import-preview,.theme-dark-dev body .app-shell .import-record{background:var(--status-busy-bg);border-color:var(--status-busy-border);color:var(--import-stat-title)}.theme-dark-dev body .app-shell .import-preview--error,.theme-dark-dev body .app-shell .import-record--error{background:var(--status-failed-bg);border-color:var(--status-failed-border)}body .app-shell :is(.import-preview,.import-record) strong,.theme-dark-dev body .app-shell :is(.import-preview,.import-record) strong,body .app-shell .import-record dd,.theme-dark-dev body .app-shell .import-record dd{color:var(--import-stat-title)!important}body .app-shell :is(.import-preview,.import-preview small,.import-record span,.import-record dt),.theme-dark-dev body .app-shell :is(.import-preview span,.import-preview small,.import-record span,.import-record dt){color:var(--import-stat-muted)!important}.theme-dark-dev body .app-shell :is(.teacher-list-item,.teacher-group-list li,.signal-row,.route-step-card,.student-route-point){background:var(--colored-card-bg);border-color:var(--colored-card-border);color:var(--colored-card-title)!important}body .app-shell :is(.teacher-list-item strong,.teacher-group-list strong,.signal-row strong,.route-step-card strong,.route-step-card h3,.student-route-point strong,.student-route-point h3),.theme-dark-dev body .app-shell :is(.teacher-list-item strong,.teacher-group-list strong,.signal-row strong,.route-step-card strong,.route-step-card h3,.student-route-point strong,.student-route-point h3){color:var(--colored-card-title)!important}body .app-shell :is(.teacher-list-item small,.teacher-group-list span,.signal-row small,.route-step-card p,.student-route-point p,.student-route-point small),.theme-dark-dev body .app-shell :is(.teacher-list-item small,.teacher-group-list span,.signal-row small,.route-step-card p,.student-route-point p,.student-route-point small){color:var(--colored-card-muted)!important}.theme-dark-dev body .app-shell :is(.teacher-list-item:hover,.teacher-list-item--active){background:var(--info-card-bg);border-color:var(--info-card-border);color:var(--info-card-title)!important}.theme-dark-dev body .app-shell :is(.teacher-list-item:hover,.teacher-list-item--active) strong{color:var(--info-card-title)!important}.theme-dark-dev body .app-shell :is(.teacher-list-item:hover,.teacher-list-item--active) small{color:var(--info-card-text)!important}body .app-shell .teacher-group-card__route,.theme-dark-dev body .app-shell .teacher-group-card__route{color:var(--colored-card-text)!important;font-weight:650}body .app-shell .teacher-group-card__meta,.theme-dark-dev body .app-shell .teacher-group-card__meta{color:var(--colored-card-muted)!important;font-weight:600}.theme-dark-dev body .app-shell .signal-row--action{background:var(--critical-card-bg);border-color:var(--critical-card-border);color:var(--critical-card-title)!important}body .app-shell .signal-row--action strong,.theme-dark-dev body .app-shell .signal-row--action strong{color:var(--critical-card-title)!important}body .app-shell .signal-row--action small,.theme-dark-dev body .app-shell .signal-row--action small{color:var(--critical-card-text)!important}body .app-shell .signal-row--action .signal-badge--action,.theme-dark-dev body .app-shell .signal-row--action .signal-badge--action{background:color-mix(in srgb,var(--critical-card-bg) 78%,var(--colored-card-bg));border:1px solid var(--critical-card-border);color:var(--critical-card-title)!important}.theme-dark-dev body .app-shell .route-step-list:before,.theme-dark-dev body .app-shell .student-route-list:before{background:var(--colored-card-border)}.theme-dark-dev body .app-shell :is(.route-step-card__order,.student-route-point__marker){background:var(--info-card-bg);border-color:var(--colored-card-bg);box-shadow:0 0 0 4px color-mix(in srgb,var(--info-card-border) 55%,transparent);color:var(--info-card-title)!important}.theme-dark-dev body .app-shell :is(.route-step-card--action,.student-route-point--action){background:var(--critical-card-bg);border-color:var(--critical-card-border);color:var(--critical-card-title)!important}.theme-dark-dev body .app-shell :is(.route-step-card--action,.student-route-point--action) :is(h3,strong){color:var(--critical-card-title)!important}.theme-dark-dev body .app-shell :is(.route-step-card--action,.student-route-point--action) :is(p,small){color:var(--critical-card-text)!important}@media(max-width:48rem){body .app-shell :is(.status-pill,.mini-status,.signal-badge,.dashboard-hero__badge,.route-task-point__status){font-size:var(--label-font-size)!important;padding:.22rem .5rem}body .app-shell .route-task-point__next-badge{font-size:var(--label-font-size-strong)!important;padding-inline:.56rem}body .app-shell .dashboard-hero--admin-start h2{font-size:clamp(1.25rem,5.2vw,1.5rem)}}
