/* Zacht gekleurd. Screen-only: printed schedules keep their existing styling. */
@media screen {
 :root{--surface:#1c262d;--surface-raised:#26343c;--subtle-line:#37464f;--soft-text:#b9c7d0}
 body,.workspace,.viewer,.schedule-overview-mode .viewer,.personal-view,.viewer:has(.season-dashboard){background:#141b20;color:#f1f5f7}
 .appbar{background:#11181d;border-bottom-color:#a74857}
 .app-navigation{background:#182127;border-bottom-color:#334049}
 .app-navigation button{color:#b9c7d0}
 .app-navigation button:hover{background:#26343c}
 .app-navigation button[aria-current=page],.app-navigation button[data-screen=planner][aria-current=page]{background:#33414a;color:#fff;box-shadow:inset 0 -2px #e58799}
 .schedule-overview-mode .viewer-heading{background:#192229;border-bottom-color:#334049}
 .viewer-heading p,.board-identity p,.stage-bottom,.viewer-footer{color:var(--soft-text)}
 .schedule-overview-mode .week-room-legend,.viewer-controls button,.viewer-controls input,.week-context,.board-topbar select,.board-topbar button:not(.primary){background:#222e36;border-color:#41505a;color:#e5edf1}
 .week-room-key i{box-shadow:none}
 .stage,.planning-mode .stage{background:#1c262d;border-color:#3b4851;box-shadow:0 4px 18px #0002}
 .stage-caption,.studio-week-mode .stage-caption{border-bottom-color:#3b4851}
 .schedule-overview-mode .viewer-day,.plan-day,.agenda-day{background:#1a252d;border:1px solid #3b4851;box-shadow:none;border-radius:5px}
 .schedule-overview-mode .viewer-day>header,.plan-day-title{background:#202b32;border-bottom-color:#3b4851;color:#f1f5f7}
 .schedule-overview-mode .viewer-day.is-today,.plan-day.is-today,.agenda-today{border-color:#a9717b;box-shadow:none}
 .schedule-overview-mode .viewer-day.is-today>header,.plan-day.is-today .plan-day-title{background:#352a30;border-color:#825863}
 .schedule-overview-mode .viewer-lane,.plan-day-grid,.plan-room-heads{background:#1a252d}
 .viewer-lane::after,.viewer-lane:last-child::after{border-color:#43515c}
 .viewer-hour-line{border-color:#45535d}
 .schedule-overview-mode .viewer-ruler span,.plan-time{color:#b9c7d0}
 .plan-room-heads,.plan-day-title{border-color:#41505a}
 .plan-slot,.plan-cell>.plan-slot,.plan-cell>.plan-slot.preferred,.plan-cell>.plan-slot.usable,.plan-cell>.plan-slot.less{background:#202e36;color:#91a5b2;border-color:#44515c}
 .plan-slot:hover,.plan-cell>.plan-slot:hover{background:#30434e;border-color:#a7c4d4;box-shadow:inset 0 0 0 1px #a7c4d4}
 .plan-cell>.plan-slot.slot-match{background:#35454f;outline-color:#efae6d;border-color:#efae6d}
 .plan-more{background:#1d2830;border-color:#3c4a54;color:#c3d0d7}
 /* Stable room identity on every lesson surface. Events keep their own encoding. */
 [data-room=hoofd]{--lesson-fill:#246e72;--lesson-edge:#4baeb0}
 [data-room=wand]{--lesson-fill:#925236;--lesson-edge:#dc895f}
 [data-room=klein]{--lesson-fill:#776329;--lesson-edge:#c9ab60}
 [data-room=ieper]{--lesson-fill:#2d5d96;--lesson-edge:#629bed}
 :is(.viewer-lesson,.plan-lesson,.floor-lesson,.lesson,.mobile-lesson-card)[data-room]:not(.event-block):not(.card-private):not(.mobile-private):not(.card-once):not(.postit):not(.plan-postit):not(.floor-postit){background:var(--lesson-fill)!important;color:#fff!important;border:0;border-left:2px solid var(--lesson-edge);border-radius:3px;box-shadow:inset 0 1px #ffffff12!important;text-shadow:none}
 :is(.viewer-lesson,.plan-lesson,.floor-lesson,.lesson)[data-room]:not(.event-block) small{color:#edf3f6;opacity:.9}
 :is(.viewer-lesson,.plan-lesson,.floor-lesson,.lesson)[data-room]:hover{filter:brightness(1.13)}
 :is(.viewer-lesson,.plan-lesson,.floor-lesson,.lesson,.mobile-lesson-card):focus-visible{outline:2px solid #fff;outline-offset:-2px}
 .mobile-lesson-card[data-room]:not(.mobile-private){background:var(--lesson-fill)!important;border-left:3px solid var(--lesson-edge)!important;color:#fff}
 .publication-toolbar{background:#2a262c;border-color:#66515c;border-left-color:#c78091}
 .publication-toolbar small{color:#cabcc5}
 #planner-drawer{background:#1c262d;border-color:#3b4851}
 #planner-drawer .drawer-heading,.course-summary,.school-event-list-row{border-color:#3b4851}
 #planner-drawer #lesson-search,.planner-pool-card,#planner-drawer .drawer-empty{background:#25333c;border-color:#475963;color:#e8f0f4}
 .course-summary>strong,.planner-pool-card strong{color:#eba5b2}
 .viewer-event.own-event,.event-day .school-event-chip.own-event,.mobile-event-card:not(.external-event),.school-event-chip.own-event{background:linear-gradient(110deg,#68dce3,#38cfda);border-color:#83e5eb;color:#08272d;box-shadow:none}
 .viewer-event-band,.event-block{background:repeating-linear-gradient(135deg,transparent 0 5px,#39b7c355 5px 6px),#173c44!important;color:#e1fbfd!important;box-shadow:inset 0 0 0 1px #48cbd6!important}
 .event-band-label,.event-block .event-title{background:#173c44e8;border-color:#48cbd6}
 .viewer-event.external-event,.school-event-chip.external-event,.mobile-event-card.external-event{background:#e3c975!important;color:#302615!important;border-color:#f0d990!important}
 .viewer-event-band.event-external,.event-block.event-external{background:repeating-linear-gradient(135deg,transparent 0 5px,#cdb66e55 5px 6px),#3d3724!important;color:#f9edc4!important;box-shadow:inset 0 0 0 1px #cfb35c!important}
 .event-external .event-band-label{background:#3d3724e8}
 button.agenda-kind-weekly{background:color-mix(in srgb,var(--agenda-room,#91a7ae) 23%,#1b2932);border-left-width:3px;box-shadow:none}
 button.agenda-kind-own_event,button.agenda-kind-own_competition{background:#18434b;border-color:#39727b;border-left-color:#50d7e1;box-shadow:none}
 button.agenda-kind-external,button.agenda-kind-external_event{background:#3b3422;border-color:#76663b;border-left-color:#e4c875;box-shadow:none}
 button.agenda-card.agenda-is-jury{background:#392b4d;border:1px solid #8666ab;border-left:4px solid #c0a0fa;box-shadow:none}
 .agenda-is-jury .agenda-jury-tag{background:#654285;border-color:#9b75bf}
 .season-dashboard .viewer-month{background:#1b252b;border-color:#3b4851;box-shadow:none}
 .season-stat,.season-note{background:#202e35;border-color:#3b515a;box-shadow:none}
 .season-legend{background:#1d292f;border-color:#3b4851}
 .season-weekdays{background:#25333b;border-color:#3b4851}
 /* Detail windows share one surface; previous lesson remains warm amber. */
 dialog,dialog#season-dialog,dialog.curriculum-dialog,dialog.agenda-dialog{background:#1c282f;color:#edf4f7;border:1px solid #536773;border-radius:9px;box-shadow:0 20px 60px #0008;color-scheme:dark}
 dialog::backdrop{background:#050c10b3}
 dialog h2,dialog h3,dialog label,dialog legend{color:#edf4f7}
 dialog .subtle,dialog .curriculum-muted{color:#b9c7d0}
 dialog input,dialog select,dialog textarea{background:#142027;color:#fff;border-color:#536773;color-scheme:dark}
 dialog button{background:#2b3c46;color:#edf4f7;border-color:#546b77}
 dialog button:hover:not(:disabled){filter:brightness(1.12)}
 dialog .primary{background:#a64153;border-color:#bd6677;color:#fff}
 #detail-code{background:#324b55;color:#a5e2e4}
 #series-editor,#training-editor,#chosen-dates-editor,.editor-times{background:#22343d;border-color:#49616c;color:#edf4f7}
 #series-preview,#chosen-dates-summary{color:#8ae0dc}
 .training-date-row{color:#e4eef3;border-color:#49616c}.training-current{background:#2a464c}
 #lesson-panel-program{background:#1c2c34;border-color:#49616c}
 .curriculum-program-sheet{background:#23373f;border-color:#49616c}
 .curriculum-previous{background:#3a3020;border-color:#856b43}
 .lesson-card-tabs button{background:#253740;border-color:#4a626d}
 .lesson-card-tabs button[aria-selected=true]{background:#31505a;border-color:#67c8ce;box-shadow:inset 0 2px #67c8ce}
 button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #a6dbe7;outline-offset:2px}
}
@media screen and (max-width:1199px){
 .mobile-week-days{background:#141b20}
 .mobile-week-days button,.compact-days button{background:#24343e;border-color:#4b5e69}
 .mobile-week-days button[aria-pressed=true],.compact-days button[aria-pressed=true]{background:#66414e;border-color:#c78091}
 .mobile-lesson-card{min-height:94px;gap:6px;border-radius:6px}
 .mobile-lesson-meta{color:#edf4f7}
 .curriculum-current{background:#23373f}
}

@media screen and (max-width:1199px){body #lesson-dialog>.dialog-top,body #lesson-dialog .dialog-actions{background:#1c282f}body #lesson-dialog .dialog-top button{color:#edf4f7}}
@media screen{
 dialog p,.curriculum-dialog .curriculum-plan-row p{color:#cfdae1}
 dialog .dialog-top button,dialog .dialog-actions button{color:#edf4f7;background:#2b3c46;border-color:#546b77}
 dialog .dialog-actions button.primary{background:#a64153;border-color:#bd6677;color:#fff}
 .curriculum-previous p,#lesson-panel-program .curriculum-previous p{color:#ecddc2}
}

@media screen{.lesson.conflict,.plan-conflict{outline:2px solid #ed8d96;outline-offset:-2px}}
/* A busy month's notices must never crush its calendar dates. */
@media screen and (min-width:1200px){
 .viewer:has(.season-dashboard){overflow:auto}
 .season-dashboard{flex:0 0 auto;overflow:visible;min-height:0}
 .season-dashboard .viewer-months{height:auto;grid-template-rows:repeat(var(--season-rows,1),auto)}
 .season-dashboard .season-calendar{flex:0 0 clamp(348px,42dvh,470px);min-height:348px}
 .season-dashboard .season-month-notes{flex:1 0 auto;min-height:146px}
}
