[hidden]{display:none!important}
.sidebar nav{overflow-y:auto;min-height:0}
.plan-toolbar,.view-switch,.profile-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.plan-toolbar{margin:0 0 20px}
.view-switch{margin:20px 0 14px}
.view-switch .muted{margin-left:auto}
.planning-filters .filter-top{grid-template-columns:repeat(4,minmax(120px,1fr)) auto}
.planning-filters .filter-bottom{display:flex;flex-wrap:wrap;gap:16px}
.planning-filters .filter-bottom label{flex:1;min-width:180px}
.plan-summary{margin-bottom:20px}
.planning-warnings{border-color:#d5b071;background:#fffaf0}
.planning-warnings ul{margin:10px 0 0;padding-left:23px;line-height:1.7}
.planner{margin-bottom:24px;overflow:hidden}
.planner-scroll{overflow:auto;position:relative;max-height:680px}
.planner-table{table-layout:fixed;min-width:1050px;width:100%;border-collapse:separate;border-spacing:0}
.planner-table th:first-child{width:150px;position:sticky;left:0;background:#faf7fc;z-index:2;white-space:normal}
.planner-table.fortnight{min-width:2050px}
.planner-table thead th{position:sticky;top:0;background:#f6f0f9;z-index:3;padding:14px 12px}
.planner-table thead th:first-child{z-index:4}
.planner-table th small{display:block;color:var(--muted);font-weight:400;margin-top:5px;font-size:11px}
.planner-table td{vertical-align:top;padding:8px;min-width:148px;border-left:1px solid #ede5f1;border-bottom:1px solid #ede5f1;height:100px}
.planner-table tbody th{border-bottom:1px solid #e7dced}
.shift-card{display:flex;flex-direction:column;gap:5px;width:100%;padding:11px;text-align:left;white-space:normal;border:1px solid #d7c4e2;border-left:4px solid var(--primary);border-radius:9px;background:#f9f4fc;color:#462452;margin:0 0 7px;cursor:pointer;line-height:1.4;font-size:12px;box-shadow:none}
.shift-card:hover{background:#f0e4f7;box-shadow:0 3px 8px #51077814}
.shift-card:focus-visible{outline:3px solid #b89146;outline-offset:2px}
.shift-card .shift-time{font-size:12px;font-weight:700;color:var(--primary)}
.shift-card .shift-state{font-size:10px;text-transform:uppercase;letter-spacing:.045em;margin-top:4px}
.shift-card.published{background:#f3f8f3;border-color:#c7d9c6;border-left-color:#426f49;color:#234b2b}
.shift-card.published .shift-time{color:#234b2b}
.shift-card.cancelled{background:#f7f5f7;border-color:#dfd9e1;border-left-color:#9d919f;color:#736878}
.shift-card.cancelled .shift-time{text-decoration:line-through;color:#736878}
.empty-day{display:block;color:#c2b6c9;text-align:center;padding-top:18px}
.calendar-blocks{margin-top:24px}
.setup-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 0;border-bottom:1px solid #eee5f2}
.setup-row:last-child{border-bottom:0}
.setup-row small{display:block;color:var(--muted);font-size:12px;margin-top:5px;line-height:1.5}
.notice-list{list-style:none;padding:0;margin:10px 0 0}
.notice-list li{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px 0;border-bottom:1px solid #eee5f2;font-size:13px}
.notice-list li.read{color:var(--muted)}
.notice-list small{display:block;color:var(--muted);margin-top:5px;font-size:11px}
.weekday-choices{display:flex;flex-wrap:wrap;gap:14px;background:#faf7fc;padding:15px;border:1px solid #e7daee;border-radius:10px;margin:15px 0}
.weekday-choices label{margin:0;font-size:12px}
.profile-actions{justify-content:flex-end}
.clock-plan-fields{margin:18px 0;text-align:left}
.planned-clock{border-color:#cabbda;background:#f8f0fc;text-align:left;line-height:1.6}
.planned-clock small{display:block;color:var(--muted);margin-top:5px}
.student-workspace{background:var(--canvas,#f7f5f8);min-height:100vh;padding:24px 38px}
.student-workspace .kiosk-top{position:static;padding:0;margin:0 0 35px}
.student-content{max-width:1150px;margin:auto}
.student-shifts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.student-shifts .panel{margin:0}
.student-shifts h2{font-size:22px;margin-top:9px}
.student-shifts p{line-height:1.7}
.student-kiosk .clock-card label{text-align:left}
.audit-list details{border-bottom:1px solid #eee5f2;padding:12px 0}
.audit-list summary{cursor:pointer;font-size:13px;line-height:1.6}
.audit-list small{display:block;color:var(--muted)}
.audit-list pre{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;background:#faf7fc;padding:12px}
.report-sheet .work-instructions{max-width:240px;white-space:normal;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:1200px){.planning-filters .filter-top{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-filters .filter-submit{grid-column:1/-1}.student-shifts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.plan-toolbar>*{flex:1;justify-content:center;min-width:135px}.view-switch{gap:7px}.view-switch .muted{width:100%;margin:5px 0}.planning-filters .filter-top{grid-template-columns:1fr 1fr}.planning-filters .filter-bottom label{min-width:100%}.planner-table th:first-child{width:130px}.planner-table{min-width:1160px}.student-workspace{padding:20px 15px}.student-workspace .kiosk-top{gap:10px;align-items:flex-start}.student-workspace .kiosk-top .actions{flex-wrap:wrap;justify-content:flex-end}.student-shifts{grid-template-columns:1fr}.notice-list li{align-items:flex-start;flex-direction:column}.profile-actions{justify-content:flex-start}.sidebar nav{overflow-y:visible}}
@media print{.planning-filters,.plan-toolbar,.view-switch{display:none!important}.report-sheet .table-scroll{overflow:visible}.report-sheet table{min-width:0;font-size:10px}.report-sheet th,.report-sheet td{padding:6px}.report-sheet .report-totals{break-inside:avoid}.report-sheet tr{break-inside:avoid}.report-sheet .report-group-heading{break-after:avoid}}
