.planner-heading,.planner-filters{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.planner-heading{justify-content:space-between}.planner-heading h1{font-size:1.8rem}
.planner-controls{margin:1rem 0}
.planner-controls label{display:grid;gap:.3rem;margin:.5rem 0;font-weight:700}
.planner-controls input:not([type=checkbox]),.planner-controls select{min-height:42px;width:100%;min-width:0;border:1px solid #607583;border-radius:4px;padding:.4rem;background:#fff;color:#152d39;font:inherit}
.planner-controls button,#planner-refresh{min-height:44px;padding:.5rem .8rem;border:1px solid #607583;background:#fff;color:#152d39;font:inherit;border-radius:4px;cursor:pointer}
.planner-controls :focus-visible{outline:3px solid #9b3b17;outline-offset:3px}
.planner-filters label{flex:1 1 200px}
.planner-day{border-top:2px solid #718892;padding:.8rem 0}
.planner-day h3{margin:.25rem 0;font-size:1.2rem}.planner-day p{margin:.4rem 0}
.planner-day[data-mode=holiday]{border-color:#876209}.planner-day[data-mode=catch_up]{border-color:#276650}
.planner-tasks{list-style:none;padding:0;margin:.5rem 0}
.planner-tasks li{display:flex;align-items:flex-start;gap:.5rem;padding:.4rem 0;overflow-wrap:anywhere;break-inside:avoid}
.planner-tasks input{flex:none;width:20px;height:20px;margin:.15rem 0}.planner-tasks span{min-width:0;overflow-wrap:anywhere}
.planner-done{color:#46604f}.planner-done span::before{content:'Completed: ';font-weight:700}
.planner-edit{border-top:2px solid #718892}.planner-edit-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.planner-edit fieldset{height:100%;margin:0;min-width:0;border:1px solid #718892;padding:.8rem}.planner-edit legend{font-weight:700}
#planner-preview{border-left:4px solid #276650;padding:1rem;margin:1rem 0;background:#eef8f2}
#planner-status[data-error=true]{color:#a32121}#planner-history li{margin:.5rem 0;overflow-wrap:anywhere}
#planner-print-heading{display:none}.planner-day h4{margin:1rem 0 .3rem}.planner-learning a{color:#19546b;text-decoration:underline}
@media(max-width:760px){.planner-edit-columns{grid-template-columns:1fr}.planner-filters{gap:.5rem}.planner-filters label{flex-basis:100%}}
@media print{
 @page{margin:16mm}
 body,main.app-shell{background:#fff!important;color:#000!important;padding:0!important;margin:0!important;max-width:none!important;font-size:11pt;line-height:1.3}
 .app-header,.planner-controls,.planner-heading a,#account-status,#planner-status,#planner-login,#planner-access,.account-email-reminder,#planner-heading,[data-print-hidden=true]{display:none!important}
 .planner-heading h1{font-size:20pt;margin:0 0 8pt}.planner-day{border-color:#000!important;break-inside:avoid;padding:5pt 0}
 .planner-day h3{break-after:avoid;font-size:12pt}.planner-day p{margin:2pt 0}
 .planner-tasks{margin:3pt 0}.planner-tasks li{padding:2pt 0}
 .planner-tasks input{display:none}.planner-tasks li:not(.planner-done)::before{content:'[  ]';white-space:nowrap}
 .planner-done{color:#000}#planner-print-heading{display:block;font-size:15pt;overflow-wrap:anywhere}
 #planner-today{break-inside:auto}.planner-day h4{break-after:avoid}.planner-learning a{color:#000;text-decoration:none}
 #planner-dates,.planner-print-note{font-size:9pt}#planner-workload{break-inside:avoid}
}
