.attendance-settings-navigation{grid-template-columns:repeat(6,minmax(0,1fr))}.attendance-settings-hub-card.is-temporary .attendance-settings-hub-card__icon{color:#9a5a08;background:#fff2d8}.attendance-settings-hub-card.is-calendar .attendance-settings-hub-card__icon{color:#b06d08;background:#fff4da}.attendance-calendar-layout{gap:18px;display:grid}.attendance-calendar-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.attendance-calendar-summary article{min-width:0;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #d4e1e9;border-radius:10px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;display:grid}.attendance-calendar-summary article>span{border-radius:8px;place-items:center;width:48px;height:48px;font-size:1.05rem;display:grid}.attendance-calendar-summary article>span.is-holiday{color:#a85f05;background:#fff2d8}.attendance-calendar-summary article>span.is-vacation{color:#08799f;background:#e5f6fb}.attendance-calendar-summary article>span.is-staff{color:#087156;background:#e5f7ef}.attendance-calendar-summary article>div{gap:2px;min-width:0;display:grid}.attendance-calendar-summary small{color:#6d8293;letter-spacing:.04em;text-transform:uppercase;font-size:.69rem;font-weight:800}.attendance-calendar-summary strong{color:#123650;font-size:1rem}.attendance-calendar-summary p{color:#718596;margin:0;font-size:.76rem}.attendance-calendar-summary article>b{color:#0b5278;font-size:1.5rem}.panel.attendance-calendar-form,.panel.attendance-calendar-list{border-radius:11px;overflow:hidden}.attendance-calendar-form>header{background:linear-gradient(120deg,#f2faff,#fff 66%);border-bottom:1px solid #d9e5ec;align-items:center;gap:14px;padding:20px 22px;display:flex}.attendance-calendar-form>header>span{color:#fff;background:#0c547b;border-radius:9px;flex:none;place-items:center;width:50px;height:50px;font-size:1.1rem;display:grid}.attendance-calendar-form>header h2{color:#0c3150;margin:3px 0;font-size:1.35rem}.attendance-calendar-form>header p{color:#667d90;margin:0;font-size:.86rem}.attendance-calendar-form__fields{grid-template-columns:minmax(170px,.8fr) minmax(260px,1.4fr) minmax(155px,.7fr) minmax(155px,.7fr) auto;align-items:end;gap:11px;padding:20px 22px 22px;display:grid}.attendance-calendar-form__fields :is(input,select){border-radius:7px;min-height:50px;font-size:.94rem;font-weight:700}.attendance-calendar-form__fields .button{white-space:nowrap;min-height:50px}.attendance-calendar-list__items{gap:10px;padding:15px;display:grid}.attendance-calendar-card{background:#fff;border:1px solid #d5e2ea;border-left:4px solid #148ab4;border-radius:9px;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:13px;display:grid}.attendance-calendar-card.is-holiday{border-left-color:#d58a12}.attendance-calendar-card.is-vacation{border-left-color:#1198c5}.attendance-calendar-card.is-staff{border-left-color:#15906d}.attendance-calendar-card.is-disabled{opacity:.64;background:#f5f7f8}.attendance-calendar-card__date{color:#0b567b;background:#edf7fb;border-radius:8px;align-content:center;place-items:center;min-height:72px;line-height:1;display:grid}.attendance-calendar-card.is-holiday .attendance-calendar-card__date{color:#9a6108;background:#fff4df}.attendance-calendar-card.is-staff .attendance-calendar-card__date{color:#087156;background:#e9f7f1}.attendance-calendar-card__date small{font-size:.64rem;font-weight:900}.attendance-calendar-card__date strong{margin:4px 0;font-size:1.55rem}.attendance-calendar-card__date span{font-size:.68rem;font-weight:800}.attendance-calendar-card__copy{gap:5px;min-width:0;display:grid}.attendance-calendar-card__copy>header{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.attendance-calendar-card__copy>header>span{color:#176888;letter-spacing:.05em;text-transform:uppercase;font-size:.69rem;font-weight:900}.attendance-calendar-card__copy em{color:#087257;background:#e8f8f1;border-radius:5px;padding:4px 7px;font-size:.65rem;font-style:normal;font-weight:850}.attendance-calendar-card__copy em[data-state=desactivado],.attendance-calendar-card__copy em[data-state=finalizado]{color:#667884;background:#edf1f3}.attendance-calendar-card__copy h3{color:#113651;margin:0;font-size:1.03rem}.attendance-calendar-card__copy p{color:#567287;margin:0;font-size:.8rem}.attendance-calendar-card__copy p span{color:#b2c0c9;padding:0 4px}.attendance-calendar-card__copy>small{color:#7a8d9b;font-size:.68rem}.attendance-calendar-card__actions{align-items:center;gap:7px;display:flex}.attendance-calendar-card__actions details{position:relative}.attendance-calendar-card__actions summary{color:#164f6d;cursor:pointer;background:#fff;border:1px solid #bed2de;border-radius:7px;align-items:center;gap:7px;min-height:39px;padding:8px 11px;font-size:.75rem;font-weight:800;list-style:none;display:inline-flex}.attendance-calendar-card__actions details>form{z-index:15;background:#fff;border:1px solid #bfd3df;border-radius:9px;gap:10px;width:min(440px,82vw);padding:15px;display:grid;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 18px 40px #082b4c33}.attendance-calendar-card__actions details>form label{color:#294b64;gap:5px;font-size:.72rem;font-weight:800;display:grid}.attendance-calendar-card__actions details>form>div{grid-template-columns:1fr 1fr;gap:9px;display:grid}.attendance-calendar-card__actions details :is(input,select){background:#fff;border:1px solid #bfcfda;border-radius:6px;min-height:42px;padding:7px 9px}.attendance-calendar-card__actions details .button{justify-self:end}.attendance-calendar-card__inactive{color:#718491;font-size:.75rem;font-weight:800}.temporary-schedule-layout{gap:18px;display:grid}.panel.temporary-schedule-form,.panel.temporary-schedule-list{border-radius:13px;overflow:hidden}.temporary-schedule-form__header{background:linear-gradient(120deg,#f3faff 0%,#fff 58%);border-bottom:1px solid #d7e4ec;align-items:center;gap:15px;padding:22px 24px;display:flex}.temporary-schedule-form__header>div{min-width:0}.temporary-schedule-form__header h2{color:#0a3152;margin:4px 0;font-size:1.45rem}.temporary-schedule-form__header p{color:#5e7589;margin:0;line-height:1.5}.temporary-schedule-form__icon{color:#fff;background:#0b527a;border-radius:12px;flex:none;place-items:center;width:52px;height:52px;font-size:1.2rem;display:grid;box-shadow:0 8px 18px #0846692e}.temporary-schedule-form__automatic{color:#087156;white-space:nowrap;background:#e9f8f2;border:1px solid #a9ddc9;border-radius:9px;align-items:center;gap:7px;margin-left:auto;padding:9px 11px;font-size:.78rem;font-weight:800;display:inline-flex}.temporary-schedule-form__fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:20px 24px 0;display:grid}.temporary-schedule-form__fields .form-field>span{color:#24445e;font-size:.82rem}.temporary-schedule-form__fields :is(input,select){border-radius:9px;min-height:52px;font-size:.98rem;font-weight:700}.temporary-section-picker{background:#f9fbfc;border:1px solid #d4e2eb;border-radius:12px;margin:18px 24px 22px}.temporary-section-picker>header{background:#fff;border-bottom:1px solid #dbe6ed;align-items:center;gap:18px;padding:18px 19px;display:flex}.temporary-section-picker>header>div:first-child{min-width:240px}.temporary-section-picker h3{color:#102f4c;margin:3px 0;font-size:1.18rem}.temporary-section-picker p{color:#6b8091;margin:0;font-size:.83rem}.temporary-section-picker__tools{align-items:center;gap:7px;margin-left:auto;display:flex}.temporary-section-picker__tools label{color:#648097;background:#fff;border:1px solid #cbdbe5;border-radius:9px;align-items:center;gap:9px;min-width:260px;min-height:44px;padding:0 12px;display:flex}.temporary-section-picker__tools input{color:#193954;background:0 0;border:0;outline:0;width:100%;font-size:.88rem}.temporary-section-picker__tools button{color:#16516f;cursor:pointer;background:#fff;border:1px solid #c9dbe6;border-radius:8px;min-height:42px;padding:0 11px;font-size:.76rem;font-weight:800}.temporary-section-picker__tools button:hover{background:#eef8fc;border-color:#4fa7c8}.temporary-section-picker__count{color:#637b8e;border-bottom:1px solid #dde8ee;padding:11px 19px;font-size:.8rem}.temporary-section-picker__count strong{color:#0579a4;font-size:1rem}.temporary-section-picker__groups{gap:14px;max-height:440px;padding:16px 18px 20px;display:grid;overflow:auto}.temporary-section-picker__groups fieldset{border:0;margin:0;padding:0}.temporary-section-picker__groups fieldset[hidden],.temporary-section-option[hidden]{display:none!important}.temporary-section-picker__groups legend{color:#0c3f61;width:100%;margin:0 0 9px;font-size:.88rem;font-weight:900}.temporary-section-picker__groups legend span{color:#8092a0;margin-left:7px;font-size:.7rem;font-weight:700}.temporary-section-picker__groups fieldset>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.temporary-section-option{cursor:pointer;background:#fff;border:1px solid #d4e1e9;border-radius:10px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:72px;padding:11px 12px;transition:border-color .16s,background .16s,box-shadow .16s;display:grid;position:relative}.temporary-section-option:hover{background:#f3fbfe;border-color:#75bad3}.temporary-section-option>input{opacity:0;pointer-events:none;position:absolute}.temporary-section-option__check{color:#0000;background:#f4f8fa;border:1px solid #b9cedb;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.temporary-section-option:has(input:checked){background:#eaf8fd;border-color:#19a3d1;box-shadow:inset 3px 0 #13a0cf}.temporary-section-option input:checked+.temporary-section-option__check{color:#fff;background:#0a89b5;border-color:#0a89b5}.temporary-section-option>span:last-child{gap:4px;min-width:0;display:grid}.temporary-section-option strong{color:#143853;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.temporary-section-option small{color:#6a8294;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.temporary-schedule-form__footer{background:#f7fafc;border-top:1px solid #d8e4ec;align-items:center;gap:16px;padding:16px 24px;display:flex}.temporary-schedule-form__footer>span{color:#5e7689;align-items:center;gap:8px;font-size:.82rem;display:inline-flex}.temporary-schedule-form__footer>span i{color:#087aa6}.temporary-schedule-form__footer .button{margin-left:auto}.temporary-schedule-list__items{gap:10px;padding:16px;display:grid}.temporary-schedule-card{background:#fff;border:1px solid #d5e2ea;border-radius:11px;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px;display:grid}.temporary-schedule-card.is-today{border-color:#48afd0;box-shadow:inset 3px 0 #1199c6}.temporary-schedule-card.is-cancelled{opacity:.68;background:#f5f7f8}.temporary-schedule-card__date{color:#0a5075;background:#eaf6fb;border-radius:9px;align-content:center;place-items:center;width:66px;min-height:70px;line-height:1;display:grid}.temporary-schedule-card__date small{text-transform:uppercase;font-size:.65rem;font-weight:900}.temporary-schedule-card__date strong{margin:3px 0;font-size:1.55rem}.temporary-schedule-card__date span{text-transform:uppercase;font-size:.7rem;font-weight:800}.temporary-schedule-card__main{gap:8px;min-width:0;display:grid}.temporary-schedule-card__main>header{align-items:center;gap:9px;display:flex}.temporary-schedule-card__main>header strong{color:#123650;font-size:.98rem}.temporary-schedule-card__main>small{color:#6b8191;font-size:.73rem}.temporary-schedule-card__sections{flex-wrap:wrap;gap:6px;display:flex}.temporary-schedule-card__sections span{color:#155475;background:#edf7fb;border-radius:7px;align-items:center;gap:6px;padding:6px 8px;font-size:.74rem;font-weight:750;display:inline-flex}.temporary-schedule-card__closed{color:#718491;align-items:center;gap:6px;font-size:.75rem;font-weight:800;display:inline-flex}@media (width<=1180px){.attendance-settings-navigation{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-calendar-summary{grid-template-columns:1fr}.attendance-calendar-form__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-calendar-form__fields .button{grid-column:2;justify-self:end}.temporary-schedule-form__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.temporary-section-picker>header{flex-direction:column;align-items:stretch}.temporary-section-picker__tools{margin-left:0}.temporary-section-picker__tools label{flex:1;min-width:0}.temporary-section-picker__groups fieldset>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.attendance-settings-navigation{grid-template-columns:1fr}.attendance-calendar-summary article{grid-template-columns:44px minmax(0,1fr) auto;padding:13px}.attendance-calendar-summary article>span{width:44px;height:44px}.attendance-calendar-form>header{align-items:flex-start;padding:17px}.attendance-calendar-form__fields{grid-template-columns:1fr;padding:16px}.attendance-calendar-form__fields .button{grid-column:auto;width:100%}.attendance-calendar-card{grid-template-columns:58px minmax(0,1fr);align-items:start}.attendance-calendar-card__actions,.attendance-calendar-card__inactive{grid-column:2;justify-self:start}.attendance-calendar-card__actions{flex-wrap:wrap}.attendance-calendar-card__actions details>form{width:auto;max-height:80vh;position:fixed;inset:auto 12px 12px;overflow:auto}.temporary-schedule-form__header{align-items:flex-start;padding:18px}.temporary-schedule-form__icon{width:46px;height:46px}.temporary-schedule-form__automatic{display:none}.temporary-schedule-form__fields{grid-template-columns:1fr;padding:16px 16px 0}.temporary-section-picker{margin:16px}.temporary-section-picker__tools{grid-template-columns:1fr 1fr;display:grid}.temporary-section-picker__tools label{grid-column:1/-1}.temporary-section-picker__groups{max-height:none;padding:13px}.temporary-section-picker__groups fieldset>div{grid-template-columns:1fr}.temporary-section-option{min-height:76px}.temporary-schedule-form__footer{flex-direction:column;align-items:stretch;padding:15px 16px}.temporary-schedule-form__footer .button{width:100%;margin-left:0}.temporary-schedule-card{grid-template-columns:58px minmax(0,1fr)}.temporary-schedule-card__date{width:58px}.temporary-schedule-card>form,.temporary-schedule-card__closed{grid-column:2;justify-self:start}}.attendance-settings-page-header .page-header__copy{max-width:760px}.attendance-settings-page-header h1{font-size:clamp(2rem,3vw,2.75rem)}.attendance-settings-page-header p{font-size:1rem;line-height:1.55}.attendance-settings-navigation{background:#fff;border:1px solid #cfdee8;border-radius:16px;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 18px;padding:9px;display:grid;box-shadow:0 8px 22px #082b4c0d}.attendance-settings-navigation>a{color:#50697e;background:#f7fafc;border:1px solid #0000;border-radius:11px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:66px;padding:10px 12px;text-decoration:none;transition:border-color .16s,color .16s,background .16s,transform .16s;display:grid}.attendance-settings-navigation>a>i{color:#18769d;background:#e4f4fa;border-radius:10px;place-items:center;width:38px;height:38px;font-size:1rem;display:grid}.attendance-settings-navigation>a>span{gap:2px;min-width:0;display:grid}.attendance-settings-navigation strong{color:#173954;font-size:.98rem}.attendance-settings-navigation small{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.attendance-settings-navigation>a:hover{color:#0b658b;background:#f1f9fc;border-color:#9acadd;transform:translateY(-1px)}.attendance-settings-navigation>a.is-active{color:#075f85;background:#eaf7fc;border-color:#168bb7;box-shadow:inset 3px 0 #168bb7}.attendance-settings-hub{background:#fff;border:1px solid #cfdee8;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px #082b4c0f}.attendance-settings-hub__header{background:linear-gradient(135deg,#fff,#f2f9fc);border-bottom:1px solid #dae5ec;align-items:center;gap:20px;padding:22px 24px;display:flex}.attendance-settings-hub__header>div{min-width:0}.attendance-settings-hub__header h2{color:#0b3151;margin:4px 0;font-size:1.55rem}.attendance-settings-hub__header p{color:#60768a;margin:0;font-size:.92rem}.attendance-settings-hub__header>span{color:#087357;white-space:nowrap;background:#e5f8f0;border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:9px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.attendance-settings-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:20px;display:grid}.attendance-settings-hub-card{min-width:0;min-height:142px;color:inherit;background:#fff;border:1px solid #d3e0e9;border-radius:15px;grid-template-columns:52px minmax(0,1fr) auto 18px;align-items:center;gap:14px;padding:18px;text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.attendance-settings-hub-card.is-operation{background:linear-gradient(135deg,#f2faff,#fff);grid-column:1/-1;min-height:124px}.attendance-settings-hub-card:hover{border-color:#69b9d5;transform:translateY(-2px);box-shadow:0 12px 26px #083a571a}.attendance-settings-hub-card__icon{color:#087ba7;background:#e4f5fb;border-radius:14px;place-items:center;width:52px;height:52px;font-size:1.2rem;display:grid}.attendance-settings-hub-card.is-complementary .attendance-settings-hub-card__icon{color:#6d4cc3;background:#efeaff}.attendance-settings-hub-card.is-staff .attendance-settings-hub-card__icon{color:#08765b;background:#e3f8ef}.attendance-settings-hub-card.is-devices .attendance-settings-hub-card__icon{color:#9a6108;background:#fff3dc}.attendance-settings-hub-card__copy{gap:4px;min-width:0;display:grid}.attendance-settings-hub-card__copy small{color:#708397;letter-spacing:.045em;text-transform:uppercase;font-size:.72rem;font-weight:800}.attendance-settings-hub-card__copy strong{color:#102f4d;font-size:1.15rem;line-height:1.25}.attendance-settings-hub-card__copy p{color:#61788d;margin:0;font-size:.86rem;line-height:1.45}.attendance-settings-hub-card__metric{color:#567084;text-align:center;background:#f0f5f8;border-radius:11px;gap:2px;min-width:90px;padding:10px 12px;display:grid}.attendance-settings-hub-card__metric b{color:#0c5378;font-size:1.25rem}.attendance-settings-hub-card__metric small{font-size:.69rem}.attendance-settings-hub-card__metric.has-warning{color:#925a09;background:#fff3d9}.attendance-settings-hub-card__metric.has-warning b{color:#925a09}.attendance-settings-hub-card>i{color:#7f9bae}.attendance-settings-anchor-navigation{background:#fff;border:1px solid #d4e1e9;border-radius:14px;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:9px;display:flex}.attendance-settings-anchor-navigation a{color:#244d68;background:#f7fafc;border:1px solid #d6e2e9;border-radius:10px;align-items:center;gap:8px;min-height:42px;padding:8px 13px;font-size:.88rem;font-weight:750;text-decoration:none;display:inline-flex}.attendance-settings-anchor-navigation a:hover{color:#08688f;background:#eef8fb;border-color:#75bed8}.attendance-setting-group{scroll-margin-top:calc(var(--header-height) + 16px)}.panel.attendance-general-settings{border-top:4px solid #0f8fbd;margin-bottom:22px;overflow:hidden}.attendance-general-settings__header.panel__header{background:linear-gradient(135deg,#fff 0%,#f3faff 100%);align-items:center;gap:24px;padding:22px 26px;display:flex}.attendance-general-settings__header h2{color:#082b4d;margin:4px 0 5px;font-size:1.38rem}.attendance-general-settings__header p{color:#536b83;margin:0}.attendance-general-settings__authority{color:#075b83;white-space:nowrap;background:#eaf7fd;border:1px solid #c3def0;border-radius:999px;align-items:center;gap:9px;margin-left:auto;padding:10px 13px;font-size:.8rem;font-weight:800;display:inline-flex}.attendance-general-settings__form{padding:0 26px 24px}.attendance-setting-group{border-top:1px solid #d9e4ed;padding:22px 0 2px}.attendance-setting-group:first-child{border-top:0}.attendance-setting-group>header{align-items:center;gap:12px;margin-bottom:15px;display:flex}.attendance-setting-group>header>span{color:#067ba8;background:#e7f6fd;border-radius:11px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.attendance-setting-group h3{color:#0a2c4d;margin:0 0 2px;font-size:1.12rem}.attendance-setting-group p{color:#687d91;margin:0;font-size:.9rem}.attendance-setting-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.attendance-setting-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-setting-card{cursor:pointer;background:#fff;border:1px solid #cfdee9;border-radius:14px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:96px;padding:16px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.attendance-setting-card:hover{border-color:#78bddd;transform:translateY(-1px);box-shadow:0 10px 24px #09375b14}.attendance-setting-card:has(input[type=checkbox]:checked){background:#f7fcff;border-color:#22a7d3}.attendance-setting-card__icon{color:#0479a6;background:#e5f5fc;border-radius:13px;place-items:center;width:46px;height:46px;font-size:1.05rem;display:grid}.attendance-setting-card__icon.is-success{color:#0a8666;background:#e6f8f1}.attendance-setting-card__icon.is-info{color:#1672a7;background:#e9f5fc}.attendance-setting-card__icon.is-violet{color:#6c51bc;background:#f0ebff}.attendance-setting-card__icon.is-warning{color:#aa6700;background:#fff4dc}.attendance-setting-card__icon.is-offline{color:#0c6f89;background:#e0f5f6}.attendance-setting-card__copy{gap:5px;min-width:0;display:grid}.attendance-setting-card__copy strong{color:#102e4c;font-size:1rem;line-height:1.25}.attendance-setting-card__copy small{color:#657a8e;font-size:.84rem;line-height:1.45}.attendance-setting-card>input[type=checkbox]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.attendance-setting-switch{background:#b7c4cf;border-radius:999px;width:45px;height:25px;transition:background .18s;position:relative;box-shadow:inset 0 0 0 1px #072a4814}.attendance-setting-switch:after{content:"";background:#fff;border-radius:50%;width:19px;height:19px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #0828413d}.attendance-setting-card>input[type=checkbox]:checked+.attendance-setting-switch{background:#058bb8}.attendance-setting-card>input[type=checkbox]:checked+.attendance-setting-switch:after{transform:translate(20px)}.attendance-setting-card>input[type=checkbox]:focus-visible+.attendance-setting-switch{outline-offset:3px;outline:3px solid #0391c247}.attendance-setting-card--window{cursor:default}.attendance-setting-card--window:hover{transform:none}.attendance-setting-card--window select{color:#123652;min-width:104px;height:42px;font:inherit;background:#fff;border:1px solid #b8cfdd;border-radius:9px;padding:0 30px 0 11px;font-size:.9rem;font-weight:800}.attendance-setting-group__security-note{background:#eef7fa;border-radius:10px;align-items:center;gap:9px;padding:11px 13px;display:flex;color:#43677a!important;margin:13px 0 0!important}.attendance-setting-group__security-note i{color:#087e9c}.attendance-general-settings__footer{border-top:1px solid #d9e4ed;align-items:center;gap:20px;margin-top:22px;padding:15px 0 0;display:flex}.attendance-general-settings__footer>span{color:#62788c;gap:9px;font-size:.78rem;line-height:1.45;display:flex}.attendance-general-settings__footer .button{white-space:nowrap;margin-left:auto}.attendance-general-settings__readonly{color:#4f667a;background:#f1f5f8;border-radius:13px;align-items:flex-start;gap:13px;margin:0 26px 24px;padding:16px;display:flex}.attendance-general-settings__readonly>i{color:#6a7f91;margin-top:3px}.attendance-general-settings__readonly strong{color:#173852}.attendance-general-settings__readonly p{margin:4px 0 0;font-size:.82rem}.attendance-device-health{margin-bottom:22px;overflow:hidden}.attendance-device-health>.panel__header{background:#fbfdff;align-items:center}.attendance-device-health>.panel__header h2{color:#0a2c4d;margin:4px 0;font-size:1.35rem}.attendance-device-health>.panel__header p{color:#61778b;margin:0;font-size:.9rem}.attendance-device-health__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:18px 22px 22px;display:grid}.attendance-device-health__card{background:#fff;border:1px solid #d3e0e9;border-radius:14px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px;display:grid}.attendance-device-health__icon{color:#176a92;background:#e8f3f8;border-radius:13px;place-items:center;width:46px;height:46px;display:grid}.attendance-device-health__copy{gap:4px;min-width:0;display:grid}.attendance-device-health__copy strong{color:#102f4d;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.attendance-device-health__copy small{color:#687e91;font-size:.82rem}.attendance-device-health__status{color:#597084;background:#eef3f6;border-radius:999px;align-items:center;gap:6px;padding:7px 9px;font-size:.7rem;font-weight:800;display:inline-flex}.attendance-device-health__status i{font-size:.48rem}.attendance-device-health__card.is-online .attendance-device-health__status{color:#087a5e;background:#e7f8f1}.attendance-device-health__card.is-warning .attendance-device-health__status{color:#9e6109;background:#fff4dd}.attendance-device-health__card.is-danger .attendance-device-health__status{color:#ad3434;background:#feeeee}.attendance-device-health__metric{color:#61778a;border-top:1px solid #e2e9ef;grid-column:2/-1;align-items:baseline;gap:6px;padding-top:10px;display:flex}.attendance-device-health__metric b{color:#0b557c;font-size:1rem}.attendance-device-health__metric small{font-size:.73rem}.attendance-device-health__empty{color:#5d7488;background:#f8fafc;border:1px dashed #c3d4df;border-radius:14px;grid-column:1/-1;align-items:center;gap:14px;padding:20px;display:flex}.attendance-device-health__empty>i{color:#7f95a7;font-size:1.55rem}.attendance-device-health__empty strong{color:#153753}.attendance-device-health__empty p{margin:3px 0 0;font-size:.8rem}.attendance-settings-divider{color:#496278;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:13px;margin:24px 0 15px;font-size:.76rem;font-weight:800;display:flex}.attendance-settings-divider:before,.attendance-settings-divider:after{content:"";background:#cedce7;flex:1;height:1px}.attendance-methods-disabled,.attendance-reader-method-off{color:#536c81;text-align:left;background:#f7fafc;border:1px dashed #b8cbd9;border-radius:16px;justify-content:center;align-items:center;gap:16px;min-height:250px;padding:28px;display:flex}.attendance-methods-disabled>i{color:#8296a7;font-size:2rem}.attendance-methods-disabled h3,.attendance-reader-method-off h3{color:#123652;margin:0 0 5px}.attendance-methods-disabled p,.attendance-reader-method-off p{margin:0}.attendance-methods-disabled .button{margin-left:auto}.attendance-methods-disabled--station{min-height:52vh}.attendance-reader-method-off{text-align:center;flex-direction:column}.attendance-reader-method-off>span{color:#70889b;background:#e4edf3;border-radius:18px;place-items:center;width:64px;height:64px;font-size:1.45rem;display:grid}.station-offline-state{color:#f1fbff;background:#ffffff0f;border:1px solid #ffffff29;border-radius:11px;align-items:center;gap:10px;min-width:150px;padding:5px 8px;display:inline-flex}.station-offline-state__icon{color:#7ce8c9;background:#42caa429;border-radius:9px;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}.station-offline-state__icon>i{font-size:12px}.station-offline-state>span{gap:1px;display:grid}.station-offline-state strong{color:#f6fdff;font-size:.72rem;line-height:1.1}.station-offline-state small{color:#afd0dd;font-size:.59rem;line-height:1.2}.station-offline-state.is-offline{background:#b4640933;border-color:#fbbf246b}.station-offline-state.is-offline .station-offline-state__icon{color:#ffdc76;background:#fbbf2429}.station-offline-state.has-queue .station-offline-state__icon{color:#ffdc76;background:#fbbf2426}.station-offline-state.has-queue{box-shadow:inset 3px 0 #e7a91f}.station-offline-state.has-sync-error{background:#9a34123d;border-color:#fb923c94}.station-offline-state.has-sync-error .station-offline-state__icon{color:#ffc28b;background:#fb923c2e}.station-offline-banner{color:#285b6b;background:#edf9fb;border:1px solid #b9dfe8;border-radius:12px;align-items:center;gap:11px;margin:12px 0 15px;padding:11px 14px;display:flex}.station-offline-banner>i{color:#0788a7}.station-offline-banner>span{gap:2px;display:grid}.station-offline-banner strong{color:#0d5267;font-size:.78rem}.station-offline-banner small{font-size:.67rem;line-height:1.4}@media (width<=1080px){.attendance-setting-grid{grid-template-columns:1fr}.attendance-setting-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.attendance-settings-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-settings-hub__header{flex-direction:column;align-items:flex-start;padding:18px}.attendance-settings-hub__header>span{margin-left:0}.attendance-settings-hub__grid{grid-template-columns:1fr;padding:14px}.attendance-settings-hub-card.is-operation{grid-column:auto}.attendance-settings-hub-card{grid-template-columns:46px minmax(0,1fr) 16px;min-height:0;padding:15px}.attendance-settings-hub-card__icon{width:46px;height:46px}.attendance-settings-hub-card__metric{text-align:left;grid-column:2/-1;grid-template-columns:auto auto;justify-self:start;align-items:baseline;gap:6px;min-width:0;padding:7px 9px}.attendance-settings-anchor-navigation{flex-wrap:nowrap;overflow-x:auto}.attendance-settings-anchor-navigation a{flex:none}.attendance-general-settings__header.panel__header{flex-direction:column;align-items:flex-start;padding:18px}.attendance-general-settings__authority{white-space:normal;margin-left:0}.attendance-general-settings__form{padding:0 18px 18px}.attendance-setting-grid--two{grid-template-columns:1fr}.attendance-setting-card{grid-template-columns:42px minmax(0,1fr) auto;min-height:88px;padding:13px}.attendance-setting-card__icon{width:42px;height:42px}.attendance-setting-card--window{grid-template-columns:42px minmax(0,1fr)}.attendance-setting-card--window select{grid-column:1/-1;width:100%}.attendance-general-settings__footer{flex-direction:column;align-items:stretch}.attendance-general-settings__footer .button{width:100%;margin-left:0}.attendance-general-settings__readonly{margin:0 18px 18px}.attendance-device-health>.panel__header{flex-direction:column;align-items:flex-start}.attendance-device-health>.panel__header .button{width:100%}.attendance-device-health__grid{grid-template-columns:1fr;padding:14px}.attendance-device-health__card{grid-template-columns:42px minmax(0,1fr)}.attendance-device-health__status{grid-column:1/-1;justify-self:start}.attendance-device-health__metric{grid-column:1/-1}.attendance-methods-disabled{text-align:center;flex-direction:column;align-items:center;min-height:280px}.attendance-methods-disabled .button{width:100%;margin-left:0}.station-offline-state{width:100%}.station-offline-banner{align-items:flex-start}}@media (width<=460px){.attendance-settings-navigation{grid-template-columns:1fr}.attendance-settings-navigation>a{min-height:58px}.attendance-settings-hub-card{grid-template-columns:42px minmax(0,1fr) 14px;gap:10px}.attendance-settings-hub-card__icon{width:42px;height:42px}.attendance-settings-hub-card__copy strong{font-size:1.02rem}.attendance-settings-hub-card__copy p{font-size:.8rem}}.qr-scanner{gap:12px;display:grid}.qr-scanner>.privacy-note{margin:0}.qr-scanner__viewport{isolation:isolate;aspect-ratio:16/9;background:#071425;border:1px solid #58cdf26b;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 18px 42px #05142638}.qr-scanner__viewport[hidden]{display:none}.qr-scanner__viewport video{object-fit:cover;width:100%;height:100%}.qr-scanner__viewport:after{content:"";z-index:1;opacity:0;pointer-events:none;border:clamp(18px,3.4vw,46px) solid #fffffff0;transition:opacity .22s;position:absolute;inset:0;box-shadow:inset 0 0 72px #ffffff6b,0 0 80px #ffffff8c}.qr-scanner__viewport.is-screen-fill-active:after{opacity:1}.qr-scanner__frame{z-index:2;aspect-ratio:1.55;border:2px solid #ffffffeb;border-radius:14px;width:min(72%,620px);position:absolute;top:50%;left:50%;transform:translate(-50%,-53%);box-shadow:0 0 0 999px #030f1d6b,0 0 24px #39a9db38}.qr-scanner__frame:before,.qr-scanner__frame:after{content:"";border-style:solid;border-color:#58cdf2;width:34px;height:34px;position:absolute}.qr-scanner__frame:before{border-width:4px 0 0 4px;border-radius:12px 0 0;top:-3px;left:-3px}.qr-scanner__frame:after{border-width:0 4px 4px 0;border-radius:0 0 12px;bottom:-3px;right:-3px}.qr-scanner__scan-line{z-index:3;background:linear-gradient(90deg,#0000,#58cdf2 14%,#fff 50%,#58cdf2 86%,#0000);border-radius:999px;height:2px;animation:2.2s ease-in-out infinite qr-scan-line;position:absolute;top:12%;left:8px;right:8px;box-shadow:0 0 12px #58cdf2}.qr-scanner__target{z-index:2;aspect-ratio:1;color:#ffffff85;background:#051b2f14;border:2px dashed #69d3f7b8;border-radius:9px;place-items:center;width:clamp(118px,38%,230px);transition:border-color .18s,color .18s,background .18s,box-shadow .18s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffff38,0 0 24px #58cdf238}.qr-scanner__target i{opacity:.28;font-size:clamp(30px,5vw,52px)}.qr-scanner__target[data-quality=ready]{border-color:#76d8f4;box-shadow:0 0 0 1px #ffffff52,0 0 30px #58cdf266}.qr-scanner__target[data-quality=recognized]{color:#b7f7df;background:#0d704e38;border-style:solid;border-color:#6ae0b5;box-shadow:0 0 30px #6ae0b585}.qr-scanner__target[data-quality=dark],.qr-scanner__target[data-quality=glare],.qr-scanner__target[data-quality=blurred],.qr-scanner__target[data-quality=contrast],.qr-scanner__target[data-quality=distance]{color:#ffdfa0;border-color:#f5c45c;box-shadow:0 0 26px #f5c45c59}.qr-scanner__frame>small{color:#fff;letter-spacing:.04em;text-align:center;text-transform:uppercase;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0414269e;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800;position:absolute;bottom:10px;left:12px;right:12px}.qr-scanner__quality{z-index:7;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#041426c7;border:1px solid #76d8f473;border-radius:10px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;width:min(420px,100% - 28px);min-height:48px;padding:7px 12px 7px 8px;transition:border-color .18s,background .18s;display:grid;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 9px 28px #0003}.qr-scanner__quality>span{color:#8ce1f8;background:#58cdf224;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.qr-scanner__quality>div{gap:1px;min-width:0;display:grid}.qr-scanner__quality strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.25;overflow:hidden}.qr-scanner__quality small{color:#ffffffb8;text-overflow:ellipsis;white-space:nowrap;font-size:8px;line-height:1.3;overflow:hidden}.qr-scanner__quality[data-tone=recognized]{background:#045840e0;border-color:#6ae0b5b8}.qr-scanner__quality[data-tone=recognized]>span{color:#b7f7df;background:#6ae0b52e}.qr-scanner__quality[data-tone=dark],.qr-scanner__quality[data-tone=glare],.qr-scanner__quality[data-tone=blurred],.qr-scanner__quality[data-tone=contrast],.qr-scanner__quality[data-tone=distance]{background:#694208e6;border-color:#f5c45cb8}.qr-scanner__quality[data-tone=dark]>span,.qr-scanner__quality[data-tone=glare]>span,.qr-scanner__quality[data-tone=blurred]>span,.qr-scanner__quality[data-tone=contrast]>span,.qr-scanner__quality[data-tone=distance]>span{color:#ffdfa0;background:#f5c45c2e}.qr-scanner__controls{z-index:3;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;bottom:13px;left:13px;right:13px}.qr-scanner__controls>span{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#041426b8;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:7px;padding:8px 10px;font-size:9px;font-weight:800;display:inline-flex}.qr-scanner__controls>span i{color:#34d399;font-size:7px;animation:1.5s ease-in-out infinite qr-live-pulse}.qr-scanner__controls .button{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#041426c7;border-color:#ffffff47}.qr-scanner__controls [data-qr-torch].is-active{color:#fff;background:#087eae;border-color:#7dd3fce6;box-shadow:0 0 0 3px #38bdf82e}.qr-scanner__status{min-height:64px;color:var(--color-azul-700);background:#f7fafc;border:1px solid #dce7ee;border-radius:13px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .2s,color .2s,background .2s;display:flex}.qr-scanner__status>i{color:#0d6f9f;background:#e7f7fc;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.qr-scanner__status strong,.qr-scanner__status small{display:block}.qr-scanner__status strong{color:var(--color-azul-900);font-size:10px}.qr-scanner__status small{color:var(--color-gris-600);margin-top:3px;font-size:9px;line-height:1.45}.qr-scanner__status[data-tone=scanning]{background:#edfaff;border-color:#9dddf2}.qr-scanner__status[data-tone=scanning]>i{animation:1.35s ease-in-out infinite qr-live-pulse}.qr-scanner__status[data-tone=success]{background:#effbf6;border-color:#a7e3cc}.qr-scanner__status[data-tone=success]>i{color:#07855e;background:#dcf7eb}.qr-scanner__status[data-tone=warning]{background:#fff9ea;border-color:#f0cf8c}.qr-scanner__status[data-tone=warning]>i{color:#95610b;background:#fff0c7}.qr-scanner__status[data-tone=error]{background:#fff4f4;border-color:#f1b9bd}.qr-scanner__status[data-tone=error]>i{color:#bf2732;background:#ffe4e6}.attendance-station__toolbar{align-items:center;gap:10px;display:flex}.attendance-station__state{color:var(--color-gris-600);align-items:center;gap:7px;font-size:8px;font-weight:800;display:inline-flex}.attendance-station__state>i{color:#94a3b8;font-size:6px}.attendance-station__state.is-active{color:#087157}.attendance-station__state.is-active>i{color:#12a879;animation:none}.attendance-scan-result{z-index:6;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#077152ed;border:1px solid #ffffffb3;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px;width:min(82%,520px);padding:19px 20px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 22px 60px #00000057}.attendance-scan-result[hidden]{display:none}.attendance-scan-result[data-tone=warning]{background:#915b08f0}.attendance-scan-result[data-tone=error]{background:#a91f2bf0}.attendance-scan-result__icon{color:#087157;background:#fff;border-radius:16px;place-items:center;width:54px;height:54px;font-size:21px;display:grid}.attendance-scan-result[data-tone=warning] .attendance-scan-result__icon{color:#95610b}.attendance-scan-result[data-tone=error] .attendance-scan-result__icon{color:#b42331}.attendance-scan-result strong,.attendance-scan-result b,.attendance-scan-result small{display:block}.attendance-scan-result strong{font-family:var(--font-display);font-size:15px}.attendance-scan-result b{margin-top:4px;font-size:11px}.attendance-scan-result small{color:#ffffffd6;margin-top:4px;font-size:9px;line-height:1.4}body.attendance-kiosk-open{overflow:hidden}.attendance-station.is-kiosk{z-index:5000;background:#edf3f8;border:0;border-radius:0;margin:0;position:fixed;inset:0;overflow:auto}.attendance-station.is-kiosk>.panel__header{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;padding:14px 22px;position:sticky;top:0;box-shadow:0 6px 24px #08274814}.attendance-station.is-kiosk>.panel__body{padding:16px 22px 24px}.attendance-station.is-kiosk .attendance-methods__switch{max-width:720px;margin-inline:auto}.attendance-station.is-kiosk [data-attendance-panel=qr] .attendance-methods__content{grid-template-columns:minmax(270px,.48fr) minmax(540px,1.52fr);align-items:start;max-width:1500px;margin:0 auto}.attendance-station.is-kiosk .qr-scanner__viewport,.attendance-station.is-kiosk .facial-viewport{aspect-ratio:auto;min-height:calc(100vh - 310px)}.attendance-station.is-kiosk .qr-scanner__frame{width:min(56%,560px)}.attendance-station.is-kiosk .qr-scanner__frame>small{font-size:10px}.attendance-station.is-kiosk .qr-scanner__status{min-height:78px;padding:15px 17px}.attendance-station.is-kiosk .qr-scanner__status strong{font-size:13px}.attendance-station.is-kiosk .qr-scanner__status small{font-size:10px}.attendance-station.is-kiosk .facial-access__grid{grid-template-columns:minmax(540px,1.5fr) minmax(280px,.5fr);max-width:1500px;margin-inline:auto}.attendance-methods{gap:20px;display:grid}.attendance-methods__switch{border:1px solid var(--color-gris-200);background:var(--color-gris-25);border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:6px;display:grid}.attendance-method-card{min-height:76px;color:var(--color-gris-600);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 15px;transition:border-color .2s,box-shadow .2s,background .2s,transform .2s;display:grid}.attendance-method-card:hover{color:var(--color-azul-900);background:#fff;transform:translateY(-1px)}.attendance-method-card.is-active{color:var(--color-azul-900);background:#fff;border-color:#1973ad47;box-shadow:0 9px 24px #08274814}.attendance-method-card__icon{color:#0878a8;background:#e4f7fd;border-radius:13px;place-items:center;width:43px;height:43px;font-size:16px;display:grid}.attendance-method-card__icon--violet{color:#6d3ad7;background:#f0eaff}.attendance-method-card strong,.attendance-method-card small{display:block}.attendance-method-card strong{font-size:11px}.attendance-method-card small{color:var(--color-gris-600);margin-top:3px;font-size:9px}.attendance-method-card>i{opacity:.45;font-size:10px}.attendance-method-card.is-active>i{color:var(--color-celeste-600);opacity:1}.attendance-methods__content{padding-top:2px}.facial-access{gap:18px;display:grid}.facial-access__intro{background:linear-gradient(135deg,#fbf9ff 0%,#f5f1ff 100%);border:1px solid #ddd0ff;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px 18px;display:grid}.facial-access__seal{color:#6133ca;background:#e9e0ff;border-radius:15px;place-items:center;width:48px;height:48px;font-size:18px;display:grid}.facial-access__intro h3{color:var(--color-azul-900);font-family:var(--font-display);margin:3px 0 0;font-size:15px}.facial-access__intro p{color:var(--color-gris-600);margin:5px 0 0;font-size:9px;line-height:1.5}.facial-access__grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:start;gap:18px;display:grid}.facial-access__grid>div{gap:12px;display:grid}.facial-access__form{margin-top:2px}.facial-access__empty{color:#81510d;background:#fff8e7;border-radius:12px;align-items:center;gap:8px;margin:0;padding:11px 13px;font-size:9px;display:flex}.facial-viewport{isolation:isolate;aspect-ratio:16/9;background:#071425;border:1px solid #825bdc66;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 18px 42px #05142638}.facial-viewport[hidden]{display:none}.facial-viewport video{object-fit:cover;background:#071425;width:100%;height:100%;display:block;transform:none}.facial-viewport video.is-mirrored{transform-origin:50%;transform:scaleX(-1)}.facial-viewport__oval{z-index:2;aspect-ratio:.76;border:3px solid #fffffff0;border-radius:50%;width:min(42%,230px);position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 999px #030f1d5c,0 0 26px #9b7ef059}.facial-viewport__oval:before,.facial-viewport__oval:after{content:"";background:#bda8ff;border-radius:999px;width:32%;height:2px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 10px #9f80ff}.facial-viewport__oval:before{top:31%}.facial-viewport__oval:after{bottom:28%}.biometric-hero{background:linear-gradient(125deg,#fbf9ff,#f1ebff);border:1px solid #d8ccfa;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:18px 20px;display:flex;box-shadow:0 10px 28px #452a820f}.biometric-hero>div{align-items:center;gap:14px;display:flex}.biometric-hero__icon{color:#6033c6;background:#e8dfff;border-radius:15px;place-items:center;width:48px;height:48px;font-size:18px;display:grid}.biometric-hero strong,.biometric-hero p{display:block}.biometric-hero strong{color:var(--color-azul-900);font-size:12px}.biometric-hero p{color:var(--color-gris-600);margin:4px 0 0;font-size:9px}.biometric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px;display:grid}.biometric-person-card{border:1px solid var(--color-gris-200);background:#fff;border-radius:16px;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:15px;display:grid;box-shadow:0 8px 22px #0827480d}.biometric-person-card__photo{width:58px;height:66px;position:relative}.biometric-person-card__photo>img,.biometric-person-card__photo>span{object-fit:cover;color:#0b5d82;background:#e8f6fc;border-radius:14px;place-items:center;width:100%;height:100%;font-size:16px;font-weight:850;display:grid}.biometric-person-card__photo>i{color:#0a976c;background:#fff;border-radius:50%;padding:3px;font-size:14px;position:absolute;bottom:-4px;right:-4px}.biometric-person-card__photo>.fa-circle-minus{color:#c28a17}.biometric-person-card__body h3{color:var(--color-azul-900);font-family:var(--font-display);margin:4px 0 0;font-size:12px;line-height:1.25}.biometric-person-card__body p{color:var(--color-gris-600);margin:5px 0 9px;font-size:8px}.biometric-person-card__actions{border-top:1px solid var(--color-gris-100);grid-column:1/-1;align-items:center;gap:8px;padding-top:10px;display:flex}.biometric-person-card__actions form{margin-left:auto}.biometric-picker-dialog{width:min(560px,100vw - 28px)}.biometric-picker-dialog .dialog__body{padding:20px 24px}.biometric-picker-dialog select{width:100%}.biometric-dialog{width:min(940px,100vw - 28px)}.biometric-capture{grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:18px;display:grid}.biometric-capture>div{align-content:start;gap:12px;display:grid}.facial-viewport--enrollment{aspect-ratio:4/3}.biometric-capture__preview{object-fit:cover;border:1px solid #d7c9f8;border-radius:16px;width:100%;max-height:320px}.biometric-enrollment-guide{background:linear-gradient(145deg,#fff,#f8f5ff);border:1px solid #d9d0f6;border-radius:16px;padding:14px}.biometric-enrollment-guide>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.biometric-enrollment-guide>header h3{color:var(--color-azul-900);font-family:var(--font-display);margin:3px 0 0;font-size:12px}.biometric-enrollment-guide>header>small{color:#633ab8;background:#eee8ff;border-radius:999px;flex:none;align-items:center;gap:5px;padding:5px 7px;font-size:7px;font-weight:800;display:inline-flex}.biometric-enrollment-steps{gap:7px;margin:12px 0 10px;padding:0;list-style:none;display:grid}.biometric-enrollment-steps li{color:var(--color-gris-500);background:#f4f6f9b8;border:1px solid #0000;border-radius:11px;grid-template-columns:28px minmax(0,1fr) 22px;align-items:center;gap:9px;padding:8px 9px;transition:border-color .2s,background .2s,color .2s;display:grid}.biometric-enrollment-steps li>span{background:#fff;border:1px solid #d6dbe4;border-radius:9px;place-items:center;width:28px;height:28px;font-size:8px;font-weight:900;display:grid}.biometric-enrollment-steps strong,.biometric-enrollment-steps small{display:block}.biometric-enrollment-steps strong{font-size:8px}.biometric-enrollment-steps small{color:var(--color-gris-500);margin-top:2px;font-size:7px}.biometric-enrollment-steps li>i{color:#087d62;font-size:9px;display:none}.biometric-enrollment-steps li.is-active{color:var(--color-azul-900);background:#edf9ff;border-color:#99d3ec;box-shadow:0 5px 15px #0d79a712}.biometric-enrollment-steps li.is-active>span{color:#fff;background:#087eaf;border-color:#1689ba;box-shadow:0 0 0 3px #1689ba1f}.biometric-enrollment-steps li.is-complete{color:#08664f;background:#eefbf6}.biometric-enrollment-steps li.is-complete>span{color:#087d62;background:#dff8ee;border-color:#a9e4cf}.biometric-enrollment-steps li.is-complete>i{display:block}.biometric-enrollment-progress{background:#e6e9ef;border-radius:999px;height:6px;overflow:hidden}.biometric-enrollment-progress>span{border-radius:inherit;background:linear-gradient(90deg,#168fc1,#714bd2);width:0;height:100%;transition:width .35s;display:block}.biometric-quality{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.biometric-quality>span{min-height:34px;color:var(--color-gris-500);text-align:center;background:#f8f9fb;border:1px solid #e0e4ea;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:6px;font-size:7px;font-weight:800;transition:all .2s;display:flex}.biometric-quality>span[data-state=ok]{color:#087157;background:#ecfaf5;border-color:#a7dfca}.biometric-quality>span[data-state=attention]{color:#8b5908;background:#fff8e8;border-color:#f0c87f}.biometric-quality>span[data-state=pending] i{opacity:.5}.biometric-enrollment-help{color:#31556d;background:#f4faff;border:1px solid #d8e7f1;border-radius:11px;align-items:flex-start;gap:8px;margin:0;padding:10px 11px;font-size:8px;line-height:1.45;display:flex}.biometric-enrollment-help>i{color:#167fad;margin-top:2px}.biometric-checklist{gap:9px;margin:0;padding:0;list-style:none;display:grid}.biometric-checklist li{border:1px solid var(--color-gris-100);background:var(--color-gris-25);border-radius:12px;align-items:center;gap:10px;padding:10px 11px;display:flex}.biometric-checklist li>i{color:#6539c6;background:#eee7ff;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.biometric-checklist strong,.biometric-checklist small{display:block}.biometric-checklist strong{color:var(--color-azul-900);font-size:9px}.biometric-checklist small{color:var(--color-gris-600);margin-top:2px;font-size:8px}.biometric-consent{background:#f3faff;border:1px solid #c9dff0;border-radius:12px;align-items:flex-start;padding:12px}@media (width<=980px){.biometric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.facial-access__grid,.attendance-station.is-kiosk [data-attendance-panel=qr] .attendance-methods__content,.attendance-station.is-kiosk .facial-access__grid{grid-template-columns:1fr}.attendance-station.is-kiosk .qr-scanner{order:-1}.attendance-station.is-kiosk .qr-scanner__viewport,.attendance-station.is-kiosk .facial-viewport{min-height:54vh}}@media (width<=680px){.attendance-methods__switch,.biometric-grid,.biometric-capture{grid-template-columns:1fr}.attendance-method-card{min-height:68px}.facial-access__intro{grid-template-columns:auto minmax(0,1fr)}.facial-access__intro .button{grid-column:1/-1}.biometric-hero{flex-direction:column;align-items:flex-start}.biometric-grid{padding:13px}.biometric-quality{grid-template-columns:1fr}.biometric-quality>span{justify-content:flex-start}.attendance-station__toolbar{flex-direction:column;align-items:flex-end}.attendance-station.is-kiosk>.panel__header{align-items:flex-start;padding:12px 14px}.attendance-station.is-kiosk>.panel__body{padding:12px}.attendance-station.is-kiosk .attendance-methods__switch{grid-template-columns:1fr 1fr}.attendance-station.is-kiosk .attendance-method-card{min-height:58px;padding:8px}.attendance-station.is-kiosk .attendance-method-card__icon{width:34px;height:34px}.attendance-scan-result{width:calc(100% - 28px);padding:15px}}.overtime-page-header{border-top-color:#6f55b7}.overtime-rule-banner{color:#352866;background:linear-gradient(135deg,#f7f4ff,#fff);border:1px solid #cfc6ed;border-radius:14px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:16px;margin-bottom:18px;padding:18px 20px;display:grid}.overtime-rule-banner>span{color:#684ab3;background:#ebe5fb;border-radius:14px;place-items:center;width:52px;height:52px;font-size:20px;display:grid}.overtime-rule-banner strong{margin-bottom:4px;font-size:16px;display:block}.overtime-rule-banner p{color:#5e6681;margin:0;font-size:13px;line-height:1.55}.overtime-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.overtime-metrics article{background:#fff;border:1px solid #d9e3ec;border-radius:14px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;min-height:112px;padding:16px;display:grid}.overtime-metrics article>span{color:#285d7e;background:#e8f4f9;border-radius:13px;place-items:center;width:46px;height:46px;font-size:17px;display:grid}.overtime-metrics article div{gap:2px;display:grid}.overtime-metrics small{color:#687a8e;text-transform:uppercase;font-size:11px;font-weight:750}.overtime-metrics strong{color:#0b3457;font-size:25px;line-height:1.1}.overtime-metrics p{color:#78899a;margin:0;font-size:11px}.overtime-metrics .is-pending>span{color:#a76005;background:#fff3d8}.overtime-metrics .is-approved>span{color:#087758;background:#e2f8ef}.overtime-metrics .is-retroactive>span{color:#714eb7;background:#eee8fb}.overtime-management-panel__header{align-items:end;gap:18px}.overtime-filter{grid-template-columns:130px 100px 140px minmax(220px,1fr) auto;align-items:end;gap:9px;width:min(780px,100%);display:grid}.overtime-filter label{color:#536a80;text-transform:uppercase;gap:5px;font-size:10px;font-weight:800;display:grid}.overtime-filter select,.overtime-filter input{color:#163d5c;width:100%;min-height:43px;font:inherit;text-transform:none;background:#fff;border:1px solid #c8d7e3;border-radius:9px;padding:9px 11px;font-size:12px}.overtime-filter__search div{position:relative}.overtime-filter__search i{color:#8195a7;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.overtime-filter__search input{padding-left:35px}.overtime-request-list{gap:12px;padding:18px;display:grid}.overtime-request-card{background:#fff;border:1px solid #d6e0e9;border-radius:14px;overflow:hidden}.overtime-request-card>header{background:#fbfdff;border-bottom:1px solid #e3eaf0;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 18px;display:grid}.overtime-request-card__avatar{color:#fff;background:#173f62;border-radius:12px;place-items:center;width:46px;height:46px;font-size:17px;font-weight:850;display:grid}.overtime-request-card h3{color:#102f4d;margin:2px 0;font-size:16px}.overtime-request-card header small,.overtime-request-card header p{color:#6d8093;margin:0;font-size:11px}.overtime-request-card__times{border-bottom:1px solid #e5ebf0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.overtime-request-card__times span{border-right:1px solid #e5ebf0;gap:3px;padding:14px 18px;display:grid}.overtime-request-card__times span:last-child{border-right:0}.overtime-request-card__times small{color:#74879a;text-transform:uppercase;font-size:9px;font-weight:800}.overtime-request-card__times strong{color:#153d5d;font-size:15px}.overtime-request-card__times .is-recognized{background:#effaf6}.overtime-request-card__times .is-recognized strong{color:#087356}.overtime-request-card__reason{gap:4px;padding:14px 18px;display:grid}.overtime-request-card__reason b{color:#38556e;font-size:11px}.overtime-request-card__reason p{color:#607386;margin:0;font-size:12px;line-height:1.5}.overtime-request-card__reason span{color:#704f9b;background:#f3eefb;border-radius:8px;margin-top:5px;padding:8px 10px;font-size:10px}.overtime-request-card>footer{background:#fafcfd;border-top:1px solid #e6ecf1;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.overtime-request-card>footer>div{color:#718397;flex-wrap:wrap;gap:12px;font-size:10px;display:flex}.overtime-decision-form{align-items:center;gap:7px;display:flex}.overtime-decision-form input{border:1px solid #ccd9e3;border-radius:8px;min-width:210px;min-height:37px;padding:8px 10px;font-size:10px}.overtime-create-dialog{width:min(760px,100vw - 24px)}.overtime-create-form{gap:14px}.overtime-create-form .form-field>span{font-size:12px}.overtime-create-form .form-field input,.overtime-create-form .form-field select,.overtime-create-form .form-field textarea{min-height:50px;font-size:14px}.overtime-authorize-now{cursor:pointer;display:block}.overtime-authorize-now>input[type=checkbox]{opacity:0;position:absolute}.overtime-authorize-now>span{background:#f8fbfd;border:1px solid #cfd9e4;border-radius:11px;grid-template-columns:42px minmax(0,1fr);gap:2px 11px;padding:13px;display:grid}.overtime-authorize-now i{color:#6b52aa;background:#ebe6f8;border-radius:10px;grid-row:1/3;place-items:center;width:40px;height:40px;display:grid}.overtime-authorize-now b{color:#263f58;font-size:12px}.overtime-authorize-now small{color:#6e8092;font-size:10px}.overtime-authorize-now>input:checked+span{background:#f5f1ff;border-color:#7a62bd;box-shadow:inset 0 0 0 1px #b9aae1}.overtime-create-dialog__rule{color:#7b5410;background:#fff5dd;border-radius:9px;margin:15px 0 0;padding:11px 13px;font-size:11px}@media (width<=980px){.overtime-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overtime-management-panel__header{align-items:stretch}.overtime-filter{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.overtime-filter__search{grid-column:span 2}.overtime-request-card__times{grid-template-columns:repeat(2,minmax(0,1fr))}.overtime-request-card__times span:nth-child(2){border-right:0}.overtime-request-card__times span:nth-child(-n+2){border-bottom:1px solid #e5ebf0}.overtime-request-card>footer{flex-direction:column;align-items:flex-start}.overtime-decision-form{flex-wrap:wrap;width:100%}.overtime-decision-form input{flex:1}}@media (width<=640px){.overtime-rule-banner,.overtime-metrics,.overtime-filter{grid-template-columns:1fr}.overtime-filter__search{grid-column:auto}.overtime-request-card>header{grid-template-columns:44px minmax(0,1fr)}.overtime-request-card>header>.badge{grid-column:1/-1;justify-self:start}.overtime-request-card__times{grid-template-columns:1fr}.overtime-request-card__times span{border-bottom:1px solid #e5ebf0;border-right:0!important}.overtime-decision-form input{min-width:100%}}.temporary-audience-switcher{border-radius:13px;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);align-items:center;gap:22px;padding:20px 22px;display:grid}.temporary-audience-switcher h2{color:#0b3151;margin:3px 0 5px;font-size:1.25rem}.temporary-audience-switcher p{color:#647b8e;margin:0;font-size:.84rem}.temporary-audience-switcher>div:last-child{grid-template-columns:1fr 1fr;gap:9px;display:grid}.temporary-audience-switcher [role=tab]{color:#274b65;text-align:left;cursor:pointer;background:#f7fafc;border:1px solid #cddde7;border-radius:11px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;min-height:68px;padding:10px 12px;display:grid}.temporary-audience-switcher [role=tab]>i{color:#087da8;background:#e2f4fa;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.temporary-audience-switcher [role=tab] span{gap:2px;display:grid}.temporary-audience-switcher [role=tab] strong{color:#123c59;font-size:.92rem}.temporary-audience-switcher [role=tab] small{color:#6e8291;font-size:.7rem}.temporary-audience-switcher [role=tab][aria-selected=true]{color:#075b82;background:#eaf8fd;border-color:#199ac5;box-shadow:inset 3px 0 #118bb8,0 7px 18px #0a658c1a}.temporary-schedule-form[hidden]{display:none!important}.temporary-schedule-form--staff .temporary-schedule-form__header{background:linear-gradient(120deg,#effbf6,#fff 62%)}.temporary-schedule-form--staff .temporary-schedule-form__icon{background:#087657}.temporary-staff-flow{color:#49677d;background:#f3f8fa;border:1px dashed #bad1de;border-radius:10px;justify-content:center;align-items:center;gap:11px;margin:17px 24px 0;padding:11px 14px;font-size:.76rem;font-weight:750;display:flex}.temporary-staff-flow span{align-items:center;gap:6px;display:inline-flex}.temporary-staff-flow b{color:#fff;background:#0c82ac;border-radius:50%;place-items:center;width:23px;height:23px;font-size:.69rem;display:grid}.temporary-staff-flow>i{color:#92a9b7}.temporary-worker-picker__prompt,.temporary-worker-picker__empty{color:#527084;text-align:center;background:#f2f8fb;border:1px dashed #a9c8d8;border-radius:10px;justify-items:center;gap:5px;margin:16px 18px 0;padding:22px;display:grid}.temporary-worker-picker__prompt i,.temporary-worker-picker__empty i{color:#168bb5;font-size:1.2rem}.temporary-worker-picker__prompt strong,.temporary-worker-picker__empty strong{color:#133d59}.temporary-worker-picker__prompt small,.temporary-worker-picker__empty small{color:#708593;font-size:.72rem}.temporary-worker-picker__prompt[hidden],.temporary-worker-picker__empty[hidden]{display:none!important}.temporary-worker-option{min-height:88px}.temporary-worker-option__identity{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px!important;display:grid!important}.temporary-worker-option__identity>span:last-child{gap:2px;min-width:0;display:grid}.temporary-worker-option__avatar{color:#08789f;background:#dff2f8;border:1px solid #c1dce7;border-radius:10px;place-items:center;width:42px;height:42px;font-size:.72rem;font-weight:900;display:grid;overflow:hidden}.temporary-worker-option__avatar img{object-fit:cover;width:100%;height:100%}.temporary-worker-option em{color:#087056;font-size:.66rem;font-style:normal;font-weight:800}.temporary-history-columns{background:#d8e4eb;grid-template-columns:1fr 1fr;gap:1px;display:grid}.temporary-history-columns>section{background:#f8fafb;min-width:0}.temporary-history-columns>section>header{background:#fff;border-bottom:1px solid #dbe6ed;align-items:center;gap:10px;padding:14px 16px;display:flex}.temporary-history-columns>section>header>span{color:#0a7ca7;background:#e4f5fb;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.temporary-history-columns>section>header>div{gap:2px;display:grid}.temporary-history-columns>section>header strong{color:#113955;font-size:.9rem}.temporary-history-columns>section>header small{color:#718695;font-size:.69rem}.temporary-history-columns .temporary-schedule-card{grid-template-columns:58px minmax(0,1fr);align-items:start}.temporary-history-columns .temporary-schedule-card__date{width:58px}.temporary-history-columns .temporary-schedule-card>form,.temporary-history-columns .temporary-schedule-card__closed{grid-column:2;justify-self:start}.temporary-schedule-card.is-staff{border-left:3px solid #15906d}@media (width<=980px){.temporary-audience-switcher,.temporary-history-columns{grid-template-columns:1fr}}@media (width<=620px){.temporary-audience-switcher{gap:14px;padding:16px}.temporary-audience-switcher>div:last-child{grid-template-columns:1fr}.temporary-audience-switcher [role=tab]{min-height:60px}.temporary-staff-flow{white-space:nowrap;justify-content:flex-start;margin-inline:16px;overflow-x:auto}.temporary-worker-option__identity{grid-template-columns:38px minmax(0,1fr)}.temporary-worker-option__avatar{width:38px;height:38px}}.attendance-change-feedback{z-index:1800;color:#8d1d29;background:#fff4f5;border:1px solid #efb5ba;border-radius:8px;grid-template-columns:22px minmax(0,1fr) 28px;align-items:center;gap:10px;width:min(420px,100vw - 28px);padding:12px;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 30px #0a2a3d29}.attendance-change-feedback>i{color:#c92932;font-size:17px}.attendance-change-feedback>span{font-size:12px;font-weight:700;line-height:1.4}.attendance-change-feedback>button{color:#8d1d29;cursor:pointer;background:0 0;border:0;border-radius:5px;width:28px;height:28px}.attendance-change-feedback>button:hover{background:#fde3e6}@media (width<=560px){.attendance-change-feedback{width:calc(100vw - 28px);bottom:14px;right:14px}}.station-body{color:#0b1f3a;background:radial-gradient(circle at 8% 0,#1f9ecb2e,#0000 32%),radial-gradient(circle at 94% 100%,#344da026,#0000 35%),#edf3f8;min-height:100vh;margin:0;font-family:Instrument Sans,Segoe UI,system-ui,sans-serif}.station-main{min-height:100vh}.station-pairing{place-content:center;place-items:center;width:min(1180px,100% - 40px);min-height:100vh;margin:0 auto;padding:40px 0;display:grid}.station-pairing__brand{align-items:center;gap:13px;margin-bottom:25px;display:flex}.station-pairing__brand img{object-fit:cover;border-radius:15px;width:56px;height:56px;box-shadow:0 8px 22px #041f3b29}.station-pairing__brand span,.station-console__brand span{gap:3px;display:grid}.station-pairing__brand strong,.station-console__brand strong{font-family:var(--font-display);font-size:17px}.station-pairing__brand small,.station-console__brand small{color:#617086;font-size:10px;font-weight:650}.station-pairing__card{text-align:center;background:#fffffff5;border:1px solid #d2dee8e6;border-radius:28px;width:min(510px,100%);padding:42px;position:relative;overflow:hidden;box-shadow:0 30px 80px #041d3829}.station-pairing__card:before{content:"";background:linear-gradient(90deg,#0b2141,#168cc4,#6b4ccc);height:6px;position:absolute;top:0;left:0;right:0}.station-pairing__seal{color:#0d7eaf;background:#eaf8fd;border:1px solid #cde8f4;border-radius:22px;place-items:center;width:70px;height:70px;margin:0 auto 22px;font-size:25px;display:grid}.station-pairing__card h1{font-family:var(--font-display);letter-spacing:-.04em;margin:7px 0 12px;font-size:clamp(27px,5vw,38px)}.station-pairing__card>p:not(.eyebrow){color:#617086;margin:0 auto;font-size:12px;line-height:1.7}.station-pairing__form{text-align:left;gap:11px;margin-top:28px;display:grid}.station-pairing__form label{color:#20354f;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.station-pairing__form input{color:#09213f;width:100%;font-family:var(--font-display);letter-spacing:.28em;text-align:center;background:#f8fbfd;border:1px solid #cedbe5;border-radius:14px;outline:none;padding:16px 18px;font-size:26px;font-weight:800}.station-pairing__form input:focus{background:#fff;border-color:#168cc4;box-shadow:0 0 0 4px #168cc421}.station-pairing__security{color:#087157;text-align:left;background:#f0faf6;border:1px solid #d9ece5;border-radius:13px;align-items:flex-start;gap:12px;margin-top:22px;padding:14px;display:flex}.station-pairing__security>i{margin-top:2px}.station-pairing__security p{gap:3px;margin:0;display:grid}.station-pairing__security strong{font-size:10px}.station-pairing__security span{color:#4f7066;font-size:9px;line-height:1.55}.station-inline-alert{color:#b42331;text-align:left;background:#fff2f3;border:1px solid #f0c8cb;border-radius:12px;align-items:flex-start;gap:11px;margin-top:18px;padding:13px;display:flex}.station-inline-alert span{gap:3px;display:grid}.station-inline-alert strong{font-size:10px}.station-inline-alert small{font-size:9px;line-height:1.5}.station-pairing__help{color:#65758a;text-align:center;max-width:560px;margin:23px 0 0;font-size:10px;line-height:1.6}.station-console{background:#071425;min-height:100vh;position:relative}.station-console.is-kiosk{grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.station-console__header{z-index:12;box-sizing:border-box;color:#fff;background:#082b4c;border-bottom:3px solid #159ac4;grid-template-columns:minmax(230px,1fr) auto;align-items:center;gap:24px;min-height:72px;padding:10px 18px;display:grid;box-shadow:0 8px 24px #02122247}.station-console__brand{align-items:center;gap:13px;min-width:0;display:flex}.station-console__brand>span{gap:2px;min-width:0;display:grid}.station-console__brand strong,.station-console__brand small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.station-console__brand img{box-sizing:border-box;object-fit:contain;width:48px;height:48px;box-shadow:none;background:0 0;border:0;border-radius:0;flex:0 0 48px;padding:0}.station-console__brand strong{color:#fff;font-size:14px;line-height:1.15}.station-console__brand .station-console__brand-kicker{color:#72d1f1;letter-spacing:.15em;text-transform:uppercase;font-size:7px;font-weight:850}.station-console__brand .station-console__brand-context{color:#c4d9e7;font-size:9px;font-weight:650}.station-console .attendance-station__toolbar{flex-flow:row;flex:0 auto;justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.station-console__status-group,.station-console__action-group{align-items:center;gap:8px;min-width:0;display:flex}.station-console__status-group{border-right:1px solid #ffffff2e;padding-right:12px}.station-console__action-group{justify-content:flex-end}.station-console .station-offline-state{box-sizing:border-box;color:#ecfff9;contain:layout paint;background:#ffffff0f;border-color:#ffffff29;border-radius:10px;flex:0 0 174px;width:174px;min-width:174px;max-width:174px;min-height:46px}.station-console .station-offline-state>span{min-width:0}.station-console .station-offline-state strong,.station-console .station-offline-state small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.station-console .station-offline-state small{color:#b9dcd4}.station-console .attendance-station__state{box-sizing:border-box;color:#dff8f0;white-space:nowrap;background:#ffffff0f;border:1px solid #5bd3ba3d;border-radius:10px;justify-content:center;width:152px;min-width:152px;min-height:46px;padding:8px 11px}.station-console .attendance-station__state.is-active{color:#dff8f0}.station-console .attendance-station__state.is-active>i{color:#54e0b9}.station-console .attendance-station__state.has-update{color:#ffe7a3;background:#7e510047;border-color:#ffcc536b}.station-console__header .station-console__action.button{color:#fff;min-width:126px;min-height:42px;box-shadow:none;white-space:nowrap;background:#123e63;border-color:#527b9b;border-radius:9px}.station-console__header .station-console__action.button>i{color:currentColor}.station-console__header .station-console__action.button:hover,.station-console__header .station-console__action.button:focus-visible{color:#fff;background:#17577f;border-color:#7bd0ef}.station-console__audio{min-width:126px}.station-console__header .station-console__audio.button:not(.is-active){color:#ffe9ad;background:#60460d;border-color:#a88131}.station-console__header .station-console__audio.button.is-active{color:#e8fff7;background:#0b674f;border-color:#4ab994}.station-console [data-attendance-kiosk-toggle]{min-width:144px}.station-console__body{background:#071425;min-height:0;padding:8px;display:block;position:relative;overflow:hidden}.station-console .station-console__switch{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#041426bd;border-color:#ffffff38;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(300px,100% - 180px);max-width:none;margin:0;padding:4px;display:grid;position:absolute;top:20px;left:20px;box-shadow:0 10px 28px #0003}.station-console .station-console__switch.is-single{grid-template-columns:minmax(150px,1fr);width:auto;max-width:min(240px,100% - 150px)}.station-console .attendance-method-card{color:#fffc;border-radius:10px;grid-template-columns:auto minmax(0,1fr);gap:8px;min-height:44px;padding:5px 9px}.station-console .attendance-method-card:hover{color:#fff;background:#ffffff1a}.station-console .attendance-method-card.is-active{color:#0b2544;background:#fffffff2;border-color:#ffffff80;box-shadow:0 6px 16px #00000026}.station-console .attendance-method-card__icon{border-radius:8px;width:30px;height:30px;font-size:12px}.station-console .attendance-method-card strong{white-space:nowrap;font-size:9px}.station-console .attendance-method-card small,.station-console .attendance-method-card>i{display:none}.station-console__automatic{z-index:20;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#041426bd;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:7px 10px;font-size:8px;font-weight:800;display:inline-flex;position:absolute;top:24px;right:20px;box-shadow:0 8px 22px #0000002e}.station-console__automatic i{color:#64d9b3;font-size:10px}.station-console__form{display:none}.station-console__panel{width:100%;max-width:1450px;height:100%;min-height:0;margin:0 auto;position:relative}.station-console__panel[hidden]{display:none}.station-console__scanner{background:#071425;border:1px solid #58cdf257;border-radius:20px;width:100%;height:100%;min-height:0;display:block;position:relative;overflow:hidden;box-shadow:0 18px 44px #00000042}.station-console__scanner .qr-scanner__viewport{aspect-ratio:auto;border-radius:inherit;width:100%;height:100%;min-height:0;box-shadow:none;border:0}.station-console__scanner .qr-scanner__viewport video{object-fit:cover}.station-console__scanner .qr-scanner__frame{aspect-ratio:1.55;border-radius:14px;width:min(68%,680px);max-height:calc(100% - 168px);transform:translate(-50%,-53%);box-shadow:0 0 0 999px #030f1d2e,0 0 30px #39a9db52}.station-console__scanner .qr-scanner__frame:before{border-radius:12px 0 0}.station-console__scanner .qr-scanner__frame:after{border-radius:0 0 12px}.station-console__scanner .qr-scanner__frame>small{border-radius:8px;padding:7px 10px;font-size:clamp(9px,1.25vw,13px);bottom:14px;left:18px;right:18px}.station-console__scanner .qr-scanner__quality{width:min(430px,100% - 32px);top:78px}.station-console__scanner .qr-scanner__quality strong{font-size:clamp(10px,1.2vw,13px)}.station-console__scanner .qr-scanner__quality small{font-size:clamp(8px,.9vw,10px)}.station-console__start{z-index:8;justify-content:center;width:min(320px,100% - 32px);min-height:54px;margin:0;font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.station-console .qr-scanner__status{z-index:10;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#041426c7;border-color:#ffffff4d;width:min(380px,100% - 120px);min-height:0;padding:9px 11px;position:absolute;bottom:16px;left:16px;right:auto;box-shadow:0 8px 24px #0003}.station-console .qr-scanner__status>i{border-radius:8px;width:30px;height:30px}.station-console .qr-scanner__status strong{color:#fff;font-size:9px}.station-console .qr-scanner__status small{color:#ffffffbd;text-overflow:ellipsis;white-space:nowrap;max-width:290px;margin-top:2px;font-size:7px;line-height:1.35;overflow:hidden}.station-console .qr-scanner__status[data-tone=success]{background:#045840e0;border-color:#6ae0b5b3}.station-console .qr-scanner__status[data-tone=warning]{background:#704608e6;border-color:#f5c45cb8}.station-console .qr-scanner__status[data-tone=error]{background:#7d1621e6;border-color:#f8808bb8}.station-console .qr-scanner__controls{bottom:16px;left:auto;right:16px}.station-console .qr-scanner__controls>span{display:none}.station-console .qr-scanner__controls .button{border-radius:10px;min-height:38px;padding:8px 11px}.station-console .attendance-scan-result{display:none!important}.station-console__facial{background:#071425;border:1px solid #825bdc66;border-radius:20px;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:0 18px 44px #00000042}.station-console__facial .facial-access__grid{width:100%;max-width:none;height:100%;min-height:0;margin:0;display:block;position:relative}.station-console__facial .facial-access__grid>div:first-child{width:100%;height:100%;display:block}.station-console__facial .facial-access__grid>div:last-child{display:contents}.station-console__facial [data-face-start]{z-index:8;width:min(320px,100% - 32px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.station-console__facial .facial-viewport{aspect-ratio:auto;border-radius:inherit;width:100%;height:100%;min-height:0;box-shadow:none;border:0}.station-console__facial .facial-viewport video{object-fit:cover}.station-console__facial .facial-viewport__oval{aspect-ratio:.72;border-radius:48% 48% 44% 44%/42% 42% 58% 58%;width:min(62%,52svh,380px);max-width:calc(100% - 48px);max-height:calc(100% - 92px);top:49%;box-shadow:0 0 0 999px #030f1d2e,0 0 30px #9b7ef06b}.station-console__facial .facial-access__empty{z-index:10;position:absolute;bottom:68px;right:16px}.station-console__footer{color:#65758a;background:#fff;border-top:1px solid #d8e3eb;justify-content:space-between;gap:16px;padding:7px 16px;font-size:8px;font-weight:700;display:flex}.station-console__footer span{align-items:center;gap:7px;display:inline-flex}.station-console__footer span:first-child i{color:#0a936b}.station-console__connection{white-space:nowrap;flex:0 0 92px;width:92px}.station-console__connection.is-offline,.station-console__connection.is-offline i{color:#b76b08}.station-mark-feedback{z-index:80;opacity:0;-webkit-backdrop-filter:blur(10px)saturate(.8);backdrop-filter:blur(10px)saturate(.8);background:#03101ebd;place-items:center;padding:clamp(18px,4vw,54px);transition:opacity .28s;display:grid;position:absolute;inset:0}.station-mark-feedback[hidden]{display:none}.station-mark-feedback.is-visible{opacity:1}.station-mark-feedback__card{color:#103450;background:#fffffffa;border:2px solid #ffffffc7;border-radius:clamp(24px,4vw,36px);gap:clamp(16px,2.4vh,24px);width:min(92vw,760px);max-height:calc(100vh - 36px);padding:clamp(24px,4vw,42px);transition:transform .28s cubic-bezier(.2,.85,.25,1);display:grid;position:relative;overflow:hidden;transform:translateY(20px)scale(.96);box-shadow:0 30px 100px #0000006b,0 0 0 10px #18ab7e1f}.station-mark-feedback.is-visible .station-mark-feedback__card{transform:translateY(0)scale(1)}.station-mark-feedback__status{text-align:left;justify-content:center;align-items:center;gap:16px;display:flex}.station-mark-feedback__status>span:last-child{gap:3px;display:grid}.station-mark-feedback__status-icon{color:#fff;background:#07855e;border-radius:50%;flex:0 0 clamp(60px,9vw,78px);place-items:center;width:clamp(60px,9vw,78px);height:clamp(60px,9vw,78px);font-size:clamp(25px,4vw,34px);display:grid;box-shadow:0 12px 28px #07855e42}.station-mark-feedback__status small{color:#07855e;letter-spacing:.13em;font-size:clamp(11px,1.8vw,14px);font-weight:900}.station-mark-feedback__status strong{color:#082e50;font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(27px,4.5vw,42px);line-height:1.05}.station-mark-feedback__identity{background:#effaf6;border:1px solid #cce4dc;border-radius:22px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(15px,3vw,24px);padding:clamp(15px,2.8vw,22px);display:grid}.station-mark-feedback__identity>span:last-child{gap:6px;min-width:0;display:grid}.station-mark-feedback__avatar{color:#087157;width:clamp(76px,14vw,112px);height:clamp(76px,14vw,112px);font-family:var(--font-display);background:#d9f4e9;border:4px solid #fff;border-radius:24px;place-items:center;font-size:clamp(25px,5vw,40px);font-weight:900;display:grid;overflow:hidden;box-shadow:0 8px 22px #085b4624}.station-mark-feedback__avatar img{object-fit:cover;width:100%;height:100%}.station-mark-feedback__avatar>span[hidden]{display:none}.station-mark-feedback__identity strong{overflow-wrap:anywhere;color:#082e50;font-family:var(--font-display);font-size:clamp(23px,4vw,36px);line-height:1.1}.station-mark-feedback__identity small{color:#537084;font-size:clamp(13px,2.1vw,17px);font-weight:750}.station-mark-feedback__details{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.station-mark-feedback__details>span{text-align:center;background:#f5f8fa;border:1px solid #d8e4eb;border-radius:17px;gap:5px;min-width:0;padding:clamp(12px,2vw,17px);display:grid}.station-mark-feedback__details small{color:#65798c;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(10px,1.5vw,12px);font-weight:800}.station-mark-feedback__details strong{overflow-wrap:anywhere;color:#0a3558;font-size:clamp(16px,2.8vw,23px);line-height:1.15}.station-mark-feedback__card>p{color:#506b80;text-align:center;margin:0;font-size:clamp(13px,2vw,17px);line-height:1.5}.station-mark-feedback__next{color:#087157;justify-content:center;align-items:center;gap:8px;font-size:clamp(11px,1.8vw,14px);font-weight:850;display:inline-flex}.station-mark-feedback__next i{animation:1.2s linear infinite station-feedback-rotate}.station-mark-feedback__progress{transform-origin:0;background:#0a936b;height:7px;position:absolute;bottom:0;left:0;right:0}.station-mark-feedback.is-visible .station-mark-feedback__progress{animation:station-feedback-progress var(--station-feedback-duration,1.2s) linear forwards}.station-mark-feedback[data-tone=warning] .station-mark-feedback__card{box-shadow:0 30px 100px #0000006b,0 0 0 10px #e19d2226}.station-mark-feedback[data-tone=warning] .station-mark-feedback__status-icon,.station-mark-feedback[data-tone=warning] .station-mark-feedback__progress{background:#d58a12}.station-mark-feedback[data-tone=warning] .station-mark-feedback__status small,.station-mark-feedback[data-tone=warning] .station-mark-feedback__next{color:#9a620b}.station-mark-feedback[data-tone=warning] .station-mark-feedback__identity{background:#fff9eb;border-color:#ead8b2}.station-mark-feedback[data-tone=error] .station-mark-feedback__card{box-shadow:0 30px 100px #0000006b,0 0 0 10px #c9364324}.station-mark-feedback[data-tone=error] .station-mark-feedback__status-icon,.station-mark-feedback[data-tone=error] .station-mark-feedback__progress{background:#c92f3d}.station-mark-feedback[data-tone=error] .station-mark-feedback__status small,.station-mark-feedback[data-tone=error] .station-mark-feedback__next{color:#b42331}.station-mark-feedback[data-tone=error] .station-mark-feedback__identity{background:#fff3f4;border-color:#efc6ca}.device-pairing-code{background:linear-gradient(135deg,#f2fbfe,#fff);border:1px solid #bfe2ef;border-radius:19px;grid-template-columns:60px 1fr auto;align-items:center;gap:18px;margin-bottom:20px;padding:22px;display:grid;box-shadow:0 10px 30px #0a648c17}.device-pairing-code__icon{color:#087fae;background:#dff4fb;border-radius:17px;place-items:center;width:60px;height:60px;font-size:21px;display:grid}.device-pairing-code h2{color:#092b51;font-family:var(--font-display);letter-spacing:.14em;margin:5px 0;font-size:clamp(22px,4vw,34px)}.device-pairing-code p{color:#637287;margin:0;font-size:9px;line-height:1.55}.device-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.device-section-heading{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.device-section-heading h2{color:#0b2544;font-family:var(--font-display);margin:4px 0;font-size:18px}.device-section-heading p{color:#68788d;margin:0;font-size:10px}.device-card{background:#fff;border:1px solid #dbe5ec;border-radius:19px;padding:20px;box-shadow:0 8px 25px #07213c0e}.device-card--revoked{opacity:.7;background:#f8fafb}.device-card header{justify-content:space-between;align-items:center;display:flex}.device-card__icon{color:#0b7faa;background:#eaf7fc;border-radius:14px;place-items:center;width:48px;height:48px;font-size:18px;display:grid}.device-card h2{font-family:var(--font-display);margin:17px 0 6px;font-size:17px}.device-card>p{color:#68788d;margin:0;font-size:9px}.device-card dl{border-block:1px solid #e8eef2;gap:9px;margin:18px 0;padding:14px 0;display:grid}.device-card dl div{justify-content:space-between;gap:15px;display:flex}.device-card dt{color:#798799;font-size:8px}.device-card dd{color:#213b58;text-align:right;margin:0;font-size:8px;font-weight:750}.device-card__actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.device-card__actions>.button:only-child{grid-column:1/-1}.device-card__actions form{min-width:0}.device-history{background:#fff;border:1px solid #dbe5ec;border-radius:15px;margin-top:20px;overflow:hidden}.device-history>summary{color:#24445f;cursor:pointer;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:16px 18px;list-style:none;display:grid}.device-history>summary::-webkit-details-marker{display:none}.device-history>summary::marker{content:""}.device-history>summary>span:first-child{align-items:center;gap:12px;min-width:0;display:flex}.device-history>summary>span:first-child>i{color:#62798d;background:#eef3f6;border-radius:10px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.device-history>summary>span:first-child>span{gap:3px;min-width:0;display:grid}.device-history>summary strong{color:#163650;font-size:11px}.device-history>summary small{color:#728294;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.device-history__count{color:#526a7d;background:#edf2f5;border-radius:999px;place-items:center;min-width:28px;height:24px;padding-inline:8px;font-size:9px;font-weight:800;display:grid}.device-history__chevron{color:#718497;font-size:10px;transition:transform .16s}.device-history[open] .device-history__chevron{transform:rotate(180deg)}.device-history[open]>summary{background:#f8fafb;border-bottom:1px solid #e2e9ee}.device-grid--history{background:#f4f7f9;padding:16px}.device-grid--history .device-card{box-shadow:none}.device-empty{text-align:center;background:#ffffffb3;border:1px dashed #cbd9e4;border-radius:20px;grid-column:1/-1;padding:55px 25px}.device-empty>i{color:#8aa7bc;font-size:31px}.device-empty h2{font-family:var(--font-display);margin:15px 0 7px;font-size:18px}.device-empty p{color:#6b7b8f;margin:0 0 18px;font-size:10px}@media (width<=1200px){.station-console__header{grid-template-columns:minmax(170px,1fr) auto;gap:10px;min-height:64px;padding:8px 12px}.station-console .attendance-station__toolbar{justify-content:flex-end;gap:8px;width:auto}.station-console__brand{justify-self:start}.station-console__brand img{flex-basis:44px;width:44px;height:44px}.station-console__status-group{flex:none;gap:6px;padding-right:8px}.station-console__action-group{flex:none;gap:6px}.station-console .station-offline-state{flex-basis:156px;width:156px;min-width:156px;max-width:156px}.station-console .attendance-station__state{width:138px;min-width:138px}.station-console__header .station-console__action.button,.station-console__header .station-console__audio.button,.station-console__header [data-attendance-kiosk-toggle].button{flex:0 0 42px;width:42px;min-width:42px;padding-inline:0}.station-console__action>span{display:none}.station-console__action>i{margin:0}}@media (width<=820px){.station-console__header{grid-template-columns:minmax(148px,1fr) auto;gap:8px;min-height:60px;padding:7px 9px}.station-console__brand{gap:9px}.station-console__brand img{border-radius:10px;flex-basis:42px;width:42px;height:42px}.station-console__brand strong{font-size:12px}.station-console__brand .station-console__brand-kicker{font-size:6px}.station-console__brand .station-console__brand-context{font-size:8px}.station-console .attendance-station__toolbar{gap:6px;width:auto;display:flex}.station-console__status-group{box-sizing:border-box;border-bottom:0;border-right:1px solid #ffffff2e;justify-content:flex-start;gap:6px;width:auto;padding:0 6px 0 0}.station-console__action-group{gap:5px;width:auto}.station-console .station-offline-state{flex-basis:142px;width:142px;min-width:142px;max-width:142px;min-height:42px}.station-console .attendance-station__state{width:124px;min-width:124px;min-height:42px;padding-inline:8px}.station-console__header .station-console__action.button,.station-console__header .station-console__audio.button,.station-console__header [data-attendance-kiosk-toggle].button{flex-basis:40px;width:40px;min-width:40px;min-height:40px}}@media (width<=900px){.station-console .station-console__switch{width:min(270px,100% - 160px)}}@media (width<=620px){.station-pairing{width:min(100% - 24px,510px);padding:22px 0}.station-pairing__card{border-radius:22px;padding:31px 22px}.station-console__header{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:8px;min-height:58px;padding:7px 8px}.station-console__brand{gap:0}.station-console__brand-copy{display:none!important}.station-console__brand img{border-radius:10px;flex-basis:40px;width:40px;height:40px}.station-console .attendance-station__toolbar{gap:5px;width:100%}.station-console__status-group{border-right:0;gap:5px;padding-right:0}.station-console__header .attendance-station__state{width:40px;min-width:40px;min-height:40px;padding:0;display:inline-flex}.station-console__header .attendance-station__state>span{display:none}.station-console__header .attendance-station__state>i{font-size:8px}.station-console .station-offline-state{flex-basis:clamp(108px,31vw,132px);gap:7px;width:clamp(108px,31vw,132px);min-width:clamp(108px,31vw,132px);max-width:clamp(108px,31vw,132px);min-height:40px;padding:4px 6px}.station-console .station-offline-state__icon{flex-basis:28px;width:28px;height:28px}.station-console .station-offline-state strong{font-size:.66rem}.station-console__action-group{gap:4px}.station-console__header .station-console__action.button,.station-console__header .station-console__audio.button,.station-console__header [data-attendance-kiosk-toggle].button{flex-basis:36px;width:36px;min-width:36px;min-height:40px;padding:0}.station-console__body{padding:5px}.station-console .station-console__switch{width:min(240px,100% - 72px);top:13px;left:13px}.station-console .attendance-method-card{padding:4px 6px}.station-console .attendance-method-card__icon{width:28px;height:28px}.station-console__automatic{justify-content:center;width:34px;min-height:34px;padding:0;font-size:0;top:18px;right:13px}.station-console__scanner,.station-console__facial{border-radius:14px}.station-console__scanner .qr-scanner__frame{width:min(84%,560px);max-height:calc(100% - 184px)}.station-console__scanner .qr-scanner__target{width:clamp(94px,42%,180px)}.station-console__scanner .qr-scanner__quality{grid-template-columns:30px minmax(0,1fr);width:calc(100% - 26px);min-height:42px;padding:6px 9px 6px 6px;top:62px}.station-console__scanner .qr-scanner__quality>span{width:30px;height:30px}.station-console__scanner .qr-scanner__quality strong{font-size:9px}.station-console__scanner .qr-scanner__quality small{font-size:7px}.station-console .qr-scanner__status{width:calc(100% - 82px);padding:7px 8px;bottom:10px;left:10px}.station-console .qr-scanner__status small{max-width:210px}.station-console .qr-scanner__controls{bottom:10px;right:10px}.station-console .qr-scanner__controls .button{min-height:34px;padding:7px 9px;font-size:0}.station-console .qr-scanner__controls .button i{margin:0;font-size:10px}.station-console__footer{justify-content:center}.station-console__footer time,.station-console__footer span:last-child{display:none}.device-section-heading{align-items:flex-start}.device-history>summary{padding:14px}.device-grid--history{padding:11px}.device-pairing-code{grid-template-columns:48px 1fr;padding:17px}.device-pairing-code__icon{width:48px;height:48px}.device-pairing-code>.badge{grid-column:1/-1;justify-self:start}}@media (width<=480px){.station-console__header{grid-template-columns:36px minmax(0,1fr);gap:6px;min-height:54px;padding:6px}.station-console__brand img{border-radius:9px;flex-basis:36px;width:36px;height:36px}.station-console .attendance-station__toolbar{gap:4px}.station-console__status-group{gap:4px;display:flex}.station-console .station-offline-state{flex-basis:clamp(102px,29vw,124px);width:clamp(102px,29vw,124px);min-width:clamp(102px,29vw,124px);max-width:clamp(102px,29vw,124px)}.station-console__header .attendance-station__state{width:36px;min-width:36px;min-height:38px}.station-console__header .station-console__action.button,.station-console__header .station-console__audio.button,.station-console__header [data-attendance-kiosk-toggle].button{flex-basis:34px;width:34px;min-width:34px;min-height:38px}.station-console .station-offline-state small{display:none}}.siagie-export-dialog{color:#17324a;background:#fff;border:1px solid #b9cfdde6;border-radius:20px;width:min(920px,100vw - 28px);max-height:min(92dvh,820px);overflow:hidden;box-shadow:0 32px 90px #02142661}.siagie-export-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05182bb8}.siagie-export-dialog>form{background:#fff;grid-template-rows:auto minmax(0,1fr) auto auto auto;max-height:min(92dvh,820px);display:grid}.siagie-export-dialog .dialog__header{color:#fff;background:linear-gradient(125deg,#082a4b 0%,#0c4167 70%,#087b99 100%);border-bottom:0;grid-template-columns:46px minmax(0,1fr) 40px;align-items:center;gap:13px;padding:18px 20px;display:grid}.siagie-export-dialog__icon{color:#d7fff0;background:#ffffff1a;border:1px solid #ffffff38;border-radius:13px;place-items:center;width:46px;height:46px;font-size:19px;display:grid}.siagie-export-dialog .dialog__header h2{color:#fff;font-size:19px}.siagie-export-dialog .dialog__header p{color:#c7dfec;margin-top:4px;font-size:10.5px;line-height:1.4}.siagie-export-dialog .dialog__header .icon-button{color:#fff;background:#ffffff14;border:1px solid #fff3;width:40px;height:40px}.siagie-export-dialog .dialog__header .icon-button:hover{color:#082a4b;background:#fff}.siagie-export-dialog .dialog__body{background:#f3f7fa;align-content:start;gap:13px;min-height:0;padding:17px;overflow-y:auto}.siagie-export-dialog .form-field>span{color:#173a56;font-size:11px;font-weight:850}.siagie-export-dialog .form-field input,.siagie-export-dialog .form-field select{background-color:#fff;border-color:#c5d5df;width:100%;min-width:0;min-height:44px}.siagie-export-dialog .privacy-note{background:#eaf7fc;border-color:#b9ddea;margin:0}.siagie-export-dialog .dialog__footer{background:#fff;border-top:1px solid #dce6ec;padding:14px 20px;box-shadow:0 -8px 22px #0727400d}.siagie-export-dialog .dialog__footer .button{border-radius:8px;min-height:44px;padding-inline:17px}.siagie-export-legend{background:#fff;border:1px solid #d7e1e7;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:12px;display:grid;box-shadow:0 6px 18px #092a440b}.siagie-export-legend span{color:#42596b;align-items:center;gap:7px;min-width:0;font-size:10px;display:flex}.siagie-export-legend b,.siagie-export-legend i{color:#17324a;background:#fff;border:1px solid #cbd7de;border-radius:6px;flex:0 0 22px;place-items:center;width:22px;height:22px;font-style:normal;display:grid}.siagie-export-legend i.is-non-academic{background:#d9dddf}.siagie-export-legend i.is-not-enrolled{background:#9cc8ea}.siagie-export-legend i.is-transferred{background:#ffc21a}.siagie-export-legend i.is-withdrawn{background:#ed7d31}.siagie-export-legend i.is-deceased{background:#404040}.siagie-export-dialog__body{overscroll-behavior:contain;scrollbar-gutter:stable;grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;align-content:start;display:grid}.siagie-export-dialog__body>*{min-width:0}.siagie-export-section{background:#fff;border:1px solid #d4e1e9;border-radius:12px;height:max-content;min-height:max-content;overflow:visible;box-shadow:0 5px 16px #082a420a}.siagie-export-section>header{background:linear-gradient(120deg,#fff,#f6fafc);border-bottom:1px solid #e2e9ee;align-items:center;gap:10px;padding:11px 13px;display:flex}.siagie-export-section>header>span{color:#087ca5;background:#e5f5fa;border-radius:9px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:12px;display:grid}.siagie-export-section>header>div{min-width:0}.siagie-export-section>header small{color:#0a789d;letter-spacing:.09em;text-transform:uppercase;font-size:7px;font-weight:850}.siagie-export-section>header h3{color:#173a56;margin:2px 0 0;font-size:13px}.siagie-site-access{background:#f7fbfd;border:1px solid #cfe0e8;border-radius:10px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;margin:10px 11px 0;padding:9px 10px;display:grid}.siagie-site-access>span{color:#087da5;background:#e1f4fa;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.siagie-site-access .form-field{gap:3px}.siagie-site-access .form-field select{min-height:39px;padding-block:6px;font-size:11px;font-weight:750}.siagie-site-access .form-field small{color:#607b8e;font-size:8px}.siagie-site-access--locked{background:#f3faf7;border-color:#cbe2d7}.siagie-site-access--locked>span{color:#087253;background:#def4e9}.siagie-site-access--locked>div{gap:1px;min-width:0;display:grid}.siagie-site-access--locked small{color:#43806b;letter-spacing:.07em;text-transform:uppercase;font-size:7px;font-weight:850}.siagie-site-access--locked strong{color:#174c3b;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.siagie-site-access--locked p{color:#668174;margin:0;font-size:8px}.siagie-period-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 11px 0;display:grid}.siagie-period-selector label{cursor:pointer;min-width:0;position:relative}.siagie-period-selector input{opacity:0;pointer-events:none;position:absolute}.siagie-period-selector label>span{color:#496377;background:#f9fbfc;border:1px solid #d6e1e8;border-radius:9px;grid-template-rows:auto auto;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:1px 8px;min-height:54px;padding:8px 10px;transition:border-color .15s,background-color .15s,box-shadow .15s;display:grid}.siagie-period-selector label>span>i{color:#0a80a8;background:#e6f5fa;border-radius:7px;grid-row:1/span 2;place-items:center;width:28px;height:28px;display:grid}.siagie-period-selector b{color:#24455d;font-size:10px}.siagie-period-selector small{color:#748694;font-size:8px}.siagie-period-selector input:checked+span{background:#edf9fc;border-color:#1595bd;box-shadow:inset 3px 0 #1595bd,0 0 0 2px #1595bd14}.siagie-period-selector input:focus-visible+span{outline-offset:2px;outline:3px solid #108fb833}.siagie-period-fields{min-height:72px;padding:9px 11px 11px;display:grid}.siagie-period-fields>[hidden]{display:none}.siagie-period-fields .form-field{min-height:52px}.siagie-date-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;display:grid}.siagie-academic-selectors{grid-template-columns:minmax(210px,.72fr) minmax(0,1.8fr);align-items:end;gap:10px;padding:11px;display:grid}.siagie-level-field{align-self:stretch}.siagie-export-section .form-field{gap:5px;min-width:0}.siagie-export-section .form-field>span{letter-spacing:.06em;text-transform:uppercase;font-size:8px}.siagie-export-section select:disabled{color:#91a0ab;cursor:not-allowed;background-color:#f2f5f7}.siagie-scope-selector{border:0;min-width:0;margin:0;padding:0}.siagie-scope-selector legend{color:#173a56;letter-spacing:.06em;text-transform:uppercase;margin:0 0 5px;font-size:8px;font-weight:850}.siagie-scope-selector>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.siagie-scope-selector label{cursor:pointer;min-width:0;position:relative}.siagie-scope-selector input{opacity:0;pointer-events:none;position:absolute}.siagie-scope-selector label>span{background:#f9fbfc;border:1px solid #d2dfe7;border-radius:9px;grid-template-rows:auto auto;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:1px 7px;min-height:52px;padding:7px 8px;transition:border-color .15s,background-color .15s,box-shadow .15s;display:grid}.siagie-scope-selector label i{color:#0a7ea6;background:#e6f5fa;border-radius:7px;grid-row:1/span 2;place-items:center;width:27px;height:27px;display:grid}.siagie-scope-selector label b{color:#21435c;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.siagie-scope-selector label small{color:#748794;text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.siagie-scope-selector input:checked+span{background:#edf9fc;border-color:#1595bd;box-shadow:inset 3px 0 #1595bd}.siagie-scope-selector input:focus-visible+span{outline-offset:2px;outline:3px solid #108fb833}.siagie-scope-selector:disabled{opacity:.55}.siagie-scope-selector:disabled label{cursor:not-allowed}.siagie-choice-panel{background:#f8fbfc;border:1px solid #cfdee7;border-radius:10px;gap:9px;margin:0 11px 11px;padding:10px;display:grid}.siagie-choice-panel[hidden]{display:none}.siagie-choice-panel>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.siagie-choice-panel>header>div{gap:2px;min-width:0;display:grid}.siagie-choice-panel>header small{color:#0a789d;letter-spacing:.08em;text-transform:uppercase;font-size:7px;font-weight:850}.siagie-choice-panel>header strong{color:#264860;font-size:9.5px}.siagie-choice-panel>header button{color:#0a648a;min-height:30px;font:inherit;cursor:pointer;background:#fff;border:1px solid #b9ceda;border-radius:7px;padding:5px 9px;font-size:8px;font-weight:850}.siagie-choice-panel>header button:hover{background:#eaf7fb;border-color:#178fb7}.siagie-choice-panel>header button:disabled{opacity:.5;cursor:not-allowed}.siagie-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:190px;padding:2px;display:grid;overflow-y:auto}.siagie-choice{cursor:pointer;background:#fff;border:1px solid #d5e1e8;border-radius:9px;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:54px;padding:8px;display:grid;position:relative}.siagie-choice:hover{background:#f3fbfd;border-color:#7bb9d1}.siagie-choice>input{opacity:0;pointer-events:none;position:absolute}.siagie-export-dialog .siagie-period-selector label>input[type=radio],.siagie-export-dialog .siagie-scope-selector label>input[type=radio],.siagie-export-dialog .siagie-choice>input[type=checkbox]{opacity:0!important;appearance:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;pointer-events:none!important;white-space:nowrap!important;border:0!important;width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.siagie-choice__check{color:#0000;background:#f4f8fa;border:1px solid #b9cdd9;border-radius:7px;place-items:center;width:27px;height:27px;display:grid}.siagie-choice>span:last-child{gap:2px;min-width:0;display:grid}.siagie-choice strong,.siagie-choice small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.siagie-choice strong{color:#173e59;font-size:9px}.siagie-choice small{color:#738694;font-size:7.5px}.siagie-choice:has(input:checked){background:#edf9fc;border-color:#1595bd;box-shadow:inset 3px 0 #1595bd}.siagie-choice input:checked+.siagie-choice__check{color:#fff;background:#0b88b0;border-color:#0b88b0}.siagie-choice:has(input:focus-visible){outline-offset:1px;outline:3px solid #108fb833}.siagie-scope-summary{background:#f0faf6;border:1px solid #c9e6d9;border-radius:9px;align-items:center;gap:10px;margin:0 11px 11px;padding:9px 10px;display:flex}.siagie-scope-summary>span{color:#087556;background:#ddf4e9;border-radius:8px;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}.siagie-scope-summary>div{gap:1px;min-width:0;display:grid}.siagie-scope-summary small{color:#168063;letter-spacing:.07em;text-transform:uppercase;font-size:7px;font-weight:850}.siagie-scope-summary strong{color:#214b3e;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9.5px;display:-webkit-box;overflow:hidden}.siagie-scope-summary p{color:#658075;margin:1px 0 0;font-size:8px}.siagie-legend-details{background:#fff;border:1px solid #d6e2e9;border-radius:10px;overflow:hidden}.siagie-legend-details summary{color:#33546c;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:9px;list-style:none;display:flex}.siagie-legend-details summary::-webkit-details-marker{display:none}.siagie-legend-details summary>span{align-items:center;gap:7px;display:inline-flex}.siagie-legend-details summary>span i{color:#0b82a9}.siagie-legend-details summary>i{transition:transform .16s}.siagie-legend-details[open] summary>i{transform:rotate(180deg)}.siagie-legend-details .siagie-export-legend{box-shadow:none;border:0;border-top:1px solid #e1e8ed;border-radius:0}.siagie-export-progress{background:#edf8fc;border:1px solid #b9dce9;border-radius:10px;gap:8px;margin:11px 17px 0;padding:11px 12px;display:grid}.siagie-export-progress[hidden]{display:none}.siagie-export-progress header{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.siagie-export-progress header>span{color:#087ea7;background:#d9f0f8;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.siagie-export-progress header>div{gap:1px;min-width:0;display:grid}.siagie-export-progress header small{color:#4d758a;letter-spacing:.08em;text-transform:uppercase;font-size:7px;font-weight:850}.siagie-export-progress header strong{color:#173f58;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.siagie-export-progress header>b{color:#087da5;font-family:var(--font-display);font-size:18px}.siagie-export-progress__track{background:#d1e5ed;border-radius:999px;height:7px;overflow:hidden}.siagie-export-progress__track>span{border-radius:inherit;background:linear-gradient(90deg,#0b7fa7,#11a77c);width:0;height:100%;transition:width .35s;display:block}.siagie-export-progress p{color:#58778a;margin:0;font-size:8.5px}.siagie-export-progress[data-state=complete]{background:#eefaf5;border-color:#a9dbc5}.siagie-export-progress[data-state=complete] header>span,.siagie-export-progress[data-state=complete] .siagie-export-progress__track>span{color:#087052;background:#0b9a6c}.siagie-export-progress[data-state=error]{background:#fff1f2;border-color:#efb7bb}.siagie-export-progress[data-state=error] header>span{color:#a12c36;background:#fbdde0}.siagie-download-status{color:#087052;background:#edf9f3;border:1px solid #b9e2cf;border-radius:10px;margin:0 20px;padding:10px 12px;font-size:10px;font-weight:750;line-height:1.45}.siagie-download-status[hidden]{display:none}.siagie-download-status.is-error{color:#a12c36;background:#fdebec;border-color:#efb7bb}@media (width<=760px){.siagie-period-selector,.siagie-academic-selectors{grid-template-columns:1fr}.siagie-scope-selector>div{scroll-snap-type:x proximity;grid-template-columns:repeat(3,minmax(145px,1fr));padding:2px;overflow-x:auto}.siagie-scope-selector label{scroll-snap-align:start}.siagie-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.siagie-export-dialog{border-radius:14px;width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.siagie-export-dialog>form{max-height:calc(100dvh - 12px)}.siagie-export-dialog .dialog__header{grid-template-columns:40px minmax(0,1fr) 36px;gap:10px;padding:14px}.siagie-export-dialog__icon{border-radius:11px;width:40px;height:40px;font-size:16px}.siagie-export-dialog .dialog__header h2{font-size:16px}.siagie-export-dialog .dialog__header p{font-size:9px}.siagie-export-dialog .dialog__header .icon-button{width:36px;height:36px}.siagie-export-dialog .dialog__body{gap:12px;padding:14px}.siagie-period-selector,.siagie-academic-selectors,.siagie-date-range,.siagie-scope-selector>div,.siagie-choice-grid{grid-template-columns:1fr}.siagie-choice-grid{max-height:240px}.siagie-choice-panel>header,.siagie-scope-summary{align-items:flex-start}.siagie-scope-summary strong{white-space:normal;overflow:visible}.siagie-export-legend{grid-template-columns:1fr;max-height:260px;overflow-y:auto}.siagie-export-progress,.siagie-download-status{margin-inline:14px}.siagie-export-dialog .dialog__footer{grid-template-columns:.8fr 1.2fr;padding:11px 14px;display:grid}.siagie-export-dialog .dialog__footer .button{justify-content:center;width:100%;min-width:0;padding-inline:8px}}.attendance-config-summary,.attendance-report-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.attendance-config-summary article,.attendance-report-summary article{background:linear-gradient(145deg,#fff,#f8fbfd);border:1px solid #dfe8f0;border-radius:16px;align-items:center;gap:13px;min-width:0;padding:17px 18px;display:flex;box-shadow:0 8px 24px #0c2a480e}.attendance-config-summary article>span,.attendance-report-summary article>span{color:#087da9;background:#e6f6fc;border-radius:13px;flex:0 0 43px;place-items:center;width:43px;height:43px;font-size:16px;display:grid}.attendance-config-summary strong,.attendance-report-summary strong{color:#102d4f;font-size:13px;display:block}.attendance-config-summary small,.attendance-report-summary small{color:#68788d;margin-top:3px;font-size:9px;line-height:1.4;display:block}.attendance-config-summary .has-warning,.attendance-report-summary .is-warning{background:linear-gradient(145deg,#fff,#fffbeb);border-color:#f4dda4}.attendance-report-summary .is-warning>span{color:#a95808;background:#fff3cd}.attendance-report-summary .is-danger{background:linear-gradient(145deg,#fff,#fef2f2);border-color:#fecaca}.attendance-report-summary .is-danger>span{color:#b91c1c;background:#fee2e2}.attendance-shift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:18px;display:grid}.attendance-shift-card{background:#fff;border:1px solid #dce7ef;border-radius:19px;padding:21px;box-shadow:0 12px 30px #0d2c4c12}.attendance-shift-card.is-inactive{opacity:.68;background:#f7f9fb}.attendance-shift-card>header,.attendance-shift-card>footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.attendance-shift-card__icon{color:#0b78a5;background:#e9f7fc;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.attendance-shift-card h2{color:#0b1f3a;font-family:var(--font-display);margin:14px 0;font-size:17px}.attendance-shift-card__timeline{text-align:center;background:#f5f8fb;border-radius:14px;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:9px;padding:15px;display:grid}.attendance-shift-card__timeline div{gap:4px;display:grid}.attendance-shift-card__timeline small{color:#718094;font-size:8px;font-weight:750}.attendance-shift-card__timeline strong{color:#113455;font-size:14px}.attendance-shift-card__timeline>i{color:#8eb0c7;font-size:9px}.attendance-shift-card>footer{color:#617287;flex-wrap:wrap;margin-top:15px;font-size:9px}.attendance-shift-card>footer span i{color:#2299c7;margin-right:4px}.attendance-assignment-panel .panel__header{align-items:flex-end}.attendance-assignment-list{display:grid}.attendance-assignment-row{border-top:1px solid #edf1f5;grid-template-columns:minmax(220px,1.05fr) minmax(170px,.7fr) minmax(410px,1.4fr);align-items:center;gap:18px;padding:15px 20px;display:grid}.attendance-assignment-row.needs-configuration{background:#fffdf7;box-shadow:inset 3px 0 #e7a21a}.attendance-assignment-row__current{gap:3px;display:grid}.attendance-assignment-row__current small,.attendance-assignment-row__form label>span{color:#758499;text-transform:uppercase;font-size:8px;font-weight:750}.attendance-assignment-row__current strong{color:#173a59;font-size:10px}.attendance-assignment-row__current span{color:#69798c;font-size:9px}.attendance-assignment-row__form{grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;display:grid}.attendance-assignment-row__form label{gap:4px;display:grid}.attendance-assignment-row__form select{color:#17344f;min-width:0;height:38px;font:9px var(--font-ui);background:#fff;border:1px solid #d4dfe8;border-radius:10px;padding:0 9px}.attendance-report-header{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:20px 26px;margin-bottom:16px;display:grid}.attendance-report-header__topbar{border-bottom:1px solid #e2e9ef;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding-bottom:13px;display:flex}.attendance-report-header__topbar .eyebrow{margin:0}.attendance-report-header .page-header__copy{grid-column:span 5;align-self:center;max-width:620px;padding:5px 0}.attendance-report-header .page-header__copy>p{max-width:590px}.attendance-report-header__selector{background:#f8fafc;border:1px solid #dce6ed;border-radius:8px;grid-column:span 7;align-content:center;gap:11px;min-width:0;padding:14px;display:grid}.attendance-report-header__selector>header{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.attendance-report-header__selector>header>span{color:#087ca5;background:#e4f4fa;border-radius:7px;place-items:center;width:34px;height:34px;display:grid}.attendance-report-header__selector>header>div{gap:1px;min-width:0;display:grid}.attendance-report-header__selector>header small{color:#718296;letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:750}.attendance-report-header__selector>header strong{color:#173a59;font-size:12px}.attendance-report-header__selector>header em{color:#28617f;background:#fff;border:1px solid #cce1eb;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:8px;font-style:normal;font-weight:750;display:inline-flex}.attendance-report-header__selector>header em i{background:#1595bd;border-radius:50%;width:6px;height:6px}.attendance-report-header .attendance-report-switch{gap:8px;margin:0}.attendance-report-header .attendance-report-switch__card{min-height:78px;box-shadow:none;background:#fff;border-radius:8px;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;padding:10px 12px;transform:none}.attendance-report-header .attendance-report-switch__card:hover{box-shadow:none;background:#f3f9fc;border-color:#8fbfd3;transform:none}.attendance-report-header .attendance-report-switch__card.is-active{background:#edf8fc;border-color:#168bb5;box-shadow:inset 3px 0 #168bb5,inset 0 0 0 1px #168bb514}.attendance-report-header .attendance-report-switch__card--staff.is-active{background:#f3f0ff;border-color:#7054c5;box-shadow:inset 3px 0 #7054c5,inset 0 0 0 1px #7054c514}.attendance-report-header .attendance-report-switch__icon{border-radius:7px;width:42px;height:42px;font-size:15px}.attendance-report-header .attendance-report-switch__card span:nth-child(2){gap:3px}.attendance-report-header .attendance-report-switch__card strong{font-size:13px;line-height:1.15}.attendance-report-header .attendance-report-switch__card small{color:#6c7d8e;letter-spacing:0;font-size:8px;font-weight:600;line-height:1.25}.attendance-report-header .attendance-report-switch__card b{font-size:8px}.attendance-report-switch__state{color:#7f94a6;justify-items:center;gap:3px;display:grid}.attendance-report-switch__state i{font-size:11px}.attendance-report-switch__state small{font-size:7px!important;font-weight:750!important}.attendance-report-header .attendance-report-switch__card.is-active .attendance-report-switch__state{color:#168bb5}.attendance-report-header .attendance-report-switch__card--staff.is-active .attendance-report-switch__state{color:#7054c5}.attendance-report-header__navigation{justify-content:flex-end;align-items:center;gap:8px;display:flex}.attendance-report-header__navigation .button{min-height:34px;padding:7px 11px}.attendance-report-header__back{color:#123f61;background:0 0}@media (width<=1050px){.attendance-report-header .page-header__copy,.attendance-report-header__selector{grid-column:1/-1}.attendance-report-header .page-header__copy{max-width:760px}}@media (width<=680px){.attendance-report-header{gap:16px;padding:18px}.attendance-report-header__topbar{align-items:flex-start}.attendance-report-header__selector{padding:11px}.attendance-report-header__selector>header em{display:none}.attendance-report-header .attendance-report-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-report-header .attendance-report-switch__card{grid-template-columns:36px minmax(0,1fr) auto;min-height:66px;padding:8px}.attendance-report-header .attendance-report-switch__icon{width:36px;height:36px}.attendance-report-header .attendance-report-switch__card b{display:none}}@media (width<=480px){.attendance-report-header__topbar{gap:8px}.attendance-report-header__navigation{flex-wrap:wrap}.attendance-report-header__navigation .button{min-height:32px;padding:6px 9px;font-size:10px}.attendance-report-header__selector>header{grid-template-columns:30px minmax(0,1fr)}.attendance-report-header__selector>header>span{width:30px;height:30px}.attendance-report-header .attendance-report-switch__card{grid-template-columns:32px minmax(0,1fr) auto;gap:7px;min-height:58px}.attendance-report-header .attendance-report-switch__icon{width:32px;height:32px;font-size:13px}.attendance-report-header .attendance-report-switch__card span:nth-child(2)>small,.attendance-report-switch__state small{display:none}}@media (width<=360px){.attendance-report-header{padding:16px}.attendance-report-header .attendance-report-switch__card{grid-template-columns:28px minmax(0,1fr);gap:5px;padding:7px}.attendance-report-header .attendance-report-switch__icon{width:28px;height:28px;font-size:12px}.attendance-report-header .attendance-report-switch__card strong{font-size:11px}.attendance-report-header .attendance-report-switch__state{display:none}}@media print{.attendance-report-header__selector,.attendance-report-header__topbar{display:none!important}}.attendance-report-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.attendance-report-switch__card{color:inherit;background:#fff;border:1px solid #d9e5ed;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;box-shadow:0 9px 26px #0b28460e}.attendance-report-switch__card:hover{border-color:#75c8e7;transform:translateY(-2px);box-shadow:0 15px 32px #0b375b1a}.attendance-report-switch__card.is-active{background:linear-gradient(135deg,#f4fbfe,#fff);border-color:#34a8d5;box-shadow:inset 0 0 0 1px #a5def1,0 13px 30px #10779e1a}.attendance-report-switch__card--staff.is-active{background:linear-gradient(135deg,#f8f6ff,#fff);border-color:#8068d8;box-shadow:inset 0 0 0 1px #cfc5f5,0 13px 30px #5e46af1a}.attendance-report-switch__icon{color:#087da9;background:#e6f6fc;border-radius:15px;place-items:center;width:48px;height:48px;font-size:18px;display:grid}.attendance-report-switch__card--staff .attendance-report-switch__icon{color:#6848cc;background:#efebff}.attendance-report-switch__card span:nth-child(2){gap:2px;display:grid}.attendance-report-switch__card small{color:#748397;letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:800}.attendance-report-switch__card strong{color:#0b2848;font-family:var(--font-display);font-size:15px}.attendance-report-switch__card b{color:#68788d;font-size:9px;font-weight:500}.attendance-report-switch__card>i{color:#80a0b8;font-size:11px}.attendance-report-filter{margin-bottom:14px;padding:15px}.attendance-report-filter form{grid-template-columns:145px 145px 1fr minmax(210px,1.4fr) auto auto;align-items:end;gap:9px;display:grid}.attendance-report-filter .form-field{gap:5px}.attendance-report-filter .form-field>span{color:#607187;text-transform:uppercase;font-size:8px;font-weight:800}.attendance-report-filter input,.attendance-report-filter select{height:40px}.attendance-report-filter .search-control{max-width:none}.attendance-report-filter .form-error{color:#b91c1c;margin:9px 0 0;font-size:9px}.attendance-report-summary article{padding:14px 16px}.attendance-report-summary article>span{flex-basis:38px;width:38px;height:38px}.attendance-report-summary strong{margin-top:1px;font-size:20px}.attendance-matrix-panel{scroll-margin-top:88px;overflow:hidden}.attendance-matrix-panel__count{color:#17658c;background:#e7f6fc;border-radius:999px;padding:7px 11px;font-size:9px;font-weight:800}.attendance-matrix-wrap{scrollbar-color:#9eb5c6 #eef3f6;border-top:1px solid #e7edf2;max-width:100%;overflow:auto}.attendance-matrix{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.attendance-matrix th,.attendance-matrix td{vertical-align:middle;border-bottom:1px solid #e9eef3;border-right:1px solid #e9eef3;min-width:118px;padding:11px}.attendance-matrix th{z-index:2;color:#5c6f82;text-align:center;background:#f5f8fa;position:sticky;top:0}.attendance-matrix th small,.attendance-matrix th strong{display:block}.attendance-matrix th small{letter-spacing:.08em;font-size:8px}.attendance-matrix th strong{color:#173955;margin-top:2px;font-size:10px}.attendance-matrix .attendance-matrix__person{z-index:3;text-align:left;background:#fff;min-width:285px;max-width:285px;position:sticky;left:0}.attendance-matrix thead .attendance-matrix__person{z-index:5;background:#f5f8fa}.attendance-matrix .attendance-matrix__shift{z-index:3;text-align:left;background:#fbfcfd;min-width:175px;max-width:175px;position:sticky;left:285px;box-shadow:8px 0 13px #102d490b}.attendance-matrix thead .attendance-matrix__shift{z-index:5;text-align:center;background:#f5f8fa}.attendance-matrix tbody tr:hover td{background-color:#f9fcfe}.attendance-matrix tbody tr:hover .attendance-matrix__person,.attendance-matrix tbody tr:hover .attendance-matrix__shift{background-color:#f5fafd}.attendance-matrix__shift>strong{color:#143c5d;margin-bottom:5px;font-size:10px;display:block}.attendance-matrix__shift>span:not(.badge){color:#526a80;align-items:center;gap:5px;margin-top:3px;font-size:8px;display:flex}.attendance-matrix__shift>span i{color:#239cc7;width:11px}.attendance-matrix__shift>span small{color:#a15b0b}.attendance-matrix__shift>a{color:#087ea9;margin-top:6px;font-size:8px;font-weight:800;display:block}.attendance-day-cell{text-align:center;background:#fff}.attendance-day-cell.is-today,.attendance-matrix th.is-today{background:#f0f9fd;box-shadow:inset 2px 0 #39a9db,inset -2px 0 #39a9db}.attendance-day-cell__time{color:#64778b;align-items:center;gap:4px;margin:0 3px 7px;font-size:9px;display:inline-flex}.attendance-day-cell__time:first-child i{color:#1192bf}.attendance-day-cell__time:nth-child(2) i{color:#8060d6}.attendance-day-cell__time b{color:#173a57;font-size:10px}.attendance-day-cell>.badge{white-space:normal;text-align:center;justify-content:center;width:max-content;max-width:108px;margin:0 auto;display:flex}.attendance-day-cell__early{color:#b45309;margin-top:5px;font-size:7px;font-weight:750;display:block}.attendance-report-empty{padding:54px 20px}@media (width<=1100px){.attendance-assignment-row{grid-template-columns:1fr 1fr}.attendance-assignment-row__form{grid-column:1/-1}.attendance-report-filter form{grid-template-columns:repeat(3,1fr)}.attendance-report-filter__search{grid-column:span 2}}@media (width<=760px){.attendance-config-summary,.attendance-report-summary,.attendance-shift-grid,.attendance-report-switch{grid-template-columns:1fr}.attendance-assignment-panel .panel__header{align-items:stretch}.attendance-assignment-row{grid-template-columns:1fr;gap:10px}.attendance-assignment-row__form{grid-column:auto;grid-template-columns:1fr}.attendance-report-filter form{grid-template-columns:1fr 1fr}.attendance-report-filter__search{grid-column:1/-1}.attendance-matrix .attendance-matrix__person{min-width:230px;max-width:230px}.attendance-matrix .attendance-matrix__shift{min-width:150px;max-width:150px;box-shadow:none;position:static}}@media print{.attendance-matrix-wrap{overflow:visible}.attendance-matrix{width:100%;font-size:7px}.attendance-matrix .attendance-matrix__person,.attendance-matrix .attendance-matrix__shift,.attendance-matrix th{min-width:auto;box-shadow:none;position:static}}.attendance-report-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.attendance-report-summary article{min-height:78px;padding:14px;position:relative;overflow:hidden}.attendance-report-summary article:after{content:"";border:9px solid #1385b10f;border-radius:50%;width:54px;height:54px;position:absolute;bottom:-29px;right:-23px}.attendance-report-summary .is-justified{background:linear-gradient(145deg,#fff,#f7f5ff);border-color:#d9d2fa}.attendance-report-summary .is-justified>span{color:#6746c8;background:#eee9ff}.attendance-report-summary .is-corrected{background:linear-gradient(145deg,#fff,#f1fbfd);border-color:#bde5ef}.attendance-report-summary .is-corrected>span{color:#087c9e;background:#ddf5fa}.attendance-matrix-panel__header{grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:20px;display:grid}.attendance-report-legend{flex-wrap:wrap;justify-content:center;gap:8px 13px;display:flex}.attendance-report-legend span{color:#66788b;align-items:center;gap:5px;font-size:8px;font-weight:750;display:inline-flex}.attendance-report-legend i{background:#aebbc6;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #f0f3f5}.attendance-report-legend .is-present{background:#1c9b71;box-shadow:0 0 0 3px #e0f6ed}.attendance-report-legend .is-late{background:#d48714;box-shadow:0 0 0 3px #fff2d9}.attendance-report-legend .is-justified{background:#7654d7;box-shadow:0 0 0 3px #eee9ff}.attendance-report-legend .is-missing{background:#202a32;box-shadow:0 0 0 3px #e2e7ea}.attendance-report-legend .is-unmarked{background:#94a3b8;box-shadow:0 0 0 3px #eef2f6}.attendance-report-legend .is-extra{background:#278bc5;box-shadow:0 0 0 3px #dff2fb}.attendance-report-legend .is-unassigned{background:#7f96a6;box-shadow:0 0 0 3px #e9eff3}.attendance-report-legend .is-annulled{background:#d24b58;box-shadow:0 0 0 3px #fdecee}.attendance-matrix th,.attendance-matrix td{min-width:150px;padding:8px}.attendance-matrix th{height:58px}.attendance-matrix th b{color:#087ca5;letter-spacing:.08em;background:#dff5fc;border-radius:999px;margin-top:4px;padding:2px 5px;font-size:6px;display:inline-block}.attendance-matrix tbody tr:nth-child(2n)>td:not(.attendance-matrix__person,.attendance-matrix__shift){background:#fbfcfd}.attendance-shift-compact{gap:4px;display:grid}.attendance-shift-compact strong{color:#133c5b;font-size:10px}.attendance-shift-compact span{color:#375872;font-size:9px;font-weight:800}.attendance-shift-compact span i{color:#80a4b9;margin:0 3px;font-size:7px}.attendance-shift-compact small{color:#8a6421;font-size:7px;font-weight:700}.attendance-row-stats{gap:6px;margin-top:9px;display:flex}.attendance-row-stats span{color:#758498;white-space:nowrap;background:#f7f9fb;border:1px solid #e2eaf0;border-radius:7px;padding:4px 6px;font-size:6.5px}.attendance-row-stats b{color:#183d5c;font-size:8px}.attendance-day-cell{padding:6px!important}.attendance-grid-card{color:#173650;width:100%;min-height:105px;font:inherit;text-align:left;background:#fff;border:1px solid #e1e8ee;border-left:3px solid #a9b7c3;border-radius:11px;align-content:start;gap:7px;padding:9px 10px 10px;transition:border-color .17s,box-shadow .17s,transform .17s,background .17s;display:grid;box-shadow:0 3px 11px #14304909}.attendance-grid-card:not(:disabled){cursor:pointer}.attendance-grid-card:not(:disabled):hover{z-index:1;border-color:#8bcce2;transform:translateY(-2px);box-shadow:0 9px 20px #164d6c1f}.attendance-grid-card:not(:disabled):focus-visible{outline-offset:1px;outline:3px solid #1897c538}.attendance-grid-card:disabled{cursor:not-allowed;opacity:.64}.attendance-grid-card.is-present{background:linear-gradient(145deg,#f7fdfb,#eaf8f1);border-left-color:#15966a}.attendance-grid-card.is-late{background:linear-gradient(145deg,#fffdf7,#fff3d8);border-left-color:#d58a16}.attendance-grid-card.is-missing{color:#fff;background:linear-gradient(145deg,#303d46,#151c22);border-style:dashed dashed dashed solid;border-color:#202a32 #202a32 #202a32 #080c0f}.attendance-grid-card.is-annulled{background:linear-gradient(145deg,#fff,#fff0f1);border-left-color:#d0525e}.attendance-grid-card.is-unmarked{background:linear-gradient(145deg,#fff,#f5f8fa);border-left-color:#94a3b8}.attendance-grid-card.is-justified{background:linear-gradient(145deg,#fff,#f8f6ff);border-left-color:#7655d5}.attendance-grid-card__top{color:#8593a2;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:5px;min-height:14px;font-size:6.5px;font-weight:850;display:flex}.attendance-grid-card.is-adjusted .attendance-grid-card__top{color:#117b9d}.attendance-grid-card.is-missing .attendance-grid-card__top{color:#dce5ea}.attendance-grid-card.is-annulled .attendance-grid-card__top{color:#b5424e}.attendance-grid-card__top i{color:#278eae;opacity:0;background:#e8f7fb;border-radius:6px;place-items:center;width:20px;height:20px;font-size:7px;transition:opacity .17s;display:grid}.attendance-grid-card:hover .attendance-grid-card__top i,.attendance-grid-card:focus-visible .attendance-grid-card__top i{opacity:1}.attendance-grid-card__timeline{grid-template-columns:1fr 12px 1fr;align-items:end;gap:4px;display:grid}.attendance-grid-card__timeline>span{gap:2px;display:grid}.attendance-grid-card__timeline small{color:#8593a2;font-size:6.5px;font-weight:700}.attendance-grid-card__timeline b{color:#173b58;font-size:12px}.attendance-grid-card__timeline>i{background:#ced9e1;height:1px;margin-bottom:6px;position:relative}.attendance-grid-card__timeline>i:after{content:"";background:#93a9b8;border-radius:50%;width:4px;height:4px;position:absolute;top:-1.5px;right:-1px}.attendance-grid-card__state{color:#617285;background:#eef2f5;border-radius:999px;width:max-content;max-width:100%;padding:3px 7px;font-size:7px;line-height:1.25}.attendance-grid-card.is-present .attendance-grid-card__state{color:#08704e;background:#dcf5e9}.attendance-grid-card.is-late .attendance-grid-card__state{color:#9b5b09;background:#fff0d1}.attendance-grid-card.is-missing .attendance-grid-card__timeline small{color:#b9c6ce}.attendance-grid-card.is-missing .attendance-grid-card__timeline b{color:#fff}.attendance-grid-card.is-missing .attendance-grid-card__timeline>i{background:#71808a}.attendance-grid-card.is-missing .attendance-grid-card__timeline>i:after{background:#cad3d9}.attendance-grid-card.is-missing .attendance-grid-card__state{color:#fff;background:#080c0f}.attendance-grid-card.is-unmarked .attendance-grid-card__state{color:#536779;background:#e7edf2}.attendance-grid-card.is-annulled .attendance-grid-card__state{color:#ad3542;background:#fde8ea}.attendance-grid-card__note{color:#a9650d;font-size:6.5px;font-weight:750}.attendance-grid-card__justification{grid-template-columns:27px 1fr;align-items:center;gap:7px;min-height:57px;display:grid}.attendance-grid-card__justification i{color:#6744c7;background:#ede8ff;border-radius:9px;place-items:center;width:27px;height:27px;font-size:10px;display:grid}.attendance-grid-card__justification b{color:#5039a2;font-size:8px;line-height:1.35}.attendance-shift-compact-list{gap:7px;display:grid}.attendance-shift-compact-list .attendance-shift-compact+.attendance-shift-compact{border-top:1px solid #e4ebf0;padding-top:7px}.attendance-shift-day-stack{gap:6px;display:grid}.attendance-shift-day-stack:has(.attendance-grid-card+.attendance-grid-card) .attendance-grid-card{min-height:99px}.attendance-adjustment-dialog{width:min(840px,100vw - 28px);max-height:min(92vh,780px)}.attendance-adjustment-dialog__header{background:linear-gradient(130deg,#f8fcfe,#fff 58%,#f8f6ff);grid-template-columns:48px minmax(0,1fr) 34px;align-items:center;gap:14px;padding:22px 24px 18px;display:grid}.attendance-adjustment-dialog__icon{color:#087ca4;background:linear-gradient(145deg,#dff5fb,#eef9fd);border-radius:15px;place-items:center;width:48px;height:48px;font-size:17px;display:grid;box-shadow:inset 0 0 0 1px #c3e8f2}.attendance-adjustment-dialog__header h2{font-size:18px}.attendance-adjustment-dialog__body{gap:17px;padding:20px 24px;display:grid}.attendance-adjustment-mode{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.attendance-adjustment-mode label{cursor:pointer;position:relative}.attendance-adjustment-mode input{opacity:0;pointer-events:none;position:absolute}.attendance-adjustment-mode label>span{background:#fafcfd;border:1px solid #dce6ed;border-radius:13px;grid-template-rows:auto auto;grid-template-columns:34px 1fr;align-content:center;column-gap:10px;min-height:78px;padding:13px 14px;transition:border-color .16s,background .16s,box-shadow .16s;display:grid}.attendance-adjustment-mode label>span>i{color:#2786a8;background:#e7f5fa;border-radius:10px;grid-row:1/3;align-self:center;place-items:center;width:34px;height:34px;display:grid}.attendance-adjustment-mode label b{color:#173955;align-self:end;font-size:10px}.attendance-adjustment-mode label small{color:#738296;align-self:start;font-size:8px;line-height:1.4}.attendance-adjustment-mode input:checked+span{background:#f4fbfd;border-color:#4bacce;box-shadow:inset 0 0 0 1px #9ed9e9,0 6px 16px #197a9e14}.attendance-adjustment-mode label:nth-child(2) input:checked+span{background:#f8f6ff;border-color:#8c76dc;box-shadow:inset 0 0 0 1px #c9bff1,0 6px 16px #5e46af14}.attendance-adjustment-mode label:nth-child(2)>span>i{color:#6746c8;background:#eee9ff}.attendance-adjustment-dialog.is-advanced-editor{width:min(980px,100vw - 24px);height:min(760px,100dvh - 20px);max-height:calc(100dvh - 20px);overflow:hidden}.attendance-adjustment-dialog.is-advanced-editor>[data-attendance-adjustment-form]{grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;display:grid;overflow:hidden}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__header{z-index:3;background:#fff;grid-template-columns:48px minmax(0,1fr) 44px;gap:14px;padding:18px 24px 16px;position:relative}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__header .eyebrow{letter-spacing:.12em;font-size:10px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__header h2{margin-top:4px;font-size:22px;line-height:1.2}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__header p{margin-top:6px;font-size:12px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__header .icon-button{width:44px;height:44px;font-size:16px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__body{overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;gap:14px;min-height:0;padding:17px 24px 20px;overflow:hidden auto}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-mode{gap:12px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-mode label>span{border-radius:14px;grid-template-columns:40px minmax(0,1fr);column-gap:12px;min-height:82px;padding:13px 16px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-mode label>span>i{border-radius:11px;width:40px;height:40px;font-size:14px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-mode label b{font-size:13px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-mode label small{font-size:10px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-context{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:13px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-context>span:first-child{display:none}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-context>span{grid-template-columns:36px minmax(0,1fr);column-gap:10px;min-height:64px;padding:11px 13px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-context i{border-radius:10px;width:36px;height:36px;font-size:12px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-context small{font-size:8px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-context b{font-size:11px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-times{gap:18px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-times .form-field{gap:7px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-times .form-field>span,.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-reason>span,.attendance-adjustment-dialog.is-advanced-editor [data-adjustment-justification-section] .form-field>span{color:#173b58;font-size:13px;font-weight:800}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-times .form-field>small{font-size:9px;line-height:1.4}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-reason{gap:7px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-reason textarea{min-height:92px;padding:13px 15px;font-size:14px;line-height:1.45}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-reason>small{font-size:9px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-audit{display:none}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__footer{z-index:4;background:#f7fafc;border-top:1px solid #d8e4eb;justify-content:flex-end;align-items:center;gap:10px;min-height:72px;padding:12px 24px;display:flex;position:relative;box-shadow:0 -7px 20px #0b315412}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__footer>span{display:none}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__footer .button{justify-content:center;width:auto;min-height:46px;font-size:13px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__footer .button--ghost{min-width:104px;padding-inline:16px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__footer .button--primary{min-width:172px;padding-inline:20px}.attendance-adjustment-dialog.is-quick-editor{width:min(900px,100vw - 40px);max-height:min(92vh,620px)}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-mode{display:none}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__header{grid-template-columns:minmax(0,1fr) 46px;padding:24px 28px 20px}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__icon{display:none}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__header .eyebrow{letter-spacing:.12em;font-size:10px}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__header h2{margin-top:6px;font-size:23px;line-height:1.2}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__header p{margin-top:7px;font-size:12px;line-height:1.4}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__header .icon-button{border-radius:11px;width:46px;height:46px;font-size:16px}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__body{gap:0;padding:20px 28px 26px}.attendance-adjustment-dialog.is-quick-editor [data-adjustment-correction-section],.attendance-adjustment-dialog.is-quick-editor [data-adjustment-justification-section],.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-remove,.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-reason,.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-audit,.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__footer{display:none}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status{background:0 0;border:0;gap:12px;margin:0;padding:0}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status>header{justify-content:flex-end}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status>header button{border-radius:10px;min-height:42px;padding:9px 13px;font-size:10px}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status__options{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status__options>button{text-align:center;border-radius:14px;grid-template-columns:1fr;place-items:center;gap:10px;min-height:116px;padding:15px 10px}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status__options>button>i{border-radius:12px;width:44px;height:44px;font-size:15px}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status__options>button>span{display:block}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status__options>button b{font-size:13.5px;line-height:1.3}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status__options>button.is-saving i{animation:.75s linear infinite student-import-progress-spin}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status__options>button.is-saving i:before{content:""}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status__options>button:disabled{cursor:wait;opacity:.55}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status__options>button.is-saving{opacity:1}.attendance-adjustment-dialog.is-guided-editor{width:min(900px,100vw - 40px);max-height:min(92vh,720px)}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-mode,.attendance-adjustment-dialog.is-guided-editor [data-adjustment-justification-section],.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-remove,.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-reason,.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-audit,.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-source{display:none}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__header{grid-template-columns:minmax(0,1fr) 46px;padding:24px 28px 20px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__icon{display:none}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__header .eyebrow{letter-spacing:.12em;font-size:10px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__header h2{margin-top:6px;font-size:23px;line-height:1.2}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__header p{margin-top:7px;font-size:12px;line-height:1.4}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__header .icon-button{border-radius:11px;width:46px;height:46px;font-size:16px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__body{gap:18px;padding:20px 28px 24px}.attendance-adjustment-dialog.is-guided-editor .attendance-quick-status{background:0 0;border:0;gap:12px;margin:0;padding:0}.attendance-adjustment-dialog.is-guided-editor .attendance-quick-status>header{justify-content:flex-end}.attendance-adjustment-dialog.is-guided-editor .attendance-quick-status>header button{border-radius:10px;min-height:42px;padding:9px 13px;font-size:10px}.attendance-adjustment-dialog.is-guided-editor .attendance-quick-status__options{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.attendance-adjustment-dialog.is-guided-editor .attendance-quick-status__options>button{text-align:center;border-radius:14px;grid-template-columns:1fr;place-items:center;gap:9px;min-height:106px;padding:13px 9px}.attendance-adjustment-dialog.is-guided-editor .attendance-quick-status__options>button>i{border-radius:12px;width:42px;height:42px;font-size:15px}.attendance-adjustment-dialog.is-guided-editor .attendance-quick-status__options>button>span{display:block}.attendance-adjustment-dialog.is-guided-editor .attendance-quick-status__options>button b{font-size:13px;line-height:1.3}.attendance-adjustment-dialog.is-guided-editor [data-adjustment-correction-section]{border-top:1px solid #dce7ed;padding-top:18px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-context{display:none}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-times{gap:14px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-times .form-field{gap:7px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-times .form-field>span{color:#183b57;font-size:13px;font-weight:800}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-times input{border-radius:11px;min-height:58px;padding:10px 14px;font-size:18px;font-weight:750}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-times .form-field small{font-size:10px;line-height:1.4}dialog.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__footer,.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__footer>[data-adjustment-restore],.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__footer>span{display:none}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__footer .button{justify-content:center;min-height:48px;padding-inline:20px;font-size:13px}.attendance-guided-autosave{color:#174766;background:#f1f9fc;border:1px solid #cfe4ed;border-radius:12px;align-items:center;gap:12px;min-height:54px;padding:11px 14px;display:flex}.attendance-guided-autosave[hidden]{display:none}.attendance-guided-autosave>i{color:#087eaa;background:#dff3fa;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.attendance-guided-autosave>span{gap:2px;min-width:0;display:grid}.attendance-guided-autosave b{font-size:12px}.attendance-guided-autosave small{color:#5f7587;font-size:10px;line-height:1.35}.attendance-guided-autosave[data-state=saving]>i{color:#2663a5;background:#e5efff}.attendance-guided-autosave[data-state=saved]{background:#effbf5;border-color:#aee4cb}.attendance-guided-autosave[data-state=saved]>i{color:#087e59;background:#d8f5e7}.attendance-guided-autosave[data-state=error]{background:#fff4f4;border-color:#f0b9b9}.attendance-guided-autosave[data-state=error]>i{color:#bd2f39;background:#ffe0e0}.attendance-quick-status{background:linear-gradient(135deg,#f5fbfd,#fbfdfe);border:1px solid #cfe2eb;border-radius:12px;gap:9px;margin-bottom:12px;padding:11px;display:grid}.attendance-quick-status[hidden]{display:none}.attendance-quick-status>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-quick-status>header>span{gap:2px;display:grid}.attendance-quick-status>header b{color:#123d5b;font-size:10px}.attendance-quick-status>header small{color:#718396;font-size:7px}.attendance-quick-status>header button{color:#446278;min-height:32px;font:750 7px var(--font-ui);cursor:pointer;background:#fff;border:1px solid #d4e2e9;border-radius:8px;align-items:center;gap:6px;padding:6px 9px;display:inline-flex}.attendance-quick-status__options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.attendance-quick-status__options>button{color:#496277;min-height:54px;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #dce6eb;border-radius:10px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:grid}.attendance-quick-status__options>button:hover{border-color:#92bdce;transform:translateY(-1px)}.attendance-quick-status__options>button:focus-visible{outline-offset:1px;outline:3px solid #1897c533}.attendance-quick-status__options>button>i{color:#397d98;background:#e8f4f8;border-radius:9px;place-items:center;width:30px;height:30px;font-size:10px;display:grid}.attendance-quick-status__options>button>span{gap:2px;display:grid}.attendance-quick-status__options>button b{color:#173b56;font-size:9px}.attendance-quick-status__options>button small{color:#77889a;font-size:6.5px;line-height:1.35}.attendance-quick-status__options>button[data-quick-status=Presente][aria-pressed=true]{background:#effaf5;border-color:#5fba98;box-shadow:inset 0 0 0 1px #a9dcc8}.attendance-quick-status__options>button[data-quick-status=Presente][aria-pressed=true]>i{color:#087251;background:#d8f2e6}.attendance-quick-status__options>button[data-quick-status=Tardanza][aria-pressed=true]{background:#fff9ec;border-color:#e0aa53;box-shadow:inset 0 0 0 1px #f0d39b}.attendance-quick-status__options>button[data-quick-status=Tardanza][aria-pressed=true]>i{color:#9b5c08;background:#ffedc7}.attendance-quick-status__options>button[data-quick-status=Falta][aria-pressed=true]{background:#fff4f5;border-color:#df7d88;box-shadow:inset 0 0 0 1px #efb7bd}.attendance-quick-status__options>button[data-quick-status=Falta][aria-pressed=true]>i{color:#ad3542;background:#fbe1e4}.attendance-quick-status__options>button[data-quick-status=SinRegistro][aria-pressed=true]{background:#f4f7f9;border-color:#8499aa;box-shadow:inset 0 0 0 1px #c1cdd5}.attendance-quick-status__options>button[data-quick-status=SinRegistro][aria-pressed=true]>i{color:#496274;background:#e2e9ee}.attendance-quick-status>p{color:#587084;margin:0;font-size:7px;line-height:1.4}.attendance-adjustment-context{grid-template-columns:1.25fr .85fr .9fr;gap:8px;margin-bottom:13px;display:grid}.attendance-adjustment-context>span{background:#f8fafc;border:1px solid #e1e9ef;border-radius:11px;grid-template-rows:auto auto;grid-template-columns:28px 1fr;align-items:center;column-gap:8px;padding:10px;display:grid}.attendance-adjustment-context i{color:#3387a7;background:#e7f5fa;border-radius:8px;grid-row:1/3;place-items:center;width:28px;height:28px;font-size:10px;display:grid}.attendance-adjustment-context small{color:#7b8998;text-transform:uppercase;font-size:6.5px;font-weight:750}.attendance-adjustment-context b{color:#173b58;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.attendance-adjustment-preview b.is-present{color:#0b815a}.attendance-adjustment-preview b.is-late{color:#a8650d}.attendance-adjustment-preview b.is-empty{color:#9b4650}.attendance-adjustment-times .form-field small{color:#82909f;font-size:7px}.attendance-adjustment-source{color:#627488;background:#f7fafc;border:1px solid #dce8ee;border-radius:10px;align-items:center;gap:9px;margin-top:10px;padding:9px 11px;display:flex}.attendance-adjustment-source>i{color:#3990ad}.attendance-adjustment-source span{gap:2px;display:grid}.attendance-adjustment-source small{text-transform:uppercase;font-size:6.5px;font-weight:800}.attendance-adjustment-source b{color:#244964;font-size:8px}.attendance-adjustment-remove{background:#fff9f9;border:1px solid #eccbd0;border-radius:10px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;display:grid}.attendance-adjustment-remove[hidden]{display:none}.attendance-adjustment-remove__icon{color:#b74753;background:#fde8ea;border-radius:8px;place-items:center;width:30px;height:30px;font-size:10px;display:grid}.attendance-adjustment-remove>div{gap:1px;display:grid}.attendance-adjustment-remove>div b{color:#7f3039;font-size:8.5px}.attendance-adjustment-remove>div small{color:#83646a;font-size:6.5px;line-height:1.35}.attendance-adjustment-remove>button{color:#a83340;min-height:34px;font:800 7px var(--font-ui);white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d76e79;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 9px;display:inline-flex}.attendance-adjustment-remove>button:hover{background:#fff1f2}.attendance-adjustment-remove>button:focus-visible{outline-offset:1px;outline:3px solid #d0525e33}.attendance-adjustment-remove.is-selected{background:#fff1f2;border-color:#dc6874;box-shadow:inset 0 0 0 1px #f1aab1}.attendance-adjustment-remove.is-selected>button{color:#fff;background:#b83d49}.attendance-adjustment-reason{gap:5px;display:grid}.attendance-adjustment-reason textarea{resize:vertical;min-height:82px}.attendance-adjustment-reason>small{color:#82909e;justify-self:end;font-size:7px}.attendance-adjustment-dialog .form-error{color:#b72736;margin:3px 0 0;font-size:7px;display:block}.attendance-adjustment-error{color:#ad2f3b;background:#fff5f5;border:1px solid #f4c4c8;border-radius:10px;align-items:center;gap:7px;margin:0;padding:10px 12px;font-size:8px;display:flex}.attendance-adjustment-audit{background:linear-gradient(120deg,#f4fafc,#fafcff);border:1px solid #d9e8ee;border-radius:11px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.attendance-adjustment-audit>i{color:#087b9d;background:#ddf3f8;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.attendance-adjustment-audit span{gap:2px;display:grid}.attendance-adjustment-audit strong{color:#173b58;font-size:9px}.attendance-adjustment-audit small{color:#708195;font-size:7.5px;line-height:1.45}.attendance-adjustment-audit>b{color:#5d6e81;font-size:7px}.attendance-adjustment-dialog__footer{grid-template-columns:auto 1fr auto auto;align-items:center;display:grid}@media (width<=1250px){.attendance-report-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-matrix-panel__header{grid-template-columns:1fr auto}.attendance-report-legend{grid-area:2/1/auto/-1;justify-content:flex-start}}@media (width<=760px){.attendance-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-matrix-panel__header{grid-template-columns:1fr}.attendance-report-legend{grid-area:auto}.attendance-matrix-panel__count{justify-self:start}.attendance-adjustment-dialog__header{grid-template-columns:42px minmax(0,1fr) 32px;padding:18px}.attendance-adjustment-dialog__icon{width:42px;height:42px}.attendance-adjustment-dialog__body{padding:17px}.attendance-quick-status__options>button{min-height:58px;padding:8px}.attendance-adjustment-remove{grid-template-columns:30px minmax(0,1fr)}.attendance-adjustment-remove>button{grid-column:1/-1;min-height:40px}.attendance-adjustment-mode,.attendance-adjustment-context{grid-template-columns:1fr}.attendance-adjustment-dialog__footer{grid-template-columns:1fr 1fr}.attendance-adjustment-dialog__footer>span{display:none}.attendance-adjustment-dialog__footer .button{justify-content:center}}@media (width<=430px){.attendance-report-summary,.attendance-adjustment-dialog__footer{grid-template-columns:1fr}.attendance-quick-status>header{flex-direction:column;align-items:flex-start}.attendance-quick-status>header button{justify-content:center;width:100%}.attendance-quick-status__options{grid-template-columns:1fr}}.attendance-reference-panel{margin-bottom:18px;overflow:hidden}.attendance-reference-panel .panel__header{align-items:center}.attendance-shift-grid--references{background:#f7f9fb;border-top:1px solid #e8eef2;margin:0;padding:16px 18px 19px}.attendance-shift-grid--references .attendance-shift-card{padding:17px;box-shadow:0 7px 20px #0d2c4c0e}.attendance-assignment-panel--individual .panel__header{align-items:center}.attendance-assignment-row--individual{grid-template-columns:255px minmax(0,1fr);align-items:stretch;gap:0;padding:0;display:grid}.attendance-worker-summary{background:linear-gradient(150deg,#fbfdfe,#f5f9fb);border-right:1px solid #e6edf2;align-content:start;gap:18px;padding:22px;display:grid}.attendance-worker-summary__status{gap:5px;display:grid}.attendance-worker-summary__status>small{color:#788798;letter-spacing:.06em;text-transform:uppercase;font-size:7px;font-weight:800}.attendance-worker-summary__status>strong{color:#173a58;font-size:10px}.attendance-worker-shift-chips{gap:5px;margin-top:4px;display:grid}.attendance-worker-shift-chips span{color:#426178;background:#fff;border:1px solid #dce8ee;border-radius:8px;align-items:center;gap:5px;padding:6px 8px;font-size:7px;display:flex}.attendance-worker-shift-chips i{color:#1395bf}.attendance-worker-shift-chips b{color:#173b58;margin-left:auto;font-size:8px}.attendance-individual-form{grid-template-columns:210px minmax(0,1fr);gap:16px 19px;padding:19px 20px;display:grid}.attendance-individual-form__site{align-self:start}.employee-shift-picker{border:0;min-width:0;margin:0;padding:0}.employee-shift-picker>legend{color:#173955;padding:0;font-size:9px;font-weight:850}.employee-shift-picker>p{color:#748397;margin:3px 0 9px;font-size:7.5px}.employee-shift-picker__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.employee-shift-option{background:#fafcfd;border:1px solid #dfe7ed;border-radius:12px;gap:9px;padding:11px;transition:border-color .16s,background .16s,box-shadow .16s;display:grid}.employee-shift-option:has(.employee-shift-option__toggle input:checked){background:#f4fbfd;border-color:#62b9d5;box-shadow:inset 0 0 0 1px #b7e2ed}.employee-shift-option__toggle{cursor:pointer;grid-template-rows:auto auto;grid-template-columns:24px 1fr auto;align-items:center;column-gap:8px;display:grid}.employee-shift-option__toggle input{opacity:0;pointer-events:none;position:absolute}.employee-shift-option__toggle>span{color:#0000;background:#fff;border:1px solid #cedae2;border-radius:7px;grid-row:1/3;place-items:center;width:24px;height:24px;display:grid}.employee-shift-option__toggle input:checked+span{color:#fff;background:#128ab3;border-color:#128ab3}.employee-shift-option__toggle b{color:#173a58;font-size:9px}.employee-shift-option__toggle small{color:#7b8998;grid-column:2;font-size:6.5px}.employee-shift-option__times{grid-template-columns:1fr 1fr .8fr;gap:6px;display:grid}.employee-shift-option__times label{gap:3px;display:grid}.employee-shift-option__times label>span{color:#7c8997;text-transform:uppercase;font-size:6px;font-weight:800}.employee-shift-option__times input{color:#173a58;width:100%;min-width:0;height:32px;font:8px var(--font-ui);background:#fff;border:1px solid #d7e1e8;border-radius:8px;padding:0 6px}.employee-shift-option__times label>div{position:relative}.employee-shift-option__times label>div input{padding-right:23px}.employee-shift-option__times label>div small{color:#82909e;pointer-events:none;font-size:6px;position:absolute;top:11px;right:6px}.attendance-individual-form__action{border-top:1px solid #e9eef2;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:15px;padding-top:12px;display:flex}.attendance-individual-form__action>span{color:#738297;margin-right:auto;font-size:7.5px}.attendance-individual-form__action>span i{color:#188fb5;margin-right:4px}@media (width<=1120px){.attendance-assignment-row--individual{grid-template-columns:1fr}.attendance-worker-summary{border-bottom:1px solid #e6edf2;border-right:0;grid-template-columns:1fr 1fr}}@media (width<=820px){.attendance-individual-form,.employee-shift-picker__grid{grid-template-columns:1fr}.attendance-individual-form__action{flex-direction:column;grid-column:auto;align-items:stretch}}@media (width<=560px){.attendance-worker-summary{grid-template-columns:1fr}.employee-shift-option__times{grid-template-columns:1fr 1fr}.employee-shift-option__times label:last-child{grid-column:1/-1}}.attendance-config-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-worker-pay-summary{gap:4px;margin-top:5px;display:grid}.attendance-worker-pay-summary span{color:#607489;align-items:center;gap:5px;font-size:7px;display:flex}.attendance-worker-pay-summary i{color:#5c56bf;text-align:center;width:12px}.attendance-individual-form__profile{align-content:start;gap:10px;display:grid}.attendance-pay-basis{background:linear-gradient(145deg,#fbfaff,#f7f6fd);border:1px solid #dedaf5;border-radius:12px;grid-template-columns:1fr;gap:8px;padding:11px;display:grid}.attendance-pay-basis header{align-items:center;gap:8px;display:flex}.attendance-pay-basis header>i{color:#6551c2;background:#ece8ff;border-radius:9px;place-items:center;width:29px;height:29px;display:grid}.attendance-pay-basis header span{gap:1px;display:grid}.attendance-pay-basis header b{color:#2d3154;font-size:8px}.attendance-pay-basis header small{color:#777b98;font-size:6px}.attendance-pay-basis .form-field{gap:3px}.attendance-pay-basis .form-field>span{color:#6c718d;text-transform:uppercase;font-size:6px;font-weight:800}.attendance-pay-basis select,.attendance-pay-basis input{color:#243c55;width:100%;height:34px;font:8px var(--font-ui);background:#fff;border:1px solid #d9d9e9;border-radius:8px}.attendance-pay-basis select{padding:0 8px}.employee-shift-option__days{border-top:1px solid #e1e9ee;gap:5px;padding-top:8px;display:grid}.employee-shift-option__days>span{color:#778795;letter-spacing:.04em;text-transform:uppercase;font-size:6px;font-weight:800}.employee-shift-option__days>div{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.employee-shift-option__days label{cursor:pointer}.employee-shift-option__days input{opacity:0;pointer-events:none;position:absolute}.employee-shift-option__days label span{color:#708294;background:#fff;border:1px solid #d7e1e7;border-radius:7px;place-items:center;height:27px;font-size:6.5px;font-weight:800;transition:all .15s;display:grid}.employee-shift-option__days input:checked+span{color:#fff;background:#168db5;border-color:#168db5;box-shadow:0 4px 9px #168db526}.attendance-shift-workdays{flex-wrap:wrap;gap:2px;display:flex}.attendance-shift-workdays span{color:#557084;background:#edf3f6;border-radius:4px;place-items:center;width:15px;height:15px;font-size:5.5px;font-weight:850;display:grid}.attendance-grid-card__delay{color:#a25c08;font-size:6.3px;font-weight:750;line-height:1.3}.attendance-grid-card.is-unscheduled{color:#173f5c;background:linear-gradient(145deg,#f7fcff,#e5f5fc);border-color:#a9d8ed #a9d8ed #a9d8ed #2388c2}.attendance-grid-card.is-unscheduled .attendance-grid-card__top{color:#1e79a8}.attendance-grid-card.is-unscheduled .attendance-grid-card__timeline small{color:#66889d}.attendance-grid-card.is-unscheduled .attendance-grid-card__timeline b{color:#164e70}.attendance-grid-card.is-unscheduled .attendance-grid-card__state{color:#0b6698;background:#d6effb}.attendance-grid-card__evidence{color:#52778e;font-size:6.5px;font-weight:750;line-height:1.25}.attendance-unscheduled-adjustment{color:#184d6c;background:linear-gradient(135deg,#eef9fd,#f8fcfe);border:1px solid #b9ddec;border-radius:13px;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:13px;padding:15px 17px;display:grid}.attendance-unscheduled-adjustment[hidden]{display:none}.attendance-unscheduled-adjustment>span{color:#087fae;background:#d9f1fa;border-radius:12px;place-items:center;width:46px;height:46px;font-size:16px;display:grid}.attendance-unscheduled-adjustment>div{gap:4px;display:grid}.attendance-unscheduled-adjustment b{color:#123d59;font-size:13px}.attendance-unscheduled-adjustment small{color:#58768a;font-size:10px;line-height:1.45}.attendance-adjustment-dialog.is-unscheduled-editor .attendance-adjustment-dialog__body{gap:16px}.attendance-adjustment-dialog.is-unscheduled-editor .attendance-quick-status__options{grid-template-columns:minmax(220px,360px);justify-content:center}.attendance-adjustment-dialog.is-unscheduled-editor .attendance-quick-status__options>button{min-height:96px}.attendance-adjustment-dialog.is-unscheduled-editor [data-adjustment-more-options]{display:none}.attendance-day-off{color:#9aa7b2;text-align:center;place-content:center;gap:3px;min-height:92px;display:grid}.attendance-day-off i{color:#a9b6c0;margin-bottom:3px;font-size:13px}.attendance-day-off b{color:#82919e;font-size:7px}.attendance-day-off small{font-size:6px}.attendance-matrix th.attendance-matrix__balance,.attendance-matrix td.attendance-matrix__balance{background:#f8f8fd;min-width:275px;max-width:275px}.attendance-matrix th.attendance-matrix__balance{color:#5c55a5;background:#f0effa}.attendance-period-balance{text-align:left;gap:9px;display:grid}.attendance-period-balance>header{grid-template-columns:30px 1fr;align-items:center;gap:8px;display:grid}.attendance-period-balance>header>span{color:#6253b8;background:#eae7fb;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.attendance-period-balance>header div{gap:1px;display:grid}.attendance-period-balance>header small{color:#7b7d9a;text-transform:uppercase;font-size:6px;font-weight:750}.attendance-period-balance>header strong{color:#313a5b;font-size:9px}.attendance-period-balance__times{grid-template-columns:1fr 1fr;gap:5px;display:grid}.attendance-period-balance__times span{background:#fff;border:1px solid #e2e3ee;border-radius:8px;gap:2px;padding:7px;display:grid}.attendance-period-balance__times small{color:#848ba0;font-size:5.8px}.attendance-period-balance__times b{color:#283f58;font-size:8px}.attendance-period-balance__times .is-deductible{background:#fff9f1;border-color:#f0d8bd}.attendance-period-balance__times .is-deductible b{color:#a65c08}.attendance-period-balance__times .is-overtime{background:#effaf6;border-color:#b9e4d2}.attendance-period-balance__times .is-overtime b{color:#087356}.attendance-period-balance__times .is-unauthorized{background:#fff8e9;border-color:#ecd7af}.attendance-period-balance__times .is-unauthorized b{color:#9b6109}.attendance-period-balance__times .is-recognized-total{background:#f1f7fb;border-color:#b9cfdf;grid-column:1/-1}.attendance-period-balance__times .is-recognized-total b{color:#174d70}.attendance-grid-card__overtime,.attendance-grid-card__unauthorized{border-radius:6px;margin-top:4px;padding:4px 6px;font-size:6px;font-weight:750;display:block}.attendance-grid-card__overtime{color:#087356;background:#e8f8f1}.attendance-grid-card__unauthorized{color:#97600d;background:#fff2d9}.attendance-payroll-close__metrics article.is-overtime{background:#f0fbf7;border-color:#bde3d4}.attendance-payroll-close__metrics article.is-overtime strong{color:#087356}.attendance-period-balance__warning{color:#9a5a0b;background:#fff4de;border-radius:7px;margin:0;padding:6px 7px;font-size:6px}.attendance-period-balance__money{border-top:1px dashed #d8d8e6;grid-template-columns:1fr 1fr;gap:5px;padding-top:8px;display:grid}.attendance-period-balance__money span,.attendance-period-balance__money strong{gap:1px;display:grid}.attendance-period-balance__money small{color:#7e849a;font-size:5.5px;font-weight:700}.attendance-period-balance__money span b{color:#384b60;font-size:7.5px}.attendance-period-balance__money strong{color:#a53b42;background:#fff0f1;border-radius:8px;grid-column:1/-1;padding:7px 9px;font-size:13px}.attendance-period-balance__money strong small{color:#9c5b60}.attendance-period-balance__formula{color:#858b9b;font-size:5.5px;line-height:1.4}.attendance-period-balance__pending{color:#5f50ad;background:#f7f5ff;border:1px dashed #aaa3d8;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:7px;font-size:6.5px;font-weight:800;text-decoration:none;display:flex}.attendance-payroll-close{margin-top:17px;overflow:hidden}.attendance-payroll-close>header{background:linear-gradient(125deg,#fbfdfe,#f9f7ff);border-bottom:1px solid #e7e8f0;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:19px 21px;display:grid}.attendance-payroll-close__icon{color:#6250b9;background:#ece9fc;border-radius:15px;place-items:center;width:48px;height:48px;font-size:17px;display:grid}.attendance-payroll-close h2{color:#102d4b;font-family:var(--font-display);margin:2px 0;font-size:17px}.attendance-payroll-close header p{color:#6d7c8e;margin:0;font-size:8px}.attendance-payroll-close__metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:17px 20px 20px;display:grid}.attendance-payroll-close__metrics article{background:#fff;border:1px solid #e0e8ed;border-radius:13px;gap:3px;padding:14px;display:grid;box-shadow:0 6px 16px #132e470b}.attendance-payroll-close__metrics small{color:#778697;text-transform:uppercase;font-size:6.5px;font-weight:800}.attendance-payroll-close__metrics strong{color:#163c5b;font-size:16px}.attendance-payroll-close__metrics span{color:#82909e;font-size:6px}.attendance-payroll-close__metrics .is-warning{background:#fffaf1;border-color:#f0d8ad}.attendance-payroll-close__metrics .is-warning strong{color:#a5620a}.attendance-payroll-close__metrics .is-danger{background:#fff7f7;border-color:#efc7ca}.attendance-payroll-close__metrics .is-danger strong{color:#af4149}.attendance-payroll-close__metrics .is-money{background:#f9f7ff;border-color:#d8d2f3}.attendance-payroll-close__metrics .is-money strong{color:#5f4bb6}@media (width<=1250px){.attendance-config-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-payroll-close__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.attendance-payroll-close>header{grid-template-columns:42px 1fr}.attendance-payroll-close>header>.badge{grid-column:1/-1;justify-self:start}.attendance-payroll-close__metrics{grid-template-columns:1fr 1fr}}@media (width<=520px){.attendance-config-summary,.attendance-payroll-close__metrics{grid-template-columns:1fr}}.attendance-hub-hero{isolation:isolate;color:#fff;background:radial-gradient(circle at 82% 18%,#18b7da3d,#0000 28%),linear-gradient(125deg,#071d36 0%,#0b3153 58%,#0b4964 100%);border:1px solid #79bce12e;border-radius:26px;grid-template-columns:minmax(0,1fr) minmax(320px,.48fr);align-items:stretch;gap:28px;margin-bottom:18px;padding:clamp(24px,3vw,38px);display:grid;position:relative;overflow:hidden;box-shadow:0 22px 54px #0620392e}.attendance-hub-hero:after{z-index:-1;content:"";border:1px solid #ffffff1f;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-155px;right:-95px;box-shadow:0 0 0 42px #ffffff06,0 0 0 88px #ffffff05}.attendance-hub-hero__copy{align-self:center;max-width:760px}.attendance-hub-hero .eyebrow{color:#7bd8ef}.attendance-hub-hero h1{color:#fff;font-family:var(--font-display);letter-spacing:-.035em;margin:8px 0 10px;font-size:clamp(27px,3vw,42px)}.attendance-hub-hero__copy>p:not(.eyebrow){color:#e8f4fbd1;max-width:700px;margin:0;font-size:12px;line-height:1.7}.attendance-hub-hero__status{flex-wrap:wrap;gap:8px;margin-top:19px;display:flex}.attendance-hub-hero__status span{color:#eff8fddb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff12;border:1px solid #ffffff21;border-radius:999px;align-items:center;gap:7px;min-height:30px;padding:6px 10px;font-size:8px;font-weight:750;display:inline-flex}.attendance-hub-hero__status span:first-child i{color:#42d5a0;font-size:6px;box-shadow:0 0 0 4px #42d5a01a}.attendance-hub-hero__action{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff17;border:1px solid #ffffff29;border-radius:21px;grid-template-columns:auto minmax(0,1fr);align-content:center;gap:14px;padding:22px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff17}.attendance-hub-hero__action-icon{color:#09304f;background:linear-gradient(145deg,#fff,#d9f5fb);border-radius:15px;place-items:center;width:48px;height:48px;font-size:18px;display:grid;box-shadow:0 9px 22px #00000026}.attendance-hub-hero__action>span:nth-child(2){align-content:center;gap:3px;display:grid}.attendance-hub-hero__action small{color:#8bd8eb;letter-spacing:.08em;text-transform:uppercase;font-size:7px;font-weight:800}.attendance-hub-hero__action strong{color:#fff;font-size:12px}.attendance-hub-hero__action .button{color:#0b3153;background:#fff;border-color:#fff;grid-column:1/-1;justify-content:space-between;min-height:43px;box-shadow:0 10px 24px #00000024}.attendance-hub-hero__action .button:hover{color:#06213c;background:#e9f9fc}.attendance-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px;display:grid}.attendance-overview-card{background:#fff;border:1px solid #dfe8ee;border-radius:18px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;min-height:105px;padding:17px 18px;display:grid;box-shadow:0 10px 28px #0c2b460e}.attendance-overview-card__icon{color:#087557;background:#e2f7ef;border-radius:15px;place-items:center;width:48px;height:48px;font-size:17px;display:grid}.attendance-overview-card>span:last-child{grid-template-columns:1fr auto;align-items:center;column-gap:9px;display:grid}.attendance-overview-card small{color:#687c8f;letter-spacing:.055em;text-transform:uppercase;font-size:7px;font-weight:850}.attendance-overview-card strong{color:#123a58;font-family:var(--font-display);grid-area:1/2/3;font-size:25px}.attendance-overview-card em{color:#8795a3;margin-top:4px;font-size:7.5px;font-style:normal}.attendance-overview-card--warning .attendance-overview-card__icon{color:#9a620b;background:#fff2d5}.attendance-overview-card--danger .attendance-overview-card__icon{color:#b43b49;background:#fee9eb}.attendance-workspace{background:linear-gradient(145deg,#f8fbfd,#f4f7fa);border:1px solid #dfe7ed;border-radius:24px;margin-bottom:24px;padding:clamp(18px,2.3vw,28px)}.attendance-section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.attendance-section-heading h2{color:#0d2c49;font-family:var(--font-display);letter-spacing:-.025em;margin:4px 0 5px;font-size:clamp(19px,2vw,25px)}.attendance-section-heading p{color:#728296;margin:0;font-size:9px}.attendance-section-heading__hint{color:#547086;white-space:nowrap;background:#fff;border:1px solid #d9e5ec;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:7px;font-weight:800;display:inline-flex}.attendance-module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.attendance-module-card{min-height:190px;color:inherit;background:#fff;border:1px solid #dde6ec;border-radius:18px;grid-template-rows:1fr auto;grid-template-columns:46px minmax(0,1fr) auto;align-items:start;gap:13px;padding:20px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 24px #0f2d450b}.attendance-module-card:before{content:"";background:linear-gradient(225deg,#1497c111,#0000 68%);border-radius:0 0 0 100%;width:88px;height:88px;position:absolute;top:0;right:0}.attendance-module-card:hover{border-color:#9fcddd;transform:translateY(-3px);box-shadow:0 16px 34px #0c3d581c}.attendance-module-card:focus-visible{outline-offset:2px;outline:3px solid #1497c140}.attendance-module-card__icon{z-index:1;color:#08785c;background:#e3f8f0;border-radius:14px;place-items:center;width:46px;height:46px;font-size:16px;display:grid;position:relative}.attendance-module-card__icon--blue{color:#0c6c9a;background:#e4f4fb}.attendance-module-card__icon--cyan{color:#087f96;background:#e0f7f9}.attendance-module-card__icon--violet{color:#5d4bb6;background:#ece9fb}.attendance-module-card__icon--purple{color:#713ac6;background:#f0e7ff}.attendance-module-card__icon--amber{color:#9b6509;background:#fff2d6}.attendance-module-card__body{z-index:1;min-width:0;display:block;position:relative}.attendance-module-card__body small{color:#7890a0;letter-spacing:.055em;text-transform:uppercase;font-size:7px;font-weight:850;display:block}.attendance-module-card__body strong{color:#143752;font-family:var(--font-display);margin-top:5px;font-size:14px;display:block}.attendance-module-card__body p{color:#718195;margin:8px 0 0;font-size:8.5px;line-height:1.6}.attendance-module-card__arrow{z-index:1;color:#7490a2;background:#fff;border:1px solid #dfe7ed;border-radius:9px;place-items:center;width:29px;height:29px;font-size:8px;transition:all .2s;display:grid;position:relative}.attendance-module-card:hover .attendance-module-card__arrow{color:#fff;background:#137fa8;border-color:#137fa8;transform:translate(2px)}.attendance-module-card__meta{color:#16715a;background:#e7f7f1;border-radius:999px;grid-column:1/-1;align-self:end;align-items:center;gap:6px;width:max-content;padding:5px 8px;font-size:7px;font-weight:800;display:inline-flex}.attendance-module-card__meta i{color:#1caf80;font-size:5px}.attendance-module-card--scanner:after{content:"";border:18px solid #149d790b;border-radius:50%;width:130px;height:130px;position:absolute;bottom:-45px;right:-30px}.attendance-module-card--exports{grid-template-rows:1fr auto}.attendance-module-card__actions{z-index:1;border-top:1px solid #e8edf1;grid-column:1/-1;align-self:end;gap:7px;padding-top:13px;display:flex}.attendance-module-card__actions form{flex:1}.attendance-module-card__actions .button{white-space:nowrap;justify-content:center;width:100%}.attendance-activity-panel{background:#fff;border:1px solid #dce6ec;border-radius:23px;margin-bottom:18px;overflow:hidden;box-shadow:0 12px 32px #0d2a430d}.attendance-activity-panel__header{background:linear-gradient(120deg,#fff,#f7fbfd);border-bottom:1px solid #e7edf1;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;display:flex}.attendance-activity-panel__header h2{color:#123553;font-family:var(--font-display);margin:4px 0;font-size:18px}.attendance-activity-panel__header p{color:#788797;margin:0;font-size:8px}.attendance-date-filter{align-items:flex-end;gap:8px;display:flex}.attendance-date-filter label{gap:4px;display:grid}.attendance-date-filter label span{color:#667b8e;text-transform:uppercase;font-size:7px;font-weight:800}.attendance-date-filter input{color:#284861;height:37px;font:9px var(--font-ui);background:#fff;border:1px solid #d6e1e8;border-radius:10px;padding:0 10px}.attendance-activity-list{display:grid}.attendance-activity-item{border-bottom:1px solid #edf1f4;grid-template-columns:62px 38px minmax(210px,1fr) minmax(120px,.32fr) auto;align-items:center;gap:13px;min-height:72px;padding:11px 22px;transition:background .16s;display:grid}.attendance-activity-item:last-child{border-bottom:0}.attendance-activity-item:hover{background:#f9fcfd}.attendance-activity-item time{border-right:1px solid #e3eaef;padding-right:13px;display:grid}.attendance-activity-item time strong{color:#153b58;font-family:var(--font-display);font-size:14px}.attendance-activity-item time small{color:#7d8c9b;text-transform:uppercase;margin-top:2px;font-size:6.5px;font-weight:800}.attendance-activity-item__avatar{color:#0a7198;background:#e2f4fa;border-radius:12px;place-items:center;width:38px;height:38px;font-size:11px;font-weight:850;display:grid}.attendance-activity-item__identity{gap:3px;min-width:0;display:grid}.attendance-activity-item__identity strong{color:#173954;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.attendance-activity-item__identity small{color:#7c8b99;text-overflow:ellipsis;white-space:nowrap;font-size:7.5px;overflow:hidden}.attendance-activity-item__method{color:#597285;align-items:center;gap:7px;font-size:7.5px;font-weight:750;display:inline-flex}.attendance-activity-item__method i{color:#0d7d9e;background:#e7f5f9;border-radius:8px;place-items:center;width:25px;height:25px;display:grid}.attendance-activity-empty{color:#81909e;text-align:center;place-content:center;justify-items:center;min-height:210px;display:grid}.attendance-activity-empty i{color:#a8b5bf;margin-bottom:10px;font-size:26px}.attendance-activity-empty strong{color:#294a63;font-size:11px}.attendance-activity-empty p{margin:5px 0 0;font-size:8px}.attendance-activity-panel__footer{color:#738594;background:#f8fafc;border-top:1px solid #e7edf1;justify-content:space-between;align-items:center;gap:16px;padding:13px 22px;font-size:7.5px;display:flex}.attendance-activity-panel__footer span{align-items:center;gap:6px;display:inline-flex}.attendance-activity-panel__footer span i{color:#1684a5}.attendance-activity-panel__footer a{color:#0a7298;font-weight:850;text-decoration:none}.attendance-activity-panel__footer a i{margin-left:5px}.attendance-export-dialog{width:min(680px,100vw - 28px)}.attendance-reader-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;padding:4px 2px;display:flex}.attendance-reader-header__back{color:#26708f;align-items:center;gap:7px;margin-bottom:17px;font-size:8px;font-weight:850;text-decoration:none;display:inline-flex}.attendance-reader-header__back:hover{color:#0a4f71}.attendance-reader-header h1{color:#092947;font-family:var(--font-display);letter-spacing:-.035em;margin:5px 0 7px;font-size:clamp(26px,3vw,38px)}.attendance-reader-header>div:first-child>p:last-child{color:#697b8e;max-width:750px;margin:0;font-size:10px;line-height:1.6}.attendance-reader-header__security{background:#fff;border:1px solid #d8e4ea;border-radius:15px;grid-template-columns:42px auto;align-items:center;gap:11px;min-width:270px;padding:12px 14px;display:grid;box-shadow:0 8px 22px #0e2f490d}.attendance-reader-header__security>span{color:#08765b;background:#e4f7ef;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.attendance-reader-header__security div{gap:3px;display:grid}.attendance-reader-header__security small{color:#728697;text-transform:uppercase;font-size:6.5px;font-weight:800}.attendance-reader-header__security strong{color:#173b56;font-size:8px}.attendance-station--dedicated{border-radius:23px;overflow:hidden;box-shadow:0 16px 38px #092a4412}.attendance-reader-panel__header{background:linear-gradient(115deg,#fbfdfe,#f5fafc);padding:19px 22px}.attendance-reader-panel__header h2{margin-top:3px;font-size:17px}.attendance-reader-layout{grid-template-columns:minmax(280px,.38fr) minmax(480px,.62fr);align-items:start;gap:18px;display:grid}.attendance-reader-form-card,.attendance-reader-camera{background:#fff;border:1px solid #dfe8ed;border-radius:18px;padding:18px;box-shadow:0 8px 22px #0e2d450b}.attendance-reader-form-card{align-content:start;gap:17px;display:grid}.attendance-reader-form-card__heading{border-bottom:1px solid #e8edf1;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;padding-bottom:14px;display:grid}.attendance-reader-form-card__heading>span{color:#176e98;background:#e7f4fa;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.attendance-reader-form-card__heading small,.attendance-reader-camera__header small{color:#778c9c;letter-spacing:.05em;text-transform:uppercase;font-size:6.5px;font-weight:850}.attendance-reader-form-card__heading h3,.attendance-reader-camera__header h3{color:#143853;font-family:var(--font-display);margin:3px 0 0;font-size:13px}.attendance-reader-note{color:#426477;background:#f2fafc;border:1px solid #d5e8ef;border-radius:11px;align-items:flex-start;gap:8px;margin:0;padding:10px 11px;font-size:7.5px;line-height:1.5;display:flex}.attendance-reader-note i{color:#1689ad;margin-top:2px}.attendance-reader-camera{gap:13px;display:grid}.attendance-reader-camera__header{justify-content:space-between;align-items:center;gap:16px;display:flex}.attendance-reader-camera__badge{color:#4e6980;background:#eef3f6;border-radius:999px;align-items:center;gap:6px;padding:6px 8px;font-size:6.5px;font-weight:800;display:inline-flex}.attendance-reader-camera__start{min-height:45px}.attendance-reader-camera .qr-scanner__viewport{aspect-ratio:16/9;min-height:360px}.attendance-methods__switch--dedicated{max-width:780px;margin:0 auto 3px}.attendance-station--dedicated.is-kiosk .attendance-reader-layout{grid-template-columns:minmax(270px,.34fr) minmax(560px,.66fr);max-width:1480px;margin-inline:auto}.attendance-station--dedicated.is-kiosk .attendance-reader-camera .qr-scanner__viewport{min-height:calc(100vh - 360px)}@media (width<=1180px){.attendance-hub-hero{grid-template-columns:minmax(0,1fr) minmax(280px,.5fr)}.attendance-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-reader-layout{grid-template-columns:minmax(250px,.42fr) minmax(390px,.58fr)}}@media (width<=900px){.attendance-hub-hero{grid-template-columns:1fr}.attendance-hub-hero__action{grid-template-columns:auto 1fr auto}.attendance-hub-hero__action .button{grid-column:auto;min-width:170px}.attendance-overview{grid-template-columns:1fr 1fr}.attendance-overview-card:last-child{grid-column:1/-1}.attendance-reader-header{flex-direction:column;align-items:flex-start}.attendance-reader-header__security{width:100%}.attendance-reader-layout,.attendance-station--dedicated.is-kiosk .attendance-reader-layout{grid-template-columns:1fr}.attendance-reader-camera{order:-1}.attendance-activity-item{grid-template-columns:58px 36px minmax(160px,1fr) auto}.attendance-activity-item__method{display:none}}@media (width<=680px){.attendance-hub-hero{border-radius:21px;gap:20px;padding:23px 19px}.attendance-hub-hero__action{grid-template-columns:42px minmax(0,1fr);padding:16px}.attendance-hub-hero__action-icon{width:42px;height:42px}.attendance-hub-hero__action .button{grid-column:1/-1;min-width:0}.attendance-overview,.attendance-module-grid{grid-template-columns:1fr}.attendance-overview-card:last-child{grid-column:auto}.attendance-workspace{border-radius:20px;padding:17px 13px}.attendance-section-heading{flex-direction:column;align-items:flex-start;gap:11px}.attendance-module-card{min-height:165px;padding:17px}.attendance-activity-panel__header{flex-direction:column;align-items:stretch;padding:17px}.attendance-date-filter{grid-template-columns:1fr auto;display:grid}.attendance-date-filter input{width:100%}.attendance-activity-item{grid-template-columns:54px 34px minmax(0,1fr) auto;gap:9px;padding:12px 14px}.attendance-activity-item time{padding-right:8px}.attendance-activity-item__avatar{width:34px;height:34px}.attendance-activity-item .badge{grid-column:3/-1;justify-self:start}.attendance-activity-panel__footer{flex-direction:column;align-items:flex-start;padding-inline:15px}.attendance-reader-header__security{min-width:0}.attendance-reader-panel__header{align-items:flex-start;gap:14px}.attendance-reader-camera,.attendance-reader-form-card{padding:13px}.attendance-reader-camera__header{flex-direction:column;align-items:flex-start;gap:8px}.attendance-reader-camera .qr-scanner__viewport{aspect-ratio:auto;min-height:48vh}.attendance-methods__switch--dedicated{grid-template-columns:1fr}}@media (width<=430px){.attendance-date-filter{grid-template-columns:1fr}.attendance-date-filter .button{justify-content:center}.attendance-module-card__actions{flex-direction:column;align-items:stretch}.attendance-activity-item{grid-template-columns:48px 32px minmax(0,1fr)}.attendance-activity-item>.badge{grid-column:2/-1}}.attendance-student-filter{border-radius:16px;padding:0;overflow:visible;box-shadow:0 8px 22px #0d304b0d}.attendance-student-filter__header{background:linear-gradient(120deg,#f7fcfe,#fff 58%,#f8f6ff);border-bottom:1px solid #e1eaf0;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 14px;display:grid}.attendance-student-filter__icon{color:#087c9e;background:#dff5fa;border-radius:10px;place-items:center;width:38px;height:38px;font-size:14px;display:grid;box-shadow:inset 0 0 0 1px #c5eaf2}.attendance-student-filter__header .eyebrow{margin-bottom:2px}.attendance-student-filter__header h2{color:#123654;font-family:var(--font-display);margin:1px 0;font-size:16px;line-height:1.25}.attendance-student-filter__header p{color:#718497;margin:0;font-size:10px;line-height:1.35}.attendance-student-filter__performance{color:#087259;white-space:nowrap;background:#ecfaf5;border:1px solid #bde5d7;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:9px;font-weight:850;display:inline-flex}.attendance-report-filter.attendance-student-filter form{grid-template-columns:repeat(16,minmax(0,1fr));grid-template-areas:"offer offer offer year year site site site month month level level level actions actions actions""grade grade section section section section section search search search search search search search search search";align-items:stretch;gap:7px;padding:8px 12px 10px}.attendance-student-filter .form-field{background:#fcfdfe;border:1px solid #d9e3e9;border-radius:9px;min-width:0;padding:5px 8px 4px;transition:border-color .16s,background .16s,box-shadow .16s;position:relative}.attendance-student-filter .form-field:focus-within{z-index:30;background:#fff;border-color:#76c5df;box-shadow:0 0 0 3px #1d96be17}.attendance-student-filter .form-field>span{color:#435e73;letter-spacing:.045em;text-align:center;border-bottom:1px solid #edf1f4;justify-content:center;align-items:center;min-height:17px;padding-bottom:3px;font-size:10px;font-weight:800;line-height:1.15;display:flex}.attendance-report-filter.attendance-student-filter select,.attendance-report-filter.attendance-student-filter input{color:#172f45;height:35px;min-height:35px;box-shadow:none;background-color:#0000;border:0;border-radius:6px;padding:5px 7px;font-size:13.5px;font-weight:550}.attendance-student-filter .form-field>small{color:#687f92;min-height:0;margin-top:0;font-size:9px;line-height:1.25;display:block}.attendance-student-filter select:disabled{cursor:not-allowed;color:#8a99a7;opacity:.78}.attendance-student-filter select:focus,.attendance-student-filter input:focus{box-shadow:none;outline:0}.attendance-student-filter select:not(.attendance-filter-native-select){text-align:center;text-align-last:center}.attendance-student-filter select:not(.attendance-filter-native-select) option{color:#213b50;text-align:left;background:#fff;font-size:13px}.attendance-filter-native-select{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0!important;width:1px!important;height:1px!important;min-height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.attendance-filter-select{min-width:0;position:relative}.attendance-filter-select__trigger{color:#172f45;width:100%;min-height:35px;font:650 13.5px var(--font-ui);cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:4px;padding:5px 7px 5px 25px;display:grid}.attendance-filter-select__trigger>span{text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-filter-select__trigger>i{color:#2e526b;font-size:10px;transition:transform .16s}.attendance-filter-select__trigger:focus-visible{outline-offset:1px;outline:2px solid #1489b347}.attendance-filter-select__trigger:disabled{cursor:not-allowed;color:#8292a0;opacity:.72}.attendance-filter-select.is-open .attendance-filter-select__trigger>i{transform:rotate(180deg)}.attendance-filter-select__menu{z-index:80;background:#fff;border:1px solid #cbd8e1;border-radius:9px;max-height:265px;padding:5px;position:absolute;top:calc(100% + 6px);left:-5px;right:-5px;overflow-y:auto;box-shadow:0 14px 34px #0f2b412e}.attendance-filter-select__menu[hidden]{display:none}.attendance-filter-select__option{color:#29465c;width:100%;min-height:38px;font:600 12.5px/1.3 var(--font-ui);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:7px;padding:8px 10px;display:grid}.attendance-filter-select__option:after{color:#0000;content:"";text-align:center;font:900 10px "Font Awesome 6 Free"}.attendance-filter-select__option:hover,.attendance-filter-select__option:focus-visible{color:#0a5279;background:#edf7fb;outline:0}.attendance-filter-select__option[aria-selected=true]{color:#073f62;background:#dff2f8;font-weight:800}.attendance-filter-select__option[aria-selected=true]:after{color:#087fa6}.attendance-filter-select__option:disabled{cursor:not-allowed;color:#8b99a5;background:#f6f8f9}.attendance-student-filter__offer{grid-area:offer}.attendance-student-filter__year{grid-area:year}.attendance-student-filter__site{grid-area:site}.attendance-student-filter__month{grid-area:month}.attendance-student-filter__level{grid-area:level}.attendance-student-filter__grade{grid-area:grade}.attendance-student-filter__section{grid-area:section}.attendance-student-filter .attendance-report-filter__search{grid-area:search}.attendance-student-filter .search-control{box-shadow:none;background:0 0;border:0;position:relative}.attendance-student-filter .attendance-report-filter__search .search-control>i{z-index:1;color:#648096;text-align:center;pointer-events:none;width:18px;left:9px}.attendance-report-filter.attendance-student-filter .attendance-report-filter__search .search-control input{width:100%;padding-left:34px;padding-right:7px}.attendance-report-filter.attendance-student-filter .attendance-report-filter__search .search-control input::placeholder{color:#8797a6;opacity:1;font-size:12.5px}.attendance-student-filter__search-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-height:35px;display:grid}.attendance-student-filter__all{cursor:pointer;align-items:center;min-height:29px;display:inline-flex}.attendance-report-filter.attendance-student-filter .attendance-student-filter__all input{clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;min-height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.attendance-student-filter__all>span{color:#536d80;white-space:nowrap;background:#f7fafb;border:1px solid #cbdbe4;border-radius:999px;align-items:center;gap:6px;min-height:29px;padding:5px 9px;font-size:10.5px;font-weight:750;transition:border-color .16s,color .16s,background .16s;display:inline-flex}.attendance-student-filter__all input:checked+span{color:#08698b;background:#e9f7fb;border-color:#86c9dc}.attendance-student-filter__all input:focus-visible+span{outline-offset:1px;outline:3px solid #1d96be29}.attendance-student-filter__actions{grid-area:actions;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:stretch;gap:7px;display:grid}.attendance-student-filter__actions .button{justify-content:center;min-width:0;min-height:49px;padding-inline:9px}.attendance-report-summary .is-students{background:linear-gradient(145deg,#fff,#f1fafc);border-color:#bfe2ee}.attendance-report-summary .is-students>span{color:#087b9f;background:#dff4f9}.attendance-report-summary .is-rate{background:linear-gradient(145deg,#fff,#effbf6);border-color:#bde6d5}.attendance-report-summary .is-rate>span{color:#087458;background:#dcf6eb}.attendance-report-summary .is-rate strong{color:#087458}.attendance-matrix--students th:not(.attendance-matrix__person,.attendance-matrix__shift),.attendance-matrix--students td:not(.attendance-matrix__person,.attendance-matrix__shift){min-width:126px;max-width:126px}.attendance-matrix--students .attendance-matrix__person{min-width:260px;max-width:260px}.attendance-matrix--students .attendance-matrix__shift{min-width:160px;max-width:160px;left:260px}.attendance-matrix th.is-weekend{color:#8895a3;background:#eef2f5}.attendance-matrix th.is-weekend b{color:#7d8792;background:#e0e5e9}.attendance-matrix--students .attendance-grid-card{min-height:99px;padding:8px}.attendance-matrix--students .attendance-grid-card__timeline b{font-size:11px}.attendance-matrix--students .attendance-day-off{min-height:84px}.attendance-matrix--students .attendance-day-off b{font-size:6.5px}.attendance-matrix--students .attendance-day-off small{font-size:5.5px}.attendance-matrix-panel:has(.attendance-matrix--students) .attendance-matrix-wrap{max-height:min(70vh,720px)}.attendance-matrix-panel:has(.attendance-matrix--students) .panel__footer{z-index:4;background:#fff;position:relative}.attendance-report-empty--classroom .button{margin-top:12px}@media (width<=1180px){.attendance-report-filter.attendance-student-filter form{grid-template-columns:repeat(8,minmax(0,1fr));grid-template-areas:"offer offer year site site month level level""grade grade section section section section section section""search search search search search actions actions actions"}}@media (width<=760px){.attendance-student-filter__header{grid-template-columns:36px minmax(0,1fr);padding:12px}.attendance-student-filter__icon{width:36px;height:36px}.attendance-student-filter__performance{grid-column:1/-1;justify-self:start}.attendance-report-filter.attendance-student-filter form{grid-template-columns:1fr 1fr;grid-template-areas:"offer offer""year month""site site""level grade""section section""search search""actions actions";padding:10px}.attendance-report-filter.attendance-student-filter select,.attendance-report-filter.attendance-student-filter input{height:40px;min-height:40px;padding:7px 9px}}@media (width<=480px){.attendance-report-filter.attendance-student-filter form{grid-template-columns:1fr;grid-template-areas:"offer""year""site""month""level""grade""section""search""actions"}.attendance-student-filter__search-row{grid-template-columns:1fr}.attendance-student-filter__all>span{justify-content:center;width:100%}.attendance-student-filter__actions .button{width:100%}}.attendance-staff-filter{border-radius:16px;padding:0;overflow:hidden;box-shadow:0 8px 22px #1123420d}.attendance-staff-filter__header{background:linear-gradient(120deg,#f8f8ff,#fff 56%,#f3fbfd);border-bottom:1px solid #e5e5f0;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.attendance-staff-filter__icon{color:#5e4fb5;background:#eeebff;border-radius:12px;place-items:center;width:40px;height:40px;font-size:15px;display:grid;box-shadow:inset 0 0 0 1px #ddd7fa}.attendance-staff-filter__header .eyebrow{margin-bottom:2px}.attendance-staff-filter__header h2{color:#183550;font-family:var(--font-display);margin:1px 0;font-size:16px;line-height:1.25}.attendance-staff-filter__header p{color:#718297;margin:0;font-size:8px;line-height:1.35}.attendance-staff-filter__performance{color:#176d8e;white-space:nowrap;background:#edf8fc;border:1px solid #cce4ef;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:7px;font-weight:850;display:inline-flex}.attendance-report-filter.attendance-staff-filter form{padding:0;display:block}.attendance-staff-filter__group{border:0;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:10px;min-width:0;margin:0;padding:12px 16px;display:grid}.attendance-staff-filter__group.attendance-staff-filter__group--period,.attendance-staff-filter__group.attendance-staff-filter__group--person{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}.attendance-staff-filter__group+.attendance-staff-filter__group{border-top:1px solid #e8edf2}.attendance-staff-filter__group--labor{background:#fbfcfe}.attendance-staff-filter__advanced{background:#fbfcfe;border-top:1px solid #e8edf2}.attendance-staff-filter__advanced+.attendance-staff-filter__group{border-top:1px solid #e8edf2}.attendance-staff-filter__advanced>summary{cursor:pointer;grid-template-columns:30px minmax(0,1fr) auto 18px;align-items:center;gap:9px;padding:8px 16px;list-style:none;display:grid}.attendance-staff-filter__advanced>summary::-webkit-details-marker{display:none}.attendance-staff-filter__advanced>summary>span{color:#5b4fa9;background:#ece9fa;border-radius:9px;place-items:center;width:30px;height:30px;font-size:10px;display:grid}.attendance-staff-filter__advanced>summary div{gap:2px;display:grid}.attendance-staff-filter__advanced>summary b{color:#1b3c57;font-size:9px}.attendance-staff-filter__advanced>summary small{color:#8090a0;font-size:7px}.attendance-staff-filter__advanced>summary em{color:#665ab1;background:#efedfa;border-radius:999px;padding:5px 8px;font-size:6.5px;font-style:normal;font-weight:800}.attendance-staff-filter__advanced>summary>i{color:#78899a;font-size:8px;transition:transform .18s}.attendance-staff-filter__advanced[open]>summary>i{transform:rotate(180deg)}.attendance-staff-filter__advanced[open]>summary{border-bottom:1px solid #e8edf2}.attendance-staff-filter__advanced .attendance-staff-filter__group{border:0}.attendance-staff-filter__group legend{grid-column:1/-1;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:3px 8px;width:100%;margin:0;padding:0;display:grid}.attendance-staff-filter__group--period legend,.attendance-staff-filter__group--person legend{grid-column:span 2}.attendance-staff-filter__group legend>span{color:#5d53ad;background:#efedfb;border-radius:9px;grid-row:span 2;place-items:center;width:28px;height:28px;font-size:9px;display:grid}.attendance-staff-filter__group legend b{color:#193a56;font-size:9px}.attendance-staff-filter__group legend small{color:#84919e;text-overflow:ellipsis;white-space:nowrap;font-size:6.5px;overflow:hidden}.attendance-staff-filter .form-field{background:#fff;border:1px solid #e0e7ed;border-radius:10px;gap:3px;min-width:0;padding:7px 9px;transition:border-color .16s,box-shadow .16s;position:relative}.attendance-staff-filter .form-field:focus-within{border-color:#afa6e0;box-shadow:0 0 0 3px #6656b714}.attendance-staff-filter .form-field>span,.attendance-staff-period-mode>span{color:#687a8d;letter-spacing:.055em;text-transform:uppercase;font-size:6.5px;font-weight:850}.attendance-staff-filter .form-field>small{color:#85929f;min-height:0;font-size:6.2px;line-height:1.3}.attendance-report-filter.attendance-staff-filter select,.attendance-report-filter.attendance-staff-filter input{height:30px;min-height:30px;box-shadow:none;background-color:#0000;border:0;padding:4px 6px;font-size:8.2px}.attendance-staff-filter select:focus,.attendance-staff-filter input:focus{box-shadow:none;outline:0}.attendance-staff-filter select:disabled{cursor:not-allowed;color:#8c98a5;opacity:.72}.attendance-staff-period-mode{background:#fff;border:1px solid #e0e7ed;border-radius:10px;grid-column:span 5;gap:4px;padding:7px 8px;display:grid}.attendance-staff-period-mode>div{grid-template-columns:1fr 1fr;gap:6px;display:grid}.attendance-staff-period-mode label{cursor:pointer}.attendance-staff-period-mode input{opacity:0;width:1px;height:1px;min-height:0;padding:0;position:absolute}.attendance-staff-period-mode label span{color:#627287;background:#f8fafc;border:1px solid #e0e4eb;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:30px;padding:4px 7px;font-size:7.5px;font-weight:800;transition:all .16s;display:flex}.attendance-staff-period-mode input:checked+span{color:#4f429f;background:#efedff;border-color:#7468c5;box-shadow:0 4px 12px #5b4aaf1a}.attendance-staff-filter__group--period .form-field[data-staff-period-month],.attendance-staff-filter__group--period .form-field[data-staff-period-range]{grid-column:span 2}.attendance-staff-filter__group--period .attendance-staff-filter__site{grid-column:span 3}.attendance-staff-filter__incident{grid-column:span 2}.attendance-staff-filter__worker{grid-column:span 5}.attendance-staff-filter__search{grid-column:span 4!important}.attendance-staff-filter .search-control{box-shadow:none;background:0 0;border:0}.attendance-staff-filter__actions{grid-column:span 3;justify-content:flex-end;align-items:center;gap:8px;display:flex}.attendance-staff-filter__actions .button{justify-content:center;min-height:40px}.attendance-report-summary .is-staff{background:linear-gradient(145deg,#fff,#f7f5ff);border-color:#d8d3f0}.attendance-report-summary .is-staff>span{color:#5e51b0;background:#ece9fc}.attendance-report-empty--staff .button{margin-top:12px}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-wrap{max-height:min(72vh,760px)}.attendance-matrix-panel:has(.attendance-matrix--staff) .panel__footer{z-index:4;background:#fff;position:relative}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-panel__header{grid-template-columns:minmax(280px,1fr) auto auto auto;gap:14px;min-height:0;padding:11px 16px}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-panel__header>div:first-child{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:2px 11px;display:grid}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-panel__header .eyebrow{margin:0}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-panel__header h2{margin:0;font-size:16px;line-height:1.2}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-panel__header p{grid-column:1/-1;margin:0;font-size:9px;line-height:1.35}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-report-legend{gap:6px 11px}.attendance-matrix-view-switch{background:#eef3f6;border:1px solid #d8e1e8;border-radius:9px;grid-template-columns:1fr 1fr;gap:2px;padding:3px;display:inline-grid}.attendance-matrix-view-switch button{color:#5b6e81;min-height:30px;font:700 8px var(--font-ui);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.attendance-matrix-view-switch button i{color:#74879a;font-size:8px}.attendance-matrix-view-switch button[aria-pressed=true]{color:#fff;background:#0d4b75;box-shadow:0 2px 7px #082b4c29}.attendance-matrix-view-switch button[aria-pressed=true] i{color:#fff}.attendance-matrix-view-switch button:focus-visible{outline-offset:1px;outline:2px solid #0a82b2}.attendance-matrix--staff th,.attendance-matrix--staff td{min-width:132px;padding:6px}.attendance-matrix--staff .attendance-matrix__person{min-width:250px;max-width:250px;padding:8px}.attendance-matrix--staff .attendance-matrix__shift{min-width:155px;max-width:155px;padding:8px;left:250px}.attendance-quick-shift{display:none}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-matrix__shift{left:270px}.attendance-matrix--staff .attendance-shift-compact{gap:2px}.attendance-matrix--staff .attendance-row-stats{gap:4px;margin-top:6px}.attendance-matrix--staff .attendance-day-cell{padding:5px!important}.attendance-matrix--staff .attendance-day-off{gap:2px;min-height:72px}.attendance-matrix--staff .attendance-day-off i{margin-bottom:1px;font-size:11px}.attendance-matrix--staff .attendance-shift-day-stack:has(.attendance-grid-card+.attendance-grid-card) .attendance-grid-card{min-height:82px}.attendance-matrix--staff .attendance-period-balance{gap:5px}.attendance-matrix--staff .attendance-period-balance>header{grid-template-columns:24px minmax(0,1fr);gap:6px}.attendance-matrix--staff .attendance-period-balance>header>span{border-radius:7px;width:24px;height:24px;font-size:8px}.attendance-matrix--staff .attendance-period-balance>header small{font-size:5.5px}.attendance-matrix--staff .attendance-period-balance__times{gap:3px}.attendance-matrix--staff .attendance-period-balance__times span{border-radius:6px;gap:1px;padding:4px 5px}.attendance-matrix--staff .attendance-period-balance__times small{font-size:5.2px}.attendance-matrix--staff .attendance-period-balance__warning{padding:4px 5px;font-size:5.5px}.attendance-matrix--staff .attendance-period-balance__money{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding-top:5px}.attendance-matrix--staff .attendance-period-balance__money span,.attendance-matrix--staff .attendance-period-balance__money strong{min-width:0}.attendance-matrix--staff .attendance-period-balance__money small{text-overflow:ellipsis;white-space:nowrap;font-size:5px;overflow:hidden}.attendance-matrix--staff .attendance-period-balance__money strong{border-radius:6px;grid-column:auto;padding:4px 5px;font-size:10px}.attendance-matrix--staff .attendance-period-balance__formula{font-size:5px;line-height:1.25}.attendance-matrix--staff .attendance-period-balance__pending{border-radius:6px;padding:5px;font-size:6px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--staff .attendance-matrix__shift,.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--staff .attendance-matrix__balance{display:none}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-quick-shift{color:#526b80;flex-wrap:wrap;align-items:center;gap:3px 7px;margin:5px 0 0 40px;font-size:7px;display:flex}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-quick-shift i{color:#0a82b2}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-quick-shift span+span{border-left:1px solid #d9e3ea;padding-left:7px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-grid-card{gap:4px;min-height:78px;padding:6px 7px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-grid-card__delay,.attendance-matrix-panel[data-matrix-mode=quick] .attendance-grid-card__note{display:none}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-day-off{min-height:62px}.attendance-shift-daily-list{gap:5px;margin-top:3px;display:grid}.attendance-shift-daily{background:#f8fbfc;border:1px solid #dce8ee;border-radius:7px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:2px 6px;padding:5px 6px;display:grid}.attendance-shift-daily>b{color:#086e96;text-transform:uppercase;background:#e3f5fb;border-radius:7px;grid-row:1/3;place-items:center;width:28px;height:28px;font-size:8.5px;display:grid}.attendance-shift-daily>span{color:#173f5c;white-space:nowrap;font-size:9.5px;font-weight:800}.attendance-shift-daily>span i{color:#6f8da1;margin-inline:2px;font-size:7.5px}.attendance-shift-daily>small{color:#94620d;white-space:nowrap;font-size:8px;font-weight:750}.attendance-grid-card__scheduled{display:none}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card__scheduled{color:#31566f;background:#f5fafc;border:1px solid #d9e8ef;border-radius:7px;justify-items:start;gap:2px;width:100%;padding:5px 6px;font-size:8px;line-height:1.25;display:grid}.attendance-grid-card__scheduled>span{white-space:nowrap}.attendance-grid-card__scheduled i{color:#0983ae;margin-right:3px}.attendance-grid-card__scheduled b{color:#0b5478}.attendance-grid-card__scheduled small{color:#8b5c0b;font-size:7.5px;font-weight:800}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card{min-height:112px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-matrix__shift{display:none}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-matrix__person{min-width:370px;max-width:370px;padding:15px 18px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students th:not(.attendance-matrix__person),.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students td:not(.attendance-matrix__person){min-width:138px;max-width:138px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-quick-shift{color:#526b80;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:9px 0 0 70px;font-size:10.5px;display:flex}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-quick-shift i{color:#0a82b2}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-grid-card{border-radius:12px;justify-items:stretch;gap:7px;min-height:100px;padding:11px 12px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-grid-card__top{text-align:center;justify-content:center;min-height:14px;font-size:8px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-grid-card__timeline{align-self:center}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-grid-card__timeline small{font-size:8.5px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-grid-card__timeline b{font-size:14px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-grid-card__state{text-align:center;justify-self:center;min-width:88px;padding:6px 10px;font-size:12.5px;font-weight:850}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-grid-card__delay,.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-grid-card__note{display:none}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-grid-card__justification{grid-template-columns:30px 1fr;align-self:center;gap:8px;min-height:58px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-grid-card__justification i{border-radius:9px;width:30px;height:30px;font-size:11px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-grid-card__justification b{font-size:11.5px;line-height:1.4}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-day-off{min-height:78px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-matrix__person{min-width:370px;max-width:370px;padding:15px 18px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-matrix__shift{min-width:230px;max-width:230px;padding:12px 14px;left:370px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students th:not(.attendance-matrix__person,.attendance-matrix__shift),.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students td:not(.attendance-matrix__person,.attendance-matrix__shift){min-width:138px;max-width:138px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-shift-compact-list{gap:10px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-shift-compact{text-align:center;gap:5px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-shift-compact strong{font-size:13px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-shift-compact span{font-size:12px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-shift-compact small{font-size:9px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-shift-workdays{justify-content:center}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-row-stats{justify-content:center;gap:7px;margin-top:11px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-row-stats span{padding:5px 7px;font-size:8.5px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-row-stats b{font-size:10px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-grid-card{border-radius:12px;justify-items:stretch;gap:7px;min-height:110px;padding:11px 12px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-grid-card__top{text-align:center;justify-content:center;min-height:14px;font-size:8px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-grid-card__timeline{align-self:center}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-grid-card__timeline small{font-size:8.5px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-grid-card__timeline b{font-size:14px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-grid-card__state{text-align:center;justify-self:center;min-width:88px;padding:6px 10px;font-size:12.5px;font-weight:850}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-grid-card__delay,.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-grid-card__note{text-align:center;font-size:8px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-grid-card__justification{grid-template-columns:30px 1fr;align-self:center;gap:8px;min-height:64px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-grid-card__justification i{border-radius:9px;width:30px;height:30px;font-size:11px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-grid-card__justification b{font-size:11.5px;line-height:1.4}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-day-off{min-height:92px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-day-off b{font-size:10px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-day-off small{font-size:8px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students thead .attendance-matrix__person,.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students thead .attendance-matrix__shift{font-size:20px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students thead th:not(.attendance-matrix__person,.attendance-matrix__shift){height:88px;padding:12px 8px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students thead th:not(.attendance-matrix__person,.attendance-matrix__shift)>small{letter-spacing:.08em;font-size:11px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students thead th:not(.attendance-matrix__person,.attendance-matrix__shift)>strong{margin-top:5px;font-size:15px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students thead th:not(.attendance-matrix__person,.attendance-matrix__shift)>b{margin-top:7px;padding:3px 7px;font-size:8px}.attendance-matrix th.is-bulk-enabled{background:#f1f9fc;padding:0}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students thead .attendance-matrix__person{font-size:20px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students thead th:not(.attendance-matrix__person){height:88px;padding:12px 8px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students thead th:not(.attendance-matrix__person)>small{letter-spacing:.08em;font-size:11px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students thead th:not(.attendance-matrix__person)>strong{margin-top:5px;font-size:15px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students thead th:not(.attendance-matrix__person)>b{margin-top:7px;padding:3px 7px;font-size:8px}.attendance-date-action{color:#123b58;width:100%;min-height:88px;font:inherit;cursor:pointer;background:0 0;border:0;place-content:center;gap:4px;padding:9px 6px;transition:color .16s,background .16s,box-shadow .16s;display:grid;position:relative}.attendance-date-action small{color:#60758a;letter-spacing:.09em;font-size:11px;font-weight:850}.attendance-date-action strong{font-size:15px}.attendance-date-action span{color:#087da7;justify-content:center;align-items:center;gap:4px;margin-top:3px;font-size:8.5px;font-weight:850;display:inline-flex}.attendance-date-action>b{color:#087155;background:#dff5ea;border-radius:999px;padding:3px 6px;font-size:7px;position:absolute;top:5px;right:5px}.attendance-date-action:hover{color:#fff;background:#0b527c;box-shadow:inset 0 -3px #20a8d2}.attendance-date-action:hover small,.attendance-date-action:hover span{color:#dff7ff}.attendance-date-action:focus-visible{outline-offset:-3px;outline:3px solid #1897c547}.attendance-quick-status__options{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-quick-status__options>button[data-quick-status=TardanzaJustificada][aria-pressed=true]{background:#f8f6ff;border-color:#8f78df;box-shadow:inset 0 0 0 1px #cec3f3}.attendance-quick-status__options>button[data-quick-status=TardanzaJustificada][aria-pressed=true]>i{color:#6746c8;background:#ece7ff}.attendance-quick-status__options>button[data-quick-status=FaltaJustificada][aria-pressed=true]{background:#f6f3ff;border-color:#7860d0;box-shadow:inset 0 0 0 1px #c7b9ef}.attendance-quick-status__options>button[data-quick-status=FaltaJustificada][aria-pressed=true]>i{color:#5938bb;background:#e9e2ff}.attendance-bulk-dialog{width:min(590px,100vw - 28px);max-height:min(92vh,440px)}.attendance-bulk-dialog__header{background:linear-gradient(135deg,#f3fbfe,#fff 62%,#f8f6ff);grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:12px;padding:17px 20px 14px;display:grid}.attendance-bulk-dialog__header h2{margin:1px 0 2px;font-size:17px}.attendance-bulk-dialog__header p{color:#667b8e;margin:0;font-size:9px;font-weight:700}.attendance-bulk-dialog__body{gap:12px;padding:15px 20px;display:grid}.attendance-bulk-status{display:grid}.attendance-bulk-status__options{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.attendance-bulk-status__options button{color:#4d6579;min-height:86px;font:inherit;text-align:center;cursor:pointer;background:#fff;border:1px solid #dbe5eb;border-radius:10px;place-items:center;gap:6px;padding:10px 8px;transition:all .16s;display:grid}.attendance-bulk-status__options button:hover{border-color:#8ebfd0;transform:translateY(-1px);box-shadow:0 5px 13px #154c6914}.attendance-bulk-status__options button i{color:#347c99;background:#e8f4f8;border-radius:9px;place-items:center;width:34px;height:34px;font-size:12px;display:grid}.attendance-bulk-status__options button b{color:#173b56;font-size:9px}.attendance-bulk-status__options button[aria-pressed=true]{background:#eef9fc;border-color:#208db2;box-shadow:inset 0 0 0 1px #92d0e1}.attendance-bulk-status__options button[data-bulk-status=Falta][aria-pressed=true]{background:#fff3f4;border-color:#d86a77;box-shadow:inset 0 0 0 1px #edb3ba}.attendance-bulk-status__options button[data-bulk-status=Justificado][aria-pressed=true]{background:#f7f5ff;border-color:#866ed8;box-shadow:inset 0 0 0 1px #c9bdf0}.attendance-bulk-status__options button[data-bulk-status=Sin\ registro][aria-pressed=true]{background:#f2f5f7;border-color:#8294a4;box-shadow:inset 0 0 0 1px #cbd5dc}.attendance-bulk-status__options button[data-bulk-status=Sin\ registro] i{color:#617586;background:#edf1f4}.attendance-bulk-status__options button.is-saving i{animation:.75s linear infinite student-import-progress-spin}.attendance-bulk-status__options button.is-saving i:before{content:""}.attendance-bulk-status__options button:disabled{cursor:wait;opacity:.55}.attendance-bulk-status__options button.is-saving{opacity:1}@media (width<=760px){.attendance-matrix-panel__header .attendance-matrix-view-switch{grid-column:1/-1;width:100%}.attendance-matrix-panel__header .attendance-matrix-view-switch button{min-height:40px;font-size:10px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-matrix__person{min-width:320px;max-width:320px;padding:12px 14px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-quick-shift{margin-left:59px;font-size:10px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students th:not(.attendance-matrix__person),.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students td:not(.attendance-matrix__person){min-width:132px;max-width:132px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-matrix__person{min-width:320px;max-width:320px;padding:12px 14px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-matrix__shift{min-width:210px;max-width:210px;box-shadow:none;padding:10px 12px;position:static}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students th:not(.attendance-matrix__person,.attendance-matrix__shift),.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students td:not(.attendance-matrix__person,.attendance-matrix__shift){min-width:132px;max-width:132px}.attendance-bulk-status__options{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-adjustment-dialog.is-quick-editor{width:calc(100vw - 20px)}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__header{grid-template-columns:minmax(0,1fr) 42px;padding:19px 20px 17px}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__header h2{font-size:20px}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__header p{font-size:11px}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__header .icon-button{width:42px;height:42px}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__body{padding:17px 20px 21px}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status__options{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status__options>button{min-height:104px}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status__options>button b{font-size:13px}.attendance-adjustment-dialog.is-guided-editor{width:calc(100vw - 20px)}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__header{grid-template-columns:minmax(0,1fr) 42px;padding:19px 20px 17px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__header h2{font-size:20px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__header p{font-size:11px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__header .icon-button{width:42px;height:42px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__body{padding:17px 20px 20px}.attendance-adjustment-dialog.is-guided-editor .attendance-quick-status__options{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-adjustment-dialog.is-guided-editor .attendance-quick-status__options>button{min-height:100px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__footer{padding:15px 20px 18px}.attendance-bulk-status__options button{min-height:68px}}@media (width<=430px){.attendance-quick-status__options{grid-template-columns:1fr 1fr}.attendance-adjustment-dialog.is-quick-editor{width:calc(100vw - 14px)}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__header{grid-template-columns:minmax(0,1fr) 38px;padding:16px}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__header h2{font-size:18px}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__header p{font-size:10px}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__header .icon-button{width:38px;height:38px}.attendance-adjustment-dialog.is-quick-editor .attendance-adjustment-dialog__body{padding:14px 16px 18px}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status__options{grid-template-columns:1fr 1fr}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status__options>button{min-height:96px;padding:12px 8px}.attendance-adjustment-dialog.is-quick-editor .attendance-quick-status__options>button b{font-size:12.5px}.attendance-adjustment-dialog.is-guided-editor{width:calc(100vw - 14px)}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__header{grid-template-columns:minmax(0,1fr) 38px;padding:16px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__header h2{font-size:18px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__header p{font-size:10px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__header .icon-button{width:38px;height:38px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__body{padding:14px 16px 18px}.attendance-adjustment-dialog.is-guided-editor .attendance-quick-status__options{grid-template-columns:1fr 1fr}.attendance-adjustment-dialog.is-guided-editor .attendance-quick-status__options>button{min-height:94px;padding:11px 8px}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-times{grid-template-columns:1fr}.attendance-adjustment-dialog.is-guided-editor .attendance-adjustment-dialog__footer{grid-template-columns:1fr 1fr;padding:14px 16px 17px;display:grid}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-matrix__person{min-width:250px;max-width:250px;padding:9px 10px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-quick-shift{margin-left:50px;font-size:8.5px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students th:not(.attendance-matrix__person),.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students td:not(.attendance-matrix__person){min-width:112px;max-width:112px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-matrix__person{min-width:250px;max-width:250px;padding:9px 10px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-matrix__shift{min-width:185px;max-width:185px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students th:not(.attendance-matrix__person,.attendance-matrix__shift),.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students td:not(.attendance-matrix__person,.attendance-matrix__shift){min-width:112px;max-width:112px}.attendance-bulk-dialog__header{grid-template-columns:minmax(0,1fr) 32px;padding:14px}.attendance-bulk-dialog__body{padding:13px 14px}}@media (width<=1180px){.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-panel__header{grid-template-columns:1fr auto}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-panel__header>div:first-child{grid-area:1/1}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-panel__count{grid-area:1/2}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-view-switch{grid-area:2/1;justify-self:start}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-view-switch button{min-height:36px;padding-inline:12px;font-size:9px}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-report-legend{grid-area:2/2;justify-content:flex-end}.attendance-staff-filter__group{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-staff-filter__group.attendance-staff-filter__group--period,.attendance-staff-filter__group.attendance-staff-filter__group--person{grid-template-columns:repeat(6,minmax(0,1fr))}.attendance-staff-filter__group--period legend,.attendance-staff-filter__group--person legend{grid-column:1/-1}.attendance-staff-period-mode{grid-column:span 2}.attendance-staff-filter__group--period .form-field[data-staff-period-month],.attendance-staff-filter__group--period .form-field[data-staff-period-range]{grid-column:span 1}.attendance-staff-filter__group--period .attendance-staff-filter__site{grid-column:span 2}.attendance-staff-filter__worker,.attendance-staff-filter__search{grid-column:span 3!important}.attendance-staff-filter__actions{grid-column:1/-1}}@media (width<=760px){.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-panel__header{grid-template-columns:1fr}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-panel__header>div:first-child{grid-area:1/1}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-view-switch{grid-area:2/1;width:100%}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-view-switch button{min-height:40px;font-size:10px}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-report-legend{grid-area:3/1;justify-content:flex-start}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-panel__count{grid-area:4/1;justify-self:start}.attendance-matrix--staff .attendance-matrix__person{min-width:220px;max-width:220px}.attendance-matrix--staff .attendance-matrix__shift{min-width:140px;max-width:140px;box-shadow:none;position:static}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-matrix__person,.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--staff .attendance-matrix__person{min-width:250px;max-width:250px}.attendance-staff-filter__header{grid-template-columns:36px minmax(0,1fr);padding:12px}.attendance-staff-filter__icon{width:36px;height:36px}.attendance-staff-filter__performance{grid-column:1/-1;justify-self:start}.attendance-staff-filter__group,.attendance-staff-filter__group.attendance-staff-filter__group--period,.attendance-staff-filter__group.attendance-staff-filter__group--person{grid-template-columns:1fr 1fr;padding:12px}.attendance-staff-filter__group legend,.attendance-staff-filter__group--period legend,.attendance-staff-filter__group--person legend,.attendance-staff-period-mode{grid-column:1/-1}.attendance-staff-filter__worker,.attendance-staff-filter__search,.attendance-staff-filter__actions{grid-column:1/-1!important}.attendance-report-filter.attendance-staff-filter select,.attendance-report-filter.attendance-staff-filter input{height:40px;min-height:40px;padding:7px 9px}}@media (width<=480px){.attendance-staff-filter__group,.attendance-staff-filter__group.attendance-staff-filter__group--period,.attendance-staff-filter__group.attendance-staff-filter__group--person{grid-template-columns:1fr}.attendance-staff-period-mode,.attendance-staff-filter__group--period .form-field[data-staff-period-month],.attendance-staff-filter__group--period .form-field[data-staff-period-range],.attendance-staff-filter__site,.attendance-staff-filter__incident,.attendance-staff-filter__worker{grid-column:1/-1}.attendance-staff-period-mode>div{grid-template-columns:1fr}.attendance-staff-filter__actions{flex-direction:column-reverse}.attendance-staff-filter__actions .button{width:100%}}.attendance-hub-hero__status span{border-color:var(--ui-border);background:var(--ui-surface-muted);color:var(--ui-text-muted)}.attendance-hub-hero__action strong{color:var(--ui-text)}.attendance-hub-hero__action small{color:var(--ui-text-muted)}.attendance-module-card--scanner{background:var(--ui-success-soft);border-color:#a9d9c8}.station-body{background:var(--ui-canvas)}.station-pairing__card:before{background:var(--ui-accent)}.attendance-adjustment-dialog__icon{background:var(--ui-info-soft);box-shadow:none}.attendance-report-summary article,.attendance-report-summary .is-warning,.attendance-report-summary .is-danger,.attendance-report-summary .is-justified,.attendance-report-summary .is-corrected,.attendance-report-summary .is-students,.attendance-report-summary .is-rate,.attendance-report-summary .is-staff{background:var(--ui-surface);box-shadow:none}.attendance-report-summary .is-warning{background:var(--ui-warning-soft)}.attendance-report-summary .is-danger{background:var(--ui-danger-soft)}.attendance-report-summary .is-justified,.attendance-report-switch__card--staff.is-active{background:#f3f0ff}.attendance-report-summary .is-corrected,.attendance-report-summary .is-students,.attendance-report-switch__card.is-active{background:var(--ui-info-soft)}.attendance-report-summary .is-rate,.attendance-grid-card.is-present{background:var(--ui-success-soft)}.attendance-config-summary article{background:var(--ui-surface);box-shadow:none}.attendance-config-summary article.has-warning{background:var(--ui-warning-soft)}.attendance-config-summary--compact{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}.attendance-grid-card.is-late{background:var(--ui-warning-soft)}.attendance-grid-card.is-missing{background:linear-gradient(145deg,#303d46,#151c22)}.attendance-grid-card.is-annulled{background:var(--ui-danger-soft)}.attendance-grid-card.is-justified{background:#f3f0ff}.attendance-grid-card.is-unscheduled{background:var(--ui-info-soft)}.attendance-matrix td.is-weekend{background:var(--ui-surface-muted)}.attendance-grid-card.is-adjusted{box-shadow:none}.attendance-student-filter__header,.attendance-staff-filter__header{background:var(--ui-surface)}.attendance-workspace{background:var(--ui-surface-subtle)}@media (width<=1200px){.attendance-staff-filter__group{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=680px){.attendance-staff-filter__site,.attendance-staff-filter__incident,.attendance-staff-filter__worker,.attendance-staff-filter__search,.attendance-staff-filter__actions{grid-column:1/-1}}.attendance-overview{gap:16px}.attendance-overview-card{border:1px solid var(--ui-border);min-height:112px;box-shadow:var(--ui-shadow-low);border-top:4px solid #0b8a66;border-radius:7px;padding:17px 18px}.attendance-overview-card--warning{border-top-color:#c88712}.attendance-overview-card--danger{border-top-color:#c04450}.attendance-overview-card__icon{border-radius:6px;width:46px;height:46px}.attendance-overview-card>span:last-child{grid-template-columns:minmax(0,1fr) auto}.attendance-overview-card small{color:var(--ui-text-muted);font-size:11px;font-weight:600}.attendance-overview-card strong{color:var(--ui-text);font-size:30px;font-weight:700}.attendance-overview-card em{color:var(--ui-text-muted);font-size:11px}.attendance-activity-panel{box-shadow:var(--ui-shadow-low);border-radius:8px}.attendance-activity-panel__header{background:var(--ui-surface)}.attendance-date-filter label span{color:var(--ui-text-muted);font-size:11px;font-weight:600}.attendance-date-filter input{border-radius:5px;height:42px;font-size:12px}.attendance-activity-item{min-height:78px}.attendance-activity-item time strong{font-size:15px}.attendance-activity-item time small{font-size:10px}.attendance-activity-item__avatar{border-radius:6px;font-size:12px}.attendance-activity-item__identity strong{color:var(--ui-text);font-size:13px}.attendance-activity-item__identity small,.attendance-activity-item__method{color:var(--ui-text-muted);font-size:11px}.attendance-activity-empty strong{font-size:14px}.attendance-activity-empty p{font-size:12px}.attendance-activity-panel__footer{color:var(--ui-text-muted);font-size:11px}@media (width<=680px){.attendance-activity-panel__footer{align-items:stretch}.attendance-activity-panel__footer>span{flex-direction:column;align-items:flex-start}}.shift-dialog{width:min(720px,100vw - 24px);max-height:calc(100dvh - 24px);overflow:hidden;height:fit-content!important;min-height:0!important;block-size:fit-content!important}.shift-dialog>form{flex-direction:column;max-height:calc(100dvh - 24px);display:flex;height:fit-content!important;min-height:0!important;block-size:fit-content!important}.shift-dialog .dialog__header{z-index:3;background:#fff;align-items:flex-start;min-height:0;padding:20px 22px 18px;position:relative}.shift-dialog .dialog__header>div{gap:5px;display:grid}.shift-dialog .dialog__header h2{font-size:20px;line-height:1.15}.shift-dialog .dialog__header p{max-width:500px;margin:0;font-size:11px;line-height:1.4}.shift-dialog .dialog__header .icon-button{flex:none}.shift-dialog .dialog__body{overscroll-behavior:contain;scrollbar-gutter:stable;flex:0 auto;min-height:0;max-height:min(390px,100dvh - 194px);padding:20px 22px 22px;overflow:hidden auto}.shift-dialog .dialog__body::-webkit-scrollbar{width:9px}.shift-dialog .dialog__body::-webkit-scrollbar-track{background:#f0f4f7}.shift-dialog .dialog__body::-webkit-scrollbar-thumb{background:#91a1ae;border:2px solid #f0f4f7;border-radius:999px}.shift-dialog .form-grid{align-items:start;gap:14px}.shift-dialog .form-field{align-content:start;gap:6px;min-width:0}.shift-dialog .form-field>span{align-items:center;min-height:16px;display:flex}.shift-dialog .form-field>small{min-height:16px;line-height:1.35}.shift-dialog .form-field--full>small{min-height:0}.shift-dialog input,.shift-dialog select{min-height:48px}.shift-dialog input[type=number]{font-variant-numeric:tabular-nums}.shift-dialog .dialog__footer{z-index:4;border-top:1px solid var(--ui-border,#d8e2e9);background:#f8fafb;flex:none;min-height:70px;padding:14px 22px;position:relative;box-shadow:0 -6px 18px #0b31540d}.shift-dialog .dialog__footer .button{justify-content:center;min-width:112px}@media (width<=620px){.shift-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);height:fit-content!important}.shift-dialog>form{max-height:calc(100dvh - 12px)}.shift-dialog .dialog__header{min-height:0;padding:18px 16px 15px}.shift-dialog .dialog__body{max-height:calc(100dvh - 174px);padding:18px 16px 20px}.shift-dialog .form-grid{grid-template-columns:1fr}.shift-dialog .form-field--full{grid-column:auto}.shift-dialog .dialog__footer{grid-template-columns:1fr 1fr;min-height:66px;padding:11px 16px;display:grid}.shift-dialog .dialog__footer .button{width:100%;min-width:0}}@media (width<=760px){.attendance-adjustment-dialog.is-advanced-editor{width:calc(100vw - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px)}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__header{grid-template-columns:42px minmax(0,1fr) 40px;gap:11px;padding:14px 16px 13px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__icon{width:42px;height:42px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__header h2{font-size:20px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__header p{font-size:11px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__body{gap:12px;padding:14px 16px 17px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-mode label>span{min-height:76px;padding:11px 13px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-context{grid-template-columns:1fr 1fr}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__footer{flex-direction:row;justify-content:flex-end;align-items:center;min-height:66px;padding:10px 16px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__footer .button{width:auto}}@media (width<=500px){.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__header{grid-template-columns:minmax(0,1fr) 38px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__icon{display:none}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-mode,.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-context{grid-template-columns:1fr}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__footer{gap:8px;padding-inline:12px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__footer .button--ghost{min-width:92px}.attendance-adjustment-dialog.is-advanced-editor .attendance-adjustment-dialog__footer .button--primary{flex:1;min-width:0}}.attendance-staff-filter__header{grid-template-columns:46px minmax(0,1fr) auto;gap:14px;padding:17px 20px}.attendance-staff-filter__icon{border-radius:13px;width:46px;height:46px;font-size:17px}.attendance-staff-filter__header .eyebrow{font-size:10px}.attendance-staff-filter__header h2{margin:3px 0;font-size:21px}.attendance-staff-filter__header p{max-width:760px;font-size:11px;line-height:1.45}.attendance-staff-filter__performance{padding:9px 12px;font-size:10px}.attendance-staff-filter__group{gap:12px;padding:16px 18px}.attendance-staff-filter__advanced>summary{grid-template-columns:38px minmax(0,1fr) auto 20px;gap:11px;min-height:64px;padding:11px 18px}.attendance-staff-filter__advanced>summary>span{border-radius:11px;width:38px;height:38px;font-size:13px}.attendance-staff-filter__advanced>summary b{font-size:12px}.attendance-staff-filter__advanced>summary small{font-size:9px;line-height:1.35}.attendance-staff-filter__advanced>summary em{padding:6px 9px;font-size:9px}.attendance-staff-filter__advanced>summary>i{font-size:11px}.attendance-staff-filter__group legend{grid-template-columns:36px minmax(0,1fr);gap:3px 10px}.attendance-staff-filter__group legend>span{border-radius:11px;width:36px;height:36px;font-size:12px}.attendance-staff-filter__group legend b{font-size:12px}.attendance-staff-filter__group legend small{font-size:9px;line-height:1.35}.attendance-staff-filter .form-field{border-radius:12px;gap:5px;padding:9px 11px}.attendance-staff-filter .form-field>span,.attendance-staff-period-mode>span{letter-spacing:.045em;font-size:10px}.attendance-staff-filter .form-field>small{font-size:9px;line-height:1.35}.attendance-report-filter.attendance-staff-filter select,.attendance-report-filter.attendance-staff-filter input{height:43px;min-height:43px;padding:8px 7px;font-size:13px;font-weight:650}.attendance-staff-period-mode{border-radius:12px;gap:6px;padding:9px 10px}.attendance-staff-period-mode>div{gap:8px}.attendance-staff-period-mode label span{border-radius:9px;min-height:41px;padding:7px 9px;font-size:11px}.attendance-staff-filter__actions .button{min-height:48px;padding-inline:16px;font-size:12.5px}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-panel__header{gap:16px;padding:16px 20px}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-panel__header h2{font-size:21px}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-panel__header p{font-size:11px}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-report-legend span{font-size:9px}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-panel__count{padding:8px 11px;font-size:10px}.attendance-matrix-panel:has(.attendance-matrix--staff) .attendance-matrix-view-switch button{min-height:38px;padding:7px 12px;font-size:10px}.attendance-matrix--staff th{height:62px}.attendance-matrix--staff th>small{font-size:9px}.attendance-matrix--staff th>strong{font-size:14px}.attendance-matrix--staff th:not(.attendance-matrix__person,.attendance-matrix__shift,.attendance-matrix__balance),.attendance-matrix--staff td:not(.attendance-matrix__person,.attendance-matrix__shift,.attendance-matrix__balance){min-width:140px;max-width:140px}.attendance-matrix--staff .attendance-shift-compact-list{gap:8px}.attendance-matrix--staff .attendance-shift-compact strong{font-size:12px}.attendance-matrix--staff .attendance-shift-compact span{font-size:11px}.attendance-matrix--staff .attendance-shift-compact small{font-size:9px}.attendance-matrix--staff .attendance-row-stats span{padding:5px 7px;font-size:9px}.attendance-matrix--staff .attendance-grid-card{border-radius:11px;gap:7px;min-height:102px;padding:9px 10px}.attendance-matrix--staff .attendance-grid-card__top{min-height:14px;font-size:9px}.attendance-matrix--staff .attendance-grid-card__timeline b{font-size:14px}.attendance-matrix--staff .attendance-grid-card__state{padding:4px 8px;font-size:10px}.attendance-matrix--staff .attendance-day-off{min-height:88px}.attendance-matrix--staff .attendance-day-off b{font-size:9px}.attendance-matrix--staff .attendance-day-off small{font-size:8px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--staff .attendance-matrix__person{min-width:340px;max-width:340px;padding:14px 16px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--staff th:not(.attendance-matrix__person),.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--staff td:not(.attendance-matrix__person){min-width:140px;max-width:140px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--staff .attendance-quick-shift{gap:5px 9px;margin:7px 0 0 58px;font-size:10px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--staff .attendance-grid-card{min-height:96px;padding:9px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--staff .attendance-day-off{min-height:82px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-matrix__person{min-width:320px;max-width:320px;padding:14px 12px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-matrix__shift{min-width:190px;max-width:190px;padding:11px;left:320px}.attendance-matrix--staff th.attendance-matrix__balance,.attendance-matrix--staff td.attendance-matrix__balance{min-width:280px;max-width:280px;padding:10px}.attendance-matrix--staff .attendance-period-balance>header small,.attendance-matrix--staff .attendance-period-balance__times small,.attendance-matrix--staff .attendance-period-balance__money small,.attendance-matrix--staff .attendance-period-balance__formula{font-size:8px}.attendance-matrix--staff .attendance-period-balance>header strong{font-size:11px}.attendance-matrix--staff .attendance-period-balance__times b{font-size:10px}.attendance-matrix--staff .attendance-period-balance__warning,.attendance-matrix--staff .attendance-period-balance__pending{font-size:8.5px}.attendance-matrix--staff .attendance-period-balance__money span b{font-size:9px}.attendance-matrix--staff .attendance-period-balance__money strong{font-size:12px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-day-cell{vertical-align:top;overflow:hidden}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-shift-day-stack,.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card,.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card__top,.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card__scheduled,.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card__timeline{min-width:0;max-width:100%}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-shift-day-stack,.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card{width:100%}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card{overflow:hidden}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card__top>span,.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card__scheduled>span,.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card__scheduled>small,.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card__delay,.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card__note{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card__scheduled>span{flex-wrap:wrap;align-items:center;gap:2px 3px;display:flex}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card__scheduled i{flex:none;margin-right:0}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card__timeline>span{min-width:0}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-grid-card__timeline b{text-overflow:ellipsis;overflow:hidden}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-shift-daily{min-width:0;max-width:100%}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-shift-daily>span,.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-shift-daily>small{white-space:normal;overflow-wrap:anywhere;min-width:0}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-shift-summary{gap:8px;width:100%;min-width:0;display:grid}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-shift-summary__overview{align-items:center;gap:8px;min-width:0;display:flex}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-shift-summary__overview>i{color:#0787b5;background:#e7f7fc;border-radius:9px;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:13px;display:grid}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-shift-summary__overview>span{gap:2px;min-width:0;display:grid}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-shift-summary__overview strong{color:#123d5c;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.25;overflow:hidden}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-shift-summary__overview small{color:#6f8495;font-size:8.5px;font-weight:700;line-height:1.25}.attendance-week-schedule-button{color:#0b5178;width:100%;min-width:0;min-height:38px;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #b7cfdd;border-radius:9px;grid-template-columns:18px minmax(0,1fr) 12px;align-items:center;gap:6px;padding:7px 8px;font-size:9px;font-weight:850;line-height:1.25;transition:border-color .18s,box-shadow .18s,color .18s,background .18s;display:grid;box-shadow:0 3px 10px #0d43630f}.attendance-week-schedule-button>i:first-child{color:#0c92bd;text-align:center;font-size:12px}.attendance-week-schedule-button>i:last-child{color:#7995a7;text-align:right;font-size:8px}.attendance-week-schedule-button:hover{color:#083e62;background:#f3fbfe;border-color:#39a9ce;box-shadow:0 5px 14px #0d678e1c}.attendance-week-schedule-button:focus-visible{outline-offset:2px;border-color:#168db7;outline:3px solid #179dca33}.attendance-week-schedule-dialog{border-radius:16px;width:min(960px,100vw - 28px);max-height:min(820px,100dvh - 28px);overflow:hidden}.attendance-week-schedule-dialog__shell{max-height:inherit;grid-template-rows:auto minmax(0,1fr) auto;display:grid}.attendance-week-schedule-dialog__header{background:linear-gradient(120deg,#082f52 0%,#075d82 72%,#087b9d 100%);border-bottom:0;grid-template-columns:48px minmax(0,1fr) 38px;align-items:center;gap:13px;padding:18px 20px;display:grid}.attendance-week-schedule-dialog__icon{color:#fff;background:#ffffff1c;border:1px solid #ffffff38;border-radius:13px;place-items:center;width:48px;height:48px;font-size:18px;display:grid}.attendance-week-schedule-dialog__header .eyebrow{color:#9fe7fa}.attendance-week-schedule-dialog__header h2{color:#fff;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:20px;line-height:1.2;overflow:hidden}.attendance-week-schedule-dialog__header p{color:#d1eaf3;margin-top:3px;font-size:10px}.attendance-week-schedule-dialog__header .icon-button{color:#fff;background:#ffffff1a;border-color:#ffffff3d}.attendance-week-schedule-dialog__header .icon-button:hover{background:#fff3}.attendance-week-schedule-dialog__body{scrollbar-gutter:stable;background:#f2f7fa;align-content:start;gap:14px;padding:18px;display:grid;overflow:auto}.attendance-week-schedule-list{gap:14px;display:grid}.attendance-week-schedule-shift{background:#fff;border:1px solid #d4e2ea;border-radius:13px;overflow:hidden;box-shadow:0 6px 18px #0c37520f}.attendance-week-schedule-shift__header{background:linear-gradient(90deg,#fff 0%,#f4fbfe 100%);border-bottom:1px solid #e2ebf0;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 13px;display:grid}.attendance-week-schedule-shift__header>span{color:#087da7;background:#e3f5fb;border-radius:10px;place-items:center;width:38px;height:38px;font-size:14px;display:grid}.attendance-week-schedule-shift__header>div{gap:1px;min-width:0;display:grid}.attendance-week-schedule-shift__header small{color:#718697;letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:850}.attendance-week-schedule-shift__header h3{color:#103b5b;margin:0;font-size:15px;line-height:1.25}.attendance-week-schedule-shift__header em{color:#087a5a;white-space:nowrap;background:#e9f8f2;border-radius:999px;padding:5px 8px;font-size:8.5px;font-style:normal;font-weight:850}.attendance-week-schedule-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:12px;display:grid}.attendance-week-schedule-day{background:#f9fbfc;border:1px solid #d8e4eb;border-radius:10px;align-content:start;gap:6px;min-width:0;min-height:112px;padding:10px;display:grid}.attendance-week-schedule-day header{justify-content:space-between;align-items:center;gap:5px;display:flex}.attendance-week-schedule-day header b{color:#087da7;background:#e1f4fb;border-radius:7px;place-items:center;min-width:28px;height:24px;padding-inline:5px;font-size:8px;display:grid}.attendance-week-schedule-day header span{color:#6c8191;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:750;overflow:hidden}.attendance-week-schedule-day>strong{color:#103b5b;white-space:nowrap;font-size:11px;line-height:1.3}.attendance-week-schedule-day>strong i{color:#7793a5;margin-inline:2px;font-size:7px}.attendance-week-schedule-day>small{color:#9b670d;font-size:8px;font-weight:850}.attendance-week-schedule-day>em{color:#718697;font-size:7.5px;font-style:normal;font-weight:700;line-height:1.3}.attendance-week-schedule-day.is-scheduled{background:#f2fbfe;border-color:#b9dce8}.attendance-week-schedule-day.is-rest{color:#8a99a5;background:#f2f5f7}.attendance-week-schedule-day.is-rest header b{color:#71818d;background:#e4eaee}.attendance-week-schedule-day.is-rest>strong{color:#6f7f8c;margin-top:4px;font-size:10px}.attendance-week-schedule-day.is-rest>small{color:#98a5ae;font-weight:700}.attendance-week-schedule-dialog__footer{justify-content:space-between;align-items:center;padding:12px 18px}.attendance-week-schedule-dialog__footer p{color:#5f7688;align-items:center;gap:7px;margin:0;font-size:9px;line-height:1.4;display:flex}.attendance-week-schedule-dialog__footer p i{color:#0a8bb5}.attendance-week-schedule-dialog__footer .button{min-width:96px}@media (width<=900px){.attendance-week-schedule-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=600px){.attendance-week-schedule-dialog{border-radius:12px;width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.attendance-week-schedule-dialog__header{grid-template-columns:42px minmax(0,1fr) 34px;gap:10px;padding:14px}.attendance-week-schedule-dialog__icon{border-radius:11px;width:42px;height:42px;font-size:15px}.attendance-week-schedule-dialog__header h2{font-size:17px}.attendance-week-schedule-dialog__header p{font-size:9px}.attendance-week-schedule-dialog__body{padding:11px}.attendance-week-schedule-shift__header{grid-template-columns:34px minmax(0,1fr) auto;padding:10px}.attendance-week-schedule-shift__header>span{width:34px;height:34px}.attendance-week-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px}.attendance-week-schedule-day{min-height:104px;padding:9px}.attendance-week-schedule-dialog__footer{grid-template-columns:1fr;gap:9px;padding:10px 12px;display:grid}.attendance-week-schedule-dialog__footer .button{width:100%}}@media (width<=1180px){.attendance-staff-filter__header{padding:15px 17px}.attendance-staff-filter__group{padding:14px 16px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--staff .attendance-matrix__person{min-width:320px;max-width:320px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-matrix__person{min-width:300px;max-width:300px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-matrix__shift{left:300px}}@media (width<=760px){.attendance-staff-filter__header{grid-template-columns:42px minmax(0,1fr)}.attendance-staff-filter__icon{width:42px;height:42px}.attendance-staff-filter__header h2{font-size:18px}.attendance-staff-filter__header p{font-size:10px}.attendance-staff-filter__group,.attendance-staff-filter__group.attendance-staff-filter__group--period,.attendance-staff-filter__group.attendance-staff-filter__group--person{gap:10px;padding:12px}.attendance-report-filter.attendance-staff-filter select,.attendance-report-filter.attendance-staff-filter input{height:44px;min-height:44px;font-size:13px}.attendance-staff-filter__actions{grid-template-columns:1fr 1.2fr;display:grid}.attendance-staff-filter__actions .button{width:100%}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--staff .attendance-matrix__person{min-width:285px;max-width:285px;padding:12px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-matrix__person{min-width:285px;max-width:285px}.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--staff .attendance-matrix__shift{min-width:180px;max-width:180px;left:0}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--staff .attendance-quick-shift{margin-left:55px;font-size:9px}}.attendance-staff-filter__group--person legend{grid-column:span 2}.attendance-staff-filter .search-control{min-height:43px;position:relative}.attendance-staff-filter .search-control>i{z-index:2;color:#5f7488;text-align:center;pointer-events:none;width:18px;font-size:14px;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.attendance-report-filter.attendance-staff-filter .search-control input{width:100%;padding-left:43px;padding-right:12px;font-weight:600}.attendance-staff-filter .attendance-filter-select__trigger{text-align:left;border-radius:9px;min-height:43px;padding:8px 9px;font-size:13px}.attendance-staff-filter .attendance-filter-select__trigger>span{text-align:left}.attendance-staff-filter .form-field:has(.attendance-filter-select.is-open){z-index:90}.attendance-staff-filter .attendance-filter-select__menu{border-color:#cbd6e2;border-radius:12px;max-height:min(320px,42vh);padding:7px;left:-10px;right:-10px;box-shadow:0 18px 42px #102a4333}.attendance-staff-filter .attendance-filter-select__option{border-radius:9px;min-height:46px;padding:10px 12px;font-size:13px;line-height:1.35}.attendance-staff-filter .attendance-filter-select__option+.attendance-filter-select__option{margin-top:3px}.attendance-adjustment-dialog.is-staff-editor .attendance-quick-status__options{grid-template-columns:repeat(5,minmax(0,1fr))}.attendance-adjustment-dialog.is-staff-editor.is-guided-editor [data-adjustment-correction-section],.attendance-adjustment-dialog.is-staff-editor.is-guided-editor .attendance-adjustment-dialog__footer{display:none}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-status__options{grid-template-columns:repeat(5,minmax(0,1fr))}@media (width<=1180px){.attendance-staff-filter__group--person legend{grid-column:1/-1}.attendance-staff-filter__group--person .attendance-staff-filter__search{grid-column:span 4!important}.attendance-staff-filter__group--person .attendance-staff-filter__actions{grid-column:span 2;grid-template-columns:1fr 1.2fr;display:grid}}@media (width<=760px){.attendance-staff-filter__group--person .attendance-staff-filter__search,.attendance-staff-filter__group--person .attendance-staff-filter__actions{grid-column:1/-1!important}.attendance-staff-filter .attendance-filter-select__trigger{min-height:44px;font-size:13px}.attendance-staff-filter .attendance-filter-select__option{min-height:48px;font-size:13.5px}.attendance-adjustment-dialog.is-staff-editor .attendance-quick-status__options{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-status__options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=500px){.attendance-adjustment-dialog.is-staff-editor .attendance-quick-status__options{grid-template-columns:repeat(2,minmax(0,1fr))}}.attendance-bulk-dialog[data-bulk-type=personal]{border-radius:18px;width:min(1120px,100vw - 32px);max-height:min(92dvh,620px)}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-dialog__header{grid-template-columns:minmax(0,1fr) 52px;gap:18px;padding:26px 30px 22px}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-dialog__header .eyebrow{letter-spacing:.11em;font-size:12px}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-dialog__header h2{margin:6px 0 5px;font-size:27px;line-height:1.2}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-dialog__header p{font-size:13px}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-dialog__header .icon-button{border-radius:13px;width:52px;height:52px;font-size:18px}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-dialog__body{padding:24px 30px 30px}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-status__options{gap:13px}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-status__options button{border-width:1.5px;border-radius:15px;gap:12px;min-height:132px;padding:17px 12px}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-status__options button i{border-radius:14px;width:54px;height:54px;font-size:18px}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-status__options button b{font-size:14px;line-height:1.3}@media (width<=760px){.attendance-bulk-dialog[data-bulk-type=personal]{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-dialog__header{grid-template-columns:minmax(0,1fr) 46px;gap:12px;padding:20px 20px 17px}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-dialog__header h2{font-size:23px}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-dialog__header .icon-button{width:46px;height:46px}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-dialog__body{padding:18px 20px 22px}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-status__options{gap:10px}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-status__options button{min-height:112px}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-status__options button i{width:48px;height:48px;font-size:16px}.attendance-bulk-dialog[data-bulk-type=personal] .attendance-bulk-status__options button b{font-size:13px}}.attendance-report-filter.attendance-student-filter form{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:none;align-items:stretch;padding:12px 14px 14px}.attendance-student-filter form>*{grid-row:auto!important}.attendance-student-filter__offer{grid-column:span 3!important}.attendance-student-filter__year{grid-column:span 2!important}.attendance-student-filter__site{grid-column:span 3!important}.attendance-student-filter__level,.attendance-student-filter__grade{grid-column:span 2!important}.attendance-student-filter__section{grid-column:span 6!important}.attendance-student-filter__period,.attendance-student-filter__month,.attendance-student-filter__month-from,.attendance-student-filter__month-to,.attendance-student-filter__date-from,.attendance-student-filter__date-to{grid-column:span 2!important}.attendance-student-filter .attendance-report-filter__search{grid-column:span 5!important}.attendance-student-filter__actions{grid-template-columns:.75fr 1fr 1.15fr;display:grid;grid-column:span 7!important}.attendance-student-filter__actions .button{min-height:52px}.attendance-student-filter__actions .button--secondary,.attendance-staff-filter__actions .button--secondary{color:#087259;background:#effbf6;border-color:#8fd9bd}.attendance-student-filter__actions .button--secondary:hover,.attendance-staff-filter__actions .button--secondary:hover{color:#fff;background:#087259;border-color:#087259}.attendance-staff-period-mode>div{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-staff-filter__group--period .form-field[data-staff-period-months]{grid-column:span 2}.attendance-staff-filter__actions{grid-column:span 5}.attendance-staff-filter__group--person .attendance-staff-filter__search{grid-column:span 5!important}.attendance-staff-filter__group--person .attendance-staff-filter__actions{grid-column:span 5}.attendance-staff-filter__actions .button{flex:auto;min-width:0}.attendance-staff-filter__actions .button--primary{min-width:0}.attendance-export-dialog{color:#17324a;background:0 0;border:0;border-radius:22px;width:min(620px,100vw - 28px);max-width:none;padding:0;box-shadow:0 30px 90px #02142652}.attendance-export-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05182ba8}.attendance-export-dialog__shell{background:#fff;border:1px solid #c4dae8d9;border-radius:22px;overflow:hidden}.attendance-export-dialog__shell>header{color:#fff;background:linear-gradient(125deg,#082a4b,#0d4268 68%,#087f9e);grid-template-columns:54px minmax(0,1fr) 38px;align-items:center;gap:14px;padding:20px 22px;display:grid}.attendance-export-dialog__icon{color:#d8fff0;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:16px;place-items:center;width:54px;height:54px;font-size:23px;display:grid}.attendance-export-dialog__shell header .eyebrow{color:#8fdbeb}.attendance-export-dialog__shell header h2{color:#fff;font-family:var(--font-display);margin:3px 0;font-size:22px}.attendance-export-dialog__shell header p{color:#c7dfec;margin:0;font-size:11px}.attendance-export-dialog__shell header button{color:#fff;background:#ffffff14;border:1px solid #fff3;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.attendance-export-dialog__shell header button:disabled{cursor:wait;opacity:.35}.attendance-export-dialog__shell>section{padding:22px}.attendance-export-dialog__progress{justify-content:space-between;align-items:end;margin-bottom:9px;display:flex}.attendance-export-dialog__progress strong{color:#0b3a5f;font-family:var(--font-display);font-size:32px;line-height:1}.attendance-export-dialog__progress span{color:#718598;text-transform:uppercase;font-size:10px;font-weight:750}.attendance-export-dialog__track{background:#e7eef3;border-radius:999px;height:10px;overflow:hidden;box-shadow:inset 0 1px 2px #06243d1f}.attendance-export-dialog__track i{border-radius:inherit;background:linear-gradient(90deg,#0d8ea9,#20b986);width:1%;height:100%;transition:width .32s;display:block;box-shadow:0 0 16px #19afa159}.attendance-export-dialog__steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:20px 0 14px;padding:0;list-style:none;display:grid}.attendance-export-dialog__steps li{color:#8091a1;text-align:center;background:#f9fbfc;border:1px solid #e1e9ef;border-radius:12px;justify-items:center;gap:7px;min-width:0;padding:10px 5px;transition:all .2s;display:grid}.attendance-export-dialog__steps li>i{color:#7690a5;background:#eaf0f4;border-radius:9px;place-items:center;width:30px;height:30px;font-size:11px;display:grid}.attendance-export-dialog__steps li span{gap:2px;display:grid}.attendance-export-dialog__steps li b{font-size:8px;line-height:1.2}.attendance-export-dialog__steps li small{color:inherit;font-size:6.5px;line-height:1.25}.attendance-export-dialog__steps li.is-active{color:#0a6682;background:#eaf9fc;border-color:#77cde0;transform:translateY(-2px);box-shadow:0 8px 18px #0f77941a}.attendance-export-dialog__steps li.is-active>i{color:#fff;background:#0b8dab}.attendance-export-dialog__steps li.is-complete{color:#087259;background:#effaf5;border-color:#a6dfc7}.attendance-export-dialog__steps li.is-complete>i{color:#fff;background:#16a071}.attendance-export-dialog__message{color:#536a7d;text-align:center;background:#f2f6f8;border-radius:11px;min-height:38px;margin:0;padding:11px 13px;font-size:10.5px;line-height:1.45}.attendance-export-dialog.has-error .attendance-export-dialog__track i{background:#cb3d46}.attendance-export-dialog.has-error .attendance-export-dialog__message{color:#a12c36;background:#fdebec}@media (width<=1050px){.attendance-student-filter__offer,.attendance-student-filter__site,.attendance-student-filter__section{grid-column:span 4!important}.attendance-student-filter__year,.attendance-student-filter__level,.attendance-student-filter__grade,.attendance-student-filter__period,.attendance-student-filter__month,.attendance-student-filter__month-from,.attendance-student-filter__month-to,.attendance-student-filter__date-from,.attendance-student-filter__date-to{grid-column:span 2!important}.attendance-student-filter .attendance-report-filter__search,.attendance-student-filter__actions{grid-column:span 6!important}}@media (width<=760px){.attendance-report-filter.attendance-student-filter form{grid-template-columns:1fr 1fr}.attendance-student-filter form>*{grid-column:span 1!important}.attendance-student-filter__offer,.attendance-student-filter__site,.attendance-student-filter__section,.attendance-student-filter .attendance-report-filter__search,.attendance-student-filter__actions{grid-column:1/-1!important}.attendance-student-filter__actions{grid-template-columns:1fr 1fr}.attendance-student-filter__actions .button--primary{grid-area:1/1/auto/-1}.attendance-staff-period-mode>div{grid-template-columns:1fr}.attendance-staff-filter__actions{grid-template-columns:1fr 1fr;display:grid}.attendance-staff-filter__actions .button--primary{grid-area:1/1/auto/-1}.attendance-export-dialog__steps{grid-template-columns:1fr}.attendance-export-dialog__steps li{text-align:left;grid-template-columns:32px minmax(0,1fr);justify-items:start;padding:8px 10px}.attendance-export-dialog__steps li small{font-size:8px}}@media (width<=480px){.attendance-report-filter.attendance-student-filter form{grid-template-columns:1fr}.attendance-student-filter form>*{grid-column:1/-1!important}.attendance-student-filter__actions,.attendance-staff-filter__actions{grid-template-columns:1fr}.attendance-student-filter__actions .button--primary,.attendance-staff-filter__actions .button--primary{grid-area:auto}.attendance-export-dialog__shell>header{grid-template-columns:46px minmax(0,1fr) 34px;gap:10px;padding:16px}.attendance-export-dialog__icon{width:46px;height:46px}.attendance-export-dialog__shell header h2{font-size:18px}.attendance-export-dialog__shell>section{padding:16px}}.attendance-report-filter.attendance-student-filter{background:#fff;border-color:#d7e3eb;border-radius:12px;overflow:visible;box-shadow:0 12px 30px #10334e12}.attendance-report-filter.attendance-student-filter:has(.attendance-filter-select.is-open){z-index:80;position:relative}.attendance-report-filter.attendance-student-filter>.attendance-student-filter__header{border-radius:11px 11px 0 0}.attendance-report-filter.attendance-student-filter form{background:#f3f7fa;border-radius:0 0 11px 11px;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;padding:14px;display:grid;overflow:visible}.attendance-student-filter__group{background:#fff;border:1px solid #dbe5ec;border-radius:11px;align-content:start;gap:11px;min-width:0;padding:13px;display:grid;position:relative;overflow:visible;box-shadow:0 2px 7px #13385209}.attendance-student-filter__group:has(.attendance-filter-select.is-open){z-index:70}.attendance-student-filter__group .form-field:has(.attendance-filter-select.is-open){z-index:90}.attendance-report-filter.attendance-student-filter form>.attendance-student-filter__group--context,.attendance-report-filter.attendance-student-filter form>.attendance-student-filter__group--classroom{grid-column:span 7!important}.attendance-report-filter.attendance-student-filter form>.attendance-student-filter__group--period,.attendance-report-filter.attendance-student-filter form>.attendance-student-filter__group--students{grid-column:span 5!important}.attendance-student-filter__group>header{border-bottom:1px solid #e9eef2;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-height:38px;padding-bottom:9px;display:grid}.attendance-student-filter__group>header>span{color:#087b9f;background:#e5f5fa;border-radius:8px;place-items:center;width:34px;height:34px;font-size:13px;display:grid}.attendance-student-filter__group--period>header>span{color:#5f51b8;background:#efecff}.attendance-student-filter__group--classroom>header>span{color:#0a765c;background:#e5f7ef}.attendance-student-filter__group--students>header>span{color:#9a6410;background:#fff3d9}.attendance-student-filter__group>header>div{gap:1px;min-width:0;display:grid}.attendance-student-filter__group>header small{color:#7890a2;letter-spacing:.09em;text-transform:uppercase;font-size:7.5px;font-weight:800;line-height:1.2}.attendance-student-filter__group>header strong{color:#153c5a;font-family:var(--font-display);font-size:13px;line-height:1.2}.attendance-student-filter__fields{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:8px;min-width:0;display:grid}.attendance-student-filter__group .form-field,.attendance-student-filter__group .attendance-student-filter__actions{grid-area:auto!important}.attendance-student-filter__group--context .attendance-student-filter__offer{grid-column:span 5!important}.attendance-student-filter__group--context .attendance-student-filter__year{grid-column:span 3!important}.attendance-student-filter__group--context .attendance-student-filter__site{grid-column:span 4!important}.attendance-student-filter__group--period .attendance-student-filter__fields{grid-template-columns:repeat(6,minmax(0,1fr))}.attendance-student-filter__group--period .attendance-student-filter__period,.attendance-student-filter__group--period .attendance-student-filter__month,.attendance-student-filter__group--period .attendance-student-filter__month-from,.attendance-student-filter__group--period .attendance-student-filter__month-to,.attendance-student-filter__group--period .attendance-student-filter__date-from,.attendance-student-filter__group--period .attendance-student-filter__date-to,:is(.attendance-student-filter__group--period .attendance-student-filter__fields:has([data-report-period-months]:not([hidden]))>*,.attendance-student-filter__group--period .attendance-student-filter__fields:has([data-report-period-range]:not([hidden]))>*){grid-column:span 3!important}:is(.attendance-student-filter__group--period .attendance-student-filter__fields:has([data-report-period-months]:not([hidden])),.attendance-student-filter__group--period .attendance-student-filter__fields:has([data-report-period-range]:not([hidden]))){gap:10px}:is(.attendance-student-filter__group--period .attendance-student-filter__fields:has([data-report-period-months]:not([hidden])) .attendance-student-filter__period,.attendance-student-filter__group--period .attendance-student-filter__fields:has([data-report-period-range]:not([hidden])) .attendance-student-filter__period){grid-column:1/-1!important}.attendance-student-filter__group--classroom .attendance-student-filter__level,.attendance-student-filter__group--classroom .attendance-student-filter__grade{grid-column:span 3!important}.attendance-student-filter__group--classroom .attendance-student-filter__section{grid-column:span 6!important}.attendance-student-filter__group .form-field{background:#f9fbfc;border:1px solid #dce6ec;border-radius:8px;min-width:0;padding:7px 9px 6px}.attendance-student-filter__group .form-field:focus-within{background:#fff;border-color:#55b5d2;box-shadow:0 0 0 3px #1c96bc1a}.attendance-student-filter__group .form-field>span{color:#60778a;letter-spacing:.065em;text-align:left;text-transform:uppercase;border-bottom:0;justify-content:flex-start;min-height:15px;padding:0 1px 4px;font-size:8px}.attendance-student-filter__group .attendance-filter-select__trigger{min-height:36px;padding:5px 22px 5px 1px;font-size:12px}.attendance-student-filter__group .attendance-filter-select__trigger>span{text-align:left}.attendance-student-filter__group .attendance-filter-select__trigger>i{justify-self:end}.attendance-report-filter.attendance-student-filter .attendance-student-filter__group--period input[type=month],.attendance-report-filter.attendance-student-filter .attendance-student-filter__group--period input[type=date]{box-sizing:border-box;text-overflow:ellipsis;width:100%;min-width:0;max-width:100%;padding-right:27px;font-size:12px;display:block;overflow:hidden}.attendance-student-filter__group--period input[type=month]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.78;flex:0 0 16px;width:16px;height:16px;margin:0;padding:0}.attendance-student-filter__group--period input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.78;flex:0 0 16px;width:16px;height:16px;margin:0;padding:0}.attendance-student-filter__group--period input[type=month]::-webkit-datetime-edit{min-width:0;padding:0;overflow:hidden}.attendance-student-filter__group--period input[type=date]::-webkit-datetime-edit{min-width:0;padding:0;overflow:hidden}.attendance-student-filter__group--students .attendance-report-filter__search{padding:7px 9px 5px;grid-column:1/-1!important}.attendance-student-filter__group--students .attendance-report-filter__search>small{color:#74899a;margin-top:3px;font-size:8px}.attendance-student-filter__group--students .attendance-student-filter__actions{grid-template-columns:.78fr 1fr 1.18fr;gap:7px;display:grid;grid-column:1/-1!important}.attendance-student-filter__group--students .attendance-student-filter__actions .button{border-radius:8px;min-height:42px;padding:7px 8px;font-size:10px}@media (width<=900px){.attendance-report-filter.attendance-student-filter form>.attendance-student-filter__group--context,.attendance-report-filter.attendance-student-filter form>.attendance-student-filter__group--period,.attendance-report-filter.attendance-student-filter form>.attendance-student-filter__group--classroom,.attendance-report-filter.attendance-student-filter form>.attendance-student-filter__group--students{grid-column:1/-1!important}.attendance-student-filter__group--students{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:end}.attendance-student-filter__group--students>header{grid-column:1/-1}.attendance-student-filter__group--students .attendance-report-filter__search{grid-column:1!important}.attendance-student-filter__group--students .attendance-student-filter__actions{grid-column:2!important}}@media (width<=680px){.attendance-student-filter__header{grid-template-columns:36px minmax(0,1fr) auto;padding:12px}.attendance-student-filter__header .attendance-student-filter__performance{grid-column:auto;justify-self:end}.attendance-student-filter__header p{display:none}.attendance-report-filter.attendance-student-filter form{gap:9px;padding:10px}.attendance-student-filter__group{padding:11px}.attendance-student-filter__group--context .attendance-student-filter__offer{grid-column:1/-1!important}.attendance-student-filter__group--context .attendance-student-filter__year{grid-column:span 4!important}.attendance-student-filter__group--context .attendance-student-filter__site{grid-column:span 8!important}.attendance-student-filter__group--classroom .attendance-student-filter__level,.attendance-student-filter__group--classroom .attendance-student-filter__grade{grid-column:span 6!important}.attendance-student-filter__group--classroom .attendance-student-filter__section{grid-column:1/-1!important}.attendance-student-filter__group--period .attendance-student-filter__fields{gap:10px}:is(.attendance-student-filter__group--period .attendance-student-filter__fields:has([data-report-period-months]:not([hidden]))>*,.attendance-student-filter__group--period .attendance-student-filter__fields:has([data-report-period-range]:not([hidden]))>*){grid-column:span 3!important}:is(.attendance-student-filter__group--period .attendance-student-filter__fields:has([data-report-period-months]:not([hidden])) .attendance-student-filter__period,.attendance-student-filter__group--period .attendance-student-filter__fields:has([data-report-period-range]:not([hidden])) .attendance-student-filter__period){grid-column:1/-1!important}.attendance-student-filter__group--students{grid-template-columns:1fr;display:grid}.attendance-student-filter__group--students .attendance-report-filter__search,.attendance-student-filter__group--students .attendance-student-filter__actions{grid-column:1!important}.attendance-student-filter__search-row{grid-template-columns:auto minmax(0,1fr)}}@media (width<=430px){.attendance-student-filter__header{grid-template-columns:34px minmax(0,1fr)}.attendance-student-filter__header .attendance-student-filter__performance{grid-column:1/-1;justify-self:start}.attendance-student-filter__group--period .attendance-student-filter__fields{grid-template-columns:repeat(6,minmax(0,1fr))}:is(.attendance-student-filter__group--period .attendance-student-filter__fields:has([data-report-period-months]:not([hidden]))>*,.attendance-student-filter__group--period .attendance-student-filter__fields:has([data-report-period-range]:not([hidden]))>*){grid-column:span 3!important}:is(.attendance-student-filter__group--period .attendance-student-filter__fields:has([data-report-period-months]:not([hidden])) .attendance-student-filter__period,.attendance-student-filter__group--period .attendance-student-filter__fields:has([data-report-period-range]:not([hidden])) .attendance-student-filter__period){grid-column:1/-1!important}.attendance-student-filter__group--students .attendance-student-filter__actions{grid-template-columns:1fr 1fr}.attendance-student-filter__group--students .attendance-student-filter__actions .button--primary{grid-area:1/1/auto/-1}.attendance-report-filter.attendance-student-filter .attendance-student-filter__group--period input[type=month],.attendance-report-filter.attendance-student-filter .attendance-student-filter__group--period input[type=date]{padding-right:22px;font-size:11px}.attendance-student-filter__group--period input[type=month]::-webkit-calendar-picker-indicator{flex-basis:14px;width:14px;height:14px}.attendance-student-filter__group--period input[type=date]::-webkit-calendar-picker-indicator{flex-basis:14px;width:14px;height:14px}}@media (width<=340px){.attendance-student-filter__fields,.attendance-student-filter__group--period .attendance-student-filter__fields{grid-template-columns:1fr}.attendance-student-filter__group--context .attendance-student-filter__offer,.attendance-student-filter__group--context .attendance-student-filter__year,.attendance-student-filter__group--context .attendance-student-filter__site,.attendance-student-filter__group--period .attendance-student-filter__period,.attendance-student-filter__group--period .attendance-student-filter__month,.attendance-student-filter__group--period .attendance-student-filter__month-from,.attendance-student-filter__group--period .attendance-student-filter__month-to,.attendance-student-filter__group--period .attendance-student-filter__date-from,.attendance-student-filter__group--period .attendance-student-filter__date-to,.attendance-student-filter__group--classroom .attendance-student-filter__level,.attendance-student-filter__group--classroom .attendance-student-filter__grade,.attendance-student-filter__group--classroom .attendance-student-filter__section{grid-column:1/-1!important}.attendance-student-filter__search-row{grid-template-columns:1fr}}.attendance-matrix-panel__header{background:linear-gradient(135deg,#fff 0%,#fbfdff 58%,#f2f9fc 100%);grid-template-columns:minmax(280px,.9fr) minmax(400px,1.15fr) 220px;align-items:center;gap:14px 18px;padding:18px 20px 14px}.attendance-matrix-panel__intro{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;min-width:0;display:grid}.attendance-matrix-panel__icon{color:#087da7;background:linear-gradient(145deg,#e9f8fc,#f7fcfe);border:1px solid #cceaf3;border-radius:13px;place-items:center;width:44px;height:44px;font-size:16px;display:grid;box-shadow:0 5px 14px #13739714}.attendance-matrix-panel__intro .eyebrow{color:#08789f;letter-spacing:.15em;margin:0 0 3px;font-size:8.5px}.attendance-matrix-panel__intro h2{color:#092f4d;margin:0;font-size:22px;line-height:1.15}.attendance-matrix-panel__intro p{color:#687d8f;margin:5px 0 0;font-size:10px;line-height:1.4}.attendance-matrix-context{background:#ffffffd1;border:1px solid #dae7ed;border-radius:13px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-width:0;padding:6px;display:grid;box-shadow:0 5px 16px #0f37520b}.attendance-matrix-context>span{color:#153c59;background:#f6fafc;border-radius:9px;grid-template-rows:auto auto;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:1px 7px;min-width:0;min-height:46px;padding:6px 8px;display:grid}.attendance-matrix-context>span+span{border-left:1px solid #e6edf1}.attendance-matrix-context i{color:#087fa8;background:#e2f5fa;border-radius:8px;grid-row:1/3;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.attendance-matrix-context small{color:#778b9c;letter-spacing:.1em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:7px;font-weight:850;overflow:hidden}.attendance-matrix-context strong{color:#123957;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;line-height:1.25;overflow:hidden}.attendance-matrix-panel__tools{justify-items:end;gap:8px;width:100%;min-width:0;display:grid}.attendance-matrix-panel__count{color:#126488;background:#edf9fc;border:1px solid #bfe3ee;align-items:center;gap:6px;padding:6px 10px;font-size:9px;display:inline-flex}.attendance-matrix-panel__count i{color:#1597bd}.attendance-matrix-panel__tools .attendance-matrix-view-switch{width:100%;min-width:0}.attendance-matrix-panel__tools .attendance-matrix-view-switch button{min-height:34px;padding-inline:11px;font-size:8.5px}.attendance-matrix-panel__header .attendance-report-legend{background:#f8fbfce6;border:1px solid #e2eaef;border-radius:10px;grid-column:1/-1;justify-content:flex-start;align-items:center;gap:8px 15px;min-width:0;padding:9px 12px;display:flex}.attendance-matrix-panel__header .attendance-report-legend>small{color:#536d81;letter-spacing:.12em;text-transform:uppercase;border-right:1px solid #dce6eb;padding-right:12px;font-size:7.5px;font-weight:900}.attendance-matrix-panel__header .attendance-report-legend span{font-size:8.5px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-quick-shift{color:#496b82;margin-top:8px}.attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-matrix__person,.attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-matrix__person{vertical-align:top}.attendance-matrix-panel[data-matrix-type=personal] .attendance-matrix-panel__header{grid-template-columns:minmax(300px,1fr) auto}.attendance-matrix-panel[data-matrix-type=personal] .attendance-matrix-panel__tools{grid-area:1/2}.attendance-matrix-panel[data-matrix-type=personal] .attendance-report-legend{grid-area:2/1/auto/-1}@media (width<=1120px){.attendance-matrix-panel__header{grid-template-columns:minmax(0,1fr) auto}.attendance-matrix-panel__intro{grid-area:1/1}.attendance-matrix-panel__tools{grid-area:1/2}.attendance-matrix-context{grid-area:2/1/auto/-1}.attendance-matrix-panel__header .attendance-report-legend{grid-area:3/1/auto/-1}}@media (width<=680px){.attendance-matrix-panel__header{grid-template-columns:minmax(0,1fr);gap:11px;padding:14px}.attendance-matrix-panel__intro,.attendance-matrix-panel__tools,.attendance-matrix-context,.attendance-matrix-panel__header .attendance-report-legend,.attendance-matrix-panel[data-matrix-type=personal] .attendance-matrix-panel__tools,.attendance-matrix-panel[data-matrix-type=personal] .attendance-report-legend{grid-area:auto/1}.attendance-matrix-panel__intro{grid-template-columns:38px minmax(0,1fr);gap:10px}.attendance-matrix-panel__icon{border-radius:11px;width:38px;height:38px;font-size:14px}.attendance-matrix-panel__intro h2{font-size:19px}.attendance-matrix-panel__intro p{margin-top:3px;font-size:9px}.attendance-matrix-context{gap:4px;padding:4px}.attendance-matrix-context>span{grid-template-columns:20px minmax(0,1fr);gap:1px 5px;min-height:41px;padding:5px}.attendance-matrix-context>span+span{border-left:0}.attendance-matrix-context i{border-radius:6px;width:20px;height:20px;font-size:8px}.attendance-matrix-context small{font-size:6.5px}.attendance-matrix-context strong{font-size:9px}.attendance-matrix-panel__tools{grid-template-columns:auto minmax(0,1fr);place-items:center stretch;width:100%}.attendance-matrix-panel__count{justify-self:start}.attendance-matrix-panel__tools .attendance-matrix-view-switch{grid-column:auto;width:100%;min-width:0}.attendance-matrix-panel__tools .attendance-matrix-view-switch button{min-height:36px;font-size:8px}.attendance-matrix-panel__header .attendance-report-legend{scrollbar-width:thin;flex-wrap:nowrap;gap:8px 13px;padding:8px 10px;overflow-x:auto}.attendance-matrix-panel__header .attendance-report-legend>small,.attendance-matrix-panel__header .attendance-report-legend span{flex:none}.attendance-matrix-panel__header .attendance-report-legend span{font-size:8px}}@media (width<=430px){.attendance-matrix-panel__header{padding:12px 10px}.attendance-matrix-panel__intro p{display:none}.attendance-matrix-context strong{font-size:8.5px}.attendance-matrix-panel__tools{grid-template-columns:1fr}.attendance-matrix-panel__count{justify-self:start}.attendance-matrix-panel__tools .attendance-matrix-view-switch{grid-column:1}}.attendance-matrix-panel .attendance-matrix-pagination{z-index:5;background:linear-gradient(135deg,#fbfdfe,#f4f9fb);border-top:1px solid #dce7ed;padding:0;position:relative}.attendance-pagination{justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:13px 20px;display:flex}.attendance-pagination__summary{align-items:center;gap:11px;min-width:0;display:flex}.attendance-pagination__summary-icon{color:#087da5;background:#e8f7fb;border:1px solid #c9e7f0;border-radius:11px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:13px;display:grid}.attendance-pagination__summary>span:last-child{gap:3px;min-width:0;display:grid}.attendance-pagination__summary small{color:#748899;letter-spacing:.11em;text-transform:uppercase;font-size:7.5px;font-weight:850}.attendance-pagination__summary strong{color:#123a57;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;overflow:hidden}.attendance-pagination__navigation{align-items:center;gap:12px;display:flex}.attendance-pagination__position{color:#667d8e;white-space:nowrap;font-size:9px;font-weight:750}.attendance-pagination__controls{background:#fff;border:1px solid #d7e2e9;border-radius:12px;align-items:center;gap:5px;padding:4px;display:inline-flex;box-shadow:0 5px 14px #0f385212}.attendance-pagination__pages{align-items:center;gap:4px;display:inline-flex}.attendance-pagination__arrow,.attendance-pagination__page{color:#365871;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;width:34px;height:34px;font-size:11px;font-weight:850;text-decoration:none;transition:color .16s,border-color .16s,background .16s,transform .16s;display:inline-grid}.attendance-pagination__arrow{color:#0c7096}.attendance-pagination__arrow:not(.is-disabled):hover,.attendance-pagination__page:not(.is-current):hover{color:#075c80;background:#edf8fb;border-color:#b9dce7;transform:translateY(-1px)}.attendance-pagination__arrow:focus-visible,.attendance-pagination__page:focus-visible{outline-offset:1px;outline:3px solid #1694bc38}.attendance-pagination__arrow.is-disabled{color:#b2bec7;cursor:not-allowed;background:#f4f6f8}.attendance-pagination__page.is-current{color:#fff;background:linear-gradient(145deg,#0b527c,#083a60);box-shadow:0 4px 10px #093a5c33}.attendance-pagination__ellipsis{color:#8294a3;place-items:center;width:22px;height:34px;font-size:11px;display:inline-grid}@media (width<=680px){.attendance-pagination{flex-direction:column;align-items:stretch;gap:11px;min-height:0;padding:13px 14px}.attendance-pagination__summary-icon{flex-basis:34px;width:34px;height:34px}.attendance-pagination__summary strong{font-size:10px}.attendance-pagination__navigation{justify-content:space-between}.attendance-pagination__controls{margin-left:auto}}@media (width<=390px){.attendance-pagination__navigation{flex-direction:column;align-items:stretch;gap:7px}.attendance-pagination__position{align-self:center}.attendance-pagination__controls{justify-content:space-between;width:100%;margin:0}.attendance-pagination__pages{justify-content:center}.attendance-pagination__arrow,.attendance-pagination__page{width:36px;height:36px}}.attendance-dashboard-hero{isolation:isolate;color:#fff;background:radial-gradient(circle at 86% 8%,#24b4d733,#0000 28%),linear-gradient(125deg,#071f38 0%,#0a3152 60%,#0a4d68 100%);border:1px solid #164e73;border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(330px,.44fr);align-items:stretch;gap:clamp(22px,3vw,46px);margin-bottom:18px;padding:clamp(25px,3vw,38px);display:grid;position:relative;overflow:hidden;box-shadow:0 16px 40px #07233a29}.attendance-dashboard-hero:before,.attendance-dashboard-hero:after{z-index:-1;content:"";border:1px solid #ffffff1a;border-radius:50%;position:absolute}.attendance-dashboard-hero:before{width:430px;height:430px;bottom:-245px;right:-125px}.attendance-dashboard-hero:after{width:300px;height:300px;top:-180px;right:92px}.attendance-dashboard-hero__copy{align-self:center;max-width:760px}.attendance-dashboard-hero__eyebrow{color:#8edff0;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;font-size:10px;font-weight:800;display:inline-flex}.attendance-dashboard-hero__eyebrow i{font-size:12px}.attendance-dashboard-hero h1{color:#fff;font-family:var(--font-display);letter-spacing:-.04em;margin:9px 0 10px;font-size:clamp(32px,4vw,48px);font-weight:750;line-height:1}.attendance-dashboard-hero__copy>p{color:#ebf6fcd1;max-width:700px;margin:0;font-size:clamp(13px,1.2vw,15px);line-height:1.65}.attendance-dashboard-hero__context{flex-wrap:wrap;gap:8px;margin-top:21px;display:flex}.attendance-dashboard-hero__context span{color:#f2fafde6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff12;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:8px;min-height:34px;padding:7px 11px;font-size:11px;display:inline-flex}.attendance-dashboard-hero__context i{color:#7fdbed}.attendance-dashboard-hero__context b{font-weight:650}.attendance-dashboard-hero__action{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff17;border:1px solid #ffffff2e;border-radius:15px;grid-template-columns:54px minmax(0,1fr);align-content:center;gap:13px;min-height:152px;padding:19px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff17}.attendance-dashboard-hero__action-icon{color:#073354;background:linear-gradient(145deg,#fff,#dff7fc);border:1px solid #ffffff80;border-radius:13px;place-items:center;width:54px;height:54px;font-size:20px;display:grid;box-shadow:0 10px 22px #01121f2e}.attendance-dashboard-hero__action>span:nth-child(2){align-content:center;gap:3px;min-width:0;display:grid}.attendance-dashboard-hero__action small{color:#91dced;letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:800}.attendance-dashboard-hero__action strong{color:#fff;font-size:14px}.attendance-dashboard-hero__action p{color:#e8f5fab8;margin:0;font-size:11px;line-height:1.45}.attendance-dashboard-hero__button{color:#083453;background:#fff;border:1px solid #fff;border-radius:9px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:10px 14px;font-size:12px;font-weight:800;text-decoration:none;transition:transform .16s,background-color .16s,box-shadow .16s;display:flex;box-shadow:0 9px 20px #01142329}.attendance-dashboard-hero__button:hover{color:#052844;background:#eaf9fc;transform:translateY(-1px);box-shadow:0 12px 25px #01142338}.attendance-dashboard-hero__action--readonly{grid-template-rows:1fr}.attendance-dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.attendance-dashboard-metric{--attendance-metric-tone:#0b8a66;--attendance-metric-soft:#e8f8f2;background:#fff;border:1px solid #d9e3e9;border-radius:13px;min-width:0;padding:17px 18px 18px;position:relative;overflow:hidden;box-shadow:0 7px 20px #0a2a420e}.attendance-dashboard-metric:before{background:var(--attendance-metric-tone);content:"";width:4px;position:absolute;inset:0 auto 0 0}.attendance-dashboard-metric--warning{--attendance-metric-tone:#b8790b;--attendance-metric-soft:#fff4d8}.attendance-dashboard-metric--danger{--attendance-metric-tone:#bd4150;--attendance-metric-soft:#feecef}.attendance-dashboard-metric header{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.attendance-dashboard-metric header>span{width:38px;height:38px;color:var(--attendance-metric-tone);background:var(--attendance-metric-soft);border-radius:10px;place-items:center;font-size:14px;display:grid}.attendance-dashboard-metric header small{color:#405970;letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:800}.attendance-dashboard-metric header em{color:var(--attendance-metric-tone);background:var(--attendance-metric-soft);border-radius:999px;padding:5px 7px;font-size:8px;font-style:normal;font-weight:800}.attendance-dashboard-metric>div{border-top:1px solid #edf1f4;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:15px;margin-top:14px;padding-top:13px;display:grid}.attendance-dashboard-metric strong{color:#102f49;font-family:var(--font-display);font-size:clamp(30px,3vw,38px);line-height:.9}.attendance-dashboard-metric p{color:#687b8d;margin:0;font-size:10px;line-height:1.45}.attendance-dashboard-tools{background:#fff;border:1px solid #d8e2e9;border-radius:14px;margin-bottom:18px;overflow:hidden;box-shadow:0 8px 24px #0b2c450e}.attendance-dashboard-tools__header{background:linear-gradient(120deg,#fff,#f6fafc);border-bottom:1px solid #e3eaf0;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:17px 19px;display:grid}.attendance-dashboard-tools__header>span{color:#087fa9;background:#e8f6fa;border:1px solid #cce5ef;border-radius:11px;place-items:center;width:44px;height:44px;font-size:16px;display:grid}.attendance-dashboard-tools__header>div{min-width:0}.attendance-dashboard-tools__header small{color:#08789f;letter-spacing:.11em;text-transform:uppercase;font-size:8px;font-weight:850}.attendance-dashboard-tools__header h2{color:#102f49;font-family:var(--font-display);margin:3px 0 2px;font-size:18px}.attendance-dashboard-tools__header p{color:#738696;margin:0;font-size:10px}.attendance-dashboard-tools__header em{color:#167258;white-space:nowrap;background:#effaf5;border:1px solid #cce9dd;border-radius:999px;align-items:center;gap:6px;padding:7px 9px;font-size:8px;font-style:normal;font-weight:800;display:inline-flex}.attendance-dashboard-tool-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:11px;padding:13px;display:grid}.attendance-dashboard-tool{--attendance-tool-tone:#0d537f;--attendance-tool-soft:#e7f3f8;min-height:108px;color:inherit;background:#fbfdfe;border:1px solid #dce5eb;border-radius:11px;grid-template-columns:46px minmax(0,1fr) 28px;align-items:center;gap:11px;padding:14px;text-decoration:none;transition:transform .17s,border-color .17s,box-shadow .17s,background-color .17s;display:grid;position:relative;overflow:hidden}.attendance-dashboard-tool:before{background:var(--attendance-tool-tone);content:"";width:3px;position:absolute;inset:0 auto 0 0}.attendance-dashboard-tool--cyan{--attendance-tool-tone:#087f9d;--attendance-tool-soft:#e5f7fa}.attendance-dashboard-tool--amber{--attendance-tool-tone:#a66b09;--attendance-tool-soft:#fff3d6}.attendance-dashboard-tool--violet{--attendance-tool-tone:#684db3;--attendance-tool-soft:#f0ebff}.attendance-dashboard-tool--green{--attendance-tool-tone:#168060;--attendance-tool-soft:#e8f8f1}.attendance-dashboard-tool:hover{border-color:color-mix(in srgb, var(--attendance-tool-tone) 45%, #dce5eb);background:#fff;transform:translateY(-2px);box-shadow:0 11px 24px #0a304a1a}.attendance-dashboard-tool:focus-visible{outline-offset:2px;outline:3px solid #0a82b238}.attendance-dashboard-tool__icon{width:46px;height:46px;color:var(--attendance-tool-tone);background:var(--attendance-tool-soft);border-radius:11px;place-items:center;font-size:16px;display:grid}.attendance-dashboard-tool>span:nth-child(2){gap:3px;min-width:0;display:grid}.attendance-dashboard-tool small{color:var(--attendance-tool-tone);letter-spacing:.09em;text-transform:uppercase;font-size:7.5px;font-weight:850}.attendance-dashboard-tool strong{color:#173750;font-size:13px}.attendance-dashboard-tool p{color:#718392;margin:1px 0 0;font-size:9.5px;line-height:1.35}.attendance-dashboard-tool__arrow{width:28px;height:28px;color:var(--attendance-tool-tone);background:#fff;border:1px solid #dce5eb;border-radius:8px;place-items:center;font-size:9px;transition:color .16s,background-color .16s,transform .16s;display:grid}.attendance-dashboard-tool:hover .attendance-dashboard-tool__arrow{border-color:var(--attendance-tool-tone);color:#fff;background:var(--attendance-tool-tone);transform:translate(2px)}.attendance-dashboard-activity{border-radius:14px;margin-bottom:20px;box-shadow:0 8px 25px #0a2b440f}.attendance-dashboard-activity .attendance-activity-panel__header{background:linear-gradient(120deg,#fff,#f7fbfd);padding:18px 19px}.attendance-dashboard-activity__heading{align-items:center;gap:12px;min-width:0;display:flex}.attendance-dashboard-activity__heading>span{color:#0a7da5;background:#eaf6fa;border:1px solid #cee5ef;border-radius:11px;flex:0 0 44px;place-items:center;width:44px;height:44px;font-size:15px;display:grid}.attendance-dashboard-activity__heading>div{min-width:0}.attendance-dashboard-activity__heading small{color:#08789f;letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:850}.attendance-dashboard-activity__heading h2{margin:3px 0 2px;font-size:18px}.attendance-dashboard-activity__heading p{font-size:10px}.attendance-dashboard-activity .attendance-date-filter{background:#fff;border:1px solid #dce5eb;border-radius:11px;align-items:end;padding:9px}.attendance-dashboard-activity .attendance-date-filter label{min-width:155px}.attendance-dashboard-activity .attendance-date-filter label span{letter-spacing:.07em;text-transform:uppercase;font-size:8px;font-weight:800}.attendance-dashboard-activity .attendance-date-filter input{border-radius:8px;height:40px;font-size:11px}.attendance-dashboard-activity .attendance-date-filter .button{border-radius:8px;min-height:40px}.attendance-dashboard-activity__empty{min-height:265px;padding:34px 18px}.attendance-dashboard-activity__empty>span{color:#1786a9;background:linear-gradient(145deg,#effafd,#e3f3f8);border:1px solid #cee6ef;border-radius:20px;place-items:center;width:66px;height:66px;margin-bottom:13px;display:grid;box-shadow:0 8px 22px #0e5c7817}.attendance-dashboard-activity__empty>span i{color:inherit;margin:0;font-size:24px}.attendance-dashboard-activity__empty>small{color:#698193;letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:850}.attendance-dashboard-activity__empty strong{color:#143852;margin-top:5px;font-size:16px}.attendance-dashboard-activity__empty p{color:#748796;max-width:450px;margin:7px 0 0;font-size:11px;line-height:1.5}.attendance-dashboard-activity__empty a{color:#0a6f94;background:#f0f9fc;border:1px solid #bcdce7;border-radius:8px;align-items:center;gap:7px;min-height:36px;margin-top:15px;padding:8px 11px;font-size:10px;font-weight:800;text-decoration:none;display:inline-flex}.attendance-dashboard-activity__empty a:hover{color:#fff;background:#0b6388}.attendance-dashboard-activity .attendance-activity-panel__footer{background:#f7fafc;min-height:64px;padding:11px 17px}.attendance-dashboard-activity__summary{align-items:center;gap:10px;display:inline-flex}.attendance-dashboard-activity__summary>i{color:#0b789f;background:#e6f4f8;border-radius:9px;place-items:center;width:34px;height:34px;font-size:12px;display:grid}.attendance-dashboard-activity__summary>span{gap:1px;display:grid}.attendance-dashboard-activity__summary small,.attendance-dashboard-activity__exports>small{color:#778999;letter-spacing:.07em;text-transform:uppercase;font-size:7.5px;font-weight:800}.attendance-dashboard-activity__summary strong{color:#173952;font-size:11px}.attendance-dashboard-activity__summary>a{margin-left:5px}.attendance-dashboard-activity__exports{grid-template-columns:auto auto;align-items:center;gap:6px;display:grid}.attendance-dashboard-activity__exports>small{grid-column:1/-1;justify-self:end}.attendance-dashboard-activity__exports .button{border-radius:8px}.attendance-report-output-center{background:linear-gradient(125deg,#f5fbfd,#f8f9ff);border:1px solid #cbdde8;border-radius:12px;grid-template-columns:minmax(220px,.7fr) minmax(0,2fr);align-items:center;gap:14px;margin:2px 0 0;padding:13px;display:grid;grid-column:1/-1!important}.attendance-report-output-center>header{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;display:grid}.attendance-report-output-center>header>span{color:#0a789f;background:#dff3f8;border-radius:10px;place-items:center;width:40px;height:40px;font-size:15px;display:grid}.attendance-report-output-center>header small{color:#08789f;letter-spacing:.1em;text-transform:uppercase;font-size:7.5px;font-weight:850}.attendance-report-output-center>header h2{color:#143750;margin:2px 0;font-size:14px}.attendance-report-output-center>header p{color:#6d8292;margin:0;font-size:8.5px}.attendance-report-output-center__actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.attendance-report-output-center__actions--reports{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-active-site-field{color:#123d5a;background:#f1f9fd;border:1px solid #c8deeb;border-radius:12px;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:50px;padding:8px 12px;display:grid}.attendance-active-site-field>i:first-child{color:#0788b5;background:#dff3fb;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.attendance-active-site-field strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.attendance-active-site-field>i:last-child{color:#66869c;text-align:center;font-size:11px}.attendance-report-output-center__actions>a,.attendance-report-output-center__actions>button{color:#214762;min-width:0;min-height:48px;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #d0dce6;border-radius:9px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px;padding:7px 8px;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.attendance-report-output-center__actions>a:hover,.attendance-report-output-center__actions>button:hover{border-color:#1688ad;transform:translateY(-1px);box-shadow:0 8px 18px #0d507017}.attendance-report-output-center__actions>a>i,.attendance-report-output-center__actions>button>i{color:#087da5;background:#e6f5f9;border-radius:8px;place-items:center;width:30px;height:30px;font-size:11px;display:grid}.attendance-report-output-center__actions span{gap:1px;min-width:0;display:grid}.attendance-report-output-center__actions small{color:#728696;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:7px;font-weight:750;overflow:hidden}.attendance-report-output-center__actions b{color:#173c56;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.attendance-report-output-center__actions>button:nth-child(4)>i{color:#b23542;background:#fdebed}.attendance-report-output-center__actions>button:last-child>i{color:#5063a7;background:#edefff}.attendance-report-output-center{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;padding:16px}.attendance-report-selection-summary{background:#fff;border:1px solid #cde2ec;border-radius:11px;grid-template-columns:max-content minmax(110px,.45fr) minmax(220px,1.5fr) minmax(145px,.7fr) minmax(130px,.65fr);align-items:center;gap:9px;padding:10px;display:grid}.attendance-report-selection-summary>span{border-left:1px solid #e2ebf0;gap:2px;min-width:0;padding:2px 10px;display:grid}.attendance-report-selection-summary>span small{color:#728797;letter-spacing:.07em;text-transform:uppercase;font-size:7px;font-weight:850}.attendance-report-selection-summary>span strong{color:#173d57;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.attendance-report-selection-summary .attendance-report-selection-summary__state{color:#087458;white-space:nowrap;background:#e8f8f1;border:0;border-radius:9px;align-items:center;gap:7px;padding:8px 10px;display:inline-flex}.attendance-report-selection-summary__state i{font-size:12px}.attendance-report-selection-summary__state b{font-size:9px}.attendance-report-output-center__actions--three{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-report-output-center__actions>button{grid-template-columns:34px minmax(0,1fr) auto;min-height:58px;padding:9px 10px}.attendance-report-output-center__actions>button>em{color:#60788a;letter-spacing:.04em;text-transform:uppercase;background:#eef3f6;border-radius:999px;align-self:start;padding:3px 6px;font-size:6.5px;font-style:normal;font-weight:850}.attendance-report-output-center__actions>button.is-recommended{background:#effbfe;border-color:#4eb9d3;box-shadow:0 7px 18px #0b81a11a}.attendance-report-output-center__actions>button.is-recommended>em{color:#066e8e;background:#d8f3f9}.attendance-report-output-center__actions>button:disabled{cursor:wait;opacity:.58;transform:none}.attendance-pdf-preview-dialog{color:#17324a;background:0 0;border:0;border-radius:18px;width:min(1180px,100vw - 28px);max-width:none;height:min(880px,100dvh - 28px);max-height:none;padding:0;box-shadow:0 34px 100px #02142666}.attendance-pdf-preview-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#041526c2}.attendance-pdf-preview-dialog__shell{border-radius:inherit;background:#eef4f7;border:1px solid #aed2e4cc;grid-template-rows:auto auto minmax(0,1fr);height:100%;display:grid;overflow:hidden}.attendance-pdf-preview-dialog__shell>header{color:#fff;background:linear-gradient(120deg,#072c4f,#0b5278 70%,#0787a5);grid-template-columns:50px minmax(0,1fr) 40px;align-items:center;gap:13px;padding:15px 18px;display:grid}.attendance-pdf-preview-dialog__icon{color:#fff;background:#ffffff1a;border:1px solid #ffffff38;border-radius:14px;place-items:center;width:50px;height:50px;font-size:20px;display:grid}.attendance-pdf-preview-dialog__shell header .eyebrow{color:#9ee6f2}.attendance-pdf-preview-dialog__shell header h2{color:#fff;margin:2px 0;font-size:20px}.attendance-pdf-preview-dialog__shell header p{color:#c9e1ec;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;overflow:hidden}.attendance-pdf-preview-dialog__shell header button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.attendance-pdf-preview-dialog__shell>nav{background:#fff;border-bottom:1px solid #d5e1e8;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:8px 15px;display:flex}.attendance-pdf-preview-dialog__shell>nav>span{color:#60798b;align-items:center;gap:7px;font-size:9px;font-weight:700;display:inline-flex}.attendance-pdf-preview-dialog__shell>nav>span i{color:#118b6d}.attendance-pdf-preview-dialog__viewer{min-height:0;padding:12px;position:relative}.attendance-pdf-preview-dialog__viewer iframe{background:#fff;border:1px solid #c6d6e0;border-radius:10px;width:100%;height:100%;display:block}.attendance-pdf-preview-dialog__loading{z-index:2;color:#31536b;text-align:center;background:#fff;border:1px solid #cbdce6;border-radius:10px;place-content:center;justify-items:center;gap:7px;display:grid;position:absolute;inset:12px}.attendance-pdf-preview-dialog__loading i{color:#0b91b2;font-size:26px}.attendance-pdf-preview-dialog__loading strong{font-size:13px}.attendance-pdf-preview-dialog__loading small{color:#718798;font-size:9px}.attendance-pdf-preview-dialog__viewer[data-state=ready] .attendance-pdf-preview-dialog__loading,.attendance-pdf-preview-dialog__fallback{display:none}@media (width<=920px){.attendance-report-selection-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-report-selection-summary .attendance-report-selection-summary__state{grid-column:1/-1;justify-content:center}.attendance-report-selection-summary>span:nth-child(2n){border-left:0}.attendance-report-output-center__actions--reports,.attendance-report-output-center__actions--three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.attendance-report-selection-summary{grid-template-columns:1fr}.attendance-report-selection-summary>span{border-top:1px solid #e2ebf0;border-left:0}.attendance-report-selection-summary .attendance-report-selection-summary__state{border-top:0}.attendance-report-selection-summary>span strong{white-space:normal}.attendance-report-output-center__actions--reports,.attendance-report-output-center__actions--three{grid-template-columns:1fr}.attendance-pdf-preview-dialog{border-radius:0;width:100vw;height:100dvh}.attendance-pdf-preview-dialog__shell>header{grid-template-columns:42px minmax(0,1fr) 36px;gap:9px;padding:11px}.attendance-pdf-preview-dialog__icon{width:42px;height:42px}.attendance-pdf-preview-dialog__shell header h2{font-size:16px}.attendance-pdf-preview-dialog__shell>nav{align-items:stretch;padding:8px 10px}.attendance-pdf-preview-dialog__shell>nav>span{display:none}.attendance-pdf-preview-dialog__shell>nav .button{justify-content:center;width:100%}.attendance-pdf-preview-dialog__viewer{padding:6px}.attendance-pdf-preview-dialog__loading{inset:6px}}@media (width<=1180px){.attendance-report-output-center{grid-template-columns:1fr}.attendance-report-output-center__actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=680px){.attendance-report-output-center__actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=390px){.attendance-report-output-center{padding:10px}.attendance-report-output-center__actions{grid-template-columns:1fr}}@media (width<=1000px){.attendance-dashboard-hero{grid-template-columns:minmax(0,1fr) minmax(290px,.55fr);gap:20px}.attendance-dashboard-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=780px){.attendance-dashboard-hero{grid-template-columns:1fr}.attendance-dashboard-hero__action{grid-template-columns:54px minmax(0,1fr) minmax(150px,.38fr);min-height:0}.attendance-dashboard-hero__button{grid-area:1/3;align-self:center}.attendance-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-dashboard-metric:last-child{grid-column:1/-1}.attendance-dashboard-activity .attendance-activity-panel__header{flex-direction:column;align-items:stretch}.attendance-dashboard-activity .attendance-date-filter{grid-template-columns:minmax(0,1fr) auto;width:100%;display:grid}.attendance-dashboard-activity .attendance-date-filter label{min-width:0}}@media (width<=600px){.attendance-dashboard-hero{border-radius:14px;gap:18px;padding:22px 18px}.attendance-dashboard-hero h1{font-size:34px}.attendance-dashboard-hero__context{flex-direction:column;align-items:stretch}.attendance-dashboard-hero__context span{border-radius:9px;width:100%}.attendance-dashboard-hero__action{grid-template-columns:46px minmax(0,1fr);padding:15px}.attendance-dashboard-hero__action-icon{border-radius:11px;width:46px;height:46px}.attendance-dashboard-hero__button{grid-area:auto/1/auto/-1}.attendance-dashboard-metrics,.attendance-dashboard-tool-grid{grid-template-columns:1fr}.attendance-dashboard-metric:last-child{grid-column:auto}.attendance-dashboard-tools__header{grid-template-columns:40px minmax(0,1fr);padding:15px}.attendance-dashboard-tools__header>span{width:40px;height:40px}.attendance-dashboard-tools__header em{grid-column:1/-1;justify-self:start}.attendance-dashboard-tool-grid{padding:10px}.attendance-dashboard-tool{min-height:100px}.attendance-dashboard-activity .attendance-date-filter{grid-template-columns:1fr}.attendance-dashboard-activity .attendance-date-filter .button{justify-content:center;width:100%}.attendance-dashboard-activity .attendance-activity-panel__footer{flex-direction:column;align-items:stretch;gap:13px}.attendance-dashboard-activity__summary{grid-template-columns:34px minmax(0,1fr);width:100%;display:grid}.attendance-dashboard-activity__summary>a{grid-column:1/-1;margin:2px 0 0}.attendance-dashboard-activity__exports{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.attendance-dashboard-activity__exports>small{justify-self:start}.attendance-dashboard-activity__exports .button{justify-content:center;width:100%}}@media (width<=390px){.attendance-dashboard-hero{padding:19px 15px}.attendance-dashboard-hero__eyebrow{font-size:8.5px}.attendance-dashboard-hero__action{align-items:center}.attendance-dashboard-metric{padding:15px}.attendance-dashboard-metric>div{grid-template-columns:1fr;gap:8px}.attendance-dashboard-tool{grid-template-columns:42px minmax(0,1fr) 26px;padding:12px}.attendance-dashboard-tool__icon{width:42px;height:42px}.attendance-dashboard-activity__heading>span{flex-basis:40px;width:40px;height:40px}.attendance-dashboard-activity__empty{min-height:245px}.attendance-dashboard-activity__exports{grid-template-columns:1fr}.attendance-dashboard-activity__exports>small{grid-column:1}}@media (prefers-reduced-motion:reduce){.attendance-dashboard-hero__button,.attendance-dashboard-tool,.attendance-dashboard-tool__arrow{transition:none}}.attendance-dashboard-metric--action{color:inherit;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s}.attendance-dashboard-metric--action:hover{border-color:color-mix(in srgb, var(--attendance-metric-tone) 38%, #d9e3e9);color:inherit;transform:translateY(-2px);box-shadow:0 12px 28px #0a2a421c}.attendance-dashboard-metric--action:focus-visible{outline-offset:3px;outline:3px solid #0c89b33d}.attendance-dashboard-metric__action{color:var(--attendance-metric-tone);justify-content:flex-end;align-items:center;gap:6px;margin-top:11px;font-size:9px;font-weight:850;display:inline-flex}.attendance-dashboard-metric__action i{transition:transform .16s}.attendance-dashboard-metric--action:hover .attendance-dashboard-metric__action i{transform:translate(2px)}.attendance-incidents-hero{background:linear-gradient(125deg,#fff 0%,#f6fbfd 70%,#edf7fa 100%);border:1px solid #cbdce7;border-top:4px solid #0b537f;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:15px;padding:24px 26px;display:flex;overflow:hidden;box-shadow:0 9px 26px #092a4312}.attendance-incidents-hero__copy{min-width:0}.attendance-incidents-hero .eyebrow{color:#0b749c}.attendance-incidents-hero h1{color:#102f49;font-family:var(--font-display);margin:5px 0;font-size:clamp(27px,3vw,38px);line-height:1.05}.attendance-incidents-hero p{color:#5d7285;max-width:680px;margin:0;font-size:12px;line-height:1.55}.attendance-incidents-hero__context{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.attendance-incidents-hero__context span{color:#436177;background:#ffffffd6;border:1px solid #d4e5ed;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:9px;font-weight:750;display:inline-flex}.attendance-incidents-hero__context i{color:#0b83ac}.attendance-incidents-hero>.button{flex:none}.attendance-incident-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:15px;display:grid}.attendance-incident-stat{--incident-tone:#0b6c91;--incident-soft:#e9f5f9;min-width:0;min-height:112px;color:inherit;background:#fff;border:1px solid #d7e3ea;border-radius:12px;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;padding:15px;text-decoration:none;display:grid;box-shadow:0 6px 19px #0c2c430d}.attendance-incident-stat--duplicate{--incident-tone:#a66a05;--incident-soft:#fff2d5}.attendance-incident-stat--rejected{--incident-tone:#b63e4d;--incident-soft:#fdebed}a.attendance-incident-stat{transition:transform .16s,border-color .16s,box-shadow .16s}a.attendance-incident-stat:hover{border-color:color-mix(in srgb, var(--incident-tone) 34%, #d7e3ea);color:inherit;transform:translateY(-2px);box-shadow:0 10px 24px #0c2c431a}a.attendance-incident-stat:focus-visible{outline-offset:2px;outline:3px solid #0c89b338}.attendance-incident-stat>span{width:46px;height:46px;color:var(--incident-tone);background:var(--incident-soft);border-radius:12px;place-items:center;font-size:16px;display:grid}.attendance-incident-stat>div{grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;min-width:0;display:grid}.attendance-incident-stat small{color:var(--incident-tone);letter-spacing:.08em;text-transform:uppercase;align-self:end;font-size:8px;font-weight:850}.attendance-incident-stat strong{color:#102f49;font-family:var(--font-display);grid-area:1/2/span 2;align-self:center;font-size:30px;line-height:1}.attendance-incident-stat p{color:#708292;grid-column:1/-1;margin:4px 0 0;font-size:9px;line-height:1.4}.attendance-incident-filter,.attendance-incident-results{background:#fff;border:1px solid #d5e1e8;border-radius:13px;margin-bottom:15px;overflow:hidden;box-shadow:0 7px 22px #0b2b420e}.attendance-incident-filter>header,.attendance-incident-results>header{background:linear-gradient(120deg,#fff,#f7fafc);border-bottom:1px solid #e1e9ee;align-items:center;gap:11px;padding:15px 17px;display:flex}.attendance-incident-filter>header>span{color:#087da5;background:#e6f5fa;border-radius:10px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.attendance-incident-filter>header>div,.attendance-incident-results>header>div{min-width:0}.attendance-incident-filter header small,.attendance-incident-results header small{color:#08789f;letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:850}.attendance-incident-filter h2,.attendance-incident-results h2{color:#143750;margin:2px 0;font-size:16px}.attendance-incident-filter header p,.attendance-incident-results header p{color:#748696;margin:0;font-size:9.5px}.attendance-incident-filter header em{color:#087052;white-space:nowrap;background:#e8f8f1;border-radius:999px;margin-left:auto;padding:6px 8px;font-size:8px;font-style:normal;font-weight:800}.attendance-incident-filter form{background:#f6f9fb;grid-template-columns:minmax(145px,.7fr) repeat(3,minmax(155px,1fr)) auto;gap:9px;padding:13px;display:grid}.attendance-incident-filter label{background:#fff;border:1px solid #d7e2e9;border-radius:9px;gap:5px;min-width:0;padding:8px 10px;display:grid}.attendance-incident-filter label>span{color:#5f7688;letter-spacing:.08em;text-transform:uppercase;font-size:7.5px;font-weight:850}.attendance-incident-filter input,.attendance-incident-filter select{color:#173952;text-overflow:ellipsis;background-color:#0000;border:0;outline:0;width:100%;min-width:0;height:32px;padding:3px 27px 3px 0;font-size:10.5px;font-weight:750;overflow:hidden}.attendance-incident-filter input[type=date]{padding-right:2px}.attendance-incident-filter__actions{align-items:stretch;gap:7px;display:flex}.attendance-incident-filter__actions .button{justify-content:center;min-width:96px}.attendance-incident-privacy{color:#1c5747;background:#effaf5;border:1px solid #b9dfd0;border-radius:11px;align-items:center;gap:11px;margin-bottom:15px;padding:12px 15px;display:flex}.attendance-incident-privacy>span{color:#087656;background:#dcf4e9;border-radius:9px;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid}.attendance-incident-privacy strong{font-size:10px;display:block}.attendance-incident-privacy p{color:#547568;margin:2px 0 0;font-size:9px;line-height:1.45}.attendance-incident-results>header{justify-content:space-between}.attendance-incident-results>header>span{color:#5f7788;white-space:nowrap;background:#fff;border:1px solid #d5e3ea;border-radius:999px;align-items:center;gap:6px;padding:6px 8px;font-size:8px;font-weight:750;display:inline-flex}.attendance-incident-list{background:#f4f7f9;gap:9px;padding:12px;display:grid}.attendance-incident-card{--incident-card-tone:#b63e4d;--incident-card-soft:#fdebed;border:1px solid #d9e3e9;border-left:4px solid var(--incident-card-tone);background:#fff;border-radius:10px;grid-template-columns:82px minmax(155px,.75fr) minmax(310px,1.4fr) minmax(220px,1fr);align-items:center;gap:13px;min-width:0;padding:12px 14px;display:grid;box-shadow:0 3px 11px #0c2b4009}.attendance-incident-card--duplicate{--incident-card-tone:#a66a05;--incident-card-soft:#fff2d5}.attendance-incident-card>time{border-right:1px solid #e4eaee;align-content:center;min-height:55px;padding-right:12px;display:grid}.attendance-incident-card>time strong{color:#143650;font-family:var(--font-display);font-size:17px}.attendance-incident-card>time small{color:#7a8b99;margin-top:2px;font-size:8px}.attendance-incident-card__status{align-items:center;gap:9px;min-width:0;display:flex}.attendance-incident-card__status>i{width:34px;height:34px;color:var(--incident-card-tone);background:var(--incident-card-soft);border-radius:9px;flex:0 0 34px;place-items:center;font-size:12px;display:grid}.attendance-incident-card__status>span{gap:2px;min-width:0;display:grid}.attendance-incident-card__status small,.attendance-incident-card__reason small{color:#7a8996;letter-spacing:.07em;text-transform:uppercase;font-size:7px;font-weight:800}.attendance-incident-card__status strong{color:var(--incident-card-tone);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.attendance-incident-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;display:grid}.attendance-incident-card dl>div{background:#f4f7f9;border-radius:7px;min-width:0;padding:7px 8px}.attendance-incident-card dt{color:#718393;text-transform:uppercase;font-size:7px;font-weight:800}.attendance-incident-card dd{color:#27485f;text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:9px;font-weight:750;overflow:hidden}.attendance-incident-card dd i{color:#2189aa;margin-right:4px}.attendance-incident-card__reason{background:var(--incident-card-soft);border-radius:8px;align-items:center;gap:8px;min-width:0;padding:8px 9px;display:flex}.attendance-incident-card__reason>span{color:var(--incident-card-tone)}.attendance-incident-card__reason>div{gap:2px;min-width:0;display:grid}.attendance-incident-card__reason strong{color:#29475c;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.35;overflow:hidden}.attendance-incident-results>footer{border-top:1px solid #dce5eb}.attendance-incident-empty{text-align:center;align-content:center;place-items:center;min-height:270px;padding:28px 16px;display:grid}.attendance-incident-empty>span{color:#087758;background:#e4f7ee;border-radius:18px;place-items:center;width:62px;height:62px;margin-bottom:10px;font-size:22px;display:grid}.attendance-incident-empty>small{color:#0b789f;letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:850}.attendance-incident-empty h2{color:#153750;margin:5px 0 0;font-size:17px}.attendance-incident-empty p{color:#708394;max-width:480px;margin:7px 0 13px;font-size:10px;line-height:1.5}@media (width<=1180px){.attendance-incident-filter form{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-incident-filter__actions{grid-column:1/-1;justify-content:flex-end}.attendance-incident-card{grid-template-columns:76px minmax(150px,.65fr) minmax(0,1.4fr)}.attendance-incident-card__reason{grid-column:2/-1}}@media (width<=820px){.attendance-incidents-hero{flex-direction:column;align-items:flex-start;padding:21px}.attendance-incidents-hero>.button{justify-content:center;width:100%}.attendance-incident-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-incident-stat--total{grid-column:1/-1}.attendance-incident-filter form{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-incident-card{grid-template-columns:70px minmax(0,1fr)}.attendance-incident-card dl,.attendance-incident-card__reason{grid-column:1/-1}.attendance-incident-card>time{grid-row:1}}@media (width<=540px){.attendance-incidents-hero{gap:17px;padding:18px 15px}.attendance-incidents-hero h1{font-size:29px}.attendance-incidents-hero__context{flex-direction:column;align-items:stretch;width:100%}.attendance-incidents-hero__context span{border-radius:8px}.attendance-incident-summary,.attendance-incident-filter form{grid-template-columns:1fr}.attendance-incident-stat--total{grid-column:auto}.attendance-incident-filter>header,.attendance-incident-results>header{align-items:flex-start;padding:13px}.attendance-incident-filter header em{display:none}.attendance-incident-filter form{padding:9px}.attendance-incident-filter__actions{grid-column:auto;grid-template-columns:1fr 1fr;display:grid}.attendance-incident-filter__actions .button{min-width:0;padding-inline:7px}.attendance-incident-privacy{align-items:flex-start}.attendance-incident-results>header{flex-direction:column}.attendance-incident-list{padding:8px}.attendance-incident-card{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:11px}.attendance-incident-card dl{grid-template-columns:1fr}.attendance-incident-card__reason strong{white-space:normal;overflow:visible}}@media (prefers-reduced-motion:reduce){.attendance-dashboard-metric--action,.attendance-dashboard-metric__action i,a.attendance-incident-stat{transition:none}}.pwa-install-dialog{color:#102f4b;background:#f7fafc;border:1px solid #b9cedd;border-radius:20px;width:min(540px,100vw - 32px);max-height:min(760px,100dvh - 32px);margin:auto;padding:0;overflow:hidden;box-shadow:0 28px 80px #02172857}.pwa-install-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#04182aad}.pwa-install-dialog__header{color:#fff;background:linear-gradient(135deg,#092f51,#086d91);grid-template-columns:48px minmax(0,1fr) 40px;align-items:center;gap:12px;padding:18px 20px;display:grid}.pwa-install-dialog__icon{color:#a9edff;background:#ffffff1a;border:1px solid #fff3;border-radius:14px;place-items:center;width:48px;height:48px;font-size:18px;display:grid}.pwa-install-dialog__header small{color:#a8d9ea;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:800;display:block}.pwa-install-dialog__header h2{color:#fff;margin:0;font-size:clamp(18px,3vw,23px);line-height:1.2}.pwa-install-dialog__header>button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.pwa-install-dialog__body{max-height:calc(100dvh - 230px);padding:22px;overflow-y:auto}.pwa-install-dialog__body>p{color:#49677d;margin:0 0 18px;font-size:14px;line-height:1.55}.pwa-install-dialog__body ol{counter-reset:pwa-install-step;gap:10px;margin:0;padding:0;list-style:none;display:grid}.pwa-install-dialog__body li{color:#173b57;counter-increment:pwa-install-step;background:#fff;border:1px solid #d4e1e9;border-radius:13px;min-height:46px;padding:12px 14px 12px 52px;font-size:13px;font-weight:650;line-height:1.45;position:relative}.pwa-install-dialog__body li:before{color:#087fa9;content:counter(pwa-install-step);background:#e5f6fc;border-radius:9px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:grid;position:absolute;top:9px;left:10px}.pwa-install-dialog__note{color:#17654e;background:#edf9f4;border:1px solid #b9e6d6;border-radius:13px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;margin-top:16px;padding:12px 14px;font-size:11px;font-weight:650;line-height:1.45;display:grid}.pwa-install-dialog__note>i{color:#07835e;background:#d7f2e8;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.pwa-install-dialog__footer{padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dbe5eb;justify-content:flex-end;display:flex}.pwa-install-dialog__footer .button{justify-content:center;min-width:132px;min-height:44px}@media (width<=560px){.pwa-install-dialog{border-radius:17px;width:calc(100vw - 18px);max-height:calc(100dvh - 18px)}.pwa-install-dialog__header{grid-template-columns:42px minmax(0,1fr) 38px;gap:10px;padding:14px}.pwa-install-dialog__icon{border-radius:12px;width:42px;height:42px}.pwa-install-dialog__header>button{width:38px;height:38px}.pwa-install-dialog__body{max-height:calc(100dvh - 200px);padding:16px 14px}.pwa-install-dialog__body>p{margin-bottom:14px;font-size:13px}.pwa-install-dialog__body li{padding-right:11px;font-size:12px}.pwa-install-dialog__footer{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.pwa-install-dialog__footer .button{width:100%}}@media (prefers-reduced-motion:reduce){.pwa-install-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}.attendance-dashboard-tool--reports{--attendance-tool-tone:#2765a8;--attendance-tool-soft:#eaf2fd}.attendance-report-header{gap:13px 20px;margin-bottom:10px}.attendance-report-header__topbar{padding-bottom:9px}.attendance-report-header .page-header__copy{padding-block:0}.attendance-report-header .page-header__copy h1{font-size:clamp(27px,2.5vw,36px)}.attendance-report-header .page-header__copy>p{margin-top:5px}.attendance-report-header--exports{border-top-color:#2765a8}.attendance-report-filters-shell{background:#fff;border-radius:13px;margin-bottom:10px;overflow:visible}.attendance-report-filters-shell>summary,.attendance-report-overview>summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.attendance-report-filters-shell>summary::-webkit-details-marker{display:none}.attendance-report-overview>summary::-webkit-details-marker{display:none}.attendance-report-filters-shell__summary{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:60px;padding:10px 14px;display:grid}.attendance-report-filters-shell__summary>span:first-child{color:#087ca5;background:#e7f6fb;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.attendance-report-filters-shell__summary>span:nth-child(2){grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:10px;min-width:0;display:grid}.attendance-report-filters-shell__summary small{color:#668094;letter-spacing:.09em;text-transform:uppercase;grid-column:1/-1;font-size:8px;font-weight:850}.attendance-report-filters-shell__summary strong{color:#173b57;font-size:13px}.attendance-report-filters-shell__summary em{color:#718497;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:normal;overflow:hidden}.attendance-report-filters-shell__action{color:#155a80;background:#f9fbfc;border:1px solid #d4e1e9;border-radius:9px;align-items:center;gap:9px;padding:8px 10px;font-size:9px;display:inline-flex}.attendance-report-filters-shell__action i,.attendance-report-overview__toggle i{transition:transform .18s}.attendance-report-filters-shell[open] .attendance-report-filters-shell__action i,.attendance-report-overview[open] .attendance-report-overview__toggle i{transform:rotate(180deg)}.attendance-report-filters-shell__content{border-top:1px solid #e2e9ef;overflow:visible}.attendance-report-filters-shell__content>.attendance-student-filter__header,.attendance-report-filters-shell__content>.attendance-staff-filter__header{border-radius:0}.attendance-report-overview{background:#fff;border:1px solid #d8e4eb;border-radius:13px;margin:0 0 10px;overflow:hidden;box-shadow:0 6px 18px #0b2f4a0b}.attendance-report-overview>summary{grid-template-columns:minmax(210px,.7fr) minmax(0,1.6fr) auto;align-items:center;gap:14px;min-height:58px;padding:9px 13px;display:grid}.attendance-report-overview[open]>summary{border-bottom:1px solid #e3ebf0}.attendance-report-overview__heading{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.attendance-report-overview__heading>i{color:#087ba2;background:#e4f5fa;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.attendance-report-overview__heading>span{gap:1px;min-width:0;display:grid}.attendance-report-overview__heading small{color:#698093;letter-spacing:.09em;text-transform:uppercase;font-size:7px;font-weight:850}.attendance-report-overview__heading strong{color:#173a57;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.attendance-report-overview__quick{justify-content:center;align-items:center;gap:7px;min-width:0;display:flex}.attendance-report-overview__quick>span{color:#607589;white-space:nowrap;background:#f8fafb;border:1px solid #dbe6ec;border-radius:999px;align-items:baseline;gap:4px;min-width:0;padding:6px 9px;font-size:8px;font-weight:700;display:inline-flex}.attendance-report-overview__quick b{color:#173b57;font-size:11px}.attendance-report-overview__quick .is-positive{color:#187058;background:#f0faf6;border-color:#c7e9dc}.attendance-report-overview__quick .is-positive b{color:#08785a}.attendance-report-overview__quick .has-alerts{color:#98600d;background:#fff9eb;border-color:#f1d8ac}.attendance-report-overview__quick .has-alerts b{color:#9c5b08}.attendance-report-overview__toggle{color:#176489;white-space:nowrap;align-items:center;gap:8px;font-size:9px;font-weight:800;display:inline-flex}.attendance-report-overview .attendance-report-summary{background:#f7fafc;gap:8px;margin:0;padding:10px}.attendance-report-overview .attendance-report-summary article{min-height:66px;box-shadow:none;padding:10px 12px}.attendance-report-overview .attendance-report-summary article>span{flex-basis:34px;width:34px;height:34px}.attendance-report-overview .attendance-report-summary strong{font-size:17px}@media (width<=860px){.attendance-report-overview>summary{grid-template-columns:minmax(180px,1fr) auto}.attendance-report-overview__quick{grid-area:2/1/auto/-1;justify-content:flex-start}.attendance-report-overview__toggle{grid-area:1/2}}@media (width<=680px){.attendance-report-header{gap:10px;padding:14px}.attendance-report-header__topbar{align-items:center}.attendance-report-header__topbar>.eyebrow{display:none}.attendance-report-header__navigation{grid-template-columns:1fr 1fr;width:100%;display:grid}.attendance-report-header__navigation .button{justify-content:center;width:100%;min-width:0}.attendance-report-header .page-header__copy h1{font-size:25px}.attendance-report-header .page-header__copy>p{font-size:11px}.attendance-report-filters-shell__summary{grid-template-columns:36px minmax(0,1fr) 30px;padding:9px 10px}.attendance-report-filters-shell__summary>span:first-child{width:36px;height:36px}.attendance-report-filters-shell__summary>span:nth-child(2){grid-template-columns:1fr}.attendance-report-filters-shell__summary em{display:none}.attendance-report-filters-shell__action{justify-content:center;width:30px;height:30px;padding:0}.attendance-report-filters-shell__action b{display:none}.attendance-report-overview>summary{grid-template-columns:minmax(0,1fr) auto;gap:8px}.attendance-report-overview__quick{scrollbar-width:none;justify-content:flex-start;width:100%;padding-bottom:1px;overflow-x:auto}.attendance-report-overview__quick::-webkit-scrollbar{display:none}.attendance-report-overview__toggle>span{display:none}}@media (width<=420px){.attendance-report-header__navigation{grid-template-columns:1fr}.attendance-report-header .page-header__copy>p{display:none}.attendance-report-overview__heading strong{font-size:11px}.attendance-report-overview__quick>span{padding-inline:7px}}@media (width<=900px){body.app-body .attendance-date-filter.mobile-filter-panel{grid-template-columns:minmax(0,1fr);gap:9px;display:grid}body.app-body :is(.page-header__meta,.notification-page-header__count,.attendance-reader-header__security){max-width:100%}body.app-body :is(.attendance-dashboard-tool-grid,.attendance-settings-hub__grid,.attendance-shift-grid){gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))!important}body.app-body :is(.attendance-report-header__navigation,.attendance-report-header__selector,.attendance-station__toolbar){width:100%;min-width:0}body.app-body :is(.attendance-reader-camera,.facial-access__camera,[data-qr-scanner]) video,body.app-body :is(.attendance-reader-camera,.facial-access__camera,[data-qr-scanner]) canvas{object-fit:cover;width:100%;height:auto;max-height:58dvh}body.app-body :is(.attendance-reader-panel__header,.attendance-matrix-panel__header,.attendance-activity-panel__header){gap:10px}}@media (width<=620px){body.app-body :is(.page-header__meta,.notification-page-header__count,.attendance-reader-header__security){width:100%}body.app-body :is(.attendance-dashboard-tool-grid,.attendance-shift-grid){grid-template-columns:minmax(0,1fr)!important}}@media (width<=900px){body.app-body .attendance-report-header{gap:9px!important;padding:11px!important}body.app-body .attendance-report-header__topbar{gap:7px!important}body.app-body .attendance-report-header__navigation{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;display:grid!important}body.app-body .attendance-report-header__navigation .button{text-align:center;border-radius:11px;min-width:0;min-height:42px;padding:7px 8px;font-size:10px;line-height:1.15}body.app-body .attendance-report-header__navigation .button i{flex:none}body.app-body .attendance-report-header .page-header__copy{display:none}body.app-body .attendance-report-header__selector{border-radius:13px;padding:8px!important}body.app-body .attendance-report-header__selector>header{min-height:36px;padding-bottom:7px}body.app-body .attendance-report-header .attendance-report-switch{gap:7px}body.app-body .attendance-report-header .attendance-report-switch__card{border-radius:11px;gap:7px;min-height:50px;padding:7px;grid-template-columns:30px minmax(0,1fr)!important}body.app-body .attendance-report-header .attendance-report-switch__icon{width:30px;height:30px;font-size:12px}body.app-body .attendance-report-header .attendance-report-switch__state,body.app-body .attendance-report-header .attendance-report-switch__card b{display:none}body.app-body .attendance-report-filter.attendance-student-filter>form.mobile-filter-panel.is-mobile-filter-open{width:100%;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:10px!important;margin-bottom:12px!important;padding:10px 10px 82px!important;display:grid!important;overflow:visible!important}body.app-body .attendance-report-filter.attendance-student-filter--mobile-enhanced>.attendance-student-filter__header{display:none!important}body.app-body .attendance-report-filter.attendance-student-filter>form.mobile-filter-panel>.attendance-student-filter__group{width:100%;min-width:0;max-width:100%;grid-area:auto/1/auto/-1!important}body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__group>header{cursor:default;gap:9px;min-height:46px;margin:0;grid-template-columns:34px minmax(0,1fr) 36px!important}body.app-body .attendance-student-filter__group.is-mobile-group-collapsed{box-shadow:none;background:#fbfdfe;border-color:#e5edf2;gap:0!important;padding-block:7px!important}body.app-body .attendance-student-filter__group.is-mobile-group-collapsed>:not(header){display:none!important}body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__fields{width:100%;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;display:grid!important}body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__fields>.form-field{width:100%;min-width:0;max-width:100%;grid-column:auto!important}body.app-body .attendance-report-filter.attendance-student-filter :is(.attendance-student-filter__offer,.attendance-student-filter__site,.attendance-student-filter__section){grid-column:1/-1!important}body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__group--students{grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;display:grid!important}body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__group--students>.attendance-student-filter__actions{display:none!important}body.app-body .attendance-report-filter.attendance-student-filter>form.mobile-filter-panel.is-mobile-filter-open>.attendance-student-filter__mobile-actions{z-index:145;right:max(8px, env(safe-area-inset-right));bottom:calc(var(--mobile-bottom-nav-height) + 8px);left:max(8px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #73a0b752;border-radius:15px;grid-template-columns:minmax(88px,.7fr) minmax(150px,1.3fr);gap:8px;width:auto;min-width:0;padding:8px;position:fixed;box-shadow:0 14px 34px #02263e33;display:grid!important}body.app-body .attendance-student-filter__mobile-actions .button{white-space:nowrap;border-radius:10px;justify-content:center;width:100%;min-width:0;min-height:44px;padding:8px 9px;font-size:10px}body.app-body.mobile-keyboard-visible .attendance-student-filter__mobile-actions{bottom:8px!important}body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__group--students>:is(header,.attendance-report-filter__search,.attendance-student-filter__actions){width:100%;min-width:0;grid-column:1/-1!important}body.app-body .attendance-report-filter.attendance-student-filter .attendance-active-site-field,body.app-body .attendance-report-filter.attendance-student-filter .attendance-filter-select,body.app-body .attendance-report-filter.attendance-student-filter .search-control{width:100%;min-width:0;max-width:100%}body.app-body .attendance-report-filter.attendance-student-filter .attendance-filter-select__menu{max-width:100%;left:0;right:0}body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__group.is-mobile-group-collapsed>:not(header){display:none!important}}@media (width<=620px){body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__header{grid-template-columns:36px minmax(0,1fr);gap:9px;padding:11px}body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__performance{grid-column:1/-1;justify-self:start}body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__group{gap:10px;padding:11px}body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__fields,body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__group--period .attendance-student-filter__fields{grid-template-columns:minmax(0,1fr)!important}body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__fields>.form-field,body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__group--period .attendance-student-filter__fields>.form-field{grid-column:1/-1!important}body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__search-row{grid-template-columns:minmax(0,1fr)!important}body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__all,body.app-body .attendance-report-filter.attendance-student-filter .attendance-student-filter__all>span{justify-content:center;width:100%}body.app-body .attendance-matrix-wrap.mobile-table-viewport{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#7abed8 #eef5f8;width:100%;max-width:100%;scroll-padding-inline-start:clamp(154px,52vw,200px);overflow-y:auto;overflow-x:auto!important}body.app-body .attendance-matrix-wrap.mobile-table-viewport:after{content:"";pointer-events:none;width:14px;height:1px;display:block;position:sticky;right:0;box-shadow:-10px 0 18px #03304c29}body.app-body .attendance-matrix--students{table-layout:fixed;width:max-content!important;min-width:0!important}body.app-body .attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-matrix__person,body.app-body .attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-matrix__person{box-sizing:border-box;box-shadow:8px 0 16px -14px #03233ae6;width:clamp(154px,52vw,200px)!important;min-width:clamp(154px,52vw,200px)!important;max-width:clamp(154px,52vw,200px)!important;padding:9px 8px!important}body.app-body .attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students th:not(.attendance-matrix__person),body.app-body .attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students td:not(.attendance-matrix__person),body.app-body .attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students th:not(.attendance-matrix__person,.attendance-matrix__shift),body.app-body .attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students td:not(.attendance-matrix__person,.attendance-matrix__shift){box-sizing:border-box;scroll-snap-align:start;width:140px!important;min-width:140px!important;max-width:140px!important;padding:7px!important}body.app-body .attendance-matrix-panel[data-matrix-mode=detailed] .attendance-matrix--students .attendance-matrix__shift{width:172px!important;min-width:172px!important;max-width:172px!important;padding:9px!important}body.app-body .attendance-matrix-panel[data-matrix-mode=quick] .attendance-matrix--students .attendance-quick-shift{gap:3px 6px;font-size:8px;line-height:1.35;margin:7px 0 0!important}body.app-body .attendance-matrix-panel:is([data-matrix-mode=quick],[data-matrix-mode=detailed]) .attendance-matrix--students .attendance-grid-card{border-radius:11px;width:100%;min-width:0;min-height:106px;padding:9px}body.app-body .attendance-matrix--students .attendance-grid-card__top{white-space:normal;line-height:1.25}}@media (width<=900px){body.app-body .mobile-attendance-filter-group__toggle{color:#17648a;width:36px;height:36px;box-shadow:none;background:#f7fbfd;border:1px solid #d8e6ee;border-radius:11px;place-items:center;padding:0;display:inline-grid;min-height:36px!important}body.app-body .mobile-attendance-filter-group__toggle i{font-size:11px;transition:transform .18s}body.app-body .mobile-attendance-filter-group__toggle[aria-expanded=true]{color:#fff;background:linear-gradient(135deg,#0f638d,#1298c3);border-color:#117ca8}body.app-body .mobile-attendance-filter-group__toggle[aria-expanded=true] i{transform:rotate(180deg)}}@media (width>=901px){body.app-body .mobile-attendance-filter-group__toggle{display:none!important}}
