:root{--ink: #263448;--muted: #687487;--canvas: #f6f7f9;--workspace-canvas: #f2f4f7;--surface: #ffffff;--surface-subtle: #f8f9fb;--sidebar: #ffffff;--line: #e3e7ec;--line-strong: #c8d0da;--primary: #526b8f;--primary-hover: #435a7c;--primary-soft: #edf1f6;--primary-border: #b8c4d4;--success: #47745f;--success-soft: #edf5f0;--success-border: #bfd6c8;--pending: #8a6b39;--pending-soft: #f7f3e9;--pending-border: #d8caa9;--danger: #9a514b;--danger-soft: #f8efee;--danger-border: #dfc2bf;--neutral-hover: #eef1f4;--focus-ring: rgb(82 107 143 / 24%);--overlay: rgb(38 52 72 / 34%);--shadow-modal: 0 18px 44px rgb(38 52 72 / 16%);--shadow-menu: 0 8px 20px rgb(38 52 72 / 12%);--shadow-surface: 0 1px 2px rgb(16 24 40 / 3%);--radius-control: 10px;--radius-button: 999px;--radius-modal: 16px;--radius-surface: 12px;--radius-frame: 12px;--font-size-display: 24px;--font-size-title: 20px;--font-size-section-title: 18px;--font-size-body: 14px;--font-size-subtitle: 12px;--font-size-helper: 10px;--font-size-button: 12px;--font-size-control-desktop: 14px;--font-size-control-mobile: 16px;--font-size-icon-small: 16px;--font-size-icon: 20px;--admin-action-icon-size: 18px;--admin-action-icon-stroke: 1.9;--brand-logo-size: 32px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--button-height: 40px;--icon-button-size: 40px;--icon-button-touch-size: 44px;--button-padding-inline: 16px;--modal-padding: 20px;--modal-header-gap: 12px;--modal-content-gap: 16px;--table-header-font-size: 12px;--table-cell-font-size: 14px;--table-cell-padding-block: 12px;--table-cell-padding-inline: 16px;--table-compact-cell-padding-block: 10px;--table-compact-cell-padding-inline: 12px;--page-gutter: 32px;--sidebar-width: 224px;--subadmin-sidebar-width: 248px;--workspace-max-width: 1072px;--email-settings-max-width: 1128px;--timekeeping-app-max-width: 768px;--timekeeping-header-height: 68px;--timekeeping-footer-height: 72px;--timekeeping-page-gutter: 20px;--attendance-history-pagination-height: 60px;--face-camera-surface: #050a13;--face-camera-glow: #9aafd0;--face-camera-target: #77b294;--face-camera-target-soft: rgb(119 178 148 / 20%);--face-camera-progress: #58d685;--face-camera-control-surface: rgb(23 32 51 / 76%);--face-camera-control-border: rgb(255 255 255 / 24%);--face-camera-selector-surface: #172033;--face-camera-selector-line: rgb(255 255 255 / 12%);--face-camera-selector-muted: #aeb8c8;--face-camera-warning: #f0cb76;--face-camera-warning-surface: rgb(42 36 23 / 88%);--empty-state-min-height: 176px;--control-height: 42px;--subadmin-tab-height: 42px;--subadmin-dense-action-height: 38px;--subadmin-page-header-padding-block: 16px;--subadmin-page-header-padding-inline: 18px;--subadmin-panel-header-padding-block: 14px;--subadmin-panel-header-padding-inline: 18px;--user-list-toolbar-height: 72px;--user-list-header-height: 52px;--user-list-footer-height: 64px;--user-list-row-height: 72px;--user-list-search-width: 408px;--project-table-min-width: 1040px;--project-table-action-gap: 8px;--attendance-report-filter-padding: 16px;--attendance-report-cell-padding-block: 10px;--attendance-report-cell-padding-inline: 12px;--attendance-report-header-row-height: 36px;--work-request-management-header-height: 64px;--work-request-management-footer-height: 58px;--work-request-management-drawer-width: 360px;--work-request-management-drawer-compact-width: 330px;--work-request-management-row-height: 72px;--work-request-management-table-min-width: 980px;--table-sticky-action-min-width: 120px;--table-sticky-action-shadow: -1px 0 0 var(--line), -10px 0 16px rgb(16 24 40 / 5%);--transition-fast: .16s ease-out;--app-viewport-height: 100dvh;--workspace-padding-block-start: 32px;--workspace-padding-block-end: 48px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app{height:100%}body{min-width:320px;min-height:100%;margin:0;overflow:hidden;font-size:var(--font-size-body)}body.face-capture-body-active{overflow:hidden;overscroll-behavior:none;background:var(--face-camera-surface)}body.timekeeping-overlay-body-active{overflow:hidden;overscroll-behavior:none}button,input,textarea,select{font-family:inherit;font-weight:inherit;line-height:inherit}input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:var(--font-size-control-desktop)}button{cursor:pointer;font-size:var(--font-size-button)}button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-page{display:grid;height:var(--app-viewport-height);min-height:0;padding:32px;overflow-y:auto;overscroll-behavior-y:contain;place-items:center;background:var(--canvas)}.login-panel{width:min(100%,424px);padding:40px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-surface)}.login-locale-switch{display:grid;position:fixed;z-index:10;top:calc(20px + env(safe-area-inset-top));right:calc(20px + env(safe-area-inset-right));min-width:88px;min-height:34px;grid-template-columns:repeat(2,minmax(40px,1fr));gap:2px;padding:3px;background:var(--surface);border:1px solid var(--primary-border);border-radius:8px;box-shadow:var(--shadow-surface)}.login-locale-option{min-height:28px;padding:0 10px;color:var(--primary);background:transparent;border:0;border-radius:6px;font-size:var(--font-size-helper);font-weight:850;letter-spacing:.04em}.login-locale-option:hover{background:var(--primary-soft)}.login-locale-option:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.login-locale-option-active{color:var(--surface);background:var(--primary);box-shadow:0 1px 2px #10182824}.login-locale-option-active:hover{background:var(--primary-hover)}.timekeeping-login-page{display:grid;height:var(--app-viewport-height);min-height:0;padding:24px;overflow-y:auto;overscroll-behavior-y:contain;background:var(--workspace-canvas);place-items:center}.timekeeping-login-panel{width:min(100%,424px);padding:32px 28px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-surface)}.timekeeping-login-panel h1{margin:10px 0 0;color:var(--ink);font-size:var(--font-size-display);letter-spacing:-.03em;line-height:1.2}.timekeeping-shell{position:relative;width:min(100%,var(--timekeeping-app-max-width));height:var(--app-viewport-height);min-height:0;margin-inline:auto;overflow:hidden;background:var(--workspace-canvas)}.timekeeping-header{display:flex;position:fixed;z-index:5;top:0;left:50%;width:min(100%,var(--timekeeping-app-max-width));min-height:var(--timekeeping-header-height);align-items:center;justify-content:space-between;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--line);transform:translate(-50%)}.timekeeping-header-brand{display:flex;min-width:0;align-items:center;gap:var(--space-2)}.timekeeping-header-brand>div{min-width:0}.timekeeping-header-logo{width:var(--brand-logo-size);height:var(--brand-logo-size);flex:0 0 var(--brand-logo-size);object-fit:contain}.timekeeping-header-eyebrow{margin:0 0 3px;color:var(--muted);font-size:var(--font-size-helper);font-weight:700;letter-spacing:.08em;line-height:1.2}.timekeeping-header strong{color:var(--ink);font-size:var(--font-size-section-title);letter-spacing:-.02em;line-height:1.2}.timekeeping-avatar{display:grid;width:32px;height:32px;color:var(--primary);background:var(--primary-soft);border-radius:50%;font-size:var(--font-size-subtitle);font-weight:800;place-items:center}.timekeeping-main{height:100%;min-height:0;padding:calc(var(--timekeeping-header-height) + 28px) var(--timekeeping-page-gutter) calc(var(--timekeeping-footer-height) + env(safe-area-inset-bottom) + 32px);overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain}.timekeeping-page-heading>p,.timekeeping-state-label{margin:0;color:var(--muted);font-size:var(--font-size-helper);font-weight:700;letter-spacing:.08em;line-height:1.3}.timekeeping-page-heading h1{margin:8px 0 0;color:var(--ink);font-size:var(--font-size-display);letter-spacing:-.03em;line-height:1.2}.timekeeping-page-heading>span{display:block;margin-top:8px;color:var(--muted);font-size:var(--font-size-body);line-height:1.5}.timekeeping-state-panel{display:grid;gap:10px;margin-top:30px;padding:22px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-frame);box-shadow:var(--shadow-surface)}.timekeeping-state-panel h2,.timekeeping-state-panel p{margin:0}.timekeeping-state-panel h2{color:var(--ink);font-size:var(--font-size-section-title);letter-spacing:-.02em;line-height:1.3}.timekeeping-state-panel>p:not(.timekeeping-state-label){color:var(--muted);font-size:var(--font-size-body);line-height:1.55}.timekeeping-signout{width:fit-content;margin-top:6px}.timekeeping-clock-main{display:grid;align-content:start;gap:18px}.timekeeping-today{display:grid;gap:4px;padding-top:4px}.timekeeping-today p{margin:0;color:var(--muted);font-size:var(--font-size-helper);font-weight:800;letter-spacing:.09em;line-height:1.3}.timekeeping-today h1{margin:0;color:var(--ink);font-size:var(--font-size-display);font-weight:800;letter-spacing:-.04em;line-height:1}.timekeeping-today span{color:var(--muted);font-size:var(--font-size-body)}.attendance-action-card{display:grid;gap:11px;min-height:300px;align-content:center;justify-items:center;padding:28px 22px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-frame);box-shadow:var(--shadow-surface);text-align:center}.attendance-action-card h2,.attendance-action-card p{margin:0}.attendance-action-card h2{color:var(--ink);font-size:var(--font-size-display);font-weight:800;letter-spacing:-.035em;line-height:1.2}.attendance-action-card p{max-width:280px;color:var(--muted);font-size:var(--font-size-body);line-height:1.45}.attendance-action-card .attendance-location-warning{color:var(--danger);font-weight:650}.attendance-action-icon{display:grid;width:82px;height:82px;align-items:center;justify-items:center;color:var(--primary);background:var(--primary-soft);border:8px solid var(--surface-subtle);border-radius:50%;font-size:var(--font-size-display);line-height:1}.attendance-action-card-checked .attendance-action-icon{color:var(--success);background:var(--success-soft);border-color:var(--surface-subtle);font-size:var(--font-size-display)}.attendance-primary-button{min-height:56px;margin-top:12px;font-size:var(--font-size-button)}.attendance-worked-time{display:grid;width:100%;gap:6px;margin-top:10px;padding-top:16px;border-top:1px solid var(--line);text-align:left}.attendance-worked-time span{color:var(--muted);font-size:var(--font-size-helper);font-weight:800;letter-spacing:.08em}.attendance-worked-time strong{font-size:var(--font-size-display);letter-spacing:-.03em}.attendance-worked-welcome strong{font-size:var(--font-size-section-title);letter-spacing:-.015em;line-height:1.4}.attendance-latest-panel{margin-top:0}.timekeeping-clock-main-home{grid-template-areas:"today" "error" "action" "latest";grid-template-rows:auto auto minmax(min-content,1fr) auto;align-content:stretch;gap:10px;padding-top:calc(var(--timekeeping-header-height) + 16px);padding-bottom:calc(var(--timekeeping-footer-height) + env(safe-area-inset-bottom) + 16px)}.timekeeping-clock-main-home>.timekeeping-today{grid-area:today;min-width:0;padding-top:0}.timekeeping-clock-main-home>.timekeeping-error{grid-area:error;min-width:0}.timekeeping-clock-main-home>.attendance-action-card,.timekeeping-clock-main-home>.attendance-loading-panel{grid-area:action;min-width:0;min-height:280px;margin-top:0}.timekeeping-clock-main-home>.attendance-loading-panel{align-content:center;justify-items:center;text-align:center}.timekeeping-clock-main-home>.attendance-action-card{gap:8px;padding:20px}.timekeeping-clock-main-home>.attendance-action-card .attendance-action-icon{width:72px;height:72px;border-width:7px;font-size:var(--font-size-display)}.timekeeping-clock-main-home>.attendance-action-card h2{font-size:var(--font-size-title)}.timekeeping-clock-main-home>.attendance-action-card h2,.timekeeping-clock-main-home>.attendance-action-card p,.timekeeping-clock-main-home>.attendance-latest-panel h2,.timekeeping-clock-main-home>.attendance-latest-panel p{overflow-wrap:anywhere}.timekeeping-clock-main-home>.attendance-action-card .attendance-primary-button{min-height:52px;margin-top:0}.timekeeping-clock-main-home>.attendance-action-card .attendance-worked-time{gap:4px;margin-top:4px;padding-top:12px}.timekeeping-clock-main-home>.attendance-latest-panel{grid-area:latest;min-width:0;min-height:78px;gap:4px;margin-top:0;padding:14px 16px;align-content:center}.timekeeping-clock-main-home>.attendance-latest-panel h2{font-size:var(--font-size-section-title)}.timekeeping-clock-main-home>.attendance-latest-panel>p:not(.timekeeping-state-label){font-size:var(--font-size-body);line-height:1.35}.timekeeping-error{margin:0;padding:10px 12px;color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:var(--radius-control);font-size:var(--font-size-body);line-height:1.45}.attendance-result-screen{display:grid;gap:16px;padding-top:14px}.attendance-result-screen h1{margin:0;color:var(--ink);font-size:var(--font-size-display);font-weight:800;letter-spacing:-.04em;line-height:1.15}.timekeeping-clock-main-success{align-content:center;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.attendance-result-screen{min-height:0;align-content:center;text-align:center}.attendance-result-icon{display:grid;position:relative;width:120px;height:120px;align-items:center;justify-items:center;justify-self:center;color:#fff;background:var(--success);border:12px solid var(--success-soft);border-radius:50%;animation:attendance-success-core .52s cubic-bezier(.2,.8,.2,1) both}.attendance-result-icon svg{position:relative;z-index:2;width:64px;height:64px;overflow:visible;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:7}.attendance-result-icon svg path{stroke-dasharray:48;stroke-dashoffset:48;animation:attendance-success-check .36s ease-out .24s forwards}.attendance-result-ring{position:absolute;z-index:-1;top:-12px;right:-12px;bottom:-12px;left:-12px;border:2px solid rgb(71 116 95 / 38%);border-radius:50%;opacity:0;animation:attendance-success-ring .6s ease-out forwards}.attendance-result-ring-outer{top:-28px;right:-28px;bottom:-28px;left:-28px;animation-delay:80ms}.attendance-result-ring-inner{animation-delay:20ms}.attendance-result-screen>strong{color:var(--ink);font-size:var(--font-size-display);letter-spacing:-.04em;line-height:1}.attendance-result-screen>span{color:var(--muted);font-size:var(--font-size-body)}.attendance-result-return-copy{margin:2px 0 0;color:var(--muted);font-size:var(--font-size-body);line-height:1.4}.attendance-result-countdown{display:block;width:min(100%,240px);height:4px;justify-self:center;overflow:hidden;background:#e1e7f5;border-radius:999px}.attendance-result-countdown i{display:block;width:100%;height:100%;background:var(--primary);border-radius:inherit;transform-origin:left center;animation:attendance-success-countdown 4s linear .6s forwards}.attendance-location-summary{display:grid;gap:7px;margin-top:12px;padding:18px;background:var(--success-soft);border:1px solid var(--success-border);border-radius:var(--radius-frame);text-align:left}.attendance-location-summary p,.attendance-location-summary h2,.attendance-location-summary span,.attendance-location-summary em{margin:0}.attendance-location-summary p{color:var(--muted);font-size:var(--font-size-helper);font-weight:800;letter-spacing:.08em}.attendance-location-summary h2{color:var(--ink);font-size:var(--font-size-section-title);line-height:1.3}.attendance-location-summary span{color:var(--muted);font-size:var(--font-size-body);line-height:1.4}.attendance-location-summary em{color:var(--success);font-size:var(--font-size-body);font-style:normal;font-weight:800}.attendance-location-summary-outside{background:var(--pending-soft);border-color:var(--pending-border)}.attendance-location-summary-outside em{color:var(--pending)}.attendance-history-main{align-content:start;padding-top:calc(var(--timekeeping-header-height) + 12px)}.attendance-history-toolbar{display:grid;position:sticky;z-index:4;top:0;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin:0 calc(0px - var(--timekeeping-page-gutter));padding:12px var(--timekeeping-page-gutter);background:#f5f7faf5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.attendance-history-quick-date{display:grid;min-width:0;gap:7px;color:var(--ink);font-size:var(--font-size-subtitle);font-weight:750}.attendance-history-date-control{display:block;min-width:0;height:44px;overflow:hidden;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-control)}.attendance-history-date-control:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.attendance-history-date-control input{display:block;width:100%;min-width:0;max-width:100%;height:100%;padding:0 12px;color:var(--ink);background:transparent;border:0;border-radius:inherit}.attendance-history-date-control input:focus-visible{outline:none}.attendance-history-filter-button{display:inline-flex;position:relative;width:44px;height:44px;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:0;color:var(--primary);background:var(--surface);border:1px solid var(--primary-border);border-radius:var(--radius-button)}.attendance-history-filter-button:hover{background:var(--primary-soft)}.attendance-history-filter-button svg{width:20px;height:20px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-width:1.8}.attendance-history-filter-button strong{display:grid;position:absolute;top:-7px;right:-7px;width:21px;height:21px;color:#fff;background:var(--primary);border:2px solid var(--workspace-canvas);border-radius:50%;font-size:var(--font-size-helper);line-height:1;place-items:center}.attendance-history-region{display:grid;gap:14px;margin-top:18px;padding-bottom:var(--attendance-history-pagination-height)}.attendance-history-state{display:grid;min-height:220px;align-content:center;justify-items:center;gap:14px;padding:24px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-frame);box-shadow:var(--shadow-surface);text-align:center}.attendance-history-state p{max-width:340px;margin:0;font-size:var(--font-size-body);line-height:1.5}.attendance-history-state-error p{color:var(--danger)}.attendance-history-state .button{min-height:44px}.attendance-history-loading-indicator{width:30px;height:30px;border:3px solid var(--primary-border);border-top-color:var(--primary);border-radius:50%;animation:face-capture-feedback-spin .8s linear infinite}.attendance-history-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.attendance-history-card{display:grid;min-height:112px;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-frame);box-shadow:var(--shadow-surface)}.attendance-history-event-icon{display:grid;width:42px;height:42px;color:var(--primary);background:var(--primary-soft);border-radius:50%;font-size:var(--font-size-title);font-weight:800;place-items:center}.attendance-history-event-icon-check_out{color:var(--success);background:var(--success-soft)}.attendance-history-card-content{display:grid;min-width:0;gap:6px}.attendance-history-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.attendance-history-card-heading>div{display:grid;min-width:0;gap:3px}.attendance-history-card h2,.attendance-history-card p,.attendance-history-card time,.attendance-history-card span,.attendance-history-card em{margin:0}.attendance-history-card h2{color:var(--ink);font-size:var(--font-size-section-title);letter-spacing:-.02em;line-height:1.25}.attendance-history-card time{color:var(--ink);font-size:var(--font-size-subtitle);font-weight:750;line-height:1.3}.attendance-history-card p{overflow:hidden;color:var(--ink);font-size:var(--font-size-body);font-weight:650;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.attendance-history-card-content>span{color:var(--muted);font-size:var(--font-size-subtitle);line-height:1.4}.attendance-history-status{width:fit-content;padding:4px 8px;border-radius:999px;font-size:var(--font-size-subtitle);font-style:normal;font-weight:800;line-height:1.25}.attendance-history-status-inside{color:var(--success);background:var(--success-soft)}.attendance-history-status-outside,.attendance-history-status-pending{color:var(--pending);background:var(--pending-soft)}.attendance-history-status-superseded{color:var(--muted);background:#eef1f5}.attendance-history-note-button{display:grid;width:44px;height:44px;flex:0 0 auto;margin:-4px -4px 0 0;padding:0;color:var(--pending);background:var(--pending-soft);border:1px solid var(--pending-border);border-radius:var(--radius-button);place-items:center}.attendance-history-note-button:hover{background:var(--surface-subtle);border-color:var(--pending)}.attendance-history-note-button svg{width:20px;height:20px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.attendance-history-pagination{display:grid;position:fixed;z-index:4;bottom:calc(var(--timekeeping-footer-height) + env(safe-area-inset-bottom));left:50%;width:min(100%,var(--timekeeping-app-max-width));min-height:var(--attendance-history-pagination-height);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:7px var(--timekeeping-page-gutter) 8px;background:#f5f7faf5;border-top:1px solid var(--line);transform:translate(-50%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.attendance-history-pagination .button{min-height:44px}.attendance-history-pagination .button:last-child{justify-self:stretch}.attendance-history-pagination>span{color:var(--muted);font-size:var(--font-size-subtitle);font-weight:750;white-space:nowrap}.timekeeping-overlay{display:grid;position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;background:var(--overlay);animation:timekeeping-overlay-in var(--transition-fast)}.attendance-history-filter-backdrop{justify-items:end}.attendance-history-filter-drawer{display:grid;width:min(100vw,420px);height:100dvh;min-height:0;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-modal);animation:attendance-history-drawer-in .22s ease-out}.attendance-history-filter-header,.attendance-history-reason-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--modal-header-gap);padding:calc(var(--modal-padding) + env(safe-area-inset-top)) var(--modal-padding) var(--space-4);border-bottom:1px solid var(--line)}.attendance-history-filter-header h2,.attendance-history-filter-header p,.attendance-history-reason-header h2,.attendance-history-reason-header p{margin:0}.attendance-history-filter-header h2,.attendance-history-reason-header h2{color:var(--ink);font-size:var(--font-size-section-title);letter-spacing:-.02em;line-height:1.3}.attendance-history-filter-header p,.attendance-history-reason-header p{margin-top:var(--space-1);color:var(--muted);font-size:var(--font-size-subtitle);line-height:1.4}.timekeeping-overlay-close{display:grid;width:40px;height:40px;flex:0 0 auto;margin:-4px -4px 0 0;padding:0;color:var(--muted);background:var(--surface-subtle);border:0;border-radius:var(--radius-button);place-items:center}.timekeeping-overlay-close:hover{background:#e7eaf0}.timekeeping-overlay-close svg{width:22px;height:22px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-width:1.8}.attendance-history-filter-form{display:grid;min-height:0;grid-template-rows:minmax(0,1fr) auto}.attendance-history-filter-content{display:grid;align-content:start;gap:var(--modal-content-gap);padding:var(--modal-padding);overflow-y:auto;overscroll-behavior:contain}.attendance-history-filter-section{display:grid;gap:10px;min-width:0;margin:0;padding:0;border:0}.attendance-history-filter-section legend,.attendance-history-reason-location>span,.attendance-history-reason-text>span{margin-bottom:5px;padding:0;color:var(--muted);font-size:var(--font-size-helper);font-weight:800;letter-spacing:.08em;line-height:1.3}.attendance-history-filter-field{display:grid;gap:7px;color:#344054;font-size:var(--font-size-subtitle);font-weight:750}.attendance-history-filter-field input{width:100%;height:44px;padding:0 12px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-control)}.attendance-history-filter-check{display:flex;min-height:48px;align-items:center;gap:12px;padding:0 14px;color:#344054;background:#f9fafb;border:1px solid transparent;border-radius:var(--radius-control);font-size:var(--font-size-body);font-weight:700}.attendance-history-filter-check:has(input:checked){background:var(--primary-soft);border-color:var(--primary-border)}.attendance-history-filter-check input{width:18px;height:18px;flex:0 0 auto;margin:0;accent-color:var(--primary)}.attendance-history-filter-actions,.attendance-history-reason-actions{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:16px 20px calc(18px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.attendance-history-filter-actions .button,.attendance-history-reason-actions .button{min-height:48px}.attendance-history-reason-backdrop{align-items:end;justify-items:center}.attendance-history-reason-dialog{display:grid;width:min(100%,430px);max-height:min(78dvh,640px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:#fff;border-radius:var(--radius-modal) var(--radius-modal) 0 0;box-shadow:var(--shadow-modal);animation:attendance-history-reason-in .22s ease-out}.attendance-history-reason-handle{position:absolute;width:58px;height:5px;justify-self:center;margin-top:10px;background:#d0d5dd;border-radius:999px}.attendance-history-reason-header{padding-top:34px}.attendance-history-reason-header{border-bottom:0}.attendance-history-reason-content{display:grid;align-content:start;gap:var(--modal-content-gap);min-height:0;padding:var(--space-2) var(--modal-padding) var(--modal-padding);overflow-y:auto;overscroll-behavior:contain}.attendance-history-reason-location{display:grid;gap:6px;padding:16px;background:var(--pending-soft);border:1px solid var(--pending-border);border-radius:10px}.attendance-history-reason-location>span,.attendance-history-reason-location strong,.attendance-history-reason-location p,.attendance-history-reason-text>span,.attendance-history-reason-text p,.attendance-history-reason-state p{margin:0}.attendance-history-reason-location strong{color:var(--ink);font-size:var(--font-size-body);line-height:1.35}.attendance-history-reason-location p{color:var(--muted);font-size:var(--font-size-subtitle);line-height:1.4}.attendance-history-reason-text{display:grid;gap:9px}.attendance-history-reason-text p{min-height:112px;padding:16px;color:#344054;background:#f9fafb;border:1px solid var(--line);border-radius:10px;font-size:var(--font-size-body);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.attendance-history-reason-state{display:grid;min-height:150px;align-content:center;justify-items:center;gap:12px;color:var(--muted);text-align:center}.attendance-history-reason-state[role=alert] p{color:var(--danger)}.attendance-history-reason-state .button{min-height:44px}.attendance-history-reason-actions{grid-template-columns:1fr}.attendance-outside-reason-dialog{grid-template-rows:auto minmax(0,1fr)}.attendance-outside-reason-form{display:grid;min-height:0;grid-template-rows:minmax(0,1fr) auto}.attendance-outside-reason-confirmation{margin:0;color:var(--success);font-size:var(--font-size-body);font-weight:700;line-height:1.45}.attendance-outside-reason-field{display:grid;gap:7px;color:#344054;font-size:var(--font-size-body);font-weight:750}.attendance-outside-reason-field>span{line-height:1.35}.attendance-outside-reason-field em{color:var(--muted);font-size:var(--font-size-subtitle);font-style:normal;font-weight:600}.attendance-outside-reason-field textarea{width:100%;min-height:116px;padding:12px 14px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-control);font:inherit;font-weight:500;line-height:1.5;resize:vertical}.attendance-outside-reason-field textarea:focus{border-color:var(--primary);outline:3px solid rgb(35 87 217 / 12%)}.attendance-outside-reason-field textarea:disabled{color:var(--muted);background:var(--surface-subtle)}.attendance-outside-reason-field small{color:var(--muted);font-size:var(--font-size-helper);font-weight:500;line-height:1.4}.attendance-outside-reason-error{margin:0;color:var(--danger);font-size:var(--font-size-subtitle);font-weight:700;line-height:1.4}.attendance-outside-reason-actions{grid-template-columns:112px minmax(0,1fr)}.work-request-main{align-content:start}.work-request-page{display:grid;gap:14px}.work-request-toolbar{display:grid;position:sticky;z-index:4;top:0;grid-template-columns:minmax(0,1fr) 44px;align-items:end;gap:12px;margin:-4px calc(0px - var(--timekeeping-page-gutter)) 0;padding:12px var(--timekeeping-page-gutter);background:#f5f7faf5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.work-request-create-button{min-height:48px}.work-request-region{display:grid;gap:14px;padding-bottom:var(--attendance-history-pagination-height)}.work-request-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.work-request-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-frame);box-shadow:var(--shadow-surface)}.approval-request-card{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left}.approval-request-card:hover,.approval-request-card:focus-visible{border-color:var(--primary-border);outline:0;box-shadow:0 0 0 3px #2357d91f,var(--shadow-surface)}.work-request-card-icon{display:grid;width:42px;height:42px;color:var(--primary);background:var(--primary-soft);border-radius:50%;font-size:var(--font-size-subtitle);font-weight:850;place-items:center}.work-request-card-icon-leave{color:var(--success);background:var(--success-soft)}.work-request-card-content{display:grid;min-width:0;gap:7px}.work-request-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.work-request-card-heading>div,.work-request-card-heading>span{display:grid;min-width:0;gap:3px}.work-request-card h2,.work-request-card p,.work-request-card time,.work-request-card span,.work-request-card em{margin:0}.work-request-card h2{overflow:hidden;color:var(--ink);font-size:var(--font-size-section-title);letter-spacing:-.02em;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.work-request-card time{color:var(--muted);font-size:var(--font-size-subtitle);font-weight:650;line-height:1.35}.work-request-status{display:inline-flex;flex:0 0 auto;width:fit-content;align-items:center;gap:6px;padding:4px 8px;border:1px solid transparent;border-radius:999px;font-size:var(--font-size-subtitle);font-style:normal;font-weight:800;line-height:1.25;white-space:nowrap}.work-request-status:before{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:currentcolor;content:""}.work-request-status-pending{color:var(--pending);background:var(--pending-soft);border-color:var(--pending-border)}.work-request-status-approved{color:var(--success);background:var(--success-soft);border-color:var(--success-border)}.work-request-status-rejected{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-border)}.work-request-status-cancelled{color:var(--muted);background:#eef1f5;border-color:var(--line)}.work-request-card-primary{color:var(--ink);font-size:var(--font-size-body);font-weight:750;line-height:1.35}.work-request-card-muted,.work-request-chain{color:var(--muted);font-size:var(--font-size-subtitle);line-height:1.4}.work-request-card-reason{display:-webkit-box;overflow:hidden;color:#344054;font-size:var(--font-size-body);line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.work-request-chain{width:fit-content;padding:4px 8px;background:#f2f4f7;border-radius:999px;font-weight:750}.work-request-cancel{width:fit-content;min-height:36px;margin-top:4px}.work-request-segmented,.work-request-single-segment{display:grid;min-height:44px;align-items:center;padding:4px;background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:var(--radius-control)}.work-request-segmented{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.work-request-segment,.work-request-single-segment{color:var(--ink);font-size:var(--font-size-body);font-weight:800;text-align:center}.work-request-segment{min-height:34px;background:transparent;border:0;border-radius:calc(var(--radius-control) - 2px)}.work-request-segment-active{color:#fff;background:var(--primary)}.work-request-single-segment{justify-content:center;color:var(--primary)}.approval-inbox-intro{display:grid;gap:5px}.approval-inbox-intro p{margin:0;color:var(--ink);font-size:var(--font-size-body);font-weight:800}.approval-inbox-intro span{color:var(--muted);font-size:var(--font-size-body);line-height:1.4}.approval-chain-mini{display:flex;min-width:0;flex-wrap:wrap;gap:6px;margin:2px 0 4px;padding:0;list-style:none}.approval-chain-mini li{display:inline-flex;min-height:28px;align-items:center;gap:5px;padding:3px 8px 3px 4px;color:var(--muted);background:#f2f4f7;border:1px solid transparent;border-radius:999px;font-size:var(--font-size-subtitle);font-style:normal;line-height:1.2}.approval-chain-mini span{display:grid;width:20px;height:20px;color:inherit;background:#fff;border-radius:50%;font-size:var(--font-size-helper);font-weight:850;place-items:center}.approval-chain-mini strong{color:var(--ink);font-weight:800}.approval-chain-mini em{color:inherit;font-style:normal;font-weight:750}.approval-chain-mini-current{color:var(--primary)!important;background:var(--primary-soft)!important;border-color:var(--primary-border)!important}.approval-chain-mini-approved{color:var(--success)!important;background:var(--success-soft)!important}.approval-chain-mini-rejected{color:var(--danger)!important;background:var(--danger-soft)!important}.work-request-sheet-backdrop,.work-request-picker-backdrop{align-items:end;justify-items:center}.work-request-sheet,.work-request-picker,.work-request-decision-dialog{display:grid;width:min(100%,520px);max-height:min(88dvh,760px);grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:var(--surface);border-radius:var(--radius-modal) var(--radius-modal) 0 0;box-shadow:var(--shadow-modal);animation:attendance-history-reason-in .22s ease-out}.work-request-sheet{grid-template-rows:auto minmax(0,1fr)}.work-request-form{display:grid;min-height:0;grid-template-rows:minmax(0,1fr) auto}.work-request-form-content{display:grid;align-content:start;gap:16px;min-height:0;padding:6px 20px 22px;overflow-y:auto;overscroll-behavior:contain}.work-request-notice{margin:0;padding:10px 12px;color:var(--primary);background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:var(--radius-control);font-size:var(--font-size-body);line-height:1.45}.work-request-success-notice{margin:0;padding:10px 12px;color:var(--success);background:var(--success-soft);border:1px solid var(--success-border);border-radius:var(--radius-control);font-size:var(--font-size-body);font-weight:750;line-height:1.45}.work-request-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.work-request-form-grid .field:first-child,.work-request-form-grid-full{grid-column:1 / -1}.work-request-form-actions{grid-template-columns:112px minmax(0,1fr)}.approval-chain-editor{display:grid;gap:10px;padding:10px;background:#f8fafc;border:1px solid #dce3ec;border-radius:10px}.approval-chain-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.approval-chain-editor h3{margin:0;color:#344054;font-size:var(--font-size-body);letter-spacing:-.01em;line-height:1.3}.approval-chain-editor h3 span{color:var(--muted);font-weight:600}.approval-chain-add{min-height:36px;white-space:nowrap}.approval-chain-add svg{width:17px;height:17px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.approval-chain-empty{margin:0;color:var(--muted);font-size:var(--font-size-body);line-height:1.45}.approval-chain-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.approval-chain-row{display:grid;min-height:54px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control)}.approval-chain-number{display:grid;width:24px;height:24px;color:var(--primary);background:var(--primary-soft);border-radius:50%;font-size:var(--font-size-subtitle);font-weight:850;place-items:center}.approval-chain-person{display:grid;min-width:0;gap:3px}.approval-chain-person strong{overflow:hidden;color:var(--ink);font-size:var(--font-size-body);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.approval-chain-person span{overflow:hidden;color:var(--muted);font-size:var(--font-size-subtitle);line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.approval-chain-controls{display:flex;gap:2px;margin-block:-4px}.approval-chain-controls button{display:grid;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;color:var(--muted);background:transparent;border:0;border-radius:var(--radius-button);font-size:var(--font-size-icon);place-items:center}.approval-chain-controls button:hover:not(:disabled){color:var(--primary);background:var(--primary-soft)}.work-request-picker{max-height:min(82dvh,650px)}.work-request-picker-content{display:grid;align-content:start;gap:10px;min-height:0;padding:6px 20px calc(20px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}.work-request-picker-row{width:100%;border:1px solid var(--line);border-radius:var(--radius-control);text-align:left}.work-request-decision-dialog{grid-template-rows:auto minmax(0,1fr) auto}.work-request-decision-content{display:grid;align-content:start;gap:16px;min-height:0;padding:6px 20px 22px;overflow-y:auto}.work-request-decision-summary{display:grid;gap:7px;padding:14px;background:#f8fafc;border:1px solid var(--line);border-radius:10px}.work-request-decision-summary strong,.work-request-decision-summary span,.work-request-decision-summary p{margin:0}.work-request-decision-summary strong{color:var(--ink);font-size:var(--font-size-body);line-height:1.35}.work-request-decision-summary span{color:var(--muted);font-size:var(--font-size-subtitle);line-height:1.4}.work-request-decision-summary p{color:#344054;font-size:var(--font-size-body);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.work-request-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.work-request-detail-list{display:grid;gap:10px;margin:0}.work-request-detail-list div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px}.work-request-detail-list dt{color:var(--muted);font-size:var(--font-size-subtitle);font-weight:700}.work-request-detail-list dd{min-width:0;margin:0;color:var(--ink);font-size:var(--font-size-body);font-weight:650;line-height:1.45;overflow-wrap:anywhere}.approval-chain-detail{display:grid;gap:10px}.approval-chain-detail h3{margin:0;color:var(--ink);font-size:var(--font-size-body);line-height:1.35}.approval-chain-detail ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.approval-chain-detail li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:10px 12px;background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius-control)}.approval-chain-detail li>span{display:grid;width:24px;height:24px;color:var(--primary);background:#edf3ff;border-radius:50%;font-size:var(--font-size-subtitle);font-weight:850;place-items:center}.approval-chain-detail li>div{display:grid;gap:3px;min-width:0}.approval-chain-detail strong,.approval-chain-detail em,.approval-chain-detail small{min-width:0;overflow-wrap:anywhere}.approval-chain-detail strong{color:var(--ink);font-size:var(--font-size-body);line-height:1.3}.approval-chain-detail em,.approval-chain-detail small{color:var(--muted);font-size:var(--font-size-subtitle);font-style:normal;line-height:1.35}.approval-chain-detail-approved{background:#e8f6ee!important;border-color:#bde8cd!important}.approval-chain-detail-current{background:#fff4d6!important;border-color:#f0c36d!important}.approval-chain-detail-rejected{background:#fff0ee!important;border-color:#f1b8b2!important}.approval-chain-detail-skipped{background:#eef1f5!important}.work-request-decision-actions{display:grid;grid-template-columns:.8fr 1fr;gap:10px;padding:16px 20px calc(18px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.work-request-decision-actions .button{min-height:48px}.timekeeping-footer{display:grid;position:fixed;z-index:5;bottom:0;left:50%;width:min(100%,var(--timekeeping-app-max-width));min-height:calc(var(--timekeeping-footer-height) + env(safe-area-inset-bottom));grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 6px calc(7px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);transform:translate(-50%)}.timekeeping-footer-with-approval{grid-template-columns:repeat(6,minmax(0,1fr))}.timekeeping-nav-item{display:grid;min-width:0;min-height:48px;align-content:center;justify-items:center;gap:3px;padding:0 2px;color:var(--muted);background:transparent;border:0;border-radius:8px;font-size:var(--font-size-helper);line-height:1.15;text-align:center}.timekeeping-nav-item svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.timekeeping-nav-item span{display:-webkit-box;max-width:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.timekeeping-nav-item:hover{color:var(--ink);background:#f7f8fa}.timekeeping-nav-item-active{color:var(--primary);font-weight:700}.timekeeping-nav-item-active svg{background:var(--primary-soft);border-radius:7px}.timekeeping-loading-page,.timekeeping-gate,.face-enrollment-page{width:min(100%,var(--timekeeping-app-max-width));height:var(--app-viewport-height);min-height:0;margin-inline:auto;overflow:hidden;background:var(--workspace-canvas)}.timekeeping-loading-page{display:grid;color:var(--muted);place-items:center;font-size:var(--font-size-body)}.timekeeping-gate,.face-enrollment-page{display:grid;grid-template-rows:auto minmax(0,1fr)}.timekeeping-gate-header{display:flex;min-height:var(--timekeeping-header-height);align-items:center;justify-content:space-between;gap:20px;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--line)}.timekeeping-gate-header p{margin:0 0 3px;color:var(--muted);font-size:var(--font-size-helper);font-weight:700;letter-spacing:.08em;line-height:1.2}.timekeeping-gate-header strong{color:var(--ink);font-size:var(--font-size-section-title);letter-spacing:-.02em}.timekeeping-gate-content,.face-enrollment-content{width:min(100%,640px);min-height:0;margin-inline:auto;padding:40px 20px 56px;overflow-y:auto;overscroll-behavior-y:contain}.timekeeping-gate-intro,.face-enrollment-heading{max-width:520px}.timekeeping-gate-step{color:var(--primary);font-size:var(--font-size-helper);font-weight:800;letter-spacing:.08em;line-height:1.3}.timekeeping-gate-intro h1,.face-enrollment-heading h1{margin:8px 0 0;color:var(--ink);font-size:var(--font-size-display);letter-spacing:-.035em;line-height:1.2}.timekeeping-gate-intro p,.face-enrollment-heading p{margin:9px 0 0;color:var(--muted);font-size:var(--font-size-body);line-height:1.55}.timekeeping-gate-card{margin-top:28px;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-frame);box-shadow:var(--shadow-surface)}.timekeeping-gate-card.form-stack{gap:17px}.face-capture-card{position:fixed;z-index:30;inset:0 auto 0 50%;width:min(100vw,var(--timekeeping-app-max-width));height:100dvh;overflow:hidden;isolation:isolate;color:#fff;background:var(--face-camera-surface);box-shadow:0 0 0 100vmax var(--face-camera-surface);transform:translate(-50%)}.face-capture-overlay-header{display:flex;position:absolute;z-index:8;top:0;right:0;left:0;min-height:118px;align-items:flex-start;justify-content:space-between;gap:16px;padding:calc(16px + env(safe-area-inset-top)) 20px 28px;background:linear-gradient(180deg,rgb(5 10 19 / 88%) 0%,rgb(5 10 19 / 54%) 64%,transparent 100%)}.face-capture-instruction{min-width:0}.face-capture-instruction>p{margin:0;color:#b7c0d0;font-size:var(--font-size-helper);font-weight:800;letter-spacing:.1em;line-height:1.2}.face-capture-instruction h2{margin:6px 0 0;color:#fff;font-size:var(--font-size-title);letter-spacing:-.025em;line-height:1.2}.face-capture-instruction>span{display:block;max-width:420px;margin-top:6px;color:#d0d5dd;font-size:var(--font-size-body);line-height:1.4}.face-capture-exit{min-height:44px;padding:0 4px;color:#e5e7eb;background:transparent;border:0;font-size:var(--font-size-subtitle);font-weight:700}.face-capture-exit:hover:not(:disabled){color:#fff}.attendance-capture-header-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:10px}.face-camera-stage{display:grid;position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;overflow:hidden;isolation:isolate;background:var(--face-camera-surface);place-items:center}.face-camera-stage video{position:absolute;width:100%;height:100%}.face-camera-stage video{object-position:center;opacity:0;background:transparent;transition:opacity var(--transition-fast)}.face-camera-preview{z-index:1;top:0;right:0;bottom:0;left:0;object-fit:cover;transform:scaleX(-1)}.attendance-face-camera-preview{object-fit:contain}.face-camera-stage-ready .face-camera-preview{opacity:1}.face-camera-permission{display:grid;z-index:7;width:min(100% - 32px,340px);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));gap:12px;padding:22px;overflow-y:auto;color:#fff;background:#172033d1;border:1px solid rgb(255 255 255 / 20%);border-radius:12px;box-shadow:0 18px 50px #00000047;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.face-camera-permission strong{font-size:var(--font-size-body)}.face-camera-permission>span{color:#d0d5dd;font-size:var(--font-size-body);line-height:1.45}.face-camera-permission .button{margin-top:2px}.face-camera-scan-frame{position:absolute;z-index:4;top:50%;left:50%;width:min(72vw,340px);height:min(56dvh,460px);overflow:hidden;border:2px solid rgb(255 255 255 / 90%);border-radius:48%;box-shadow:0 0 0 9999px #0000001f,0 0 34px #9aafd01f;pointer-events:none;transform:translate(-50%,-48%)}.face-camera-scan-frame:before,.face-camera-scan-frame:after{position:absolute;top:31%;width:18px;height:38%;border-color:var(--face-camera-glow);border-style:solid;content:"";filter:drop-shadow(0 0 7px rgb(154 175 208 / 72%))}.face-camera-scan-frame:before{left:-2px;border-width:4px 0 4px 4px;border-radius:14px 0 0 14px}.face-camera-scan-frame:after{right:-2px;border-width:4px 4px 4px 0;border-radius:0 14px 14px 0}.face-camera-scan-frame-detected{border-color:#dbece3f5;box-shadow:0 0 0 9999px #0000001f,0 0 38px #47745f4d}.face-camera-scan-frame-blocked{border-color:#f1dddbf5;box-shadow:0 0 0 9999px #0000001f,0 0 38px #9a514b47}.face-camera-scan-line{position:absolute;top:13%;right:9%;left:9%;height:2px;background:linear-gradient(90deg,transparent,var(--face-camera-glow) 16%,#fff 50%,var(--face-camera-glow) 84%,transparent);border-radius:2px;box-shadow:0 0 12px #9aafd0b8;animation:face-scan 2.4s ease-in-out infinite}.face-camera-placement-guide,.face-camera-hint{position:absolute;z-index:6;right:20px;bottom:calc(188px + env(safe-area-inset-bottom));left:20px;margin:0;color:#f2f4f7;font-size:var(--font-size-subtitle);font-weight:650;line-height:1.4;text-align:center;text-wrap:balance;text-shadow:0 1px 10px #000}.face-camera-guidance-error{padding:8px 12px;color:#fff;background:#9a514be0;border:1px solid rgb(241 221 219 / 42%);border-radius:var(--radius-control);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.face-camera-readiness{display:flex;position:absolute;z-index:6;right:20px;bottom:calc(144px + env(safe-area-inset-bottom));left:20px;min-height:34px;align-items:center;justify-content:center;margin:0;padding:7px 12px;color:#dbe3ef;background:#050a13c7;border:1px solid rgb(154 175 208 / 36%);border-radius:var(--radius-button);font-size:var(--font-size-subtitle);font-weight:750;line-height:1.25;text-align:center;text-shadow:0 1px 10px #000;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.face-camera-readiness-warning{color:#fff1c2;border-color:#9a67009e}.face-camera-readiness-error{color:#f1dddb;border-color:#9a514bb3}.face-camera-readiness-accepted{color:#dbebe2;border-color:#47745fb3}.face-capture-overlay-actions{display:grid;position:absolute;z-index:8;right:0;bottom:0;left:0;min-height:132px;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:0;padding:28px 20px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(0deg,rgb(5 10 19 / 98%) 0%,rgb(5 10 19 / 70%) 54%,transparent 100%)}.face-camera-restart{display:inline-flex;width:fit-content;min-height:48px;align-items:center;gap:7px;justify-self:start;padding:0 14px;color:#fff;background:#ffffff1a;border:1px solid rgb(255 255 255 / 24%);border-radius:var(--radius-button);font-size:var(--font-size-button);font-weight:700;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.face-camera-restart span{font-size:var(--font-size-icon);font-weight:400;line-height:1}.face-camera-restart:hover:not(:disabled){background:#ffffff2b}.face-camera-primary-control{display:grid;min-width:136px;align-self:center;justify-items:center;gap:5px}.face-capture-feedback{display:grid;justify-items:center;gap:5px}.face-capture-feedback-indicator{display:grid;position:relative;width:72px;height:72px;align-items:center;justify-items:center;color:#fff;border-radius:50%}.face-capture-feedback-spinner{border:6px solid rgb(255 255 255 / 22%);border-top-color:var(--face-camera-glow);animation:face-capture-feedback-spin .8s linear infinite}.face-capture-retry-button{min-width:116px;min-height:48px;padding:0 22px;color:#fff;background:#ffffff1f;border:1px solid rgb(255 255 255 / 58%);border-radius:var(--radius-button);font-size:var(--font-size-button);font-weight:800;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.face-capture-retry-button:hover:not(:disabled){background:#fff3}.face-camera-action-note{align-self:center;justify-self:center;color:#fff;font-size:var(--font-size-subtitle);font-weight:700;line-height:1.3;text-align:center;text-shadow:0 1px 10px #000}.attendance-capture-overlay-actions .face-camera-action-note{max-width:280px;color:#b7c0d0;font-size:var(--font-size-subtitle);font-weight:600;line-height:1.4;text-wrap:balance}.face-capture-action-spacer{width:1px;justify-self:end}.face-capture-error{position:absolute;z-index:9;right:20px;bottom:calc(132px + env(safe-area-inset-bottom));left:20px;padding:9px 12px;color:#fff;background:#9a514be0;border-radius:var(--radius-control);text-align:center}.face-consent{display:flex;gap:10px;margin-top:18px;padding:13px;color:#475467;background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius-control);font-size:var(--font-size-subtitle);line-height:1.5}.face-consent input{width:16px;height:16px;flex:0 0 auto;margin:1px 0 0;accent-color:var(--primary)}.face-camera-consent{margin-top:2px;color:#e5e7eb;background:#ffffff14;border-color:#ffffff2e;text-align:left}.face-camera-consent span{color:inherit;font-size:var(--font-size-subtitle);line-height:1.45}.face-auto-scan-page{background:var(--face-camera-surface)}.face-auto-scan-card{display:grid;grid-template-rows:auto minmax(0,1fr)}.face-auto-scan-header{display:grid;position:relative;z-index:12;grid-template-columns:96px minmax(0,1fr) 96px;align-items:center;gap:0;min-height:calc(72px + env(safe-area-inset-top));padding:calc(12px + env(safe-area-inset-top)) 20px 10px;background:linear-gradient(180deg,rgb(5 10 19 / 92%) 0%,rgb(5 10 19 / 64%) 70%,transparent 100%)}.face-auto-scan-back{display:grid;width:44px;height:44px;padding:0;color:#fff;background:transparent;border:0;border-radius:50%;font-size:var(--font-size-display);font-weight:400;line-height:1;place-items:center}.face-auto-scan-back:hover:not(:disabled){background:#ffffff1a}.face-auto-scan-title{min-width:0;text-align:center}.face-auto-scan-title h1{margin:0;color:#fff;font-size:var(--font-size-section-title);font-weight:760;letter-spacing:-.02em;line-height:1.2}.face-camera-switch-trigger{display:inline-flex;width:96px;min-height:40px;align-items:center;justify-content:center;gap:8px;justify-self:end;padding:0 12px;color:#fff;background:var(--face-camera-control-surface);border:1px solid var(--face-camera-control-border);border-radius:var(--radius-button);font-size:var(--font-size-button);font-weight:750;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.face-camera-switch-trigger svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.face-camera-switch-trigger:hover:not(:disabled){background:#ffffff2b}.face-auto-scan-stage{top:0;right:0;bottom:0;left:0;z-index:1;padding:0 20px}.face-auto-scan-preview{filter:saturate(.98) contrast(1.02)}.face-auto-scan-stage-selector-open .face-auto-scan-preview{filter:saturate(.8) brightness(.68)}.face-auto-scan-ring{position:absolute;z-index:5;top:50%;left:50%;width:min(78vw,360px);aspect-ratio:1;pointer-events:none;transform:translate(-50%,-54%);transition:filter var(--transition-fast),transform var(--transition-fast)}.face-auto-scan-ring-segment{position:absolute;top:0;right:0;bottom:0;left:0}.face-auto-scan-ring-segment:nth-child(1){transform:rotate(0)}.face-auto-scan-ring-segment:nth-child(2){transform:rotate(6deg)}.face-auto-scan-ring-segment:nth-child(3){transform:rotate(12deg)}.face-auto-scan-ring-segment:nth-child(4){transform:rotate(18deg)}.face-auto-scan-ring-segment:nth-child(5){transform:rotate(24deg)}.face-auto-scan-ring-segment:nth-child(6){transform:rotate(30deg)}.face-auto-scan-ring-segment:nth-child(7){transform:rotate(36deg)}.face-auto-scan-ring-segment:nth-child(8){transform:rotate(42deg)}.face-auto-scan-ring-segment:nth-child(9){transform:rotate(48deg)}.face-auto-scan-ring-segment:nth-child(10){transform:rotate(54deg)}.face-auto-scan-ring-segment:nth-child(11){transform:rotate(60deg)}.face-auto-scan-ring-segment:nth-child(12){transform:rotate(66deg)}.face-auto-scan-ring-segment:nth-child(13){transform:rotate(72deg)}.face-auto-scan-ring-segment:nth-child(14){transform:rotate(78deg)}.face-auto-scan-ring-segment:nth-child(15){transform:rotate(84deg)}.face-auto-scan-ring-segment:nth-child(16){transform:rotate(90deg)}.face-auto-scan-ring-segment:nth-child(17){transform:rotate(96deg)}.face-auto-scan-ring-segment:nth-child(18){transform:rotate(102deg)}.face-auto-scan-ring-segment:nth-child(19){transform:rotate(108deg)}.face-auto-scan-ring-segment:nth-child(20){transform:rotate(114deg)}.face-auto-scan-ring-segment:nth-child(21){transform:rotate(120deg)}.face-auto-scan-ring-segment:nth-child(22){transform:rotate(126deg)}.face-auto-scan-ring-segment:nth-child(23){transform:rotate(132deg)}.face-auto-scan-ring-segment:nth-child(24){transform:rotate(138deg)}.face-auto-scan-ring-segment:nth-child(25){transform:rotate(144deg)}.face-auto-scan-ring-segment:nth-child(26){transform:rotate(150deg)}.face-auto-scan-ring-segment:nth-child(27){transform:rotate(156deg)}.face-auto-scan-ring-segment:nth-child(28){transform:rotate(162deg)}.face-auto-scan-ring-segment:nth-child(29){transform:rotate(168deg)}.face-auto-scan-ring-segment:nth-child(30){transform:rotate(174deg)}.face-auto-scan-ring-segment:nth-child(31){transform:rotate(180deg)}.face-auto-scan-ring-segment:nth-child(32){transform:rotate(186deg)}.face-auto-scan-ring-segment:nth-child(33){transform:rotate(192deg)}.face-auto-scan-ring-segment:nth-child(34){transform:rotate(198deg)}.face-auto-scan-ring-segment:nth-child(35){transform:rotate(204deg)}.face-auto-scan-ring-segment:nth-child(36){transform:rotate(210deg)}.face-auto-scan-ring-segment:nth-child(37){transform:rotate(216deg)}.face-auto-scan-ring-segment:nth-child(38){transform:rotate(222deg)}.face-auto-scan-ring-segment:nth-child(39){transform:rotate(228deg)}.face-auto-scan-ring-segment:nth-child(40){transform:rotate(234deg)}.face-auto-scan-ring-segment:nth-child(41){transform:rotate(240deg)}.face-auto-scan-ring-segment:nth-child(42){transform:rotate(246deg)}.face-auto-scan-ring-segment:nth-child(43){transform:rotate(252deg)}.face-auto-scan-ring-segment:nth-child(44){transform:rotate(258deg)}.face-auto-scan-ring-segment:nth-child(45){transform:rotate(264deg)}.face-auto-scan-ring-segment:nth-child(46){transform:rotate(270deg)}.face-auto-scan-ring-segment:nth-child(47){transform:rotate(276deg)}.face-auto-scan-ring-segment:nth-child(48){transform:rotate(282deg)}.face-auto-scan-ring-segment:nth-child(49){transform:rotate(288deg)}.face-auto-scan-ring-segment:nth-child(50){transform:rotate(294deg)}.face-auto-scan-ring-segment:nth-child(51){transform:rotate(300deg)}.face-auto-scan-ring-segment:nth-child(52){transform:rotate(306deg)}.face-auto-scan-ring-segment:nth-child(53){transform:rotate(312deg)}.face-auto-scan-ring-segment:nth-child(54){transform:rotate(318deg)}.face-auto-scan-ring-segment:nth-child(55){transform:rotate(324deg)}.face-auto-scan-ring-segment:nth-child(56){transform:rotate(330deg)}.face-auto-scan-ring-segment:nth-child(57){transform:rotate(336deg)}.face-auto-scan-ring-segment:nth-child(58){transform:rotate(342deg)}.face-auto-scan-ring-segment:nth-child(59){transform:rotate(348deg)}.face-auto-scan-ring-segment:nth-child(60){transform:rotate(354deg)}.face-auto-scan-ring-segment:before{position:absolute;top:0;left:50%;width:3px;height:12px;background:#ffffff57;border-radius:999px;content:"";transform:translate(-50%);transition:background-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.face-auto-scan-ring-segment-active:before{background:var(--face-camera-progress);box-shadow:0 0 8px #58d6859e}.face-auto-scan-ring-complete{filter:drop-shadow(0 0 10px rgb(88 214 133 / 34%));transform:translate(-50%,-54%) scale(1.015)}.face-auto-server-verifying{display:grid;z-index:7;width:min(100% - 32px,340px);justify-items:center;gap:10px;padding:22px;color:#fff;background:#172033d1;border:1px solid rgb(255 255 255 / 20%);border-radius:12px;box-shadow:0 18px 50px #00000047;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.face-auto-server-verifying strong{font-size:var(--font-size-body);line-height:1.35}.face-auto-server-verifying p{margin:0;color:#d0d5dd;font-size:var(--font-size-subtitle);line-height:1.45;text-wrap:balance}.face-auto-scan-instruction{display:grid;position:absolute;z-index:6;right:20px;bottom:calc(96px + env(safe-area-inset-bottom));left:20px;text-align:center;text-shadow:0 1px 10px #000}.face-auto-scan-instruction p{margin:0;color:#fff;font-size:var(--font-size-title);font-weight:760;letter-spacing:-.02em;line-height:1.25;text-wrap:balance}.face-auto-scan-stage-guided .face-auto-scan-instruction{bottom:calc(112px + env(safe-area-inset-bottom))}.face-guided-capture-button{position:absolute;z-index:8;right:20px;bottom:calc(22px + env(safe-area-inset-bottom));left:20px;min-height:52px;padding:0 22px;color:#102219;background:var(--face-camera-progress);border:1px solid var(--face-camera-progress);border-radius:var(--radius-button);box-shadow:0 12px 28px #00000047;font-size:var(--font-size-button);font-weight:800}.face-guided-capture-button:hover:not(:disabled){background:#6be096;border-color:#6be096}.face-guided-capture-button:disabled{opacity:.62}.face-auto-scan-stage-quality-warning .face-auto-scan-instruction{bottom:calc(128px + env(safe-area-inset-bottom))}.face-camera-quality-warning{display:grid;position:absolute;z-index:7;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));left:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:12px;color:#fff;background:var(--face-camera-warning-surface);border:1px solid rgb(240 203 118 / 46%);border-radius:var(--radius-surface);box-shadow:0 8px 24px #00000038;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.face-camera-quality-warning-copy{display:grid;min-width:0;gap:3px}.face-camera-quality-warning-copy strong{color:#fff;font-size:var(--font-size-body);line-height:1.3}.face-camera-quality-warning-copy>span{color:#e8dcbf;font-size:var(--font-size-subtitle);line-height:1.35}.face-camera-quality-warning>button{min-height:40px;padding:0 12px;color:#fff;background:transparent;border:1px solid rgb(240 203 118 / 62%);border-radius:var(--radius-button);font-size:var(--font-size-button);font-weight:750;white-space:nowrap}.face-camera-quality-warning>button:hover:not(:disabled){background:#f0cb761f}.face-camera-selector-backdrop{display:flex;position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;align-items:flex-end;justify-content:center;padding-top:calc(72px + env(safe-area-inset-top));background:#050a13a8}.face-camera-selector{display:grid;width:min(100%,430px);max-height:calc(100dvh - 72px - env(safe-area-inset-top));grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden;color:#fff;background:var(--face-camera-selector-surface);border:1px solid var(--face-camera-selector-line);border-bottom:0;border-radius:var(--radius-modal) var(--radius-modal) 0 0;box-shadow:0 -16px 44px #00000057}.face-camera-selector:focus{outline:none}.face-camera-selector-header{display:grid;justify-items:center;gap:12px;padding:10px 20px 14px;border-bottom:1px solid var(--face-camera-selector-line)}.face-camera-selector-header>span{width:40px;height:4px;background:#ffffff3d;border-radius:var(--radius-button)}.face-camera-selector-header h2{margin:0;color:#fff;font-size:var(--font-size-section-title);letter-spacing:-.02em;line-height:1.3}.face-camera-selector-options{min-height:0;padding:4px 20px;overflow-y:auto;overscroll-behavior:contain}.face-camera-selector-option{display:grid;min-height:60px;grid-template-columns:44px minmax(0,1fr);align-items:center;padding:0 4px;border-bottom:1px solid var(--face-camera-selector-line);cursor:pointer}.face-camera-selector-option:last-child{border-bottom:0}.face-camera-selector-option:hover{background:#ffffff0a}.face-camera-selector-radio{display:grid;width:22px;height:22px;align-items:center;justify-items:center;border:2px solid rgb(255 255 255 / 40%);border-radius:50%}.face-camera-selector-radio:after{width:10px;height:10px;background:transparent;border-radius:50%;content:""}.face-camera-selector-option-selected .face-camera-selector-radio{border-color:var(--face-camera-progress)}.face-camera-selector-option-selected .face-camera-selector-radio:after{background:var(--face-camera-progress)}.face-camera-selector-option input:focus-visible+.face-camera-selector-radio{box-shadow:0 0 0 4px var(--focus-ring)}.face-camera-selector-option-copy{display:grid;min-width:0;gap:2px}.face-camera-selector-option-copy strong{color:#fff;font-size:var(--font-size-body);line-height:1.35}.face-camera-selector-option-copy>span{color:var(--face-camera-selector-muted);font-size:var(--font-size-helper);font-weight:650;line-height:1.35}.face-camera-selector-option-selected .face-camera-selector-option-copy>span{color:#bce8cd}.face-camera-selector-error{margin:0 20px;padding:9px 11px;color:#f6dddd;background:#9a514b3d;border:1px solid rgb(223 194 191 / 34%);border-radius:var(--radius-control);font-size:var(--font-size-subtitle);line-height:1.4}.face-camera-selector-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:16px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--face-camera-selector-line)}.face-camera-selector-actions button{min-height:44px;border-radius:var(--radius-button);font-size:var(--font-size-button);font-weight:750}.face-camera-selector-cancel{padding:0 18px;color:#fff;background:transparent;border:1px solid var(--face-camera-control-border)}.face-camera-selector-confirm{padding:0 18px;color:#102219;background:var(--face-camera-progress);border:1px solid var(--face-camera-progress)}.face-camera-selector-cancel:hover:not(:disabled){background:#ffffff14}.face-camera-selector-confirm:hover:not(:disabled){background:#6be096;border-color:#6be096}.face-auto-scan-controls{display:flex;position:absolute;z-index:8;right:20px;bottom:calc(18px + env(safe-area-inset-bottom));left:20px;justify-content:flex-end}.face-auto-scan-controls .face-camera-restart{min-height:40px;padding-inline:12px}.face-auto-scan-error{bottom:calc(94px + env(safe-area-inset-bottom))}.eyebrow,.sidebar-caption,.breadcrumb{margin:0;color:var(--muted);font-size:var(--font-size-subtitle);font-weight:700;letter-spacing:.06em}.login-panel h1,.workspace h1,.modal h2{margin:10px 0 0;color:var(--ink);letter-spacing:-.03em}.login-panel h1{font-size:var(--font-size-display)}.login-copy,.workspace-subtitle,.modal-header p{margin:8px 0 0;color:var(--muted);line-height:1.5}.subadmin-success .button{margin-top:30px}.form-stack{display:grid;gap:18px;margin-top:30px}.field{display:grid;gap:7px;color:#475467;font-size:var(--font-size-subtitle);font-weight:700}.field-optional{color:var(--muted);font-style:normal;font-weight:400}.field input,.field textarea,.field select,.project-location-search{width:100%;min-height:var(--control-height);padding:10px 12px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-control);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.field textarea{min-height:86px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.project-location-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.field input.input-invalid{border-color:var(--danger)}.field small{color:var(--muted);font-size:var(--font-size-helper);font-weight:400;line-height:1.4}.form-error{margin:0;color:var(--danger);font-size:var(--font-size-helper);line-height:1.5}.button{display:inline-flex;min-height:var(--button-height);align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--button-padding-inline);border:1px solid transparent;border-radius:var(--radius-button);font-size:var(--font-size-button);font-weight:700;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.button-primary{color:#fff;background:var(--primary)}.button-primary:hover:not(:disabled){background:var(--primary-hover)}.header-primary-action{min-height:36px;padding-inline:14px;border-radius:var(--radius-button);box-shadow:0 1px 2px #1018281a;font-size:var(--font-size-button)}.button-secondary{min-height:38px;color:var(--primary);background:var(--surface);border-color:var(--primary-border);font-size:var(--font-size-button)}.button-secondary:hover:not(:disabled){background:var(--primary-soft)}.button-quiet{color:#475467;background:transparent}.button-quiet:hover:not(:disabled){background:var(--neutral-hover)}.button-danger{color:#fff;background:var(--danger)}.button-danger:hover:not(:disabled){background:#83413c}.button-full{width:100%}.app-icon{display:block;width:var(--admin-action-icon-size);height:var(--admin-action-icon-size);flex:0 0 var(--admin-action-icon-size);fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--admin-action-icon-stroke)}.text-button{padding:0;color:var(--muted);background:none;border:0;font-size:var(--font-size-button);text-align:left}.text-button:hover{color:var(--ink)}.app-shell{display:grid;height:var(--app-viewport-height);min-height:0;grid-template-columns:var(--sidebar-width) minmax(0,1fr);overflow:hidden;background:var(--workspace-canvas)}.sidebar{display:flex;height:100%;min-height:0;flex-direction:column;justify-content:flex-start;padding:28px 16px 24px;overflow-y:auto;overscroll-behavior-y:contain;background:var(--sidebar);border-right:1px solid var(--line)}.brand{display:inline-flex;max-width:100%;align-items:center;gap:var(--space-2);color:var(--ink);font-size:var(--font-size-body);font-weight:800;letter-spacing:0;line-height:1.2;text-decoration:none}.brand-logo{width:var(--brand-logo-size);height:var(--brand-logo-size);flex:0 0 var(--brand-logo-size);object-fit:contain}.brand span{min-width:0;overflow-wrap:anywhere}.login-brand{display:inline-flex;max-width:100%;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--ink);font-size:var(--font-size-body);font-weight:800;line-height:1.2}.login-brand .brand-logo{width:40px;height:40px;flex-basis:40px}.login-brand span{min-width:0;overflow-wrap:anywhere}.sidebar-caption{margin-top:12px}.side-nav{display:grid;gap:6px;margin-top:44px}.side-nav-item{display:block;padding:12px 16px;border-radius:var(--radius-control);color:#475467;font-size:var(--font-size-body);text-decoration:none}.side-nav-item-active{color:var(--primary);background:var(--primary-soft);font-weight:700}.side-nav-item-muted{color:var(--muted)}.sidebar-signout{margin-top:auto;margin-left:16px}.subadmin-shell{display:grid;height:var(--app-viewport-height);min-height:0;grid-template-columns:var(--subadmin-sidebar-width) minmax(0,1fr);grid-template-areas:"sidebar workspace";overflow:hidden;background:var(--workspace-canvas)}.subadmin-workspace{display:grid;grid-area:workspace;min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr);padding:var(--workspace-padding-block-start) var(--page-gutter) var(--workspace-padding-block-end);overflow:hidden;background:var(--workspace-canvas)}.subadmin-user-page,.subadmin-placeholder-page,.attendance-report-page,.settings-workspace{width:min(100%,var(--workspace-max-width));min-height:0;margin-inline:auto;overflow:hidden}.subadmin-user-page,.settings-workspace,.subadmin-placeholder-page,.attendance-report-page{display:flex;flex-direction:column}.subadmin-mobile-header{grid-row:1}.subadmin-user-page,.settings-workspace,.subadmin-placeholder-page,.attendance-report-page{grid-row:2}.workspace h1,.subadmin-user-page h1,.settings-workspace h1,.subadmin-placeholder-page h1,.attendance-report-page h1{margin:6px 0 0;color:var(--ink);font-size:var(--font-size-display);font-weight:750;letter-spacing:-.03em;line-height:1.2}.subadmin-user-page h1,.settings-workspace h1,.attendance-report-page h1{margin-top:var(--space-1);font-size:var(--font-size-title)}.subadmin-placeholder-page p:not(.breadcrumb){margin:8px 0 0;color:var(--muted);line-height:1.5}.workspace .breadcrumb,.subadmin-workspace .breadcrumb{color:var(--muted);font-size:var(--font-size-helper);letter-spacing:.08em;text-transform:uppercase}.workspace-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:20px 22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-frame);box-shadow:var(--shadow-surface)}.subadmin-user-page .workspace-page-header,.settings-workspace .workspace-page-header,.attendance-report-page .workspace-page-header{gap:var(--space-4);padding:var(--subadmin-page-header-padding-block) var(--subadmin-page-header-padding-inline)}.workspace-page-header>div{min-width:0}.workspace-header,.subadmin-placeholder-page-header{margin-bottom:16px}.subadmin-user-page-header,.settings-header{margin-bottom:0;border-radius:var(--radius-frame) var(--radius-frame) 0 0;box-shadow:none}.workspace-page-header>div>p:not(.breadcrumb){max-width:640px;margin:6px 0 0;color:var(--muted);font-size:var(--font-size-body);line-height:1.5}.subadmin-user-page .workspace-page-header>div>p:not(.breadcrumb),.settings-workspace .workspace-page-header>div>p:not(.breadcrumb),.attendance-report-page .workspace-page-header>div>p:not(.breadcrumb){margin-top:var(--space-1);font-size:var(--font-size-subtitle);line-height:1.4}.user-page-helper{margin:0 0 18px}.subadmin-sidebar{display:flex;grid-area:sidebar;height:100%;min-height:0;flex-direction:column;padding:28px 16px 24px;overflow-y:auto;overscroll-behavior-y:contain;background:var(--sidebar);border-right:1px solid var(--line)}.subadmin-nav{display:grid;gap:6px;margin-top:34px}.subadmin-nav-item{display:flex;width:100%;align-items:center;gap:var(--space-2);padding:12px 16px;color:#475467;background:transparent;border:0;border-radius:var(--radius-control);font-size:var(--font-size-button);text-align:left}.subadmin-nav-item:hover{background:#e9edf3}.subadmin-nav-item-active{color:var(--primary);background:var(--primary-soft);font-weight:700}.subadmin-nav-item .app-icon{width:var(--admin-action-icon-size);height:var(--admin-action-icon-size);flex:0 0 auto}.subadmin-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subadmin-signout{margin-top:auto;margin-left:16px}.subadmin-mobile-header,.subadmin-drawer-backdrop{display:none}.subadmin-shell-settings{--subadmin-sidebar-width: 232px;--subadmin-tab-height: 52px}.subadmin-shell-settings .subadmin-workspace,.subadmin-shell-management .subadmin-workspace{padding:0}.subadmin-shell-settings .settings-workspace,.subadmin-shell-management .settings-workspace{width:100%;margin-inline:0}.subadmin-shell-user .subadmin-workspace{padding:0}.subadmin-shell-user .subadmin-user-page{position:relative;width:100%;margin-inline:0;padding:0}.subadmin-shell-settings .subadmin-sidebar,.subadmin-shell-management .subadmin-sidebar,.subadmin-shell-management .subadmin-mobile-header{color:#aeb8c7;background:#172235;border-color:#aeb8c729}.subadmin-shell-settings .subadmin-sidebar .brand,.subadmin-shell-management .subadmin-sidebar .brand,.subadmin-shell-management .subadmin-mobile-header .brand{color:#fff}.subadmin-shell-settings .sidebar-caption,.subadmin-shell-management .sidebar-caption,.subadmin-shell-settings .subadmin-nav-item,.subadmin-shell-management .subadmin-nav-item{color:#aeb8c7}.subadmin-shell-settings .subadmin-nav-item:hover,.subadmin-shell-management .subadmin-nav-item:hover{color:#fff;background:#ffffff12}.subadmin-shell-settings .subadmin-nav-item-active,.subadmin-shell-management .subadmin-nav-item-active{color:#fff;background:#223452;box-shadow:inset 3px 0 #7d9bc4}.subadmin-shell-settings .subadmin-signout,.subadmin-shell-management .subadmin-signout{color:#d6deea}.subadmin-shell-settings .subadmin-menu-button,.subadmin-shell-management .subadmin-menu-button{color:#fff;background:#ffffff17;border-color:#ffffff2e}.subadmin-shell-management .attendance-report-page{width:100%;margin-inline:0;padding:0}.settings-frame-header{display:flex;min-height:108px;flex:0 0 auto;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-frame) var(--radius-frame) 0 0;box-shadow:var(--shadow-surface)}.subadmin-shell-settings .settings-frame-header{border-radius:0}.settings-frame-titlebar{display:flex;height:56px;min-height:56px;align-items:center;justify-content:space-between;gap:var(--space-4);padding:6px 24px;border-bottom:1px solid var(--line)}.settings-frame-titlebar>div{min-width:0}.settings-frame-titlebar h1{margin:2px 0 0}.settings-tabs{display:flex;height:var(--subadmin-tab-height);min-height:var(--subadmin-tab-height);flex:0 0 auto;gap:4px;padding-inline:8px;overflow-x:auto;overflow-y:hidden;background:var(--surface);border:0;border-radius:0;box-shadow:none;scrollbar-width:none}.settings-tabs::-webkit-scrollbar{display:none}.settings-tab{min-height:var(--subadmin-tab-height);padding:0 14px;color:var(--muted);background:transparent;border:0;border-bottom:3px solid transparent;font-size:var(--font-size-button);white-space:nowrap}.settings-tab:hover{color:var(--ink);background:var(--neutral-hover)}.settings-tab-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}.settings-panel{display:grid;min-width:0;min-height:0;flex:1 1 auto;grid-template-rows:auto minmax(0,1fr) auto;margin-top:0;overflow:hidden}.settings-panel-loading{grid-template-rows:minmax(0,1fr) auto}.settings-panel-loading .settings-loading{min-height:0;border-radius:0}.settings-singleton-form{display:contents}.settings-toolbar{display:grid;min-width:0;min-height:68px;flex:0 0 auto;grid-template-columns:minmax(240px,1fr) auto;align-items:center;gap:var(--space-3);padding:11px 24px;background:var(--surface);border-right:1px solid var(--line);border-left:1px solid var(--line)}.settings-toolbar-projects{grid-template-columns:minmax(240px,1fr) minmax(170px,220px) auto auto}.settings-toolbar-email{align-items:center;grid-template-columns:minmax(220px,.8fr) minmax(0,1fr) auto}.settings-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2)}.settings-toolbar-state{color:var(--muted);font-size:var(--font-size-subtitle);font-weight:800}.settings-search-field,.settings-select-field{display:grid;min-width:0;gap:7px;color:#475467;font-size:var(--font-size-subtitle);font-weight:700}.settings-search-field>span,.settings-select-field>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;border:0;clip:rect(0,0,0,0);white-space:nowrap}.settings-search-field input,.settings-select-field select{width:100%;min-height:var(--control-height);padding:10px 12px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-control);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.settings-search-field input:focus,.settings-select-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring);outline:3px solid var(--focus-ring);outline-offset:2px}.settings-panel .settings-table-wrap{width:100%;min-width:0;min-height:0}.settings-panel:has(.settings-table-wrap) .settings-empty{height:100%;min-height:var(--empty-state-min-height)}.settings-panel h2{margin:0;color:var(--ink);font-size:var(--font-size-section-title);letter-spacing:-.02em}.settings-checkbox-control{display:inline-flex;min-height:var(--control-height);align-items:center;gap:var(--space-2);padding:0 12px;color:#475467;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-control);font-size:var(--font-size-button);font-weight:800}.settings-checkbox-control input{width:18px;height:18px;margin:0;accent-color:var(--primary)}.settings-checkbox-control:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.settings-workspace>.settings-loading{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior-y:contain}.settings-loading,.settings-empty{display:grid;min-height:150px;padding:28px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-surface);place-items:center;text-align:center}.workspace-error{width:fit-content;max-width:100%;margin:20px 0 0;padding:10px 12px;color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-control);font-size:var(--font-size-body)}.email-header-status{display:inline-flex;min-height:30px;align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:var(--muted);background:var(--surface-subtle);border:1px solid var(--line-strong);border-radius:var(--radius-button);font-size:var(--font-size-helper);font-weight:800;white-space:nowrap}.email-header-status i,.email-action-state i{width:8px;height:8px;border-radius:50%;background:var(--pending)}.email-header-status-ready{color:var(--success);background:var(--success-soft);border-color:var(--success-border)}.email-header-status-ready i{background:var(--success)}.email-header-status-dirty{color:var(--pending);background:var(--pending-soft);border-color:var(--pending-border)}.email-provider-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.email-provider-option{display:grid;position:relative;min-height:64px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-2);padding:var(--space-3);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-surface);font-size:var(--font-size-button);text-align:left}.email-provider-option:hover{background:var(--primary-soft);border-color:var(--primary-border)}.email-provider-option-active{padding-bottom:calc(var(--space-3) + 16px);border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.email-provider-badge{display:inline-grid;width:26px;height:26px;color:var(--primary);background:var(--surface-subtle);border:1px solid var(--line-strong);border-radius:50%;font-size:var(--font-size-helper);font-weight:900;place-items:center}.email-provider-copy{display:grid;min-width:0;gap:2px}.email-provider-copy strong{color:var(--ink);font-weight:800;line-height:1.25}.email-provider-copy small{overflow:hidden;color:var(--muted);font-size:var(--font-size-helper);text-overflow:ellipsis;white-space:nowrap}.email-provider-selected{position:absolute;bottom:5px;left:12px;padding:2px 7px;color:var(--surface);background:var(--primary);border-radius:var(--radius-button);font-size:var(--font-size-helper);font-weight:900;letter-spacing:.06em;text-transform:uppercase}.email-clear-password-control{justify-self:start}.email-action-state{display:grid;min-width:0;gap:3px;color:var(--muted);font-size:var(--font-size-helper);line-height:1.35}.email-action-state span{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--ink);font-size:var(--font-size-subtitle);font-weight:800}.email-action-state small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-table-wrap{overflow:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-bottom:0;border-radius:0;box-shadow:none}.settings-panel .settings-empty{border:0;border-radius:0}.settings-table{width:100%;min-width:680px;border-spacing:0;text-align:left}.settings-table th{position:sticky;z-index:1;top:0;padding:var(--table-cell-padding-block) var(--table-cell-padding-inline);color:var(--muted);background:var(--surface);border-bottom:1px solid var(--line);font-size:var(--table-header-font-size);font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.settings-table td{padding:var(--table-cell-padding-block) var(--table-cell-padding-inline);color:#475467;border-bottom:1px solid var(--line);font-size:var(--table-cell-font-size);vertical-align:middle}.settings-panel .settings-table th,.settings-panel .settings-table td{padding:var(--table-compact-cell-padding-block) var(--table-compact-cell-padding-inline)}.settings-table tbody tr:last-child td{border-bottom:0}.settings-table td:nth-child(2){color:var(--ink)}.settings-table-actions{width:120px;text-align:right;white-space:nowrap}.settings-edit-grid{min-width:760px}.settings-edit-grid td:first-child{width:260px;color:var(--ink);vertical-align:top}.settings-edit-grid td:first-child strong,.settings-edit-grid td:first-child small{display:block}.settings-edit-grid td:first-child small{margin-top:4px;color:var(--muted);font-size:var(--font-size-helper);font-weight:500;line-height:1.4}.settings-edit-grid .field{max-width:100%}.settings-edit-cell>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;border:0;clip:rect(0,0,0,0);white-space:nowrap}.settings-edit-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.settings-edit-grid-port{grid-template-columns:minmax(90px,140px) minmax(160px,1fr)}.settings-email-grid{min-width:980px}.settings-email-grid td:nth-child(2){min-width:420px}.settings-email-provider-options{grid-template-columns:repeat(4,minmax(0,1fr))}.settings-panel-footer{display:flex;min-height:64px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:var(--space-3);padding:7px 24px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:0 0 var(--radius-frame) var(--radius-frame);box-shadow:var(--shadow-surface);font-size:var(--font-size-body)}.subadmin-shell-settings .settings-panel-footer{border-radius:0}.settings-panel-footer>span{font-weight:700;white-space:nowrap}.settings-footer-pagination{display:inline-grid;grid-template-columns:minmax(82px,auto) auto minmax(82px,auto);align-items:center;gap:var(--space-2);padding:4px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-control)}.settings-footer-pagination>span{color:var(--muted);font-size:var(--font-size-body);font-weight:700;white-space:nowrap}.settings-pagination{display:inline-grid;grid-template-columns:minmax(86px,auto) auto minmax(86px,auto);align-items:center;justify-content:center;gap:10px;margin:12px auto 0;padding:4px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-control)}.settings-pagination span{color:var(--muted);font-size:var(--font-size-body);font-weight:700;white-space:nowrap}.work-request-management-workspace{position:relative;width:100%;height:100%;min-height:0;margin-inline:0;padding:0;overflow:hidden;background:var(--workspace-canvas)}.work-request-management-header{display:flex;min-height:var(--work-request-management-header-height);flex:0 0 var(--work-request-management-header-height);align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-6);background:var(--surface);border-bottom:1px solid var(--line)}.work-request-management-header h1{margin:0;color:var(--ink);font-size:var(--font-size-title);font-weight:750;letter-spacing:0;line-height:1.2}.work-request-management-header-tools{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:var(--space-2)}.work-request-management-search{display:grid;width:clamp(300px,32vw,378px);min-width:0}.work-request-management-search-field{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-2);min-height:var(--button-height);padding:0 12px;color:var(--muted);background:var(--surface-subtle);border:1px solid var(--line-strong);border-radius:var(--radius-control)}.work-request-management-search-field:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.work-request-management-search-field .app-icon{width:var(--admin-action-icon-size);height:var(--admin-action-icon-size)}.work-request-management-search-field input{width:100%;min-width:0;min-height:0;padding:0;color:var(--ink);background:transparent;border:0;outline:0}.work-request-management-header-action{position:relative;min-width:86px;min-height:var(--button-height);align-items:center;gap:var(--space-2);white-space:nowrap}.work-request-management-header-action .app-icon{width:var(--admin-action-icon-size);height:var(--admin-action-icon-size)}.work-request-management-panel{display:grid;min-height:0;flex:1 1 auto;grid-template-rows:minmax(0,1fr) var(--work-request-management-footer-height);gap:0;overflow:hidden;background:var(--surface)}.work-request-management-panel>.settings-table-wrap{min-height:0;overflow:auto;background:var(--surface);border:0;border-radius:0;box-shadow:none}.work-request-management-panel .settings-empty{height:100%;min-height:var(--empty-state-min-height);border:0;border-radius:0}.work-request-management-filter-backdrop{display:block;position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;padding:0;background:var(--overlay);border:0;border-radius:0}.work-request-management-filter.dashboard-filter-form{display:grid!important;position:fixed;z-index:31;top:0;right:0;bottom:0;width:min(100vw,var(--work-request-management-drawer-width));height:100dvh;min-height:0;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr) auto;align-items:stretch;gap:0;padding:0;overflow:hidden;visibility:hidden;pointer-events:none;background:var(--surface);border:0;border-radius:0;box-shadow:var(--shadow-modal);transform:translate(100%);transition:transform .18s ease-out,visibility 0s linear .18s}.work-request-management-filter.dashboard-filter-form-open{visibility:visible;pointer-events:auto;transform:translate(0);transition:transform .18s ease-out,visibility 0s}.work-request-management-filter .dashboard-filter-header{display:flex;min-height:var(--work-request-management-header-height);align-items:center;justify-content:space-between;gap:var(--space-3);padding:calc(var(--space-4) + env(safe-area-inset-top)) var(--modal-padding) var(--space-4);background:var(--surface);border-bottom:1px solid var(--line)}.work-request-management-filter .dashboard-filter-header h2{margin:0;color:var(--ink);font-size:var(--font-size-section-title);line-height:1.25}.work-request-management-filter .dashboard-filter-content{display:grid;min-height:0;grid-template-columns:1fr!important;align-content:start;gap:var(--modal-content-gap);padding:var(--modal-padding);overflow-y:auto;overscroll-behavior:contain}.work-request-management-filter .field{width:100%;grid-column:auto}.work-request-management-filter .field>span{position:static;width:auto;height:auto;padding:0;overflow:visible;border:0;clip:auto;white-space:normal}.work-request-management-filter-error{width:100%;margin:0}.work-request-management-filter .dashboard-filter-actions{display:grid!important;grid-template-columns:1fr;align-items:stretch;gap:var(--space-3);padding:var(--space-4) var(--modal-padding) calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}.work-request-management-filter-actions .button{width:100%;min-width:0}.attendance-report-page-header{flex:0 0 auto;border-radius:var(--radius-frame) var(--radius-frame) 0 0;box-shadow:none}.attendance-report-filter{display:grid;flex:0 0 auto;grid-template-columns:minmax(260px,1fr) 190px auto;align-items:end;gap:var(--space-3);padding:var(--attendance-report-filter-padding);background:var(--surface);border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius-frame) var(--radius-frame)}.attendance-report-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.attendance-report-filter-actions .button{min-width:84px;white-space:nowrap}.attendance-report-body{display:flex;min-height:var(--empty-state-min-height);flex:1 1 auto;margin-top:var(--space-3);overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-frame);box-shadow:var(--shadow-surface)}.attendance-report-error{flex:0 0 auto;margin:var(--space-2) 0 0}.attendance-report-state{display:grid;width:100%;min-height:var(--empty-state-min-height);padding:var(--space-6);color:var(--muted);font-size:var(--font-size-body);line-height:1.5;place-items:center;text-align:center}.attendance-report-state-empty{align-content:center;gap:var(--space-2)}.attendance-report-state-empty strong{color:var(--ink);font-size:var(--font-size-section-title)}.attendance-report-state-empty span{max-width:420px}.attendance-report-spreadsheet{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}.attendance-summary-frame{display:grid;flex:1 1 auto;min-height:0;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;background:var(--surface);border-radius:0}.attendance-summary-frame-header{display:grid;grid-row:1;flex:0 0 auto;background:var(--surface);border-bottom:1px solid var(--line)}.attendance-summary-frame>.attendance-report-error{grid-row:2}.attendance-summary-frame-topline,.attendance-summary-frame-controls{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-4);padding:14px 24px}.attendance-summary-frame-topline{min-height:72px}.attendance-summary-frame-controls{min-height:64px;border-top:1px solid var(--line)}.attendance-summary-heading{min-width:0}.attendance-summary-heading h1{margin:var(--space-1) 0 0;font-size:var(--font-size-title)}.attendance-summary-actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:var(--space-2)}.attendance-summary-search{display:flex;width:min(28vw,320px);min-width:220px;min-height:42px;align-items:center;gap:var(--space-2);padding:0 13px;color:var(--muted);background:var(--surface-subtle);border:1px solid var(--line-strong);border-radius:var(--radius-control)}.attendance-summary-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.attendance-summary-search input{width:100%;min-width:0;padding:0;color:var(--ink);background:transparent;border:0;outline:none;font:inherit;font-size:var(--font-size-control-desktop)}.attendance-summary-mode{display:grid;width:224px;min-height:var(--button-height);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:4px;background:var(--primary-soft);border-radius:var(--radius-button)}.attendance-summary-mode-button{min-height:32px;padding-inline:14px;color:var(--primary);background:transparent;border:0;border-radius:var(--radius-button);font-weight:800;white-space:nowrap;cursor:pointer}.attendance-summary-mode-button-active{color:var(--surface);background:var(--primary);box-shadow:var(--shadow-surface)}.attendance-summary-period{width:210px}.attendance-summary-period.field>span{color:var(--muted);font-size:var(--font-size-helper);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.attendance-summary-refresh{min-width:116px}.attendance-summary-export-menu .button{min-width:92px;white-space:nowrap}.dashboard-filter-trigger,.dashboard-filter-backdrop,.dashboard-filter-header,.dashboard-filter-close-footer{display:none}.dashboard-filter-content{display:contents}.dashboard-filter-count{display:inline-grid;min-width:22px;min-height:22px;padding-inline:6px;color:var(--surface);background:var(--primary);border-radius:999px;font-size:var(--font-size-helper);line-height:1;place-items:center}.attendance-summary-body{min-height:0;grid-row:3;margin-top:0;border:0;border-radius:0;box-shadow:none}.attendance-summary-table-wrap{width:100%;min-height:0;overflow:auto;overscroll-behavior:contain}.attendance-summary-table{width:max-content;min-width:max(100%,1320px);border-spacing:0;table-layout:auto;text-align:left}.attendance-summary-table-month{min-width:max(100%,980px)}.attendance-summary-table th,.attendance-summary-table td{padding:12px 14px;color:var(--ink);border-bottom:1px solid var(--line);font-size:var(--table-cell-font-size);line-height:1.4;vertical-align:middle}.attendance-summary-table thead th{position:sticky;z-index:2;top:0;height:40px;color:var(--muted);background:var(--surface-subtle);font-size:var(--table-header-font-size);font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.attendance-summary-table thead tr:nth-child(2) th{top:40px;text-align:center}.attendance-summary-table tbody tr:hover{background:#f8fafc}.attendance-summary-table td{white-space:nowrap}.attendance-summary-table td:nth-child(2){min-width:260px;color:var(--ink);white-space:normal}.attendance-summary-table td:nth-child(2) span{display:block;margin-top:3px;color:var(--muted);font-size:var(--font-size-subtitle);line-height:1.3}.attendance-summary-table th:first-child,.attendance-summary-table td:first-child{min-width:56px;text-align:center}.attendance-summary-employee-link,.attendance-summary-count-link{color:var(--primary);font-weight:850;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;cursor:pointer}.attendance-summary-count-link:disabled{color:var(--muted);cursor:default;opacity:.82;text-decoration:none}.attendance-summary-multiline{min-width:180px;white-space:pre-line}.attendance-summary-time-list{display:grid;justify-items:start;gap:var(--space-1)}.attendance-summary-footer{display:flex;min-height:58px;grid-row:4;align-items:center;justify-content:space-between;gap:var(--space-4);padding:8px 24px calc(8px + env(safe-area-inset-bottom));color:var(--muted);background:var(--surface);border-top:1px solid var(--line);font-size:var(--font-size-body);font-weight:750}.attendance-summary-pagination{display:flex;align-items:center;gap:var(--space-2)}.table-sticky-action{position:sticky;z-index:3;right:0;min-width:var(--table-sticky-action-min-width);background:var(--surface);box-shadow:var(--table-sticky-action-shadow)}th.table-sticky-action{z-index:4}.attendance-detail-header{align-items:center}.attendance-detail-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2)}.attendance-detail-header-actions .button{min-width:92px;white-space:nowrap}.attendance-detail-back{display:inline-flex;min-height:36px;align-items:center;padding-inline:8px;color:var(--primary);font-weight:800;white-space:nowrap}.attendance-detail-summary{display:grid;gap:4px;margin-top:var(--space-3);padding:12px 14px;color:var(--ink);background:var(--pending-soft);border:1px solid var(--pending-border);border-radius:var(--radius-control)}.attendance-detail-summary span{color:var(--pending);font-size:var(--font-size-helper);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.attendance-detail-summary strong{font-size:var(--font-size-body);font-weight:700;line-height:1.35}.attendance-detail-body{margin-top:var(--space-3)}.attendance-report-evidence-shell{display:grid;align-content:start;gap:var(--space-3);overflow:auto;overscroll-behavior:contain;padding:var(--space-4)}.attendance-evidence-tabs{display:flex;min-width:0;border-bottom:1px solid var(--line)}.attendance-evidence-tab{position:relative;min-height:44px;padding:0 var(--space-4);color:var(--muted);background:transparent;border:0;border-radius:var(--radius-control) var(--radius-control) 0 0;font:inherit;font-size:var(--font-size-body);font-weight:800;cursor:pointer}.attendance-evidence-tab:after{position:absolute;right:0;bottom:-1px;left:0;height:3px;background:transparent;content:""}.attendance-evidence-tab:hover{color:var(--primary);background:var(--primary-soft)}.attendance-evidence-tab:focus-visible{z-index:1;outline:3px solid rgb(35 87 217 / 18%);outline-offset:-3px}.attendance-evidence-tab-active{color:var(--primary);background:var(--primary-soft)}.attendance-evidence-tab-active:after{background:var(--primary)}.attendance-evidence-section{display:grid;min-width:0;gap:var(--space-2)}.attendance-evidence-table-wrap{width:100%;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-surface)}.attendance-evidence-table{width:max-content;min-width:max(100%,1160px);border-spacing:0;table-layout:auto;text-align:left}.attendance-evidence-table th,.attendance-evidence-table td{padding:var(--attendance-report-cell-padding-block) var(--attendance-report-cell-padding-inline);color:var(--ink);border-bottom:1px solid var(--line);font-size:var(--table-cell-font-size);line-height:1.35;vertical-align:middle}.attendance-evidence-table thead th{position:sticky;z-index:2;top:0;height:var(--attendance-report-header-row-height);color:var(--muted);background:var(--workspace-canvas);font-size:var(--table-header-font-size);font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.attendance-evidence-table tbody th{color:var(--ink);background:var(--surface);font-weight:800;white-space:nowrap}.attendance-evidence-table tbody tr:last-child th,.attendance-evidence-table tbody tr:last-child td{border-bottom:0}.attendance-evidence-table td:not(.attendance-evidence-text-cell){white-space:nowrap}.attendance-evidence-daily-table{min-width:max(100%,1160px)}.attendance-evidence-daily-table thead tr:nth-child(2) th{top:var(--attendance-report-header-row-height)}.attendance-evidence-session-heading{color:var(--primary);text-align:center;border-right:1px solid var(--line);border-left:1px solid var(--line)}.attendance-evidence-session-subheading{min-width:72px;text-align:center}.attendance-evidence-punch-table{min-width:max(100%,920px)}.attendance-evidence-row-outside th:first-child{box-shadow:inset 3px 0 0 var(--pending-border)}.attendance-evidence-text-cell{min-width:140px;white-space:normal}.attendance-evidence-type,.attendance-evidence-position{display:inline-flex;min-height:26px;align-items:center;justify-content:center;padding:4px 9px;border:1px solid var(--line);border-radius:var(--radius-button);font-size:var(--font-size-helper);font-weight:800;line-height:1;white-space:nowrap}.attendance-evidence-type-in{color:var(--primary);background:var(--primary-soft);border-color:var(--primary-border)}.attendance-evidence-type-out{color:var(--ink);background:var(--workspace-canvas);border-color:var(--line)}.attendance-evidence-position-inside{color:var(--success);background:var(--success-soft);border-color:var(--success-border)}.attendance-evidence-position-outside{color:var(--pending);background:var(--pending-soft);border-color:var(--pending-border)}.attendance-evidence-time-link{min-height:32px;padding:0 var(--space-1);color:var(--primary);border-radius:var(--radius-control);font-size:var(--font-size-body);font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;white-space:nowrap}.attendance-evidence-time-link:hover{color:var(--primary-hover);background:var(--primary-soft)}.attendance-evidence-link{color:var(--primary);font-size:var(--font-size-subtitle);font-weight:800;text-decoration:none;white-space:nowrap}.attendance-evidence-link:hover{color:var(--primary-hover);text-decoration:underline}.attendance-evidence-empty{height:112px;color:var(--muted);text-align:center}.modal.modal-attendance-evidence-photo{display:grid;width:min(100%,720px);height:min(820px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0}.modal-attendance-evidence-reason{display:grid;width:min(100%,560px);max-height:min(760px,calc(100dvh - 48px));grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0}.modal-attendance-evidence-photo>.modal-header,.modal-attendance-evidence-reason>.modal-header{padding:var(--modal-padding);border-bottom:1px solid var(--line)}.modal-attendance-evidence-reason>.modal-actions{margin-top:0;padding:var(--modal-padding);border-top:1px solid var(--line)}.attendance-evidence-modal-content{display:grid;align-content:start;gap:var(--space-3);min-height:0;padding:var(--modal-padding);overflow-y:auto}.modal-attendance-evidence-photo>.attendance-evidence-modal-content{grid-template-rows:minmax(0,1fr);align-content:stretch;overflow:hidden}.attendance-evidence-modal-state{display:grid;min-height:180px;color:var(--muted);place-items:center;text-align:center}.modal-attendance-evidence-photo .attendance-evidence-modal-state{height:100%;min-height:0}.attendance-evidence-photo-frame{display:grid;position:relative;width:100%;min-height:0;margin:0;overflow:hidden;background:#101828;border-radius:var(--radius-surface);place-items:center}.attendance-evidence-photo-frame img{display:block;position:absolute;width:100%;height:100%;max-width:100%;max-height:100%;top:0;right:0;bottom:0;left:0;object-fit:contain}.attendance-evidence-location-footer{max-height:42dvh;padding:var(--space-4) var(--modal-padding) calc(var(--modal-padding) + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border-top:1px solid var(--line)}.attendance-evidence-location-card{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-surface)}.attendance-evidence-location-card h3{margin:0;color:var(--ink);font-size:var(--font-size-body)}.attendance-evidence-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:0}.attendance-evidence-location-grid div{display:grid;gap:var(--space-1);min-width:0}.attendance-evidence-location-grid dt{color:var(--muted);font-size:var(--font-size-helper);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.attendance-evidence-location-grid dd{margin:0;color:var(--ink);font-size:var(--font-size-body);font-weight:700;overflow-wrap:anywhere}.attendance-evidence-map-link{display:inline-flex;min-height:var(--button-height);align-items:center;justify-content:center;justify-self:start;padding-inline:var(--button-padding-inline);color:var(--primary);background:var(--surface);border:1px solid var(--primary-border);border-radius:var(--radius-button);font-size:var(--font-size-button);font-weight:800;text-decoration:none}.attendance-evidence-map-link:hover{color:var(--primary-hover);background:var(--primary-soft)}.attendance-evidence-location-empty{margin:0;color:var(--muted);font-size:var(--font-size-subtitle)}.attendance-evidence-reason-body{display:grid;gap:var(--space-2);padding:var(--space-3);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-control)}.attendance-evidence-reason-body p{margin:0;color:var(--ink);font-size:var(--font-size-body);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.attendance-evidence-modal-meta{color:var(--muted);font-size:var(--font-size-helper);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.modal.modal-attendance-invalid-punch,.modal.modal-attendance-overtime{display:grid;width:min(100%,860px);max-height:min(760px,calc(100dvh - 48px));grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0}.modal.modal-attendance-overtime{width:min(100%,720px);grid-template-rows:auto minmax(0,1fr)}.modal-attendance-invalid-punch>.modal-header,.modal-attendance-overtime>.modal-header{padding:var(--modal-padding);border-bottom:1px solid var(--line)}.modal-attendance-invalid-punch>.modal-actions{margin-top:0;padding:var(--modal-padding);border-top:1px solid var(--line)}.attendance-invalid-punch-content,.attendance-overtime-content{display:grid;align-content:start;gap:var(--space-3);min-height:0;padding:var(--modal-padding);overflow:auto;overscroll-behavior:contain}.attendance-invalid-punch-table-wrap{min-width:0;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-surface)}.attendance-invalid-punch-table{width:max-content;min-width:max(100%,820px);border-spacing:0;text-align:left}.attendance-invalid-punch-table th,.attendance-invalid-punch-table td{padding:10px 12px;color:var(--ink);border-bottom:1px solid var(--line);font-size:var(--table-cell-font-size);line-height:1.4;vertical-align:middle}.attendance-invalid-punch-table thead th{position:sticky;z-index:1;top:0;color:var(--muted);background:var(--surface-subtle);font-size:var(--table-header-font-size);font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.attendance-invalid-punch-table tbody tr:last-child td{border-bottom:0}.attendance-invalid-punch-table td:not(.attendance-invalid-punch-reason-cell){white-space:nowrap}.attendance-invalid-punch-reason-cell{max-width:220px;white-space:normal;overflow-wrap:anywhere}.attendance-overtime-list{display:grid;gap:var(--space-2)}.attendance-overtime-card{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--ink);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-surface);text-align:left;cursor:pointer}.attendance-overtime-card:hover{border-color:var(--primary-border);background:var(--primary-soft)}.attendance-overtime-card span{display:grid;min-width:0;gap:3px}.attendance-overtime-card strong{font-size:var(--font-size-body);line-height:1.35}.attendance-overtime-card small{color:var(--muted);font-size:var(--font-size-subtitle);overflow-wrap:anywhere}.work-request-management-table{min-width:var(--work-request-management-table-min-width);table-layout:fixed}.work-request-management-table th{height:44px;color:var(--muted);background:var(--surface-subtle);font-size:var(--table-header-font-size);font-weight:700;letter-spacing:.03em}.work-request-management-table th:nth-child(1){width:56px}.work-request-management-table th:nth-child(2){width:190px}.work-request-management-table th:nth-child(3){width:126px}.work-request-management-table th:nth-child(4){width:160px}.work-request-management-table th:nth-child(5){width:220px}.work-request-management-table th:nth-child(6){width:118px}.work-request-management-table th:nth-child(7){width:136px}.work-request-management-table th:nth-child(8){width:90px}.work-request-management-table th:first-child,.work-request-management-table td:first-child{position:sticky;z-index:2;left:0;background:var(--surface);box-shadow:1px 0 0 var(--line),10px 0 16px #1018280a}.work-request-management-table th:last-child,.work-request-management-table td:last-child{position:sticky;z-index:2;right:0;background:var(--surface);box-shadow:-1px 0 0 var(--line),-10px 0 16px #1018280a}.work-request-management-table th:first-child,.work-request-management-table th:last-child{background:var(--surface-subtle)}.work-request-management-table th:first-child,.work-request-management-table th:last-child{z-index:3}.work-request-management-row{cursor:pointer}.work-request-management-row:hover,.work-request-management-row:has(.work-request-management-open:focus-visible){background:#f8fafc}.work-request-management-row:hover td:first-child,.work-request-management-row:hover td:last-child,.work-request-management-row:has(.work-request-management-open:focus-visible) td:first-child,.work-request-management-row:has(.work-request-management-open:focus-visible) td:last-child{background:#f8fafc}.work-request-management-table td{height:var(--work-request-management-row-height);line-height:1.45}.work-request-management-table .work-request-status{display:inline-flex}.work-request-management-open{display:grid;width:100%;min-width:0;gap:2px;padding:5px;color:inherit;background:transparent;border:0;border-radius:var(--radius-control);font:inherit;text-align:left;cursor:pointer}.work-request-management-open:focus-visible{outline:3px solid rgb(35 87 217 / 18%)}.work-request-management-no-action{color:var(--muted);font-size:var(--font-size-subtitle);font-weight:700}.work-request-management-text-cell{white-space:normal;overflow-wrap:anywhere}.work-request-management-action-cell{width:96px;min-width:96px;text-align:right}.work-request-management-cancel-icon{margin-left:0}.work-request-management-pagination{display:flex;min-height:var(--work-request-management-footer-height);align-items:center;justify-content:flex-end;gap:var(--space-2);margin:0;padding:8px var(--space-6);background:var(--surface);border-top:1px solid var(--line);border-right:0;border-bottom:0;border-left:0;border-radius:0}.work-request-management-pagination-range{margin-right:auto;color:var(--muted);font-size:var(--font-size-body);font-weight:700;white-space:nowrap}.work-request-management-card-list{display:none}.work-request-management-card{display:grid;position:relative;gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:none}.work-request-management-card:has(.work-request-management-card-open:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}.work-request-management-card-open{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:0;color:inherit;background:transparent;border:0;text-align:left;cursor:pointer}.work-request-management-card-open:after{content:"";position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;border-radius:inherit}.work-request-management-card-open:focus-visible{outline:none}.work-request-management-card-open>div{display:grid;min-width:0;gap:3px}.work-request-management-card-open strong{overflow:hidden;color:var(--ink);font-size:var(--font-size-body);line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.work-request-management-card-open span{color:var(--muted);font-size:var(--font-size-subtitle);line-height:1.35;overflow-wrap:anywhere}.work-request-management-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-3);margin:0}.work-request-management-card-grid div{display:grid;min-width:0;gap:2px}.work-request-management-card-grid dt{color:var(--muted);font-size:var(--font-size-helper);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.work-request-management-card-grid dd{min-width:0;margin:0;color:var(--ink);font-size:var(--font-size-body);font-weight:650;line-height:1.35;overflow-wrap:anywhere}.work-request-management-card-reason dd{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.work-request-management-card-actions{display:flex;position:relative;z-index:2;justify-content:flex-end}.modal-work-request-detail{display:grid;width:min(100%,640px);max-height:min(760px,calc(100dvh - 48px));grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0}.modal-work-request-detail>.modal-header{padding:var(--modal-padding);border-bottom:1px solid var(--line)}.modal-work-request-detail>.modal-actions{margin-top:0;padding:var(--modal-padding);border-top:1px solid var(--line)}.work-request-management-detail-content{display:grid;align-content:start;gap:16px;min-height:0;padding:var(--modal-padding);overflow-y:auto}.work-request-detail-heading>div{display:grid;min-width:0;gap:3px}.work-request-detail-heading strong{color:var(--ink);font-size:var(--font-size-body);line-height:1.35}.work-request-detail-heading span{color:var(--muted);font-size:var(--font-size-subtitle);line-height:1.35;overflow-wrap:anywhere}.work-request-management-reason{display:grid;gap:6px;padding:14px;background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius-control)}.work-request-management-reason strong,.work-request-management-reason p{margin:0}.work-request-management-reason strong{color:var(--ink);font-size:var(--font-size-body)}.work-request-management-reason p{color:#344054;font-size:var(--font-size-body);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.modal-work-request-cancel{width:min(100%,440px)}.modal.modal-email-test{width:min(100%,500px)}.user-list-toolbar{display:flex;min-height:var(--user-list-toolbar-height);flex:0 0 var(--user-list-toolbar-height);align-items:center;justify-content:space-between;gap:var(--space-6);padding:0 var(--space-6);background:var(--surface);border-bottom:1px solid var(--line)}.user-list-toolbar h1{flex:0 0 auto;margin:0;font-size:var(--font-size-title);line-height:1.2;white-space:nowrap}.user-list-title-short{display:none}.user-list-toolbar-actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:var(--space-4)}.user-search-field{display:flex;position:relative;width:min(var(--user-list-search-width),42vw);min-width:220px;align-items:center}.user-search-field>.app-icon{position:absolute;z-index:1;left:16px;width:16px;height:16px;color:var(--muted);pointer-events:none}.user-search-field input{width:100%;height:40px;padding:0 16px 0 42px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-control);font-size:var(--font-size-control-desktop)}.user-search-field input:focus{border-color:var(--primary);outline:3px solid var(--focus-ring)}.user-create-action{min-height:40px;padding-inline:var(--space-5);white-space:nowrap}.user-list-prerequisite{position:absolute;z-index:4;top:calc(var(--user-list-toolbar-height) + var(--space-3));right:var(--space-6);left:var(--space-6);margin:0;padding:var(--space-3) var(--space-4);color:var(--pending);background:var(--pending-soft);border:1px solid var(--pending-border);border-radius:var(--radius-control);font-size:var(--font-size-subtitle);font-weight:700}.user-list-error{position:absolute;z-index:4;top:calc(var(--user-list-toolbar-height) + var(--space-3));right:var(--space-6);left:var(--space-6);margin:0}.user-list-surface{display:flex;min-width:0;min-height:0;flex:1 1 auto;flex-direction:column;background:var(--surface)}.user-list-mobile-heading,.user-list-mobile-heading-tablet{display:none}.user-list-scroll{min-width:0;min-height:0;flex:1 1 auto;overflow:auto;overscroll-behavior:contain;background:var(--surface)}.user-list-state{display:grid;min-height:100%;padding:var(--space-6);color:var(--muted);font-size:var(--font-size-body);place-items:center;text-align:center}.user-table{width:100%;min-width:860px;border-spacing:0;border-collapse:separate;table-layout:fixed;background:var(--surface)}.user-table th{position:sticky;z-index:2;top:0;height:var(--user-list-header-height);padding:0 var(--space-5);color:var(--muted);background:var(--surface-subtle);border-bottom:1px solid var(--line);border-left:1px solid var(--line);font-size:var(--table-header-font-size);font-weight:800;letter-spacing:.015em;text-align:left}.user-table th:first-child{width:7%;border-left:0}.user-table th:nth-child(2){width:30%}.user-table th:nth-child(3){width:18%}.user-table th:nth-child(4){width:24%}.user-table th:nth-child(5){width:21%}.user-table td{height:var(--user-list-row-height);padding:var(--space-3) var(--space-5);color:var(--ink);background:var(--surface);border-bottom:1px solid var(--line);font-size:var(--table-cell-font-size);vertical-align:middle}.user-table tbody tr:hover td{background:var(--surface-subtle)}.user-table-index{color:var(--muted);font-variant-numeric:tabular-nums}.user-table-index-label{display:none}.user-table-employee,.user-table-role,.user-table-status{min-width:0}.user-name-link{width:fit-content;max-width:100%;padding:0;overflow:hidden;color:var(--primary);background:transparent;border:0;border-radius:2px;font:inherit;font-weight:750;text-align:left;text-decoration:underline;text-decoration-color:#526b8f73;text-underline-offset:2px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.user-name-link:hover{color:var(--primary-hover);text-decoration-color:currentcolor}.user-name-link:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.user-row-meta{display:flex;min-width:0;align-items:center;gap:7px;margin-top:3px;overflow:hidden;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-size-subtitle);line-height:1.3}.user-row-meta span,.user-row-meta code{overflow:hidden;color:inherit;font:inherit;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.user-row-meta i{font-style:normal}.user-table-role strong,.user-table-role>span{display:block}.user-table-role strong{font-weight:750}.user-table-role>span{margin-top:3px;color:#475467}.user-status{display:inline-flex;width:fit-content;align-items:center;gap:7px;color:var(--muted);font-size:var(--font-size-subtitle);font-weight:700;line-height:1.35;white-space:nowrap}.user-status i{width:7px;height:7px;flex:0 0 7px;background:currentcolor;border-radius:50%}.user-status-ready{color:var(--success)}.user-status-pending{color:var(--pending)}.user-status-blocked{color:var(--danger)}.user-table-status .user-status+.user-status{margin-top:3px}.user-table-actions{padding-inline:var(--space-3) var(--space-5)!important}.user-row-actions{display:flex;align-items:center;justify-content:flex-start;gap:6px}.user-action-button{display:inline-grid;position:relative;width:var(--icon-button-size);min-width:var(--icon-button-size);height:var(--icon-button-size);padding:0;color:var(--primary);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-button);place-items:center}.user-action-button:hover{color:var(--primary-hover);background:var(--primary-soft);border-color:var(--primary-border)}.user-action-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}.user-action-button-danger{color:var(--danger)}.user-action-button-danger:hover{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-border)}.user-action-button-success{color:var(--success)}.user-action-button-success:hover{color:var(--success);background:var(--success-soft);border-color:var(--success-border)}.user-action-tooltip{position:absolute;z-index:8;bottom:calc(100% + 7px);left:50%;width:max-content;max-width:180px;padding:6px 8px;color:#fff;background:var(--ink);border-radius:6px;box-shadow:var(--shadow-menu);font-size:var(--font-size-helper);font-weight:700;line-height:1.3;opacity:0;pointer-events:none;transform:translate(-50%,3px);transition:opacity var(--transition-fast),transform var(--transition-fast);visibility:hidden}.user-action-button:hover .user-action-tooltip,.user-action-button:focus-visible .user-action-tooltip{opacity:1;transform:translate(-50%);visibility:visible}.user-action-button:nth-last-child(-n+2) .user-action-tooltip{right:0;left:auto;transform:translateY(3px)}.user-action-button:nth-last-child(-n+2):hover .user-action-tooltip,.user-action-button:nth-last-child(-n+2):focus-visible .user-action-tooltip{transform:translateY(0)}.user-list-pagination{display:flex;min-height:var(--user-list-footer-height);flex:0 0 var(--user-list-footer-height);align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-6);color:var(--muted);background:var(--surface);border-top:1px solid var(--line);font-size:var(--font-size-body)}.user-list-pagination>span{font-weight:650;white-space:nowrap}.user-pagination-controls{display:flex;align-items:center;gap:var(--space-3)}.user-pagination-controls .button{min-width:80px;min-height:40px}.user-pagination-page{display:inline-grid;width:40px;height:40px;color:#fff;background:var(--primary);border-radius:50%;font-size:var(--font-size-body);font-weight:750;place-items:center}.small-icon-button{display:inline-grid;width:var(--icon-button-size);min-width:var(--icon-button-size);height:var(--icon-button-size);flex:0 0 var(--icon-button-size);margin-left:6px;padding:0;color:#475467;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-button);place-items:center}.small-icon-button:hover{color:var(--ink);background:var(--neutral-hover)}.small-icon-button-danger{color:var(--danger);border-color:var(--line)}.small-icon-button-danger:hover{color:var(--danger);background:var(--danger-soft)}.currency-value{color:var(--ink)!important;font-variant-numeric:tabular-nums;font-weight:700}.project-table{min-width:var(--project-table-min-width);table-layout:fixed}.project-table th:nth-child(1){width:72px}.project-table th:nth-child(2){width:140px}.project-table th:nth-child(3){width:124px}.project-table th:nth-child(4){width:112px}.project-table th:nth-child(5){width:104px}.project-table th:nth-child(6){width:104px}.project-table .settings-table-actions{width:auto;white-space:normal}.project-table .settings-table-actions-heading{text-align:right}.project-table-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--project-table-action-gap);white-space:nowrap}.project-table-actions .button{min-height:var(--subadmin-dense-action-height);padding-inline:var(--space-3)}.project-table-actions .small-icon-button{margin-left:0}.project-people-button,.project-locations-button,.project-lifecycle-button{margin-right:0;white-space:nowrap}.project-row-closed td{background:#fcfcfd}.approval-permission-group{display:grid;gap:8px;margin:0;padding:12px;background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius-control)}.approval-permission-check{display:flex;min-height:44px;align-items:center;gap:12px;padding:0 12px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);font-size:var(--font-size-body);font-weight:700}.approval-permission-check input{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:var(--primary)}.form-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid-two>.field{align-content:start}.address-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:10px;row-gap:6px}.address-field .button{margin-bottom:0}.address-field-helper{grid-column:1 / -1;color:var(--muted);font-size:var(--font-size-helper);line-height:1.4}.form-helper{margin:0;color:var(--pending);font-size:var(--font-size-helper);line-height:1.5}.modal-location{width:min(100%,640px)}.location-coordinate-guide{display:grid;grid-template-columns:minmax(0,1fr) 196px;align-items:start;gap:16px;padding:16px;background:#f7f8fa;border:1px solid var(--line);border-radius:var(--radius-control)}.location-coordinate-guide-copy h3{margin:0;color:var(--ink);font-size:var(--font-size-body);letter-spacing:-.01em;line-height:1.35}.location-coordinate-guide-copy p{margin:6px 0 0;color:var(--muted);font-size:var(--font-size-helper);line-height:1.45}.location-coordinate-guide-copy ol{display:grid;gap:5px;margin:8px 0 0;padding-left:18px;color:#475467;font-size:var(--font-size-helper);line-height:1.45}.location-coordinate-guide-copy code{color:var(--ink);font-size:var(--font-size-subtitle)}.location-coordinate-guide-copy strong{color:var(--ink)}.location-coordinate-guide-figure{margin:0}.location-coordinate-guide-figure img{display:block;width:100%;border:1px solid var(--line);border-radius:6px}.location-coordinate-guide-figure figcaption{margin-top:6px;color:var(--muted);font-size:var(--font-size-helper);line-height:1.4}.modal-project-locations{width:min(100%,720px)}.modal-project-locations-header{min-height:32px}.project-location-modal-heading{display:flex;align-items:center;gap:8px}.modal.modal-project-managers{display:flex;width:min(100%,720px);max-height:min(760px,calc(100dvh - 48px));flex-direction:column;padding:0;overflow:hidden}.modal-project-managers-header{flex:0 0 auto;padding:var(--modal-padding);border-bottom:1px solid var(--line)}.modal-project-managers-header .project-location-modal-heading{min-width:0;align-items:flex-start}.modal-project-managers-header h2,.modal-project-managers-header p{margin:0}.modal-project-managers-header p{margin-top:var(--space-1);color:var(--muted);font-size:var(--font-size-subtitle);line-height:1.4}.project-people-modal-body{display:grid;min-height:0;flex:0 1 auto;padding-bottom:var(--space-3);overflow-y:auto;overscroll-behavior:contain}.project-manager-picker-toolbar,.project-manager-picker-heading,.project-manager-filter-panel{margin-right:var(--modal-padding);margin-left:var(--modal-padding)}.project-manager-picker-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:var(--space-2);margin-top:var(--space-3)}.project-manager-search{width:100%}.project-manager-filter-button{display:inline-flex;position:relative;width:var(--icon-button-touch-size);min-width:var(--icon-button-touch-size);height:var(--icon-button-touch-size);flex:0 0 var(--icon-button-touch-size);align-items:center;justify-content:center;padding:0;color:var(--primary);background:var(--surface);border:1px solid var(--primary-border);border-radius:var(--radius-button)}.project-manager-filter-button:hover{background:var(--primary-soft)}.project-manager-filter-button strong{display:grid;position:absolute;top:-7px;right:-7px;width:21px;height:21px;color:#fff;background:var(--primary);border:2px solid var(--surface);border-radius:50%;font-size:var(--font-size-helper);line-height:1;place-items:center}.project-manager-filter-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3);background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius-control)}.project-manager-picker-heading{margin-top:var(--space-3);color:var(--muted);font-size:var(--font-size-helper);font-weight:800;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}.project-manager-list{display:grid;margin:var(--space-3) var(--modal-padding) 0;overflow:visible;border:1px solid var(--line);border-radius:var(--radius-control)}.project-manager-row{display:flex;min-height:64px;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border-bottom:1px solid var(--line)}.project-manager-row:last-child{border-bottom:0}.project-manager-avatar{display:grid;width:40px;height:40px;flex:0 0 40px;color:var(--primary);background:var(--primary-soft);border-radius:50%;font-size:var(--font-size-subtitle);font-weight:850;place-items:center}.project-manager-row-copy{display:grid;min-width:0;gap:4px}.project-manager-row-copy strong{overflow:hidden;color:var(--ink);font-size:var(--font-size-body);line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.project-manager-row-copy span{overflow:hidden;color:var(--muted);font-size:var(--font-size-subtitle);line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.project-manager-badges{display:flex!important;min-width:0;flex-wrap:wrap;gap:6px;overflow:visible!important;white-space:normal!important}.approval-badge{display:inline-flex;min-height:22px;align-items:center;justify-content:center;padding:0 8px;color:var(--success)!important;background:var(--success-soft);border:1px solid var(--success-border);border-radius:var(--radius-button);font-size:var(--font-size-subtitle)!important;font-weight:800;line-height:1.1!important;white-space:nowrap!important}.approval-badge-warning{color:var(--pending)!important;background:var(--pending-soft);border-color:var(--pending-border)}.project-person-remove{min-height:40px;margin-left:auto;padding-inline:12px;color:var(--danger);border-radius:var(--radius-button);font-size:var(--font-size-button)}.project-manager-selection{cursor:pointer}.project-manager-selection:hover{background:#f7f8fa}.project-manager-selection input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--primary)}.project-people-modal-body>.project-location-empty,.project-people-modal-body>.project-location-error{margin-right:var(--modal-padding);margin-left:var(--modal-padding)}.project-manager-actions{flex:0 0 auto;align-items:center;margin:0;padding:var(--space-3) var(--modal-padding) var(--modal-padding);background:var(--surface);border-top:1px solid var(--line)}.modal.modal-project-managers>.project-manager-actions{margin:0}.project-location-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.project-location-search{width:min(100%,360px)}.project-location-toolbar-add{justify-content:flex-start}.project-location-list{display:grid;max-height:328px;margin-top:18px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-control)}.project-location-row{display:flex;min-height:72px;align-items:center;gap:14px;padding:12px 14px;background:var(--surface);border-bottom:1px solid var(--line)}.project-location-row:last-child{border-bottom:0}.project-location-details{display:grid;min-width:0;gap:3px;color:var(--muted);font-size:var(--font-size-body);line-height:1.35}.project-location-details code{color:#475467;font-size:var(--font-size-subtitle)}.project-location-details strong{overflow:hidden;color:var(--ink);font-size:var(--font-size-body);text-overflow:ellipsis;white-space:nowrap}.project-location-details span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-location-remove{margin-left:auto;color:var(--danger)}.project-location-selection{cursor:pointer}.project-location-selection:hover{background:#f7f8fa}.project-location-selection input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--primary)}.project-location-selected{background:var(--primary-soft)}.project-location-empty{display:grid;min-height:146px;margin-top:18px;padding:24px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);place-items:center;text-align:center}.project-location-error{margin-top:16px}.modal-user-locations{display:grid;width:min(100%,820px);max-height:min(760px,calc(100dvh - 48px));padding:0;overflow:hidden}.modal-user-locations>.modal-header{padding:var(--modal-padding);border-bottom:1px solid var(--line)}.user-location-modal-header p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--font-size-subtitle);line-height:1.4}.modal-user-locations .project-location-toolbar{margin:var(--space-4) var(--modal-padding) 0}.user-location-toolbar .project-location-search{flex:1 1 auto;width:auto}.user-location-search-wide{width:100%}.user-location-count,.user-location-selection-heading{margin:var(--space-4) var(--modal-padding) 0;color:var(--muted);font-size:var(--font-size-helper);font-weight:800;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}.user-location-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.user-location-selection-heading strong{color:var(--primary);font-size:var(--font-size-body);letter-spacing:0;text-transform:none}.modal-user-locations .project-location-list,.user-location-accordion-list{max-height:420px;margin:var(--space-4) var(--modal-padding) 0;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-control)}.user-location-row{min-height:78px}.location-radius-pill{display:inline-flex;min-width:70px;min-height:26px;align-items:center;justify-content:center;margin-left:auto;padding:0 10px;color:var(--primary);background:var(--primary-soft);border-radius:999px;font-size:var(--font-size-subtitle);font-weight:800;white-space:nowrap}.user-location-remove{flex:0 0 auto;color:var(--danger);border-color:var(--danger-border)}.user-location-remove:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.user-location-modal-actions{align-items:center;justify-content:space-between;margin-top:var(--space-4);padding:var(--space-4) var(--modal-padding) var(--modal-padding);border-top:1px solid var(--line)}.user-location-modal-actions>span{color:var(--muted);font-size:var(--font-size-body);line-height:1.4}.user-location-save-actions strong{color:var(--primary);font-size:var(--font-size-body)}.user-location-save-actions>div{display:flex;gap:10px}.user-location-accordion{background:var(--surface);border-bottom:1px solid var(--line)}.user-location-accordion:last-child{border-bottom:0}.user-location-accordion-header{display:grid;width:100%;min-height:56px;grid-template-columns:28px auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 16px;color:var(--ink);background:#f8fafc;border:0;text-align:left}.user-location-accordion-header:hover{background:var(--neutral-hover)}.user-location-accordion-header code{color:#475467;font-size:var(--font-size-subtitle)}.user-location-accordion-header strong{overflow:hidden;font-size:var(--font-size-body);text-overflow:ellipsis;white-space:nowrap}.user-location-accordion-header em{color:var(--muted);font-size:var(--font-size-body);font-style:normal;white-space:nowrap}.user-location-accordion-body{border-top:1px solid var(--line)}.user-location-accordion-body .project-location-row{border-radius:0}.workspace{display:flex;min-width:0;min-height:0;padding:var(--workspace-padding-block-start) var(--page-gutter) var(--workspace-padding-block-end);overflow:hidden;background:var(--workspace-canvas)}.workspace-content{display:grid;width:min(100%,var(--workspace-max-width));min-height:0;flex:1 1 auto;grid-template-rows:auto minmax(0,1fr);margin-inline:auto}.notice{position:fixed;z-index:6;top:24px;right:24px;width:min(360px,calc(100vw - 48px));margin:0;padding:12px 16px;color:var(--success);background:var(--success-soft);border:1px solid var(--success-border);border-radius:var(--radius-control);box-shadow:var(--shadow-menu);font-size:var(--font-size-body);line-height:1.4;pointer-events:none}.organization-table-wrap{min-height:0;overflow:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-frame);box-shadow:var(--shadow-surface)}.organization-table{width:100%;min-width:1060px;border-spacing:0;text-align:left}.organization-table th{position:sticky;z-index:1;top:0;padding:var(--table-cell-padding-block) var(--table-cell-padding-inline);color:var(--muted);background:var(--surface);border-bottom:1px solid var(--line);font-size:var(--table-header-font-size);font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.organization-table td{padding:var(--table-cell-padding-block) var(--table-cell-padding-inline);color:#475467;border-bottom:1px solid var(--line);font-size:var(--table-cell-font-size);vertical-align:middle}.organization-table tbody tr:last-child td{border-bottom:0}.organization-table td:first-child{width:29%;color:var(--ink)}.organization-table strong{display:block;color:var(--ink);font-weight:700}.cell-description{display:block;max-width:280px;margin-top:5px;color:var(--muted);font-size:var(--font-size-helper);line-height:1.4}.organization-table code{color:#475467;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-size-body)}.organization-access-cell{width:128px;white-space:nowrap}.organization-access-link{width:108px;min-height:38px;text-decoration:none}.organization-access-unavailable{display:inline-block;width:108px;color:var(--muted);text-align:center}.table-action{width:236px;text-align:right}.organization-actions{display:flex;position:relative;align-items:center;justify-content:flex-end;gap:8px}.table-overflow-button{border:1px solid var(--line-strong);border-radius:var(--radius-button);line-height:1}.table-overflow-button:hover{color:var(--ink);background:var(--neutral-hover)}.organization-action-menu{display:grid;position:absolute;z-index:4;top:calc(100% + 6px);right:0;width:264px;padding:4px;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:var(--shadow-menu);text-align:left}.organization-action-menu-item{display:flex;min-height:var(--button-height);align-items:center;gap:var(--space-2);padding:0 12px;color:var(--ink);background:var(--surface);border:0;border-radius:var(--radius-control);font-size:var(--font-size-button);text-align:left}.organization-action-menu-item:hover{background:#f7f8fa}.organization-action-menu-item+.organization-action-menu-item-danger{margin-top:4px;padding-top:4px;border-top:1px solid var(--line);border-radius:0 0 6px 6px}.organization-action-menu-item-danger{color:var(--danger)}.status{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:var(--font-size-body)}.status i{width:7px;height:7px;border-radius:50%}.status-ready{color:var(--success)}.status-ready i{background:var(--success)}.status-active{color:var(--success)}.status-active i{background:var(--success)}.status-pending{color:var(--pending)}.status-pending i{background:var(--pending)}.status-blocked{color:var(--danger)}.status-blocked i{background:var(--danger)}.status-closed{color:var(--muted)}.status-closed i{background:var(--muted)}.subadmin-account{display:block;margin-top:5px;color:var(--muted);font-size:var(--font-size-helper)}.table-state{display:grid;height:100%;min-height:var(--empty-state-min-height);padding:28px 32px;color:var(--muted);place-items:center;text-align:center}.table-state-empty{align-content:center;gap:8px}.table-state-empty h2,.table-state-empty p{margin:0}.table-state-empty h2{color:var(--ink);font-size:var(--font-size-section-title)}.table-state-empty p{max-width:390px;line-height:1.5}.table-state-empty .button{margin-top:4px}.modal-backdrop{display:grid;position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;padding:var(--space-4);overflow-y:auto;background:var(--overlay);place-items:center;animation:fade-in var(--transition-fast)}.modal{width:min(100%,560px);padding:var(--modal-padding);background:var(--surface);border-radius:var(--radius-modal);box-shadow:var(--shadow-modal);animation:modal-in var(--transition-fast)}.modal-standard{max-height:min(760px,calc(100dvh - 32px));overflow-y:auto;overscroll-behavior-y:contain}.modal-standard>.modal-header{position:sticky;z-index:4;top:calc(0px - var(--modal-padding));margin:calc(0px - var(--modal-padding)) calc(0px - var(--modal-padding)) 0;padding:var(--modal-padding);background:var(--surface);border-bottom:1px solid var(--line)}.modal-standard>.modal-actions,.modal-standard>.form-stack>.modal-actions{position:sticky;z-index:4;bottom:calc(0px - var(--modal-padding));margin-right:calc(0px - var(--modal-padding));margin-left:calc(0px - var(--modal-padding));padding:var(--space-3) var(--modal-padding) var(--modal-padding);background:var(--surface);border-top:1px solid var(--line)}.modal-password-reset{width:min(100%,640px)}.modal-user{width:min(100%,680px)}.modal-face-review{width:min(100%,760px)}.modal-delete-confirmation{width:min(100%,360px)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--modal-header-gap)}.modal h2{margin:0;font-size:var(--font-size-section-title);line-height:1.3}.modal-header p{font-size:var(--font-size-subtitle)}.icon-button{display:grid;width:var(--icon-button-size);min-width:var(--icon-button-size);height:var(--icon-button-size);flex:0 0 var(--icon-button-size);padding:0;color:var(--muted);background:transparent;border:0;border-radius:var(--radius-button);line-height:1;place-items:center}.icon-button:hover{color:var(--ink);background:var(--neutral-hover)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--modal-content-gap)}.modal .form-stack{gap:var(--space-3);margin-top:var(--modal-content-gap)}.modal .form-grid-two{gap:var(--space-3)}.modal-confirmation-error{margin-top:var(--space-3)}.user-face-enrollment-note{display:grid;gap:5px;margin:0;padding:12px 14px;color:var(--muted);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-control);font-size:var(--font-size-helper);line-height:1.45}.user-face-enrollment-note strong{color:var(--ink)}.face-review-loading{display:grid;min-height:180px;margin-top:18px;color:var(--muted);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-control);font-size:var(--font-size-body);place-items:center}.face-review-meta{margin:18px 0 0;color:var(--muted);font-size:var(--font-size-body);line-height:1.5}.modal-face-review-actions{justify-content:space-between}.subadmin-face-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.subadmin-face-review-grid figure{margin:0;overflow:hidden;background:var(--ink);border:1px solid var(--line);border-radius:var(--radius-control)}.subadmin-face-review-grid img{display:block;width:100%;aspect-ratio:.78;object-fit:cover}.subadmin-face-review-grid figcaption{padding:10px;color:var(--ink);background:var(--surface);font-size:var(--font-size-body);font-weight:700}.modal-user-detail{display:grid;width:min(100%,820px);max-height:min(680px,calc(100dvh - 32px));grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0}.user-detail-header{padding:var(--modal-padding) var(--space-6);background:var(--surface);border-bottom:1px solid var(--line)}.user-detail-header>div{min-width:0}.user-detail-header h2{overflow:hidden;font-size:var(--font-size-title);text-overflow:ellipsis;white-space:nowrap}.user-detail-header p{margin:var(--space-1) 0 0;overflow:hidden;color:var(--muted);font-size:var(--font-size-body);line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.user-detail-content{display:grid;min-height:0;grid-template-columns:260px minmax(0,1fr);gap:var(--space-5);padding:var(--space-5) var(--space-6);overflow-y:auto;overscroll-behavior-y:contain}.user-detail-face{display:grid;align-content:start;gap:var(--space-3);margin:0;padding:var(--space-4);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-surface)}.user-detail-face-frame{display:grid;width:100%;height:330px;overflow:hidden;color:var(--face-camera-selector-muted);background:var(--face-camera-selector-surface);border-radius:var(--radius-control);place-items:center}.user-detail-face-frame img{display:block;width:100%;height:100%;object-fit:cover}.user-detail-face-loading,.user-detail-face-empty{display:grid;max-width:180px;gap:var(--space-2);padding:var(--space-4);color:var(--face-camera-selector-muted);font-size:var(--font-size-subtitle);font-weight:700;line-height:1.4;place-items:center;text-align:center}.user-detail-face-empty .app-icon{width:28px;height:28px}.user-detail-face figcaption{color:var(--muted);font-size:var(--font-size-subtitle);font-weight:700;text-align:center}.user-detail-information{min-width:0;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-surface)}.user-detail-information h3{margin:0 0 var(--space-5);font-size:var(--font-size-section-title)}.user-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-6);margin:0}.user-detail-grid>div{display:grid;min-width:0;align-content:start;gap:var(--space-1)}.user-detail-grid dt{color:var(--muted);font-size:var(--font-size-helper);font-weight:800;letter-spacing:.06em;line-height:1.35;text-transform:uppercase}.user-detail-grid dd{min-width:0;margin:0;color:var(--ink);font-size:var(--font-size-body);font-weight:700;line-height:1.45;overflow-wrap:anywhere}.user-detail-grid dd a{color:var(--primary)}.user-detail-grid-wide{grid-column:1 / -1}.user-detail-grid .user-detail-value-ready{color:var(--success)}.user-detail-grid .user-detail-value-pending{color:var(--pending)}.user-detail-grid .user-detail-value-blocked{color:var(--danger)}.user-detail-error{margin:var(--space-4) 0 0}.user-detail-actions{align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:var(--space-4) var(--space-6) calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}.user-detail-actions .button{min-height:40px;padding-inline:var(--space-4);white-space:nowrap}.user-detail-block-action{color:var(--danger);border-color:var(--danger-border)}.user-detail-block-action:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes face-scan{0%,to{top:13%;opacity:.35}50%{top:86%;opacity:1}}@media(max-width:1320px){.attendance-summary-frame-topline{align-items:flex-start;flex-direction:column}.attendance-summary-actions{width:100%;justify-content:flex-start}.attendance-summary-search{width:min(100%,420px)}}@media(min-width:901px)and (max-width:1279px){.subadmin-shell-settings,.subadmin-shell-management{--subadmin-sidebar-width: 88px}.subadmin-shell-settings .subadmin-sidebar,.subadmin-shell-management .subadmin-sidebar{align-items:center;padding-inline:12px}.subadmin-shell-settings .subadmin-sidebar .brand,.subadmin-shell-management .subadmin-sidebar .brand{justify-content:center}.subadmin-shell-settings .subadmin-sidebar .brand span,.subadmin-shell-settings .sidebar-caption,.subadmin-shell-settings .subadmin-signout,.subadmin-shell-management .subadmin-sidebar .brand span,.subadmin-shell-management .sidebar-caption,.subadmin-shell-management .subadmin-signout{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;border:0;clip:rect(0,0,0,0);white-space:nowrap}.subadmin-shell-settings .subadmin-nav,.subadmin-shell-management .subadmin-nav{width:100%;margin-top:var(--space-6)}.subadmin-shell-settings .subadmin-nav-item,.subadmin-shell-management .subadmin-nav-item{min-height:48px;justify-content:center;padding-inline:0}.subadmin-shell-settings .subadmin-nav-label,.subadmin-shell-management .subadmin-nav-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;border:0;clip:rect(0,0,0,0);white-space:nowrap}.subadmin-shell-settings .subadmin-nav-item .app-icon,.subadmin-shell-management .subadmin-nav-item .app-icon{width:22px;height:22px}}@media(max-width:900px){:root{--page-gutter: 24px}.app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.sidebar{position:static;height:auto;min-height:64px;flex-direction:row;align-items:center;padding:14px 24px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-caption,.side-nav,.sidebar-signout{display:none}.workspace{padding-top:28px}.subadmin-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"workspace"}.subadmin-workspace{padding:0}.subadmin-user-page,.subadmin-placeholder-page,.attendance-report-page{padding:28px var(--page-gutter) 0}.settings-workspace{width:100%;margin-inline:0;padding:0}.subadmin-mobile-header{display:flex;position:relative;z-index:5;align-items:center;justify-content:space-between;min-height:64px;padding:14px var(--page-gutter);background:var(--sidebar);border-bottom:1px solid var(--line)}.subadmin-menu-button{display:inline-flex;min-height:36px;align-items:center;gap:8px;padding:0 14px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-button);font-size:var(--font-size-button);font-weight:700}.subadmin-menu-button:hover{background:var(--neutral-hover)}.subadmin-sidebar{position:fixed;z-index:8;top:0;right:auto;left:0;width:var(--subadmin-sidebar-width);height:100dvh;min-height:100dvh;padding:28px 16px 24px;border-top:0;border-right:1px solid var(--line);border-bottom:0;border-left:0;box-shadow:none;transform:translate(-100%);transition:transform var(--transition-fast),box-shadow var(--transition-fast),visibility 0s linear .16s;visibility:hidden}.subadmin-sidebar-open{box-shadow:14px 0 36px #1720332e;transform:translate(0);transition:transform var(--transition-fast),box-shadow var(--transition-fast),visibility 0s;visibility:visible}.subadmin-sidebar .sidebar-caption{display:block}.subadmin-nav{display:grid;margin-top:34px;overflow:visible}.subadmin-nav-item{width:100%;flex:initial;white-space:normal}.subadmin-signout{margin-top:auto;margin-left:16px}.subadmin-drawer-backdrop{display:block;position:fixed;z-index:7;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;background:var(--overlay);border:0}.subadmin-shell-settings .settings-frame-titlebar{display:none}.subadmin-shell-settings .settings-frame-header{min-height:var(--subadmin-tab-height);border-top:0;border-right:0;border-left:0;border-radius:0}.subadmin-shell-settings .subadmin-mobile-header{display:grid;height:56px;min-height:56px;grid-template-columns:44px minmax(0,1fr);justify-content:initial;gap:12px;padding:5px 12px;color:var(--ink);background:var(--surface);border-color:var(--line)}.subadmin-shell-settings .subadmin-mobile-brand{grid-column:2;grid-row:1;justify-self:start;color:var(--ink);font-size:var(--font-size-control-mobile)}.subadmin-shell-settings .subadmin-menu-button{width:44px;min-width:44px;grid-column:1;grid-row:1;padding:0;color:var(--ink);background:var(--surface);border-color:var(--line-strong);border-radius:var(--radius-control)}.subadmin-shell-settings .subadmin-menu-button span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;border:0;clip:rect(0,0,0,0);white-space:nowrap}.subadmin-shell-settings .settings-toolbar-projects{display:flex;overflow-x:auto;gap:8px;padding:11px 12px;scrollbar-width:none}.subadmin-shell-settings .settings-toolbar-projects::-webkit-scrollbar{display:none}.subadmin-shell-settings .settings-toolbar-projects>.settings-search-field{flex:0 0 calc(100% - 124px);order:1}.subadmin-shell-settings .settings-toolbar-projects>.button-primary{flex:0 0 auto;order:2}.subadmin-shell-settings .settings-toolbar-projects>.settings-select-field{flex:0 0 190px;order:3}.subadmin-shell-settings .settings-toolbar-projects>.project-show-closed-control{width:auto;flex:0 0 auto;grid-column:auto;order:4}.notice{top:80px;right:var(--page-gutter);left:var(--page-gutter);width:auto}}@media(min-width:761px)and (max-width:1279px)and (min-height:521px){.subadmin-shell-user,.subadmin-shell-management{--subadmin-sidebar-width: 88px;grid-template-columns:var(--subadmin-sidebar-width) minmax(0,1fr);grid-template-areas:"sidebar workspace"}.subadmin-shell-user .subadmin-mobile-header,.subadmin-shell-management .subadmin-mobile-header{display:none}.subadmin-shell-user .subadmin-sidebar,.subadmin-shell-management .subadmin-sidebar{position:static;z-index:auto;width:auto;height:100%;min-height:0;align-items:center;padding:28px 12px 24px;border-right:1px solid var(--line);box-shadow:none;transform:none;transition:none;visibility:visible}.subadmin-shell-user .subadmin-sidebar .brand,.subadmin-shell-management .subadmin-sidebar .brand{justify-content:center}.subadmin-shell-user .subadmin-sidebar .brand span,.subadmin-shell-user .sidebar-caption,.subadmin-shell-user .subadmin-signout,.subadmin-shell-management .subadmin-sidebar .brand span,.subadmin-shell-management .sidebar-caption,.subadmin-shell-management .subadmin-signout{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;border:0;clip:rect(0,0,0,0);white-space:nowrap}.subadmin-shell-user .subadmin-nav,.subadmin-shell-management .subadmin-nav{width:100%;margin-top:var(--space-6)}.subadmin-shell-user .subadmin-nav-item,.subadmin-shell-management .subadmin-nav-item{min-height:48px;justify-content:center;padding-inline:0}.subadmin-shell-user .subadmin-nav-label,.subadmin-shell-management .subadmin-nav-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;border:0;clip:rect(0,0,0,0);white-space:nowrap}.subadmin-shell-user .subadmin-nav-item .app-icon,.subadmin-shell-management .subadmin-nav-item .app-icon{width:22px;height:22px}}@media(max-width:820px){.work-request-management-header{display:grid;min-height:auto;flex-basis:auto;grid-template-columns:1fr;align-content:start;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.work-request-management-header-tools{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--space-2)}.work-request-management-search{width:100%}.work-request-management-search-field{min-height:var(--icon-button-touch-size)}.work-request-management-panel{grid-template-rows:minmax(0,1fr) var(--work-request-management-footer-height)}}@media(max-width:760px){.subadmin-shell-management{--subadmin-sidebar-width: min(304px, calc(100vw - 48px) )}.attendance-report-filter{grid-template-columns:minmax(0,1fr) 180px}.attendance-report-filter-actions{grid-column:1 / -1;justify-content:flex-start}.attendance-summary-frame-topline,.attendance-summary-frame-controls{padding-inline:var(--space-3)}.attendance-summary-frame-controls{align-items:stretch;flex-direction:column}.attendance-summary-actions{display:grid;grid-template-columns:1fr auto auto}.attendance-summary-search{width:100%;min-width:0}.attendance-summary-mode,.attendance-summary-period{width:100%}.settings-toolbar,.settings-toolbar-projects,.settings-toolbar-email{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:11px 12px}.settings-toolbar-actions{display:grid;grid-template-columns:repeat(2,auto);justify-content:end}.settings-toolbar-actions .button{width:100%}.settings-toolbar-actions .button-primary{order:-1}.settings-toolbar .settings-secondary-action,.settings-toolbar-email .email-action-state{display:none}.settings-edit-grid-two,.settings-edit-grid-port{grid-template-columns:1fr}.settings-edit-grid:not(.settings-email-grid){min-width:100%;table-layout:fixed}.settings-edit-grid:not(.settings-email-grid) th:first-child,.settings-edit-grid:not(.settings-email-grid) td:first-child{width:40%}.settings-edit-grid:not(.settings-email-grid) th:not(:first-child),.settings-edit-grid:not(.settings-email-grid) td:not(:first-child){width:30%}.settings-edit-grid:not(.settings-email-grid) td:first-child small{display:none}.settings-edit-grid:not(.settings-email-grid) input{min-width:0;padding-inline:var(--space-2)}.settings-panel-footer{min-height:64px;align-items:center;flex-direction:row;gap:8px;padding:7px 12px;font-size:var(--font-size-helper)}.settings-footer-pagination{width:auto;grid-template-columns:44px auto 44px;gap:4px;padding:0;background:transparent;border:0}.settings-footer-pagination .button{position:relative;width:44px;min-width:44px;padding:0;overflow:hidden;color:transparent;font-size:var(--font-size-button);text-indent:-999px}.settings-footer-pagination .button:before{position:absolute;color:var(--primary);font-size:var(--font-size-icon);line-height:1;text-indent:0}.settings-footer-pagination .button:disabled:before{color:var(--muted)}.settings-footer-pagination .button:first-child:before{content:"‹"}.settings-footer-pagination .button:last-child:before{content:"›"}.settings-footer-pagination>span{font-size:var(--font-size-helper)}.project-show-closed-control{grid-column:auto}.attendance-summary-refresh{width:100%}.attendance-summary-footer{padding-inline:var(--space-3)}.attendance-summary-pagination{gap:var(--space-1)}.work-request-management-header-tools{grid-template-columns:minmax(0,1fr) var(--icon-button-touch-size) var(--icon-button-touch-size)}.work-request-management-header-action{width:var(--icon-button-touch-size);min-width:var(--icon-button-touch-size);min-height:var(--icon-button-touch-size);padding:0}.work-request-management-header-action>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;border:0;clip:rect(0,0,0,0);white-space:nowrap}.work-request-management-header-action .dashboard-filter-count{position:absolute;top:-6px;right:-6px}.work-request-management-filter.dashboard-filter-form{width:min(100vw,var(--work-request-management-drawer-compact-width))}.work-request-management-pagination{width:100%;justify-content:center;padding-inline:var(--space-3)}.work-request-management-pagination-range{display:none}.subadmin-shell-user{--user-list-toolbar-height: 60px;--user-list-footer-height: 56px}.subadmin-shell-user .subadmin-mobile-header{display:flex;height:56px;min-height:56px;flex:0 0 56px;padding:6px var(--space-3)}.subadmin-shell-user .subadmin-mobile-brand{margin-right:auto;font-size:var(--font-size-body)}.subadmin-shell-user .subadmin-menu-button{width:44px;min-width:44px;order:-1;margin-right:var(--space-2);padding:0;border-radius:50%}.subadmin-shell-user .subadmin-menu-button span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;border:0;clip:rect(0,0,0,0);white-space:nowrap}.user-list-toolbar{min-height:var(--user-list-toolbar-height);flex-basis:var(--user-list-toolbar-height);gap:var(--space-2);padding:0 var(--space-3)}.user-list-toolbar h1{font-size:var(--font-size-body)}.user-list-toolbar-actions{flex:1 1 auto;gap:6px}.user-search-field{width:auto;min-width:0;flex:1 1 auto}.user-search-field>.app-icon{left:12px;width:14px;height:14px}.user-search-field input{height:36px;padding:0 10px 0 34px;font-size:var(--font-size-control-mobile)}.user-create-action{min-height:36px!important;flex:0 0 auto;padding-inline:10px}.user-create-action .app-icon{width:16px;height:16px}.user-list-prerequisite,.user-list-error{top:calc(var(--user-list-toolbar-height) + var(--space-2));right:var(--space-3);left:var(--space-3)}.user-list-pagination{min-height:var(--user-list-footer-height);flex-basis:var(--user-list-footer-height);padding:0 var(--space-4);font-size:var(--font-size-subtitle)}.user-pagination-controls{gap:var(--space-2)}.user-pagination-controls .button{min-width:64px;min-height:40px;padding-inline:var(--space-3)}.user-pagination-page{display:none}.modal-user-detail{width:100%;max-height:calc(100dvh - 24px);border-radius:var(--radius-modal) var(--radius-modal) 0 0}.user-detail-header{padding:var(--space-4) var(--space-5)}.user-detail-header h2{font-size:var(--font-size-section-title)}.user-detail-header p{font-size:var(--font-size-subtitle)}.user-detail-content{grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.user-detail-face{padding:var(--space-4)}.user-detail-face-frame{width:min(100%,220px);height:220px;justify-self:center}.user-detail-information{padding:var(--space-4)}.user-detail-information h3{margin-bottom:var(--space-4)}.user-detail-grid{grid-template-columns:1fr;gap:var(--space-4)}.user-detail-grid-wide{grid-column:auto}.user-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--space-3) var(--space-5) calc(var(--space-3) + env(safe-area-inset-bottom))}.user-detail-actions .button{width:100%;min-width:0;min-height:44px;padding-inline:var(--space-2);white-space:normal}}@media(hover:none)and (pointer:coarse),(max-width:932px){:root{--button-height: 44px;--control-height: 44px;--subadmin-tab-height: 44px}.button,.header-primary-action,.button-secondary,.subadmin-menu-button,.settings-tab,.attendance-summary-mode-button,.attendance-summary-employee-link,.attendance-summary-count-link{min-height:44px}.attendance-summary-employee-link,.attendance-summary-count-link{display:inline-flex;align-items:center;padding-inline:var(--space-1)}.icon-button,.small-icon-button,.user-action-button{width:var(--icon-button-touch-size);min-width:var(--icon-button-touch-size);height:var(--icon-button-touch-size);flex-basis:var(--icon-button-touch-size)}}@media(max-width:820px)and (orientation:portrait){.work-request-management-table{display:none}.work-request-management-card-list{display:grid;gap:var(--space-3);padding:var(--space-3)}.settings-panel.work-request-management-panel:has(.settings-table-wrap) .settings-table-wrap{overflow-y:auto;overflow-x:hidden}.user-list-mobile-heading{display:flex;min-height:40px;flex:0 0 40px;align-items:center;justify-content:space-between;padding:0 var(--space-4);color:var(--muted);background:var(--surface-subtle);border-bottom:1px solid var(--line);font-size:var(--font-size-subtitle);font-weight:800}.user-table{display:block;min-width:0}.user-table thead{display:none}.user-table tbody{display:block}.user-table tbody tr{display:grid;min-height:150px;grid-template-columns:44px minmax(0,1fr);align-content:center;gap:8px 10px;padding:14px var(--space-4);background:var(--surface);border-bottom:1px solid var(--line)}.user-table tbody tr:hover{background:var(--surface-subtle)}.user-table td{display:block;height:auto;min-height:0;padding:0;background:transparent!important;border:0}.user-table-index{grid-column:1;grid-row:1;align-self:start;padding-top:1px!important;color:var(--muted);font-size:var(--font-size-subtitle);font-weight:750;white-space:nowrap}.user-table-index-label{display:inline}.user-table-employee{grid-column:2;grid-row:1}.user-table-role{display:flex;grid-column:1 / -1;grid-row:2;align-items:center;gap:5px}.user-table-role strong:after{content:" ·"}.user-table-role>span{margin-top:0}.user-table-status{display:flex;grid-column:1 / -1;grid-row:3;flex-wrap:wrap;gap:6px 18px}.user-table-status .user-status+.user-status{margin-top:0}.user-table-actions{grid-column:1 / -1;grid-row:4;padding:0!important}.user-row-actions{gap:6px}}@media(min-width:521px)and (max-width:820px)and (orientation:portrait){.user-list-mobile-heading{justify-content:flex-start}.user-list-mobile-heading-phone,.user-list-mobile-heading-action{display:none}.user-list-mobile-heading-tablet{display:inline}.user-table tbody tr{min-height:128px;grid-template-columns:36px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:var(--space-3) var(--space-2);padding-block:var(--space-3)}.user-table-index{grid-column:1;grid-row:1}.user-table-index-label{display:none}.user-table-employee{grid-column:2;grid-row:1}.user-table-actions{grid-column:3;grid-row:1}.user-table-role{grid-column:1 / 3;grid-row:2}.user-table-status{grid-column:3;grid-row:2;justify-content:flex-end}}@media(max-width:1250px){.organization-table-wrap{overflow-x:auto}.organization-actions{flex-wrap:wrap;align-items:flex-start}.organization-action-menu{position:static;flex:0 0 228px;margin-left:auto}}@media(max-width:932px),(hover:none)and (pointer:coarse){input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:var(--font-size-control-mobile)}.project-table-actions .button{min-height:var(--button-height)}}@media(max-width:767px){.email-provider-options{grid-template-columns:repeat(2,minmax(0,1fr))}.email-action-state small{white-space:normal}}@media(max-width:600px){:root{--page-gutter: 20px;--timekeeping-page-gutter: 16px}.login-page{padding:20px}.login-panel{padding:28px 24px}.login-locale-switch{top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));min-height:44px;padding:4px}.login-locale-option{min-height:36px;padding-inline:12px}.timekeeping-login-page{padding:20px}.timekeeping-login-panel{padding:28px 24px}.attendance-history-card time{font-size:var(--font-size-subtitle)}.timekeeping-gate-content,.face-enrollment-content{padding:30px 16px 40px}.timekeeping-gate-header{padding-inline:16px}.timekeeping-gate-intro h1,.face-enrollment-heading h1{font-size:var(--font-size-display)}.timekeeping-gate-card{padding:18px}.face-auto-scan-header{grid-template-columns:96px minmax(0,1fr) 96px;padding-inline:16px}.face-auto-scan-controls{right:16px;left:16px}.subadmin-face-review-grid{gap:7px}.subadmin-face-review-grid figcaption{padding:8px;font-size:var(--font-size-subtitle)}.workspace-page-header{align-items:stretch;flex-direction:column}.workspace-page-header .button{width:100%}.settings-toolbar{padding:var(--space-3) var(--space-3)}.settings-tabs{padding-inline:var(--space-2)}.settings-tab{padding-inline:var(--space-3)}.settings-checkbox-control{width:100%;justify-content:flex-start}.attendance-report-filter{grid-template-columns:1fr}.attendance-report-filter-actions{display:grid;grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-report-filter-actions .button:first-child{grid-column:1 / -1}.attendance-report-filter-actions .button{width:100%}.attendance-summary-actions{grid-template-columns:1fr}.attendance-summary-actions .button{width:100%}.attendance-summary-footer{align-items:stretch;flex-direction:column}.attendance-summary-pagination{justify-content:space-between}.attendance-detail-header{align-items:stretch}.attendance-detail-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.attendance-detail-header-actions .button,.attendance-detail-back{width:100%}.attendance-detail-back{grid-column:1 / -1;justify-content:center;text-align:center}.attendance-report-body{margin-top:var(--space-2)}.attendance-report-evidence-shell{padding:var(--space-3)}.attendance-evidence-tab{flex:1 1 50%;padding-inline:var(--space-2)}.modal.modal-attendance-evidence-photo{width:100%;height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.modal-attendance-evidence-reason{width:100%;max-height:calc(100dvh - 24px)}.attendance-evidence-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-evidence-location-coordinate{grid-column:1 / -1}.attendance-evidence-map-link{width:100%}.form-grid-two,.address-field{grid-template-columns:1fr}.modal.modal-project-managers{width:100%;max-height:calc(100dvh - 24px)}.modal-project-managers-header{padding:var(--modal-padding)}.project-manager-picker-toolbar,.project-manager-picker-heading,.project-manager-filter-panel,.project-manager-list{margin-right:var(--modal-padding);margin-left:var(--modal-padding)}.project-manager-filter-panel{grid-template-columns:1fr}.project-manager-row{min-height:76px}.project-manager-row-copy strong,.project-manager-row-copy>span:not(.project-manager-badges){white-space:normal}.project-manager-actions{display:grid;gap:10px;padding-bottom:calc(var(--modal-padding) + env(safe-area-inset-bottom))}.project-manager-actions .button{width:100%}.project-location-toolbar{align-items:stretch;flex-direction:column}.project-location-search,.project-location-toolbar .button{width:100%}.modal-user-locations{max-height:calc(100dvh - 24px)}.modal-user-locations>.modal-header{padding:var(--modal-padding)}.modal-user-locations .project-location-toolbar,.user-location-count,.user-location-selection-heading,.modal-user-locations .project-location-list,.user-location-accordion-list{margin-right:var(--modal-padding);margin-left:var(--modal-padding)}.user-location-modal-actions{display:grid;gap:var(--space-3);padding:var(--space-4) var(--modal-padding) var(--modal-padding)}.user-location-save-actions>div{display:grid;gap:10px}.user-location-accordion-header{grid-template-columns:24px minmax(0,1fr) auto}.user-location-accordion-header code{display:none}.address-field .button{width:100%}.location-coordinate-guide{grid-template-columns:1fr}.location-coordinate-guide-figure{width:min(100%,280px)}.organization-table-wrap{margin-inline:-20px;border-right:0;border-left:0;border-radius:0}.modal-backdrop{padding:12px;align-items:end}.modal-standard{max-height:calc(100dvh - 24px)}.modal-actions{flex-direction:column-reverse}.modal-actions .button{width:100%}.work-request-form-grid{grid-template-columns:1fr}.work-request-card{grid-template-columns:38px minmax(0,1fr);padding:14px}.work-request-card-icon{width:36px;height:36px;font-size:var(--font-size-subtitle)}.work-request-card-heading{display:grid;gap:7px}.work-request-status{justify-self:start}.work-request-sheet,.work-request-picker,.work-request-decision-dialog{width:100%;max-height:calc(100dvh - 16px)}.approval-chain-editor-header{align-items:stretch;flex-direction:column}.approval-chain-add{width:100%;min-height:44px}.approval-chain-row{grid-template-columns:28px minmax(0,1fr)}.approval-chain-controls{grid-column:1 / -1;justify-content:flex-end}.work-request-decision-actions{grid-template-columns:.8fr 1fr}.work-request-detail-list div{grid-template-columns:1fr;gap:3px}.modal-work-request-detail{width:100%;max-height:calc(100dvh - 24px)}.modal-work-request-detail>.modal-header,.modal-work-request-detail>.modal-actions,.work-request-management-detail-content{padding:20px}.work-request-management-header{display:grid;min-height:auto;flex-basis:auto;grid-template-columns:1fr;align-content:start;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.work-request-management-header-tools{display:grid;grid-template-columns:minmax(0,1fr) var(--icon-button-touch-size) var(--icon-button-touch-size);width:100%;gap:var(--space-2)}.work-request-management-search{width:100%}.work-request-management-search-field{min-height:var(--icon-button-touch-size)}.work-request-management-header-action{width:var(--icon-button-touch-size);min-width:var(--icon-button-touch-size);min-height:var(--icon-button-touch-size);padding:0}.work-request-management-header-action>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;border:0;clip:rect(0,0,0,0);white-space:nowrap}.work-request-management-header-action .dashboard-filter-count{position:absolute;top:-6px;right:-6px}.work-request-management-filter.dashboard-filter-form{width:min(100vw,var(--work-request-management-drawer-compact-width))}.work-request-management-pagination{width:100%;justify-content:center;padding-inline:var(--space-3)}.work-request-management-pagination-range{display:none}}@media(max-width:360px){.user-list-title-long{display:none}.user-list-title-short{display:inline}.user-list-toolbar{gap:var(--space-2);padding-inline:var(--space-3)}.user-create-action{padding-inline:10px}.settings-toolbar-actions,.settings-toolbar,.settings-toolbar-email{grid-template-columns:1fr}.settings-toolbar-actions{width:100%}.settings-edit-grid:not(.settings-email-grid){min-width:390px}}@media(orientation:landscape)and (max-height:520px){.subadmin-shell-settings{--subadmin-tab-height: 44px}.subadmin-shell-user{--user-list-toolbar-height: 56px;--user-list-footer-height: 48px}.subadmin-shell-user .subadmin-mobile-header{display:flex;position:absolute;z-index:6;top:0;left:0;width:60px;height:56px;min-height:56px;padding:6px 8px;background:transparent;border:0;pointer-events:none}.subadmin-shell-user .subadmin-mobile-brand{display:none}.subadmin-shell-user .subadmin-menu-button{width:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%;pointer-events:auto}.subadmin-shell-user .subadmin-menu-button span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;border:0;clip:rect(0,0,0,0);white-space:nowrap}.subadmin-shell-user .subadmin-user-page{padding-top:0}.user-list-toolbar{min-height:var(--user-list-toolbar-height);flex-basis:var(--user-list-toolbar-height);gap:var(--space-3);padding:0 var(--space-4) 0 68px}.user-list-toolbar h1{font-size:var(--font-size-control-mobile)}.user-list-toolbar-actions{flex:1 1 auto;gap:var(--space-2)}.user-search-field{width:min(354px,42vw);min-width:160px;margin-left:auto}.user-search-field input{height:36px}.user-create-action{min-height:36px!important;padding-inline:var(--space-4)}.user-list-pagination{min-height:var(--user-list-footer-height);flex-basis:var(--user-list-footer-height);padding-inline:var(--space-4)}.user-pagination-controls .button{min-height:36px}.user-pagination-page{width:36px;height:36px}.user-list-scroll{overflow-x:hidden}.user-table{min-width:760px}.user-table th{height:40px;padding-inline:var(--space-3)}.user-table td{height:84px;padding:var(--space-2) var(--space-3)}.user-table th:first-child{width:7%}.user-table th:nth-child(2){width:27%}.user-table th:nth-child(3){width:18%}.user-table th:nth-child(4){width:21%}.user-table th:nth-child(5){width:27%}.user-table-actions{padding-inline:6px!important}.user-action-button{width:36px;min-width:36px;height:36px;flex-basis:36px}.modal-user-detail{max-height:calc(100dvh - 16px)}.user-detail-header{padding:var(--space-3) var(--space-5)}.user-detail-content{grid-template-columns:200px minmax(0,1fr);gap:var(--space-3);padding:var(--space-3) var(--space-5)}.user-detail-face{padding:var(--space-3)}.user-detail-face-frame{height:220px}.user-detail-information{padding:var(--space-3)}.user-detail-information h3{margin-bottom:var(--space-3)}.user-detail-grid{gap:var(--space-3) var(--space-4)}.user-detail-actions{padding:var(--space-2) var(--space-5) calc(var(--space-2) + env(safe-area-inset-bottom))}.user-detail-actions .button{min-height:36px}.subadmin-mobile-header{min-height:56px;padding-block:var(--space-2)}.subadmin-shell-settings .subadmin-mobile-header{height:56px;min-height:56px;padding-block:5px}.settings-panel-footer{min-height:64px;padding-block:7px}.settings-footer-pagination{padding:0;background:transparent;border:0}.subadmin-user-page,.settings-workspace,.subadmin-placeholder-page,.attendance-report-page{padding-top:var(--space-3)}.subadmin-user-page .breadcrumb,.settings-workspace .breadcrumb,.attendance-report-page .breadcrumb{display:none}.subadmin-user-page .workspace-page-header>div>p:not(.breadcrumb),.settings-workspace .workspace-page-header>div>p:not(.breadcrumb),.attendance-report-page .workspace-page-header>div>p:not(.breadcrumb){display:none}.subadmin-user-page .workspace-page-header,.settings-workspace .workspace-page-header,.attendance-report-page .workspace-page-header{padding-block:var(--space-3)}.attendance-summary-mode{min-height:44px;padding:0}.attendance-report-body{min-height:0;margin-top:var(--space-2)}.attendance-summary-body{margin-top:0}.login-locale-switch{top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right))}.modal-attendance-evidence-photo>.modal-header{padding:var(--space-3) var(--modal-padding)}.modal-attendance-evidence-photo>.attendance-evidence-modal-content{padding:var(--space-2) var(--modal-padding)}.attendance-evidence-location-footer{padding:var(--space-2) var(--modal-padding) calc(var(--space-2) + env(safe-area-inset-bottom))}.attendance-evidence-location-card{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2) var(--space-3);padding:var(--space-3)}.attendance-evidence-location-card h3{grid-column:1 / -1}.attendance-evidence-location-grid{gap:var(--space-2)}.attendance-evidence-map-link{grid-column:2;grid-row:2;min-height:36px;padding-inline:var(--space-3)}.attendance-evidence-location-empty{grid-column:1 / -1}.work-request-management-table{min-width:820px}}@media(max-width:350px){.face-auto-scan-header{grid-template-columns:44px minmax(0,1fr) 44px;padding-inline:12px}.face-camera-switch-trigger{width:44px;min-height:44px;padding:0}.face-camera-switch-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.face-camera-quality-warning{right:12px;left:12px;gap:8px}.face-camera-quality-warning-copy>span{display:none}.face-camera-selector-actions{padding-right:16px;padding-left:16px}.face-camera-selector-actions button{padding-inline:12px}.work-request-management-card-grid{grid-template-columns:1fr}.work-request-management-pagination{gap:var(--space-1)}.work-request-management-pagination .button{min-width:68px;padding-inline:var(--space-2)}}@media(orientation:portrait)and (max-height:699px){.timekeeping-shell{--timekeeping-header-height: 56px;--timekeeping-footer-height: 60px;--timekeeping-page-gutter: 16px}.timekeeping-header{padding:7px 16px}.timekeeping-header-eyebrow{margin-bottom:1px;font-size:var(--font-size-helper)}.timekeeping-header strong{font-size:var(--font-size-body)}.timekeeping-avatar{width:30px;height:30px}.timekeeping-clock-main-home{grid-template-rows:auto auto minmax(200px,1fr) auto;gap:8px;padding-top:calc(var(--timekeeping-header-height) + 8px);padding-bottom:calc(var(--timekeeping-footer-height) + env(safe-area-inset-bottom) + 8px)}.timekeeping-clock-main-home>.timekeeping-today{grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:10px;row-gap:2px}.timekeeping-clock-main-home>.timekeeping-today p{grid-column:1 / -1;font-size:var(--font-size-helper)}.timekeeping-clock-main-home>.timekeeping-today h1{font-size:var(--font-size-display)}.timekeeping-clock-main-home>.timekeeping-today span{padding-bottom:2px;font-size:var(--font-size-subtitle)}.timekeeping-clock-main-home>.attendance-action-card{min-height:200px;grid-template-areas:"action-icon action-title" "action-icon action-description" "action-summary action-summary" "action-button action-button";grid-template-columns:52px minmax(0,1fr);align-content:center;align-items:center;justify-items:stretch;column-gap:10px;row-gap:6px;padding:12px 14px;text-align:left}.timekeeping-clock-main-home>.attendance-loading-panel{min-height:200px}.timekeeping-clock-main-home>.attendance-action-card .attendance-action-icon{width:52px;height:52px;grid-area:action-icon;justify-self:center;border-width:5px;font-size:var(--font-size-display)}.timekeeping-clock-main-home>.attendance-action-card h2{grid-area:action-title;font-size:var(--font-size-section-title)}.timekeeping-clock-main-home>.attendance-action-card>p{max-width:none;grid-area:action-description;font-size:var(--font-size-subtitle);line-height:1.35}.timekeeping-clock-main-home>.attendance-action-card .attendance-worked-time{grid-area:action-summary;gap:2px;margin:0;padding-top:8px}.timekeeping-clock-main-home>.attendance-action-card .attendance-worked-time span{font-size:var(--font-size-helper)}.timekeeping-clock-main-home>.attendance-action-card .attendance-worked-time strong{font-size:var(--font-size-section-title);line-height:1.3}.timekeeping-clock-main-home>.attendance-action-card .attendance-primary-button{min-height:48px;grid-area:action-button}.timekeeping-clock-main-home>.attendance-latest-panel{min-height:64px;gap:2px;padding:9px 12px}.timekeeping-clock-main-home>.attendance-latest-panel .timekeeping-state-label{font-size:var(--font-size-helper)}.timekeeping-clock-main-home>.attendance-latest-panel h2{font-size:var(--font-size-body)}.timekeeping-clock-main-home>.attendance-latest-panel>p:not(.timekeeping-state-label){font-size:var(--font-size-subtitle)}.timekeeping-footer{padding:4px 4px calc(4px + env(safe-area-inset-bottom))}.timekeeping-nav-item{min-height:48px;gap:1px}.timekeeping-nav-item svg{width:18px;height:18px}}@media(orientation:landscape)and (max-height:600px){.login-page,.timekeeping-login-page{padding:var(--space-3)}.login-panel,.timekeeping-login-panel{padding:var(--space-5) var(--space-6)}.login-panel .form-stack,.timekeeping-login-panel .form-stack{gap:var(--space-3);margin-top:var(--space-4)}.login-copy{margin-top:var(--space-1)}.timekeeping-shell{--timekeeping-app-max-width: 100vw;--timekeeping-header-height: 56px;--timekeeping-footer-height: 60px;--timekeeping-page-gutter: 18px}.timekeeping-header{padding:7px 20px}.timekeeping-header-eyebrow{margin-bottom:1px;font-size:var(--font-size-helper)}.timekeeping-header strong{font-size:var(--font-size-body)}.timekeeping-avatar{width:30px;height:30px}.timekeeping-clock-main-home{grid-template-areas:"today action" "latest action" "error action";grid-template-columns:clamp(190px,29vw,244px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;column-gap:clamp(10px,2vw,16px);row-gap:8px;padding:calc(var(--timekeeping-header-height) + 14px) var(--timekeeping-page-gutter) calc(var(--timekeeping-footer-height) + env(safe-area-inset-bottom) + 14px)}.timekeeping-clock-main-home>.timekeeping-today{display:grid;min-height:0;grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:10px;row-gap:2px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-frame);box-shadow:var(--shadow-surface)}.timekeeping-clock-main-home>.timekeeping-today p{grid-column:1 / -1;font-size:var(--font-size-helper)}.timekeeping-clock-main-home>.timekeeping-today h1{font-size:var(--font-size-display)}.timekeeping-clock-main-home>.timekeeping-today span{padding-bottom:2px;font-size:var(--font-size-subtitle);text-align:right}.timekeeping-clock-main-home>.timekeeping-error{padding:8px 10px;font-size:var(--font-size-subtitle);line-height:1.3}.timekeeping-clock-main-home>.attendance-action-card,.timekeeping-clock-main-home>.attendance-loading-panel{height:100%;min-height:0}.timekeeping-clock-main-home>.attendance-action-card{grid-template-areas:"action-icon action-title" "action-icon action-description" "action-icon action-summary" ". action-button";grid-template-columns:60px minmax(0,1fr);align-content:center;align-items:center;justify-items:stretch;column-gap:12px;row-gap:5px;padding:12px;text-align:left}.timekeeping-clock-main-home>.attendance-action-card .attendance-action-icon{width:60px;height:60px;grid-area:action-icon;justify-self:center;border-width:6px;font-size:var(--font-size-display)}.timekeeping-clock-main-home>.attendance-action-card h2{grid-area:action-title;font-size:var(--font-size-title)}.timekeeping-clock-main-home>.attendance-action-card>p{max-width:none;grid-area:action-description;font-size:var(--font-size-subtitle);line-height:1.3}.timekeeping-clock-main-home>.attendance-action-card .attendance-worked-time{grid-area:action-summary;gap:2px;margin:2px 0 0;padding-top:7px}.timekeeping-clock-main-home>.attendance-action-card .attendance-worked-time span{font-size:var(--font-size-helper)}.timekeeping-clock-main-home>.attendance-action-card .attendance-worked-time strong{font-size:var(--font-size-body);line-height:1.25}.timekeeping-clock-main-home>.attendance-action-card .attendance-primary-button{min-height:48px;grid-area:action-button;font-size:var(--font-size-button)}.timekeeping-clock-main-home>.attendance-latest-panel{min-height:0;gap:2px;padding:10px 12px}.timekeeping-clock-main-home>.attendance-latest-panel .timekeeping-state-label{font-size:var(--font-size-helper)}.timekeeping-clock-main-home>.attendance-latest-panel h2{font-size:var(--font-size-body)}.timekeeping-clock-main-home>.attendance-latest-panel>p:not(.timekeeping-state-label){font-size:var(--font-size-subtitle)}.timekeeping-footer{padding:4px 6px calc(4px + env(safe-area-inset-bottom))}.timekeeping-nav-item{min-height:48px;gap:1px}.timekeeping-nav-item svg{width:18px;height:18px}.timekeeping-clock-main-success{padding:calc(var(--timekeeping-header-height) + 10px) 24px calc(10px + env(safe-area-inset-bottom))}.timekeeping-clock-main-success .attendance-result-screen{grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto auto auto auto auto auto;align-items:center;gap:5px 18px;text-align:left}.timekeeping-clock-main-success .attendance-result-icon{width:92px;height:92px;grid-row:1 / 4;border-width:9px}.timekeeping-clock-main-success .attendance-result-icon svg{width:48px;height:48px}.timekeeping-clock-main-success .attendance-result-screen h1{grid-column:2;margin:0;font-size:var(--font-size-display)}.timekeeping-clock-main-success .attendance-result-screen>strong{grid-column:2;font-size:var(--font-size-display)}.timekeeping-clock-main-success .attendance-result-screen>span:not(.attendance-result-countdown){grid-column:2}.timekeeping-clock-main-success .attendance-location-summary{grid-column:1 / -1;gap:4px;margin-top:3px;padding:10px 14px}.timekeeping-clock-main-success .attendance-location-summary h2{font-size:var(--font-size-body)}.timekeeping-clock-main-success .attendance-location-summary span,.timekeeping-clock-main-success .attendance-location-summary em{font-size:var(--font-size-subtitle)}.timekeeping-clock-main-success .attendance-result-return-copy,.timekeeping-clock-main-success .attendance-result-countdown{grid-column:1 / -1;justify-self:center;text-align:center}.timekeeping-clock-main-success .attendance-result-return-copy{margin-top:2px}.attendance-history-toolbar{position:static;z-index:auto;top:auto;margin:22px 0 0;padding:0;background:transparent;border-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none}.attendance-history-region{padding-bottom:0}.attendance-history-list{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-history-pagination{position:static;z-index:auto;bottom:auto;left:auto;width:100%;grid-column:1 / -1;transform:none;-webkit-backdrop-filter:none;backdrop-filter:none}.attendance-history-filter-drawer{width:min(100vw,480px)}.attendance-history-filter-header{padding-top:calc(14px + env(safe-area-inset-top));padding-bottom:12px}.attendance-history-filter-content{gap:20px;padding-top:18px;padding-bottom:18px}.attendance-history-reason-dialog{width:min(100% - 32px,620px);max-height:calc(100dvh - 24px);border-radius:16px}.attendance-history-reason-content{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px}.attendance-history-reason-state{grid-column:2}.work-request-main{padding-top:calc(var(--timekeeping-header-height) + 14px)}.work-request-page{grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);align-items:start}.work-request-toolbar{position:static;grid-column:1;margin:0;padding:0;background:transparent;border-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none}.work-request-create-button{grid-column:1}.work-request-region{grid-row:1 / span 3;grid-column:2;padding-bottom:0}.work-request-list{grid-template-columns:repeat(2,minmax(0,1fr))}.work-request-pagination{position:static;z-index:auto;bottom:auto;left:auto;width:100%;grid-column:1 / -1;transform:none;-webkit-backdrop-filter:none;backdrop-filter:none}.approval-inbox-intro{grid-column:1;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-frame)}.approval-inbox-intro+.attendance-history-state,.approval-inbox-intro+.work-request-list{grid-column:2;grid-row:1 / span 2}.work-request-sheet,.work-request-picker,.work-request-decision-dialog{width:min(100% - 32px,620px);max-height:calc(100dvh - 24px);border-radius:16px}.work-request-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work-request-form-grid-full{grid-column:1 / -1}.work-request-decision-actions{grid-template-columns:.8fr 1fr}.face-capture-overlay-header{min-height:88px;padding:calc(10px + env(safe-area-inset-top)) 18px 20px}.face-capture-instruction h2{margin-top:3px;font-size:var(--font-size-section-title)}.face-capture-instruction>span{display:none}.face-camera-scan-frame{width:min(34vw,260px);height:min(58dvh,260px);transform:translate(-50%,-46%)}.face-camera-placement-guide,.face-camera-hint{right:80px;bottom:calc(142px + env(safe-area-inset-bottom));left:80px;font-size:var(--font-size-helper);line-height:1.25;white-space:nowrap}.face-camera-readiness{bottom:calc(104px + env(safe-area-inset-bottom));min-height:30px;font-size:var(--font-size-subtitle)}.face-capture-overlay-actions{min-height:92px;padding:14px 18px calc(10px + env(safe-area-inset-bottom))}.face-camera-primary-control{min-width:124px}.face-capture-feedback-indicator{width:64px;height:64px}.face-capture-retry-button{min-height:44px}.face-camera-action-note{font-size:var(--font-size-subtitle)}.face-capture-error{bottom:calc(90px + env(safe-area-inset-bottom))}.face-auto-scan-header{min-height:calc(62px + env(safe-area-inset-top));grid-template-columns:96px minmax(0,1fr) 96px;padding:calc(8px + env(safe-area-inset-top)) 18px 8px}.face-auto-scan-title h1{font-size:var(--font-size-body)}.face-auto-scan-ring{top:54%;left:28%;width:min(42vw,260px);transform:translate(-50%,-50%)}.face-auto-scan-ring-complete{transform:translate(-50%,-50%) scale(1.015)}.face-auto-scan-instruction{right:24px;bottom:auto;left:55%;top:calc(96px + env(safe-area-inset-top));text-align:left}.face-auto-scan-instruction p{font-size:var(--font-size-section-title)}.face-auto-scan-stage-guided .face-auto-scan-instruction{right:24px;bottom:auto;left:55%}.face-guided-capture-button{right:24px;bottom:calc(14px + env(safe-area-inset-bottom));left:55%}.face-auto-scan-controls{right:24px;left:55%;bottom:calc(14px + env(safe-area-inset-bottom))}.face-auto-scan-error{right:24px;bottom:calc(62px + env(safe-area-inset-bottom));left:55%}.face-camera-quality-warning{right:24px;bottom:calc(14px + env(safe-area-inset-bottom));left:55%}.face-camera-selector-backdrop{align-items:stretch;justify-content:flex-end;padding-top:calc(62px + env(safe-area-inset-top))}.face-camera-selector{width:min(360px,45vw);max-height:none;border-right:0;border-bottom:1px solid var(--face-camera-selector-line);border-radius:var(--radius-modal) 0 0 var(--radius-modal)}}@media(min-width:769px){body.face-capture-body-active{background:var(--workspace-canvas)}.face-capture-card{box-shadow:0 0 0 1px #ffffff12,0 18px 50px #1018282e}.timekeeping-shell,.timekeeping-gate,.face-enrollment-page{border-right:1px solid var(--line);border-left:1px solid var(--line);box-shadow:0 0 0 1px #10182803,0 12px 40px #1018280d}.attendance-history-reason-backdrop{align-items:center}.attendance-history-reason-dialog{border-radius:16px}.attendance-history-reason-handle{display:none}.attendance-history-reason-header{padding-top:22px}}@media(max-height:520px)and (orientation:portrait){.face-auto-scan-ring{top:47%;width:min(68vw,52dvh,260px);transform:translate(-50%,-54%)}.face-auto-scan-ring-complete{transform:translate(-50%,-54%) scale(1.015)}.face-auto-scan-instruction{bottom:calc(48px + env(safe-area-inset-bottom))}.face-auto-scan-instruction p{font-size:var(--font-size-section-title)}.face-auto-scan-stage-guided .face-auto-scan-instruction{bottom:calc(100px + env(safe-area-inset-bottom))}.face-guided-capture-button{min-height:44px;bottom:calc(12px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.face-auto-scan-ring,.face-auto-scan-ring-segment:before{transition:none}}@keyframes face-capture-feedback-spin{to{transform:rotate(360deg)}}@keyframes timekeeping-overlay-in{0%{background-color:#17203300}}@keyframes attendance-history-drawer-in{0%{transform:translate(100%)}}@keyframes attendance-history-reason-in{0%{opacity:0;transform:translateY(32px)}}@keyframes attendance-success-core{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes attendance-success-check{to{stroke-dashoffset:0}}@keyframes attendance-success-ring{0%{opacity:.75;transform:scale(.76)}to{opacity:0;transform:scale(1.28)}}@keyframes attendance-success-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-height:700px){.modal-backdrop{align-items:start;padding-block:16px}.modal{max-height:calc(100dvh - 32px);overflow-y:auto}}@media(max-width:760px),(orientation:landscape)and (max-width:932px)and (max-height:520px){body:has(.dashboard-filter-form-open){overflow:hidden}.dashboard-filter-trigger{display:inline-flex;position:relative;width:100%;min-height:44px;flex:0 0 auto;align-items:center;justify-content:center;gap:var(--space-2);background:var(--surface);border-top:0;border-radius:0 0 var(--radius-frame) var(--radius-frame)}.dashboard-filter-backdrop{display:block;position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;padding:0;background:var(--overlay);border:0;border-radius:0}.dashboard-filter-form{display:grid!important;position:fixed;z-index:31;top:0;right:0;bottom:0;width:min(100vw,420px);height:100dvh;min-height:0;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr) auto;align-items:stretch;gap:0;padding:0;overflow:hidden;visibility:hidden;pointer-events:none;background:var(--surface);border:0;border-radius:0;box-shadow:var(--shadow-modal);transform:translate(100%);transition:transform .18s ease-out,visibility 0s linear .18s}.dashboard-filter-form-open{visibility:visible;pointer-events:auto;transform:translate(0);transition:transform .18s ease-out,visibility 0s}.dashboard-filter-header{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:var(--space-3);padding:calc(var(--space-4) + env(safe-area-inset-top)) var(--modal-padding) var(--space-4);background:var(--surface);border-bottom:1px solid var(--line)}.dashboard-filter-header h2{margin:0;color:var(--ink);font-size:var(--font-size-section-title);line-height:1.25}.dashboard-filter-content{display:grid;min-height:0;grid-template-columns:1fr!important;align-content:start;gap:var(--modal-content-gap);padding:var(--modal-padding);overflow-y:auto;overscroll-behavior:contain}.dashboard-filter-form .field,.dashboard-filter-form .settings-checkbox-control,.dashboard-filter-form .attendance-summary-mode{width:100%;grid-column:auto}.dashboard-filter-form .field>span{position:static;width:auto;height:auto;padding:0;overflow:visible;border:0;clip:auto;white-space:normal}.dashboard-filter-actions,.dashboard-filter-close-footer{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:var(--space-3);padding:var(--space-4) var(--modal-padding) calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}.dashboard-filter-close-footer{grid-template-columns:1fr}.dashboard-filter-actions>.attendance-summary-refresh{width:100%;grid-column:1 / -1}.dashboard-filter-actions>.button,.dashboard-filter-close-footer .button{width:100%;min-width:0}.dashboard-filter-form .work-request-management-filter-actions{grid-column:auto;justify-content:stretch}.dashboard-filter-form .work-request-management-filter-actions .button:first-child{grid-column:auto}.dashboard-filter-form .work-request-management-filter-actions .button:last-child{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.face-camera-scan-line{animation:none!important}.attendance-result-icon,.attendance-result-icon svg path,.attendance-result-ring,.attendance-result-countdown i{animation:none!important}.attendance-result-icon svg path{stroke-dashoffset:0}}
