.planner-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px}
.planner-settings{background:var(--surface);border:1px solid var(--line);padding:20px;border-radius:var(--radius);align-self:start;min-width:0}
.planner-settings>summary{font-size:18px;font-weight:650;cursor:pointer}
.planner-settings[open]>summary{margin-bottom:20px}
.planner-settings .stack{gap:16px}
.planner-settings label{font-size:14px}
.planner-settings .muted{font-size:13px;margin:0}
.preference-options>summary{padding:8px 0;min-height:44px;font-size:14px;font-weight:600}
.preference-options>label,.preference-options>p{margin:16px 0}
.planner-results{min-width:0}
.planner-results>h2:first-child{margin-top:0}
.planner-results>.actions{margin-top:16px;align-items:start}
.planner-results>.actions>.workspace-tools{margin:0;flex-basis:auto}
.planner-results>.actions>.workspace-tools>summary{min-height:48px;padding:12px}
.course-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line);padding:20px;background:var(--surface);border-radius:var(--radius-sm);margin:16px 0}
.course-row strong{flex:1;overflow-wrap:anywhere}
.course-row label{flex-basis:100%;font-size:14px}
.course-row select{font-weight:400;width:100%}
.editor{background:var(--surface);padding:24px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:24px}
.editor h3{margin:0}
.editor textarea{font-family:ui-monospace,Consolas,monospace;font-size:13px}
.editor>label{max-width:75ch}
.editor>[type=submit],.editor>button:last-child{align-self:start;min-width:150px}
.meeting-editor{margin-top:12px}
.solution-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.solution-list button{font-size:13px}
.week-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.day-column{padding:12px;min-width:0}
.day-column+.day-column{border-left:1px solid var(--line)}
.day-column h3{margin-top:0;font-size:16px}
.calendar-meeting{padding:12px;background:var(--brand-soft);margin:12px 0;border-radius:var(--radius-sm);overflow-wrap:anywhere;font-size:13px}
.calendar-meeting p{margin:4px 0}
.meeting-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.meeting-fields label{font-size:14px}
.meeting-fields,.meeting-fields>*{min-width:0}
.advanced-entry{padding:8px 0}
.advanced-entry summary{padding:8px 0;min-height:44px;font-weight:600;font-size:14px}
.kos-status{background:var(--surface-soft);border:1px solid var(--line);font-size:14px;padding:12px 16px;margin:20px 0 24px}
.kos-status p{max-width:90ch}
#planner{min-height:500px}
@media(max-width:1050px){.planner-layout{grid-template-columns:240px minmax(0,1fr)}
.week-grid{grid-template-columns:1fr}
.day-column+.day-column{border-left:0;border-top:1px solid var(--line)}
.calendar-meeting{display:inline-block;width:calc(50% - 8px);vertical-align:top;margin:4px}
.meeting-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){.planner-layout{grid-template-columns:minmax(0,1fr)}
.planner-layout .planner-settings{order:1}
.calendar-meeting{display:block;width:auto}
.meeting-fields{grid-template-columns:minmax(0,1fr)}
.editor{padding:20px}
.course-row{padding:16px}
.course-row strong{flex-basis:calc(100% - 40px)}
}
@media print{.site-header,.site-footer,.actions,.study-toolbar,.topic-picker,.oral-controls,.cookie-choice,.ad-panel,.answer-check,.problem-canvas,.planner-settings,.solution-list{display:none!important}
.week-grid{grid-template-columns:repeat(5,1fr)}
.calendar-meeting{break-inside:avoid}
}
