/* Read-only teacher week: one contained scrolling surface, compact cards. */
body:has(#teacherProgramWeekScreen[style*="block"]) .container{max-width:1100px;width:100%;min-width:0;padding:16px;overflow-x:clip}
#teacherProgramWeekScreen{width:100%!important;max-width:100%!important;min-width:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box;overflow-x:clip;transform:none!important;animation:none!important}
#teacherProgramWeekScreen>.back{min-height:40px;margin:0 0 10px!important;padding:6px 0!important;font-size:13px!important}
#teacherProgramWeekScreen>h1{font-size:19px!important;line-height:1.35!important;margin:0 0 14px!important;font-weight:600;overflow-wrap:anywhere}
.tf-compact-week-body{width:100%;max-width:100%;min-width:0}
.tf-week-toolbar{display:grid;grid-template-columns:36px minmax(0,1fr) 36px 36px;align-items:center;gap:4px;margin:0 0 10px;max-width:100%;color:var(--app-ink)}
.tf-week-toolbar>span{font-size:12px;text-align:center;overflow-wrap:anywhere;line-height:1.4}
#teacherProgramWeekScreen .tf-week-toolbar button{width:36px!important;min-width:0!important;min-height:40px!important;padding:4px!important;font-size:21px!important;border-radius:11px!important;margin:0!important;box-shadow:none!important}
#teacherProgramWeekScreen .tf-week-toolbar .tf-week-refresh{font-size:20px!important;background:var(--app-surface)!important;color:var(--app-ink)!important;border:1px solid var(--app-edge)!important}
:is(#teacherProgramWeekScreen,#teacherStudentFollowupScreen,#teacherDataCentreScreen) .tf-week-view{display:block;position:relative;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden;--tw-surface:var(--app-surface,#fff);--tw-ink:var(--app-ink,#1e293b);--tw-muted:var(--app-muted,#657184);--tw-line:var(--app-edge,#d1d5db);--tw-accent:var(--app-accent,#806019);color:var(--tw-ink)}
:is(#teacherProgramWeekScreen,#teacherStudentFollowupScreen,#teacherDataCentreScreen) .tf-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;max-width:100%;margin:0 0 12px;padding:0;overflow:hidden}
:is(#teacherProgramWeekScreen,#teacherStudentFollowupScreen,#teacherDataCentreScreen) .tf-week-days button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%!important;min-width:0!important;min-height:48px!important;margin:0!important;padding:5px 0!important;border-radius:11px!important;font-size:11px!important;line-height:1.2!important;background:transparent!important;color:var(--tw-muted)!important;border:1px solid transparent!important;box-shadow:none!important;outline-offset:-2px}
.tf-week-view .tf-week-days button b{font-size:14px;font-weight:500;color:var(--tw-ink)}
:is(#teacherProgramWeekScreen,#teacherStudentFollowupScreen,#teacherDataCentreScreen) .tf-week-days button[aria-pressed=true]{background:var(--tw-accent)!important;color:var(--app-accent-ink,#fff)!important;border-color:var(--tw-accent)!important;outline:0}
.tf-week-view .tf-week-days button[aria-pressed=true] b{color:inherit}
:is(#teacherProgramWeekScreen,#teacherStudentFollowupScreen,#teacherDataCentreScreen) .tf-week-view .tf-week-columns{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:calc((100% - 8px)/2);width:100%;max-width:100%;min-width:0;gap:8px;padding:0 0 10px;margin:0;align-items:start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scroll-padding-inline:0;scrollbar-width:thin;scrollbar-color:var(--tw-line) transparent;box-sizing:border-box;position:relative;transform:none!important}
:is(#teacherProgramWeekScreen,#teacherStudentFollowupScreen,#teacherDataCentreScreen) .tf-week-view .tf-week-columns>.tp-view-day{width:100%;min-width:0;max-width:100%;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;scroll-snap-align:start;overflow-wrap:anywhere;color:var(--tw-ink)}
.tf-week-view .tf-mini-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;padding:4px 1px 9px;min-height:49px}
.tf-week-view .tf-mini-day-head h2{font-size:12px!important;line-height:1.35!important;font-weight:600!important;margin:0!important;padding:0!important;color:var(--tw-ink)!important}
.tf-week-view .tf-mini-day-head h2 small{display:block;margin-top:4px;font-size:11px!important;font-weight:400!important;color:var(--tw-muted)!important}
.tf-week-view .tf-mini-day-head>span{font-size:11px;color:var(--tw-muted);white-space:nowrap;padding-top:2px}
.tf-week-view .tf-mini-card{display:block;padding:9px!important;margin:0 0 7px!important;min-width:0;max-width:100%;border:1px solid var(--tw-line)!important;border-radius:12px!important;background:var(--tw-surface)!important;color:var(--tw-ink)!important;box-shadow:none!important;overflow-wrap:anywhere}
.tf-week-view .tf-mini-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:5px}
.tf-week-view .tf-mini-card h3{min-width:0;font-size:12px!important;line-height:1.4!important;font-weight:600!important;color:var(--tw-ink)!important;margin:0!important;padding:0!important}
.tf-week-view .tf-mini-card>p{font-size:11px!important;line-height:1.45!important;margin:4px 0 6px!important;padding:0!important;color:var(--tw-muted)!important}
.tf-week-view .tf-mini-status{display:inline-grid;place-items:center;flex:none;width:18px;height:18px;border-radius:50%;font-size:13px;color:var(--tw-ink);background:color-mix(in srgb,#cd435d 16%,var(--tw-surface))}
.tf-week-view .tf-mini-done .tf-mini-status{background:color-mix(in srgb,#188353 20%,var(--tw-surface))}
.tf-week-view .tf-mini-meta{font-size:11px;line-height:1.4;color:var(--tw-muted)}
.tf-week-view .tf-mini-meta>span{display:block}
.tf-week-view .tf-mini-detail{margin-top:3px}
.tf-week-view .tf-mini-detail>summary{font-size:11px;line-height:1.4;min-height:28px;padding:5px 0;color:var(--tw-ink);cursor:pointer}
.tf-week-view .tf-mini-detail>div{font-size:11px;padding:4px 0 7px;min-width:0;max-width:100%;overflow-wrap:anywhere}
.tf-week-view .tf-mini-detail small{display:block;font-size:11px!important;color:var(--tw-muted)}
.tf-week-view .tf-mini-card .pm-files{margin-top:4px!important;padding-top:4px!important;font-size:11px!important;border-color:var(--tw-line)!important}
.tf-week-view .tf-mini-card .pm-files>summary{font-size:11px!important;min-height:28px;line-height:1.4;padding:5px 0;font-weight:500!important;color:var(--tw-ink)!important}
.tf-week-view .tf-mini-card .pm-hint,.tf-week-view .tf-mini-card .pm-file small{font-size:11px!important;line-height:1.45!important}
.tf-week-view .tf-mini-card .pm-file button{font-size:11px!important;line-height:1.4!important;padding:7px!important;min-height:36px!important;max-width:100%;margin:0!important;box-shadow:none!important}
.tf-week-view .tf-mini-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:7px}
.tf-week-view .tf-mini-card>header,.tf-week-view .tf-mini-card>p{grid-column:1/-1}
.tf-week-view .tf-mini-meta{display:contents}
.tf-week-view .tf-mini-meta>span{grid-column:1/-1;font-size:11px;line-height:1.4;color:var(--tw-muted)}
.tf-week-view .tf-mini-detail{grid-column:1;min-width:0;margin-top:2px}
.tf-week-view .tf-mini-detail[open]{grid-column:1/-1}
.tf-week-view .tf-mini-card .pm-files{grid-column:2;border-top:0!important;margin-top:2px!important;padding-top:0!important;min-width:0}
.tf-week-view .tf-mini-card .pm-files[open]{grid-column:1/-1}
.tf-week-view .tf-mini-empty{font-size:11px!important;line-height:1.45!important;padding:12px 8px!important;margin:0!important;border:1px dashed var(--tw-line);border-radius:11px;color:var(--tw-muted)!important}
.tf-week-view .tf-week-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;font-size:11px;line-height:1.5;color:var(--tw-muted);margin:6px 0 10px}
#teacherProgramWeekScreen .tf-week-info{font-size:12px;color:var(--app-muted);margin:8px 0}
#teacherProgramWeekScreen .tf-week-info>summary{min-height:36px;padding:8px 0;cursor:pointer}
#teacherProgramWeekScreen .tf-week-info p{font-size:12px!important;line-height:1.55!important;margin:5px 0 12px!important}
#teacherProgramWeekScreen .tf-week-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0}
#teacherProgramWeekScreen .tf-week-actions button{flex:1;min-width:120px;width:auto!important;min-height:40px!important;font-size:12px!important;line-height:1.4!important;padding:10px!important;margin:0!important;border-radius:11px!important;box-shadow:none!important}
@media(min-width:700px){:is(#teacherProgramWeekScreen,#teacherStudentFollowupScreen,#teacherDataCentreScreen) .tf-week-view .tf-week-columns{grid-auto-columns:calc((100% - 20px)/3);gap:10px}.tf-week-view .tf-mini-card{padding:11px!important}.tf-week-view .tf-mini-card h3{font-size:13px!important}}
@media(max-width:359px){body:has(#teacherProgramWeekScreen[style*="block"]) .container{padding:12px}#teacherProgramWeekScreen>h1{font-size:18px!important}.tf-week-view .tf-mini-card{padding:7px!important}.tf-week-toolbar>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.tf-week-view *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
