:root{--background:#fbfaf7;--foreground:#1b1a16}html{height:100%}html,body{max-width:100vw;overflow-x:clip}body{min-height:100%;color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.attendance-auth-header{z-index:9000;-webkit-backdrop-filter:saturate(1.2)blur(10px);background:#fffffff5;border-bottom:1px solid #e0d9cc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:sticky;top:0;box-shadow:0 2px 12px #1b1a160d}.attendance-app-nav-sticky{z-index:8500;-webkit-backdrop-filter:saturate(1.1)blur(8px);background:#fbfaf7f7;border:1px solid #e0d9cc;border-radius:9px;margin-left:-6px;margin-right:-6px;padding:6px;position:sticky;top:55px;box-shadow:0 4px 16px #1b1a160f}.attendance-sticky-loading-slot{pointer-events:none;height:3px;position:absolute;bottom:2px;left:6px;right:6px}.attendance-auth-bar{color:#8c8475;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:10px;max-width:1080px;min-height:40px;margin:0 auto;padding:7px 24px;font-size:12px;display:flex}.attendance-auth-left,.attendance-auth-actions{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:inline-flex}.attendance-auth-left{flex:auto;overflow:hidden}.attendance-auth-actions{flex:none;margin-left:auto}.attendance-auth-user,.attendance-auth-role-slot,.attendance-auth-role-fallback,.attendance-auth-mode-slot,.attendance-auth-save-slot{flex:0 auto;align-items:center;min-width:0;display:inline-flex}.attendance-auth-user{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-auth-role-slot:not(:empty)+.attendance-auth-role-fallback{display:none}.attendance-auth-mode-slot{max-width:min(520px,56vw)}.attendance-header-tabs-root{width:100%;min-width:0}.attendance-header-tabs-mobile{display:none}@media (max-width:760px){.attendance-auth-user strong{text-overflow:ellipsis;vertical-align:bottom;max-width:100%;display:inline-block;overflow:hidden}.attendance-app-nav-sticky{border-radius:8px;margin-left:-2px;margin-right:-2px;padding:4px;top:43px}.attendance-sticky-loading-slot{bottom:1px;left:4px;right:4px}.attendance-header-tabs-desktop{display:none!important}.attendance-header-tabs-mobile{z-index:2;width:100%;display:block;position:relative}.attendance-mobile-menu-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.attendance-mobile-menu-groups.single{grid-template-columns:1fr}.attendance-mobile-menu-trigger{color:#1b1a16;text-align:left;cursor:pointer;background:#fff;border:1px solid #cfc6b4;border-radius:8px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;min-height:42px;padding:6px 8px;display:grid}.attendance-mobile-menu-trigger[aria-expanded=true]{color:#fbfaf7;background:#1b1a16;border-color:#1b1a16}.attendance-mobile-menu-icon{gap:3px;display:inline-grid}.attendance-mobile-menu-icon span{background:currentColor;border-radius:999px;width:16px;height:2px;display:block}.attendance-mobile-menu-text{gap:1px;min-width:0;display:grid}.attendance-mobile-menu-text strong,.attendance-mobile-menu-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-mobile-menu-text strong{font-size:12px;line-height:1.1}.attendance-mobile-menu-text small{color:currentColor;opacity:.72;font-size:10px}.attendance-mobile-menu-badge{border:1px solid;border-radius:999px;place-items:center;min-width:18px;height:18px;font-size:10px;font-weight:800;line-height:1;display:inline-grid}.attendance-mobile-menu-badge.danger{color:#a8392c;background:#fff4f2}.attendance-mobile-menu-trigger[aria-expanded=true] .attendance-mobile-menu-badge.danger{color:#fbfaf7;background:#ffffff24}.attendance-mobile-menu-panel{z-index:1;opacity:0;pointer-events:none;max-height:0;transition:max-height .16s,opacity .12s,transform .16s;position:relative;overflow:hidden;transform:translateY(-4px)}.attendance-mobile-menu-panel[data-open=true]{z-index:8;opacity:1;pointer-events:auto;max-height:280px;transform:translateY(0)}.attendance-mobile-menu-options{z-index:1;background:#fffffffa;border:1px solid #e0d9cc;border-radius:8px;gap:3px;margin-top:4px;padding:4px;display:grid;position:relative;box-shadow:0 6px 18px #1b1a1614}.attendance-mobile-menu-option{color:#1b1a16;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:7px 9px;font-size:12px;font-weight:600;display:flex}.attendance-mobile-menu-option[data-active=true]{color:#fbfaf7;background:#1b1a16}.attendance-mobile-menu-option[data-danger=true]:not([data-active=true]){color:#a8392c;background:#fff4f2}.attendance-mobile-role-badge{border:1px solid;border-radius:999px;place-items:center;min-width:18px;height:18px;font-size:10px;font-weight:800;line-height:1;display:inline-grid}.attendance-auth-bar{overscroll-behavior-x:contain;scrollbar-width:none;gap:6px;min-height:34px;padding:4px 8px;overflow:auto hidden}.attendance-auth-bar::-webkit-scrollbar{display:none}.attendance-auth-left,.attendance-auth-actions{flex:none;gap:5px}.attendance-auth-prefix{display:none}.attendance-auth-user{max-width:34vw}.attendance-auth-mode-slot{max-width:48vw;overflow:hidden}.attendance-auth-mode-slot>*{flex-wrap:nowrap!important;max-width:48vw!important}.attendance-auth-mode-slot select{max-width:118px!important}.attendance-auth-save-slot button{max-width:126px!important;padding:4px 7px!important}.attendance-auth-logout{padding:4px 7px!important}}@media (max-width:430px){.attendance-auth-user{max-width:30vw}.attendance-auth-mode-slot{max-width:54vw}.attendance-auth-mode-slot>*{max-width:54vw!important}.attendance-auth-actions{gap:4px}}.dt-info-label{align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.dt-info-text{overflow-wrap:anywhere;min-width:0}.dt-tooltip{vertical-align:middle;outline:none;flex-shrink:0;align-items:center;width:fit-content;max-width:100%;display:inline-flex;position:relative}.dt-tooltip-trigger{color:#8c8475;cursor:help;background:#fff;border:1px solid #cfc6b4;border-radius:999px;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.dt-tooltip-warning .dt-tooltip-trigger{color:#a8392c;background:#fdebea;border-color:#a8392c}.dt-tooltip-bubble{pointer-events:none;z-index:10000;color:#fbfaf7;text-align:left;letter-spacing:0;text-transform:none;white-space:normal;overflow-wrap:anywhere;background:#1b1a16f5;border:1px solid #ffffff24;border-radius:7px;width:max-content;min-width:190px;max-width:min(30rem,100vw - 24px);padding:8px 10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:11.5px;font-weight:400;line-height:1.45;display:block;position:fixed;transform:translate(-50%,-100%);box-shadow:0 14px 34px #1b1a1638}.dt-tooltip-bubble[data-side=top][data-align=start]{transform:translateY(-100%)}.dt-tooltip-bubble[data-side=top][data-align=end]{transform:translate(-100%,-100%)}.dt-tooltip-bubble[data-side=bottom][data-align=start]{transform:none}.dt-tooltip-bubble[data-side=bottom][data-align=center]{transform:translate(-50%)}.dt-tooltip-bubble[data-side=bottom][data-align=end]{transform:translate(-100%)}.attendance-loading-track{border-radius:inherit;background:#f1ede4;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #cfc6b473}.attendance-loading-bar{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.attendance-loading-bar:before{content:"";transform-origin:0;background:linear-gradient(90deg,#2e7a522e,#9a6a1f33,#a8392c2e);width:100%;animation:7s cubic-bezier(.2,0,.1,1) infinite attendance-loading-fill;position:absolute;inset:0 auto 0 0}.attendance-loading-bar:after{content:"";border-radius:inherit;background:linear-gradient(90deg,#2e7a52,#9a6a1f,#a8392c);width:42%;min-width:120px;animation:1.25s ease-in-out infinite attendance-loading-sweep;position:absolute;inset:0 auto 0 0}@keyframes attendance-loading-fill{0%{opacity:.35;transform:scaleX(.08)}72%{opacity:.45;transform:scaleX(.92)}to{opacity:.25;transform:scaleX(.08)}}@keyframes attendance-loading-sweep{0%{transform:translate(-105%)}55%{transform:translate(85%)}to{transform:translate(245%)}}@media (prefers-reduced-motion:reduce){.attendance-loading-bar:before,.attendance-loading-bar:after{animation-duration:4s}}
