.hours-week-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1.25rem 0}
.hours-week-nav .btn{display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;min-width:0;padding:.8rem .45rem;line-height:1.35;font-size:1em}
.hours-editor input[type=date],.hours-search input[type=date],.attendance-page input[type=date]{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:block;-webkit-appearance:none;appearance:none;min-height:3.25rem}
.hours-editor input[type=date]::-webkit-date-and-time-value,.hours-search input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
.hours-editor .hours-row>label,.hours-search label{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.attendance-page{max-width:64rem;margin-inline:auto;min-width:0}
.attendance-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0}
.attendance-actions>.btn{flex:1 1 12rem;white-space:normal}
.attendance-dialog{width:min(34rem,calc(100% - 2rem));max-width:calc(100% - 2rem);max-height:90dvh;overflow-y:auto;padding:1.25rem;border:1px solid var(--wg-line);border-radius:1.25rem;background:var(--wg-card);color:var(--wg-text)}
.attendance-dialog::backdrop{background:rgb(0 0 0 / .65)}
.attendance-dialog-heading{display:flex;gap:1rem;align-items:start;justify-content:space-between}
.attendance-dialog h2{font-family:inherit;font-size:1.5em;line-height:1.3;margin:0;min-width:0}
.attendance-dialog [data-qr-image]{display:block;width:min(100%,20rem);height:auto;aspect-ratio:1;margin:1rem auto;background:white;border:.65rem solid white;box-sizing:border-box}
.attendance-dialog .btn{white-space:normal}
.attendance-dialog>[href],.attendance-dialog>[data-qr-renew]{width:100%;margin-top:.75rem}
.attendance-toast{position:fixed;z-index:10000;bottom:max(1rem,env(safe-area-inset-bottom));left:1rem;right:1rem;margin:auto;max-width:30rem;background:var(--wg-card);color:var(--wg-text);padding:1rem;border:2px solid #319d78;border-radius:1rem;text-align:center}
.attendance-reader{margin-top:1.5rem;padding:1.25rem}
.attendance-reader video{display:block;width:100%;max-height:50dvh;aspect-ratio:4/3;object-fit:cover;background:#111;border-radius:.8rem}
.attendance-result{padding:1rem;border-radius:.8rem;background:color-mix(in srgb,var(--wg-card) 85%,#149466);border:1px solid #319d78;margin:1rem 0;overflow-wrap:anywhere}
.attendance-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:1rem;margin:1.5rem 0;padding:1.25rem;align-items:end}
.attendance-filters label{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.attendance-filters input,.attendance-filters select{width:100%;min-width:0;box-sizing:border-box;background:var(--wg-card);color:var(--wg-text);font:inherit;padding:.75rem;border:1px solid var(--wg-line);border-radius:.75rem}
.attendance-record{padding:1.25rem;margin:1rem 0}
.attendance-record>div{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;overflow-wrap:anywhere}
.attendance-record p{margin:.75rem 0}
.attendance-badge{border-radius:2rem;padding:.3rem .8rem;background:color-mix(in srgb,var(--wg-card) 85%,#149466);font-weight:700}
.attendance-page:fullscreen{overflow:auto;padding:1.5rem;background:var(--wg-bg);max-width:none}
.attendance-quick{margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:.75rem}
.attendance-quick .btn{flex:1 1 12rem}
#main-navigation .attendance-menu{display:flex;align-items:center;gap:1rem;text-align:left;width:100%;color:inherit;font:inherit;font-weight:700;white-space:normal;border:0;border-radius:1rem;background:transparent;padding:1rem}
.attendance-dialog [hidden],.attendance-page [hidden],.attendance-toast[hidden]{display:none!important}
@media(max-width:360px){.hours-week-nav{grid-template-columns:1fr}.attendance-dialog-heading{flex-wrap:wrap}}
.hours-editor .hours-row,.hours-editor .hours-settings{box-sizing:border-box;width:100%}
.hours-editor input[type=date]::-webkit-datetime-edit,.hours-search input[type=date]::-webkit-datetime-edit{padding:0;min-width:0}
.hours-editor input[type=date],.hours-search input[type=date]{min-inline-size:0!important;max-inline-size:100%!important}
@media(max-width:600px){html[data-text-size=extra] .hours-week-nav{grid-template-columns:1fr}}
