/* P04: dedicated class/day workspaces; existing GeSchool green palette retained. */
.gd-version-alert{margin:24px;padding:28px;border:1px solid #e7bc6a;background:#fffbf0;max-width:1000px}
.gd-version-alert h1{font-size:25px;margin:0 0 12px}.gd-version-alert p{line-height:1.7}
.gd-context{align-items:center}.gd-context label{min-width:260px}.gd-context-title{display:flex;flex-direction:column;gap:5px;padding:8px 18px}.gd-context-title span,.gd-context p{color:var(--muted,#70849a)}
.gd-calendar-shortcuts{display:flex;gap:8px;justify-content:flex-end;margin:18px 0 10px}
.gd-attendance-context{display:flex;align-items:end;flex-wrap:wrap;gap:14px;padding:20px;margin-bottom:22px}
.gd-attendance-context>label{display:flex;flex-direction:column;gap:8px;min-width:165px;flex:1}
.gd-attendance-context .actions{flex-wrap:wrap;padding-bottom:1px}.gd-attendance-context button{padding:11px}
.gd-class-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:14px 0 20px}.gd-class-heading h2{margin:8px 0}.gd-class-heading>span{color:var(--muted,#70849a);text-align:right}
.gd-call-progress{padding:10px 0}.gd-call-progress b{font-size:22px;color:#00854f;margin-right:5px}
.gd-call-tools{display:flex;gap:16px;justify-content:space-between;align-items:end;margin:15px 0}.gd-call-tools label{min-width:260px;display:flex;flex-direction:column;gap:8px}
.gd-cell-label{display:block;min-width:170px}.gd-cell-label input{min-width:210px}.gd-cell-label select{min-width:165px}.gd-cell-label input:disabled,.gd-cell-label select:disabled{opacity:.9;background:#f2f6f4;color:#34526a}
.gd-save-bar{position:sticky;top:10px;z-index:20;background:#fff;border:1px solid #c6e3d3;border-left:4px solid #00854f;border-radius:12px;box-shadow:0 7px 24px #0a453718;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 20px;margin:14px 0}
.gd-save-bar>div:first-child{display:flex;flex-direction:column;gap:6px}.gd-save-bar small{color:var(--muted,#70849a)}
.gd-schedule-context{background:#edf7f0;border-radius:10px;padding:16px;display:flex;justify-content:space-between;gap:15px}.gd-schedule-context b{color:#00854f}.gd-schedule-context span{color:#577369}
.gd-weekdays{display:flex;flex-wrap:wrap;gap:12px;border:1px solid #dbe7e1;border-radius:10px;padding:16px}.gd-weekdays legend{font-weight:600;padding:0 8px}.gd-weekdays label{display:flex!important;align-items:center;gap:8px;padding:8px;border-radius:8px;background:#f4f8f6}.gd-weekdays input{width:18px!important;height:18px;accent-color:#00854f}
.gd-weekdays[hidden],#gd-end-period[hidden]{display:none!important}
.gd-schedule-note{color:#63798e;line-height:1.6}.gd-schedule-preview{padding:20px;border:1px dashed #95b7a6;border-radius:10px;background:#f8fbf9;line-height:1.6}.gd-preview-dates{max-height:130px;overflow:auto;margin:12px 0}.gd-conflicts{background:#fff2f2;border:1px solid #e9baba;color:#923535;padding:12px;border-radius:8px}.gd-schedule-preview .positive{color:#00854f}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:780px){.gd-attendance-context{padding:15px;gap:12px}.gd-attendance-context>label{min-width:140px}.gd-attendance-context>.actions{order:4;flex:1 0 100%}.gd-attendance-context button{flex:1}.gd-class-heading{align-items:start;flex-direction:column}.gd-class-heading>span{text-align:left}.gd-call-tools{align-items:stretch;flex-direction:column}.gd-call-tools label{min-width:0}.gd-save-bar{position:static;align-items:stretch;flex-direction:column;padding:14px}.gd-save-bar .actions{flex-wrap:wrap}.gd-save-bar button{flex:1}.gd-schedule-context{flex-direction:column}.gd-calendar-shortcuts{justify-content:start;flex-wrap:wrap}.gd-context label{min-width:0;width:100%}.gd-version-alert{margin:12px;padding:18px}}
@media print{.gd-save-bar,.gd-call-tools,.gd-calendar-shortcuts,.gd-attendance-context .actions{display:none!important}.gd-cell-label input,.gd-cell-label select{border:none;appearance:none;background:transparent!important;color:#000!important}#gd-attendance-form .table-wrap{overflow:visible}.gd-version-alert{break-inside:avoid}}

.gd-status-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:9px;background:#fff;border:1px solid #dfeae4;border-radius:12px}.gd-status-tabs button{font-size:12px;border-color:transparent}.gd-status-tabs button.active{color:#007c4d;background:#edf8f1;border-color:#b9dfcb}
