/* Classic school theme. Presentation only; layout and permissions stay intact. */
:root {
 --ink:#253e51; --muted:#58718a; --line:#cad8e5; --soft:#f4f7fb;
 --accent:#256a4c; --accent-dark:#1b543b; --accent-wash:#e6f3eb; --accent-line:#b1d4bf;
 --green:var(--accent); color:var(--ink); background:#edf3f8;
}
html,body { background:#fff!important; background-image:none!important; }
body { --accent:#256a4c; --accent-dark:#1b543b; --accent-wash:#e6f3eb; --accent-line:#b1d4bf;
 background:#fff; min-height:100vh; }
body[data-workspace=management], body[data-workspace=administration] {
 --accent:#a84d13; --accent-dark:#873b0c; --accent-wash:#fff0df; --accent-line:#e5c6a5;
}
header { max-width:1376px; margin:6px auto 0; padding:14px 18px;
 background:var(--accent-wash); border:1px solid var(--accent-line); border-left:6px solid var(--accent);
 border-radius:6px; box-shadow:none; }
header strong { color:var(--ink); }
header span, small, .subtle, .empty { color:var(--muted); }
h1,h2,h3 { color:var(--ink); }
button,input,select,textarea { border-color:var(--line); border-radius:6px; box-shadow:none; }
button { background:#fff; color:var(--ink); }
button:hover:not(:disabled) { background:var(--accent-wash); border-color:var(--accent); }
button.primary,button.active { background:var(--accent); color:#fff; border-color:var(--accent); box-shadow:none; }
button.primary:hover:not(:disabled),button.active:hover:not(:disabled) { background:var(--accent-dark); border-color:var(--accent-dark); }
button.danger { color:#a52e38; border-color:#e5b7bc; background:#fff; }
button.danger:hover:not(:disabled) { background:#fff0f0; border-color:#bf626b; }
input,select,textarea { color:var(--ink); background:#fff; }
input::placeholder,textarea::placeholder { color:#738699; }
input[type=checkbox],progress { accent-color:var(--accent); }
:focus-visible { outline-color:#2476b1; }
nav { border-bottom:0; padding-bottom:0; }
.card { border-color:var(--line); border-radius:7px; box-shadow:none; }
.setup-progress { border-left-color:var(--accent); background:#fff; }
.entry { border-radius:3px; box-shadow:none; border-color:var(--line); border-left-color:#86a6cb; }
.entry.approved { background:#e6f4eb; border-left-color:#70a887; }
.entry.pending { background:#fff1de; border-left-color:#ce9148; }
.entry.returned,.entry.rejected { background:#fff0ef; border-left-color:#cb7b7b; }
.entry.notperformed { background:#f1f3f5; border-left-color:#9ba8b3; }
.pill { border-radius:4px; background:#edf2f6; color:#50667b; }
.pill.planned { background:#eaf1fc; color:#365e91; }
.pill.pending { background:#fff0da; color:#99500d; }
.pill.approved { background:#e4f3e9; color:#256a4c; }
.pill.returned,.pill.rejected,.warning { background:#ffeded; color:#a52e38; }
.pill.notperformed { background:#eef0f2; color:#606e7b; }
.error { background:#fff0ef; color:#a52e38; }
.success { background:#e6f3eb; color:#256a4c; }
#notice { background:var(--accent-wash); color:var(--ink); box-shadow:none; }
#notice.error { background:#fff0ef; color:#a52e38; }
.calendar { border-radius:0; box-shadow:none; }
.calendar th { background:var(--accent-wash); color:var(--ink); }
.calendar .slot { background:#eaf1f6; color:var(--muted); }
.calendar tbody tr:nth-child(odd)>td { background:#f4f7fb; }
.calendar tbody tr[data-slot-kind=lunch]>th,
.calendar tbody tr[data-slot-kind=mealwatch]>th.slot { background:#f6edce; color:#78632c; }
.calendar tbody tr[data-slot-kind=lunch]>td,
.calendar tbody tr[data-slot-kind=mealwatch]>td { background:#fffaf0; }
.calendar tbody tr[data-slot-kind=lunchbreak]>th.slot { background:#f8e7d7; color:#925537; }
.calendar tbody tr[data-slot-kind=lunchbreak]>td { background:#fff8f1; }
.calendar tbody tr[data-slot-kind=break]>th.slot { background:#eee7f7; color:#695389; }
.calendar tbody tr[data-slot-kind=break]>td { background:#f8f5fc; }
.calendar .event { background:#edf3ff; color:#315e94; border:1px solid #d5e2f5; border-left:4px solid #7d9ed0; border-radius:5px; }
.calendar .event.pending,.calendar .event.approved { background:#e7f4eb; color:#256a4c; border-color:#b7d8c4; border-left-color:#70a887; }
.calendar .event.returned,.calendar .event.rejected { background:#ffeded; color:#a52e38; border-color:#e6b8bb; }
.calendar .event.notperformed { background:#f1f3f5; color:#606e7b; border-color:#cbd5dc; }
.calendar td button.add { color:#58718a; }
.data th { background:var(--accent-wash); color:var(--ink); }
.data tbody tr:nth-child(even) { background:#f4f7fb; }
.data tbody tr:hover { background:#edf3f7; }
dialog { background:#fff; color:var(--ink); border-color:var(--line); box-shadow:-8px 0 30px #253e5126; }
dialog::backdrop { background:#253e514d; }
.drawer-head,.form-actions { background:#fff; }
dialog fieldset,.choices { border-color:var(--line); border-radius:6px; background:#fff; }
.password { background:#edf3f7; }
.legacy-views,.legacy-views[data-view=teacher],.legacy-views[data-view=admin] {
 --wr-bg:#fff; --wr-fg:var(--ink); --wr-sub:var(--muted); --wr-soft:#f4f7fb; --wr-line:var(--line);
 --wr-blue:var(--accent); --wr-onblue:#fff; --wr-role:var(--accent-wash); --wr-role-line:var(--accent-line);
 --wr-plan:#edf3ff; --wr-green:#e6f4eb; --wr-greenink:#256a4c;
 --wr-amber:#fff1de; --wr-amberink:#99500d; --wr-red:#fff0ef; --wr-redink:#a52e38;
 background:#fff; color:var(--ink);
}
.legacy-views button { border-radius:6px; box-shadow:none; }
.legacy-views button:hover:not(:disabled) { filter:none; background:var(--accent-wash); border-color:var(--accent); }
.legacy-views button.wr-primary,
.legacy-views .wr-agenda-days button[aria-pressed=true],
.legacy-views .wr-agenda-toolbar button[aria-pressed=true] { background:var(--accent); color:#fff; border-color:var(--accent); }
.legacy-views .wr-stat-panel,.legacy-views .wr-month-chart { border-color:var(--line); border-radius:6px; box-shadow:none; }
.legacy-views .wr-chart-track { background:#edf2f7; }
.legacy-views .wr-chart-fill[data-metric=projection] { background:#7798c2; }
.legacy-views .wr-calendar th,.legacy-views .wr-agenda-table thead th { background:var(--accent-wash); color:var(--ink); }
.legacy-views .wr-agenda-table tbody th { background:#eaf1f6; color:var(--muted); }
.legacy-views .wr-agenda-table tbody tr:nth-child(odd)>td { background:#f4f7fb; }
.legacy-views .wr-agenda-table tr[data-slot-kind=lunch]>th,
.legacy-views .wr-agenda-table tr[data-slot-kind=mealwatch]>th { background:#f6edce; color:#78632c; }
.legacy-views .wr-agenda-table tr[data-slot-kind=lunch]>td,
.legacy-views .wr-agenda-table tr[data-slot-kind=mealwatch]>td { background:#fffaf0; }
.legacy-views .wr-agenda-table tr[data-slot-kind=lunchbreak]>th { background:#f8e7d7; color:#925537; }
.legacy-views .wr-agenda-table tr[data-slot-kind=lunchbreak]>td { background:#fff8f1; }
.legacy-views .wr-agenda-table tr[data-slot-kind=break]>th { background:#eee7f7; color:#695389; }
.legacy-views .wr-agenda-table tr[data-slot-kind=break]>td { background:#f8f5fc; }
.legacy-views .wr-agenda-entry { background:#edf3ff; color:#315e94; border-color:#7d9ed0; border-radius:5px; }
.legacy-views .wr-agenda-entry[data-state=pending],.legacy-views .wr-agenda-entry[data-state=approved] { background:#e7f4eb; color:#256a4c; border-color:#70a887; }
.legacy-views .wr-agenda-entry[data-state=returned],.legacy-views .wr-agenda-entry[data-state=rejected] { background:#ffeded; color:#a52e38; border-color:#cb7b7b; }
.legacy-views .wr-agenda-entry[data-state=notperformed] { background:#f1f3f5; color:#606e7b; border-color:#9ba8b3; }
.legacy-views .wr-agenda-add { color:#58718a; box-shadow:none; }
@media(max-width:700px) { header { margin:6px 12px 0; padding:12px; flex-wrap:wrap; } #identity { flex-wrap:wrap; } }
@media(print) { html,body,header { background:#fff!important; } .card,.calendar,.entry { box-shadow:none; } }
.context-toolbar { margin:8px 0; }
.context-toolbar details { margin:0; }
#identity { display:flex;align-items:center;gap:8px; }
#identity>span { text-align:right;margin-right:8px; }
.calendar td { height:46px;padding:3px; }
.calendar td button.add { min-height:32px;padding:2px; }
.calendar .event { min-height:0;padding:4px;margin-bottom:2px; }
.calendar th { padding:5px; }
#schedule-controls>label { max-width:270px; }
.context-toolbar details { color:var(--muted); font-size:14px; }
.month-summary { margin:10px 0 16px; padding:12px 16px; }
.month-summary label { max-width:190px; }
.week-actions { gap:8px; margin:12px 0; }
.week-actions h2 { font-size:18px; margin:0 8px 0 0; }
.week-actions strong { font-weight:400; color:var(--muted); font-size:14px; }
.week-actions button { padding:8px 10px; font-size:14px; }
.week-actions #add { margin-left:auto; }
.calendar th.today { box-shadow:inset 0 -3px var(--accent); }
.schedule-options,.week-totals { margin:16px 0; }
.schedule-options summary,.week-totals summary { cursor:pointer; color:var(--muted); }
.schedule-options[open]>div { margin-top:10px; }
.plan-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; }
.plan-summary .card { margin:10px 0; }
.plan-summary small { display:block; margin-top:6px; }
#plan-form [hidden] { display:none; }
@media(max-width:700px){.month-summary label{max-width:none}.month-summary .grow{display:none}.month-summary button{flex:1}.plan-summary{grid-template-columns:1fr}.plan-summary .card{margin:0}.context-toolbar{margin:4px 0}.context-toolbar summary{padding:6px 0}}

/* Activity workflow: keep native hidden semantics in flex labels and compact edit controls. */
[hidden]{display:none!important}
.control-heading{font-size:1rem;margin:.75rem 0 .3rem}
.undo-toolbar{justify-content:flex-end;margin:.5rem 0}
.undo-toolbar small{color:var(--muted,#536b80)}
.event{position:relative;display:flex;align-items:flex-start;padding:.2rem!important}
.event-main{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1;text-align:left;border:0!important;background:transparent!important;color:inherit;padding:.35rem;box-shadow:none!important}
.event-edit{font-size:.8rem;padding:.2rem .4rem!important;min-height:30px}
body[data-workspace=personal] .event.pending,.wr-agenda-entry[data-state=pending]{background:#e6f4eb!important;border-left:4px solid #368457!important;color:#245f43}
.event-main[aria-disabled=true]{cursor:default}
.wr-agenda-entry .event-main{width:100%}
#setup-body .actions{margin-top:1rem}
@media(max-width:700px){.undo-toolbar{justify-content:flex-start}.undo-toolbar small{width:100%}.wr-agenda-entry-actions button{min-height:40px}}

/* Timetable navigation has its own line; expanding notices never moves it. */
.week-navigation{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:8px 0}
.week-navigation h2{font-size:18px;margin:0;flex:0 0 190px}
.week-navigation-controls{display:grid;grid-template-columns:150px 120px 150px;align-items:center;gap:6px}
.week-navigation-controls button{white-space:nowrap;padding:6px 8px;font-size:14px}
.week-range{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted);font-weight:500;font-size:14px}
.week-actions{margin:8px 0;align-items:center}
.week-actions:empty{display:none}
.week-actions #unused-slots{font-size:13px}
.school-calendar-panel{padding:6px 12px;margin:8px 0}
.school-calendar-panel summary{padding:5px 0;font-size:14px}
.school-calendar-panel p{margin:6px 0;font-size:14px}
.calendar-day-note{min-height:20px;font-size:11px}
.setup-schedule-intro{padding:14px 18px;border:1px solid var(--accent-line);border-left:5px solid var(--accent);border-radius:6px;background:var(--accent-wash);margin-bottom:14px}
.setup-schedule-intro>small{font-weight:700;text-transform:uppercase;letter-spacing:.035em;font-size:11px}
.setup-schedule-intro h1{font-size:24px;margin:6px 0}
.setup-schedule-intro p{margin:7px 0 12px;max-width:850px;font-size:14px}
.setup-schedule-intro .actions{margin:0}
.setup-schedule-intro .actions .primary{margin-left:auto}
.calendar tbody tr[data-slot-kind=morningcare]>th.slot,.legacy-views .wr-agenda-table tr[data-slot-kind=morningcare]>th{background:#f0e6f5;color:#705280}
.calendar tbody tr[data-slot-kind=morningcare]>td,.legacy-views .wr-agenda-table tr[data-slot-kind=morningcare]>td{background:#faf6fc}
.calendar tbody tr[data-slot-kind=transport]>th.slot,.legacy-views .wr-agenda-table tr[data-slot-kind=transport]>th{background:#dfefed;color:#306a65}
.calendar tbody tr[data-slot-kind=transport]>td,.legacy-views .wr-agenda-table tr[data-slot-kind=transport]>td{background:#f2f9f8}
.calendar td{height:42px;padding:2px}
.calendar th{padding:4px}
.calendar .slot{font-size:13px;line-height:1.25}
.calendar .slot small{font-size:11px;line-height:1.25;margin-top:3px}
.calendar .event{font-size:12px;margin-bottom:2px}
.calendar .event strong{font-size:13px;line-height:1.25}
.event-main{gap:1px;padding:3px;min-height:0}
.event-edit{min-height:28px}
.calendar td button.add{min-height:28px;font-size:21px;padding:0}
.entry{padding:8px 10px;margin-bottom:5px;gap:10px}
.entry .actions button{padding:6px 10px;min-height:36px}
.data th,.data td{padding:7px 9px}
.card{padding:15px;margin-bottom:12px}
.month-summary{margin:8px 0 12px;padding:10px 13px}
.legacy-views .wr-day,.legacy-views[data-compact=true] .wr-day{min-height:86px;padding:6px}
.legacy-views .wr-agenda-table tbody th{padding:7px 6px;line-height:1.25}
.legacy-views .wr-agenda-table tbody th span{margin-top:3px;line-height:1.2}
.legacy-views .wr-agenda-table td{height:58px;padding:3px}
.legacy-views .wr-agenda-table .wr-agenda-entry{padding:4px;margin-bottom:2px;line-height:1.3}
.legacy-views .wr-agenda-entry-actions{margin-top:2px}
.legacy-views .wr-agenda-table .wr-agenda-add{min-height:44px;padding:0}
.legacy-views .wr-unused-slots{width:100%;margin:7px 0 2px;font-size:13px;min-height:40px}
.employment-options{display:flex;gap:10px;flex-wrap:wrap;padding:8px 0}
.employment-options label{flex:1;min-width:140px;border:1px solid var(--line);padding:9px 12px;border-radius:6px}
.employment-options label:has(input:checked){border-color:var(--accent);background:var(--accent-wash)}
.plan-chart{margin:10px 0;font-size:13px}
.plan-chart>div:not(.plan-chart-track){display:flex;justify-content:space-between;gap:10px;margin-bottom:5px}
.plan-chart-track{height:8px;background:#edf2f6;border-radius:4px;overflow:hidden;margin:4px 0 10px}
.plan-chart-track>span{display:block;height:100%;background:var(--accent);border-radius:4px}
.nav-external{display:inline-flex;align-items:center;min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--ink);font-weight:600;background:#fff}
.nav-external:hover{background:var(--accent-wash);border-color:var(--accent)}
.plan-chart progress{height:12px;display:block;margin:5px 0}
@media(max-width:700px){
 .setup-schedule-intro{padding:12px}
 .setup-schedule-intro h1{font-size:22px}
 .setup-schedule-intro .actions>button{flex:1 1 145px;font-size:14px;min-height:44px}
 .entry .actions button{min-height:44px}
 .card{padding:12px}
 .legacy-views .wr-agenda-toolbar{grid-template-columns:40px 40px minmax(0,1fr) auto auto}
 .legacy-views .wr-agenda-toolbar button{min-height:44px}
 .legacy-views .wr-agenda-table .event-main{padding:3px;min-height:44px}
 .legacy-views .wr-agenda-table .wr-agenda-entry-actions button{min-height:40px;padding:5px 9px}
 .legacy-views .wr-agenda-table th:first-child{width:93px}
 .legacy-views .wr-agenda-table tbody th{font-size:12px}
 .legacy-views .wr-agenda-table .wr-agenda-entry strong{font-size:13px}
 .legacy-views .wr-day,.legacy-views[data-compact=true] .wr-day{min-height:78px;padding:5px 2px}
}

.plan-chart>div{flex-wrap:wrap}.plan-chart-track{flex:0 0 100%;width:100%}
#view{display:flow-root}

@media(max-width:700px){.month-summary #month-declare{flex:1 0 100%;min-height:44px;order:2}.month-summary #month-missing,.month-summary #month-archives{flex:1 1 110px;min-height:44px}.month-summary{gap:8px}}

/* Compact schedule: the add control occupies a side column, never a new row. */
.calendar-cell{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:start;gap:2px;min-width:0}
.calendar-cell>.event,.calendar-cell>.wr-agenda-entry{grid-column:1;min-width:0}
.calendar-cell>button.add,.calendar-cell>.wr-agenda-add{grid-column:2;grid-row:1;width:28px;min-height:28px}
.calendar-cell:not(:has(.event,.wr-agenda-entry)){grid-template-columns:1fr}
.calendar-cell:not(:has(.event,.wr-agenda-entry))>button{grid-column:1;width:100%}
.calendar .event,.legacy-views .wr-agenda-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px;margin:0;padding:2px}
.calendar .event .event-main,.legacy-views .wr-agenda-entry .event-main{width:100%;min-height:44px;font-size:12px;gap:0;padding:2px;line-height:1.3}
.calendar .event .event-main strong,.legacy-views .wr-agenda-entry .event-main strong{font-size:13px;overflow-wrap:anywhere;line-height:1.25}
.calendar .event .event-main small{font-size:11px;line-height:1.25}
.calendar .event-edit,.legacy-views .wr-agenda-entry-actions button{min-height:28px;padding:3px 5px;font-size:12px}
.legacy-views .wr-agenda-entry-actions{margin:0;align-self:center}
.employment-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;min-width:0;padding:12px}
.employment-options label.check{display:flex;align-items:center;gap:9px;min-width:0;padding:10px;margin:0;line-height:1.35;overflow-wrap:normal}
.employment-options input[type=radio]{width:20px;height:20px;margin:0;padding:0;flex:0 0 20px;accent-color:var(--accent)}
.malica-frame{display:block;width:100%;height:max(560px,calc(100dvh - 180px));border:1px solid var(--line);border-radius:7px;background:white}
.education-progress{margin:12px 0}.education-progress .plan-chart{margin:0}.education-progress .card{margin:0}
.education-progress .wr-chart-note{margin:5px 0}.education-progress .progress-total{font-weight:700}
@media(max-width:700px){
 .calendar-cell{grid-template-columns:minmax(0,1fr) 44px;gap:3px}
 .calendar-cell>button.add,.calendar-cell>.wr-agenda-add{width:44px;min-height:44px;font-size:23px}
 .calendar .event-edit,.legacy-views .wr-agenda-entry-actions button{min-height:44px;padding:5px 8px;font-size:13px}
 .calendar .event .event-main,.legacy-views .wr-agenda-entry .event-main{font-size:13px;min-height:44px}
 .calendar .event,.legacy-views .wr-agenda-entry{padding:3px}
 .employment-options{grid-template-columns:1fr}
 .malica-frame{height:calc(100dvh - 165px);min-height:520px}
}

#malica-host{max-width:1420px;margin:0 auto;padding:0 22px 22px}#malica-host[hidden]{display:none}@media(max-width:700px){#malica-host{padding:0 12px 12px}}

/* Leadership scheduling shows actual assignments with compact date controls. */
.scheduling-views{margin-bottom:12px}
.management-calendar-grid{table-layout:fixed;min-width:980px}
.management-calendar-grid th{min-width:0!important;text-align:center}
.management-calendar-grid td{vertical-align:top;border:1px solid var(--line);padding:5px;height:115px}
.management-calendar-outside{background:var(--soft)}
.management-calendar-date{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:4px;min-height:28px;font-size:13px;padding:3px 7px}
.management-calendar-day.today{box-shadow:inset 0 3px var(--accent)}
.management-calendar-items{display:grid;gap:3px}
.management-calendar .management-calendar-entry{display:block;padding:0;margin:0;border:1px solid var(--line);border-radius:5px;min-width:0}
.management-calendar .event-main{display:grid;text-align:left;width:100%;white-space:normal;min-height:44px;padding:5px;line-height:1.25;gap:2px;border:0;background:transparent}
.management-calendar .event-main strong{font-size:13px;overflow-wrap:anywhere}
.management-calendar .event-main small{font-size:11px;overflow-wrap:anywhere}
.plan-chart progress.plan-chart-progress{appearance:none;flex:0 0 100%;width:100%;height:8px;border:0;border-radius:4px;overflow:hidden;background:#edf2f6;accent-color:var(--plan-chart-color,var(--accent));margin:4px 0 10px}
.plan-chart-planned{--plan-chart-color:#80a8d6}.plan-chart-done{--plan-chart-color:#287457}.plan-chart-goal{--plan-chart-color:#8b79b4}
.plan-chart-progress::-webkit-progress-bar{background:#edf2f6;border-radius:4px}
.plan-chart-progress::-webkit-progress-value{background:var(--plan-chart-color,var(--accent));border-radius:4px}
.plan-chart-progress::-moz-progress-bar{background:var(--plan-chart-color,var(--accent));border-radius:4px}
.report-controls{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:10px 0}
.report-controls label{flex:1 1 150px;min-width:0}.report-controls label:first-child{flex:2 1 230px}
.report-table{font-size:14px}.report-table th,.report-table td{padding:8px;vertical-align:middle}
.report-table th:not(:first-child){min-width:0}.report-table td{font-variant-numeric:tabular-nums}
.report-table button{white-space:nowrap}.report-table th[scope=row]{background:transparent}
.report-warning{border-left:4px solid #cf922e;padding:8px 12px;background:#fff4df}
dialog.report-drawer{width:min(1000px,100%)}
.report-record{padding:12px;margin-bottom:8px}.report-record p,.report-record .toolbar{margin:4px 0}
.report-record details{margin:4px 0}.report-review-actions{align-items:stretch;min-height:44px}
.report-review-actions button{flex:1 1 180px;min-height:44px}
@media(max-width:700px){.report-table{min-width:900px}dialog.report-drawer{width:100%;border:0}.report-controls label{flex-basis:100%}.report-controls button{min-height:44px}.report-export-controls button{flex:1 1 160px}}
@media(max-width:700px){.management-calendar-date{min-height:44px;min-width:44px}.management-calendar-grid{min-width:1050px}.scheduling-actions button{flex:1 1 145px;min-height:44px}}
.report-tabs .context-toolbar{margin:0;gap:8px}.report-tabs [data-archive-controls]{margin:0}
.schedule-additions{display:flex;flex-wrap:wrap;gap:8px}.schedule-additions .primary{min-height:44px;margin:0!important}
.week-actions #submit-recurring{margin-right:12px}
header{flex-wrap:wrap}
#identity{flex:1 1 600px;min-width:0;flex-wrap:wrap;justify-content:flex-end}
#identity>span{min-width:0;overflow-wrap:anywhere}
#identity button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere;flex-shrink:0}
@media(max-width:768px){
 #identity{justify-content:flex-start}
 #app>nav{display:flex;flex-wrap:wrap;white-space:normal;overflow:visible;gap:6px}
 #app>nav button{flex:1 1 145px;min-height:44px;white-space:normal;text-align:center}
 .toolbar button,.actions button,dialog button{min-height:44px;white-space:normal;overflow-wrap:anywhere}
 .report-tabs{align-items:end}.report-tabs .context-toolbar{flex:1 1 100%;width:100%}
 .report-tabs label{flex:1 1 145px;min-width:0}
 .schedule-additions{flex:1 1 100%}.schedule-additions button{flex:1 1 145px}
 .week-actions #submit-recurring{flex:1 1 100%;margin:0 0 8px}
 dialog{max-height:calc(100dvh - 12px);padding-bottom:max(16px,env(safe-area-inset-bottom));overflow:auto;scroll-padding-bottom:24px}
 dialog input,dialog select,dialog textarea{font-size:16px}
 .form-actions{position:static!important;padding-bottom:env(safe-area-inset-bottom)}
}
@media(max-width:700px){
 .report-table{min-width:0;width:100%;display:block}.report-table thead{display:none}
 .report-table tbody{display:grid;gap:12px}.report-table tr{display:block;border:1px solid var(--line,#cbd8e5);border-radius:8px;padding:8px;background:white}
 .report-table td,.report-table th[scope=row]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px;border:0;width:100%;overflow-wrap:anywhere}
 .report-table td::before{content:attr(data-label);font-weight:600;flex:1 1 50%}
 .report-table th[scope=row]{font-size:17px;display:block}.report-table button{max-width:100%}
}

/* Override the old fixed-width navigation after theme rules. */
.week-navigation-controls{width:100%;grid-template-columns:1fr auto 1fr;gap:12px}.week-navigation-controls>button:first-child{justify-self:start}.week-navigation-controls>button:last-child{justify-self:end}.schedule-additions #schedule-undo{margin-left:auto}
@media(max-width:700px){.week-navigation-controls{gap:6px;grid-template-columns:1fr auto 1fr}.week-navigation-controls button{white-space:normal;font-size:12px;padding:10px 6px}.week-range{font-size:12px}.schedule-additions #schedule-undo{width:100%;margin:0}.schedule-additions #schedule-undo button{width:100%}}
/* Keep monthly actions readable at phone widths; no narrow button columns. */
@media(max-width:700px){
 .month-summary{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
 .month-summary>label,.month-summary>button{grid-column:1/-1;width:100%;max-width:none;min-width:0}
 .month-summary>button{min-height:44px;white-space:normal;overflow-wrap:normal;word-break:normal}
 .month-summary>.grow{display:none}
}

/* Native date/time controls must shrink with their grid track on Safari. */
.stack,.auth form{grid-template-columns:minmax(0,1fr)}
.stack>*,.grid>label{min-width:0}
input[type=date],input[type=month],input[type=time]{display:block;min-width:0;max-width:100%;width:100%}
input::-webkit-date-and-time-value{min-width:0}
/* One scroll area follows the visible viewport, including an on-screen keyboard. */
html{scrollbar-gutter:stable}
dialog#drawer{top:var(--drawer-visible-top,0px);bottom:auto;height:var(--drawer-visible-height,100dvh);max-height:var(--drawer-visible-height,100dvh);box-sizing:border-box;overflow:auto;overscroll-behavior:contain;padding-bottom:max(22px,env(safe-area-inset-bottom));scroll-padding-top:90px;scroll-padding-bottom:30px}
#drawer-title{min-width:0;overflow-wrap:anywhere}
#drawer .drawer-head>h2{flex:1 1 0;min-width:0}
#drawer-close{flex:0 0 auto;white-space:nowrap;overflow-wrap:normal;word-break:normal}
#drawer-content{min-width:0;max-width:100%}
#drawer .drawer-head{z-index:4}
.invitation-filters{margin:22px 0 18px;gap:18px;align-items:end}
.invitation-filters label{min-width:0;display:grid;gap:7px}
.invitation-filters input,.invitation-filters select{margin:0;width:100%;min-width:0}
.invitation-actions{margin:14px 0;gap:12px;align-items:stretch}
.invitation-actions button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
#invite-count{margin:20px 0 14px}
.annual-targets{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
@media(max-width:700px){.invitation-actions{display:grid;grid-template-columns:minmax(0,1fr)}dialog#drawer{width:100%;max-width:100%;padding:16px}.drawer-head{gap:10px}}
@media(max-width:768px){
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}
}
@media(max-width:700px){
 .grid{grid-template-columns:minmax(0,1fr)}
 .education-filters{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}
 .education-filters>*{min-width:0;max-width:100%;width:100%}
 .education-filters .employee-search-controls{flex-wrap:wrap}
 .education-filters .employee-search-controls>label{flex-basis:100%}
 .education-filters .employee-search-clear{min-height:44px;white-space:normal}
}
