body.attendance-screen{background:#f6f2ea;color:#263746}.attendance-screen main{max-width:1160px;margin:28px auto}.attendance-screen header{background:#fff;color:#263746;border-bottom:1px solid #e4ded5;padding:20px 6%}.attendance-screen .top h1{font-size:24px;margin-bottom:6px}.attendance-screen .top p,.attendance-screen .top button{margin:0}.attendance-screen .portal-tabs{gap:20px;border-bottom:1px solid #ded8d0;flex-wrap:wrap}.attendance-screen .portal-tabs button{background:transparent;color:#52616b;border-radius:0;border-bottom:3px solid transparent;padding:12px 4px}.attendance-screen .portal-tabs button[aria-pressed=true]{color:#a34d3f;border-bottom-color:#a34d3f;font-weight:700}
#attendance-panel{font-size:1rem;line-height:1.5}.ea-heading{border-left:4px solid #e6b83f;padding:8px 0 8px 22px;margin:26px 0}.ea-eyebrow{color:#a34d3f;font-size:.75rem;letter-spacing:.15em;font-weight:700;margin:0 0 8px}.ea-heading h2{font:600 clamp(1.9rem,4vw,2.4rem)/1.2 Georgia,serif;margin:0 0 10px}.ea-heading p:last-child{margin:0;color:#52616b}.ea-toolbar,.ea-filters{display:flex;gap:16px;flex-wrap:wrap;align-items:end;margin:20px 0}.ea-toolbar>div,.ea-filters>label{flex:1;min-width:180px}.ea-toolbar button{margin:0}.ea-toolbar label,.ea-filters label{margin-top:0}
#attendance-panel input,#attendance-panel select,#attendance-panel textarea{font:inherit;min-height:46px;border:1px solid #c9c4bc;border-radius:10px;background:#fff;color:#263746;width:100%;max-width:100%;box-sizing:border-box}#attendance-panel label{font-size:.875rem;font-weight:600}#attendance-panel button{min-height:44px;border-radius:10px;background:#a34d3f;font-weight:600;margin-right:8px}#attendance-panel button.secondary{background:#eee9e2;color:#263746;border:1px solid #ded8d0}#attendance-panel button:disabled{opacity:.55;cursor:wait}#attendance-panel section{padding:26px 28px;border:1px solid #e5dfd6;border-radius:20px;background:#fff;box-shadow:0 4px 20px #26374607;margin:20px 0}#attendance-panel h3{font-size:1.25rem;margin-top:0}.ea-tabs{display:flex;gap:10px;flex-wrap:wrap}#attendance-panel .ea-tabs button{background:#fff;color:#263746;border:1px solid #ded8d0;margin:0}#attendance-panel .ea-tabs button[aria-pressed=true]{background:#263746;color:#fff;border-bottom:4px solid #e6b83f}.ea-sheet-title,.ea-pupil-top,.ea-staff{display:flex;gap:16px;justify-content:space-between;align-items:center}.ea-sheet-title h3,.ea-sheet-title p{margin:4px 0}.ea-badge{color:#286039;background:#e9f4eb;border-radius:8px;padding:6px 10px;font-size:.875rem;flex-shrink:0}.ea-muted{color:#52616b;font-size:.875rem}.ea-notice,.ea-cycle{border-left:3px solid #e6b83f;padding:12px 16px;background:#f6f2ea;border-radius:8px}
.ea-pupil{border:1px solid #ded8d0;border-left:4px solid #789885;padding:20px;border-radius:14px;margin:14px 0;background:#fff;overflow-wrap:anywhere}.ea-pupil.ea-absent{border-left-color:#b44438;background:#fff7f5}.ea-pupil h4{font-size:1.125rem;margin:0}.ea-pupil-top p{margin:4px 0}.ea-pupil-top>div:last-child{min-width:150px}.ea-inapt{display:inline-block;color:#76521c;background:#fff1c8;padding:4px 8px;border-radius:6px;font-size:.875rem;margin:6px 0}.ea-pupil details{margin-top:14px}#attendance-panel summary{color:#a34d3f;cursor:pointer;padding:8px 0;font-weight:600}#attendance-panel fieldset{border:0;padding:6px 0 0;margin:0;min-width:0}.ea-observations{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-bottom:16px}#attendance-panel .ea-observations label,#attendance-panel .ea-check{display:flex;align-items:center;gap:10px;margin:0;min-height:40px;font-weight:400}#attendance-panel input[type=checkbox]{width:22px;height:22px;min-height:0;flex:none;margin:0;accent-color:#a34d3f}#attendance-panel fieldset:disabled{opacity:.6}.ea-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#attendance-panel textarea{resize:vertical;padding:10px}
.ea-actions{position:sticky;bottom:0;background:#fffdf8;border:1px solid #e5dfd6;border-top:3px solid #e6b83f;padding:14px 18px;border-radius:12px;box-shadow:0 -4px 20px #2637460b;z-index:2}.ea-actions p{margin:4px 0}.ea-actions button{margin-top:10px}#ea-save-state{font-size:.875rem;color:#52616b}.ea-confirm{background:#fff9e9;border:1px solid #e5dfd6;border-left:4px solid #e6b83f;padding:22px;border-radius:12px;margin:22px 0;overflow-wrap:anywhere}.ea-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.ea-stats>div{display:flex;flex-direction:column;padding:18px;background:#f6f2ea;border-radius:12px}.ea-stats strong{font-size:1.6rem}.ea-stats span{font-size:.875rem;color:#52616b}.ea-history{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ea-history button{text-align:left;margin:0;display:flex;flex-direction:column;gap:6px}.ea-history span{font-size:.875rem;font-weight:400}.ea-detail{border-top:3px solid #e6b83f;margin-top:24px;padding-top:20px}.ea-detail article,.ea-staff{padding:16px 0;border-bottom:1px solid #e5dfd6}.ea-detail p,.ea-staff p{margin:6px 0}#attendance-panel .table{margin:20px 0}#attendance-panel th,#attendance-panel td{font-size:.875rem}#ea-results>h3{margin-top:28px}#ea-message:empty{display:none}#ea-message:not(:empty){padding:14px 16px;background:#fff9e9;border-left:3px solid #e6b83f;border-radius:10px}#ea-message.error{background:#fff1ee;border-color:#b53e33;color:#9c2330}#attendance-panel :is(button,input,select,textarea,summary,a):focus-visible{outline:3px solid #e6b83f;outline-offset:3px}#attendance-panel .ea-check{margin:18px 0}
@media(max-width:700px){.attendance-screen main{padding:0 14px;margin:20px auto}.attendance-screen header{padding:16px 20px}.attendance-screen .portal-tabs{gap:14px}.attendance-screen .portal-tabs button{font-size:.875rem}#attendance-panel section{padding:22px 16px}.ea-toolbar>div,.ea-filters>label{min-width:100%}.ea-heading{padding-left:16px}.ea-sheet-title,.ea-staff{flex-wrap:wrap}.ea-pupil{padding:14px}.ea-pupil-top{align-items:start}.ea-pupil-top>div:last-child{min-width:125px;max-width:45%}.ea-observations,.ea-history{grid-template-columns:1fr}.ea-stats{grid-template-columns:1fr 1fr}.ea-actions{padding:12px;bottom:0}.ea-actions button{font-size:.875rem;padding:12px 10px}.ea-confirm{padding:18px}}
@media(prefers-reduced-motion:reduce){#attendance-panel{scroll-behavior:auto}}
