:root{--background:#f7f9fc;--foreground:#0f1b2b;--card:#fff;--card-foreground:#0f1b2b;--primary:#1d4d87;--primary-foreground:#fafafa;--secondary:#ebf1f8;--secondary-foreground:#203147;--muted:#eef2f7;--muted-foreground:#5d6775;--accent:#dfedfc;--accent-foreground:#1a314e;--destructive:#df2225;--border:#d8dfe7;--input:#d8dfe7;--ring:#3d73b6;--radius:.7rem;--status-present:#009342;--status-absent:#d73431;--status-paid-leave:#0080cb;--status-annual-leave:#dc9400;--layer-sidebar:40;--layer-popover:80;--layer-dialog:100;--mobile-header-height:64px;--mobile-dock-height:72px;--mobile-dock-page-clearance:calc(var(--mobile-dock-height) + 16px + env(safe-area-inset-bottom,0px));--mobile-dock-overlay-offset:calc(var(--mobile-dock-height) + 12px + env(safe-area-inset-bottom,0px))}@supports (color:lab(0% 0 0)){:root{--background:lab(97.9043% -.330776 -1.4709);--foreground:lab(9.35924% -1.15068 -12.2569);--card:lab(100% 0 0);--card-foreground:lab(9.35924% -1.15068 -12.2569);--primary:lab(31.9943% .453115 -37.9229);--primary-foreground:lab(98.26% 0 0);--secondary:lab(94.7552% -.962138 -4.39568);--secondary-foreground:lab(19.7648% -1.69523 -15.8049);--muted:lab(95.344% -.651419 -2.93607);--muted-foreground:lab(43.0935% -1.72722 -9.02406);--accent:lab(93.0251% -2.89199 -8.7495);--accent-foreground:lab(19.6455% -1.24653 -20.8793);--destructive:lab(49.0747% 69.3434 49.6251);--border:lab(88.3704% -1.10996 -5.12153);--input:lab(88.3704% -1.10996 -5.12153);--ring:lab(47.1136% -1.43179 -41.5993);--status-present:lab(53.2636% -48.6783 32.5347);--status-absent:lab(49.2966% 62.8465 43.054);--status-paid-leave:lab(50.7514% -8.60852 -48.6059);--status-annual-leave:lab(67.3107% 22.3394 78.3256)}}.compact-popover{align-items:center;display:inline-flex}.compact-popover__trigger{font:inherit}.compact-popover__panel{z-index:120;box-sizing:border-box;overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:.7rem;position:fixed;overflow:auto;box-shadow:0 16px 42px #141e3029}.personnel-popover{align-items:center;display:inline-flex}.personnel-popover__trigger{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);min-height:42px;color:var(--foreground);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.45rem;padding:0 .8rem;font-size:.8rem;font-weight:650;display:inline-flex}.personnel-popover__trigger:hover,.personnel-popover__trigger[aria-expanded=true]{border-color:color-mix(in oklab, var(--primary) 34%, var(--border));background:color-mix(in oklab, var(--primary) 5%, var(--card));color:var(--primary)}.personnel-popover__trigger>svg{width:16px;height:16px}.personnel-popover__panel.filter-menu__panel,.personnel-popover__panel.group-menu__panel{position:fixed;inset:auto}.responsive-filter-surface{align-items:center;display:inline-flex}.responsive-filter-dialog__backdrop{z-index:calc(var(--layer-dialog) + 10);background:color-mix(in oklab, var(--foreground) 42%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;padding:12px;display:grid;position:fixed;inset:0}.responsive-filter-dialog{border:1px solid var(--border);border-radius:calc(var(--radius) * 1.35);background:var(--card);width:min(560px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--foreground);flex-direction:column;animation:.16s ease-out dialog-in;display:flex;overflow:hidden;box-shadow:0 28px 72px #141e303d}.responsive-filter-dialog__header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:.75rem;min-height:58px;padding:.45rem .55rem .45rem 1rem;display:flex}html[dir=rtl] .responsive-filter-dialog__header{padding:.45rem 1rem .45rem .55rem}.responsive-filter-dialog__header h2{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:.95rem;font-weight:740;overflow:hidden}.responsive-filter-dialog__header button{width:44px;height:44px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:.75rem;flex:0 0 44px;place-items:center;padding:0;display:grid}.responsive-filter-dialog__header button:hover,.responsive-filter-dialog__header button:focus-visible{background:var(--muted);color:var(--foreground);outline:0}.responsive-filter-dialog__header svg{width:19px;height:19px}.responsive-filter-dialog__body{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;width:100%!important;max-height:none!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:1rem!important;position:static!important;inset:auto!important;overflow:auto!important}.responsive-filter-dialog__body.column-filter-popover>.column-filter-popover__title{display:none}.responsive-filter-dialog__body .column-filter-list--compact>.ui-select,.responsive-filter-dialog__body .column-sort-actions button,.responsive-filter-dialog__body .column-condition .ui-input,.responsive-filter-dialog__body .column-condition .ui-select,.responsive-filter-dialog__body .column-filter__content>.ui-select,.responsive-filter-dialog__body .date-picker__control,.responsive-filter-dialog__body .date-picker__input,.responsive-filter-dialog__body .date-picker .compact-popover,.responsive-filter-dialog__body .date-picker__toggle,.responsive-filter-dialog__body .searchable-select__trigger{box-sizing:border-box;height:42px;min-height:42px}.responsive-filter-dialog__body .searchable-select__search{box-sizing:border-box;min-height:42px}.responsive-filter-dialog__body .searchable-select__actions{min-height:42px}.responsive-filter-dialog__body .searchable-select__actions button{height:42px;min-height:42px}.responsive-filter-dialog__body .filter-menu__title>button{flex:none;min-height:42px;padding-inline:.5rem}.toolbar-menu-trigger .ui-badge{min-height:21px;padding-inline:.4rem;font-size:.58rem}.column-header-shell{align-items:center;min-height:42px;display:flex;position:relative}.column-header-shell .column-header-button{flex:1;min-width:0;transition:padding .12s}.column-header-shell .column-header-button>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.column-filter-trigger{z-index:2;top:50%;width:22px;min-width:22px;min-height:30px;color:var(--muted-foreground);opacity:0;pointer-events:none;border-radius:0;padding:0;transition:color .12s,opacity .12s;position:absolute;inset-inline-end:0;transform:translateY(-50%);background:0 0!important;border:0!important}.column-header-shell:has(.column-filter-trigger):hover .column-header-button{padding-inline-end:24px}.column-header-shell:has(.column-filter-trigger):focus-within .column-header-button{padding-inline-end:24px}.column-header-shell:has(.column-filter-trigger.active,.column-filter-trigger[aria-expanded=true]) .column-header-button{padding-inline-end:24px}.column-header-shell:hover .column-filter-trigger,.column-filter-trigger:focus-visible,.column-filter-trigger[aria-expanded=true]{opacity:.72;pointer-events:auto}.column-filter-trigger:hover,.column-filter-trigger.active,.column-filter-trigger[aria-expanded=true]{color:var(--primary);opacity:1}.column-filter-trigger svg{width:13px;height:13px}.column-header--filtered:after{inset-inline:.65rem;background:var(--primary);content:"";border-radius:999px 999px 0 0;height:2px;position:absolute;bottom:0}.personnel-column-header-layout{align-items:center;min-width:0;display:flex}.personnel-column-header-layout>.column-header-shell{flex:1;min-width:0}.personnel-column-drag-handle{width:24px;height:42px;color:color-mix(in oklab, var(--muted-foreground) 72%, transparent);cursor:grab;touch-action:none;background:0 0;border:0;flex:0 0 24px;place-items:center;padding:0;display:grid}.personnel-column-drag-handle:hover,.personnel-column-drag-handle:focus-visible{color:var(--primary);outline:0}.personnel-column-drag-handle:active{cursor:grabbing}.personnel-column-drag-handle svg{width:14px;height:14px}.personnel-column-header--dragging{box-shadow:0 8px 24px #141e3024;z-index:14!important;background:color-mix(in oklab, var(--primary) 9%, var(--card))!important}.column-filter-popover{width:min(390px,100vw - 1rem);padding:0}.column-filter-popover__title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.column-filter-popover__title strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.column-filter-popover .column-filter__content{border-top:0}.column-filter-popover .filter-options{border:1px solid var(--border);border-radius:.55rem;max-height:220px;padding:.3rem}.column-filter-popover .filter-options label{min-height:34px;padding-inline:.4rem}.column-filter-popover .filter-options label>span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.column-filter-popover .filter-options label>small{color:var(--muted-foreground);font-family:Geist Mono,ui-monospace,monospace;font-size:.6rem}.personnel-selection-toolbar{border-bottom:1px solid color-mix(in oklab, var(--primary) 20%, var(--border));background:color-mix(in oklab, var(--primary) 6%, var(--card));align-items:center;gap:.55rem;min-height:52px;padding:.45rem .85rem;display:flex}.personnel-selection-toolbar>span{min-width:0;color:var(--muted-foreground);flex:1;font-size:.7rem;display:grid}.personnel-selection-toolbar strong{color:var(--foreground);font-size:.76rem}.employee-select-checkbox{width:17px;height:17px;accent-color:var(--primary);cursor:pointer}.desktop-selection-control{cursor:pointer;place-items:center;width:44px;height:44px;display:inline-grid}.mobile-avatar-selection{display:none}.personnel-table{--personnel-select-width:48px;--personnel-photo-width:68px;--personnel-id-width:120px;--personnel-name-width:240px;--group-sticky-offset:var(--personnel-photo-width)}.personnel-table:not(:has(.sticky-col--photo)){--group-sticky-offset:0px}.personnel-table.data-table .sticky-col--select{width:var(--personnel-select-width);min-width:var(--personnel-select-width);max-width:var(--personnel-select-width);text-align:center;padding-inline:0;inset-inline-start:auto}.personnel-table.data-table .sticky-col--photo{width:var(--personnel-photo-width);min-width:var(--personnel-photo-width);max-width:var(--personnel-photo-width);border-inline-end:1px solid var(--border);text-align:center;padding-inline:8px;inset-inline-start:0;box-shadow:8px 0 12px -12px #141e303d}.personnel-table.data-table td.sticky-col--photo,.attendance-table.data-table td.attendance-sticky-photo{text-overflow:clip}.personnel-table.data-table .sticky-col--id{width:var(--personnel-id-width);min-width:var(--personnel-id-width);inset-inline-start:auto}.personnel-table.data-table .sticky-col--name{width:var(--personnel-name-width);min-width:var(--personnel-name-width);inset-inline-start:auto}.personnel-table .employee-photo-placeholder,.personnel-table .employee-photo-thumbnail{background:0 0;border:0;place-items:center;width:44px;height:44px;padding:4px;display:inline-grid;position:relative}.personnel-table .employee-photo-placeholder:before{border:1px solid var(--border);background:var(--muted);content:"";border-radius:50%;position:absolute;inset:4px}.personnel-table .employee-photo-placeholder svg{z-index:1;position:relative}.personnel-table .employee-photo-thumbnail img{border:1px solid var(--border);border-radius:50%;width:36px;height:36px}.personnel-table button.employee-photo-thumbnail{cursor:pointer;overflow:visible}.personnel-table button.employee-photo-thumbnail:after{content:"";pointer-events:none;border:2px solid #0000;border-radius:50%;transition:border-color .12s,background .12s;position:absolute;inset:2px}.personnel-table button.employee-photo-thumbnail:hover,.personnel-table button.employee-photo-thumbnail:focus-visible{box-shadow:none;outline:0}.personnel-table button.employee-photo-thumbnail:hover:after,.personnel-table button.employee-photo-thumbnail:focus-visible:after{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 8%, transparent)}.personnel-table td.sticky-col,.personnel-table th.sticky-col{background:var(--card)}.personnel-table th.sticky-col{z-index:9;background:color-mix(in oklab, var(--muted) 93%, white)}.personnel-table tr.employee-row--selected td{background:color-mix(in oklab, var(--primary) 8%, var(--card))}.personnel-table tr.employee-row--selected:hover td{background:color-mix(in oklab, var(--primary) 12%, var(--card))}html[dir=rtl] .personnel-table.data-table .sticky-col--photo{box-shadow:-8px 0 12px -12px #141e303d}.data-group-row td{max-width:none;overflow:visible;padding:0!important}.data-group-row__controls{align-items:center;min-width:100%;display:flex}.data-group-row__checkbox{cursor:pointer;height:44px;z-index:2;flex:0 0 44px;justify-content:center;align-items:center;display:inline-flex;position:sticky;inset-inline-start:var(--group-sticky-offset,0px)}.data-group-row__toggle{min-width:calc(100% - 44px);height:44px;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;flex:1 0 auto;padding:0;display:block}.data-group-row__controls .data-group-row__content{inset-inline-start:calc(var(--group-sticky-offset,0px) + 44px)}.data-group-row__content{width:max-content;height:44px;min-height:44px;max-width:calc(100vw - var(--group-sticky-offset,0px) - 2rem);pointer-events:none;align-items:center;gap:.5rem;padding-block:0;padding-inline-end:1rem;display:flex;position:sticky;inset-inline-start:var(--group-sticky-offset,0px)}.data-group-row__content>svg{flex:none;width:16px;height:16px}html[dir=rtl] .group-collapse-chevron{transform:scaleX(-1)}.data-group-row__content strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.employee-attachment-link{color:var(--color-primary);cursor:pointer;text-align:start;background:0 0;border:0;align-items:center;gap:.4rem;max-width:100%;padding:0;display:inline-flex}.employee-attachment-link svg{flex:none;width:16px;height:16px}.employee-attachment-link span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group-menu__actions{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:.35rem;padding-top:.65rem;display:grid}.group-menu__actions button{border:1px solid var(--border);background:var(--card);border-radius:.5rem;justify-content:center;align-items:center;gap:.35rem;min-height:34px;padding:.35rem;display:inline-flex}.group-menu__actions button:last-child{border:0;grid-column:1/-1}.group-menu__actions svg{width:14px;height:14px}.personnel-presets-panel{width:min(410px,100vw - 1rem)}.personnel-presets-panel>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.75rem;display:flex}.personnel-presets-panel>header>div{min-width:0;display:grid}.personnel-presets-panel>header strong{font-size:.82rem}.personnel-presets-panel>header span{color:var(--muted-foreground);margin-top:.2rem;font-size:.66rem;line-height:1.4}.personnel-presets-list{gap:.35rem;margin-top:.55rem;display:grid}.personnel-presets-list>div{border:1px solid #0000;border-radius:.6rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem;padding:.25rem;display:grid}.personnel-presets-list>div:hover,.personnel-presets-list>div.active{border-color:color-mix(in oklab, var(--primary) 22%, var(--border));background:color-mix(in oklab, var(--primary) 5%, var(--card))}.personnel-preset-name{min-width:0;min-height:38px;color:var(--foreground);text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:0 .5rem;display:flex}.personnel-preset-name span{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.76rem;font-weight:680;overflow:hidden}.personnel-preset-name svg{width:14px;height:14px;fill:color-mix(in oklab, var(--primary) 25%, transparent);color:var(--primary)}.personnel-presets-list>div>div{display:flex}.personnel-presets-list .ui-button--icon{width:34px;min-width:34px;min-height:34px}.personnel-presets-list .ui-button svg{width:14px;height:14px}.personnel-presets-list .ui-button svg.filled{fill:currentColor;color:var(--primary)}.personnel-presets-list>p{color:var(--muted-foreground);text-align:center;margin:.8rem;font-size:.72rem}.personnel-columns-panel{width:min(360px,100vw - 1rem)}.personnel-columns-panel>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.65rem;display:flex}.personnel-columns-panel>header>div{min-width:0;display:grid}.personnel-columns-panel>header strong{font-size:.82rem}.personnel-columns-panel>header span{color:var(--muted-foreground);margin-top:.18rem;font-size:.66rem;line-height:1.4}.personnel-columns-list{gap:.2rem;margin-top:.45rem;display:grid}.personnel-columns-list label{cursor:pointer;border-radius:.5rem;align-items:center;gap:.65rem;min-height:40px;padding:.35rem .5rem;display:flex}.personnel-columns-list label:hover{background:color-mix(in oklab, var(--accent) 66%, transparent)}.personnel-columns-list input{width:17px;height:17px;accent-color:var(--primary)}.personnel-columns-list input:disabled{cursor:not-allowed;opacity:.55}.personnel-columns-list span{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.preset-form{gap:1rem;display:grid}.permanent-delete-summary{border:1px solid color-mix(in oklab, var(--destructive) 22%, var(--border));border-radius:var(--radius);background:color-mix(in oklab, var(--destructive) 4%, var(--muted));gap:.65rem;padding:.9rem;display:grid}.permanent-delete-summary strong{font-size:.8rem}.permanent-delete-summary p{color:var(--muted-foreground);margin:0;font-size:.72rem;line-height:1.5}.permanent-delete-summary>div{gap:.35rem;display:grid}.employee-photo-editor{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in oklab, var(--muted) 45%, var(--card));grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;padding:1rem;display:grid}.employee-photo-editor__preview{border:1px solid var(--border);background:var(--card);border-radius:1rem;place-items:center;width:112px;height:112px;padding:0;display:grid;overflow:hidden}.employee-photo-editor__preview-button{color:inherit;cursor:pointer;transition:border-color .12s,box-shadow .12s}.employee-photo-editor__preview-button:hover,.employee-photo-editor__preview-button:focus-visible{border-color:var(--primary);box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--primary) 28%, transparent);outline:0}.employee-photo-editor__preview img{object-fit:cover;width:100%;height:100%}.employee-photo-editor__preview>svg{width:42px;height:42px;color:var(--muted-foreground)}.employee-photo-editor__content{gap:.45rem;min-width:0;display:grid}.employee-photo-editor__content>strong{font-size:.84rem}.employee-photo-editor__content>p:not(.ui-field-error){color:var(--muted-foreground);margin:0;font-size:.72rem;line-height:1.5}.employee-photo-editor__content>div{flex-wrap:wrap;gap:.45rem;display:flex}.employee-photo-input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.employee-photo-placeholder,.employee-photo-thumbnail{border:1px solid var(--border);background:var(--muted);width:46px;height:46px;color:var(--muted-foreground);border-radius:50%;place-items:center;display:grid;overflow:hidden}.employee-photo-thumbnail{cursor:zoom-in;padding:0}.employee-photo-thumbnail:hover{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklab, var(--primary) 12%, transparent)}.employee-photo-thumbnail img{object-fit:cover;width:100%;height:100%}.employee-photo-placeholder svg{width:20px;height:20px}.employee-photo-viewer{aspect-ratio:1;border-radius:var(--radius);background:var(--muted);width:min(100%,680px);margin:0 auto;position:relative;overflow:hidden}.employee-photo-viewer img{object-fit:contain}.employee-photo-viewer>span{inset-inline:.75rem;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0f19b8;border-radius:999px;align-items:center;gap:.4rem;width:max-content;max-width:calc(100% - 1.5rem);padding:.45rem .7rem;font-size:.7rem;display:inline-flex;position:absolute;bottom:.75rem}.employee-photo-viewer>span svg{width:14px;height:14px}.photo-crop-backdrop{z-index:250;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#090f19b3;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.photo-crop-dialog{background:var(--card);border:1px solid #ffffff29;border-radius:1rem;width:min(860px,100vw - 2rem);max-height:calc(100dvh - 2rem);display:grid;overflow:auto;box-shadow:0 30px 80px #00000059}.photo-crop-dialog>header{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.photo-crop-dialog h3{margin:0;font-size:1rem}.photo-crop-dialog header p{color:var(--muted-foreground);margin:.3rem 0 0;font-size:.72rem}.photo-crop-stage{background:#111827;min-height:min(56vh,520px);position:relative}.photo-crop-controls{grid-template-columns:1fr 1fr auto;align-items:end;gap:1rem;padding:1rem;display:grid}.photo-crop-controls label{color:var(--muted-foreground);gap:.4rem;font-size:.7rem;font-weight:650;display:grid}.photo-crop-controls input{width:100%;accent-color:var(--primary)}.photo-crop-dialog>footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.6rem;padding:.8rem 1rem;display:flex}.row-actions .personnel-popover__trigger{border:0;width:36px;min-width:36px;min-height:36px;padding:0}.personnel-popover__panel.row-actions__menu{inset-inline-end:auto;width:170px;top:auto}.row-action-photo{display:none!important}.personnel-options-menu{width:min(260px,100vw - 1rem);padding:.3rem}.personnel-options-menu__actions{display:grid}.personnel-options-menu__actions button{min-height:38px;color:var(--foreground);text-align:start;cursor:pointer;background:0 0;border:0;border-radius:.5rem;align-items:center;gap:.55rem;padding:0 .65rem;font-size:.76rem;display:flex}.personnel-options-menu__actions button:hover{background:var(--muted)}.personnel-options-menu__actions svg{width:15px;height:15px;color:var(--muted-foreground)}.photo-zip-progress-backdrop{z-index:calc(var(--layer-dialog) + 30);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b193094;background:lab(8.57237% 1.01651 -17.4709/.58);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.photo-zip-progress{border:1px solid color-mix(in oklab, var(--primary) 24%, var(--border));border-radius:calc(var(--radius) + .35rem);background:var(--card);outline:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.8rem 1rem;width:min(440px,100%);padding:1.25rem;display:grid;box-shadow:0 24px 80px #040f1f52}.photo-zip-progress__icon{background:color-mix(in oklab, var(--primary) 10%, var(--card));width:46px;height:46px;color:var(--primary);border-radius:50%;grid-row:1;place-items:center;display:grid}.photo-zip-progress__icon svg{width:22px;height:22px}.photo-zip-progress__icon--finalizing svg{animation:.7s linear infinite spin}.photo-zip-progress h2{margin:0;font-size:.98rem}.photo-zip-progress p{color:var(--muted-foreground);margin:.28rem 0 0;font-size:.75rem;line-height:1.45}.photo-zip-progress__track{background:var(--muted);border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.photo-zip-progress__track span{border-radius:inherit;background:linear-gradient(90deg, var(--primary), color-mix(in oklab, var(--primary) 58%, #39a8ff));height:100%;transition:width .16s;display:block}.photo-zip-progress>strong{color:var(--muted-foreground);text-align:end;grid-column:1/-1;font-family:Geist Mono,monospace;font-size:.68rem}.emoji-picker-trigger__value{font-size:1.25rem;line-height:1}.emoji-picker-host{border-radius:.65rem;place-items:center;min-height:420px;display:grid;overflow:hidden}.emoji-picker-mount{grid-area:1/1;place-items:center;width:100%;min-width:0;display:grid}.emoji-picker-mount>em-emoji-picker{width:100%;max-width:100%;height:420px}.emoji-picker-loading{color:var(--muted-foreground);grid-area:1/1;align-items:center;gap:.55rem;font-size:.78rem;display:inline-flex}.photo-zip-progress__cancel{grid-column:1/-1;justify-self:end;min-width:112px}@media (prefers-reduced-motion:reduce){.photo-zip-progress__icon--finalizing svg{animation:none}.photo-zip-progress__track span{transition:none}}@media (max-width:820px){.personnel-presets-panel>header{gap:.5rem}}@media (max-width:620px){.employee-photo-editor{text-align:center;grid-template-columns:1fr}.employee-photo-editor__preview{margin:0 auto}.employee-photo-editor__content>div{justify-content:center}.photo-crop-backdrop{padding:0}.photo-crop-dialog{border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.photo-crop-stage{min-height:48dvh}.photo-crop-controls,.personnel-presets-list>div{grid-template-columns:1fr}.personnel-presets-list>div>div{justify-content:flex-end}.row-action-photo{display:flex!important}}*,:before,:after{box-sizing:border-box;border-color:var(--border)}html{background:var(--background);min-width:320px}body{background:var(--background);min-height:100vh;color:var(--foreground);text-rendering:optimizelegibility;margin:0;font-family:Geist,Geist Fallback,ui-sans-serif,system-ui,sans-serif}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in oklab, var(--ring) 35%, transparent);outline-offset:2px}::selection{background:color-mix(in oklab, var(--primary) 20%, white)}.ui-button{border-radius:var(--radius);white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:42px;padding:0 1rem;font-size:.875rem;font-weight:650;line-height:1;transition:transform .12s,background .12s,color .12s,border-color .12s,box-shadow .12s;display:inline-flex}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:active:not(:disabled){transform:translateY(0)}.ui-button:disabled{cursor:not-allowed;opacity:.55}.ui-button svg{flex:none;width:1rem;height:1rem}.ui-button--primary{background:var(--primary);color:var(--primary-foreground);box-shadow:0 5px 14px color-mix(in oklab, var(--primary) 20%, transparent)}.ui-button--primary:hover:not(:disabled){background:color-mix(in oklab, var(--primary) 90%, black)}.ui-button--secondary{background:var(--secondary);color:var(--secondary-foreground)}.ui-button--secondary:hover:not(:disabled){background:color-mix(in oklab, var(--secondary) 88%, var(--primary))}.ui-button--ghost{color:var(--muted-foreground);background:0 0}.ui-button--ghost:hover:not(:disabled){background:var(--secondary);color:var(--foreground)}.ui-button--outline{background:var(--card);color:var(--foreground);border-color:var(--border)}.ui-button--outline:hover:not(:disabled){background:var(--muted);border-color:color-mix(in oklab, var(--primary) 30%, var(--border))}.ui-button--danger{background:var(--destructive);color:#fff}.ui-button--sm{min-height:34px;padding:0 .75rem;font-size:.8125rem}.ui-button--lg{min-height:48px;padding:0 1.25rem;font-size:.9375rem}.ui-button--icon{width:42px;min-width:42px;padding:0}.ui-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.65s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.route-progress{z-index:calc(var(--layer-dialog) + 20);background:color-mix(in oklab, var(--primary) 14%, transparent);pointer-events:none;height:3px;position:fixed;inset-block-start:0;inset-inline:0;overflow:hidden}.route-progress__bar{background:var(--primary);width:38%;height:100%;box-shadow:0 0 10px color-mix(in oklab, var(--primary) 55%, transparent);border-radius:999px;animation:.9s ease-in-out infinite route-progress-ltr;display:block}html[dir=rtl] .route-progress__bar{animation-name:route-progress-rtl}@keyframes route-progress-ltr{0%{transform:translate(-110%)}to{transform:translate(280%)}}@keyframes route-progress-rtl{0%{transform:translate(110%)}to{transform:translate(-280%)}}.route-loading{align-content:start;width:min(100%,980px);min-height:min(72dvh,640px)}.route-loading__card{width:100%;max-width:980px;padding:1.25rem}.route-loading__status{min-height:44px;color:var(--muted-foreground);align-items:center;gap:.65rem;display:flex}.locale-switcher__spinner{width:16px;height:16px;color:var(--primary);display:block}@media (prefers-reduced-motion:reduce){.route-progress__bar{width:100%;animation:none}}.ui-card{border:1px solid var(--border);border-radius:calc(var(--radius) * 1.25);background:var(--card);color:var(--card-foreground);box-shadow:0 1px 2px color-mix(in oklab, var(--foreground) 4%, transparent), 0 14px 36px color-mix(in oklab, var(--foreground) 3%, transparent)}.ui-card__header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.25rem 0;display:flex}.ui-card__title{letter-spacing:-.015em;margin:0;font-size:1rem;font-weight:700}.ui-card__description{color:var(--muted-foreground);margin:.35rem 0 0;font-size:.875rem;line-height:1.5}.ui-card__content{padding:1.25rem}.ui-label{color:var(--foreground);margin-bottom:.45rem;font-size:.8125rem;font-weight:650;display:inline-block}.ui-input{border:1px solid var(--input);border-radius:var(--radius);background:var(--card);width:100%;min-height:42px;color:var(--foreground);outline:none;padding:.6rem .75rem;font-size:.875rem;transition:border-color .12s,box-shadow .12s}.ui-input:hover{border-color:color-mix(in oklab, var(--primary) 25%, var(--border))}.ui-input:focus{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 15%, transparent)}.ui-input::placeholder{color:color-mix(in oklab, var(--muted-foreground) 72%, white)}.ui-input:disabled{background:var(--muted);color:var(--muted-foreground)}.ui-select{appearance:auto}.searchable-select,.searchable-select>.compact-popover{min-width:0;display:block}.searchable-select__trigger{border:1px solid var(--input);border-radius:var(--radius);background:var(--card);width:100%;min-height:42px;color:var(--foreground);font:inherit;text-align:start;cursor:pointer;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:.45rem;padding:.48rem .65rem;font-size:.82rem;transition:border-color .12s,box-shadow .12s,background .12s;display:grid}.searchable-select__trigger:hover{border-color:color-mix(in oklab, var(--primary) 30%, var(--border));background:color-mix(in oklab, var(--primary) 2%, var(--card))}.searchable-select__trigger:focus-visible,.searchable-select__trigger[aria-expanded=true]{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 14%, transparent);outline:0}.searchable-select__trigger:disabled{cursor:not-allowed;background:var(--muted);color:var(--muted-foreground)}.searchable-select__trigger>svg{width:15px;height:15px;color:var(--muted-foreground);transition:transform .12s}.searchable-select__trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.searchable-select__value{align-items:center;gap:.4rem;min-width:0;display:flex}.searchable-select__value>span:not(.searchable-select__option-icon){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.searchable-select__value--placeholder{color:var(--muted-foreground)}.searchable-select__value small{background:var(--muted);min-width:22px;height:20px;color:var(--muted-foreground);border-radius:999px;flex:none;place-items:center;padding-inline:.35rem;font-size:.64rem;font-weight:750;display:inline-grid}.searchable-select__panel{width:min(max(var(--compact-popover-trigger-width,220px), 240px), calc(100vw - 16px));flex-direction:column;min-width:0;max-width:390px;padding:.3rem;display:flex;overflow:hidden;max-height:min(360px, 58dvh, var(--compact-popover-available-height,58dvh))!important}.searchable-select__search{z-index:1;border-bottom:1px solid var(--border);background:var(--card);grid-template-columns:16px minmax(0,1fr);align-items:center;gap:.4rem;min-height:38px;padding:.2rem .35rem .45rem;display:grid;position:sticky;top:0}.searchable-select__search>svg{width:15px;height:15px;color:var(--muted-foreground)}.searchable-select__search input{width:100%;min-width:0;color:var(--foreground);font:inherit;background:0 0;border:0;outline:0;font-size:.76rem}.searchable-select__search input::-webkit-search-cancel-button{appearance:none}.searchable-select__list{overscroll-behavior:contain;flex:auto;min-height:0;max-height:min(300px,48dvh);padding-block-start:.2rem;overflow:auto}.searchable-select__list--virtualized{padding-block-start:0;position:relative}.searchable-select__virtual-space{width:100%;min-width:0;position:relative}.searchable-select__list--virtualized [role=option]{contain:strict;min-height:38px;padding-block:.25rem}.searchable-select__list [role=option]{width:100%;min-height:36px;color:inherit;font:inherit;text-align:start;content-visibility:auto;contain-intrinsic-size:auto 36px;cursor:pointer;background:0 0;border:0;border-radius:.42rem;grid-template-columns:20px auto minmax(0,1fr);align-items:center;gap:.4rem;padding:.3rem .42rem;font-size:.75rem;display:grid}.searchable-select__list [role=option].searchable-select__option--without-icon{grid-template-columns:20px minmax(0,1fr)}.searchable-select__list [role=option]:hover,.searchable-select__list [role=option].active{background:var(--muted);outline:0}.searchable-select__list [role=option][aria-selected=true]{background:color-mix(in oklab, var(--primary) 8%, var(--card));color:var(--primary-strong)}.searchable-select__list [role=option]:disabled{cursor:not-allowed;opacity:.45}.searchable-select__indicator{width:18px;height:18px;color:var(--primary);border-radius:.32rem;place-items:center;font-size:.68rem;font-weight:800;display:grid}.searchable-select__indicator svg{stroke-width:2.6px;width:14px;height:14px}.searchable-select__option-icon{flex:none;place-items:center;min-width:22px;display:inline-grid}.searchable-select__option-copy{gap:.08rem;min-width:0;display:grid}.searchable-select__option-copy>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.searchable-select__option-copy strong{color:var(--primary-strong);font-weight:800}.searchable-select__option-copy small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.searchable-select__empty{color:var(--muted-foreground);text-align:center;margin:0;padding:.85rem .5rem;font-size:.75rem}.searchable-select__actions{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:.35rem;min-height:34px;padding:.3rem .35rem 0;display:flex}.searchable-select__actions button{min-height:28px;color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.38rem;padding-inline:.45rem;font-size:.7rem;font-weight:700}.searchable-select__actions button:hover{background:color-mix(in oklab, var(--primary) 8%, transparent)}.searchable-select__actions button:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.searchable-select__actions button:disabled{cursor:not-allowed;opacity:.45}.ui-select{background:0 0;border:0;padding:0}.ui-select:hover{border-color:#0000}.ui-select .searchable-select__trigger{min-height:inherit}.ui-textarea{resize:vertical;min-height:100px}.ui-field-error{color:var(--destructive);margin:.35rem 0 0;font-size:.78rem}.date-picker{min-width:0;display:block;position:relative}.date-picker__control{width:100%;min-height:42px;color:var(--foreground);display:block;position:relative}.date-picker__input{border:1px solid color-mix(in oklab, var(--input) 88%, var(--foreground));background:color-mix(in oklab, var(--secondary) 58%, var(--card));width:100%;min-width:0;height:42px;color:inherit;font:inherit;text-align:start;border-radius:.75rem;outline:0;padding:10px 12px;padding-inline-start:36px;font-size:.875rem;line-height:20px;transition:border-color .12s,box-shadow .12s,background .12s;box-shadow:0 1px 2px #0f172a0d}.date-picker__control:hover .date-picker__input:not(:disabled){border-color:color-mix(in oklab, var(--primary) 34%, var(--border));background:color-mix(in oklab, var(--secondary) 72%, var(--card))}.date-picker__input:focus{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 15%, transparent), 0 1px 2px #0f172a0d}.date-picker__control--invalid .date-picker__input{border-color:var(--destructive)}.date-picker__input::placeholder{color:var(--muted-foreground)}.date-picker__input:disabled{background:var(--muted);color:var(--muted-foreground);cursor:not-allowed}.date-picker .compact-popover{z-index:1;pointer-events:none;width:36px;height:42px;display:block;position:absolute;inset-block-start:0;inset-inline-start:0}.date-picker__toggle{width:36px;height:42px;color:var(--muted-foreground);pointer-events:none;background:0 0;border:0;place-items:center;padding:0;display:grid}.date-picker__toggle>svg{width:16px;height:16px}.date-picker__error{color:var(--destructive);margin-top:.35rem;font-size:.7rem;line-height:1.4;display:block}.date-picker__panel{border:1px solid var(--border);background:var(--card);width:min(298px,100vw - 1rem);box-shadow:none;pointer-events:auto;border-radius:.75rem;padding:1rem;overflow:auto;max-height:min(420px, calc(100dvh - 1rem), var(--compact-popover-available-height,calc(100dvh - 1rem)))!important}.date-picker-calendar__header{grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:0;min-height:40px;margin-bottom:.5rem;display:grid}.date-picker-calendar__header>button,.date-picker-calendar__header>span{min-height:40px;color:var(--foreground);font:inherit;background:0 0;border:0;border-radius:.75rem;place-items:center;padding:.625rem;font-size:.875rem;font-weight:500;display:grid}.date-picker-calendar__header>button{cursor:pointer}.date-picker-calendar__header>button:hover:not(:disabled),.date-picker-calendar__header>button:focus-visible{background:color-mix(in oklab, var(--muted) 82%, var(--card));outline:0}.date-picker-calendar__header>button:disabled{cursor:not-allowed;opacity:.36}.date-picker-calendar__header svg{width:16px;height:16px}.date-picker-calendar__caption{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.date-picker-calendar__grid{grid-template-columns:repeat(4,minmax(0,1fr));width:256px;max-width:100%;margin:0 auto;display:grid}.date-picker-calendar__grid>button{min-width:0;min-height:36px;color:var(--foreground);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.75rem;padding:0 .25rem;font-size:.875rem;font-weight:500;line-height:36px}.date-picker-calendar__grid>button:hover:not(:disabled),.date-picker-calendar__grid>button:focus-visible{background:color-mix(in oklab, var(--muted) 82%, var(--card));outline:0}.date-picker-calendar__grid>button:disabled{color:var(--muted-foreground);cursor:not-allowed;opacity:.42}.date-picker-calendar__grid>.date-picker-calendar__option--active,.date-picker-calendar__grid>.date-picker-calendar__option--active:hover:not(:disabled),.date-picker-calendar__grid>.date-picker-calendar__option--active:focus-visible{background:var(--primary);color:var(--primary-foreground);font-weight:500}.date-picker__panel .rdp-root{--rdp-accent-color:var(--primary);--rdp-accent-background-color:var(--primary);--rdp-day-height:36px;--rdp-day-width:36.57px;--rdp-day_button-height:36px;--rdp-day_button-width:36.57px;--rdp-day_button-border-radius:12px;--rdp-selected-border:0;--rdp-today-color:inherit;--rdp-weekday-padding:0;width:264px;max-width:100%;color:var(--foreground);margin:0 auto 8px;padding:4px;font-size:.875rem}.date-picker__panel .rdp-months{justify-content:center}.date-picker__panel .rdp-month_caption{display:none}.date-picker__panel .rdp-month_grid{table-layout:fixed;border-collapse:collapse;width:256px;max-width:100%}.date-picker__panel .rdp-weekdays{height:28px}.date-picker__panel .rdp-weekday{height:28px;color:var(--muted-foreground);font-size:.875rem;font-weight:500;line-height:24px;padding:0 0 4px!important}.date-picker__panel .rdp-day{width:36.57px;height:36px;padding:0!important}.date-picker__panel .rdp-day_button{border:0;border-radius:.75rem;font-size:.875rem;font-weight:500}.date-picker__panel .rdp-day_button:hover:not(:disabled){background:color-mix(in oklab, var(--muted) 82%, var(--card))}.date-picker__panel .rdp-day_button:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.date-picker__panel .rdp-selected .rdp-day_button,.date-picker__panel .rdp-selected .rdp-day_button:hover:not(:disabled),.date-picker__panel .rdp-selected .rdp-day_button:focus-visible{background:var(--primary);color:var(--primary-foreground);font-weight:500}.date-picker__panel .rdp-selected .rdp-day_button:focus-visible{outline-color:var(--primary)}.date-picker__panel .rdp-today:not(.rdp-selected) .rdp-day_button{color:inherit;border:0;font-weight:500}.date-picker__panel .rdp-outside{color:var(--muted-foreground);opacity:.55}.date-picker__panel .rdp-disabled{color:var(--muted-foreground);opacity:.38}.date-picker__loading{background:linear-gradient(100deg, var(--muted) 20%, color-mix(in oklab, var(--muted) 45%, white) 42%, var(--muted) 64%);background-size:220% 100%;border-radius:.75rem;width:264px;max-width:100%;height:264px;animation:1.2s linear infinite skeleton}.date-picker__actions{border-top:1px solid var(--border);padding-top:.75rem}.date-picker__today{background:var(--primary);width:100%;min-height:40px;color:var(--primary-foreground);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:600;line-height:1.25rem;transition:background-color .12s,box-shadow .12s,opacity .12s;display:inline-flex}.date-picker__today:hover:not(:disabled){background:color-mix(in oklab, var(--primary) 88%, black)}.date-picker__today:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 22%, transparent);outline:0}.date-picker__today:disabled{cursor:not-allowed;opacity:.5}.date-range-picker{min-width:0;display:block;position:relative}.date-range-picker__control{width:100%;min-height:42px;color:var(--foreground);display:block;position:relative}.date-range-picker__input{border:1px solid color-mix(in oklab, var(--input) 88%, var(--foreground));background:color-mix(in oklab, var(--secondary) 58%, var(--card));width:100%;min-width:0;height:42px;color:inherit;font:inherit;text-align:start;border-radius:.75rem;outline:0;padding:10px 36px;font-size:.875rem;line-height:20px;transition:border-color .12s,box-shadow .12s,background .12s;box-shadow:0 1px 2px #0f172a0d}.date-range-picker__control:hover .date-range-picker__input:not(:disabled){border-color:color-mix(in oklab, var(--primary) 34%, var(--border));background:color-mix(in oklab, var(--secondary) 72%, var(--card))}.date-range-picker__input:focus{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 15%, transparent), 0 1px 2px #0f172a0d}.date-range-picker__control--invalid .date-range-picker__input{border-color:var(--destructive)}.date-range-picker__input::placeholder{color:var(--muted-foreground)}.date-range-picker__input:disabled{background:var(--muted);color:var(--muted-foreground);cursor:not-allowed}.date-range-picker .compact-popover{z-index:1;pointer-events:none;width:36px;height:42px;display:block;position:absolute;inset-block-start:0;inset-inline-start:0}.date-range-picker__toggle{width:36px;height:42px;color:var(--muted-foreground);pointer-events:none;background:0 0;border:0;place-items:center;padding:0;display:grid}.date-range-picker__toggle>svg{width:16px;height:16px}.date-range-picker__clear-value{z-index:2;width:36px;height:42px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:0 .75rem .75rem 0;place-items:center;padding:0;display:grid;position:absolute;inset-block-start:0;inset-inline-end:0}[dir=rtl] .date-range-picker__clear-value{border-radius:.75rem 0 0 .75rem}.date-range-picker__clear-value:hover{color:var(--foreground)}.date-range-picker__clear-value:focus-visible{outline:2px solid var(--ring);outline-offset:-4px}.date-range-picker__clear-value>svg{width:15px;height:15px}.date-range-picker__error{color:var(--destructive);margin-top:.35rem;font-size:.7rem;line-height:1.4;display:block}.date-range-picker__panel{border:1px solid var(--border);background:var(--card);pointer-events:auto;border-radius:.75rem;width:min(298px,100vw - 1rem);padding:1rem;overflow:hidden;box-shadow:0 18px 45px #0f172a1f;max-height:min(470px, calc(100dvh - 1rem), var(--compact-popover-available-height,calc(100dvh - 1rem)))!important}.date-range-picker__surface{max-height:calc(min(470px, calc(100dvh - 1rem), var(--compact-popover-available-height,calc(100dvh - 1rem))) - 2rem);flex-direction:column;min-height:0;display:flex}.date-range-picker__calendar-scroll{overscroll-behavior:contain;min-height:0;overflow-y:auto}.date-range-picker-calendar__header{grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:0;min-height:40px;margin-bottom:.5rem;display:grid}.date-range-picker-calendar__header>button,.date-range-picker-calendar__header>span{min-height:40px;color:var(--foreground);font:inherit;background:0 0;border:0;border-radius:.75rem;place-items:center;padding:.625rem;font-size:.875rem;font-weight:500;display:grid}.date-range-picker-calendar__header>button{cursor:pointer}.date-range-picker-calendar__header>button:hover:not(:disabled),.date-range-picker-calendar__header>button:focus-visible{background:color-mix(in oklab, var(--muted) 82%, var(--card));outline:0}.date-range-picker-calendar__header>button:disabled{cursor:not-allowed;opacity:.36}.date-range-picker-calendar__header svg{width:16px;height:16px}.date-range-picker-calendar__caption{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.date-range-picker-calendar__grid{grid-template-columns:repeat(4,minmax(0,1fr));width:256px;max-width:100%;margin:0 auto 8px;display:grid}.date-range-picker-calendar__grid>button{min-width:0;min-height:42px;color:var(--foreground);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.75rem;padding:0 .25rem;font-size:.875rem;font-weight:500;line-height:42px}.date-range-picker-calendar__grid>button:hover:not(:disabled),.date-range-picker-calendar__grid>button:focus-visible{background:color-mix(in oklab, var(--muted) 82%, var(--card));outline:0}.date-range-picker-calendar__grid>button:disabled{color:var(--muted-foreground);cursor:not-allowed;opacity:.42}.date-range-picker-calendar__grid>.date-range-picker-calendar__option--active,.date-range-picker-calendar__grid>.date-range-picker-calendar__option--active:hover:not(:disabled),.date-range-picker-calendar__grid>.date-range-picker-calendar__option--active:focus-visible{background:var(--primary);color:var(--primary-foreground)}.date-range-picker__panel .rdp-root{--rdp-accent-color:var(--primary);--rdp-accent-background-color:var(--primary);--rdp-day-height:36px;--rdp-day-width:36.57px;--rdp-day_button-height:36px;--rdp-day_button-width:36.57px;--rdp-day_button-border-radius:12px;--rdp-selected-border:0;--rdp-today-color:inherit;--rdp-weekday-padding:0;width:264px;max-width:100%;color:var(--foreground);margin:0 auto 8px;padding:4px;font-size:.875rem}.date-range-picker__panel .rdp-months{display:block}.date-range-picker__panel .rdp-month{min-width:0}.date-range-picker__panel .rdp-month+.rdp-month{border-inline-start:1px solid var(--border);padding-inline-start:1rem}.date-range-picker__panel .rdp-month_caption{display:none}.date-range-picker__panel .rdp-month_grid{table-layout:fixed;border-collapse:collapse;width:256px;max-width:100%}.date-range-picker__panel .rdp-weekdays{height:28px}.date-range-picker__panel .rdp-weekday{height:28px;color:var(--muted-foreground);font-size:.875rem;font-weight:500;line-height:24px;padding:0 0 4px!important}.date-range-picker__panel .rdp-day{width:36.57px;height:36px;padding:0!important}.date-range-picker__panel .rdp-day_button{z-index:1;border:0;border-radius:.75rem;font-size:.875rem;font-weight:500;position:relative}.date-range-picker__panel .rdp-day_button:hover:not(:disabled){background:color-mix(in oklab, var(--muted) 82%, var(--card))}.date-range-picker__panel .rdp-day_button:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.date-range-picker__panel .rdp-selected:not(.rdp-range_start):not(.rdp-range_middle):not(.rdp-range_end) .rdp-day_button{background:var(--primary);color:var(--primary-foreground);font-weight:600}.date-range-picker__panel .rdp-range_middle{background:color-mix(in oklab, var(--primary) 13%, transparent)}.date-range-picker__panel .rdp-range_middle .rdp-day_button{color:var(--foreground);background:0 0;border-radius:0}.date-range-picker__panel .rdp-range_start:not(.rdp-range_end){background:linear-gradient(to right, transparent 50%, color-mix(in oklab, var(--primary) 13%, transparent) 50%)}.date-range-picker__panel .rdp-range_end:not(.rdp-range_start){background:linear-gradient(to right, color-mix(in oklab, var(--primary) 13%, transparent) 50%, transparent 50%)}.date-range-picker-calendar[dir=rtl] .rdp-range_start:not(.rdp-range_end){background:linear-gradient(to left, transparent 50%, color-mix(in oklab, var(--primary) 13%, transparent) 50%)}.date-range-picker-calendar[dir=rtl] .rdp-range_end:not(.rdp-range_start){background:linear-gradient(to left, color-mix(in oklab, var(--primary) 13%, transparent) 50%, transparent 50%)}.date-range-picker__panel .rdp-range_start .rdp-day_button,.date-range-picker__panel .rdp-range_end .rdp-day_button,.date-range-picker__panel .rdp-range_start .rdp-day_button:hover:not(:disabled),.date-range-picker__panel .rdp-range_end .rdp-day_button:hover:not(:disabled),.date-range-picker__panel .rdp-range_start .rdp-day_button:focus-visible,.date-range-picker__panel .rdp-range_end .rdp-day_button:focus-visible{background:var(--primary);color:var(--primary-foreground);font-weight:600}.date-range-picker__panel .rdp-today:not(.rdp-range_start):not(.rdp-range_end) .rdp-day_button{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--primary) 55%, transparent);font-weight:600}.date-range-picker__panel .rdp-outside{color:var(--muted-foreground);opacity:.55}.date-range-picker__panel .rdp-disabled{color:var(--muted-foreground);opacity:.38}.date-range-picker__loading{background:linear-gradient(100deg, var(--muted) 20%, color-mix(in oklab, var(--muted) 45%, white) 42%, var(--muted) 64%);background-size:220% 100%;border-radius:.75rem;width:264px;max-width:100%;height:264px;animation:1.2s linear infinite skeleton}.date-range-picker__panel-error{background:color-mix(in oklab, var(--destructive) 8%, var(--card));color:var(--destructive);border-radius:.5rem;margin:0 0 .65rem;padding:.55rem .65rem;font-size:.75rem;line-height:1.4}.date-range-picker__actions{border-top:1px solid var(--border);flex:none;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:.5rem;padding-top:.75rem;display:grid}.date-range-picker__actions button{min-width:0;min-height:40px;font:inherit;cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem .75rem;font-size:.875rem;font-weight:600;line-height:1.25rem;transition:background-color .12s,box-shadow .12s,opacity .12s;display:inline-flex}.date-range-picker__today,.date-range-picker__cancel{border:1px solid var(--border);background:var(--card);color:var(--foreground)}.date-range-picker__today:hover:not(:disabled),.date-range-picker__cancel:hover:not(:disabled){background:var(--muted)}.date-range-picker__apply{background:var(--primary);color:var(--primary-foreground);border:1px solid #0000}.date-range-picker__apply:hover:not(:disabled){background:color-mix(in oklab, var(--primary) 88%, black)}.date-range-picker__actions button:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 22%, transparent);outline:0}.date-range-picker__actions button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:620px){.date-range-picker__panel{width:min(298px,100vw - 1rem)}.date-range-picker__panel .rdp-root{width:264px}.date-range-picker__panel .rdp-months{display:block}.date-range-picker__panel .rdp-month+.rdp-month{border-inline-start:0;padding-inline-start:0}.date-range-picker-calendar__grid{width:256px}.date-range-picker__loading{width:264px}}.ui-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;min-height:24px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.ui-badge--neutral{background:var(--muted);color:var(--muted-foreground)}.ui-badge--success{background:color-mix(in oklab, var(--status-present) 13%, white);color:color-mix(in oklab, var(--status-present) 85%, black)}.ui-badge--danger{background:color-mix(in oklab, var(--status-absent) 12%, white);color:color-mix(in oklab, var(--status-absent) 86%, black)}.ui-badge--info{background:color-mix(in oklab, var(--status-paid-leave) 12%, white);color:color-mix(in oklab, var(--status-paid-leave) 85%, black)}.ui-badge--warning{background:color-mix(in oklab, var(--status-annual-leave) 18%, white);color:color-mix(in oklab, var(--status-annual-leave) 65%, black)}.ui-badge--outline{color:var(--muted-foreground);border:1px solid var(--border);background:0 0}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:320px;padding:2rem;display:flex}.empty-state__icon{background:var(--secondary);width:52px;height:52px;color:var(--primary);border-radius:16px;place-items:center;display:grid}.empty-state__icon svg{width:24px;height:24px}.empty-state h3{margin:1rem 0 .4rem;font-size:1rem}.empty-state p{max-width:440px;color:var(--muted-foreground);margin:0;font-size:.875rem;line-height:1.55}.empty-state__action{margin-top:1.25rem}.dialog-backdrop{z-index:var(--layer-dialog);background:color-mix(in oklab, var(--foreground) 42%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog{--dialog-max:580px;width:min(calc(100vw - 2rem), var(--dialog-max));border:1px solid var(--border);border-radius:calc(var(--radius) * 1.35);background:var(--card);flex-direction:column;max-height:min(92vh,940px);animation:.16s ease-out dialog-in;display:flex;overflow:hidden;box-shadow:0 30px 80px #141e303d}.dialog--sm{--dialog-max:430px}.dialog--md{--dialog-max:580px}.dialog--lg{--dialog-max:760px}.dialog--xl{--dialog-max:1040px}.dialog--print{--dialog-max:1240px;width:min(calc(100vw - 2rem), var(--dialog-max));height:min(95dvh,960px);max-height:95dvh}.dialog--print .dialog__body{flex:1;min-height:0;overflow:hidden}.dialog--photo{--dialog-max:1120px;width:min(calc(100vw - 2rem), var(--dialog-max));height:min(92dvh,940px);max-height:92dvh}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}.dialog__header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.25rem 0;display:flex}.dialog__title{letter-spacing:-.02em;margin:0;font-size:1.125rem}.dialog__title--danger{color:var(--destructive)}.dialog__description{color:var(--muted-foreground);margin:.4rem 0 0;font-size:.875rem;line-height:1.5}.dialog__body{min-height:0;padding:1.25rem;overflow:auto}.dialog--photo .dialog__body{flex:1;padding:.75rem;display:flex;overflow:hidden}.dialog__footer{border-top:1px solid var(--border);background:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;padding:.9rem 1.25rem;display:flex}.personnel-excel-choice-actions{justify-content:space-between;align-items:center;gap:.65rem;width:100%;display:flex}.personnel-excel-choice-actions__decisions{grid-template-columns:repeat(2,minmax(76px,1fr));gap:.65rem;display:grid}.personnel-excel-choice-actions__decisions .ui-button{min-width:76px}.photo-zoom-stage{border-radius:var(--radius);cursor:zoom-in;touch-action:none;-webkit-user-select:none;user-select:none;background:#111827;outline:0;flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.photo-zoom-stage:focus-visible{box-shadow:inset 0 0 0 3px color-mix(in oklab, var(--primary) 65%, white)}.photo-zoom-stage:has(.photo-zoom-toolbar){cursor:grab}.photo-zoom-stage:active:has(.photo-zoom-toolbar){cursor:grabbing}.photo-zoom-image{object-fit:contain;transform-origin:50%;will-change:transform;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.photo-zoom-toolbar{z-index:2;inset-inline-start:50%;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:default;background:#0a0f19d1;border:1px solid #fff3;border-radius:999px;grid-template-columns:38px minmax(90px,1fr) 38px auto 38px;align-items:center;gap:.45rem;width:min(520px,100% - 1.5rem);padding:.35rem .45rem;display:grid;position:absolute;bottom:.8rem;transform:translate(-50%);box-shadow:0 12px 35px #00000047}html[dir=rtl] .photo-zoom-toolbar{transform:translate(50%)}.photo-zoom-toolbar button{color:#fff;cursor:pointer;background:#ffffff1a;border:0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.photo-zoom-toolbar button:hover,.photo-zoom-toolbar button:focus-visible{background:#fff3;outline:0}.photo-zoom-toolbar button svg{width:16px;height:16px}.photo-zoom-toolbar input{accent-color:#fff;width:100%}.photo-zoom-toolbar output{font-variant-numeric:tabular-nums;text-align:center;min-width:48px;font-size:.72rem}.ui-skeleton{background:linear-gradient(90deg, var(--muted), var(--secondary), var(--muted));background-size:200% 100%;border-radius:.45rem;animation:1.3s ease-in-out infinite skeleton;display:inline-block}@keyframes skeleton{to{background-position:-200% 0}}.toast-region{z-index:150;gap:.65rem;width:min(390px,100vw - 2rem);display:grid;position:fixed;bottom:1rem;right:1rem}.toast{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.85rem;font-size:.875rem;display:grid;box-shadow:0 16px 40px #141e3024}.toast>svg{width:18px;height:18px}.toast--success>svg{color:var(--status-present)}.toast--error>svg{color:var(--destructive)}.toast--info>svg{color:var(--status-paid-leave)}.toast button{color:var(--muted-foreground);cursor:pointer;background:0 0;border:0}.toast button svg{width:16px;height:16px}.app-frame{--sidebar-width:250px;min-height:100vh;overflow-x:clip}.app-frame[data-sidebar-collapsed]{--sidebar-width:76px}.desktop-sidebar{z-index:var(--layer-sidebar);width:var(--sidebar-width);contain:layout;border-inline-end:1px solid var(--border);background:color-mix(in oklab, var(--card) 95%, var(--secondary));flex-direction:column;padding:1.2rem .9rem;display:flex;position:fixed;inset-block:0;inset-inline-start:0;overflow:visible}.brand{color:var(--foreground);align-items:center;gap:.7rem;padding:.35rem .45rem;text-decoration:none;display:inline-flex}.brand__mark{border:1px solid color-mix(in oklab, var(--border) 78%, transparent);width:38px;height:38px;box-shadow:0 7px 18px color-mix(in oklab, var(--primary) 16%, transparent);background:#fff;border-radius:11px;flex:none;place-items:center;display:grid;overflow:hidden}.brand__mark img{object-fit:contain;width:82%;height:82%;display:block}.brand__mark--custom{background:0 0;border-color:#0000}.brand__mark--custom img{width:100%;height:100%}.brand>span:last-child{opacity:1;visibility:visible;white-space:nowrap;max-inline-size:150px;line-height:1;transition:opacity .11s,visibility linear;display:grid;overflow:hidden}.brand strong{letter-spacing:-.025em;text-overflow:ellipsis;font-size:.98rem;overflow:hidden}.brand small{color:var(--muted-foreground);letter-spacing:.16em;margin-top:.25rem;font-size:.68rem;font-weight:750}.sidebar-brand-row{justify-content:space-between;align-items:center;gap:.45rem;min-height:48px;display:flex}.sidebar-brand-row .brand{min-width:0}.sidebar-toggle{flex:none}.app-nav{gap:.25rem;margin-top:2rem;display:grid}.app-nav__link{border-radius:var(--radius);min-height:44px;color:var(--muted-foreground);align-items:center;gap:.75rem;padding:0 .8rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .12s,color .12s;display:flex}.app-nav__link>span{opacity:1;visibility:visible;white-space:nowrap;max-inline-size:160px;transition:opacity .11s,visibility linear;overflow:hidden}.app-nav__link svg{width:18px;height:18px}.app-nav__link:hover{background:var(--muted);color:var(--foreground)}.app-nav__link--active{background:color-mix(in oklab, var(--primary) 9%, white);color:var(--primary)}.sidebar-spacer{flex:1}.user-panel{position:relative}.user-panel__trigger{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:100%;color:var(--foreground);text-align:left;cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.65rem;display:grid}.user-panel__trigger>svg{width:15px;height:15px;color:var(--muted-foreground)}.user-avatar{background:var(--secondary);width:34px;height:34px;color:var(--primary);border-radius:10px;place-items:center;font-size:.72rem;font-weight:800;display:grid}.user-panel__copy{min-width:0;opacity:1;visibility:visible;max-inline-size:160px;transition:opacity .11s,visibility linear;display:grid;overflow:hidden}.user-panel__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.user-panel__copy small{color:var(--muted-foreground);margin-top:.2rem;font-size:.67rem}.user-panel__popover{width:100%}.user-panel__menu{width:230px;padding:.35rem}.user-panel__menu .locale-switcher--compact{grid-template-columns:auto minmax(0,1fr)}.user-panel__menu .locale-switcher--compact>svg,.user-panel__menu .locale-switcher--compact>.locale-switcher__spinner{grid-area:1/1}.user-panel__menu .locale-switcher--compact .locale-switcher__select{grid-area:1/2}.user-panel__menu .locale-switcher--compact .searchable-select__value{text-align:start;justify-content:flex-start;width:100%}.user-panel__menu>button[data-unsaved-navigation=logout]{width:100%;min-height:38px;color:var(--destructive);cursor:pointer;background:0 0;border:0;border-radius:.5rem;align-items:center;gap:.55rem;margin-block-start:.35rem;padding:0 .6rem;font-size:.8rem;font-weight:700;display:flex}.user-panel__menu>button[data-unsaved-navigation=logout]:hover{background:color-mix(in oklab, var(--destructive) 7%, white)}.user-panel__menu svg{width:15px;height:15px}.app-main{min-height:100vh;margin-inline-start:var(--sidebar-width);padding:2rem clamp(1.25rem,3vw,3rem) 3rem}.app-frame[data-scroll-contained],.app-frame[data-scroll-contained] .app-main{height:100dvh;min-height:0;overflow:hidden}.app-frame[data-scroll-contained] .workspace{height:100%;min-height:0}.app-frame[data-scroll-contained] .personnel-workspace{flex-direction:column;display:flex}.app-frame[data-scroll-contained] .personnel-workspace>.page-header,.app-frame[data-scroll-contained] .personnel-workspace>.metric-strip,.app-frame[data-scroll-contained] .attendance-header{flex:none}.app-frame[data-scroll-contained] .personnel-workspace>.page-header{width:100%;margin-inline:0}.app-frame[data-scroll-contained] .personnel-data-card,.app-frame[data-scroll-contained] .attendance-main-card{flex-direction:column;min-height:0;display:flex}.app-frame[data-scroll-contained] .personnel-data-card{flex:1}.app-frame[data-scroll-contained] .personnel-grid-scroll,.app-frame[data-scroll-contained] .attendance-table-scroll{flex:1;min-height:0;max-height:none}.app-frame[data-scroll-contained] .attendance-workspace{flex-direction:column;display:flex}.app-frame[data-scroll-contained] .attendance-layout{flex:1;align-items:stretch;min-height:0;overflow:hidden}.app-frame[data-scroll-contained] .attendance-side{grid-auto-rows:max-content;align-content:start;align-items:start;min-height:0;max-height:100%;overflow:auto}.app-frame[data-sidebar-collapsed] .desktop-sidebar{padding-inline:.65rem}.app-frame[data-sidebar-collapsed] .desktop-sidebar .sidebar-brand-row{justify-content:center;gap:0}.app-frame[data-sidebar-collapsed] .desktop-sidebar .sidebar-brand-row .brand{opacity:0;visibility:hidden;pointer-events:none;flex:0 0 0;max-inline-size:0;padding:0;overflow:hidden}.app-frame[data-sidebar-collapsed] .desktop-sidebar .app-nav__link>span,.app-frame[data-sidebar-collapsed] .desktop-sidebar .user-panel__copy{opacity:0;visibility:hidden;pointer-events:none;max-inline-size:0;transition:opacity 90ms,visibility 0s linear 90ms}.app-frame[data-sidebar-collapsed] .desktop-sidebar .user-panel__trigger>svg{opacity:0;visibility:hidden;pointer-events:none;width:0;height:0;overflow:hidden}.app-frame[data-sidebar-collapsed] .desktop-sidebar .sidebar-brand-row,.app-frame[data-sidebar-collapsed] .desktop-sidebar .app-nav,.app-frame[data-sidebar-collapsed] .desktop-sidebar .app-nav__link,.app-frame[data-sidebar-collapsed] .desktop-sidebar .sidebar-toggle,.app-frame[data-sidebar-collapsed] .desktop-sidebar .user-panel,.app-frame[data-sidebar-collapsed] .desktop-sidebar .user-panel__popover,.app-frame[data-sidebar-collapsed] .desktop-sidebar .user-panel__trigger{width:100%}.app-frame[data-sidebar-collapsed] .desktop-sidebar .sidebar-toggle{margin:0}.app-frame[data-sidebar-collapsed] .desktop-sidebar .app-nav__link{justify-content:center;gap:0;padding-inline:0}.app-frame[data-sidebar-collapsed] .desktop-sidebar .app-nav__link svg{flex:none;width:20px;height:20px}.app-frame[data-sidebar-collapsed] .desktop-sidebar .user-panel__trigger{text-align:center;justify-content:center;gap:0;padding:.45rem;display:flex}.app-frame[data-sidebar-collapsed] .desktop-sidebar .user-avatar{flex:none;margin:0}.app-frame[data-sidebar-collapsed] .desktop-sidebar [data-tooltip]{position:relative}.app-frame[data-sidebar-collapsed] .desktop-sidebar [data-tooltip]:after{z-index:90;inset-inline-start:calc(100% + .7rem);border:1px solid var(--border);background:var(--foreground);width:max-content;max-width:220px;color:var(--background);content:attr(data-tooltip);opacity:0;pointer-events:none;border-radius:.45rem;padding:.38rem .55rem;font-size:.7rem;font-weight:650;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:50%;transform:translateY(-50%)translate(-4px)}.app-frame[data-sidebar-collapsed] .desktop-sidebar [data-tooltip]:hover:after,.app-frame[data-sidebar-collapsed] .desktop-sidebar [data-tooltip]:focus-visible:after,.app-frame[data-sidebar-collapsed] .desktop-sidebar [data-tooltip]:focus-within:after{opacity:1;transform:translateY(-50%)translate(0)}.mobile-header,.mobile-dock,.mobile-menu-backdrop{display:none}@media (min-width:901px) and (prefers-reduced-motion:no-preference){.app-frame[data-sidebar-ready] .desktop-sidebar{transition:width .18s cubic-bezier(.2,.8,.2,1),padding .18s cubic-bezier(.2,.8,.2,1)}}@media (prefers-reduced-motion:reduce){.brand>span:last-child,.app-nav__link>span,.user-panel__copy{transition:none}}.page-header{justify-content:space-between;align-items:flex-start;gap:1.5rem;width:100%;margin:0 0 1.5rem;display:flex}.page-header h1{letter-spacing:-.045em;margin:0;font-size:clamp(1.55rem,2.2vw,2.15rem);font-weight:760}.page-header__actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}@media (max-width:900px){.desktop-sidebar{display:none}.app-frame{min-height:100dvh}.app-main{min-height:calc(100dvh - var(--mobile-header-height));padding:1.25rem 1rem var(--mobile-dock-page-clearance);margin-inline-start:0}.app-frame[data-scroll-contained] .app-main{height:calc(100dvh - var(--mobile-header-height))}.mobile-header{z-index:35;height:var(--mobile-header-height);border-bottom:1px solid var(--border);background:color-mix(in oklab, var(--card) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;padding:0 .75rem;display:flex;position:sticky;top:0}.brand--mobile .brand__mark{width:34px;height:34px}.mobile-dock{z-index:40;inset-inline:0;isolation:isolate;height:calc(var(--mobile-dock-height) + env(safe-area-inset-bottom,0px));background:var(--card);padding:0 max(12px, env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(12px, env(safe-area-inset-left,0px));box-shadow:inset 0 1px 0 color-mix(in oklab, var(--border) 92%, transparent), 0 -8px 24px #141e3014;display:block;position:fixed;bottom:0;overflow:hidden}.mobile-dock__inner{width:min(100%,520px);height:var(--mobile-dock-height);margin-inline:auto;position:relative}.mobile-dock__destinations{grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);height:100%;display:grid}.mobile-dock__destination{min-width:0;min-height:var(--mobile-dock-height);color:color-mix(in oklab, var(--foreground) 70%, var(--muted-foreground));-webkit-tap-highlight-color:transparent;border-radius:.75rem;flex-direction:column;justify-content:flex-end;align-items:center;gap:.3rem;padding:.55rem .35rem .62rem;text-decoration:none;display:flex}.mobile-dock__destination:first-child{grid-column:1}.mobile-dock__destination:last-child{grid-column:3}.mobile-dock__destination>svg{stroke-width:2px;flex:0 0 24px;width:24px;height:24px;transition:transform .12s}.mobile-dock__destination>span{letter-spacing:-.012em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.72rem;font-weight:620;line-height:1.2;display:block;overflow:hidden}.mobile-dock__destination--active{color:var(--primary);box-shadow:inset 0 2px 0 var(--primary)}.mobile-dock__destination:focus-visible{outline:2px solid color-mix(in oklab, var(--ring) 82%, transparent);outline-offset:-5px}.mobile-dock__destination:active>svg{transform:scale(.97)}.mobile-dock__launcher{z-index:2;width:90px;min-height:44px;height:var(--mobile-dock-height);color:var(--primary);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:.75rem;flex-direction:column;justify-content:flex-end;align-items:center;gap:.3rem;padding:.55rem .35rem .62rem;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.mobile-dock__launcher-icon{width:24px;height:24px;color:inherit;flex:0 0 24px;place-items:center;transition:transform .12s;display:grid}.mobile-dock__launcher-icon>svg{stroke-width:0;width:24px;height:24px}.mobile-dock__launcher-icon>svg rect{fill:currentColor;stroke:none}.mobile-dock__launcher-label{letter-spacing:-.012em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.72rem;font-weight:620;line-height:1.2;display:block;overflow:hidden}.mobile-dock__launcher[aria-expanded=true]{background:color-mix(in oklab, var(--primary) 5%, transparent);color:var(--primary);box-shadow:inset 0 2px 0 var(--primary)}.mobile-dock__launcher:focus-visible{outline:2px solid color-mix(in oklab, var(--ring) 82%, transparent);outline-offset:-5px}.mobile-dock__launcher:active .mobile-dock__launcher-icon{transform:scale(.97)}.mobile-dock__launcher:disabled{color:var(--muted-foreground);cursor:not-allowed;opacity:.55;background:0 0}.mobile-menu-backdrop{z-index:90;background:color-mix(in oklab, var(--foreground) 38%, transparent);display:block;position:fixed;inset:0}.mobile-menu{background:var(--card);flex-direction:column;width:min(88vw,360px);padding:1rem;animation:.16s ease-out menu-in;display:flex;position:absolute;inset-block:0;inset-inline:auto 0;box-shadow:-20px 0 60px #141e3033}@keyframes menu-in{0%{opacity:0;transform:translate(20px)}}html[dir=rtl] .mobile-menu{animation-name:menu-in-rtl;box-shadow:20px 0 60px #141e3033}@keyframes menu-in-rtl{0%{opacity:0;transform:translate(-20px)}}.mobile-menu__header{justify-content:space-between;align-items:center;display:flex}.mobile-menu .app-nav{margin-top:1.5rem}.personnel-workspace>.metric-strip,.attendance-list-workspace>.attendance-metrics,.personnel-workspace>.page-header .page-header__actions,.attendance-list-workspace>.page-header .page-header__actions,.attendance-header__actions .attendance-options-trigger{display:none}.page-header{gap:1rem;display:grid}.page-header__actions{justify-content:flex-start}}.mobile-action-sheet__scrim{z-index:109;touch-action:none;background:color-mix(in oklab, var(--foreground) 34%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:.15s ease-out both mobile-sheet-scrim-in;position:fixed;inset:0}.mobile-action-sheet{z-index:110;left:50%;bottom:var(--mobile-dock-overlay-offset);width:min(520px,100vw - 1.5rem);max-height:min(480px, calc(100dvh - var(--mobile-dock-overlay-offset) - 1.5rem));overscroll-behavior:contain;border:1px solid color-mix(in oklab, var(--border) 88%, transparent);background:var(--card);color:var(--foreground);border-radius:1.35rem;flex-direction:column;animation:.18s cubic-bezier(.2,.8,.2,1) both mobile-sheet-in;display:flex;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 22px 60px #141e3038}.mobile-action-sheet__header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:.75rem;min-height:58px;padding:.45rem .55rem .45rem 1rem;display:flex}.mobile-action-sheet__header h2{letter-spacing:-.02em;margin:0;font-size:.9rem;font-weight:740}.mobile-action-sheet__close{width:44px;height:44px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:.75rem;flex:0 0 44px;place-items:center;padding:0;display:grid}.mobile-action-sheet__close>svg{width:19px;height:19px}.mobile-action-sheet__close:hover,.mobile-action-sheet__close:focus-visible{background:var(--muted);color:var(--foreground);outline:0}.mobile-action-sheet__list{overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable;min-height:0;padding:.5rem;overflow:auto}.mobile-action-sheet__action{width:100%;min-height:52px;color:var(--foreground);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:.85rem;align-items:center;gap:.8rem;padding:.55rem .75rem;font-size:.8rem;font-weight:650;line-height:1.35;display:flex}.mobile-action-sheet__action:hover,.mobile-action-sheet__action:focus-visible{background:color-mix(in oklab, var(--primary) 6%, var(--muted));outline:0}.mobile-action-sheet__action:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--ring) 65%, transparent)}.mobile-action-sheet__action:disabled{cursor:not-allowed;opacity:.45}.mobile-action-sheet__action[data-danger]{color:var(--destructive)}.mobile-action-sheet__action-icon{background:var(--muted);width:34px;height:34px;color:var(--muted-foreground);border-radius:.65rem;flex:0 0 34px;place-items:center;display:grid}.mobile-action-sheet__action-icon>svg{width:18px;height:18px}.mobile-action-sheet__action[data-danger] .mobile-action-sheet__action-icon{background:color-mix(in oklab, var(--destructive) 9%, var(--card));color:currentColor}.mobile-action-sheet__action>span:last-child{overflow-wrap:anywhere;min-width:0}@keyframes mobile-sheet-scrim-in{0%{opacity:0}}@keyframes mobile-sheet-in{0%{opacity:0;transform:translate(-50%)translateY(18px)}}@media (hover:hover) and (pointer:fine){.mobile-dock__destination:hover{background:color-mix(in oklab, var(--muted) 55%, transparent);color:var(--foreground)}.mobile-dock__destination--active:hover{color:var(--primary)}.mobile-dock__launcher:not(:disabled):hover{background:color-mix(in oklab, var(--primary) 6%, transparent);color:var(--primary)}.mobile-dock__launcher[aria-expanded=true]:not(:disabled):hover{background:color-mix(in oklab, var(--primary) 7%, transparent);color:var(--primary)}}@media (prefers-reduced-motion:reduce){.mobile-dock__destination>svg,.mobile-dock__launcher-icon,.mobile-action-sheet,.mobile-action-sheet__scrim{transition:none;animation:none}.mobile-dock__destination:active>svg,.mobile-dock__launcher:active .mobile-dock__launcher-icon,.mobile-dock__launcher[aria-expanded=true] .mobile-dock__launcher-icon{transform:none}}@media (max-width:520px){.page-header__actions{grid-template-columns:1fr;width:100%;display:grid}.page-header__actions .ui-button{width:100%}.dialog-backdrop{align-items:end;padding:0}.dialog{border-radius:0;width:100%;height:100dvh;max-height:100dvh}.dialog__footer{grid-template-columns:1fr;display:grid}.dialog__footer .ui-button{width:100%}.personnel-excel-choice-actions{grid-template-columns:1fr;display:grid}.personnel-excel-choice-actions__decisions{grid-template-columns:repeat(2,minmax(0,1fr))}}.login-page{background:var(--card);grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:100vh;display:grid}.login-showcase{background:radial-gradient(circle at 18% 20%, color-mix(in oklab, var(--primary) 70%, #567cac) 0, transparent 37%), linear-gradient(145deg, #14233f 0%, #203b64 50%, #172a48 100%);color:#fff;align-items:center;padding:clamp(2rem,6vw,6rem);display:flex;position:relative;overflow:hidden}.login-showcase:before{content:"";border:1px solid #ffffff1f;border-radius:50%;width:480px;height:480px;position:absolute;bottom:-220px;right:-180px;box-shadow:0 0 0 80px #ffffff06,0 0 0 160px #ffffff05}.login-showcase__content{z-index:1;max-width:680px;position:relative}.login-brand{align-items:center;gap:.75rem;margin-bottom:clamp(3rem,8vh,6rem);display:flex}.login-brand .login-brand__mark{background:#fffffff5;border-color:#ffffff6b;width:42px;height:42px;box-shadow:0 8px 24px #0003}.login-brand strong{letter-spacing:-.02em;font-size:1rem}.login-kicker{color:#ffffffa8;letter-spacing:.15em;margin:0;font-size:.72rem;font-weight:750}.login-showcase h1{letter-spacing:-.065em;margin:1rem 0 0;font-size:clamp(2.35rem,5vw,4.6rem);line-height:.98}.login-lead{color:#ffffffbf;max-width:620px;margin:1.5rem 0 0;font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.7}.login-benefits{flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:2rem;display:flex}.login-benefits span{color:#ffffffd6;align-items:center;gap:.45rem;font-size:.8rem;display:inline-flex}.login-benefits svg{color:#80e0ab;width:16px;height:16px}.login-showcase__seal{color:#ffffff61;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.67rem;font-weight:700;line-height:1.15;display:flex;position:absolute;bottom:2rem;right:2rem}.login-showcase__seal svg{width:28px;height:28px}.login-panel{background:#fbfcfe;justify-content:center;align-items:center;padding:2rem;display:flex}.login-panel__inner{width:min(100%,410px)}.login-panel__top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem;display:flex}.login-panel__icon{background:color-mix(in oklab, var(--primary) 9%, white);width:48px;height:48px;color:var(--primary);border-radius:14px;place-items:center;display:grid}.login-panel__icon svg{width:22px;height:22px}.login-panel__eyebrow{color:var(--primary);letter-spacing:.14em;margin:1.4rem 0 0;font-size:.69rem;font-weight:800}.login-panel h2{letter-spacing:-.045em;margin:0;font-size:1.8rem}.login-panel__description{color:var(--muted-foreground);margin:.65rem 0 0;font-size:.88rem;line-height:1.55}.login-form{gap:1.1rem;margin-top:2rem;display:grid}.login-form .ui-button{width:100%;margin-top:.2rem}.login-remember{width:max-content;color:var(--muted-foreground);cursor:pointer;align-items:center;gap:.55rem;font-size:.8rem;font-weight:650;display:inline-flex}.login-remember input{width:17px;height:17px;accent-color:var(--primary);margin:0}.password-field{position:relative}.password-field .ui-input{padding-right:3rem}.password-field>button{width:36px;height:36px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:.5rem;place-items:center;display:grid;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.password-field>button:hover{background:var(--muted)}.password-field svg{width:17px;height:17px}.login-help{color:var(--muted-foreground);text-align:center;margin:1.5rem 0 0;font-size:.75rem;line-height:1.5}@media (max-width:960px){.login-page{grid-template-columns:1fr}.login-showcase{min-height:330px;padding:2rem}.login-brand{margin-bottom:2rem}.login-showcase h1{font-size:clamp(2.2rem,8vw,3.6rem)}.login-lead{max-width:700px}.login-panel{min-height:590px}}@media (max-width:560px){.login-showcase{align-items:flex-start;min-height:250px}.login-brand{margin-bottom:1.5rem}.login-showcase h1{font-size:2.25rem}.login-lead,.login-benefits,.login-showcase__seal{display:none}.login-panel{align-items:flex-start;min-height:calc(100vh - 250px);padding:2rem 1.25rem}}.workspace{width:100%;min-width:0}.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.metric-strip>div{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in oklab, var(--card) 92%, var(--secondary));justify-content:space-between;align-items:center;gap:1rem;min-height:76px;padding:0 1rem;display:flex}.metric-strip span{color:var(--muted-foreground);font-size:.78rem;font-weight:600}.metric-strip strong{letter-spacing:-.05em;font-family:Geist Mono,monospace;font-size:1.35rem}.data-card{overflow:visible}.data-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.85rem;display:flex;position:relative}.search-box{border:1px solid var(--input);border-radius:var(--radius);background:var(--card);flex:1;align-items:center;gap:.55rem;min-width:min(100%,330px);min-height:42px;padding:0 .75rem;display:flex}.search-box:focus-within{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 15%, transparent)}.search-box>svg{width:17px;height:17px;color:var(--muted-foreground);flex:none}.search-box input{width:100%;min-width:0;color:var(--foreground);background:0 0;border:0;outline:0;flex:1;font-size:.875rem}.search-clear-button{width:30px;min-width:30px;height:30px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:.45rem;flex:none;place-items:center;padding:0;display:grid}.search-clear-button:hover,.search-clear-button:focus-visible{background:var(--muted);color:var(--foreground);outline:0}.search-clear-button svg{width:14px;height:14px}input[type=search]::-webkit-search-cancel-button{appearance:none}.filter-menu,.group-menu{position:relative}.filter-menu summary,.group-menu summary{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);min-height:42px;color:var(--foreground);cursor:pointer;align-items:center;gap:.45rem;padding:0 .8rem;font-size:.8rem;font-weight:650;list-style:none;display:inline-flex}.filter-menu summary::-webkit-details-marker{display:none}.group-menu summary::-webkit-details-marker{display:none}.filter-menu summary svg,.group-menu summary svg{width:16px;height:16px;color:var(--muted-foreground)}.filter-menu__panel,.group-menu__panel{z-index:30;top:calc(100% + .5rem);border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:min(370px,100vw - 2rem);max-height:520px;padding:1rem;position:absolute;inset-inline-end:0;overflow:auto;box-shadow:0 18px 48px #141e3024}.filter-menu__title{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.filter-menu__title button,.group-menu__actions button{color:var(--primary);cursor:pointer;background:0 0;border:0;font-size:.75rem;font-weight:650}.filter-menu__panel--excel{width:min(480px,100vw - 2rem);max-height:min(680px,100vh - 8rem);padding:.8rem}.filter-menu__title>div{gap:.18rem;display:grid}.filter-menu__title>div>span{color:var(--muted-foreground);font-size:.66rem;font-weight:500;line-height:1.4}.column-filter-list{gap:.35rem;display:grid}.column-filter-list--compact{gap:.55rem}.column-filter-list--compact>.ui-select{min-height:38px;font-size:.74rem}.column-filter-active-list{scrollbar-width:thin;align-items:center;gap:.35rem;min-width:0;min-height:32px;padding-bottom:.1rem;display:flex;overflow:auto hidden}[data-filter-scroll-surface]{overflow-anchor:none;scroll-behavior:auto}.column-filter-active-list .ui-badge{min-height:18px;padding-inline:.32rem;font-size:.52rem}.column-filter-list--compact .column-filter--selected{border:1px solid var(--border);border-radius:.65rem;overflow:hidden}.column-filter-list--compact .column-filter--selected>header{box-sizing:border-box;background:color-mix(in oklab, var(--muted) 50%, white);justify-content:space-between;align-items:center;gap:.5rem;height:38px;padding:0 .7rem;display:flex}.column-filter-list--compact .column-filter--selected>header strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.72rem;overflow:hidden}.filter-menu .column-filter{border:1px solid var(--border);background:var(--card);border-radius:.65rem;overflow:hidden}.filter-menu .column-filter>summary{background:color-mix(in oklab, var(--muted) 50%, white);border:0;border-radius:0;justify-content:space-between;align-items:center;gap:.6rem;width:100%;min-height:42px;padding:0 .7rem;font-size:.75rem;list-style:none;display:flex}.filter-menu .column-filter>summary>span:first-child{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-weight:720;overflow:hidden}.filter-menu .column-filter>summary>span:last-child{flex:none;align-items:center;gap:.3rem;display:flex}.filter-menu .column-filter>summary .ui-badge{min-height:22px;padding-inline:.42rem;font-size:.58rem}.filter-menu .column-filter>summary svg{width:14px;height:14px;transition:transform .15s}.filter-menu .column-filter[open]>summary svg:last-child{transform:rotate(180deg)}.column-filter__content{border-top:1px solid var(--border);gap:.65rem;padding:.7rem;display:grid}.column-sort-actions{grid-template-columns:1fr 1fr auto;gap:.35rem;display:grid}.column-sort-actions button{border:1px solid var(--border);background:var(--card);min-height:36px;color:var(--muted-foreground);cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;gap:.35rem;padding:0 .55rem;font-size:.68rem;font-weight:680;display:inline-flex}.column-sort-actions button:hover,.column-sort-actions button.active{border-color:color-mix(in oklab, var(--primary) 38%, var(--border));background:color-mix(in oklab, var(--primary) 7%, white);color:var(--primary)}.column-sort-actions--clear-only{grid-template-columns:1fr}.column-header-button:disabled{color:inherit;cursor:default}.column-sort-actions svg{width:14px;height:14px}.column-condition{grid-template-columns:minmax(130px,.8fr) minmax(150px,1.2fr);gap:.45rem;display:grid}.column-condition .ui-input,.column-condition .ui-select{min-height:38px;font-size:.74rem}.column-condition .date-picker__control{min-height:42px;font-size:.74rem}.column-condition .date-picker__input,.column-condition .date-picker .compact-popover,.column-condition .date-picker__toggle{height:42px}.column-condition>.muted-copy{grid-column:1/-1;font-size:.68rem;line-height:1.4}.filter-value-search{border:1px solid var(--input);border-radius:.55rem;align-items:center;gap:.45rem;min-height:38px;padding:0 .65rem;display:flex}.filter-value-search:focus-within{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 12%, transparent)}.filter-value-search svg{width:15px;height:15px;color:var(--muted-foreground);flex:none}.filter-value-search input{width:100%;min-width:0;color:var(--foreground);background:0 0;border:0;outline:0;flex:1;font-size:.75rem}.filter-value-actions{flex-wrap:wrap;align-items:center;gap:.35rem .65rem;min-height:26px;display:flex}.filter-value-actions>span{color:var(--muted-foreground);flex:1;font-size:.65rem}.filter-value-actions button{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:.65rem;font-weight:680}.filter-menu .column-filter .filter-options{border:1px solid var(--border);border-radius:.55rem;max-height:180px;margin-top:0;padding:.3rem}.filter-menu .column-filter .filter-options label{min-height:34px;padding:0 .4rem}.filter-menu .column-filter .filter-options label>span{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.filter-menu .column-filter .filter-options label>small{color:var(--muted-foreground);font-family:Geist Mono,monospace;font-size:.6rem}.filter-menu .column-filter .filter-options>p,.filter-options-hint{color:var(--muted-foreground);margin:.4rem;font-size:.66rem;line-height:1.4}.column-header-button{width:100%;min-height:40px;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-align:start;text-transform:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.45rem;padding:0;display:flex}.column-header-button:hover{color:var(--primary)}.column-header-button svg{opacity:.72;flex:none;width:13px;height:13px}.filter-menu fieldset{border:0;border-top:1px solid var(--border);margin:0;padding:.85rem 0 .35rem}.filter-menu legend{padding:0;font-size:.78rem;font-weight:700}.filter-options{gap:.25rem;max-height:150px;margin-top:.5rem;display:grid;overflow:auto}.filter-options label,.group-menu__panel label{min-height:32px;color:var(--muted-foreground);cursor:pointer;border-radius:.4rem;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.filter-options label:hover,.group-menu__panel label:hover{color:var(--foreground)}.filter-options input,.group-menu__panel input{accent-color:var(--primary)}.group-menu__panel{width:300px}.group-menu__panel>p{color:var(--muted-foreground);margin:.3rem 0 .8rem;font-size:.74rem;line-height:1.45}.group-menu__panel label{border-top:1px solid color-mix(in oklab, var(--border) 60%, transparent);min-height:35px}.data-grid-scroll{border-radius:0 0 var(--radius) var(--radius);min-height:360px;max-height:calc(100vh - 315px);overflow:auto}.data-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.8rem}.data-table th{z-index:5;border-bottom:1px solid var(--border);background:color-mix(in oklab, var(--muted) 93%, white);min-width:150px;height:44px;color:var(--muted-foreground);letter-spacing:.035em;text-align:start;text-transform:uppercase;padding:0 .8rem;font-size:.7rem;font-weight:750;position:sticky;top:0}.data-table td{border-bottom:1px solid color-mix(in oklab, var(--border) 75%, transparent);background:var(--card);max-width:280px;height:44px;color:color-mix(in oklab, var(--foreground) 88%, white);text-overflow:ellipsis;white-space:nowrap;padding:0 .8rem;overflow:hidden}.data-table tbody tr{content-visibility:auto;contain-intrinsic-size:44px}.data-table tbody tr:hover td{background:color-mix(in oklab, var(--accent) 55%, white)}.data-table th:first-child,.data-table td:first-child{min-width:120px}.data-table th:nth-child(2),.data-table td:nth-child(2){min-width:240px}.data-table th:last-child,.data-table td:last-child{width:58px;min-width:58px}.sticky-col{z-index:4;position:sticky}.data-table th.sticky-col{z-index:8}.sticky-col--first{inset-inline-start:0}.sticky-col--second{border-inline-end:1px solid var(--border);inset-inline-start:120px;box-shadow:8px 0 12px -12px #141e3038}.mono-cell{font-family:Geist Mono,monospace;font-weight:650;color:var(--primary)!important}.row-actions{z-index:3;position:sticky;inset-inline-end:0}.personnel-table.data-table td.row-actions{text-align:center;text-overflow:clip;padding-inline:0;overflow:visible}.personnel-table.data-table td.row-actions>.personnel-popover{justify-content:center;width:100%}.row-actions__menu{z-index:20;inset-inline-end:.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:150px;padding:.3rem;display:grid;position:absolute;top:calc(100% - .4rem);box-shadow:0 14px 34px #141e3024}.row-actions__menu button{min-height:36px;color:var(--foreground);text-align:start;cursor:pointer;background:0 0;border:0;border-radius:.45rem;align-items:center;gap:.5rem;padding:0 .6rem;font-size:.76rem;display:flex}.row-actions__menu button:hover{background:var(--muted)}.row-actions__menu button.danger{color:var(--destructive)}.row-actions__menu svg{width:15px;height:15px}.table-loading{gap:.4rem;padding:1rem;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.form-grid .ui-field-error,.form-actions,.multi-select-field,.checkbox-field{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:.65rem;margin-top:.5rem;display:flex}.checkbox-field{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.75rem;min-height:58px;padding:.75rem;display:flex}.checkbox-field input{width:18px;height:18px;accent-color:var(--primary)}.checkbox-field span{display:grid}.checkbox-field strong{font-size:.82rem}.checkbox-field small{color:var(--muted-foreground);margin-top:.2rem;font-size:.7rem}.multi-select-field{border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:.85rem}.multi-select-field legend{padding:0 .4rem;font-size:.78rem;font-weight:700}.multi-select-field>div{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.multi-select-field label{color:var(--muted-foreground);font-size:.78rem}.multi-select-field input{accent-color:var(--primary)}.import-dropzone{border:1.5px dashed color-mix(in oklab, var(--primary) 28%, var(--border));border-radius:var(--radius);background:color-mix(in oklab, var(--accent) 25%, white);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:2rem;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}.import-dropzone--dragging{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 8%, var(--card));box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--primary) 30%, transparent)}.import-dropzone>svg{width:34px;height:34px;color:var(--primary)}.import-dropzone>strong{margin-top:.8rem}.import-dropzone>p{max-width:500px;color:var(--muted-foreground);margin:.5rem 0 1rem;font-size:.78rem;line-height:1.5}.import-file-input{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.import-dropzone .ui-button{margin-top:1rem}.import-dropzone__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;margin-top:1rem;display:flex}.import-dropzone__actions .ui-button{margin-top:0}.attendance-import-transfer-action{justify-content:center;margin-top:.65rem;display:flex}.attendance-import-transfer-action .ui-button{min-height:42px}.attendance-excel-dialog-form{gap:1rem;display:grid}.attendance-excel-dialog-form>div{min-width:0}.attendance-excel-dialog-form .ui-label{margin-bottom:.4rem;display:block}.attendance-excel-dialog-form .searchable-select__trigger,.attendance-excel-dialog-form .date-range-picker__control{height:42px;min-height:42px}.attendance-excel-dialog-form__hint{color:var(--muted-foreground);margin:.4rem 0 0;font-size:.72rem;line-height:1.45}.import-selected-file{border:1px solid var(--border);background:var(--card);max-width:min(100%,440px);color:var(--foreground);border-radius:.55rem;align-items:center;gap:.45rem;padding:.45rem .65rem;font-size:.72rem;display:inline-flex}.import-selected-file>svg{width:16px;height:16px;color:var(--primary);flex:none}.import-selected-file>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.import-progress{color:var(--primary);margin-top:.8rem;font-size:.72rem;font-weight:700}.attendance-import-progress{border:1px solid color-mix(in oklab, var(--primary) 22%, var(--border));background:color-mix(in oklab, var(--primary) 4%, var(--card));border-radius:.75rem;gap:.6rem;margin-top:.8rem;padding:.8rem .9rem;display:grid}.attendance-import-progress__copy{justify-content:space-between;align-items:center;gap:.8rem;min-width:0;display:flex}.attendance-import-progress__copy strong{min-width:0;color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.attendance-import-progress__copy span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;flex:none;font-size:.7rem}.attendance-import-progress__track{background:color-mix(in oklab, var(--primary) 9%, var(--muted));border-radius:999px;height:8px;position:relative;overflow:hidden}.attendance-import-progress__track>span{border-radius:inherit;background:linear-gradient(90deg, var(--primary), color-mix(in oklab, var(--primary) 58%, #39a8ff));transition:width .18s;position:absolute;inset-block:0;inset-inline-start:0}@media (prefers-reduced-motion:reduce){.attendance-import-progress__track>span{transition:none}}.import-mapping{gap:.9rem;display:grid}.import-mapping__summary{justify-content:space-between;align-items:center;gap:1rem;display:flex}.import-mapping__summary>div{align-items:center;gap:.7rem;min-width:0;display:flex}.import-mapping__summary>div>svg{width:25px;height:25px;color:var(--primary);flex:none}.import-mapping__summary span{min-width:0;display:grid}.import-mapping__summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.import-mapping__summary small{color:var(--muted-foreground);margin-top:.18rem;font-size:.66rem}.import-mapping__notice{border:1px solid color-mix(in oklab, var(--primary) 18%, var(--border));border-radius:var(--radius);background:color-mix(in oklab, var(--primary) 4%, white);align-items:flex-start;gap:.65rem;padding:.75rem;display:flex}.import-mapping__notice svg{width:18px;height:18px;color:var(--primary);flex:none}.import-mapping__notice p{color:var(--muted-foreground);margin:0;font-size:.7rem;line-height:1.5}.import-mapping__notice strong{color:var(--foreground)}.import-column-list{gap:.55rem;display:grid}.import-column{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);grid-template-columns:minmax(180px,.72fr) minmax(220px,1fr);align-items:end;gap:.7rem;padding:.75rem;display:grid}.import-column__source{align-items:center;gap:.6rem;min-width:0;padding-bottom:.28rem;display:flex}.import-column__source>div{min-width:0;display:grid}.import-column__source strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.import-column__source small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;margin-top:.2rem;font-size:.62rem;overflow:hidden}.attendance-import-conflicts{gap:.9rem;display:grid}.attendance-import-conflicts__header{border:1px solid color-mix(in oklab, var(--status-annual-leave) 30%, var(--border));border-radius:var(--radius);background:color-mix(in oklab, var(--status-annual-leave) 6%, white);grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.8rem;display:grid}.attendance-import-conflicts__header>svg{width:24px;height:24px;color:var(--status-annual-leave)}.attendance-import-conflicts__header>div{display:grid}.attendance-import-conflicts__header strong{font-size:.8rem}.attendance-import-conflicts__header span{color:var(--muted-foreground);margin-top:.15rem;font-size:.66rem}.attendance-import-conflict{text-align:center;gap:.8rem;display:grid}.attendance-import-conflict>div:first-child small{color:var(--primary);letter-spacing:.1em;font-size:.62rem;font-weight:800}.attendance-import-conflict h3{margin:.3rem 0 .15rem;font-size:1.05rem}.attendance-import-conflict code{color:var(--muted-foreground);font-size:.7rem}.attendance-import-conflict>p{max-width:620px;color:var(--muted-foreground);margin:0 auto;font-size:.8rem;line-height:1.65}.attendance-import-conflict>p strong{color:var(--foreground)}.attendance-import-decisions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;width:100%;max-width:560px;margin:0 auto;display:grid}.attendance-import-decisions .status-action{align-items:center;min-height:56px}.attendance-import-conflict--bulk{padding-block:.35rem}.attendance-import-bulk-decisions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:min(100%,620px);margin:0 auto;display:grid}.attendance-import-bulk-decision{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);min-height:72px;color:var(--foreground);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.6rem;padding:.8rem 1rem;font-size:.8rem;font-weight:750;transition:border-color .16s,background-color .16s,color .16s,box-shadow .16s;display:flex}.attendance-import-bulk-decision:hover{border-color:color-mix(in oklab, var(--primary) 45%, var(--border));background:color-mix(in oklab, var(--primary) 5%, var(--card))}.attendance-import-bulk-decision:focus-visible{outline:3px solid color-mix(in oklab, var(--primary) 24%, transparent);outline-offset:2px}.attendance-import-bulk-decision>svg{flex:none;width:20px;height:20px}.attendance-import-bulk-decision--active{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 10%, var(--card));color:var(--primary);box-shadow:0 0 0 1px color-mix(in oklab, var(--primary) 20%, transparent)}.attendance-import-conflict__nav{justify-content:center;gap:.5rem;display:flex}@media (max-width:620px){.attendance-import-bulk-decisions{grid-template-columns:1fr}}@media (max-width:720px){.metric-strip{grid-template-columns:1fr}.metric-strip>div{min-height:58px}.data-toolbar{grid-template-columns:1fr 1fr;display:grid}.search-box{grid-column:1/-1}.filter-menu summary,.group-menu summary{justify-content:center;width:100%}.filter-menu__panel{z-index:80;border-radius:1rem 1rem 0 0;width:100%;max-height:75vh;padding:1.2rem;position:fixed;inset:auto 0 0}.filter-menu__panel--excel{max-height:82vh;padding:.8rem}.column-condition{grid-template-columns:1fr}.column-sort-actions button{min-height:42px}.group-menu__panel{z-index:80;border-radius:1rem 1rem 0 0;width:100%;max-height:75vh;position:fixed;inset:auto 0 0}.data-grid-scroll{min-height:380px;max-height:none}.form-grid{grid-template-columns:1fr}}.metric-date{text-transform:uppercase;font-size:1rem!important}.attendance-list-card{overflow:hidden}.attendance-history-filters{align-items:center;width:min(320px,100%);margin-inline-start:auto;display:flex}.attendance-history-filters .date-range-picker,.attendance-history-filters .date-range-picker__control,.attendance-history-filters .date-range-picker__input{width:100%;height:42px;min-height:42px}.attendance-list{display:grid}.attendance-list--loading{gap:.65rem;padding:1rem}.attendance-list__item{border-bottom:1px solid var(--border);color:var(--foreground);grid-template-columns:76px minmax(230px,.9fr) minmax(320px,1.1fr) auto;align-items:center;gap:1.2rem;padding:1rem 1.1rem;text-decoration:none;transition:background .12s;display:grid;position:relative}.attendance-list__item:last-child{border-bottom:0}.attendance-list__item:hover{background:color-mix(in oklab, var(--accent) 45%, white)}.attendance-date-block{border-inline-end:1px solid var(--border);text-align:center;place-items:center;padding-inline-end:1rem;display:grid}.attendance-date-block strong{letter-spacing:-.08em;font-family:Geist Mono,monospace;font-size:1.55rem;line-height:1}.attendance-date-block span{color:var(--muted-foreground);text-transform:uppercase;margin-top:.35rem;font-size:.64rem;font-weight:700}.attendance-list__identity>div{align-items:center;gap:.55rem;display:flex}.attendance-list__identity code{color:var(--primary);font-family:Geist Mono,monospace;font-size:.82rem;font-weight:700}.attendance-list__identity p{color:var(--muted-foreground);margin:.45rem 0 0;font-size:.75rem}.attendance-list__identity>small{color:var(--muted-foreground);margin-top:.25rem;font-size:.65rem;display:block}.attendance-list__progress{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.attendance-progress>div:first-child{color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:.75rem;font-size:.7rem;display:flex}.attendance-progress strong{color:var(--foreground);font-family:Geist Mono,monospace;font-size:.68rem}.attendance-progress__track{background:var(--muted);border-radius:999px;height:5px;margin-top:.45rem;overflow:hidden}.attendance-progress__track span{border-radius:inherit;background:var(--primary);height:100%;display:block}.attendance-list__chevron{width:18px;height:18px;color:var(--muted-foreground)}.single-form{gap:1rem;display:grid}@media (max-width:980px){.attendance-list__item{grid-template-columns:64px 1fr auto}.attendance-list__progress{grid-column:2/3;width:100%}.attendance-list__chevron{grid-area:1/3/span 2}}@media (max-width:720px){.attendance-history-filters{grid-column:1/-1;width:100%;margin-inline-start:0}}@media (max-width:620px){.attendance-list__item{grid-template-columns:56px 1fr auto;gap:.75rem;padding:.9rem .7rem}.attendance-date-block{padding-inline-end:.65rem}.attendance-date-block strong{font-size:1.25rem}.attendance-list__identity>div{flex-wrap:wrap}.attendance-list__identity p{display:none}.attendance-list__identity>small{font-size:.6rem}.attendance-list__progress{grid-template-columns:1fr;gap:.55rem}}.locale-switcher{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;min-width:150px;display:grid;position:relative}.locale-switcher>svg{width:16px;height:16px;color:var(--muted-foreground);pointer-events:none}.locale-switcher__select{width:100%}.locale-switcher__select .searchable-select__trigger{border-radius:.55rem;min-height:40px;font-size:.78rem;font-weight:650}.locale-switcher__select .searchable-select__trigger:disabled{cursor:wait;opacity:.65}.locale-switcher__error{max-width:260px;color:var(--destructive);grid-column:1/-1;font-size:.67rem;line-height:1.4}.locale-switcher--compact{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr);min-width:0;padding:.25rem .3rem .55rem}.locale-switcher--compact .searchable-select__trigger{background:var(--secondary);border-color:#0000;min-height:38px}.login-locale-switcher{width:max-content;min-width:170px;margin-inline-start:auto}.login-showcase__seal span{white-space:pre-line}html[dir=rtl] .user-panel__trigger{text-align:right}html[dir=rtl] .user-panel__trigger>svg{transform:scaleX(-1)}html[dir=rtl] .login-showcase__seal{left:2rem;right:auto}html[dir=rtl] .password-field .ui-input{padding-left:3rem;padding-right:.75rem}html[dir=rtl] .password-field>button{left:.35rem;right:auto}html[dir=rtl] .toast-region{left:1rem;right:auto}html[dir=rtl] .attendance-list__chevron,html[dir=rtl] .back-link svg,html[dir=rtl] .import-mapping__summary .lucide-arrow-left{transform:scaleX(-1)}html[dir=rtl] .sticky-col--second{box-shadow:-8px 0 12px -12px #141e3038}@media (max-width:900px){html[dir=rtl] .mobile-menu{animation-name:menu-in-rtl;left:0;right:auto;box-shadow:20px 0 60px #141e3033}@keyframes menu-in-rtl{0%{opacity:0;transform:translate(-20px)}}}.attendance-loading{gap:1rem;display:grid}.attendance-header{justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1rem;display:flex}.attendance-header__identity{align-items:center;gap:.9rem;display:flex}.attendance-header__copy{align-content:center;min-width:0;min-height:42px;display:grid}.back-link{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:42px;height:42px;color:var(--muted-foreground);flex:none;place-items:center;display:grid}.back-link:hover{color:var(--primary)}.back-link svg{width:18px;height:18px}.attendance-header__identity p{color:var(--primary);letter-spacing:.12em;margin:0;font-size:.66rem;font-weight:800}.attendance-header__identity h1{letter-spacing:-.04em;margin:0;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.2}.attendance-header__identity code{color:var(--muted-foreground);margin-top:.3rem;font-family:Geist Mono,monospace;font-size:.7rem;display:inline-block}.attendance-header__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.attendance-header__actions .ui-badge svg{width:13px;height:13px}.attendance-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1rem;display:grid}.attendance-main-card{min-width:0;overflow:visible}.attendance-toolbar{flex-wrap:nowrap}.attendance-toolbar .search-box{min-width:180px}.count-switch{isolation:isolate;border:1px solid var(--border);border-radius:var(--radius);background:var(--muted);grid-template-columns:1fr 1fr;gap:0;min-width:190px;padding:3px;display:inline-grid;position:relative;overflow:hidden}.count-switch:before{z-index:0;border:1px solid color-mix(in oklab, var(--primary) 18%, var(--border));border-radius:calc(var(--radius) - 4px);background:var(--card);width:calc(50% - 3px);box-shadow:0 2px 7px color-mix(in oklab, var(--foreground) 12%, transparent);content:"";pointer-events:none;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .16s;position:absolute;inset-block:3px;inset-inline-start:3px}.count-switch[data-active-count="2"]:before{transform:translate(100%)}html[dir=rtl] .count-switch[data-active-count="2"]:before{transform:translate(-100%)}.count-switch button{z-index:1;border-radius:calc(var(--radius) - 4px);width:100%;min-width:0;min-height:34px;color:var(--muted-foreground);box-shadow:none;cursor:pointer;background:0 0;border:0;padding:0;font-size:.75rem;font-weight:700;transition:color .16s,transform .12s;position:relative}.count-switch button.active{color:var(--primary);box-shadow:none;background:0 0}.count-switch button:active{transform:scale(.96)}.count-switch button:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.attendance-count-label--mobile{display:none}.inline-filter{gap:.35rem;margin-top:.75rem;display:grid}.inline-filter label{font-size:.75rem;font-weight:700}.attendance-table-scroll{min-height:510px;max-height:calc(100vh - 220px);overflow:auto}.virtual-spacer,.virtual-spacer td{pointer-events:none;background:0 0!important;border:0!important;padding:0!important}.data-table .data-group-row td{z-index:2;color:var(--primary-strong);border-block:1px solid color-mix(in oklab, var(--primary) 18%, var(--border));position:relative;overflow:visible;background:color-mix(in oklab, var(--primary) 8%, white)!important}.data-group-row td>strong{align-items:center;min-height:34px;margin-inline-end:12px;display:inline-flex}.data-group-row .badge{vertical-align:middle}.group-people,.group-progress{color:var(--muted-foreground);font-size:.78rem;font-weight:650}.attendance-table th:nth-last-child(-n+3),.attendance-table td:nth-last-child(-n+3){min-width:130px}.attendance-table tbody tr{cursor:pointer}.attendance-row--selected td{background:color-mix(in oklab, var(--primary) 6%, white)!important}.attendance-row--selected td:first-child{box-shadow:inset 3px 0 var(--primary)}.mark-cell{cursor:pointer}.mark-cell-button{width:100%;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:flex}.mark-cell-button:focus-visible{outline:2px solid var(--ring);outline-offset:-2px;border-radius:.4rem}.mark-cell--selected{outline:2px solid color-mix(in oklab, var(--primary) 55%, transparent);outline-offset:-3px}.mark-cell .ui-badge svg{width:12px;height:12px}.total-cell{text-align:center;font-family:Geist Mono,monospace;font-size:.85rem;font-weight:800}.calculation-error{font-size:.73rem;font-weight:650;color:var(--destructive)!important}.attendance-side{gap:1rem;display:grid;position:sticky;top:1rem}.selected-person-card{padding:1rem}.selected-person-card__top{align-items:center;gap:.85rem;display:flex}.selected-person-card__avatar{background:color-mix(in oklab, var(--primary) 10%, white);width:48px;height:48px;color:var(--primary);text-transform:uppercase;border-radius:14px;flex:none;place-items:center;font-size:.8rem;font-weight:850;display:grid}.selected-person-card__top>div{min-width:0}.selected-person-card__top small{color:var(--muted-foreground);letter-spacing:.1em;font-size:.6rem;font-weight:800}.selected-person-card__top h2{text-overflow:ellipsis;white-space:nowrap;margin:.28rem 0 0;font-size:.95rem;overflow:hidden}.selected-person-card__top code{color:var(--primary);font-family:Geist Mono,monospace;font-size:.68rem}.selected-person-card__marks{gap:.45rem;margin-top:1rem;display:grid}.selected-person-card__marks>button,.selected-person-card__marks>div{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);min-height:44px;color:var(--foreground);cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;padding:0 .65rem;font-size:.73rem;display:flex}.selected-person-card__marks>button.active{border-color:color-mix(in oklab, var(--primary) 40%, var(--border));background:color-mix(in oklab, var(--primary) 5%, white)}.selected-person-card__marks>div strong{color:var(--primary);font-family:Geist Mono,monospace}.selected-person-card__empty{color:var(--muted-foreground);margin:0;font-size:.8rem}.marking-card{padding:1rem}.marking-card__header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.8rem;display:flex}.marking-card__header>div{display:grid}.marking-card__header small{color:var(--muted-foreground);letter-spacing:.1em;font-size:.6rem;font-weight:800}.marking-card__header strong{margin-top:.25rem;font-size:.88rem}.attendance-mark-lock-hint{background:color-mix(in oklab, var(--status-annual-leave) 11%, var(--card));color:color-mix(in oklab, var(--status-annual-leave) 48%, var(--foreground));border-radius:.55rem;margin:-.15rem 0 .7rem;padding:.5rem .6rem;font-size:.7rem;font-weight:650;line-height:1.45}.status-actions{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.status-action{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);min-height:62px;color:var(--foreground);cursor:pointer;flex-direction:column;justify-content:center;align-items:flex-start;gap:.35rem;padding:.6rem .65rem;transition:transform .12s,border-color .12s,background .12s;display:flex;position:relative}.status-action:hover:not(:disabled){transform:translateY(-1px)}.status-action:disabled{opacity:.5;cursor:not-allowed}.status-action svg{width:16px;height:16px}.status-action span{font-size:.7rem;font-weight:750}.status-action kbd{top:.4rem;border:1px solid var(--border);width:17px;height:17px;color:var(--muted-foreground);border-radius:4px;place-items:center;font-family:Geist Mono,monospace;font-size:.55rem;display:grid;position:absolute;inset-inline-end:.45rem}.status-action--present svg{color:var(--status-present)}.status-action--absent svg{color:var(--status-absent)}.status-action--paid_leave svg{color:var(--status-paid-leave)}.status-action--annual_leave svg{color:var(--status-annual-leave)}.status-action--active.status-action--present{border-color:color-mix(in oklab, var(--status-present) 50%, var(--border));background:color-mix(in oklab, var(--status-present) 7%, white)}.status-action--active.status-action--absent{border-color:color-mix(in oklab, var(--status-absent) 45%, var(--border));background:color-mix(in oklab, var(--status-absent) 6%, white)}.status-action--active.status-action--paid_leave{border-color:color-mix(in oklab, var(--status-paid-leave) 45%, var(--border));background:color-mix(in oklab, var(--status-paid-leave) 6%, white)}.status-action--active.status-action--annual_leave{border-color:color-mix(in oklab, var(--status-annual-leave) 55%, var(--border));background:color-mix(in oklab, var(--status-annual-leave) 9%, white)}.keyboard-hint{color:var(--muted-foreground);text-align:center;margin:.8rem 0 0;font-size:.62rem;line-height:1.8}.keyboard-hint kbd{border:1px solid var(--border);background:var(--muted);border-bottom-width:2px;border-radius:4px;padding:.1rem .3rem;font-family:Geist Mono,monospace}.mobile-marking-bar{display:none}.conflict-dialog{text-align:center}.conflict-dialog>svg{width:42px;height:42px;color:var(--status-annual-leave)}.conflict-dialog>p{max-width:520px;color:var(--muted-foreground);margin:1rem auto;font-size:.88rem;line-height:1.65}.conflict-dialog>p strong{color:var(--foreground)}.conflict-dialog .status-actions{margin-top:1rem}.conflict-dialog>small{color:var(--muted-foreground);margin-top:1rem;display:block}.unsaved-copy{color:var(--muted-foreground);margin:0;line-height:1.6}@media (max-width:900px){.attendance-layout{grid-template-columns:1fr}.attendance-side{grid-template-columns:1fr 1fr;position:static}.app-frame[data-scroll-contained] .attendance-layout{align-items:start;overflow:auto}.branding-logo-editor{grid-template-columns:auto minmax(0,1fr)}.branding-logo-editor__actions{grid-column:1/-1;justify-content:flex-start}.branding-logo-editor__actions .ui-button{flex:0 0 42px}.attendance-workspace{padding-bottom:0}.attendance-header{display:grid}.attendance-header__actions{justify-content:flex-start}.attendance-layout{display:block}.attendance-side{display:none}.attendance-table-scroll{min-height:0;max-height:none}.app-frame[data-scroll-contained] .attendance-workspace{padding-bottom:0}.app-frame[data-scroll-contained] .attendance-layout{display:flex;overflow:hidden}.app-frame[data-scroll-contained] .attendance-main-card{flex:1;height:100%}.app-frame[data-scroll-contained] .attendance-table-scroll{max-height:none;padding-bottom:0}.mobile-marking-bar{z-index:39;right:max(.75rem, env(safe-area-inset-right,0px));bottom:var(--mobile-dock-overlay-offset);left:max(.75rem, env(safe-area-inset-left,0px));border-radius:calc(var(--radius) * 1.3);touch-action:pan-y;direction:ltr;display:block;position:fixed}.mobile-marking-bar__motion{border:1px solid var(--border);border-radius:inherit;background:color-mix(in oklab, var(--card) 95%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);will-change:transform;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;min-width:0;padding:.5rem;display:grid;transform:translate(0,0);box-shadow:0 18px 45px #141e302e}}@media (max-width:480px){.attendance-header__actions .ui-badge{justify-content:center;width:100%}.attendance-header__actions .ui-button{flex:1}.attendance-table th:nth-last-child(-n+3),.attendance-table td:nth-last-child(-n+3){min-width:116px}}.sr-only{clip:rect(0, 0, 0, 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.settings-workspace{width:100%;max-width:none;margin:0}.settings-header{margin-bottom:1.25rem}.settings-header>h1{letter-spacing:-.045em;margin:0;font-size:clamp(1.55rem,2.2vw,2.05rem)}.settings-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:.25rem;margin-bottom:1.25rem;display:flex;overflow-x:auto}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs a{min-height:46px;color:var(--muted-foreground);flex:none;align-items:center;gap:.5rem;padding:0 .9rem;font-size:.8rem;font-weight:680;text-decoration:none;display:inline-flex;position:relative}.settings-tabs a:after{content:"";background:0 0;border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:.75rem;right:.75rem}.settings-tabs a:hover{color:var(--foreground)}.settings-tabs a.active{color:var(--primary)}.settings-tabs a.active:after{background:var(--primary)}.settings-tabs svg{width:16px;height:16px}.settings-grid{gap:1rem;display:grid}.settings-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.settings-form .ui-label svg,.ui-card__title svg{vertical-align:-3px;width:16px;height:16px}.settings-branding-logo,.settings-current-time{min-width:0}.settings-current-time{align-content:start;display:grid}.settings-current-time .timezone-preview{min-height:82px;margin-top:.45rem}@media (max-width:720px){.settings-form{grid-template-columns:1fr}}.branding-logo-editor{border:1px dashed color-mix(in oklab, var(--border) 88%, var(--primary));border-radius:var(--radius);background:color-mix(in oklab, var(--secondary) 45%, white);grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:.85rem;padding:.8rem;transition:border-color .12s,background .12s;display:grid}.branding-logo-editor--dragging{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 8%, white)}.branding-logo-editor__preview{border-radius:14px;width:56px;height:56px}.branding-logo-editor__copy{gap:.2rem;min-width:0;display:grid}.branding-logo-editor__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.branding-logo-editor__copy small{color:var(--muted-foreground);font-size:.7rem;line-height:1.45}.branding-logo-editor__actions{flex-wrap:nowrap;justify-content:flex-end;gap:.4rem;display:flex}.branding-logo-editor__actions .ui-button svg{width:15px;height:15px}.attendance-behavior-card{gap:1rem;display:grid}.attendance-behavior-card section{min-width:0}.attendance-behavior-card .ui-input:not(.ui-textarea),.attendance-behavior-card .searchable-select__trigger,.attendance-behavior-card .date-picker__control{height:42px;min-height:42px}.settings-card-actions{flex:none;align-items:center;gap:.35rem;display:inline-flex}.settings-card-actions .ui-button--icon{width:36px;min-width:36px;min-height:36px}.attendance-behavior-section-title,.attendance-rule-group>header,.attendance-rule-footer{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.attendance-behavior-section-title strong,.attendance-behavior-card section>strong{align-items:center;gap:.4rem;display:inline-flex}.attendance-behavior-section-title svg,.attendance-behavior-card section>strong svg{width:16px;height:16px}.attendance-behavior-control-label{align-items:center;gap:.4rem;display:inline-flex}.attendance-behavior-control-label svg{width:16px;height:16px}.attendance-behavior-two-column section>.attendance-choice-picker{margin-top:.4rem}.attendance-behavior-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.attendance-sort-controls{grid-template-columns:minmax(0,1fr) 132px;gap:.5rem;margin-top:.4rem;display:grid}.attendance-behavior-group-choices,.attendance-rule-values{flex-wrap:wrap;gap:.45rem .8rem;margin-top:.5rem;display:flex}.attendance-choice-picker{min-width:0;display:block}.attendance-choice-picker__trigger{border:1px solid var(--input);background:var(--card);width:100%;height:42px;min-height:42px;color:var(--foreground);font:inherit;text-align:start;cursor:pointer;border-radius:.5rem;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:.4rem;padding:.38rem .55rem;font-size:.8rem;display:grid}.attendance-choice-picker__trigger:hover,.attendance-choice-picker__trigger[aria-expanded=true]{border-color:color-mix(in oklab, var(--primary) 46%, var(--border))}.attendance-choice-picker__trigger>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-choice-picker__trigger>svg{width:15px;height:15px;color:var(--muted-foreground)}.attendance-choice-picker__panel{width:min(max(var(--compact-popover-trigger-width,220px), 220px), calc(100vw - 16px));max-width:340px;padding:.25rem}.attendance-choice-picker__panel [role=listbox]{gap:.1rem;display:grid}.attendance-choice-picker__panel [role=option]{width:100%;min-height:34px;color:var(--foreground);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:.4rem;grid-template-columns:18px auto minmax(0,1fr);align-items:center;gap:.35rem;padding:.28rem .4rem;font-size:.76rem;display:grid}.attendance-choice-picker__panel [role=option]:hover,.attendance-choice-picker__panel [role=option]:focus-visible{background:var(--muted);outline:0}.attendance-choice-picker__panel [role=option][aria-selected=true]{background:color-mix(in oklab, var(--primary) 8%, var(--card))}.attendance-choice-picker__check{width:16px;height:16px;color:var(--primary);place-items:center;display:grid}.attendance-choice-picker__check svg{stroke-width:2.6px;width:14px;height:14px}.attendance-behavior-group-choices label,.attendance-rule-values label,.attendance-date-token{align-items:center;gap:.35rem;font-size:.86rem;display:inline-flex}.attendance-rule-condition-list,.attendance-rule-groups{gap:.65rem;display:grid}.attendance-default-filter-list{margin-top:.65rem}.attendance-rule-condition{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 86%, var(--background));grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr) minmax(180px,1.2fr) auto;align-items:start;gap:.5rem;padding:.65rem;display:grid}.attendance-rule-values{max-height:132px;margin:0;padding:.35rem;overflow:auto}.attendance-rule-comparison{gap:.35rem;display:grid}.attendance-creation-rule-toggle{cursor:pointer;align-items:flex-start;gap:.75rem;display:flex}.attendance-creation-rule-toggle>input{width:18px;height:18px;accent-color:var(--primary);flex:none;margin-top:.08rem}.attendance-creation-rule-toggle>span{gap:.25rem;min-width:0;display:grid}.attendance-creation-rule-toggle strong{font-size:.82rem}.attendance-creation-rule-toggle small{color:var(--muted-foreground);font-size:.7rem;line-height:1.45}.attendance-rule-logic-note,.attendance-rule-preview{border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text-muted);padding:.75rem}.attendance-rule-group{border:1px solid var(--border);border-radius:var(--radius);gap:.65rem;padding:.8rem;display:grid}.attendance-rule-group+.attendance-rule-group:before{content:"OR";background:var(--surface);color:var(--text-muted);border-radius:999px;justify-self:center;margin-top:-1.4rem;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.attendance-rule-footer{flex-wrap:wrap;justify-content:flex-start}.attendance-rule-footer>div{gap:.3rem;min-width:170px;display:grid}.attendance-rule-preview{gap:.35rem;display:grid}.attendance-rule-preview ul{max-height:150px;margin:.35rem 0 0;padding-inline-start:1.2rem;overflow:auto}.muted-copy{color:var(--text-muted);font-size:.88rem}.timezone-field{gap:.65rem;display:grid;position:relative}.timezone-combobox{display:block}.timezone-combobox .searchable-select__trigger{min-height:42px}.timezone-listbox{max-width:min(470px,100vw - 16px)}.timezone-listbox .searchable-select__list [role=option]{min-height:40px}.timezone-preview{border:1px solid color-mix(in oklab, var(--primary) 18%, var(--border));border-radius:var(--radius);background:color-mix(in oklab, var(--primary) 4%, white);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:64px;padding:.7rem;display:grid}.timezone-preview>svg{width:20px;height:20px;color:var(--primary)}.timezone-preview>span{min-width:0;display:grid}.timezone-preview small{color:var(--muted-foreground);font-size:.65rem}.timezone-preview strong{text-overflow:ellipsis;white-space:nowrap;margin-top:.2rem;font-size:.76rem;overflow:hidden}.timezone-preview code{color:var(--primary);font-family:Geist Mono,monospace;font-size:.7rem;font-weight:750}.ui-card__title{align-items:center;gap:.5rem;display:flex}.locked-field-row,.field-order-row{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:58px;display:grid}.locked-field-row>svg,.field-order-row>svg{width:16px;height:16px;color:color-mix(in oklab, var(--muted-foreground) 60%, white)}.locked-field-row>div,.field-order-row>div:first-of-type{display:grid}.locked-field-row strong,.field-order-row strong{font-size:.82rem}.locked-field-row small,.field-order-row small{color:var(--muted-foreground);margin-top:.15rem;font-size:.68rem}.locked-field-row>span{color:var(--muted-foreground);font-size:.68rem;font-weight:700}.field-order-row{grid-template-columns:auto minmax(0,1fr) auto}.field-order-row>div:last-child{align-items:center;display:flex}.field-order-row .ui-button--icon{width:34px;min-width:34px;min-height:34px}.hidden-fields{border:1px dashed var(--border);border-radius:var(--radius);margin-top:1rem;padding:.8rem}.hidden-fields p{color:var(--muted-foreground);text-transform:uppercase;margin:0 0 .55rem;font-size:.7rem;font-weight:700}.hidden-fields button{border:1px solid var(--border);background:var(--card);min-height:32px;color:var(--primary);cursor:pointer;border-radius:999px;margin:.2rem;padding:0 .7rem;font-size:.7rem}.settings-save{justify-content:flex-end;display:flex}.settings-overview-card .ui-card__content{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;display:grid}.settings-overview-icon{background:color-mix(in oklab, var(--primary) 9%, white);width:44px;height:44px;color:var(--primary);border-radius:13px;place-items:center;display:grid}.settings-overview-icon svg{width:21px;height:21px}.settings-overview-card .ui-card__content>div:nth-child(2){display:grid}.settings-overview-card strong{font-size:.92rem}.settings-overview-card span{color:var(--muted-foreground);margin-top:.22rem;font-size:.74rem}.field-configuration-actions{justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.field-configuration-actions>.ui-button{height:42px;min-height:42px}.field-configuration-actions>.ui-button--icon{width:42px;min-width:42px}.field-admin-list{padding-top:.65rem;padding-bottom:.65rem}.field-admin-row{border-bottom:1px solid color-mix(in oklab, var(--border) 78%, transparent);grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center;gap:.8rem;min-height:68px;display:grid}.field-admin-row:last-child{border-bottom:0}.field-admin-row>svg{width:17px;height:17px;color:var(--muted-foreground)}.field-admin-row__identity,.field-admin-row>div:nth-child(2){min-width:0;display:grid}.field-admin-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.field-admin-row small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;margin-top:.22rem;font-size:.68rem;overflow:hidden}.field-admin-row .ui-badge svg{width:12px;height:12px}.field-admin-row--sortable{border-radius:.55rem;transition:background .14s,box-shadow .14s,opacity .14s;position:relative}.field-admin-row--dragging{z-index:2;background:color-mix(in oklab, var(--primary) 7%, var(--card));box-shadow:0 8px 24px color-mix(in oklab, var(--primary) 14%, transparent);opacity:.94}.field-drag-handle{width:44px;height:44px;color:color-mix(in oklab, var(--muted-foreground) 60%, white);cursor:grab;touch-action:none;background:0 0;border:0;border-radius:.5rem;place-items:center;padding:0;transition:background .12s,color .12s,opacity .12s;display:grid}.field-drag-handle:hover{background:var(--secondary);color:var(--foreground)}.field-drag-handle:active{cursor:grabbing}.field-drag-handle:disabled{cursor:wait;opacity:.52}.field-drag-icon{pointer-events:none;width:18px;height:18px;color:currentColor!important}.field-admin-row__actions{align-items:center;display:flex!important}.field-admin-row__actions .ui-button--icon{width:44px;min-width:44px;min-height:44px}.field-admin-row__actions .ui-button:last-child:hover{color:var(--destructive)}.field-admin-list--locked .field-admin-row{grid-template-columns:auto minmax(180px,1fr) auto}.field-admin-list--archived .field-admin-row{opacity:.78;grid-template-columns:auto minmax(180px,1fr) auto auto}.settings-inline-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:210px;display:flex}.settings-inline-empty>svg{width:28px;height:28px;color:var(--primary)}.settings-inline-empty>strong{margin-top:.8rem;font-size:.88rem}.settings-inline-empty>span{max-width:430px;color:var(--muted-foreground);margin-top:.35rem;font-size:.75rem;line-height:1.5}.settings-inline-empty>.ui-button{margin-top:.9rem}.field-editor{gap:1.1rem;display:grid}.field-editor__basics{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.field-toggle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.field-required-toggle{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in oklab, var(--accent) 20%, white);cursor:pointer;align-items:center;gap:.6rem;height:42px;min-height:42px;padding:.35rem .6rem;display:flex}.field-required-toggle>input{width:18px;height:18px;accent-color:var(--primary);flex:none}.field-required-toggle>input:disabled{cursor:not-allowed;opacity:.55}.field-required-toggle>span{display:grid}.field-required-toggle strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.field-required-toggle small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;margin-top:.08rem;font-size:.6rem;line-height:1.1;overflow:hidden}.field-role-popover{min-width:0;display:block}.field-role-popover__trigger{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in oklab, var(--accent) 20%, white);width:100%;height:42px;min-height:42px;color:var(--foreground);text-align:start;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.35rem .6rem;display:grid}.field-role-popover__trigger:hover,.field-role-popover__trigger[aria-expanded=true]{border-color:color-mix(in oklab, var(--primary) 42%, var(--border));background:color-mix(in oklab, var(--primary) 5%, var(--card))}.field-role-popover__trigger>svg{width:18px;height:18px;color:var(--muted-foreground)}.field-role-popover__trigger>svg:last-child{width:15px;height:15px;transition:transform .12s}.field-role-popover__trigger[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.field-role-popover__trigger>span{min-width:0;display:grid}.field-role-popover__trigger strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.field-role-popover__trigger small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;margin-top:.08rem;font-size:.6rem;line-height:1.1;overflow:hidden}.field-role-popover__panel{width:min(330px,100vw - 1rem);padding:.35rem}.field-role-popover__options{gap:.15rem;display:grid}.field-role-option{cursor:pointer;border-radius:.5rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;min-height:48px;padding:.45rem .55rem;display:grid}.field-role-option:hover{background:var(--muted)}.field-role-option:has(input:disabled){cursor:default}.field-role-option>input{width:18px;height:18px;accent-color:var(--primary);margin:0}.field-role-option>span{min-width:0;display:grid}.field-role-option strong{font-size:.76rem}.field-role-option small{color:var(--muted-foreground);margin-top:.15rem;font-size:.66rem;line-height:1.35}.field-editor__section{border-top:1px solid var(--border);gap:.7rem;padding-top:1rem;display:grid}.field-editor__section>div:first-child{display:grid}.field-editor__section strong{font-size:.82rem}.field-editor__section-heading>div{gap:.22rem;min-width:0;display:grid}.field-editor__section-heading>div>span{color:var(--muted-foreground);font-size:.7rem;line-height:1.45}.formula-builder{border:1px solid color-mix(in oklab, var(--primary) 20%, var(--border));border-radius:calc(var(--radius) * 1.1);background:color-mix(in oklab, var(--accent) 20%, white);min-width:0;overflow:hidden}.formula-builder__header{padding:.9rem 1rem}.formula-builder__header>div{align-items:center;gap:.7rem;display:flex}.formula-builder__header>div>svg{width:20px;height:20px;color:var(--primary)}.formula-builder__header span{display:grid}.formula-builder__header strong{font-size:.82rem}.formula-builder__header small{color:var(--muted-foreground);margin-top:.2rem;font-size:.68rem;line-height:1.45}.formula-mode-switch{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--card);grid-template-columns:repeat(3,1fr);padding:.3rem;display:grid}.formula-mode-switch button{min-width:0;min-height:42px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:.5rem;justify-content:center;align-items:center;gap:.45rem;padding-inline:.55rem;font-size:.73rem;font-weight:700;display:inline-flex}.formula-mode-switch button.active{background:color-mix(in oklab, var(--primary) 8%, white);color:var(--primary)}.formula-mode-switch svg{width:15px;height:15px}.formula-math-panel{min-width:0;display:grid}.formula-math-toolbar{grid-template-columns:minmax(180px,280px) auto;justify-content:space-between;align-items:end;gap:.75rem;min-width:0;padding:1rem 1rem 0;display:grid}.formula-math-grid{grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr);align-items:end;gap:.75rem;min-width:0;padding:.85rem 1rem 1rem;display:grid}.formula-conditional-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.85rem;padding:1rem;display:grid}.formula-math-toolbar>*,.formula-math-grid>*,.formula-conditional-grid>*,.formula-operand,.formula-operand>div{min-width:0}.formula-operand>div{grid-template-columns:105px minmax(0,1fr);gap:.4rem;min-width:0;display:grid}.formula-builder .ui-input,.formula-builder .ui-select,.formula-builder .searchable-select__trigger{box-sizing:border-box;width:100%;max-width:100%;height:42px;min-height:42px}.formula-placeholder{border:1px dashed var(--border);border-radius:var(--radius);min-height:42px;color:var(--muted-foreground);align-items:center;gap:.45rem;padding:0 .7rem;font-size:.7rem;display:flex}.formula-placeholder svg{width:15px;height:15px;color:var(--status-present)}.archive-impact{border:1px solid color-mix(in oklab, var(--destructive) 20%, var(--border));border-radius:var(--radius);background:color-mix(in oklab, var(--destructive) 4%, white);padding:.9rem}.archive-impact>strong{font-size:.8rem}.archive-impact ul{gap:.35rem;margin:.75rem 0;padding:0;list-style:none;display:grid}.archive-impact li{color:var(--foreground);align-items:center;gap:.45rem;font-size:.75rem;display:flex}.archive-impact li svg{width:14px;height:14px;color:var(--destructive)}.archive-impact p,.archive-impact-copy{color:var(--muted-foreground);margin:.6rem 0 0;font-size:.73rem;line-height:1.55}.field-editor__section-heading,.localized-option__main{justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex!important}.field-editor__section-heading{align-items:flex-start}.localized-field-editor,.localized-option-list,.localized-option{gap:.65rem;min-width:0;display:grid}.translation-details{border:1px solid var(--border);background:color-mix(in oklab, var(--muted) 45%, transparent);border-radius:.65rem}.translation-details>summary,.translation-details__heading{min-height:40px;color:var(--muted-foreground);cursor:pointer;align-items:center;gap:.45rem;padding:.55rem .7rem;font-size:.72rem;font-weight:700;display:flex}.translation-details__heading{cursor:default}.translation-details>summary svg,.translation-details__heading svg{width:15px;height:15px}.translation-grid{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.7rem;display:grid}.localized-option{border:1px solid var(--border);background:var(--card);border-radius:.75rem;padding:.75rem}.localized-option__main>div{flex:1;min-width:0}.localized-option-table-shell{border:1px solid var(--border);background:var(--card);border-radius:.75rem;min-width:0;overflow:auto hidden}.localized-option-table{table-layout:fixed;border-collapse:collapse;direction:ltr;width:100%;min-width:760px}.localized-option-table th{border-bottom:1px solid var(--border);background:var(--muted);color:var(--muted-foreground);text-align:start;padding:.55rem .6rem;font-size:.7rem}.localized-option-table--single-select th:last-child{width:154px}.localized-option-table--multi-select th:last-child{width:56px}.localized-option-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.4rem}.localized-option-table tbody tr:last-child td{border-bottom:0}.localized-option-table .ui-input{width:100%;min-width:0}.localized-option-table__icon-content{place-items:center;width:42px;height:42px;margin-inline:auto;display:grid}.localized-option-table__actions-content{justify-content:flex-end;align-items:center;gap:.25rem;min-height:42px;display:flex}.localized-option-table--multi-select .localized-option-table__actions-content{justify-content:center}.localized-option-table__actions-content .option-default-toggle{min-width:0}.field-option-icon{object-fit:contain;vertical-align:middle;border-radius:.22rem;flex:none;display:inline-block}.field-option-icon--emoji{text-align:center;width:1.15em;line-height:1}.calculated-value-display{align-items:center;gap:.3rem;min-width:0;display:inline-flex}.calculated-value-emoji{flex:none;line-height:1}.field-option-value{align-items:center;gap:.35rem;min-width:0;display:inline-flex}.field-option-value>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.field-option-values{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:.25rem .55rem;min-width:0;max-width:100%;display:inline-flex;overflow:hidden}.field-option-values>*{text-overflow:ellipsis;min-width:0;overflow:hidden}.localized-option-table__icon{text-align:center;width:56px;padding-inline:.3rem!important}.field-option-icon-editor{align-content:center;place-items:center;width:42px;min-width:42px;min-height:42px;display:grid}.field-option-icon-editor>.compact-popover{width:42px;height:42px;margin:0}.field-option-icon-editor__trigger{border:1px solid var(--border);background:var(--muted);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--muted-foreground);border-radius:.5rem;place-items:center;padding:0;display:grid;overflow:hidden}.field-option-icon-editor__trigger:hover,.field-option-icon-editor__trigger:focus-visible,.field-option-icon-editor__trigger[aria-expanded=true]{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 7%, var(--card));color:var(--primary);outline:0}.field-option-icon-editor__trigger>img{object-fit:contain;width:100%;height:100%}.field-option-icon-editor__trigger>svg{width:17px;height:17px}.field-option-icon-editor__emoji{font-size:1.55rem;line-height:1}.field-option-icon-editor--dragging .field-option-icon-editor__trigger{border:2px dashed var(--primary);background:color-mix(in oklab, var(--primary) 10%, var(--card));box-shadow:0 0 0 3px color-mix(in oklab, var(--primary) 15%, transparent)}.field-option-icon-editor__menu{width:190px}.field-option-icon-editor__menu-items{display:grid}.field-option-icon-editor__menu .compact-action-menu__item:disabled{cursor:not-allowed;opacity:.45}.formula-result-with-emoji{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.55rem;min-width:0;display:grid}.formula-emoji-control{place-items:end start;min-width:42px;display:grid}.formula-emoji-control>label{white-space:nowrap;min-width:0;margin-bottom:.45rem;padding:0}.formula-emoji-control .emoji-picker-trigger{width:42px;height:42px;min-height:42px}.field-option-select{min-width:0;display:block}.field-option-select .compact-popover{display:block}.field-option-select__trigger{border:1px solid var(--border);background:var(--card);width:100%;min-height:42px;color:var(--foreground);text-align:start;border-radius:.55rem;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:.45rem;padding:.48rem .62rem;transition:border-color .12s,box-shadow .12s,background .12s;display:grid}.field-option-select__trigger:hover{border-color:color-mix(in oklab, var(--primary) 36%, var(--border));background:color-mix(in oklab, var(--muted) 35%, var(--card))}.field-option-select__trigger:focus-visible,.field-option-select__trigger[aria-expanded=true]{border-color:color-mix(in oklab, var(--primary) 62%, var(--border));box-shadow:0 0 0 3px color-mix(in oklab, var(--primary) 11%, transparent);outline:0}.field-option-select__trigger>svg{width:15px;height:15px;color:var(--muted-foreground);transition:transform .12s}.field-option-select__trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.field-option-select__trigger .field-option-value small{background:var(--muted);min-width:22px;height:20px;color:var(--muted-foreground);border-radius:999px;place-items:center;padding-inline:.35rem;font-size:.64rem;font-weight:750;display:inline-grid}.field-option-select__panel{width:min(max(var(--compact-popover-trigger-width,220px), 220px), calc(100vw - 16px));min-width:0;max-width:340px;padding:.24rem;max-height:min(300px, 52dvh, var(--compact-popover-available-height,52dvh))!important}.field-option-select__panel[role=listbox],.field-option-select__panel [role=listbox]{gap:.1rem;display:grid}.field-option-select__panel [role=option]{width:100%;min-height:36px;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:.38rem;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:.38rem;padding:.3rem .42rem;font-size:.74rem;display:grid}.field-option-select__panel [role=option]:hover,.field-option-select__panel [role=option]:focus-visible{background:var(--muted);outline:0}.field-option-select__panel [role=option][aria-selected=true]{background:color-mix(in oklab, var(--primary) 8%, var(--card));color:var(--primary-strong)}.field-option-select__check{width:18px;height:18px;color:var(--primary);border-radius:.3rem;place-items:center;display:grid}.field-option-select__check svg{stroke-width:2.5px;width:14px;height:14px}.field-option-select__panel .field-option-value{width:100%}.field-option-select__panel .field-option-value>span:last-child{white-space:nowrap}.option-default-toggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--muted);min-height:42px;color:var(--muted-foreground);cursor:pointer;align-items:center;gap:.4rem;padding:0 .65rem;font-size:.7rem;font-weight:700;display:inline-flex}.option-default-toggle:hover{border-color:color-mix(in oklab, var(--primary) 35%, var(--border))}.option-default-toggle:has(input:checked){border-color:var(--primary);background:color-mix(in oklab, var(--primary) 14%, var(--card));color:var(--primary-strong);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--primary) 24%, transparent)}.option-default-toggle:has(input:focus-visible){outline:3px solid color-mix(in oklab, var(--primary) 18%, transparent);outline-offset:2px}.option-default-toggle input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.option-default-toggle svg{width:15px;height:15px}.settings-inline-hint{color:var(--muted-foreground);margin:.3rem 0;font-size:.74rem}.field-editor__primary-control{align-content:start;display:grid}.field-type-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:0;display:grid}.field-type-option{border:1px solid var(--border);background:var(--card);min-height:44px;color:var(--foreground);font:inherit;text-align:start;cursor:pointer;border-radius:.65rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.55rem .65rem;font-size:.74rem;font-weight:700;display:grid}.field-type-option:hover,.field-type-option:focus-visible{border-color:color-mix(in oklab, var(--primary) 50%, var(--border))}.field-type-option--selected{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 7%, var(--card));color:var(--primary)}.field-type-option svg{width:16px;height:16px}.field-type-option svg:last-child{width:14px;height:14px}.rule-list-builder{gap:1rem;padding:1rem;display:grid}.rule-list-builder__toolbar{grid-template-columns:minmax(180px,.35fr) 1fr;align-items:end;gap:1rem;display:grid}.rule-list-builder__toolbar p{color:var(--muted-foreground);margin:0 0 .35rem;font-size:.72rem;line-height:1.55}.rule-list{gap:.85rem;display:grid}.rule-card,.rule-else-card{border:1px solid var(--border);background:var(--card);border-radius:.8rem;gap:.8rem;padding:.85rem;display:grid}.rule-card>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.65rem;display:flex}.rule-card>header>div{align-items:center;gap:.45rem;display:flex}.rule-card>header .ui-select{width:auto;min-width:170px}.rule-card__number{background:color-mix(in oklab, var(--primary) 10%, var(--card));width:26px;height:26px;color:var(--primary);border-radius:999px;place-items:center;font-size:.72rem;font-weight:800;display:grid}.rule-condition-list{gap:.55rem;display:grid}.rule-condition{grid-template-columns:minmax(150px,1fr) minmax(155px,.75fr) minmax(150px,1fr) auto;align-items:end;gap:.55rem;display:grid}.rule-card__result{border-top:1px dashed var(--border);gap:.5rem;padding-top:.75rem;display:grid}.rule-result-editor{grid-template-columns:minmax(150px,.4fr) minmax(0,1fr) auto;align-items:end;gap:.6rem;min-width:0;display:grid}.rule-result-math{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:end;gap:.5rem;display:grid}.rule-result-editor>*,.rule-result-math>*,.rule-math-operand>*{min-width:0}.rule-math-operand{grid-template-columns:105px minmax(0,1fr);gap:.4rem;min-width:0;display:grid}.rule-else-card{border-color:color-mix(in oklab, var(--primary) 28%, var(--border));background:color-mix(in oklab, var(--primary) 3%, var(--card))}.rule-else-card>div:first-child{display:grid}.rule-else-card span{color:var(--muted-foreground);margin-top:.2rem;font-size:.7rem}.field-transfer-question{border:1px solid color-mix(in oklab, var(--primary) 22%, var(--border));background:color-mix(in oklab, var(--primary) 4%, var(--card));border-radius:.75rem;gap:.4rem;padding:.9rem;display:grid}.field-transfer-question strong{font-size:.82rem}.field-transfer-question p{color:var(--muted-foreground);margin:0;font-size:.73rem;line-height:1.55}.field-transfer-progress{gap:.65rem;padding:.45rem 0;display:grid}.field-transfer-progress>div:first-child{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.field-transfer-progress strong{font-size:.8rem}.field-transfer-progress span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.7rem}.field-transfer-progress__track{background:color-mix(in oklab, var(--primary) 9%, var(--muted));border-radius:999px;height:8px;position:relative;overflow:hidden}.field-transfer-progress__track>span{border-radius:inherit;background:var(--primary);transition:width .18s;position:absolute;inset-block:0;inset-inline-start:0}.field-transfer-progress__track--indeterminate>span{width:38%;animation:1.1s ease-in-out infinite field-transfer-progress}@keyframes field-transfer-progress{0%{transform:translate(-110%)}to{transform:translate(300%)}}[dir=rtl] .field-transfer-progress__track--indeterminate>span{animation-direction:reverse}@media (prefers-reduced-motion:reduce){.field-transfer-progress__track>span{transition:none}.field-transfer-progress__track--indeterminate>span{opacity:.5;width:100%;animation:none}}.field-transfer-preview{gap:.9rem;display:grid}.field-transfer-preview__summary{gap:.2rem;display:grid}.field-transfer-preview__summary strong{font-size:.84rem}.field-transfer-preview__summary span{color:var(--muted-foreground);font-size:.69rem}.field-transfer-strategies{border:0;gap:.45rem;min-width:0;margin:0;padding:0;display:grid}.field-transfer-strategies legend{margin-bottom:.35rem;font-size:.72rem;font-weight:750}.field-transfer-strategy{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:.7rem;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.65rem;min-height:58px;padding:.65rem .75rem;transition:border-color .12s,background .12s,box-shadow .12s;display:grid}.field-transfer-strategy:hover{border-color:color-mix(in oklab, var(--primary) 38%, var(--border))}.field-transfer-strategy--selected{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 5%, var(--card));box-shadow:0 0 0 2px color-mix(in oklab, var(--primary) 9%, transparent)}.field-transfer-strategy:has(input:disabled){cursor:not-allowed;opacity:.5}.field-transfer-strategy>input{width:18px;height:18px;accent-color:var(--primary);margin:.1rem 0 0}.field-transfer-strategy>span{gap:.2rem;min-width:0;display:grid}.field-transfer-strategy strong{font-size:.76rem}.field-transfer-strategy small{color:var(--muted-foreground);font-size:.68rem;line-height:1.45}.field-transfer-counts,.purge-impact__counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:0;display:grid}.field-transfer-counts>div,.purge-impact__counts>div{border:1px solid var(--border);background:var(--muted);border-radius:.55rem;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;padding:.5rem .6rem;display:flex}.field-transfer-counts dt,.purge-impact__counts dt{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.field-transfer-counts dd,.purge-impact__counts dd{color:var(--foreground);margin:0;font-family:Geist Mono,ui-monospace,monospace;font-size:.74rem;font-weight:750}.field-transfer-skipped,.field-transfer-warnings,.field-transfer-blockers{border:1px solid color-mix(in oklab, var(--warning) 28%, var(--border));background:color-mix(in oklab, var(--warning) 5%, var(--card));border-radius:.65rem;padding:.7rem}.field-transfer-blockers{border-color:color-mix(in oklab, var(--destructive) 38%, var(--border));background:color-mix(in oklab, var(--destructive) 6%, var(--card))}.field-transfer-skipped strong,.field-transfer-blockers strong{font-size:.75rem}.field-transfer-skipped ul,.field-transfer-blockers ul,.field-transfer-warnings{max-height:150px;color:var(--muted-foreground);margin:.45rem 0 0;padding-inline-start:1.2rem;font-size:.68rem;line-height:1.5;overflow:auto}.field-transfer-warnings{margin:0}.field-transfer-confirmation,.purge-impact__confirmation{border-top:1px solid var(--border);gap:.35rem;padding-top:.8rem;display:grid}.purge-impact{gap:.85rem;display:grid}.purge-impact__warning{border:1px solid color-mix(in oklab, var(--destructive) 38%, var(--border));background:color-mix(in oklab, var(--destructive) 6%, var(--card));border-radius:.75rem;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.7rem;padding:.8rem;display:grid}.purge-impact__warning>svg{width:20px;height:20px;color:var(--destructive)}.purge-impact__warning strong{font-size:.8rem}.purge-impact__warning p{color:var(--muted-foreground);margin:.25rem 0 0;font-size:.7rem;line-height:1.5}.purge-impact__details{gap:.35rem;display:grid}.purge-impact__details strong{font-size:.74rem}.purge-impact__details ul{max-height:135px;color:var(--muted-foreground);margin:0;padding-inline-start:1.2rem;font-size:.68rem;line-height:1.5;overflow:auto}.user-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.user-metrics .ui-card__content{align-items:center;gap:.8rem;min-height:94px;display:flex}.user-metrics .ui-card__content>svg{width:20px;height:20px;color:var(--primary)}.user-metrics .ui-card__content>div{display:grid}.user-metrics strong{letter-spacing:-.04em;font-family:Geist Mono,ui-monospace,monospace;font-size:1.25rem}.user-metrics span{color:var(--muted-foreground);margin-top:.18rem;font-size:.7rem}.user-list-content{padding-top:.8rem}.settings-search{max-width:420px;margin-bottom:.65rem;position:relative}.settings-search>svg{z-index:1;inset-inline-start:.75rem;width:16px;height:16px;color:var(--muted-foreground);position:absolute;top:50%;transform:translateY(-50%)}.settings-search .ui-input{padding-inline:2.25rem 2.65rem}.settings-search .search-clear-button,.search-input-shell .search-clear-button{z-index:2;inset-inline-end:.38rem;position:absolute;top:50%;transform:translateY(-50%)}.search-input-shell{position:relative}.search-input-shell .ui-input{padding-inline-end:2.65rem}.user-admin-list{display:grid}.user-admin-row{border-bottom:1px solid color-mix(in oklab, var(--border) 78%, transparent);grid-template-columns:auto minmax(180px,1fr) auto auto auto;align-items:center;gap:.8rem;min-height:76px;display:grid}.user-admin-row:last-child{border-bottom:0}.user-admin-row--inactive{opacity:.62}.user-admin-row>.user-avatar{border-radius:12px;width:40px;height:40px}.user-admin-row__identity{min-width:0;display:grid}.user-admin-row__identity>div{align-items:center;gap:.45rem;display:flex}.user-admin-row__identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.user-admin-row__identity span{color:var(--muted-foreground);margin-top:.25rem;font-family:Geist Mono,ui-monospace,monospace;font-size:.67rem}.user-admin-row .ui-badge svg{width:12px;height:12px}.user-admin-row__actions{align-items:center;display:flex}.user-admin-row__actions .ui-button--icon{width:36px;min-width:36px;min-height:36px}.settings-security-note{border:1px solid color-mix(in oklab, var(--status-present) 25%, var(--border));border-radius:var(--radius);background:color-mix(in oklab, var(--status-present) 5%, white);align-items:flex-start;gap:.8rem;padding:1rem;display:flex}.settings-security-note>svg{width:20px;height:20px;color:var(--status-present);flex:none}.settings-security-note strong{font-size:.78rem}.settings-security-note p{color:var(--muted-foreground);margin:.3rem 0 0;font-size:.72rem;line-height:1.55}.user-editor{gap:1rem;display:grid}.username-input,.password-input{position:relative}.username-input>span{z-index:1;color:var(--muted-foreground);font-size:.8rem;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.username-input .ui-input{padding-left:1.7rem}.password-input .ui-input{padding-right:3rem}.password-input>button{width:36px;height:36px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:.5rem;place-items:center;display:grid;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.password-input>button:hover{background:var(--muted)}.password-input svg{width:16px;height:16px}.field-help{color:var(--muted-foreground);margin-top:.35rem;font-size:.68rem;line-height:1.45;display:block}.status-confirm-user{border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.8rem;display:flex}.status-confirm-user>div:last-child{display:grid}.status-confirm-user strong{font-size:.82rem}.status-confirm-user span{color:var(--muted-foreground);margin-top:.2rem;font-family:Geist Mono,ui-monospace,monospace;font-size:.68rem}.user-purge-dialog{gap:1rem;display:grid}.user-purge-impact{border:1px solid color-mix(in oklab, var(--destructive) 28%, var(--border));border-radius:var(--radius);background:color-mix(in oklab, var(--destructive) 5%, var(--card));gap:.65rem;padding:.85rem;display:grid}.user-purge-impact>strong{font-size:.78rem}.user-purge-impact dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .8rem;margin:0;display:grid}.user-purge-impact dl>div{min-width:0;color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:.5rem;font-size:.72rem;display:flex}.user-purge-impact dt{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-purge-impact dd{color:var(--foreground);font-variant-numeric:tabular-nums;margin:0;font-weight:700}@media (max-width:820px){.field-admin-row{grid-template-columns:auto minmax(160px,1fr) auto}.field-admin-row>.ui-badge{justify-self:end}.field-admin-row__actions{grid-column:2/-1;justify-content:flex-end;margin-top:-.45rem;padding-bottom:.45rem}.field-admin-list--archived .field-admin-row{grid-template-columns:auto minmax(150px,1fr) auto}.formula-math-grid{grid-template-columns:1fr}.formula-conditional-grid,.rule-condition{grid-template-columns:1fr 1fr}.rule-condition>.ui-button{place-self:end}.rule-result-editor,.rule-result-math{grid-template-columns:1fr}.user-admin-row{grid-template-columns:auto minmax(160px,1fr) auto auto}.user-admin-row__actions{grid-column:2/-1;justify-content:flex-end;margin-top:-.5rem;padding-bottom:.5rem}}@media (max-width:620px){.field-toggle-grid{grid-template-columns:1fr}.dialog-backdrop:has(.dialog--xl){padding:0}.dialog--xl{border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.import-mapping__summary{flex-direction:column;align-items:stretch}.import-column,.import-new-field{grid-template-columns:1fr}.import-new-field__options{grid-column:1}.settings-form,.field-editor__basics,.formula-conditional-grid,.user-metrics,.attendance-behavior-two-column{grid-template-columns:1fr}.attendance-rule-condition{grid-template-columns:1fr auto}.attendance-rule-condition>:not(:last-child){grid-column:1}.attendance-rule-condition>:last-child{grid-area:1/2}.settings-overview-card .ui-card__content{grid-template-columns:auto 1fr}.settings-overview-card .ui-button{grid-column:1/-1;width:100%}.field-settings>.ui-card:not(.settings-overview-card)>.ui-card__header{flex-direction:column;align-items:stretch}.field-configuration-actions{width:100%}.field-configuration-actions>.ui-button:last-child{flex:1;min-width:0}.field-transfer-counts,.purge-impact__counts{grid-template-columns:1fr}.settings-tabs a{padding:0 .65rem;font-size:.73rem}.settings-tabs a:after{left:.5rem;right:.5rem}.field-admin-row{grid-template-columns:auto minmax(0,1fr);gap:.65rem;padding:.7rem 0}.field-admin-row>.ui-badge{grid-column:2;justify-self:start}.field-admin-row__actions{grid-column:1/-1;justify-content:flex-end;width:100%;margin:0;padding:0}.field-admin-row__actions .ui-button--icon{width:44px;min-width:44px;min-height:44px}.field-drag-handle{width:44px;height:44px}.field-admin-list--locked .field-admin-row{grid-template-columns:auto 1fr}.field-admin-list--locked .ui-badge{grid-column:2;justify-self:start}.field-admin-list--archived .field-admin-row{grid-template-columns:auto minmax(0,1fr)}.field-admin-list--archived .ui-badge{grid-column:2;justify-self:start}.formula-math-toolbar,.formula-result-with-emoji,.formula-operand>div,.translation-grid,.field-type-picker,.rule-condition,.rule-result-editor,.rule-list-builder__toolbar{grid-template-columns:1fr}.rule-card>header,.rule-card>header>div:first-child{flex-direction:column;align-items:stretch}.rule-card>header .ui-select{width:100%}.rule-math-operand,.formula-mode-switch{grid-template-columns:1fr}.user-list-header{display:grid}.user-list-header .ui-button{width:100%}.user-admin-row{grid-template-columns:auto minmax(0,1fr) auto;gap:.6rem;padding:.7rem 0}.user-admin-row>.ui-badge{grid-column:2;justify-self:start}.user-admin-row>.ui-badge+.ui-badge{grid-area:2/3}.user-admin-row__actions{grid-column:1/-1;justify-content:flex-end;width:100%;margin:0;padding:0}.user-admin-row__actions .ui-button--icon{width:44px;min-width:44px;min-height:44px}.user-purge-impact dl{grid-template-columns:1fr}}.compact-popover__panel{position:fixed}.personnel-popover__panel{z-index:120;position:fixed}.personnel-popover__panel.filter-menu__panel,.personnel-popover__panel.group-menu__panel,.personnel-popover__panel.row-actions__menu{position:fixed;inset-inline-end:auto}.data-group-row td{padding:0!important}@media (max-width:820px){.personnel-popover__panel.filter-menu__panel--excel,.personnel-popover__panel.group-menu__panel,.personnel-popover__panel.personnel-presets-panel,.personnel-popover__panel.personnel-columns-panel{border-radius:var(--radius);width:min(390px,100vw - 1rem);max-height:min(420px,58dvh);position:fixed}}@media (hover:none),(pointer:coarse){.column-filter-trigger{opacity:.72;pointer-events:auto}.column-header-shell:has(.column-filter-trigger) .column-header-button{padding-inline-end:24px}}@media (max-width:620px){.personnel-data-card .data-toolbar{grid-template-columns:minmax(0,1fr) repeat(4,42px);gap:.4rem;padding:.65rem;display:grid}.personnel-data-card .search-box{grid-column:auto;min-width:0;padding-inline:.55rem}.personnel-data-card .toolbar-menu-trigger{width:42px;min-width:42px;min-height:42px;padding:0;position:relative}.personnel-data-card .toolbar-menu-label,.personnel-data-card .toolbar-menu-chevron,.personnel-data-card .toolbar-menu-trigger .ui-badge{display:none}.personnel-data-card .toolbar-menu-trigger.active:after{top:7px;border:1px solid var(--card);background:var(--primary);content:"";border-radius:50%;width:6px;height:6px;position:absolute;inset-inline-end:7px}.personnel-selection-toolbar{flex-wrap:nowrap;gap:.25rem;min-height:48px;padding:.35rem .5rem}.personnel-selection-toolbar>span{flex:auto;min-width:0}.personnel-selection-toolbar .selection-outside{display:none}.personnel-selection-toolbar .ui-button{width:40px;min-width:40px;min-height:40px;padding:0}.personnel-selection-toolbar .selection-action-label,.desktop-selection-control{display:none}.personnel-table{--group-sticky-offset:60px}.personnel-table.data-table .sticky-col--mobile-select{z-index:6;text-align:center;width:60px;min-width:60px;max-width:60px;padding-inline:7px;position:sticky;inset-inline-start:0}.personnel-table th.sticky-col--mobile-select{z-index:10}.personnel-table.data-table .personnel-mobile-collapsed-photo{width:0;min-width:0;max-width:0;box-shadow:none;border:0;padding:0;position:static;overflow:hidden}.personnel-table.data-table .personnel-mobile-collapsed-photo>*{display:none}.personnel-table.data-table td.sticky-col--id,.personnel-table.data-table td.sticky-col--name{box-shadow:none;border-inline-end:0;position:static;inset-inline-start:auto}.mobile-avatar-selection{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid}.mobile-avatar-selection__visual{border:1px solid var(--border);background:var(--muted);width:36px;height:36px;color:var(--muted-foreground);border-radius:50%;place-items:center;display:grid;overflow:hidden}.mobile-avatar-selection__visual img{object-fit:cover;width:100%;height:100%}.mobile-avatar-selection__visual>svg{width:18px;height:18px}.mobile-avatar-selection.selected .mobile-avatar-selection__visual{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.row-action-photo{display:flex!important}.personnel-options-trigger>span{display:none}.personnel-options-trigger{width:42px;min-width:42px;padding:0}.personnel-options-trigger>svg:last-child{display:none}}.compact-action-menu{width:min(230px,100vw - 1rem);padding:.3rem;display:grid}.compact-action-menu__item{min-height:38px;color:var(--foreground);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:.5rem;align-items:center;gap:.55rem;padding:0 .65rem;font-size:.76rem;display:flex}.compact-action-menu__item:hover,.compact-action-menu__item:focus-visible{background:var(--muted);outline:0}.compact-action-menu__item>svg{width:15px;height:15px;color:var(--muted-foreground);flex:none}.compact-action-menu__item--danger{color:var(--destructive)}.compact-action-menu__item--danger>svg{color:currentColor}.attendance-list__item-shell{position:relative}.attendance-list__item-shell .attendance-list__item{padding-inline-end:4rem}.attendance-list__options{z-index:4;inset-inline-end:.75rem;position:absolute;top:50%;transform:translateY(-50%)}.attendance-list__options-trigger{width:38px;min-width:38px;min-height:38px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.55rem;place-items:center;padding:0;display:grid}.attendance-list__options-trigger:hover,.attendance-list__options-trigger:focus-visible,.attendance-list__options-trigger[aria-expanded=true]{border-color:var(--border);background:var(--card);color:var(--foreground);outline:0}.attendance-list__options-trigger svg{width:18px;height:18px}.attendance-delete-confirmation{gap:.65rem;display:grid}.attendance-delete-confirmation>p{color:var(--muted-foreground);margin:0;font-size:.78rem;line-height:1.55}.attendance-delete-confirmation>strong{border:1px solid color-mix(in oklab, var(--destructive) 18%, var(--border));border-radius:var(--radius);background:color-mix(in oklab, var(--destructive) 4%, var(--card));padding:.8rem;font-size:.78rem;line-height:1.5}.attendance-table{--attendance-photo-width:64px;--attendance-id-width:120px;--attendance-name-width:230px;--group-sticky-offset:var(--attendance-photo-width)}.attendance-table:not(:has(.attendance-sticky-photo)){--group-sticky-offset:0px}.attendance-table.data-table .attendance-sticky-photo{width:var(--attendance-photo-width);min-width:var(--attendance-photo-width);max-width:var(--attendance-photo-width);text-align:center;padding-inline:8px;inset-inline-start:0}.attendance-table.data-table .attendance-sticky-id{width:var(--attendance-id-width);min-width:var(--attendance-id-width);inset-inline-start:auto}.attendance-table.data-table .attendance-sticky-name{width:var(--attendance-name-width);min-width:var(--attendance-name-width);inset-inline-start:auto}.attendance-table.data-table .sticky-col.attendance-sticky-photo{border-inline-end:1px solid var(--border);box-shadow:8px 0 12px -12px #141e303d}.attendance-table td.sticky-col,.attendance-table th.sticky-col{background:var(--card)}.attendance-table th.sticky-col{z-index:9;background:color-mix(in oklab, var(--muted) 93%, white)}html[dir=rtl] .attendance-table.data-table .sticky-col.attendance-sticky-photo{box-shadow:-8px 0 12px -12px #141e303d}.attendance-table .attendance-photo-placeholder--compact,.attendance-table .attendance-photo-thumbnail--compact{background:0 0;border:0;width:44px;height:44px;padding:4px;position:relative}.attendance-table .attendance-photo-placeholder--compact:before{border:1px solid var(--border);background:var(--muted);content:"";border-radius:50%;position:absolute;inset:4px}.attendance-table .attendance-photo-placeholder--compact>svg{z-index:1;position:relative}.attendance-table .attendance-photo-thumbnail--compact img{border:1px solid var(--border);border-radius:50%;width:36px;height:36px}.attendance-table button.attendance-photo-thumbnail--compact{cursor:pointer;overflow:visible}.attendance-table button.attendance-photo-thumbnail--compact:after{content:"";pointer-events:none;border:2px solid #0000;border-radius:50%;transition:border-color .12s,background .12s;position:absolute;inset:2px}.attendance-table button.attendance-photo-thumbnail--compact:hover,.attendance-table button.attendance-photo-thumbnail--compact:focus-visible{box-shadow:none;border-color:#0000;outline:0}.attendance-table button.attendance-photo-thumbnail--compact:hover:after,.attendance-table button.attendance-photo-thumbnail--compact:focus-visible:after{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 8%, transparent)}.compact-popover__panel.attendance-filter-popover,.compact-popover__panel.attendance-group-popover{z-index:var(--layer-popover);position:fixed;inset:auto}.attendance-photo-placeholder,.attendance-photo-thumbnail{border:1px solid var(--border);background:var(--muted);width:44px;height:44px;color:var(--muted-foreground);vertical-align:middle;border-radius:50%;place-items:center;padding:3px;display:inline-grid;overflow:hidden}.attendance-photo--with-status{position:relative;overflow:visible}.attendance-status-dots{z-index:3;pointer-events:none;direction:ltr;gap:2px;display:flex;position:absolute;bottom:1px;right:-2px}.attendance-status-dot{width:6px;height:6px;box-shadow:0 0 0 1.5px var(--card), 0 1px 2px #141e3047;border-radius:50%;flex:0 0 6px}.attendance-status-dot--present{background:var(--status-present)}.attendance-status-dot--absent{background:var(--status-absent)}.attendance-status-dot--paid_leave{background:var(--status-paid-leave)}.attendance-status-dot--annual_leave{background:var(--status-annual-leave)}.attendance-status-dot--unmarked{background:var(--muted-foreground)}.attendance-photo-thumbnail[role=button],button.attendance-photo-thumbnail{cursor:zoom-in}button.attendance-photo-thumbnail:hover,button.attendance-photo-thumbnail:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklab, var(--primary) 12%, transparent);outline:0}.attendance-photo-placeholder>svg{width:20px;height:20px}.attendance-photo-thumbnail img{object-fit:cover;border-radius:50%;width:100%;height:100%}.attendance-photo-placeholder--compact,.attendance-photo-thumbnail--compact{width:40px;height:40px}.selected-person-card__identity-button{width:100%;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;padding:0}.selected-person-card__identity-button:hover,.selected-person-card__identity-button:focus-visible{background:color-mix(in oklab, var(--primary) 4%, transparent);outline:0}.attendance-photo-viewer{aspect-ratio:1;border-radius:var(--radius);background:var(--muted);width:min(100%,680px);margin:0 auto;position:relative;overflow:hidden}.attendance-photo-viewer img{object-fit:contain}.attendance-person-details{gap:1rem;display:grid}.attendance-person-details__header{border-bottom:1px solid var(--border);align-items:center;gap:.85rem;padding-bottom:.85rem;display:flex}.attendance-person-details__header>div{flex-wrap:wrap;align-items:center;gap:.35rem .55rem;min-width:0;display:flex}.attendance-person-details__header h3{text-overflow:ellipsis;white-space:nowrap;width:100%;margin:0;font-size:1rem;overflow:hidden}.attendance-person-details__header code{color:var(--primary);font-size:.72rem}.attendance-person-details__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0;display:grid}.attendance-person-details__fields>div{border:1px solid var(--border);background:color-mix(in oklab, var(--muted) 38%, var(--card));border-radius:.6rem;min-width:0;padding:.65rem}.attendance-person-details__fields dt{color:var(--muted-foreground);font-size:.65rem;font-weight:700}.attendance-person-details__fields dd{overflow-wrap:anywhere;margin:.25rem 0 0;font-size:.78rem}.attendance-person-details__fields dd .field-option-values{white-space:normal;flex-wrap:wrap;overflow:visible}.attendance-person-details__fields dd .field-option-value>span{text-overflow:clip;white-space:normal;overflow:visible}.personnel-profile-dialog{gap:1.25rem;display:grid}.personnel-detail-content__photo{flex:0 0 96px;width:96px;height:96px}.employee-attendance-history{border-top:1px solid var(--border);gap:.85rem;padding-top:1.1rem;display:grid}.employee-attendance-history__header{justify-content:space-between;align-items:end;gap:1rem;display:flex}.employee-attendance-history__header h3{margin:0;font-size:1rem}.employee-attendance-history__header p{color:var(--muted-foreground);margin:.2rem 0 0;font-size:.78rem}.employee-attendance-history__filters{flex:none;width:320px;min-width:0;max-width:100%;margin-inline-start:auto;display:grid}.employee-attendance-history__table-wrap{border:1px solid var(--border);border-radius:.75rem;overflow:auto}.employee-attendance-history__table{border-collapse:collapse;width:100%;font-size:.78rem}.employee-attendance-history__table th,.employee-attendance-history__table td{border-bottom:1px solid var(--border);text-align:start;white-space:nowrap;padding:.65rem .7rem}.employee-attendance-history__table th{background:color-mix(in oklab, var(--muted) 62%, var(--card));color:var(--muted-foreground);letter-spacing:.02em;font-size:.68rem}.employee-attendance-history__table tbody tr:last-child td{border-bottom:0}.employee-attendance-history__table a{color:var(--primary);font-weight:700;text-decoration:none}.employee-attendance-history__table a:hover{text-decoration:underline}.employee-attendance-history__state{border:1px dashed var(--border);min-height:84px;color:var(--muted-foreground);text-align:center;border-radius:.75rem;justify-content:center;align-items:center;gap:.65rem;display:flex}.employee-attendance-history__state--error{color:var(--danger)}.employee-attendance-history__state svg{width:18px;height:18px}.employee-attendance-history__more{justify-content:center;display:flex}.attendance-options-trigger{gap:.4rem}.attendance-options-trigger>svg{width:17px;height:17px}.attendance-sync-badge>svg{width:14px;height:14px}.attendance-roster-add{gap:.75rem;min-height:0;display:grid}.attendance-roster-add__search{flex:none;width:100%;min-width:0}.attendance-roster-add__summary{color:var(--muted-foreground);font-size:.72rem;font-weight:700}.attendance-roster-add__error{border:1px solid color-mix(in oklab, var(--destructive) 32%, var(--border));background:color-mix(in oklab, var(--destructive) 7%, var(--card));color:var(--destructive);border-radius:.7rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .7rem;font-size:.74rem;display:flex}.attendance-roster-add__list{overscroll-behavior:contain;border:1px solid var(--border);background:var(--card);scrollbar-gutter:stable;border-radius:.8rem;height:min(420px,52dvh);min-height:180px;overflow:auto}.attendance-roster-add__candidate{box-sizing:border-box;border-bottom:1px solid color-mix(in oklab, var(--border) 76%, transparent);cursor:pointer;grid-template-columns:auto 40px minmax(0,1fr);align-items:center;gap:.7rem;padding:0 .8rem;display:grid}.attendance-roster-add__candidate:hover{background:color-mix(in oklab, var(--primary) 5%, var(--card))}.attendance-roster-add__candidate:has(input:focus-visible){outline:2px solid var(--ring);outline-offset:-2px}.attendance-roster-add__candidate>input{width:17px;height:17px;accent-color:var(--primary);cursor:pointer;margin:0}.attendance-roster-add__candidate>img,.attendance-roster-add__photo-placeholder{border:1px solid var(--border);background:var(--muted);width:36px;height:36px;color:var(--muted-foreground);object-fit:cover;border-radius:50%;place-items:center;display:grid}.attendance-roster-add__photo-placeholder>svg{width:17px;height:17px}.attendance-roster-add__candidate>span:last-child{gap:.15rem;min-width:0;display:grid}.attendance-roster-add__candidate strong,.attendance-roster-add__candidate code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-roster-add__candidate strong{font-size:.78rem}.attendance-roster-add__candidate code{color:var(--primary);font-size:.66rem}.attendance-roster-add__state{min-height:180px;color:var(--muted-foreground);text-align:center;place-items:center;padding:1rem;font-size:.76rem;display:grid}.attendance-print-dialog{direction:ltr;grid-template-columns:minmax(0,1fr) minmax(340px,390px);grid-template-areas:"preview settings";gap:1rem;height:100%;min-height:0;display:grid}.attendance-print-settings{overscroll-behavior:contain;direction:ltr;grid-area:settings;align-content:start;gap:1rem;min-height:0;padding-inline-end:.25rem;display:grid;overflow-y:auto}html[dir=rtl] .attendance-print-settings,html[dir=rtl] .attendance-print-preview{direction:rtl}.attendance-print-presets{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in oklab, var(--muted) 24%, var(--card));gap:.65rem;padding:.75rem;display:grid}.attendance-print-presets>header{justify-content:space-between;align-items:flex-start;gap:.55rem;min-width:0;display:flex}.attendance-print-presets>header>div{align-items:flex-start;gap:.5rem;min-width:0;display:flex}.attendance-print-presets>header svg{width:17px;height:17px;color:var(--primary);flex:none;margin-top:.08rem}.attendance-print-presets>header span{min-width:0;display:grid}.attendance-print-presets>header strong{font-size:.76rem;line-height:1.35}.attendance-print-presets>header small{color:var(--muted-foreground);margin-top:.12rem;font-size:.62rem;line-height:1.4}.attendance-print-presets__controls{gap:.5rem;min-width:0;display:grid}.attendance-print-presets__controls .searchable-select__trigger{box-sizing:border-box;height:42px;min-height:42px}.attendance-print-presets__actions{grid-template-columns:repeat(5,42px);justify-content:end;gap:.35rem;display:grid}.attendance-print-presets__actions .ui-button{width:42px;min-width:42px;height:42px;min-height:42px}.attendance-print-presets__actions .ui-button svg{width:16px;height:16px}.attendance-print-presets__actions .ui-button svg.filled{fill:currentColor}.attendance-print-presets__notice{color:var(--muted-foreground);align-items:flex-start;gap:.4rem;margin:0;font-size:.66rem;line-height:1.45;display:flex}.attendance-print-presets__notice svg{width:15px;height:15px;color:var(--status-annual-leave);flex:none}.attendance-print-preset-form{gap:1rem;display:grid}.attendance-print-preset-default{cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;display:grid}.attendance-print-preset-default>input{width:17px;height:17px;accent-color:var(--primary)}.attendance-print-preset-default>span{display:grid}.attendance-print-preset-default strong{font-size:.78rem}.attendance-print-preset-default small{color:var(--muted-foreground);margin-top:.15rem;font-size:.68rem;line-height:1.45}.attendance-print-toggle-grid{grid-template-columns:1fr;gap:.65rem;display:grid}.attendance-print-toggle{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in oklab, var(--muted) 35%, var(--card));cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;min-width:0;padding:.7rem;display:grid}.attendance-print-toggle:hover{border-color:color-mix(in oklab, var(--primary) 28%, var(--border))}.attendance-print-toggle>input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.attendance-print-toggle__control{background:color-mix(in oklab, var(--muted-foreground) 28%, var(--muted));border-radius:999px;flex:none;align-items:center;width:38px;height:22px;padding:2px;transition:background .12s;display:inline-flex;position:relative}.attendance-print-toggle__control>span{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .12s;box-shadow:0 1px 4px #141e3033}.attendance-print-toggle>input:checked+.attendance-print-toggle__control{background:var(--primary)}.attendance-print-toggle>input:checked+.attendance-print-toggle__control>span{transform:translate(16px)}html[dir=rtl] .attendance-print-toggle>input:checked+.attendance-print-toggle__control>span{transform:translate(-16px)}.attendance-print-toggle>input:focus-visible+.attendance-print-toggle__control{outline:3px solid color-mix(in oklab, var(--ring) 35%, transparent);outline-offset:2px}.attendance-print-toggle>span:last-child{min-width:0;display:grid}.attendance-print-toggle strong{font-size:.75rem;line-height:1.35}.attendance-print-toggle small{color:var(--muted-foreground);margin-top:.2rem;font-size:.64rem;line-height:1.4}.attendance-print-toggle--disabled{cursor:not-allowed;opacity:.55}.attendance-print-toggle--disabled:hover{border-color:var(--border)}.attendance-print-select-grid{grid-template-columns:1fr;align-items:end;gap:.75rem;display:grid}.attendance-print-field-selector{flex-direction:column;justify-content:flex-end;align-self:stretch;min-width:0;display:flex}.attendance-print-field-selector>.ui-label{align-self:flex-start}.attendance-print-field-selector>.compact-popover{width:100%;display:block}.attendance-print-select-grid .searchable-select__trigger,.attendance-print-fields-trigger{box-sizing:border-box;height:42px;min-height:42px}.attendance-print-fields-trigger{justify-content:flex-start;width:100%}.attendance-print-fields-trigger span{text-overflow:ellipsis;overflow:hidden}.attendance-print-fields-panel{width:min(520px,100vw - 1rem);padding:0}.attendance-print-fields-panel>div{max-height:min(420px,60dvh);display:grid;overflow:auto}.attendance-print-field-list{padding:.45rem .65rem;display:grid}.attendance-print-field-row{border-bottom:1px solid var(--border);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;min-width:0;display:grid}.attendance-print-field-row:last-child{border-bottom:0}.attendance-print-field-row--dragging{z-index:2;background:color-mix(in oklab, var(--primary) 8%, var(--card));border-radius:.55rem;position:relative;box-shadow:0 10px 28px #141e3021}.attendance-print-field-row>label{cursor:pointer;align-items:center;gap:.55rem;min-width:0;min-height:44px;font-size:.75rem;font-weight:650;display:flex}.attendance-print-field-row>label input,.attendance-print-field-list--available label input{width:16px;height:16px;accent-color:var(--primary);flex:none}.attendance-print-field-row>label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-print-field-row>div{display:flex}.attendance-print-field-list--available{border-top:1px solid var(--border);background:var(--muted)}.attendance-print-field-list--available>strong{color:var(--muted-foreground);text-transform:uppercase;padding:.35rem .25rem .55rem;font-size:.67rem}.attendance-print-field-list--available>label{border-top:1px solid color-mix(in oklab, var(--border) 70%, transparent);cursor:pointer;align-items:center;gap:.55rem;min-height:40px;padding:0 .25rem;font-size:.74rem;display:flex}.attendance-print-notice{border:1px solid var(--border);border-radius:.65rem;align-items:flex-start;gap:.55rem;padding:.65rem .75rem;font-size:.72rem;line-height:1.5;display:flex}.attendance-print-notice>svg{flex:none;width:17px;height:17px}.attendance-print-notice--warning{border-color:color-mix(in oklab, var(--status-annual-leave) 35%, var(--border));background:color-mix(in oklab, var(--status-annual-leave) 9%, var(--card));color:color-mix(in oklab, var(--status-annual-leave) 68%, black)}.attendance-print-preview{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in oklab, var(--muted) 60%, var(--card));flex-direction:column;grid-area:preview;min-height:0;display:flex;overflow:hidden}.attendance-print-preview>header{border-bottom:1px solid var(--border);background:var(--card);justify-content:space-between;align-items:center;gap:.75rem;min-height:54px;padding:.6rem .8rem;display:flex}.attendance-print-preview>header>div{align-items:center;gap:.55rem;min-width:0;display:flex}.attendance-print-preview>header svg{width:19px;height:19px;color:var(--primary)}.attendance-print-preview>header div div{min-width:0;display:grid}.attendance-print-preview>header strong{font-size:.78rem}.attendance-print-preview>header small{color:var(--muted-foreground);margin-top:.1rem;font-size:.64rem}.attendance-print-preview__frame{background:#4b5563;flex:1;min-height:0;position:relative}.attendance-print-preview__frame>iframe{background:#fff;border:0;width:100%;height:100%;min-height:0;display:block}.attendance-print-preview__overlay,.attendance-print-preview__empty{z-index:2;background:color-mix(in oklab, var(--card) 84%, transparent);color:var(--muted-foreground);text-align:center;justify-content:center;align-items:center;gap:.6rem;display:flex;position:absolute;inset:0}.attendance-print-preview__overlay{background:color-mix(in oklab, var(--card) 72%, transparent);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);font-size:.78rem}.attendance-print-progress-card{border:1px solid color-mix(in oklab, var(--primary) 22%, var(--border));background:color-mix(in oklab, var(--card) 94%, transparent);text-align:start;border-radius:.9rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;width:min(330px,100% - 2rem);padding:.9rem 1rem;display:grid;box-shadow:0 12px 30px #0000001f;box-shadow:0 12px 30px lab(0% 0 0/.12)}.attendance-print-progress-card>svg{width:22px;height:22px;color:var(--primary)}.attendance-print-progress-card__copy{gap:.14rem;display:grid}.attendance-print-progress-card__copy strong{color:var(--foreground);font-size:.82rem}.attendance-print-progress-card__copy span{color:var(--primary);font-size:.76rem;font-weight:800}.attendance-print-progress-card__copy small{color:var(--muted-foreground);font-size:.68rem}.attendance-print-progress-track{background:color-mix(in oklab, var(--primary) 12%, var(--muted));border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.attendance-print-progress-track>span{border-radius:inherit;background:var(--primary);width:0;height:100%;transition:width .22s;display:block}.attendance-print-progress-track>span.is-indeterminate{width:38%;animation:1.25s ease-in-out infinite attendance-print-progress-indeterminate}@keyframes attendance-print-progress-indeterminate{0%{transform:translate(-110%)}to{transform:translate(290%)}}@media (prefers-reduced-motion:reduce){.attendance-print-progress-track>span{transition:none}.attendance-print-progress-track>span.is-indeterminate{opacity:.45;width:100%;animation:none}}.attendance-print-preview__empty{flex-direction:column;padding:2rem}.attendance-print-preview__empty>svg{width:34px;height:34px;color:var(--primary)}.attendance-print-preview__empty>strong{color:var(--foreground);font-size:.9rem}.attendance-print-preview__empty>p{max-width:480px;margin:0;font-size:.76rem;line-height:1.55}.attendance-print-spin{animation:.85s linear infinite spin}@media (max-width:820px){.compact-popover__panel.filter-menu__panel,.compact-popover__panel.group-menu__panel,.compact-popover__panel.attendance-filter-popover,.compact-popover__panel.attendance-group-popover{border-radius:var(--radius);width:min(390px,100vw - 1rem);max-height:min(420px,58dvh);position:fixed}.attendance-print-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-print-select-grid{grid-template-columns:1fr 1fr}.attendance-print-field-selector{grid-column:1/-1}}@media (max-width:900px){.dialog--print .dialog__body{overflow:auto}.attendance-print-dialog{grid-template-columns:1fr;grid-template-areas:"settings""preview";height:auto}.attendance-print-settings{padding-inline-end:0;overflow:visible}.attendance-print-toggle-grid,.attendance-print-select-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-print-field-selector{grid-column:1/-1}.attendance-print-preview__frame,.attendance-print-preview__frame>iframe{height:520px;min-height:520px}.attendance-workspace{padding-bottom:0}.attendance-header{gap:.75rem;display:grid}.attendance-header__identity{min-width:0}.attendance-header__identity h1{font-size:clamp(1.15rem,6vw,1.5rem)}.attendance-header__actions{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:.4rem;width:100%;display:flex}.attendance-sync-label,.attendance-options-label{display:none}.attendance-sync-badge,.attendance-options-trigger{justify-content:center;width:42px;min-width:42px;min-height:42px;padding:0}.attendance-save-button{flex:1;min-width:0;padding-inline:.65rem}.attendance-table.data-table th.attendance-sticky-photo,.attendance-table.data-table th.attendance-sticky-id,.attendance-table.data-table th.attendance-sticky-name{z-index:10;position:sticky;top:0}.attendance-table.data-table td.sticky-col.attendance-sticky-photo,.attendance-table.data-table td.sticky-col.attendance-sticky-id,.attendance-table.data-table td.sticky-col.attendance-sticky-name{z-index:7;position:sticky}.attendance-table-scroll{min-height:0;max-height:none}.attendance-table .group-progress{display:none}}@media (max-width:480px){.attendance-header__actions .ui-badge{justify-content:center;width:42px}.attendance-header__actions .ui-button{flex:none}.attendance-header__actions .attendance-save-button{flex:auto}.attendance-list__item-shell .attendance-list__item{padding-inline-end:3.25rem}.attendance-list__options{inset-inline-end:.35rem;top:.65rem;transform:none}.attendance-person-details__fields{grid-template-columns:1fr}}@media (max-width:620px){.dialog-backdrop:has(.dialog--print){padding:0}.dialog--print{border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.employee-attendance-history__header{flex-direction:column;align-items:stretch}.employee-attendance-history__filters{width:100%;margin-inline-start:0}.personnel-detail-content__photo{flex-basis:72px;width:72px;height:72px}.attendance-print-toggle-grid,.attendance-print-select-grid{grid-template-columns:1fr}.attendance-print-field-selector{grid-column:auto}.attendance-print-preview__frame,.attendance-print-preview__frame>iframe{height:480px;min-height:480px}.localized-option-table th,.localized-option-table td{padding-inline:.25rem}.localized-option-table--single-select th:last-child{width:112px}.localized-option-table--multi-select th:last-child{width:56px}.localized-option-table__actions-content .option-default-toggle span{display:none}}@media (max-width:900px){.app-frame[data-scroll-contained] .attendance-workspace{padding-bottom:0}.app-frame[data-scroll-contained] .attendance-layout{display:flex;overflow:hidden}.app-frame[data-scroll-contained] .attendance-main-card{flex:1;height:100%}.app-frame[data-scroll-contained] .attendance-table-scroll{max-height:none;padding-bottom:0}.app-frame[data-scroll-contained] .app-main{height:calc(100dvh - var(--mobile-header-height));min-height:0;padding-bottom:var(--mobile-dock-page-clearance);overflow:hidden}.app-frame[data-scroll-contained]:not([data-personnel-table-contained]) .workspace,.app-frame[data-scroll-contained]:not([data-personnel-table-contained]) .attendance-layout,.app-frame[data-scroll-contained]:not([data-personnel-table-contained]) .attendance-main-card,.app-frame[data-scroll-contained]:not([data-personnel-table-contained]) .attendance-table-scroll{min-height:0}.app-frame[data-scroll-contained]:not([data-personnel-table-contained]) .workspace{height:100%}.app-frame[data-scroll-contained]:not([data-personnel-table-contained]) .attendance-layout{flex:auto;align-items:stretch;display:flex;overflow:hidden}.app-frame[data-scroll-contained]:not([data-personnel-table-contained]) .attendance-main-card,.app-frame[data-scroll-contained]:not([data-personnel-table-contained]) .attendance-table-scroll{flex:auto;height:auto;max-height:none}.app-frame[data-personnel-table-contained] .workspace,.app-frame[data-personnel-table-contained] .personnel-data-card,.app-frame[data-personnel-table-contained] .personnel-grid-scroll{min-height:0}.app-frame[data-personnel-table-contained] .personnel-data-card,.app-frame[data-personnel-table-contained] .personnel-grid-scroll{flex:auto;max-height:none}.attendance-header{align-items:center;gap:.45rem;min-width:0;margin-bottom:.7rem;display:flex}.attendance-header__identity{flex:auto;gap:.45rem;min-width:0}.attendance-header__identity .back-link{width:42px;height:42px}.attendance-header__copy{align-content:center;min-width:0;display:grid}.attendance-header__copy p{text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;line-height:1.1;overflow:hidden}.attendance-header__copy h1{text-overflow:ellipsis;white-space:nowrap;margin-block:0;font-size:clamp(.78rem,3.4vw,1rem);line-height:1.2;overflow:hidden}.attendance-header__copy code{text-overflow:ellipsis;white-space:nowrap;margin-top:.08rem;font-size:.57rem;line-height:1.15;overflow:hidden}.attendance-header__actions{flex-wrap:nowrap;flex:none;justify-content:flex-end;gap:.25rem;width:auto}.attendance-sync-label,.attendance-options-label,.attendance-save-label{display:none}.attendance-sync-badge,.attendance-options-trigger,.attendance-save-button{flex:0 0 42px;justify-content:center;width:42px;min-width:42px;min-height:42px;padding:0}.attendance-save-button[aria-busy=true]>svg{display:none}.attendance-toolbar{grid-template-columns:minmax(0,1fr) repeat(4,42px);align-items:center;gap:.35rem;padding:.65rem;display:grid}.attendance-toolbar .search-box{grid-column:auto;width:auto;min-width:0;padding-inline:.55rem}.attendance-toolbar>.filter-menu,.attendance-toolbar>.group-menu{width:42px;min-width:42px;height:42px;display:block}.attendance-toolbar>.filter-menu>:is(.compact-popover__trigger,.responsive-filter-surface__trigger),.attendance-toolbar>.group-menu>:is(.compact-popover__trigger,.responsive-filter-surface__trigger){justify-content:center;width:42px;min-width:42px;height:42px;min-height:42px;padding:0;position:relative}.attendance-toolbar>.filter-menu>:is(.compact-popover__trigger,.responsive-filter-surface__trigger)>svg,.attendance-toolbar>.group-menu>:is(.compact-popover__trigger,.responsive-filter-surface__trigger)>svg{width:18px;height:18px}.attendance-toolbar__control-label,.attendance-toolbar>.filter-menu>:is(.compact-popover__trigger,.responsive-filter-surface__trigger) .ui-badge,.attendance-toolbar>.group-menu>:is(.compact-popover__trigger,.responsive-filter-surface__trigger) .ui-badge,.attendance-count-label--desktop,.attendance-roster-count{display:none}.attendance-toolbar>.filter-menu>:is(.compact-popover__trigger,.responsive-filter-surface__trigger).active:after,.attendance-toolbar>.group-menu>:is(.compact-popover__trigger,.responsive-filter-surface__trigger).active:after{top:6px;border:1px solid var(--card);background:var(--primary);content:"";border-radius:50%;width:6px;height:6px;position:absolute;inset-inline-end:6px}.attendance-toolbar .count-switch{border:1px solid color-mix(in oklab, var(--border) 90%, var(--primary));border-radius:var(--radius);background:color-mix(in oklab, var(--muted) 86%, var(--card));grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;height:42px;padding:3px}.attendance-count-label--mobile{display:inline}.app-frame[data-scroll-contained] .attendance-layout{display:block}.app-frame[data-scroll-contained] .attendance-table-scroll{padding-bottom:0}.mobile-selected__identity{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;min-width:0;display:grid}.mobile-selected__name{min-width:0;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;justify-items:start;padding:0;display:grid}.mobile-selected__name:disabled{cursor:default}.mobile-selected__name strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.76rem;overflow:hidden}.mobile-selected__name code{max-width:100%;color:var(--primary);text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;font-size:.65rem;overflow:hidden}.mobile-selected__name:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:.35rem}.mobile-status-actions{direction:ltr;grid-template-columns:repeat(3,44px);align-items:center;gap:.25rem;display:grid}.mobile-status-button,.mobile-status-more{border:1px solid var(--border);background:var(--card);width:44px;min-width:44px;height:44px;min-height:44px;font:inherit;cursor:pointer;border-radius:999px;place-items:center;padding:0;transition:border-color .12s,background-color .12s,color .12s,box-shadow .12s,transform .12s;display:grid}.mobile-status-actions>.compact-popover{width:44px;height:44px;display:block}.mobile-status-button>svg,.mobile-status-more>svg{stroke-width:2.4px;width:20px;height:20px}.mobile-status-button--present{--mobile-status-tone:var(--status-present)}.mobile-status-button--absent{--mobile-status-tone:#c74b43}@supports (color:lab(0% 0 0)){.mobile-status-button--absent{--mobile-status-tone:lab(49.7282% 49.9354 32.1916)}}.mobile-status-button--present,.mobile-status-button--absent{border-color:color-mix(in oklab, var(--mobile-status-tone) 34%, var(--border));background:color-mix(in oklab, var(--mobile-status-tone) 10%, var(--card));color:var(--mobile-status-tone)}.mobile-status-button--active.mobile-status-button--present,.mobile-status-button--active.mobile-status-button--absent{border-color:var(--mobile-status-tone);background:var(--mobile-status-tone);color:#fff;box-shadow:0 3px 10px color-mix(in oklab, var(--mobile-status-tone) 24%, transparent)}.mobile-status-button:focus-visible,.mobile-status-more:focus-visible{outline:3px solid color-mix(in oklab, var(--ring) 28%, transparent);outline-offset:2px}.mobile-status-button:active:not(:disabled),.mobile-status-more:active:not(:disabled){transform:scale(.96)}.mobile-status-button:disabled,.mobile-status-more:disabled{cursor:not-allowed;filter:saturate(.4);opacity:.48}.mobile-status-more{color:var(--foreground)}.mobile-status-more--active,.mobile-status-more[aria-expanded=true]{border-color:color-mix(in oklab, var(--primary) 42%, var(--border));background:color-mix(in oklab, var(--primary) 7%, var(--card));color:var(--primary)}.mobile-status-overflow{gap:.3rem;width:min(260px,100vw - 1.5rem);padding:.35rem;display:grid}.mobile-status-overflow__item{width:100%;min-height:52px;color:var(--foreground);text-align:start;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.65rem;align-items:center;gap:.6rem;padding:0 .75rem;font-size:.76rem;font-weight:700;display:flex}.mobile-status-overflow__item:hover,.mobile-status-overflow__item:focus-visible{border-color:var(--border);background:var(--muted);outline:0}.mobile-status-overflow__item--active{border-color:color-mix(in oklab, var(--primary) 38%, var(--border));background:color-mix(in oklab, var(--primary) 7%, var(--card))}.mobile-status-overflow__item>svg{flex:none;width:18px;height:18px}}@media (prefers-reduced-motion:reduce){.count-switch:before,.count-switch button,.mobile-status-button,.mobile-status-more{transition:none}.mobile-marking-bar__motion{will-change:auto}}.data-table.data-table--resizable{table-layout:fixed}.data-table.data-table--resizable th:not(.table-column--fixed),.data-table.data-table--resizable td:not(.table-column--fixed){width:auto;min-width:0;max-width:none}.data-table.data-table--resizable th{position:sticky}.table-column-resizer{z-index:12;top:0;bottom:0;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;width:12px;display:block;position:absolute;inset-inline-end:0}.table-column-resizer:after{top:8px;bottom:8px;content:"";background:0 0;border-radius:999px;width:2px;transition:background .12s,box-shadow .12s;position:absolute;inset-inline-start:10px}.table-column-resizer:hover:after,.table-column-resizer:focus-visible:after,.table-column-resizer:active:after{background:var(--primary);box-shadow:0 0 0 2px color-mix(in oklab, var(--primary) 12%, transparent)}.table-column-resizer:focus-visible{outline:0}.attendance-page-tabs{border-bottom:1px solid var(--border);gap:.25rem;margin:-.15rem 0 1rem;display:flex}.attendance-page-tabs button{min-height:46px;color:var(--muted-foreground);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 1rem;font-size:.8rem;font-weight:700;display:inline-flex;position:relative}.attendance-page-tabs button:after{content:"";background:0 0;border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:.75rem;right:.75rem}.attendance-page-tabs button:hover{color:var(--foreground)}.attendance-page-tabs button[aria-selected=true]{color:var(--primary)}.attendance-page-tabs button[aria-selected=true]:after{background:var(--primary)}.attendance-page-tabs button:focus-visible{outline:2px solid color-mix(in oklab, var(--primary) 55%, transparent);outline-offset:-3px;border-radius:.45rem}.attendance-summary-panel{gap:1rem;min-width:0;display:grid;container:attendance-summary/inline-size}.attendance-summary-controls{gap:1rem;min-width:0;padding:1rem;display:grid}.attendance-summary-controls__intro{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.attendance-summary-controls__intro>div{min-width:0}.attendance-summary-controls__intro h2{margin:0;font-size:1rem}.attendance-summary-controls__intro p{max-width:760px;color:var(--muted-foreground);margin:.3rem 0 0;font-size:.75rem;line-height:1.5}.attendance-summary-controls .toolbar-menu-trigger{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);height:42px;min-height:42px;color:var(--foreground);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.45rem;padding:0 .8rem;font-size:.8rem;font-weight:650;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.attendance-summary-controls .toolbar-menu-trigger:hover,.attendance-summary-controls .toolbar-menu-trigger:focus-visible,.attendance-summary-controls .toolbar-menu-trigger[aria-expanded=true]{border-color:color-mix(in oklab, var(--primary) 34%, var(--border));background:color-mix(in oklab, var(--primary) 5%, var(--card));color:var(--primary);outline:0}.attendance-summary-controls .toolbar-menu-trigger.active{border-color:color-mix(in oklab, var(--primary) 38%, var(--border));color:var(--primary)}.attendance-summary-controls .toolbar-menu-trigger>svg{flex:none;width:16px;height:16px}.attendance-summary-controls__form{grid-template-columns:max-content max-content minmax(180px,1fr) max-content;align-items:end;gap:.75rem;width:100%;min-width:0;display:grid}.attendance-summary-controls__form>*{min-width:0}.attendance-summary-control-field{align-content:end;gap:.4rem;min-width:0;display:grid}.attendance-summary-control-field>.ui-label{margin:0}.attendance-summary-controls__month{width:180px}.attendance-summary-controls__fields{width:180px;min-width:0}.attendance-summary-controls__search{width:100%;min-width:0}.attendance-summary-controls__actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.45rem;min-width:0;max-width:100%;display:flex}.attendance-summary-controls__actions>:is(.compact-popover,.responsive-filter-surface){flex:none;display:inline-flex}.attendance-summary-controls__actions :is(.toolbar-menu-trigger,.ui-button),.attendance-summary-controls__generate{height:42px;min-height:42px}.attendance-summary-controls__generate,.attendance-summary-controls__export{min-width:128px}.attendance-summary-controls__export.ui-button--outline{border-color:color-mix(in oklab, var(--status-present) 26%, var(--border));background:color-mix(in oklab, var(--status-present) 8%, var(--card));color:color-mix(in oklab, var(--status-present) 70%, var(--foreground));box-shadow:0 3px 10px color-mix(in oklab, var(--status-present) 7%, transparent)}.attendance-summary-controls__export.ui-button--outline:hover:not(:disabled),.attendance-summary-controls__export.ui-button--outline:focus-visible{border-color:color-mix(in oklab, var(--status-present) 38%, var(--border));background:color-mix(in oklab, var(--status-present) 12%, var(--card));color:color-mix(in oklab, var(--status-present) 78%, var(--foreground));box-shadow:0 0 0 3px color-mix(in oklab, var(--status-present) 10%, transparent);outline:0}.attendance-summary-action-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attendance-summary-fields-trigger{border:1px solid var(--input);border-radius:var(--radius);background:var(--card);width:100%;height:42px;min-height:42px;color:var(--foreground);font:inherit;text-align:start;cursor:pointer;justify-content:space-between;align-items:center;gap:.55rem;padding:0 .75rem;font-size:.8rem;display:flex}.attendance-summary-fields-trigger:hover,.attendance-summary-fields-trigger:focus-visible,.attendance-summary-fields-trigger[aria-expanded=true]{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 15%, transparent);outline:0}.attendance-summary-fields-trigger>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.attendance-summary-fields-trigger>svg{width:16px;height:16px;color:var(--muted-foreground);flex:none}.attendance-summary-fields-panel{overscroll-behavior:contain;width:min(520px,100vw - 1rem);padding:0;overflow:auto}.attendance-summary-fields-panel>div,.attendance-summary-fields-panel .attendance-print-field-list{max-height:none;overflow:visible}.attendance-summary-field-row--locked .field-drag-handle{cursor:not-allowed;opacity:.32}.attendance-summary-field-row--locked .field-drag-handle:hover{color:color-mix(in oklab, var(--muted-foreground) 60%, white);background:0 0}.attendance-summary-filter-panel{width:min(390px,100vw - 1rem);padding:0}.attendance-summary-global-filter-panel{padding:.8rem}.attendance-summary-draft-notice{border:1px solid color-mix(in oklab, var(--status-annual-leave) 36%, var(--border));background:color-mix(in oklab, var(--status-annual-leave) 8%, var(--card));color:color-mix(in oklab, var(--status-annual-leave) 68%, var(--foreground));border-radius:.65rem;align-items:flex-start;gap:.5rem;padding:.6rem .7rem;font-size:.7rem;line-height:1.45;display:flex}.attendance-summary-draft-notice>svg{flex:none;width:16px;height:16px}.attendance-summary-presets-panel{z-index:410}.attendance-summary-group-panel{width:min(360px,100vw - 1rem)}.attendance-summary-group-panel .group-menu__actions button:disabled{opacity:.45;cursor:not-allowed}.attendance-summary-loading{gap:.4rem;padding:1rem;display:grid}.attendance-summary-table-card{min-width:0;overflow:hidden}.attendance-summary-table-card>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;min-height:54px;padding:.65rem 1rem;display:flex}.attendance-summary-table-card>header>div{gap:.15rem;display:grid}.attendance-summary-table-card>header strong{text-transform:capitalize;font-size:.84rem}.attendance-summary-table-card>header span{color:var(--muted-foreground);font-size:.67rem}.attendance-summary-grid-scroll{overscroll-behavior:contain;scrollbar-width:thin;direction:ltr;min-height:280px;max-height:min(62dvh,650px);overflow:auto}.attendance-summary-grid{--attendance-summary-selector-width:24px;--attendance-summary-photo-width:52px;--attendance-summary-id-width:108px;--attendance-summary-total-width:112px;--attendance-summary-holiday-surface:color-mix(in oklab, #2f80ed 9%, var(--card));border-collapse:separate;border-spacing:0;table-layout:fixed;direction:ltr;width:max-content;min-width:100%;font-size:.71rem}.attendance-summary-grid th,.attendance-summary-grid td{box-sizing:border-box;background:var(--card);height:44px;box-shadow:inset -1px -1px 0 var(--border);text-align:start;border:0;padding:.35rem .55rem}.attendance-summary-grid tbody tr:not(.attendance-summary-group-row)>td{text-overflow:ellipsis;white-space:nowrap;max-height:44px;overflow:hidden}.attendance-summary-grid th{z-index:4;background:color-mix(in oklab, var(--secondary) 72%, var(--card));height:44px;color:var(--muted-foreground);letter-spacing:.015em;padding-block:0;font-size:.65rem;font-weight:750;position:sticky;top:0}.attendance-summary-grid th.attendance-summary-grid__selector,.attendance-summary-grid td.attendance-summary-grid__selector{z-index:6;width:var(--attendance-summary-selector-width);min-width:var(--attendance-summary-selector-width);max-width:var(--attendance-summary-selector-width);text-align:center;padding:0;position:sticky;inset-inline-start:0}.attendance-summary-grid th.attendance-summary-grid__selector{z-index:9}.attendance-summary-row-selector{border:0;border-inline-end:1px solid color-mix(in oklab, var(--border) 80%, transparent);background:color-mix(in oklab, var(--secondary) 42%, var(--card));width:24px;height:44px;color:color-mix(in oklab, var(--muted-foreground) 76%, var(--foreground));cursor:pointer;place-items:center;padding:0;display:grid}.attendance-summary-row-selector>svg{width:13px;height:22px}.attendance-summary-row-selector:hover,.attendance-summary-row-selector:focus-visible{background:color-mix(in oklab, var(--primary) 9%, var(--card));color:var(--primary);outline:0}.attendance-summary-grid th.attendance-summary-grid__photo,.attendance-summary-grid td.attendance-summary-grid__photo{z-index:5;width:var(--attendance-summary-photo-width);min-width:var(--attendance-summary-photo-width);max-width:var(--attendance-summary-photo-width);text-align:center;padding:0;position:sticky;inset-inline-start:var(--attendance-summary-selector-width)}.attendance-summary-grid th.attendance-summary-grid__photo{z-index:8}.attendance-summary-grid th.attendance-summary-grid__identity,.attendance-summary-grid td.attendance-summary-grid__identity{z-index:5;width:var(--attendance-summary-id-width);min-width:var(--attendance-summary-id-width);max-width:var(--attendance-summary-id-width);font-family:Geist Mono,monospace;font-weight:700;position:sticky;inset-inline-start:calc(var(--attendance-summary-selector-width) + var(--attendance-summary-photo-width))}.attendance-summary-grid th.attendance-summary-grid__identity{z-index:8}.attendance-summary-grid .column-header-shell{min-width:0;min-height:40px}.attendance-summary-grid .column-header-button{min-width:0;padding-inline:.1rem}.attendance-summary-grid .column-filter-trigger{opacity:0;pointer-events:none}.attendance-summary-grid .column-header-shell:focus-within .column-filter-trigger,.attendance-summary-grid .column-filter-trigger:is(.active,[aria-expanded=true]){opacity:1;pointer-events:auto}@media (hover:hover) and (pointer:fine){.attendance-summary-grid .column-header-shell:hover .column-filter-trigger{opacity:.72;pointer-events:auto}.attendance-summary-grid .column-header-shell:hover .column-filter-trigger:is(:hover,.active,[aria-expanded=true]){opacity:1}}.attendance-summary-grid__day{width:44px;min-width:44px;max-width:44px;text-align:center!important;padding:0!important}.attendance-summary-grid th.attendance-summary-grid__day .column-header-shell,.attendance-summary-grid th.attendance-summary-grid__day .column-header-button{justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;position:relative}.attendance-summary-grid th.attendance-summary-grid__day .column-header-button>svg{top:2px;width:9px;height:9px;position:absolute;inset-inline-end:2px}.attendance-summary-day-heading{text-align:center;align-content:center;justify-items:center;gap:1px;width:100%;min-width:0;height:38px;line-height:1;text-overflow:clip!important;white-space:normal!important;display:grid!important;overflow:visible!important}.attendance-summary-day-heading>strong{color:currentColor;font-size:.68rem;font-weight:800}.attendance-summary-day-heading>small{max-width:40px;color:color-mix(in oklab, currentColor 76%, var(--muted-foreground));letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-size:.52rem;font-weight:650;line-height:1.05;display:block;overflow:hidden}.attendance-summary-grid th.is-holiday,.attendance-summary-grid td.is-holiday{background:var(--attendance-summary-holiday-surface)}.attendance-summary-grid th.is-holiday{color:color-mix(in oklab, #2563eb 82%, var(--foreground))}.attendance-summary-day-cell{box-sizing:border-box;width:44px;min-width:44px;height:44px;min-height:44px;color:var(--muted-foreground);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;place-items:center;margin:0;padding:0;font-weight:750;display:grid}.attendance-summary-day-cell:hover,.attendance-summary-day-cell:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--primary) 20%, transparent);outline:0}.attendance-summary-day-value{box-sizing:border-box;border:1px solid #0000;border-radius:50%;place-items:center;width:30px;height:30px;display:inline-grid}.attendance-summary-day-cell.is-zero .attendance-summary-day-value{border-color:color-mix(in oklab, #b42318 24%, var(--border));background:color-mix(in oklab, #f04438 11%, var(--card));color:#b42318}.attendance-summary-day-cell.is-half .attendance-summary-day-value{border-color:color-mix(in oklab, #b7791f 25%, var(--border));background:color-mix(in oklab, #f6c344 15%, var(--card));color:#9a6700}.attendance-summary-day-cell.is-one .attendance-summary-day-value{border-color:color-mix(in oklab, #16803c 24%, var(--border));background:color-mix(in oklab, #32b768 11%, var(--card));color:#147a38}.attendance-summary-day-cell.is-holiday{color:color-mix(in oklab, #2563eb 68%, var(--muted-foreground))}.attendance-summary-day-cell.is-holiday.is-one .attendance-summary-day-value{border-color:color-mix(in oklab, #2563eb 30%, var(--border));background:color-mix(in oklab, #3b82f6 15%, var(--card));color:#1d4ed8}.attendance-summary-day-cell.is-holiday.is-overtime .attendance-summary-day-value{border-color:color-mix(in oklab, #16803c 26%, var(--border));background:color-mix(in oklab, #32b768 13%, var(--card));color:#147a38}.attendance-summary-day-cell.is-holiday.is-holiday-absence-block .attendance-summary-day-value{border-color:color-mix(in oklab, #b42318 26%, var(--border));background:color-mix(in oklab, #f04438 12%, var(--card));color:#b42318}.attendance-summary-day-cell.is-holiday.is-outside-roster-span{color:var(--muted-foreground)}.attendance-summary-day-incomplete{border:1px solid color-mix(in oklab, #b7791f 25%, var(--border));background:color-mix(in oklab, #f6c344 13%, var(--card));color:#9a6700;border-radius:999px;place-items:center;min-height:28px;padding:0 .22rem;font-size:.56rem;line-height:1.05;display:inline-grid}.attendance-summary-grid th.attendance-summary-grid__total,.attendance-summary-grid td.attendance-summary-grid__total{width:var(--attendance-summary-total-width);min-width:var(--attendance-summary-total-width);max-width:var(--attendance-summary-total-width);background:color-mix(in oklab, var(--secondary) 74%, var(--card));text-align:center;border-inline-end:0;font-weight:800}.attendance-summary-grid th.attendance-summary-grid__total{z-index:4;position:sticky;top:0}.attendance-summary-grid td.attendance-summary-grid__total{position:static}.attendance-summary-photo-button,.attendance-summary-photo-placeholder{border:1px solid var(--border);background:var(--muted);width:34px;height:34px;color:var(--muted-foreground);vertical-align:middle;border-radius:50%;place-items:center;padding:2px;display:inline-grid;overflow:hidden}.attendance-summary-photo-button{cursor:zoom-in}.attendance-summary-photo-button:hover,.attendance-summary-photo-button:focus-visible{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in oklab, var(--primary) 13%, transparent);outline:0}.attendance-summary-photo-button img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.attendance-summary-photo-placeholder>svg{width:16px;height:16px}.attendance-summary-id-button{width:100%;color:var(--primary);font:inherit;text-align:start;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;font-weight:750;display:block;overflow:hidden}.attendance-summary-id-button:hover,.attendance-summary-id-button:focus-visible{text-underline-offset:3px;outline:0;text-decoration:underline}.attendance-summary-group-row{height:44px}.attendance-summary-grid .attendance-summary-group-row>td,.attendance-summary-grid td.attendance-summary-group-row__cell{z-index:3;background:color-mix(in oklab, var(--primary) 8%, var(--card));width:auto;min-width:0;max-width:none;height:44px;box-shadow:inset 0 1px 0 color-mix(in oklab, var(--primary) 18%, var(--border)), inset 0 -1px 0 color-mix(in oklab, var(--primary) 18%, var(--border));color:var(--primary-strong);border:0;position:relative;overflow:visible;padding:0!important}.attendance-summary-group-row__toggle{width:100%;min-width:100%;height:44px;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;padding:0;display:block}.attendance-summary-group-row__toggle:focus-visible{outline:2px solid color-mix(in oklab, var(--primary) 55%, transparent);outline-offset:-3px}.attendance-summary-group-row__content{width:max-content;max-width:calc(100vw - var(--attendance-summary-selector-width) - var(--attendance-summary-photo-width) - var(--attendance-summary-id-width) - 2rem);height:44px;min-height:44px;padding-inline:calc(.75rem + var(--summary-group-indent,0rem)) 1rem;pointer-events:none;align-items:center;gap:.5rem;display:flex;position:sticky;inset-inline-start:calc(var(--attendance-summary-selector-width) + var(--attendance-summary-photo-width) + var(--attendance-summary-id-width))}.attendance-summary-group-row__content>svg{flex:none;width:16px;height:16px}.attendance-summary-group-row__content>:is(strong,span:not(.ui-badge)){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attendance-summary-group-row__count{color:var(--muted-foreground);flex:none;font-size:.68rem;font-weight:650}html[dir=rtl] .attendance-summary-group-row__content>svg{transform:scaleX(-1)}.attendance-summary-person-detail{min-width:0}.attendance-summary-tooltip{z-index:980;border:1px solid color-mix(in oklab, var(--primary) 18%, var(--border));background:color-mix(in oklab, var(--card) 96%, var(--secondary));width:max-content;min-width:205px;max-width:min(280px,100vw - 24px);color:var(--foreground);pointer-events:none;border-radius:.75rem;padding:.7rem .75rem;position:fixed;transform:translate(-50%);box-shadow:0 16px 42px #0f172a2e}.attendance-summary-tooltip--above{transform:translate(-50%,-100%)}.attendance-summary-tooltip>strong{text-transform:capitalize;margin-bottom:.55rem;font-size:.72rem;display:block}.attendance-summary-tooltip__holiday{color:var(--primary);margin:-.2rem 0 .55rem;font-size:.66rem;font-weight:720;display:block}.attendance-summary-tooltip dl{gap:.35rem;margin:0;display:grid}.attendance-summary-tooltip dl>div{grid-template-columns:minmax(72px,auto) 1fr;gap:.75rem;display:grid}.attendance-summary-tooltip dt,.attendance-summary-tooltip dd{margin:0;font-size:.68rem}.attendance-summary-tooltip dt{color:var(--muted-foreground)}.attendance-summary-tooltip dd{text-align:end;font-weight:720}.attendance-summary-grid-scroll--selectable tbody td[data-summary-grid-cell=true]{cursor:cell;-webkit-user-select:none;user-select:none}.attendance-summary-grid-scroll--selectable:focus-visible{outline:2px solid color-mix(in oklab, var(--primary) 45%, transparent);outline-offset:-2px}.attendance-summary-grid td.is-grid-selected{position:relative}.attendance-summary-grid :is(th,td).is-grid-selected{--grid-selection-top:0px;--grid-selection-right:0px;--grid-selection-bottom:0px;--grid-selection-left:0px}.attendance-summary-grid td.attendance-summary-grid__identity.is-grid-selected{position:sticky}.attendance-summary-grid :is(th,td).is-grid-selected:after{z-index:3;box-sizing:border-box;border-style:solid;border-color:color-mix(in oklab, var(--primary) 78%, transparent);border-width:var(--grid-selection-top) var(--grid-selection-right) var(--grid-selection-bottom) var(--grid-selection-left);background:color-mix(in oklab, var(--primary) 9%, transparent);content:"";pointer-events:none;position:absolute;inset:0}.attendance-summary-grid :is(th,td).is-grid-selection-top{--grid-selection-top:2px}.attendance-summary-grid :is(th,td).is-grid-selection-right{--grid-selection-right:2px}.attendance-summary-grid :is(th,td).is-grid-selection-bottom{--grid-selection-bottom:2px}.attendance-summary-grid :is(th,td).is-grid-selection-left{--grid-selection-left:2px}.settings-non-working-days{border-top:1px solid var(--border);grid-column:1/-1;gap:.65rem;padding-top:.9rem;display:grid}.settings-non-working-days__header{gap:.2rem;display:grid}.settings-non-working-days__header .ui-label{align-items:center;gap:.4rem;font-size:.78rem;display:flex}.settings-non-working-days__header .ui-label svg{width:15px;height:15px;color:var(--primary)}.settings-non-working-days__header small{color:var(--muted-foreground);font-size:.67rem;line-height:1.45}.settings-non-working-days__options{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;display:grid}.settings-non-working-days__option{border:1px solid var(--border);background:var(--card);min-height:44px;color:var(--muted-foreground);font:inherit;cursor:pointer;border-radius:.65rem;place-items:center;padding:.35rem .45rem;font-size:.72rem;font-weight:700;display:grid}.settings-non-working-days__option:hover{border-color:color-mix(in oklab, var(--primary) 30%, var(--border));color:var(--foreground)}.settings-non-working-days__option[data-selected=true]{border-color:color-mix(in oklab, var(--primary) 55%, var(--border));background:color-mix(in oklab, var(--primary) 10%, var(--card));color:var(--primary)}.settings-non-working-days__option:focus-visible{outline:2px solid color-mix(in oklab, var(--primary) 55%, transparent);outline-offset:2px}.settings-non-working-days__option:disabled{opacity:.55;cursor:not-allowed}@container attendance-summary (max-width:1280px){.attendance-summary-controls__form{grid-template-columns:max-content max-content minmax(120px,1fr) max-content;gap:.65rem}.attendance-summary-controls__actions{flex-wrap:nowrap;grid-column:auto}.attendance-summary-controls__actions>:is(.compact-popover,.responsive-filter-surface),.attendance-summary-controls__actions>.ui-button:not(.attendance-summary-controls__generate){width:42px;min-width:42px}.attendance-summary-controls__actions .toolbar-menu-trigger,.attendance-summary-controls__export{width:42px;min-width:42px;padding-inline:0;position:relative}.attendance-summary-action-label,.attendance-summary-export-label,.attendance-summary-controls__actions .toolbar-menu-trigger .ui-badge{display:none}.attendance-summary-controls__actions .toolbar-menu-trigger.active:after{top:7px;border:1px solid var(--card);background:var(--primary);content:"";border-radius:50%;width:6px;height:6px;position:absolute;inset-inline-end:7px}}@media (min-width:901px){@container attendance-summary (max-width:900px){.attendance-summary-controls__form{grid-template-columns:132px 140px minmax(80px,1fr) max-content;gap:.5rem}.attendance-summary-controls__month,.attendance-summary-controls__fields{width:100%}.attendance-summary-controls__actions{gap:.3rem}.attendance-summary-controls__generate{min-width:104px;padding-inline:.65rem}}@container attendance-summary (max-width:700px){.attendance-summary-controls__form{grid-template-columns:96px 104px minmax(48px,1fr) max-content;gap:.35rem}.attendance-summary-controls__actions{gap:.2rem}.attendance-summary-controls__generate{min-width:92px;padding-inline:.5rem}}}@media (max-width:900px){.attendance-records-panel>.attendance-metrics{display:none}.attendance-summary-controls__form{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.attendance-summary-controls__month,.attendance-summary-controls__fields{width:100%}.attendance-summary-controls__search{grid-column:1/-1}.attendance-summary-controls__actions{grid-column:1/-1;justify-content:flex-end}.attendance-summary-global-filter-panel{padding:1rem}.attendance-summary-grid-scroll{max-height:min(58dvh,600px)}.attendance-summary-grid{--attendance-summary-selector-width:0px}.attendance-summary-grid :is(col,th,td).attendance-summary-grid__selector{display:none}}@media (max-width:720px){.attendance-summary-table-card>header{align-items:flex-start}.attendance-summary-table-card>header>span{display:none}.attendance-summary-grid-scroll{min-height:250px;max-height:56dvh}.attendance-summary-grid__day{width:44px;min-width:44px;max-width:44px}.attendance-page-tabs button{flex:1;justify-content:center}.settings-non-working-days__options{grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}}@media (max-width:620px){.attendance-summary-controls{gap:.85rem;padding:.8rem}.attendance-summary-controls__intro{display:grid}.attendance-summary-controls__form{grid-template-columns:minmax(0,1fr)}.attendance-summary-controls__search{grid-column:auto}.attendance-summary-controls__actions{grid-column:auto;grid-template-columns:repeat(4,42px) minmax(0,1fr);justify-content:stretch;gap:.4rem;width:100%;display:grid}.attendance-summary-controls__actions>:is(.compact-popover,.responsive-filter-surface){width:42px;min-width:42px}.attendance-summary-controls__actions .toolbar-menu-trigger{width:42px;min-width:42px;padding:0;position:relative}.attendance-summary-controls__actions .toolbar-menu-trigger.active:after{top:7px;border:1px solid var(--card);background:var(--primary);content:"";border-radius:50%;width:6px;height:6px;position:absolute;inset-inline-end:7px}.attendance-summary-action-label,.attendance-summary-controls__actions .toolbar-menu-trigger .ui-badge{display:none}.attendance-summary-controls__generate{justify-self:stretch;width:100%;min-width:0}.attendance-summary-controls__export{width:42px;min-width:42px;padding:0}.attendance-summary-export-label{display:none}}@media (hover:none),(pointer:coarse){.attendance-summary-grid .column-filter-trigger:not(.active):not([aria-expanded=true]){visibility:hidden;opacity:0;pointer-events:none}.attendance-summary-grid .column-filter-trigger:is(.active,[aria-expanded=true]){visibility:visible;opacity:1;pointer-events:auto}.attendance-summary-grid .column-header-shell:has(.column-filter-trigger) .column-header-button{padding-inline-end:0}.attendance-summary-grid .column-header-shell:has(.column-filter-trigger.active,.column-filter-trigger[aria-expanded=true]) .column-header-button{padding-inline-end:24px}}
