:root{color-scheme:light;--color-orange: #f58220;--color-orange-dark: #c65f07;--color-orange-soft: #fff0df;--color-blue: #0f6fb6;--color-blue-dark: #104c7f;--color-blue-soft: #e7f3fb;--color-blue-faint: #f4f9fd;--color-white: #ffffff;--color-background: #f6f9fc;--color-surface: #ffffff;--color-border: #d8e4ee;--color-text: #122033;--color-muted: #5f6f82;--surface-page: #f6f9fc;--surface-card: #ffffff;--surface-card-raised: #ffffff;--surface-header: #ffffff;--surface-menu: #104c7f;--surface-menu-strong: #0b3d66;--text-on-light: #122033;--text-on-dark: #eef5ff;--surface-map-start: var(--color-white);--surface-map-end: #f7fbff;--text-page: var(--text-on-light);--text-card: var(--text-on-light);--text-on-soft-card: var(--text-on-light);--text-on-menu: var(--text-on-dark);--text-secondary-on-light: #334155;--text-secondary-on-dark: #d8e4f2;--text-muted-on-light: #5f6f82;--text-muted-on-dark: #aab8c8;--border-strong: #d8e4ee;--border-subtle: #e7eef5;--control-bg: var(--surface-card);--control-text: var(--text-on-light);--control-border: var(--border-strong);--control-hover-bg: #e7f3fb;--control-active-bg: #e7f3fb;--button-border: var(--color-orange);--button-hover-bg: #f3943c;--button-active-bg: #f3943c;--badge-bg: #fff0df;--badge-text-light: #122033;--badge-text-dark: var(--text-on-dark);--badge-text: var(--badge-text-light);--popup-surface: var(--surface-card);--link-text: #0f6fb6;--button-text-light: var(--text-on-light);--button-text-dark: #07111f;--selected-card-text-light: #122033;--selected-card-text-dark: #eef5ff;--icon-on-light: #104c7f;--icon-on-dark: #d8ecff;--icon-on-surface: var(--icon-on-light);--active-text-light: #104c7f;--active-text-dark: #eef5ff;--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-on-light);--text-muted: var(--text-muted-on-light);--border-color: var(--border-strong);--input-bg: var(--control-bg);--input-text: var(--control-text);--input-border: var(--control-border);--button-bg: var(--color-orange);--button-text: var(--button-text-light);--button-fixed-height: 2.35rem;--button-fixed-padding-x: .75rem;--hover-bg: var(--control-hover-bg);--focus-ring: var(--color-blue);--success-color: #176334;--warning-color: var(--color-orange-dark);--error-color: #b91c1c;--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-light: #f5efff;--route-category-intake-text-light: #5b3d8f;--route-category-intake-border-light: #d8c5f2;--route-category-intake-bg-dark: #251b35;--route-category-intake-text-dark: #e7d8ff;--route-category-intake-border-dark: #7c5fb0;--route-category-starttoets-bg-light: #e8f4ff;--route-category-starttoets-text-light: #155e9c;--route-category-starttoets-border-light: #b9daf4;--route-category-starttoets-bg-dark: #13283c;--route-category-starttoets-text-dark: #cfe9ff;--route-category-starttoets-border-dark: #4d8fc1;--route-category-methodetoets-bg-light: #eaf8ef;--route-category-methodetoets-text-light: #176334;--route-category-methodetoets-border-light: #b9e6c9;--route-category-methodetoets-bg-dark: #142d20;--route-category-methodetoets-text-dark: #c9f5d7;--route-category-methodetoets-border-dark: #4f9b68;--route-category-ice-toets-bg-light: #fff2df;--route-category-ice-toets-text-light: #a44f06;--route-category-ice-toets-border-light: #f8c58a;--route-category-ice-toets-bg-dark: #332312;--route-category-ice-toets-text-dark: #ffe0b6;--route-category-ice-toets-border-dark: #c98235;--route-category-eindtoets-bg-light: #fff0f0;--route-category-eindtoets-text-light: #8f1d2c;--route-category-eindtoets-border-light: #f0b7c0;--route-category-eindtoets-bg-dark: #35181d;--route-category-eindtoets-text-dark: #ffd4da;--route-category-eindtoets-border-dark: #ba5b69;--route-category-intake-bg: var(--route-category-intake-bg-light);--route-category-intake-text: var(--route-category-intake-text-light);--route-category-intake-border: var(--route-category-intake-border-light);--route-category-starttoets-bg: var(--route-category-starttoets-bg-light);--route-category-starttoets-text: var(--route-category-starttoets-text-light);--route-category-starttoets-border: var(--route-category-starttoets-border-light);--route-category-methodetoets-bg: var(--route-category-methodetoets-bg-light);--route-category-methodetoets-text: var(--route-category-methodetoets-text-light);--route-category-methodetoets-border: var(--route-category-methodetoets-border-light);--route-category-ice-toets-bg: var(--route-category-ice-toets-bg-light);--route-category-ice-toets-text: var(--route-category-ice-toets-text-light);--route-category-ice-toets-border: var(--route-category-ice-toets-border-light);--route-category-eindtoets-bg: var(--route-category-eindtoets-bg-light);--route-category-eindtoets-text: var(--route-category-eindtoets-text-light);--route-category-eindtoets-border: var(--route-category-eindtoets-border-light);--nav-bg: var(--surface-menu);--nav-bg-strong: var(--surface-menu-strong);--nav-text: var(--text-on-menu);--nav-muted: color-mix(in srgb, var(--nav-text) 66%, transparent);--nav-border: color-mix(in srgb, var(--nav-text) 13%, transparent);--nav-hover-bg: color-mix(in srgb, var(--nav-text) 9%, transparent);--nav-active-bg: color-mix(in srgb, var(--nav-text) 13%, transparent);--nav-accent: var(--color-orange);--shadow-card: 0 14px 32px rgb(16 76 127 / .08);--shadow-panel: 0 20px 48px rgb(16 76 127 / .1);font-family:Inter,Aptos,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark;--color-orange: #ff9b3d;--color-orange-dark: #ffb36a;--color-orange-soft: #3d2617;--color-blue: #5fb3f3;--color-blue-dark: #d8ecff;--color-blue-soft: #153149;--color-blue-faint: #101d2b;--color-white: #111827;--color-background: #07111f;--color-surface: #101827;--color-border: #2b3b4f;--color-text: #eef5ff;--color-muted: #aab8c8;--surface-page: #07111f;--surface-card: #101827;--surface-card-raised: #111827;--surface-header: #0b1422;--surface-menu: #0b1422;--surface-menu-strong: #07111f;--text-on-light: #122033;--text-on-dark: #eef5ff;--surface-map-start: #101827;--surface-map-end: #0b1422;--text-page: var(--text-on-dark);--text-card: var(--text-on-dark);--text-on-soft-card: var(--text-on-dark);--text-on-menu: var(--text-on-dark);--text-secondary-on-light: #334155;--text-secondary-on-dark: #d8e4f2;--text-muted-on-light: #5f6f82;--text-muted-on-dark: #aab8c8;--border-strong: #2b3b4f;--border-subtle: #1f2f42;--control-bg: #0b1422;--control-text: var(--text-on-dark);--control-border: #38516d;--control-hover-bg: #183a55;--control-active-bg: #183a55;--button-border: #ff9b3d;--button-hover-bg: #ffb36a;--button-active-bg: #ffb36a;--badge-bg: #3d2617;--badge-text-light: #122033;--badge-text-dark: #eef5ff;--badge-text: var(--badge-text-dark);--popup-surface: #111827;--link-text: #8fd0ff;--button-text-light: var(--text-on-light);--button-text-dark: #07111f;--selected-card-text-light: #122033;--selected-card-text-dark: #eef5ff;--icon-on-light: #104c7f;--icon-on-dark: #d8ecff;--icon-on-surface: var(--icon-on-dark);--active-text-light: #104c7f;--active-text-dark: #eef5ff;--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-on-dark);--text-muted: var(--text-muted-on-dark);--border-color: var(--border-strong);--input-bg: var(--control-bg);--input-text: var(--control-text);--input-border: var(--control-border);--button-bg: #ff9b3d;--button-text: var(--button-text-dark);--hover-bg: var(--control-hover-bg);--focus-ring: #7cc7ff;--success-color: #86efac;--warning-color: #fbbf24;--error-color: #fca5a5;--link-color: var(--link-text);--icon-color: var(--icon-on-surface);--popup-bg: var(--popup-surface);--table-row-bg: #0d1726;--route-category-intake-bg: var(--route-category-intake-bg-dark);--route-category-intake-text: var(--route-category-intake-text-dark);--route-category-intake-border: var(--route-category-intake-border-dark);--route-category-starttoets-bg: var(--route-category-starttoets-bg-dark);--route-category-starttoets-text: var(--route-category-starttoets-text-dark);--route-category-starttoets-border: var(--route-category-starttoets-border-dark);--route-category-methodetoets-bg: var(--route-category-methodetoets-bg-dark);--route-category-methodetoets-text: var(--route-category-methodetoets-text-dark);--route-category-methodetoets-border: var(--route-category-methodetoets-border-dark);--route-category-ice-toets-bg: var(--route-category-ice-toets-bg-dark);--route-category-ice-toets-text: var(--route-category-ice-toets-text-dark);--route-category-ice-toets-border: var(--route-category-ice-toets-border-dark);--route-category-eindtoets-bg: var(--route-category-eindtoets-bg-dark);--route-category-eindtoets-text: var(--route-category-eindtoets-text-dark);--route-category-eindtoets-border: var(--route-category-eindtoets-border-dark);--nav-bg: var(--surface-menu);--nav-bg-strong: var(--surface-menu-strong);--nav-text: var(--text-on-menu);--nav-muted: #aab8c8;--nav-border: #2b3b4f;--nav-hover-bg: #14263a;--nav-active-bg: #183a55;--nav-accent: #ff9b3d;--shadow-card: 0 14px 32px rgb(0 0 0 / .32);--shadow-panel: 0 20px 48px rgb(0 0 0 / .38)}*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{background:var(--page-bg);color:var(--text-primary);font-size:.95rem;margin:0}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-header{align-items:center;background:var(--header-bg);border-bottom:1px solid var(--color-border);box-shadow:0 8px 24px #104c7f0f;display:grid;gap:1rem;grid-column:1 / -1;grid-template-columns:minmax(11rem,auto) minmax(0,1fr) auto;min-height:3.8rem;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__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__user-name{color:var(--color-muted);font-size:.9rem;font-weight:700;white-space:nowrap}.app-header__logout{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;font:inherit;font-size:.86rem;font-weight:800;gap:.45rem;height:2rem;justify-content:center;min-height:2rem;padding:0;width:2rem}.app-header__logout:hover{background:var(--color-orange-soft);border-color:#f5b46e;color:var(--color-orange-dark)}.theme-toggle{align-items:center;background:var(--color-blue-soft);border:1px solid #bdd9ec;border-radius:8px;color:var(--icon-color);cursor:pointer;display:inline-flex;height:2rem;justify-content:center;padding:0;width:2rem}.theme-toggle:hover,.view-switcher__item:hover,.view-switcher__select:hover{background:var(--hover-bg);border-color:var(--focus-ring)}.theme-toggle:focus-visible,.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-light)}[data-theme=dark] .header-view-switcher__admin--active,[data-theme=dark] .header-view-switcher__button--active,[data-theme=dark] .header-view-switcher__admin:hover,[data-theme=dark] .header-view-switcher__button:hover,[data-theme=dark] .header-view-switcher__menu-button:hover,[data-theme=dark] .header-view-switcher__menu-button[aria-expanded=true]{border-color:var(--border-color);color:var(--active-text-dark)}.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(--color-blue) 0%,var(--nav-bg) 100%)}[data-theme=dark] .sidebar--docent{background:linear-gradient(180deg,var(--nav-bg) 0%,var(--nav-bg-strong) 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}.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:var(--nav-border)}.nav-item:hover svg,.nav-item--active svg{color:var(--nav-text)}.nav-item--active{background:var(--nav-active-bg);box-shadow:inset 3px 0 0 var(--nav-accent)}.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}.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:inset 3px 0 0 var(--nav-accent)}.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(--control-active-bg);border:1px solid var(--control-border);border-radius:999px;color:var(--badge-text-light);font-size:.78rem;font-weight:700;padding:.45rem .7rem}.status-pill--success{background:#e7f8ee;border-color:#b8e6c9;color:#176334}.status-pill--warning{background:var(--badge-bg);border-color:#ffd1a3;color:var(--badge-text-light)}.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{max-width:100%;min-width:0;overflow-x:clip;padding:1rem clamp(.75rem,1.6vw,1.35rem) 1.5rem}.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(--color-surface);border:1px solid var(--color-border);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}.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-light)}.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:1px solid #ffd1a3;border-radius:999px;color:var(--badge-text-light);flex:0 0 auto;font-size:.72rem;font-weight:900;padding:.35rem .55rem}.metric-grid{display:grid;gap:.55rem;grid-auto-rows:minmax(8.25rem,auto);grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr))}.metric-card{border-top:3px solid var(--color-blue);display:grid;gap:.32rem;grid-template-rows:auto auto auto minmax(0,1fr);height:100%;min-height:8.25rem;padding:.65rem}.metric-card--action{border-top-color:var(--color-orange)}.metric-card__top{align-items:center;color:var(--color-blue-dark);display:flex;font-size:.66rem;font-weight:800;gap:.32rem;text-transform:uppercase}.metric-card--action .metric-card__top{color:var(--color-orange-dark)}.metric-card__icon{align-items:center;background:var(--color-blue-soft);border-radius:6px;display:inline-flex;height:1.55rem;justify-content:center;width:1.55rem}.metric-card--action .metric-card__icon{background:var(--color-orange-soft)}.metric-card>strong{color:var(--color-blue-dark);font-size:clamp(1.35rem,2.1vw,1.75rem);line-height:1}.metric-card--action>strong{color:var(--color-orange-dark)}.metric-card h3{display:-webkit-box;font-size:.82rem;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.25;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)}.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 #ffd1a3;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(--color-blue-soft);border:1px solid #c8e0f0;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:auto minmax(0,1fr);padding:.7rem}.signal-row--action{background:var(--color-orange-soft);border-color:#ffd1a3}.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(--color-blue-soft);border:1px solid #c8e0f0;border-left:4px solid var(--color-blue);border-radius:8px;display:grid;gap:.35rem;padding:.75rem}.import-preview--error,.import-record--error{background:var(--color-orange-soft);border-color:#ffd1a3;border-left-color:var(--color-orange)}.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-radius:999px;color:var(--badge-text-light);font-size:.72rem;font-weight:900;padding:.42rem .55rem}.signal-badge--action{color:var(--badge-text-light)}.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:#ffd1a3}.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:1.35rem}.admin-view-banner{background:var(--color-orange-soft);border:1px solid #fed7aa;border-radius:8px;color:var(--color-blue-dark);font-weight:850;padding:.85rem 1rem}.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) minmax(17rem,.34fr);padding:0}.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:minmax(8.65rem,auto);grid-template-columns:repeat(auto-fit,minmax(min(8.75rem,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-blue-dark);--route-category-border: var(--color-border);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-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-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-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-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-task-point__body{background:linear-gradient(90deg,var(--route-category-border) 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.55rem,auto) minmax(1.45rem,auto) auto;height:100%;min-height:8.65rem;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-text) 0 .22rem,transparent .22rem),color-mix(in srgb,var(--route-category-bg) 72%,var(--route-category-border));border-color:var(--route-category-text);color:var(--selected-card-text-light)}.route-task-point--state-bezig .route-task-point__body{background:linear-gradient(90deg,var(--route-category-border) 0 .22rem,transparent .22rem),color-mix(in srgb,var(--route-category-bg) 88%,var(--color-white));color:var(--selected-card-text-light)}.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-text);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-text);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:1px solid var(--route-category-border);border-radius:7px;color:var(--route-category-text);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:var(--card-bg);border-color:var(--route-category-text);color:var(--route-category-text)}.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:1px solid var(--route-category-border);border-radius:999px;color:var(--route-category-text);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{background:var(--card-bg);border:1px solid var(--route-category-border);border-radius:999px;color:var(--route-category-text);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--deels-ingevuld,.route-task-point__status--actie-nodig{background:var(--card-bg);border-color:var(--route-category-border);color:var(--route-category-text)}.route-task-point--actie-nodig .route-task-point__status,.route-task-point--actie-nodig .route-task-point__status-icon{border-color:var(--color-orange);color:var(--color-orange-dark)}.route-task-point--state-klaar .route-task-point__status{background:var(--card-bg);border-color:var(--route-category-text);color:var(--route-category-text)}.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-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 #ffd1a3;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}.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);border:3px solid var(--color-white);border-radius:999px;color:var(--text-on-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}.route-step-card--action .route-step-card__order{background:var(--color-orange);color:var(--text-on-light)}.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:1px solid #ffd1a3;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 #ffd1a3;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:#ffd1a3}.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);color:var(--text-on-dark)}.student-route-point--action .student-route-point__marker{background:var(--color-orange);color:var(--text-on-light)}.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:#ffd1a3;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 #ffd1a3;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 #ffd1a3;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-orange-dark)!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:#ffd1a3;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}[data-theme=dark] .dashboard-hero,[data-theme=dark] .dashboard-panel,[data-theme=dark] .metric-card,[data-theme=dark] .teacher-overview-table-panel,[data-theme=dark] .teacher-list-panel,[data-theme=dark] .teacher-detail-panel,[data-theme=dark] .teacher-profile-card,[data-theme=dark] .course-task-route,[data-theme=dark] .docent-route-dashboard__intro,[data-theme=dark] .docent-dashboard-block,[data-theme=dark] .route-task-detail-panel,[data-theme=dark] .step-input-hero,[data-theme=dark] .step-input-context,[data-theme=dark] .step-input-form,[data-theme=dark] .step-input-side,[data-theme=dark] .route-entry-history,[data-theme=dark] .report-editor-panel,[data-theme=dark] .report-editor-side,[data-theme=dark] .report-template-panel,[data-theme=dark] .report-prompt-panel,[data-theme=dark] .report-section-card,[data-theme=dark] .report-prep-side,[data-theme=dark] .report-prep-controls,[data-theme=dark] .report-prep-summary,[data-theme=dark] .student-route-panel,[data-theme=dark] .student-route-checklist,[data-theme=dark] .group-analysis,[data-theme=dark] .admin-teacher-summary-grid div{background:var(--card-bg);border-color:var(--border-color)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--input-bg)!important;border-color:var(--input-border)!important;color:var(--text-primary)!important}[data-theme=dark] .course-task-route__map{background:linear-gradient(90deg,rgb(95 179 243 / .08) 1px,transparent 1px),linear-gradient(180deg,rgb(95 179 243 / .08) 1px,transparent 1px),linear-gradient(180deg,var(--surface-map-start) 0%,var(--surface-map-end) 100%)}[data-theme=dark] .history-list article,[data-theme=dark] .teacher-overview-table tr{background:var(--table-row-bg);border-color:var(--border-color)}[data-theme=dark] .route-task-point__body{background:linear-gradient(90deg,var(--route-category-border) 0 .22rem,transparent .22rem),var(--route-category-bg);border-color:var(--route-category-border)}[data-theme=dark] .route-task-point__type-icon,[data-theme=dark] .route-task-point__status-icon{background:var(--input-bg);border-color:var(--route-category-border);color:var(--route-category-text)}[data-theme=dark] .route-task-point--state-klaar .route-task-point__body{background:linear-gradient(90deg,var(--route-category-border) 0 .22rem,transparent .22rem),color-mix(in srgb,var(--route-category-bg) 82%,var(--card-bg))}[data-theme=dark] .route-task-point--state-klaar .route-task-point__type-icon,[data-theme=dark] .route-task-point--state-klaar .route-task-point__status-icon,[data-theme=dark] .route-task-point--state-klaar .route-task-point__status{background:var(--input-bg);color:var(--route-category-text)}[data-theme=dark] .primary-action{color:var(--button-text)}[data-theme=dark] .secondary-action{color:var(--active-text-dark)}[data-theme=dark] .field-error,[data-theme=dark] .step-input-alert--action{color:var(--error-color)}[data-theme=dark] .save-notice{background:#0f2a1a;border-color:#1f7a3b;color:var(--success-color)}[data-theme=dark] .dashboard-empty,[data-theme=dark] .route-task-point p,[data-theme=dark] .route-task-point small,[data-theme=dark] .history-list dd,[data-theme=dark] .history-list article>span{color:var(--text-muted)}.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:#ffd1a3;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:#ffd1a3;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,.admin-teacher-dashboard{display:grid;gap:1rem;margin:0 auto;max-width:86rem}.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:visible}.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)}.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(--color-surface);border:1px solid var(--color-border);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(--color-white);border:1px solid #bdd9ec;border-radius:8px;color:var(--color-blue-dark);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(--color-blue-soft);border:1px solid #c8e0f0;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(--color-blue-soft);border:1px solid #c8e0f0;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(--color-white);box-shadow:0 2px 8px #0b5b8c1f;color:var(--active-text-light)}.report-text-editor{background:var(--color-white);border:1px solid #bdd9ec;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(--color-blue-soft);border:1px solid #c8e0f0;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(--color-orange-soft);border:1px solid #ffd1a3;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(--color-blue-soft);border:1px solid #c8e0f0;color:var(--color-blue-dark)}.drive-upload-banner--warning,.template-registry-banner--missing{background:var(--color-orange-soft);border:1px solid #ffd1a3;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-orange-dark)!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(--color-blue-faint);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(--color-white);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:#ffd1a3}.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(--color-blue-faint);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(--color-white);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(--color-orange-soft);border:1px solid #ffd1a3;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(--color-orange-soft);border:1px solid #ffd1a3;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(--color-white);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(--color-blue-soft);border:1px solid #c8e0f0;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(--color-blue-soft);border:1px solid #c8e0f0;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(--color-blue-soft);border:1px solid #c8e0f0;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:#ffd1a3}.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(--color-blue-soft);border:1px solid #bdd9ec;border-radius:999px;color:var(--color-blue-dark);font-size:.72rem;font-weight:800;padding:.32rem .55rem}.mini-status--muted{background:#f1f4f7;border-color:var(--color-border);color:var(--color-muted)}.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 #ffd1a3;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-dark);border-radius:8px;color:var(--text-on-dark);display:inline-flex;flex:0 0 auto;font-weight:900;height:3rem;justify-content:center;width:3rem}[data-theme=dark] .route-step-card__order,[data-theme=dark] .student-route-point--complete .student-route-point__marker,[data-theme=dark] .student-route-point--action .student-route-point__marker,[data-theme=dark] .teacher-avatar{color:var(--text-on-light)}[data-theme=dark] .dashboard-hero__badge,[data-theme=dark] .status-pill,[data-theme=dark] .status-pill--warning,[data-theme=dark] .signal-badge,[data-theme=dark] .signal-badge--action{color:var(--badge-text-dark)}.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}.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:1px solid #ffd1a3;border-radius:999px;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(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-card)}.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:1px solid #ffd1a3;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(--color-white);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,transform .14s ease}.quick-action:hover,.report-download-link:hover,.intranet-actions a:hover,.student-route-edit:hover{transform:translateY(-1px)}@media(max-width:78rem){.app-shell{grid-template-columns:12.75rem 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{gap:.55rem;grid-column:1;grid-row:2;padding:.55rem;position:static}.main-area{grid-column:1;grid-row:3}.brand{max-width:100%}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem}.nav-item{min-height:2.35rem}.nav-item small{display:none}.sidebar-view-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.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,.teacher-management__layout,.teacher-form,.selection-grid,.docent-route-dashboard__intro,.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-template-columns:repeat(auto-fit,minmax(min(8.75rem,100%),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}}
