:root,body{background:var(--teacher-portal-background,#fff7cf);background-attachment:fixed}
#login #key{display:block;width:128px;max-width:100%;height:40px;min-height:40px;padding:6px 8px;font:400 18px/24px Arial,sans-serif;letter-spacing:.15em;text-align:center}
.teacher-clock{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:14px}.teacher-clock time{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
@media print{:root,body{background:#fff!important}}

body:has(#login:not([hidden])){display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:24px}
body:has(#login:not([hidden])) main{width:100%;max-width:610px;background:transparent;border-radius:0;padding:38px 40px;box-shadow:none}
.teacher-emblem{position:relative;width:86px;height:116px;flex:0 0 86px;overflow:hidden}
header .teacher-emblem img{position:absolute;width:96px;height:136px;max-width:none;left:-5px;top:-2px;object-fit:fill;mix-blend-mode:multiply;clip-path:polygon(50% 2%,72% 4%,90% 20%,90% 51%,90% 57%,87% 68%,78% 77%,64% 83%,54% 85%,50% 88%,46% 85%,35% 83%,22% 77%,13% 68%,10% 57%,10% 51%,10% 20%,28% 4%)}
header .school-address{font-size:14px;color:#607581;margin:4px 0 10px;line-height:1.5}
body:has(#login:not([hidden])) header{align-items:center;gap:20px}
body:has(#login:not([hidden])) h1{font-size:29px;line-height:1.2}
body:has(#login:not([hidden])) header .school-name{font-size:16px;line-height:1.5;margin:10px 0 2px}
body:has(#login:not([hidden])) #login{max-width:none;margin:24px 0 0;padding:0}
body:has(#login:not([hidden])) #message{min-height:0;margin:0}
body:has(#login:not([hidden])) #message:empty{display:none}
body:has(#login:not([hidden])) #login label{display:block;font-size:14px}
#teacher-sign-in-link{display:inline-block;color:#006b52;font-size:14px;text-decoration:underline;text-underline-offset:3px;margin-top:6px;padding:5px 0}
#teacher-sign-in-link:focus-visible{outline:2px solid #006b52;outline-offset:4px}
.toolbar #logout{margin-inline-start:0}
@media(max-width:600px){body:has(#login:not([hidden])){padding:16px}body:has(#login:not([hidden])) main{padding:28px 24px}body:has(#login:not([hidden])) header{gap:14px;align-items:flex-start}body:has(#login:not([hidden])) h1{font-size:26px}.teacher-emblem{width:66px;height:94px;flex-basis:66px}header .teacher-emblem img{width:78px;height:110px;left:-6px;top:-1px}.teacher-clock{gap:5px 12px}}

body:has(#login:not([hidden])) #login{text-align:left;margin-left:191px}body:has(#login:not([hidden])) #login #key{width:110px;height:34px;min-height:34px;margin:5px 0 0;padding:4px 8px;font-size:16px;line-height:24px}

#teacher-portal-clock{display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:#000000}
#teacher-clock-time{display:flex;align-items:baseline;gap:7px;order:-1;color:#000000;font-family:Consolas,"Courier New",monospace;font-weight:600;font-variant-numeric:tabular-nums}
#teacher-clock-time .clock-main{font-size:38px;line-height:1.1}#teacher-clock-time .clock-seconds{font-size:18px;line-height:1}#teacher-clock-time .clock-period{font:500 12px Arial,sans-serif}#teacher-clock-date{font-size:13px}

header{display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:20px}
body:has(#login:not([hidden])) main{max-width:860px}
#teacher-portal-clock{align-self:start;align-items:flex-end;text-align:right;margin-top:0;min-width:175px}
@media(max-width:700px){header{grid-template-columns:66px minmax(0,1fr);gap:16px 14px}#teacher-portal-clock{grid-column:1/-1;grid-row:1;justify-self:end}header>.teacher-emblem,header>div:not(.teacher-emblem):not(#teacher-portal-clock){grid-row:2}.teacher-emblem{width:66px;height:94px;flex-basis:66px}header .teacher-emblem img{width:78px;height:110px;left:-6px;top:-1px}}

@media(max-width:700px){body:has(#login:not([hidden])) #login{margin-left:165px}}




body:has(#login:not([hidden])) #login label{width:110px;max-width:100%;text-align:center}


body:has(#login:not([hidden])) header>div:not(.teacher-emblem):not(#teacher-portal-clock){text-align:center}
body:has(#login:not([hidden])) header #login{width:110px;max-width:100%;margin:24px auto 0;padding:0;text-align:center}
body:has(#login:not([hidden])) header>.teacher-emblem{align-self:start;margin-top:8px}

#teacher-water-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}#teacher-water-backdrop[hidden]{display:none}#teacher-water-backdrop canvas{display:block;width:100%;height:100%}body>main{position:relative;z-index:1}
body:has(#login:not([hidden])) header{grid-template-columns:minmax(0,1fr) auto}body:has(#login:not([hidden])) header>.teacher-emblem{position:fixed;left:28px;top:28px;margin:0;width:86px;height:124px}body:has(#login:not([hidden])) header>div:not(.teacher-emblem):not(#teacher-portal-clock){grid-column:1;grid-row:1}body:has(#login:not([hidden])) #teacher-portal-clock{grid-column:2;grid-row:1}
@media(max-width:700px){body:has(#login:not([hidden])) header{grid-template-columns:1fr}body:has(#login:not([hidden])) #teacher-portal-clock{grid-column:1;grid-row:1}body:has(#login:not([hidden])) header>div:not(.teacher-emblem):not(#teacher-portal-clock){grid-column:1;grid-row:2}body:has(#login:not([hidden])) header>.teacher-emblem{left:18px;top:18px;width:66px;height:100px}}

header .teacher-emblem img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain;mix-blend-mode:normal;clip-path:none}

body:has(#login:not([hidden])) header .teacher-emblem{position:static!important;display:block;width:86px;height:116px;margin:0 auto 16px;overflow:visible}
body:has(#login:not([hidden])) header .teacher-emblem img{position:static;width:100%;height:100%;object-fit:contain}
.daily-class-schedule-link{display:inline-block;margin-left:22px;color:#006b52;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.class-schedule-dialog{width:min(1180px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:90vh;overflow:auto;border:1px solid #aab8c2;border-radius:12px;padding:24px;background:#fff;color:#203b50}
.class-schedule-dialog::backdrop{background:#152d4766}.schedule-dialog-tools{display:flex;align-items:center;gap:18px}.schedule-dialog-tools h2{margin:0 auto 0 0;font-size:22px}.schedule-sheet-heading{display:flex;align-items:center;justify-content:center;gap:14px;margin:20px 0}.schedule-sheet-heading img{width:48px;height:66px;object-fit:contain}.schedule-sheet-heading h3{margin:0 0 7px;font-size:18px;color:#000}.schedule-sheet-heading p{margin:0;font-size:15px;color:#000}.schedule-table-scroll{overflow-x:auto}.class-schedule-dialog table{border-collapse:collapse;width:100%;min-width:900px;table-layout:fixed;color:#000}.class-schedule-dialog th,.class-schedule-dialog td{border:1px solid #333;text-align:center;vertical-align:middle;padding:9px 4px;line-height:1.5;font-size:14px}.class-schedule-dialog thead tr:last-child th{font-size:12px;white-space:nowrap;font-weight:400}.class-schedule-dialog tbody tr{height:78px}
@media(max-width:700px){body:has(#login:not([hidden])) header .teacher-emblem{width:74px;height:100px;margin:0 auto 14px}.class-schedule-dialog{padding:16px}.schedule-dialog-tools{gap:12px}.schedule-dialog-tools h2{font-size:19px}.schedule-sheet-heading h3{font-size:15px}.schedule-sheet-heading p{font-size:13px}}
@media print{body.printing-class-schedule>*{display:none!important}body.printing-class-schedule>.class-schedule-dialog{display:block!important;position:static;width:100%;max-width:none;max-height:none;overflow:visible;border:0;padding:0}body.printing-class-schedule .schedule-dialog-tools button{display:none}body.printing-class-schedule .schedule-table-scroll{overflow:visible}body.printing-class-schedule table{min-width:0}body.printing-class-schedule th,body.printing-class-schedule td{font-size:11px}body.printing-class-schedule thead tr:last-child th{font-size:8px}body.printing-class-schedule tbody tr{height:60px}}
.teacher-color-control{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:16px auto 0;font-size:14px}.teacher-color-control select{width:190px;max-width:100%;height:36px;min-height:36px;margin:0;padding:5px 8px;font-size:14px}:root[data-teacher-view=dashboard]{color:#203b50}:root[data-teacher-view=dashboard] body a,:root[data-teacher-view=dashboard] body button,:root[data-teacher-view=dashboard] .present{color:#00412f}:root[data-teacher-view=dashboard] .roster-alert,:root[data-teacher-view=dashboard] .not-in-class,:root[data-teacher-view=dashboard] .worksheet-followup-remark,:root[data-teacher-view=dashboard] #message.error{color:#7f1010}:root[data-teacher-view=dashboard] .waiting,:root[data-teacher-view=dashboard] .missing-updated{color:#2b414f}:root[data-teacher-view=dashboard] .excused{color:#4f3a10}
.worksheet-schedule-link{display:inline-block;margin-top:14px}.worksheet-editor-dialog{width:min(1000px,94vw);max-height:88vh;overflow:auto;background:white;color:#203b50;padding:24px;border:1px solid #8d9ba5;border-radius:14px}.worksheet-editor-dialog::backdrop{background:#203b5066;backdrop-filter:blur(3px)}.worksheet-editor-tools{display:flex;justify-content:space-between;gap:20px;align-items:start}.worksheet-editor-tools h2{margin-top:0}.worksheet-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}.worksheet-editor-fields label{display:block}.worksheet-editor-fields input,.worksheet-editor-fields select{height:42px;min-height:42px;width:100%;font-size:16px;margin-top:6px}.worksheet-editor-dialog table{width:100%;border-collapse:collapse;font-size:14px;margin-top:20px}.worksheet-editor-dialog th,.worksheet-editor-dialog td{text-align:left;padding:9px;border-bottom:1px solid #b5c0c7}.worksheet-editor-dialog td:last-child{white-space:nowrap}.worksheet-editor-dialog td button{margin-right:14px}.worksheet-editor-dialog .error{color:#7f1010}#worksheet-editor-list{overflow-x:auto}@media(max-width:600px){.worksheet-editor-fields{grid-template-columns:1fr}.worksheet-editor-dialog{padding:16px}}
.cloudflare-score-download{display:inline-block;margin:14px 0 0 22px}
.attendance-repair{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px 24px}.attendance-repair .daily-class-schedule-link,.attendance-repair .worksheet-schedule-link,.attendance-repair .cloudflare-score-download{margin:0}.attendance-repair #resolve-access-form{flex-basis:100%;order:1}
.attendance-repair .daily-class-schedule-link,.attendance-repair .worksheet-schedule-link,.attendance-repair .cloudflare-score-download{font-family:inherit;font-size:16px;font-weight:400;line-height:1.5;text-underline-offset:3px}

.teacher-color-dialog{width:min(360px,calc(100vw - 40px));box-sizing:border-box;border:1px solid #9caeb7;border-radius:14px;padding:22px;background:#fff;color:#203b50;box-shadow:0 15px 50px #203b5033}.teacher-color-dialog::backdrop{background:#203b5066;backdrop-filter:blur(3px)}.teacher-color-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.teacher-color-tools h2{margin:0;font-size:20px}.teacher-color-tools button{background:none;border:0;padding:0;text-decoration:underline;color:#006b52;font:inherit;cursor:pointer;min-height:0;width:auto}.teacher-color-dialog label{display:block;font-size:14px}.teacher-color-dialog select{display:block;width:100%;height:40px;margin:8px 0 0;padding:6px;font:16px Arial,sans-serif}.teacher-color-control a{color:#006b52;text-decoration:underline;text-underline-offset:3px;font-size:14px}
.dashboard-resource-links{display:flex;align-items:baseline;column-gap:24px;row-gap:14px;flex-wrap:wrap;white-space:normal;max-width:100%;overflow:visible}.attendance-repair .dashboard-resource-links a{margin:0;font-family:inherit;font-size:16px;font-weight:400;line-height:1.5;color:#006b52;text-underline-offset:3px;white-space:nowrap}
body a:any-link{ text-decoration:none!important;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease;border-radius:3px}body a:any-link:hover{background-color:rgba(255,255,255,.45);box-shadow:0 0 0 3px rgba(255,255,255,.45)}body a:any-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}
body button{text-decoration:none!important;transition:background-color .15s ease,box-shadow .15s ease}body button:not(:disabled):hover{background-color:rgba(255,255,255,.45);box-shadow:0 0 0 3px rgba(255,255,255,.45)}

:root[data-teacher-view=dashboard] .roster-neutral,:root[data-teacher-view=dashboard] .worksheet-followup-neutral{color:#000;font-weight:400}
