:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#18212f;--muted:#5f6b7a;--line:#d9e1e8;--surface:#fff;--surface-alt:#f3f7f8;--nav:#0f2a3d;--nav-soft:#173b55;--teal:#0f8b8d;--teal-dark:#0b6466;--blue:#2d6cdf;--amber:#b7791f;--red:#b42318;--green:#1f7a4d;--coral:#d65f3d;--shadow:0 14px 45px #18212f14;--text-xs:.72rem;--text-sm:.78rem;--text-md:.84rem;--text-body:.92rem;--text-base:1rem;--text-title:1.18rem;--text-page:1.28rem;--text-display:1.45rem;--text-metric:1.65rem}*{box-sizing:border-box}html,body{background:var(--surface-alt);width:100%;min-height:100%;color:var(--ink);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}html{font-size:16px}body{font-size:var(--text-body)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
.app-shell{--shell-sidebar-width:232px;--shell-safe-area-top:env(safe-area-inset-top);--shell-safe-area-bottom:env(safe-area-inset-bottom);--shell-page-padding-inline:28px;--shell-page-padding-top:28px;--shell-page-padding-bottom:28px;--shell-mobile-appbar-content-height:62px;--shell-mobile-appbar-height:calc(var(--shell-mobile-appbar-content-height) + var(--shell-safe-area-top));--shell-mobile-tabbar-content-height:68px;--shell-mobile-tabbar-height:calc(var(--shell-mobile-tabbar-content-height) + var(--shell-safe-area-bottom));--shell-mobile-scopebar-height:0px;--shell-mobile-top-clearance:calc(var(--shell-mobile-appbar-height) + var(--shell-mobile-scopebar-height));--shell-mobile-content-bottom-clearance:calc(var(--shell-mobile-tabbar-height) + 36px);--shell-mobile-overlay-bottom-clearance:calc(var(--shell-mobile-tabbar-height) + 18px);grid-template-columns:var(--shell-sidebar-width) minmax(0, 1fr);width:100%;min-height:100vh;transition:grid-template-columns .18s;display:grid;overflow-x:hidden}.app-shell-nav-collapsed{--shell-sidebar-width:76px}@media (min-width:901px){.app-shell{background:var(--nav);grid-template-rows:60px minmax(0,1fr);grid-template-areas:"topbar topbar""sidebar main";height:100dvh;min-height:0;overflow:hidden}.app-shell>.topbar{background:var(--nav);color:#eef8fb;border-bottom:0;grid-area:topbar;padding-left:21px}.app-shell>.topbar .sync-status{color:#dcecf1}.app-shell>.topbar .notifications-bell-button{color:inherit;background:0 0;border-color:#0000}.app-shell>.topbar .notifications-bell-button:hover,.app-shell>.topbar .notifications-bell-button:focus-visible{background:var(--nav-soft)}.app-shell>.topbar .topbar-scope-control{color:#dcecf1;border-radius:9px;gap:6px;min-width:0;max-width:220px;min-height:38px;padding-left:9px}.app-shell>.topbar .topbar-scope-control:hover,.app-shell>.topbar .topbar-scope-control:focus-within{background:var(--nav-soft);color:#fff}.app-shell>.topbar .topbar-scope-control>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell>.topbar .topbar-scope-control>svg{flex:none}.app-shell>.topbar .topbar-scope-control select{min-width:0;max-width:182px;min-height:38px;color:inherit;font-size:var(--text-sm);background:0 0;border:0;padding:0 24px 0 0;font-weight:600}.app-shell>.topbar .topbar-scope-control select option{background:var(--surface);color:var(--ink)}.app-shell>.sidebar{grid-area:sidebar;min-height:0;padding-top:18px;overflow-y:auto}.app-shell>.sidebar .brand{gap:8px;min-height:28px}.app-shell>.sidebar .brand-mark{flex-basis:28px;width:28px;height:28px}.main{background:var(--surface-alt);overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:20px;grid-area:main;min-height:0;margin:0 12px 12px 0;overflow-y:auto;box-shadow:-8px 0 28px #05141f1f}.app-shell-nav-collapsed .sidebar{padding-inline:12px}.app-shell-nav-collapsed>.topbar{padding-left:20px}.app-shell-nav-collapsed .brand{justify-content:center}.app-shell-nav-collapsed .brand-copy{display:none}.app-shell-nav-collapsed .nav-item{justify-content:center;gap:0;padding-inline:0;position:relative}.app-shell-nav-collapsed .nav-label,.app-shell-nav-collapsed .nav-status-chip{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell-nav-collapsed .nav-badge{position:absolute;top:4px;right:4px;transform:scale(.78)}}.sidebar{background:var(--nav);color:#eef8fb;flex-direction:column;gap:22px;min-width:0;padding:24px 18px;display:flex}.brand{align-items:center;gap:12px;min-width:0;min-height:44px;display:flex}.mobile-brand-logout,.mobile-appbar,.mobile-scopebar,.mobile-tabbar{display:none}@media (max-width:900px){.app-shell{--shell-page-padding-inline:16px;--shell-page-padding-top:16px;--shell-page-padding-bottom:var(--shell-mobile-content-bottom-clearance);grid-template-columns:minmax(0,1fr);align-content:start}.app-shell-has-scope{--shell-mobile-scopebar-height:76px}.mobile-scopebar{min-width:0;height:var(--shell-mobile-scopebar-height);border-bottom:1px solid var(--line);background:var(--surface);gap:8px;padding:7px 14px;display:flex}.mobile-scopebar .branch-filter{flex:1 1 0;align-content:center;gap:2px;min-width:0;display:grid}.mobile-scopebar .branch-filter span{min-width:0;color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;line-height:1.1;display:block;overflow:hidden}.mobile-scopebar .branch-filter select{text-overflow:ellipsis;width:100%;min-width:0;max-width:none;min-height:44px;padding-inline:8px}.app-shell{min-height:100dvh;padding-top:var(--shell-mobile-appbar-height)}.app-shell>.main{min-height:calc(100dvh - var(--shell-mobile-top-clearance))}.sidebar,.sidebar-support,.support-nav-item{display:none}.mobile-appbar{z-index:40;min-height:var(--shell-mobile-appbar-height);border-bottom:1px solid var(--line);padding:calc(10px + var(--shell-safe-area-top)) 14px 10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;inset:0 0 auto}.mobile-appbar-brand{align-items:center;gap:10px;min-width:0;display:inline-flex}.mobile-appbar-brand .brand-mark{flex-basis:40px;width:40px;height:40px}.mobile-appbar-brand div{gap:1px;min-width:0;display:grid}.mobile-appbar-brand strong,.mobile-appbar-brand span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-appbar-brand strong{font-size:var(--text-body)}.mobile-appbar-brand span{max-width:190px;color:var(--muted);font-size:var(--text-sm);font-weight:750}.mobile-appbar-actions{flex:none;align-items:center;gap:8px;display:inline-flex}.mobile-icon-button{border:1px solid var(--line);width:40px;height:40px;color:var(--ink);background:#fff;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.mobile-tabbar{z-index:40;min-height:var(--shell-mobile-tabbar-height);border-top:1px solid var(--line);padding:7px 8px calc(7px + var(--shell-safe-area-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid;position:fixed;inset:auto 0 0}.mobile-tab-item{min-width:0;min-height:52px;color:var(--muted);font-size:var(--text-xs);border-radius:8px;align-content:center;place-items:center;gap:3px;font-weight:800;line-height:1.05;display:grid;position:relative}.mobile-tab-item svg{width:19px;height:19px}.mobile-tab-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-tab-item .nav-badge{position:absolute;top:7px;right:28%}.mobile-tab-item .nav-badge.count{min-width:18px;height:18px;font-size:var(--text-xs);padding:0 5px}.mobile-tab-item.active{color:var(--teal-dark);background:#e9faf7}.app-shell>.topbar,.topbar .actions{display:none}.branch-filter{flex:none;gap:6px}.branch-filter span{display:none}.branch-filter select{flex:none;min-width:0;max-width:220px}}.brand-mark{flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.brand-mark-image{width:100%;height:100%;display:block}.brand-title{font-size:var(--text-base);white-space:nowrap;font-weight:700;line-height:1.2}.brand-subtitle{font-size:var(--text-sm);color:#b8cbd4}.branch-filter,.sync-status{min-height:36px;color:var(--muted);font-size:var(--text-md);align-items:center;gap:8px;font-weight:700;display:inline-flex}.sync-status svg{animation:.75s linear infinite button-spin}@media (prefers-reduced-motion:reduce){.sync-status svg{animation:none}.app-shell{transition:none}}.branch-filter select{border:1px solid var(--line);max-width:100%;min-height:36px;color:var(--ink);background:#fff;border-radius:8px;padding:0 10px}
.nav-list{gap:6px;display:grid}.sidebar-support{border-top:1px solid #ffffff1f;gap:6px;margin-top:auto;padding-top:12px;display:grid}.nav-item{color:#dcecf1;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;min-width:0;padding:10px 12px;display:flex}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.nav-badge{flex:none;place-items:center;display:inline-grid}.nav-status-chip{background:#f59e0b;border-radius:999px;flex:0 0 8px;width:8px;height:8px;font-size:0;box-shadow:0 0 0 3px #f59e0b29}.nav-badge.count{min-width:22px;height:22px;color:var(--teal-dark);font-size:var(--text-xs);background:#e9faf7;border-radius:999px;padding:0 7px;font-weight:900}.nav-item.active,.nav-item:hover{background:var(--nav-soft);color:#fff}.support-nav-item{cursor:pointer}.sidebar-signout-item{cursor:pointer;color:#b8cbd4}.main{flex-direction:column;min-width:0;display:flex;position:relative}.topbar{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-width:0;min-height:60px;padding:8px 28px;display:flex}.shell-nav-toggle{color:#b8cbd4;background:0 0;border:0;border-radius:7px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.shell-nav-toggle:hover,.shell-nav-toggle:focus-visible{color:#fff;background:#ffffff14}.shell-nav-toggle:focus-visible{outline-offset:2px;outline:2px solid #5eead4c2}.page-header{min-width:0}.page-header-title-group{align-items:center;gap:8px;min-width:0;display:flex}.page-header h1{min-width:0;font-size:var(--text-page);text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.15;overflow:hidden}.topbar .actions{flex-wrap:nowrap;justify-content:flex-end;min-width:0}.topbar-profile-button{width:38px;height:38px;color:inherit;background:0 0;border:0;border-radius:9px;flex:none;justify-content:center;align-items:center;display:inline-flex}.topbar-profile-button:hover,.topbar-profile-button:focus-visible{background:var(--nav-soft)}.topbar-info{width:34px;height:34px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.topbar-info:hover,.topbar-info:focus-visible{border-color:var(--line);background:var(--surface-alt);color:var(--ink)}.content{gap:18px;min-width:0;display:grid}.app-page-frame{padding:var(--shell-page-padding-top) var(--shell-page-padding-inline) var(--shell-page-padding-bottom)}.grid{gap:16px;min-width:0;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:900px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}

.modal-backdrop{z-index:90;background:#07141c8a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(560px,100%);max-height:calc(100dvh - 48px);padding:22px;display:grid;overflow:hidden;box-shadow:0 24px 70px #0a1f2a47}.modal-card-wide{width:min(760px,100%)}.modal-card-register{grid-template-rows:auto minmax(0,1fr);width:min(980px,100%);max-height:min(92vh,980px);display:grid}.modal-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;padding-bottom:14px;display:flex}.modal-heading h2{font-size:var(--text-title);margin:0 0 4px}.modal-heading p{color:var(--muted);font-size:var(--text-body);margin:0}.modal-card>.form-grid{min-height:0;padding-right:4px;overflow-y:auto}.modal-card>.form-grid>.modal-actions{border-top:1px solid var(--line);background:#fff;padding-top:12px;position:sticky;bottom:0}.modal-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.action-choice-list{gap:10px;margin-bottom:16px;display:grid}.action-choice{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fbfdfd;border-radius:8px;width:100%;padding:12px}.action-choice strong,.action-choice span{display:block}.action-choice span{color:var(--muted);margin-top:4px;font-weight:600}.action-choice:disabled{cursor:not-allowed;opacity:.55}
.clock-screen{place-items:start center;min-height:calc(100vh - 132px);display:grid;position:relative}.clock-loading-screen{align-items:stretch}.clock-preparing-overlay{z-index:30;display:grid;position:absolute;inset:0}.clock-preparing-overlay .clock-loading-surface{min-height:100%}.clock-loading-surface{width:100%;min-height:clamp(360px,66vh,640px);color:var(--teal-dark);background:radial-gradient(circle at 50% 42%,#0f8b8d14,#0000 32%),linear-gradient(#fbfdfd 0%,#f4f8f8 100%);border:1px solid #0f8b8d1f;border-radius:10px;place-content:center;justify-items:center;gap:14px;display:grid}.clock-loading-surface strong{font-size:var(--text-base)}.clock-loading-spinner{background:#0f8b8d1a;border-radius:999px;place-items:center;width:42px;height:42px;display:grid}.clock-loading-spinner svg{animation:.9s linear infinite clock-loading-spin}@keyframes clock-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.clock-loading-spinner svg{animation:none}}.clock-card{gap:12px;width:100%;padding:0;display:grid}.clock-card>*,.clock-card .field,.clock-card select,.clock-photo-compact,.workday-progress{min-width:0;max-width:100%}.clock-card select{width:100%}.clock-person{align-items:center;gap:14px;min-width:0;display:flex}.clock-avatar{width:58px;height:58px;color:var(--teal-dark);font-weight:800;font-size:var(--text-title);background:#e9faf7;border-radius:8px;flex:none;place-items:center;display:grid}.clock-person h2{font-size:var(--text-page);overflow-wrap:anywhere;margin:0}.clock-person p{color:var(--muted);font-size:var(--text-body);margin:3px 0 0}.clock-requirement,.clock-status-card{border:1px solid var(--line);border-radius:8px;min-height:46px;padding:10px 12px}.clock-requirement{color:var(--muted);font-weight:700;font-size:var(--text-md);align-items:center;gap:9px;display:flex}.clock-status-card{gap:3px;display:grid}.clock-status-card span,.clock-status-card small{color:var(--muted);font-size:var(--text-sm);font-weight:700}.clock-status-card strong{font-size:var(--text-base)}.workday-progress{background:0 0;border:0;gap:12px;padding:0;display:grid}.current-workday-card{background:0 0}.current-workday-main{gap:14px;display:grid}.clock-action-panel{justify-self:center;justify-items:center;gap:12px;width:min(100%,500px);min-width:0;display:grid}.clock-action-panel.with-verification{grid-template-rows:auto auto auto minmax(0,1fr);grid-template-columns:minmax(320px,1.35fr) minmax(270px,.9fr);align-items:start;gap:12px 20px;width:100%;max-width:none}.clock-action-copy,.clock-action-submit{gap:12px;width:100%;min-width:0;display:grid}.clock-split-action{min-width:0;display:flex}.clock-split-action>.clock-button-primary,.clock-split-action>.clock-break-button{flex:auto}.clock-split-action.has-menu>.clock-button-primary,.clock-split-action.has-menu>.clock-break-button{border-radius:8px 0 0 8px}.clock-activity-menu{flex:none;position:relative}.clock-activity-menu>summary{color:#fff;background:var(--teal);cursor:pointer;border-left:1px solid #ffffff59;border-radius:0 8px 8px 0;place-items:center;min-width:44px;height:100%;list-style:none;display:grid}.clock-split-action.secondary-menu .clock-activity-menu>summary{border:1px solid var(--line);color:var(--ink);background:#fff;border-left:0}.clock-split-action.secondary-menu .clock-activity-menu>summary:hover{background:var(--surface-alt,#f4f8fa)}.clock-activity-menu>summary::-webkit-details-marker{display:none}.clock-activity-menu>summary:focus-visible{outline:3px solid var(--focus-ring,#71b7ff);outline-offset:2px}.clock-activity-options{z-index:20;border:1px solid var(--line);background:#fff;border-radius:8px;width:min(320px,100vw - 40px);padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #0f2d3e2e}.clock-activity-options button{min-height:44px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.clock-activity-options button:hover,.clock-activity-options button:focus-visible{background:var(--teal-soft,#eaf8f6)}.clock-activity-options button>span:not(.clock-activity-dot){gap:2px;display:grid}.clock-activity-options small{color:var(--muted)}.clock-activity-dot{border-radius:999px;flex:none;width:10px;height:10px}.clock-active-activity{color:var(--ink);font-size:var(--text-sm);align-items:center;gap:7px;font-weight:700;display:flex}.clock-action-buttons.activity-exclusive{grid-template-columns:minmax(0,1fr)}.clock-active-activity-button{width:100%;min-height:60px}.clock-active-activity small{color:var(--muted);font-weight:600}.activity-category-settings{gap:16px;display:grid}.activity-category-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.activity-category-header h2{margin:0}.activity-category-title{align-items:center;gap:9px;display:flex}.activity-category-header>.button{flex:none}.activity-category-list{gap:10px;display:grid}.activity-category-options{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;padding:14px;display:grid}.activity-category-options label{align-items:center;gap:7px;display:inline-flex}.activity-category-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(220px,.9fr) minmax(260px,1.4fr) auto;align-items:center;gap:18px;padding:14px 16px;display:grid}.activity-category-row.is-inactive{background:#fafbfc}.activity-category-summary{align-items:center;gap:10px;min-width:0;display:flex}.activity-category-summary>div{min-width:0}.activity-category-name{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.activity-category-policy{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.activity-category-row>.actions{flex-wrap:nowrap;justify-content:flex-end}.activity-category-row small{color:var(--muted);margin-top:3px;display:block}.activity-category-modal{width:min(760px,100vw - 32px)}@media (max-width:980px){.activity-category-row{grid-template-columns:minmax(0,1fr) auto}.activity-category-policy{grid-area:2/1/auto/-1}}@media (max-width:640px){.activity-category-header{flex-direction:column;align-items:stretch}.activity-category-header>.button{width:100%}.activity-category-row{grid-template-columns:1fr}.activity-category-policy,.activity-category-row>.actions{grid-area:auto/1}.activity-category-row>.actions .button{flex:1 1 0}.activity-category-options{grid-template-columns:1fr}}.clock-action-panel.with-verification .clock-action-submit{grid-area:3/2}.clock-action-panel.with-verification .clock-action-copy{grid-area:1/2}.clock-action-panel.with-verification .clock-verification-card{grid-area:1/1/span 4;width:100%}.clock-action-panel.with-verification .workday-summary-strip{grid-area:4/2;align-self:end}.clock-action-panel.with-verification .clock-action-alerts{grid-area:2/2}.workday-state-copy{text-align:center;justify-items:center;gap:4px;display:grid}.clock-action-panel.with-verification .workday-state-copy{text-align:left;justify-items:start}.workday-state-copy span{color:var(--muted);font-size:var(--text-sm);text-transform:none;font-weight:800;display:none}.workday-state-copy h3{max-width:none;font-size:var(--text-title);margin:0;line-height:1.14}.workday-state-copy p{color:var(--muted);font-size:var(--text-md);margin:0;font-weight:700}.workday-state-copy small{color:var(--muted);font-size:var(--text-sm);font-weight:750;display:block}.clock-location-alert{color:#825713;background:#fff8eb;border:1px solid #efcf92;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;min-width:0;padding:10px 12px;display:grid}.clock-action-alerts{gap:8px;width:100%;display:grid}.clock-location-alert.sequence{background:#fff7e8;border-color:#ead2a4}.clock-location-alert.checking{border-color:var(--line);color:var(--muted);background:#f5f9fa}.clock-location-alert.success{color:#116c66;background:#eef9f6;border-color:#bfe1dc}.clock-location-alert.checking svg,.clock-location-alert.checking strong,.clock-location-alert.checking span{color:var(--muted)}.clock-location-alert.success svg,.clock-location-alert.success strong,.clock-location-alert.success span{color:#116c66}.clock-location-alert svg{color:#a36a08;margin-top:1px}.clock-location-alert strong,.clock-location-alert span{display:block}.clock-location-retry{color:currentColor;width:fit-content;font:inherit;font-size:var(--text-sm);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;margin-top:7px;padding:0;font-weight:850;text-decoration:underline}.clock-location-retry:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:3px}.clock-location-alert .clock-location-consequence{color:#70460a;margin-top:5px}.clock-location-alert strong{color:#70460a;font-size:var(--text-md);font-weight:850}.clock-location-alert span{color:#855d1b;font-size:var(--text-sm);margin-top:2px;font-weight:700;line-height:1.25}.clock-action-helper{color:var(--muted);font-size:var(--text-sm);margin:0;font-weight:700;line-height:1.35}.clock-copy-mobile,.clock-location-alert .clock-copy-mobile,.clock-action-helper .clock-copy-mobile{display:none}.clock-verification-card{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;gap:9px;width:min(100%,460px);min-width:0;padding:10px;display:grid}.clock-verification-heading{color:var(--muted);font-size:var(--text-sm);text-transform:none;align-items:center;gap:6px;font-weight:850;display:flex}.clock-verification-status{gap:5px;display:grid}.clock-verification-status span{border:1px solid var(--line);background:var(--surface);width:fit-content;max-width:100%;color:var(--muted);font-size:var(--text-sm);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-weight:850;display:inline-flex}.clock-verification-status small{color:var(--muted);font-size:var(--text-sm);font-weight:700}.status-badge{color:#116c66;width:fit-content;min-height:28px;font-size:var(--text-sm);background:#eaf8f5;border:1px solid #bfe1dc;border-radius:999px;align-items:center;padding:4px 10px;font-weight:800;display:inline-flex}.status-warning,.chip-warning{color:#8a5b12!important;background:#fff7e8!important;border-color:#ead2a4!important}.workday-photo-panel{grid-column:1/-1;gap:10px;min-width:0;display:grid}.workday-ring{aspect-ratio:1;background:var(--surface);border-radius:50%;justify-self:center;place-items:center;width:190px;display:grid;position:relative}.workday-ring.muted{opacity:.82;width:168px}.workday-ring-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.workday-ring-track,.workday-ring-segment,.workday-ring-overtime{fill:none;stroke-linecap:butt}.workday-ring-track{stroke:#edf3f6;stroke-width:12px}.workday-ring-segment{stroke-width:12px;cursor:default;pointer-events:stroke}.workday-ring-overtime{stroke:#b42318;stroke-width:4px;cursor:default;pointer-events:stroke}.workday-ring-center{aspect-ratio:1;z-index:1;background:var(--surface);text-align:center;width:112px;box-shadow:0 0 0 1px var(--line);border-radius:50%;align-content:center;place-items:center;display:grid;position:relative}.workday-ring-center strong{max-width:88px;font-size:var(--text-title);line-height:1.1}.workday-ring-center small{color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;font-weight:800}.workday-summary-strip{border-top:1px solid var(--line);align-content:center;gap:10px;width:100%;min-width:0;padding-top:14px;display:grid}.workday-summary-title{color:var(--muted);font-size:var(--text-sm);text-transform:none;font-weight:800}.workday-summary-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;display:grid}.workday-summary-item{border:1px solid var(--line);min-width:0;min-height:58px;color:var(--ink);background:#f8fbfc;border-radius:8px;align-content:center;gap:3px;padding:10px 12px 10px 32px;line-height:1.1;display:grid;position:relative}.workday-summary-label{color:var(--muted);font-size:var(--text-xs);text-transform:none;font-weight:800}.workday-summary-item strong{color:var(--ink);font-size:var(--text-base);font-weight:850}.workday-summary-item .legend-dot{top:50%;left:10px;transform:translateY(-50%)}.workday-progress p{color:var(--muted);font-size:var(--text-md);margin:0;font-weight:700}.legend-dot{background:#dbe6ee;border-radius:50%;width:12px;height:12px;position:absolute;top:8px;left:0}.legend-worked{background:var(--teal)}.legend-break{background:#7f6fd6}.legend-late{background:#d99a00}.legend-excused{background:#46a176}.legend-discounted{background:#83a7b7}.legend-remaining{background:#dbe6ee}.legend-expected{background:#83a7b7}.legend-overtime{background:#b42318}.clock-photo,.clock-photo-compact{gap:8px;display:grid}.clock-photo-evidence{padding-top:2px}.camera-button{justify-content:center;width:100%}.workday-photo-panel .photo-proof-row{background:var(--surface)}.photo-proof-row{border:1px solid var(--line);min-height:44px;color:var(--muted);background:#f8fbfc;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.photo-proof-row img{object-fit:cover;border-radius:6px;width:34px;height:34px}.photo-proof-row strong,.photo-proof-row span{display:block}.photo-proof-row strong{color:var(--ink);font-size:var(--text-md)}.photo-proof-row span{font-size:var(--text-sm);font-weight:700}.compact-button{min-height:32px;padding:5px 9px}.photo-proof-actions{align-items:center;gap:8px;display:inline-flex}.photo-placeholder,.photo-preview,.camera-capture{border:1px dashed var(--line);background:#f8fbfc;border-radius:8px;width:100%}.photo-placeholder{min-height:58px;color:var(--muted);justify-content:center;align-items:center;gap:8px;font-weight:700;display:flex}.photo-preview{gap:10px;min-height:172px;padding:10px;display:grid}.photo-preview img{object-fit:cover;border-radius:8px;width:100%;max-height:260px}.embedded-camera{min-height:0}.embedded-camera video{max-height:280px}.camera-hint{color:var(--muted);font-size:var(--text-md);text-align:center;font-weight:700}
.attendance-workspace{gap:18px;display:grid}.activity-review-panel{gap:16px;display:grid}.activity-review-summary,.activity-review-fields{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.activity-review-summary span{color:var(--muted);margin:0}.activity-review-list{gap:12px;display:grid}.activity-review-item{border:1px solid var(--line);background:#f8fbfc;border-radius:10px;gap:14px;padding:14px;display:grid}.activity-review-summary>div{gap:3px;min-width:0;display:grid}.activity-review-summary>div:last-child{text-align:right}.activity-review-fields{align-items:end}.activity-review-fields label{min-width:150px;color:var(--muted);font-size:var(--text-sm);flex:1;gap:6px;font-weight:800;display:grid}.activity-review-reason{flex:1.5!important}.activity-review-fields textarea{resize:vertical;min-height:42px}.activity-review-history{border-top:1px solid var(--line);padding-top:12px}.activity-review-history summary{cursor:pointer;color:var(--teal-dark);font-weight:800}.activity-review-history-list{gap:10px;padding-top:12px;display:grid}.activity-review-history-list article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding-bottom:10px;display:grid}.activity-review-history-list article>div{gap:2px;display:grid}.activity-review-history-list article span,.activity-review-history-list article small{color:var(--muted)}.activity-review-history-list article p,.activity-review-history-list article small{grid-column:1/-1;margin:0}@media (max-width:860px){.activity-review-summary,.activity-review-fields{flex-direction:column;align-items:stretch}.activity-review-summary>div:last-child{text-align:left}.activity-review-fields button{width:100%}}.attendance-supervisor-workspace{gap:0;min-width:0;padding:0;display:grid}.section-tabs.attendance-workspace-tabs{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;gap:28px;width:auto;max-width:none;margin:0;padding:0;display:flex;overflow-x:auto}.section-tabs.attendance-workspace-tabs button{border-bottom:2px solid #0000;border-radius:0;min-height:44px;padding:0}.section-tabs.attendance-workspace-tabs button.active,.section-tabs.attendance-workspace-tabs button:hover{border-bottom-color:var(--teal);color:var(--teal-dark);background:0 0}.section-tabs.attendance-workspace-tabs button.active span,.section-tabs.attendance-workspace-tabs button:hover span{color:var(--teal-dark);background:#e9f8f7}.attendance-workspace-panel{min-width:0;padding:20px 0 0}.attendance-table-shell{gap:12px;display:grid}.attendance-ledger-surface{gap:16px;display:grid}.attendance-ledger-divider{background:var(--line);height:1px}.attendance-period-heading{min-width:0}.attendance-period-heading h2{font-size:var(--text-title);margin:0;line-height:1.15}.attendance-period-statement{gap:10px;display:grid}.attendance-period-facts{gap:5px;display:grid}.attendance-period-fact{color:var(--ink);font-size:var(--text-body);font-weight:500;line-height:1.25}.attendance-issues-card{gap:14px;display:grid}.attendance-issue-list{gap:10px;display:grid}.attendance-issue-main{min-width:0}.attendance-issue-main h3{font-size:var(--text-base);margin:2px 0 4px}.attendance-issue-main p{color:var(--muted);margin:0;line-height:1.45}.attendance-self-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.attendance-no-issues{margin:0}.attendance-period-summary,.attendance-time-off{gap:14px;display:grid}.attendance-time-off-item{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;gap:4px;min-width:0;padding:10px 12px;display:grid}.attendance-time-off-item span{color:var(--muted);font-size:var(--text-sm);font-weight:800}.attendance-time-off-item strong{font-size:var(--text-body)}.attendance-issues-more{color:var(--muted);font-size:var(--text-md);margin:2px 0 0;font-weight:750}.attendance-mobile-list{display:none}.attendance-compact-list{background:0 0;display:grid}.attendance-compact-row{border:0;border-bottom:1px solid var(--line);width:100%;min-width:0;color:var(--ink);text-align:left;background:#fff;grid-template-columns:minmax(54px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;display:grid}.attendance-compact-row:last-child{border-bottom:0}.attendance-compact-row:focus-visible,.attendance-compact-row:hover{background:#f4fbfa;outline:none}.attendance-compact-date{color:var(--ink);font-size:var(--text-body);white-space:nowrap;font-weight:850}.attendance-compact-main{gap:5px;min-width:0;display:grid}.attendance-compact-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-compact-status-line{align-items:center;gap:7px;min-width:0;display:inline-flex}.attendance-compact-separator{color:var(--ink);font-size:var(--text-body);flex:none;font-weight:850}.attendance-compact-status-line strong{min-width:0;color:var(--ink);font-size:var(--text-body);text-overflow:ellipsis;white-space:nowrap;font-weight:850;overflow:hidden}.attendance-compact-main span{color:var(--muted);font-size:var(--text-md);font-weight:500;line-height:1.2}.attendance-record-status-pill{font-size:var(--text-md);border-radius:7px;flex:none;padding:3px 7px;font-weight:850;line-height:1.1}.attendance-record-status-pill.amber{color:#1773aa;background:#d8ecff}.attendance-record-status-pill.green{color:#147a45;background:#dcf8e8}.attendance-record-status-pill.gray{color:var(--muted);background:#eef2f5}.attendance-record-status-pill.red{color:#b42318;background:#fee2e2}.attendance-record-row-icon{color:var(--muted)}.table-toolbar{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 12px;display:flex}.table-toolbar div{gap:2px;min-width:0;display:grid}.table-toolbar strong{font-size:var(--text-body)}.table-toolbar span:not(.badge){color:var(--muted);font-size:var(--text-sm);font-weight:650}.employee-attendance-table{min-width:760px}.time-cell,.numeric-cell{white-space:nowrap}.numeric-cell{text-align:right;font-variant-numeric:tabular-nums}.status-cell{justify-items:start;gap:4px;display:grid}.status-cell small{color:var(--amber);font-size:var(--text-sm);white-space:nowrap;font-weight:750}.missing-time{color:var(--amber);white-space:nowrap;font-weight:800}.attendance-review-list{gap:10px;display:grid}.attendance-supervisor-review-list{gap:0}.attendance-review-history{border-top:1px solid var(--line);padding-top:4px}.attendance-review-history summary{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;list-style:none;display:flex}.attendance-review-history summary::-webkit-details-marker{display:none}.attendance-review-history summary strong,.attendance-review-history summary small{display:block}.attendance-review-history summary strong{color:var(--ink);font-size:var(--text-base);font-weight:900}.attendance-review-history summary small{color:var(--muted);font-size:var(--text-md);margin-top:2px;font-weight:650}.attendance-review-history .attendance-review-list{padding:4px 0 2px}.attendance-review-item{border:1px solid var(--line);background:#fbfdfd;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.attendance-review-item strong,.attendance-review-item span{display:block}.attendance-review-item span{color:var(--muted);font-size:var(--text-md)}.attendance-supervisor-review-row{background:0 0;border:0;border-radius:0;grid-template-columns:minmax(150px,1.25fr) minmax(100px,.7fr) minmax(120px,.8fr) minmax(130px,.85fr) auto;grid-template-areas:"identity exception timing payroll actions";align-items:center;gap:14px;padding:16px 0}.attendance-supervisor-review-row+.attendance-supervisor-review-row{border-top:1px solid var(--line)}.attendance-supervisor-review-row:hover{background:#f8fbfc}.attendance-supervisor-record-identity,.attendance-supervisor-exception,.attendance-supervisor-time,.attendance-supervisor-payroll{min-width:0}.attendance-supervisor-record-identity{grid-area:identity}.attendance-supervisor-exception{grid-area:exception}.attendance-supervisor-time{grid-area:timing;gap:4px;display:grid}.attendance-supervisor-payroll{grid-area:payroll;gap:4px;display:grid}.attendance-supervisor-record-identity strong,.attendance-supervisor-time strong,.attendance-supervisor-payroll strong{color:var(--ink);font-weight:800;line-height:1.25}.attendance-supervisor-record-identity span,.attendance-supervisor-time span,.attendance-supervisor-payroll span{color:var(--muted);font-size:var(--text-md);margin-top:3px;line-height:1.3}.attendance-supervisor-payroll>span{font-size:var(--text-sm);margin-top:0;font-weight:750}.attendance-supervisor-actions{flex-wrap:wrap;grid-area:actions;justify-content:flex-end;align-items:center;gap:8px;display:flex}.attendance-supervisor-actions .button{min-height:34px;font-size:var(--text-md);white-space:nowrap;padding:0 10px}.attendance-supervisor-actions .icon-button{width:34px;min-width:34px;padding:0}.attendance-record-action-menu{flex:none}.attendance-action-popover.attendance-record-action-popover{min-width:190px;top:50%;bottom:auto;right:calc(100% + 8px);transform:translateY(-50%)}.attendance-live-record-info{width:30px;height:30px;color:var(--muted);cursor:help;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.attendance-live-record-info:hover,.attendance-live-record-info:focus-visible{background:var(--teal-soft);color:var(--teal-dark)}.attendance-live-record-info:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.attendance-review-item .attendance-live-record-tooltip{z-index:30;border:1px solid var(--line);width:min(290px,70vw);color:var(--ink);font-size:var(--text-md);text-align:left;background:#fff;border-radius:8px;padding:10px 12px;font-weight:600;line-height:1.35;display:none;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 18px 40px #0e2a3c29}.attendance-review-item .attendance-live-record-info:hover .attendance-live-record-tooltip,.attendance-review-item .attendance-live-record-info:focus .attendance-live-record-tooltip{display:block}.clock-event-review-actions{border:0;justify-content:flex-start;margin:0 0 12px;padding:0}.clock-event-row-actions{justify-content:flex-start}.attendance-detail-view-navigation{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-width:0;margin-bottom:14px;display:flex}.section-tabs.punch-review-tabs{scrollbar-width:none;background:0 0;border:0;border-radius:0;align-items:center;gap:28px;min-width:0;margin:0;padding:0;display:flex;overflow-x:auto}.section-tabs.punch-review-tabs::-webkit-scrollbar{display:none}.section-tabs.punch-review-tabs button{min-height:44px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:none;padding:0 1px;font-weight:800}.section-tabs.punch-review-tabs button.active,.section-tabs.punch-review-tabs button:hover{border-bottom-color:var(--teal);color:var(--teal-dark);background:0 0}.attendance-events-count{min-height:24px;color:var(--muted);font-size:var(--text-sm);letter-spacing:0;text-transform:uppercase;white-space:nowrap;background:#edf1f4;border-radius:999px;align-items:center;padding:4px 10px;font-weight:900;display:inline-flex}.punch-timeline-list{gap:0;display:grid}.attendance-punch-review-grid{grid-template-columns:minmax(0,1fr) minmax(240px,280px);align-items:start;gap:22px;display:grid}.attendance-punch-review-grid>*{min-width:0}.punch-timeline-row{--timeline-icon-size:54px;--timeline-rail-x:calc(var(--timeline-icon-size) / 2);--timeline-grid-columns:74px minmax(0, 1fr) 52px 98px;--timeline-grid-gap:14px;grid-template-columns:var(--timeline-grid-columns);align-items:center;gap:var(--timeline-grid-gap);width:100%;min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;padding:16px 0;display:grid;position:relative}.punch-timeline-row:not(:last-child):after{content:"";left:var(--timeline-rail-x);background:#e4e9ee;border-radius:999px;width:2px;position:absolute;top:62px;bottom:-16px}.punch-timeline-row.editable{cursor:default}.punch-timeline-edit-trigger{grid-area:1/1/auto/-1;grid-template-columns:var(--timeline-grid-columns);align-items:center;gap:var(--timeline-grid-gap);width:100%;min-width:0;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;display:grid}.punch-timeline-edit-trigger:focus{outline:0}.punch-timeline-edit-trigger:hover .punch-timeline-icon,.punch-timeline-edit-trigger:focus-visible .punch-timeline-icon{box-shadow:0 0 0 3px #2563eb1f}.punch-timeline-icon{width:var(--timeline-icon-size);height:var(--timeline-icon-size);color:#1d4ed8;z-index:1;background:#edf4ff;border:1px solid #bcccf2;border-radius:12px;grid-column:1;place-items:center;display:grid;position:relative}.punch-timeline-icon.break-start,.punch-timeline-icon.break-end{color:#ea580c;background:#fff7ed;border-color:#fed7aa}.punch-timeline-icon.clock-out{color:#374151;background:#f2f4f7;border-color:#d5dce5}.punch-timeline-icon.activity-session{color:#315f5a;background:#f1f6f5;border-color:#c8d8d5}.punch-timeline-content{grid-column:2;gap:8px;min-width:0;display:grid}.punch-timeline-primary{min-width:0}.punch-timeline-primary strong{color:var(--ink);overflow-wrap:anywhere;font-weight:900;line-height:1.18}.punch-timeline-time{color:#1d4ed8;white-space:nowrap;grid-column:4;justify-self:end;font-weight:900}.punch-timeline-row.break-start .punch-timeline-time,.punch-timeline-row.break-end .punch-timeline-time{color:#ea580c}.punch-timeline-row.clock-out .punch-timeline-time{color:#374151}.punch-timeline-row.activity-session .punch-timeline-time{color:#315f5a}.punch-timeline-time-range{justify-items:end;gap:1px;line-height:1.15;display:grid}.punch-timeline-time-range>span{color:var(--muted);font-size:var(--text-sm)}.punch-timeline-meta{color:#3f4654;min-width:0;font-size:var(--text-md);flex-wrap:wrap;align-items:center;gap:8px 10px;font-weight:720;display:flex}.punch-timeline-meta span{align-items:center;gap:8px;min-width:0;display:inline-flex}.punch-timeline-meta span+span:before{content:"";background:#c7ced9;border-radius:999px;width:4px;height:4px}.punch-timeline-meta .clock-event-review-chip.manual{color:#3653a4}.punch-timeline-meta .clock-event-review-chip.duplicate,.punch-timeline-meta .clock-event-review-chip.review{color:#9a6500}.punch-timeline-meta .clock-event-review-chip.ignored{color:#5b6675}.punch-timeline-row.voided{opacity:.68}.punch-timeline-row.voided .punch-timeline-primary strong,.punch-timeline-meta .clock-event-review-chip.voided{color:#8b2e2e;text-decoration:line-through}.punch-timeline-photo-slot{width:52px;height:52px;font:inherit;z-index:2;border:0;grid-area:1/3;align-self:center;place-items:center;padding:0;display:grid;position:relative}.punch-timeline-photo-slot.has-photo{border:1px solid var(--line);color:var(--muted);cursor:zoom-in;background:#edf1f4;border-radius:8px;overflow:hidden}.punch-timeline-photo-slot.has-photo:hover,.punch-timeline-photo-slot.has-photo:focus-visible{border-color:#9bb6f0;outline:0;box-shadow:0 0 0 3px #2563eb24}.punch-timeline-photo-slot img{object-fit:cover;width:100%;height:100%;display:block}.attendance-photo-lightbox-backdrop{z-index:120;background:#050c12c7}.attendance-photo-lightbox{color:#fff;background:#0b141c;border:1px solid #ffffff29;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:min(920px,100vw - 32px);max-height:calc(100dvh - 40px);padding:16px;display:grid;box-shadow:0 28px 80px #0000006b}.attendance-photo-lightbox-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.attendance-photo-lightbox-heading h2{font-size:var(--text-base);margin:0;font-weight:900}.attendance-photo-lightbox-heading p,.attendance-photo-lightbox-count{color:#ffffffb8;font-size:var(--text-md);margin:4px 0 0;font-weight:700}.attendance-photo-lightbox-icon-button,.attendance-photo-lightbox-nav{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;place-items:center;display:grid}.attendance-photo-lightbox-icon-button{flex:none;width:38px;height:38px}.attendance-photo-lightbox-icon-button:hover,.attendance-photo-lightbox-icon-button:focus-visible,.attendance-photo-lightbox-nav:hover,.attendance-photo-lightbox-nav:focus-visible{background:#ffffff29;outline:0}.attendance-photo-lightbox-stage{background:#05090d;border-radius:8px;place-items:center;min-height:min(64dvh,640px);display:grid;position:relative;overflow:hidden}.attendance-photo-lightbox-stage img{object-fit:contain;max-width:100%;max-height:min(64dvh,640px);display:block}.attendance-photo-lightbox-stage .photo-placeholder{color:#ffffffb8;place-items:center;gap:8px;width:min(420px,100%);min-height:260px;display:grid}.attendance-photo-lightbox-nav{z-index:1;width:44px;height:56px;position:absolute;top:50%;transform:translateY(-50%)}.attendance-photo-lightbox-nav.previous{left:12px}.attendance-photo-lightbox-nav.next{right:12px}.attendance-photo-lightbox-count{text-align:center}.attendance-punch-ring-view{background:#f4f8fa;border-radius:10px;grid-template-columns:1fr;align-items:center;gap:12px;padding:18px;display:grid;position:sticky;top:12px}.attendance-punch-ring{aspect-ratio:1;background:var(--surface);border-radius:50%;justify-self:center;place-items:center;width:188px;display:grid;position:relative}.attendance-punch-ring .workday-ring-center{width:102px}.attendance-punch-ring .workday-ring-center strong{max-width:88px;font-size:var(--text-title)}.attendance-punch-ring .workday-ring-center small{font-size:var(--text-xs)}.attendance-punch-ring-summary{gap:10px;display:grid}.punch-ring-legend{grid-template-columns:1fr;gap:6px;display:grid}.punch-ring-legend span{color:var(--muted);font-size:var(--text-md);align-items:center;gap:7px;padding:2px 0;font-weight:750;display:flex}.punch-ring-legend strong{color:var(--ink)}.punch-ring-legend .legend-dot{flex:none;position:static}.punch-ring-legend .legend-worked{background:#1d4ed8}.punch-ring-legend .legend-break{background:#ea580c}.punch-ring-legend .legend-late{background:#d99a00}.punch-ring-legend .legend-expected{background:#d5dce5}.attendance-punch-map-view{grid-template-columns:minmax(360px,1fr) minmax(260px,.48fr);align-items:stretch;gap:18px;display:grid}.attendance-punch-map-plot{border:1px solid var(--line);cursor:grab;touch-action:none;background:#dbe7ec;border-radius:8px;min-height:480px;position:relative;overflow:hidden}.attendance-punch-map-plot.dragging{cursor:grabbing}.attendance-punch-map-plot:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.attendance-punch-map-tile{-webkit-user-select:none;user-select:none;pointer-events:none;width:256px;height:256px;position:absolute}.punch-map-pin{aspect-ratio:1;color:#fff;width:36px;font:inherit;font-size:var(--text-xs);z-index:2;background:#1d4ed8;border:2px solid #fff;border-radius:999px;place-items:center;padding:0;font-weight:950;transition:opacity .14s,box-shadow .14s,transform .14s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 24px #1118272e}.punch-map-pin.dimmed{opacity:.58}.punch-map-pin.active,.punch-map-pin:focus-visible{z-index:6;outline:0;transform:translate(-50%,-50%)scale(1.22);box-shadow:0 0 0 4px #2563eb38,0 14px 34px #11182747}.punch-map-pin.active:after,.punch-map-pin:focus-visible:after{content:attr(data-label);border:1px solid var(--line);background:var(--surface);width:max-content;max-width:210px;color:var(--ink);font-size:var(--text-xs);white-space:normal;pointer-events:none;border-radius:8px;padding:5px 8px;font-weight:900;line-height:1.15;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 26px #11182724}.attendance-punch-map-attribution{color:var(--muted);font-size:var(--text-xs);z-index:8;background:#ffffffdb;border-radius:4px;padding:2px 5px;font-weight:750;position:absolute;bottom:6px;right:8px}.attendance-punch-map-controls{z-index:10;background:#fff;border:1px solid #55697447;border-radius:8px;display:grid;position:absolute;top:12px;left:12px;overflow:hidden;box-shadow:0 8px 22px #11182726}.attendance-punch-map-controls button{width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fff;border:0;place-items:center;padding:0;display:grid}.attendance-punch-map-controls button+button{border-top:1px solid var(--line)}.attendance-punch-map-controls button:hover:not(:disabled),.attendance-punch-map-controls button:focus-visible{background:var(--teal-soft);color:var(--teal-dark);outline:0}.attendance-punch-map-controls button:disabled{color:#a9b4bc;cursor:default}.punch-map-pin.break-start,.punch-map-pin.break-end{background:#ea580c}.punch-map-pin.clock-out{background:#374151}.punch-map-pin.warning{background:#b45309}.attendance-punch-map-list,.attendance-punch-map-empty{align-content:start;gap:0;display:grid}.attendance-punch-map-list-item,.attendance-punch-map-list>span{border:0;border-bottom:1px solid var(--line);color:var(--muted);text-align:left;background:0 0;border-radius:0;grid-template-columns:12px 78px minmax(0,1fr);align-items:center;gap:6px 10px;padding:13px 0;font-weight:750;display:grid}.attendance-punch-map-list-item{appearance:none;cursor:pointer;width:100%;font:inherit;transition:background .14s,color .14s}.attendance-punch-map-list-item.active,.attendance-punch-map-list-item:hover,.attendance-punch-map-list-item:focus-visible{background:#f7fafb;outline:0}.attendance-punch-map-list-item i{background:#1d4ed8;border-radius:999px;width:10px;height:10px}.attendance-punch-map-list-item.break-start i,.attendance-punch-map-list-item.break-end i{background:#ea580c}.attendance-punch-map-list-item.clock-out i{background:#374151}.attendance-punch-map-list time{color:var(--ink);font-size:var(--text-body);white-space:nowrap;font-weight:900}.attendance-punch-map-list strong{color:var(--ink);font-size:var(--text-body);overflow-wrap:anywhere;font-weight:900}.attendance-punch-map-list span{color:var(--muted);font-size:var(--text-md);grid-column:3;font-weight:650}.attendance-punch-map-list>span{grid-template-columns:1fr}.event-review-helper{color:var(--muted);font-size:var(--text-md);margin:6px 0 0}.attendance-ledger-controls{grid-template-columns:minmax(220px,1fr) minmax(150px,220px) auto;align-items:end;gap:12px;margin-bottom:14px;display:grid}.attendance-ledger-refresh{align-self:end;width:40px;min-width:40px}.attendance-ledger-period-control{align-content:center;gap:6px;min-height:40px;display:grid}.attendance-ledger-period-control>span{color:var(--muted);font-size:var(--text-sm);text-transform:uppercase;font-weight:650}.attendance-ledger-period-navigation{align-items:center;gap:8px;display:flex}.attendance-ledger-period-navigation .button{width:32px;min-width:32px;min-height:32px;padding:0}.attendance-ledger-period-navigation strong{text-align:center;min-width:145px}.attendance-ledger-current-period{width:max-content;color:var(--primary);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;padding:0;font-weight:650}.attendance-ledger-current-period:hover{text-decoration:underline}.attendance-period-ledger{gap:12px;display:grid}.attendance-period-bulk-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.attendance-period-bulk-actions>span{color:var(--muted);font-size:var(--text-sm);font-weight:650}.attendance-period-select-cell{text-align:center;width:42px}.attendance-period-select-cell input{width:18px;height:18px;accent-color:var(--primary)}.attendance-period-row-missing{background:color-mix(in srgb, var(--red) 6%, var(--surface))}.attendance-period-row-today{background:var(--surface-alt)}.attendance-period-action-pending{color:var(--muted);font-size:var(--text-sm);font-weight:650}.table-actions{flex-wrap:wrap;gap:6px;display:flex}.table-actions .button{min-height:30px;font-size:var(--text-sm);padding:0 9px}.attendance-monthly-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center}.attendance-monthly-actions .icon-button{width:30px;min-width:30px;padding:0}.attendance-detail-record-header{margin:0;padding:0 0 20px}.attendance-detail-header-main{justify-content:space-between;align-items:flex-start;gap:24px;min-width:0;display:flex}.attendance-detail-identity{align-items:flex-start;gap:13px;min-width:0;display:flex}.attendance-detail-header-icon{width:44px;height:44px;color:var(--teal-dark);background:#e9f8f7;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.attendance-detail-title-block{gap:7px;min-width:0;display:grid}.attendance-detail-title-line{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.attendance-detail-title-line h2{font-size:var(--text-base);margin:0;line-height:1.2}.attendance-detail-meta{flex-wrap:wrap;gap:8px 16px;display:flex}.attendance-detail-chip{max-width:100%;min-height:0;color:var(--muted);font-size:var(--text-sm);background:0 0;border-radius:0;align-items:center;gap:6px;padding:0;font-weight:700;line-height:1.25;display:inline-flex}.attendance-detail-chip svg{color:var(--teal-dark);flex:none}.attendance-detail-panel{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:14px 0 0;padding:14px 0 0;display:grid}.attendance-detail-field{color:var(--ink);background:#f7fafb;border:1px solid #e6eef2;border-radius:8px;padding:10px 12px}.attendance-detail-field dt{color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;margin:0 0 5px;font-weight:800}.attendance-detail-field dd{font-size:var(--text-base);margin:0;font-weight:800}.attendance-detail-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin:0;padding:0;display:flex}.attendance-detail-actions .button{min-height:34px;font-size:var(--text-md);padding:0 11px}.attendance-detail-actions .icon-button{width:36px;min-width:36px;padding:0}.attendance-action-menu{display:inline-flex;position:relative}.attendance-add-punch-button{gap:7px}.attendance-action-popover{z-index:45;border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;min-width:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 42px #0a1f2a2e}.attendance-manual-add-popover{left:0;right:auto}.attendance-action-popover button{width:100%;min-height:38px;color:var(--ink);font:inherit;text-align:left;background:#fff;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 10px;font-weight:700;display:flex}.attendance-action-popover button:hover,.attendance-action-popover button:focus-visible{background:#f4f8fa;outline:none}.attendance-photo-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.attendance-photo-card{gap:7px;display:grid}.attendance-photo-card img,.attendance-photo-card .photo-placeholder{aspect-ratio:4/3;border:1px solid var(--line);object-fit:cover;background:#eef5f8;border-radius:8px;width:100%}.attendance-photo-card span{color:var(--ink);font-size:var(--text-md);font-weight:850}.attendance-photo-card small{color:var(--muted);font-size:var(--text-sm);overflow-wrap:anywhere}
.employee-workspace{gap:0;min-width:0;display:grid;position:relative}.section-tabs.employee-workspace-tabs{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;gap:28px;width:auto;max-width:none;margin:0;padding:0;display:flex}.section-tabs.employee-workspace-tabs button{border-bottom:2px solid #0000;border-radius:0;min-height:44px;padding:0}.section-tabs.employee-workspace-tabs button.active,.section-tabs.employee-workspace-tabs button:hover{border-bottom-color:var(--teal);color:var(--teal-dark);background:0 0}.employee-workspace>:not(.employee-workspace-tabs){min-width:0;padding-top:20px}.employee-directory-panel .empty{margin:0}.employee-directory-actions{z-index:1;justify-content:flex-end;display:flex;position:absolute;top:2px;right:0}@media (max-width:620px){.employee-directory-actions{margin-bottom:12px;position:static}}.employee-detail-tabs{gap:14px;width:100%;display:grid}.section-tabs.employee-detail-tabs-nav{background:0 0;border:0;border-radius:0;gap:28px;width:auto;max-width:none;margin:0;padding:0;display:flex}.section-tabs.employee-detail-tabs-nav button{min-height:44px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:0;font-weight:800}.section-tabs.employee-detail-tabs-nav button.active,.section-tabs.employee-detail-tabs-nav button:hover{border-bottom-color:var(--teal);color:var(--teal-dark);background:0 0}.employee-detail-card{width:100%;max-width:none}.employee-detail-embedded{gap:0}.employee-detail-embedded .employee-detail-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.employee-detail-embedded .employee-profile-sections{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:0}.employee-detail-embedded .employee-profile-section{background:0 0;border:0;border-radius:0;padding:18px 16px}.employee-detail-embedded .employee-profile-section+.employee-profile-section{border-left:1px solid var(--line)}.employee-detail-embedded .employee-profile-field{min-height:40px}.employee-contract-workspace{gap:18px;display:grid}.employee-contract-heading{border-bottom:1px solid var(--line);padding-bottom:16px}.employee-contract-empty{min-height:104px;color:var(--muted);align-items:flex-start;gap:14px;padding:20px 4px;display:flex}.employee-contract-empty>svg{color:var(--teal-dark);flex:none}.employee-contract-empty strong{color:var(--ink)}.employee-contract-empty p{max-width:660px;margin:5px 0 0}.employee-contract-history{border-top:1px solid var(--line);padding-top:16px}.employee-contract-history h3{font-size:var(--text-base);margin:0 0 8px}.employee-profile-sections{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.employee-profile-section{border:1px solid var(--line);background:#fbfdfd;border-radius:8px;gap:12px;min-width:0;padding:14px;display:grid}.employee-profile-sections-flat{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:0}.employee-profile-sections-flat .employee-profile-section{background:0 0;border:0;border-radius:0;padding:18px 16px}.employee-profile-sections-flat .employee-profile-section:nth-child(2n){border-left:1px solid var(--line)}.employee-profile-sections-flat .employee-profile-section:nth-child(n+3){border-top:1px solid var(--line)}.employee-profile-sections-flat .employee-profile-section:nth-child(3){grid-column:1/-1}.employee-verification-workspace{padding-top:4px}.face-enrollment-panel{border:1px solid var(--line);background:linear-gradient(135deg,#f7fbfb,#fff);border-radius:10px;grid-column:1/-1;gap:14px;min-width:0;padding:16px;display:grid}.face-enrollment-heading,.face-enrollment-summary,.face-enrollment-capture{align-items:center;gap:14px;display:flex}.face-enrollment-heading{justify-content:space-between}.face-enrollment-heading h3{color:var(--ink);font-size:var(--text-body);align-items:center;gap:8px;margin:0;display:flex}.face-enrollment-heading p,.face-enrollment-consent p{color:var(--muted);margin:4px 0 0}.face-enrollment-summary{color:var(--teal-dark);background:#0f8b8d14;border-radius:9px;padding:12px}.face-enrollment-summary div,.face-enrollment-capture>div{gap:4px;display:grid}.face-enrollment-summary .button{margin-left:auto}.face-enrollment-consent{gap:12px;display:grid}.face-enrollment-consent .button{justify-self:start}.face-enrollment-preview{aspect-ratio:4/3;background:#0a2028;border-radius:10px;flex:none;width:min(300px,42vw);position:relative;overflow:hidden}.face-enrollment-capture video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.face-enrollment-capture .button{margin-top:6px}@media (max-width:620px){.face-enrollment-heading,.face-enrollment-summary,.face-enrollment-capture{flex-direction:column;align-items:stretch}.face-enrollment-summary .button{margin-left:0}.face-enrollment-preview{width:100%}}.employee-profile-section.is-editing{border-color:#0f8b8d61;box-shadow:0 0 0 3px #0f8b8d14}.employee-profile-section-header,.employee-profile-section-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.employee-profile-section-header h3{color:var(--ink);font-size:var(--text-body);margin:0}.employee-profile-section .compact-button{min-height:32px;font-size:var(--text-md);padding:0 10px}.employee-profile-field-grid{gap:0;display:grid}.employee-profile-field{border-bottom:1px solid #d6e1e6c2;grid-template-columns:minmax(104px,.7fr) minmax(180px,1.3fr);align-items:center;gap:10px;min-width:0;min-height:42px;padding:9px 2px;display:grid}.employee-profile-field:last-child{border-bottom:0}.employee-profile-field-label{min-width:0;color:var(--muted);font-size:var(--text-body)}.employee-profile-field strong{overflow-wrap:anywhere;min-width:0;color:var(--ink);font-size:var(--text-body);text-align:right}.employee-profile-field input,.employee-profile-field select{border:1px solid var(--teal);width:100%;min-width:0;min-height:34px;color:var(--ink);font:inherit;text-align:right;background:#fff;border-radius:8px;padding:6px 8px;font-weight:800}.employee-profile-field select,.employee-profile-field input[type=email],.employee-profile-field input[type=text]{text-align:left}@media (max-width:920px){.employee-profile-sections{grid-template-columns:1fr}.employee-detail-embedded .employee-profile-section+.employee-profile-section,.employee-profile-sections-flat .employee-profile-section+.employee-profile-section{border-top:1px solid var(--line);border-left:0}}@media (max-width:620px){.employee-profile-section-header{flex-direction:column;align-items:flex-start}.employee-profile-section-actions{width:100%}.employee-profile-section-actions .button,.employee-profile-section-header>.button{flex:1}.employee-profile-field{grid-template-columns:1fr;gap:6px;padding:10px 0}.employee-profile-field strong{text-align:left}}.employee-payroll-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.employee-payroll-top-actions{margin-bottom:14px}.employee-payroll-top-grid{grid-template-columns:minmax(220px,.75fr) minmax(0,2.25fr);align-items:start;gap:24px;display:grid}.employee-payroll-left-column{min-width:0;display:grid}.employee-payroll-profile{margin:0}.employee-payroll-profile .employee-profile-section{background:0 0;border:0;border-radius:0;padding:0}.employee-employment-summary{min-width:0;padding:0}.employee-employment-summary-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.employee-employment-summary-header h3{font-size:var(--text-base);margin:0}.employee-employment-facts{grid-template-columns:1fr;display:grid}.employee-employment-facts div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;min-width:0;padding:10px 0;display:grid}.employee-employment-facts span,.employee-payroll-balances span,.employee-payroll-row span{color:var(--muted)}.employee-employment-facts span{font-size:var(--text-sm)}.employee-employment-facts strong{text-align:right;min-width:0;color:var(--ink);font-size:var(--text-body)}.employee-contract-history{margin-top:12px}.employee-contract-history summary{cursor:pointer;color:var(--teal-dark);font-size:var(--text-sm);font-weight:800}.employee-contract-history .employee-payroll-list{margin-top:8px}.employee-contract-history .employee-payroll-row{grid-template-columns:minmax(0,1fr) auto}.employee-contract-history .employee-payroll-row-meta{min-width:max-content}.employee-contract-history .employee-payroll-row-meta strong{white-space:nowrap}.employee-payroll-panel{background:0 0;border:0;border-radius:0;gap:12px;min-width:0;padding:14px 0;display:grid}.employee-payroll-panel h3{font-size:var(--text-base)}.employee-payroll-details{border-top:1px solid var(--line);margin-top:14px}.section-tabs.employee-payroll-detail-tabs{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;flex-wrap:wrap;gap:20px;width:auto;max-width:none;margin:0;padding:0;display:flex}.section-tabs.employee-payroll-detail-tabs button{min-height:42px;color:var(--muted);font-size:var(--text-sm);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:0;font-weight:800}.section-tabs.employee-payroll-detail-tabs button.active,.section-tabs.employee-payroll-detail-tabs button:hover{border-bottom-color:var(--teal);color:var(--teal-dark);background:0 0}.employee-payroll-list{gap:0;display:grid}.employee-payroll-row{border-bottom:1px solid #d6e1e6c2;grid-template-columns:minmax(0,1.35fr) minmax(142px,.65fr);align-items:center;gap:14px;min-width:0;min-height:48px;padding:10px 0;display:grid}.employee-payroll-row:last-child{border-bottom:0}.employee-payroll-row>div,.employee-payroll-row-meta{gap:4px;min-width:0;display:grid}.employee-payroll-row strong{overflow-wrap:anywhere;min-width:0;color:var(--ink);font-size:var(--text-body)}.employee-payroll-row span{overflow-wrap:anywhere;min-width:0;font-size:var(--text-body)}.employee-payroll-row-meta{text-align:right;justify-items:end}.employee-payroll-balances{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.employee-payroll-balances span{min-width:0;font-size:var(--text-md);background:0 0;border:0;border-radius:0;padding:7px 0}.employee-payroll-balances strong{color:var(--ink)}@media (max-width:920px){.employee-payroll-top-grid{grid-template-columns:1fr}}@media (max-width:620px){.employee-payroll-actions{justify-content:stretch;width:100%}.employee-payroll-actions .button{flex:1}.employee-payroll-row{grid-template-columns:1fr;gap:8px}.employee-payroll-row-meta{text-align:left;justify-items:start}}.schedule-meta{flex-wrap:wrap;gap:8px;display:flex}.schedule-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.schedule-tab-actions{justify-content:flex-end}@media (max-width:780px){.schedule-toolbar{flex-direction:column}.schedule-tab-actions{justify-content:flex-start}}.schedule-meta span{color:var(--muted);font-size:var(--text-sm);background:#eef5f8;border-radius:999px;padding:6px 10px;font-weight:700}.schedule-week{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:10px;display:grid}.schedule-overrides{gap:12px;margin-top:18px;display:grid}.schedule-lower-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:22px;padding-top:18px;display:grid}.schedule-summary-section{min-width:0}.schedule-summary-heading{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.schedule-summary-heading h3{font-size:var(--text-base);margin:0}.schedule-summary-heading span,.schedule-summary-note,.schedule-empty-message{color:var(--muted);font-size:var(--text-sm)}.schedule-summary-note,.schedule-empty-message{margin:8px 0 0}.schedule-event-list{border-top:1px solid var(--line);margin-top:10px;display:grid}.schedule-event-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(100px,.45fr) minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:10px 0;display:grid}.schedule-event-row span,.schedule-event-row small{min-width:0;color:var(--muted);font-size:var(--text-sm)}.schedule-event-row strong{min-width:0}.schedule-event-row .button{grid-column:3}.schedule-day-selector{border:0;margin:0;padding:0}.schedule-day-selector legend{color:var(--muted);font-size:var(--text-sm);margin-bottom:8px;font-weight:700}.schedule-day-selector>div{flex-wrap:wrap;gap:8px 14px;display:flex}.schedule-day-selector .checkbox-row{min-width:74px}@media (max-width:780px){.schedule-lower-grid{grid-template-columns:1fr;gap:24px}.schedule-event-row{grid-template-columns:1fr;gap:4px}.schedule-event-row .button{grid-column:auto;justify-self:start;margin-top:6px}}.schedule-day{border:1px solid var(--line);background:#fbfdfd;border-radius:8px;align-content:center;gap:5px;min-height:94px;padding:12px;display:grid}.schedule-day-button{width:100%;color:inherit;text-align:left;cursor:pointer}.schedule-day-button:disabled{cursor:default}.schedule-day-button:not(:disabled):hover{border-color:var(--teal);box-shadow:0 0 0 2px #0f8b8d1f}.schedule-day span,.schedule-day small{color:var(--muted);font-size:var(--text-sm);font-weight:700}.schedule-day strong{font-size:var(--text-body)}.schedule-day.rest{background:#f5f7f8}.inline-editable-value,.inline-editable-row,.inline-editable-pill,.inline-editable-schedule{cursor:text}.inline-editable-row:hover,.inline-editing-row,.inline-editable-value:hover,.inline-editable-pill:hover,.inline-editable-schedule:hover{outline-offset:2px;outline:2px solid #0f8b8d29}.inline-edit-control,.schedule-day-editing input,.schedule-day-editing select{border:1px solid var(--teal);min-width:0;color:var(--ink);background:#fff;border-radius:8px;padding:7px 8px;font-weight:700}.detail-list .inline-edit-control{text-align:right;justify-self:end;max-width:240px}.inline-schedule-heading{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.inline-schedule-heading strong{color:var(--muted);font-weight:600}.schedule-day-editing{align-content:center;gap:7px;min-height:94px}.schedule-day-editing select,.schedule-day-editing input{width:100%;min-height:30px;font-size:var(--text-md);padding:5px 6px}.schedule-time-pair{grid-template-columns:1fr 1fr;gap:6px;display:grid}.schedule-edit-header,.compact-break-field{justify-content:space-between;align-items:center;gap:8px;display:flex}.schedule-edit-header .checkbox-row{font-size:var(--text-sm)}.schedule-edit-header .checkbox-row input{width:14px;height:14px}.compact-break-field span{color:var(--muted);font-size:var(--text-sm);font-weight:700}.compact-break-field input{max-width:76px}.detail-list{gap:10px;display:grid}.detail-list div{background:#eef5f8;border-radius:8px;justify-content:space-between;gap:14px;padding:12px;display:flex}.detail-list span{color:var(--muted)}.detail-list strong{text-align:right}
.platform-grid{align-items:start}.platform-company-directory,.platform-workspace{min-width:0}.platform-directory-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.platform-directory-heading h2,.platform-directory-heading p{margin:0}.platform-directory-heading p{max-width:650px;margin-top:5px}.platform-company-table-wrap{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;overflow-x:auto}.platform-company-table{border-collapse:collapse;width:100%;min-width:760px}.platform-company-table th,.platform-company-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:13px 16px}.platform-company-table th{color:var(--muted);font-size:var(--text-sm);letter-spacing:.02em;text-transform:uppercase;background:#f8fafb;font-weight:800}.platform-company-table tr:last-child td{border-bottom:0}.platform-company-table tbody tr{transition:background-color .14s}.platform-company-table tbody tr:hover{background:#f5fbfb}.platform-company-link{max-width:420px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:inline-flex}.platform-company-link:hover strong{color:var(--teal-dark);text-underline-offset:3px;text-decoration:underline}.platform-company-link>span:last-child{gap:2px;min-width:0;display:grid}.platform-company-link strong,.platform-company-link small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.platform-company-link small{color:var(--muted);font-size:var(--text-sm)}.platform-company-mark,.platform-company-empty-icon{color:var(--teal-dark);background:#e9f8f7;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.platform-company-mark{width:36px;height:36px}.platform-company-open-cell{width:56px;text-align:right!important}.platform-company-empty{border:1px dashed var(--line-strong,var(--line));text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:52px 24px;display:flex}.platform-company-empty-icon{width:52px;height:52px;margin-bottom:14px}.platform-company-empty h3,.platform-company-empty p{margin:0}.platform-company-empty p{max-width:520px;color:var(--muted);margin:7px 0 18px}.platform-company-view{gap:10px;min-width:0;display:grid}.platform-back-link{width:max-content;color:var(--teal-dark);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:4px 0;font-weight:800;display:inline-flex}.platform-back-link:hover{text-underline-offset:3px;text-decoration:underline}.platform-create-company{margin:0}.platform-company-header{justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:20px;display:flex}.platform-company-identity{align-items:flex-start;gap:13px;min-width:0;display:flex}.platform-company-header-icon{width:44px;height:44px;color:var(--teal-dark);background:#e9f8f7;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.platform-company-identity>div{min-width:0}.platform-company-title-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.platform-company-title-line h2,.platform-company-identity p{margin:0}.platform-company-identity p{color:var(--ink);margin-top:3px}.platform-company-identity>div>span{color:var(--muted);font-size:var(--text-sm);margin-top:3px;display:block}.platform-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;background:0 0;border-radius:0;align-items:center;gap:28px;width:100%;margin:0 0 22px;padding:0;display:flex;overflow-x:auto}.row-action-menu{justify-content:flex-end;display:inline-flex;position:relative}.platform-user-list{border:1px solid var(--line);background:#fff;border-radius:8px;position:relative;overflow-x:auto}.platform-user-list-head,.platform-user-row{grid-template-columns:minmax(190px,1.25fr) minmax(145px,.9fr) minmax(145px,.85fr) minmax(120px,.7fr) minmax(90px,.45fr) 56px;align-items:center;gap:14px;min-width:930px;padding:12px;display:grid}.platform-user-list-head{border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--text-sm);text-transform:uppercase;font-weight:800}.platform-user-row{min-height:72px;position:relative}.platform-user-row+.platform-user-row{border-top:1px solid var(--line)}.platform-user-row>div{min-width:0}.platform-user-row strong,.platform-user-row .muted-text{overflow-wrap:anywhere}.platform-user-row .table-action-cell{justify-self:end}.platform-access-management{gap:24px;display:grid}.platform-section-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:12px;display:flex}.platform-section-heading h3,.platform-section-heading p{margin:0}.platform-section-heading p{color:var(--muted);font-size:var(--text-sm);margin-top:4px}.platform-access-template-cell{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.platform-user-heading-actions .badge{color:var(--ink);background:#eef4f6;margin-left:2px}.platform-invitation-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.platform-invitation-row{grid-template-columns:minmax(220px,1fr) minmax(190px,auto) auto;align-items:center;gap:16px;padding:12px 14px;display:grid}.platform-invitation-row+.platform-invitation-row{border-top:1px solid var(--line)}.platform-invitation-row>div:first-child,.platform-invitation-row>div:nth-child(2){gap:3px;min-width:0;display:grid}.platform-invitation-row span:not(.badge){color:var(--muted);font-size:var(--text-sm)}.platform-invitations-modal{width:min(860px,100%)}.platform-user-editor-view{border-top:1px solid var(--line);gap:20px;padding-top:18px;display:grid}.platform-user-editor-tabs{border-bottom:1px solid var(--line);gap:4px;display:flex;overflow-x:auto}.platform-user-editor-tabs button{min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 14px;font-weight:800}.platform-user-editor-tabs button.active{border-bottom-color:var(--teal);color:var(--teal-dark)}.platform-user-editor-tabs button:disabled{cursor:not-allowed;opacity:.45}.platform-user-editor-heading{grid-template-columns:minmax(150px,auto) minmax(0,1fr) auto;align-items:center;gap:20px;display:grid}.platform-user-editor-heading .platform-back-link,.platform-user-editor-heading h3,.platform-user-editor-heading p,.platform-user-editor-section-heading h4,.platform-user-editor-section-heading p{margin:0}.platform-user-editor-heading p,.platform-user-editor-section-heading p{color:var(--muted);font-size:var(--text-sm);margin-top:4px}.platform-user-editor-form{gap:18px;display:grid}.platform-user-editor-form[hidden],.platform-user-editor-section[hidden]{display:none}.platform-user-editor-section{background:0 0;border:0;border-radius:0;gap:16px;padding:0;display:grid}.platform-user-editor-section-heading{border-bottom:1px solid var(--line);padding-bottom:13px}.platform-user-editor-actions{background:linear-gradient(#fff0,#fff 30%);justify-content:flex-end;gap:10px;padding:14px 0 2px;display:flex;position:sticky;bottom:0}.platform-permission-editor{border:1px solid var(--line);background:#f8fafb;border-radius:10px;min-width:0;margin:2px 0 0;padding:16px}.platform-permission-editor legend{justify-content:space-between;align-items:center;gap:12px;width:100%;padding:0;font-weight:800;display:flex}.platform-permission-editor legend>span:first-child{align-items:center;gap:7px;display:inline-flex}.platform-permission-editor>p{color:var(--muted);font-size:var(--text-sm);margin:7px 0 14px}.platform-permission-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;display:grid}.platform-permission-groups section{min-width:0}.platform-permission-groups h4{color:var(--muted);font-size:var(--text-sm);margin:0 0 7px}.platform-permission-options{gap:6px;display:grid}.platform-permission-option{min-height:34px;color:var(--ink);font-size:var(--text-sm);background:#fff;border:1px solid #0000;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:6px 8px;font-weight:700;display:grid}.platform-permission-option:has(input:checked){background:#edf9f8;border-color:#addbd7}.platform-permission-option input{width:16px;height:16px;accent-color:var(--teal)}.platform-permission-editor>.field{margin-top:14px}.platform-user-empty{border:1px dashed var(--line-strong,var(--line));text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:28px;display:flex}.platform-user-empty>span{width:46px;height:46px;color:var(--teal-dark);background:#e9f8f7;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.platform-user-empty h4,.platform-user-empty p{margin:0}.platform-user-empty h4{margin-top:12px}.platform-user-empty p{max-width:460px;color:var(--muted);margin:5px 0 16px}.row-action-popover{z-index:40;border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;min-width:190px;padding:6px;display:grid;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 18px 42px #0a1f2a2e}.row-action-popover button{width:100%;min-height:38px;color:var(--ink);font:inherit;text-align:left;background:#fff;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 10px;font-weight:700;display:flex}.row-action-popover button:hover{background:#f4f8fa}.row-action-popover button.danger{color:var(--red)}.platform-tabs::-webkit-scrollbar{display:none}.platform-tabs button{color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:none;min-height:44px;padding:0 1px;font-weight:800}.platform-tabs button.active,.platform-tabs button:hover{color:var(--teal-dark);border-bottom-color:var(--teal);background:0 0}.platform-tabs-expanded{gap:clamp(12px,1vw,20px)}.platform-details-layout{grid-template-columns:minmax(220px,.68fr) minmax(0,1.6fr);align-items:start;gap:22px;display:grid}.platform-details-layout.schedule-only{grid-template-columns:minmax(0,1fr)}.platform-controls-panel,.platform-controls-panel .company-controls{min-width:0}.platform-controls-panel .company-controls{gap:18px}.platform-controls-panel .company-controls>.card,.platform-controls-panel .company-controls>.grid>.card{border-color:var(--line);box-shadow:none}.platform-overview-panel,.platform-information-panel{min-width:0}.platform-overview-panel{background:#f4f8fa;border-radius:10px;padding:18px}.platform-overview-panel h3,.platform-information-panel h3,.platform-information-panel p{margin:0}.platform-overview-panel h3,.platform-information-panel h3{font-size:var(--text-body)}.platform-overview-metrics{gap:0;margin-top:8px;display:grid}.platform-overview-metric{gap:3px;padding:16px 0;display:grid}.platform-overview-metric+.platform-overview-metric{border-top:1px solid var(--line)}.platform-overview-metric span,.platform-company-facts dt{color:var(--muted);font-size:var(--text-sm);font-weight:700}.platform-overview-metric strong{color:var(--ink);font-size:30px;line-height:1.05}.platform-overview-metric small{color:var(--muted);font-size:var(--text-sm)}.platform-information-heading{border-bottom:1px solid var(--line);padding-bottom:14px}.platform-information-heading p{color:var(--muted);font-size:var(--text-sm);margin-top:4px}.platform-company-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.platform-company-facts>div{border-bottom:1px solid var(--line);min-width:0;padding:15px 0}.platform-company-facts>div:nth-child(odd){padding-right:20px}.platform-company-facts dt,.platform-company-facts dd{margin:0}.platform-company-facts dd{color:var(--ink);overflow-wrap:anywhere;margin-top:4px;font-weight:700}.platform-company-schedule-row{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 0;display:grid}.platform-company-schedule-icon{width:36px;height:36px;color:var(--teal-strong);background:var(--teal-soft);border-radius:9px;place-items:center;display:grid}.platform-company-schedule-row>div{gap:3px;min-width:0;display:grid}.platform-company-schedule-row span:not(.platform-company-schedule-icon){color:var(--muted);font-size:var(--text-sm)}.platform-branch-schedule-summary,.platform-branch-inheritance-note{color:var(--muted);font-size:var(--text-sm);align-items:center;gap:7px;margin:8px 0 0;display:flex}.platform-branch-schedule-summary svg,.platform-branch-inheritance-note svg{color:var(--teal-strong);flex:none}.platform-branch-schedule-summary strong{color:var(--ink)}.platform-branch-schedule-editor-row{border:1px solid var(--line);background:var(--surface-alt);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.platform-branch-schedule-editor-row>div{gap:3px;min-width:0;display:grid}.platform-branch-schedule-editor-row>div>span{color:var(--muted);font-size:var(--text-sm)}.platform-company-access-row{justify-content:space-between;align-items:center;gap:18px;padding-top:16px;display:flex}.platform-company-access-row>div:first-child{gap:3px;min-width:0;display:grid}.platform-company-access-row span{color:var(--muted);font-size:var(--text-sm)}.platform-section{min-width:0}.platform-section h3{font-size:var(--text-body);margin:0 0 12px}.platform-section>.actions:first-child{margin-bottom:12px}.platform-section>.actions:first-child h3{margin-bottom:0}.platform-wide{grid-column:1/-1}
.profile-tabs-layout{gap:14px}.profile-workspace{min-width:0}.profile-workspace-header{justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:20px;display:flex}.profile-workspace-identity{align-items:flex-start;gap:13px;min-width:0;display:flex}.profile-avatar{width:46px;height:46px;color:var(--teal-dark);background:#e9f8f7;border-radius:10px;flex:none;place-items:center;font-weight:850;display:inline-grid}.profile-workspace-identity>div{min-width:0}.profile-title-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.profile-title-line h2,.profile-workspace-identity p{margin:0}.profile-workspace-identity p{color:var(--ink);overflow-wrap:anywhere;margin-top:3px}.profile-workspace-identity>div>span{color:var(--muted);font-size:var(--text-sm);overflow-wrap:anywhere;margin-top:3px;display:block}.profile-tabs,.profile-tab-panel{min-width:0}.section-tabs.profile-tabs{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;gap:28px;width:100%;margin:0;padding:0}.section-tabs.profile-tabs button{border-bottom:2px solid #0000;border-radius:0;min-height:44px;padding:0 1px}.section-tabs.profile-tabs button.active,.section-tabs.profile-tabs button:hover{color:var(--teal-dark);border-bottom-color:var(--teal);background:0 0}.profile-tab-panel{gap:22px;padding-top:18px}.profile-section{min-width:0;padding:0}.profile-section-block{align-content:start;padding-top:18px}.profile-section-block h2{font-size:var(--text-body);margin:0 0 6px}.profile-section-actions{justify-content:flex-start;align-items:center;display:flex}.profile-section-actions .button{width:auto}.profile-workspace .profile-tab-panel>.card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.profile-preferences-card{grid-column:span 2}.profile-overview-layout{grid-column:1/-1;min-width:0}.profile-information-panel h3{font-size:var(--text-body);margin:0}.profile-facts,.profile-policy-facts{margin:0}.profile-facts dt,.profile-policy-facts dt{color:var(--muted);font-size:var(--text-sm);font-weight:700}.profile-facts dd,.profile-policy-facts dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:700}.profile-policy-facts{display:grid}.profile-policy-facts>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:11px 0;display:flex}.profile-policy-facts dd{text-align:right}.profile-information-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:14px;display:flex}.profile-edit-form{gap:16px;padding-top:16px;display:grid}.profile-edit-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.profile-edit-actions{justify-content:flex-end;gap:8px;display:flex}.profile-facts{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.profile-facts>div{border-bottom:1px solid var(--line);min-width:0;padding:15px 0}.profile-facts>div:nth-child(odd){padding-right:20px}.profile-facts dd{margin-top:4px}.profile-push-card{grid-column:span 2}.profile-push-card h2{align-items:center;gap:8px;display:flex}.profile-push-devices,.profile-push-device>div:first-child{gap:8px;display:grid}.profile-push-device{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.profile-push-actions{flex-wrap:wrap;gap:8px;display:flex}.profile-summary{align-items:center;gap:14px;margin-bottom:16px;display:flex}.profile-summary h3{margin:0 0 4px}.inline-name{flex-wrap:wrap;gap:6px;margin:0 0 4px;display:inline-flex}.inline-name strong{font-size:inherit}.profile-summary p{color:var(--muted);margin:0}.profile-schedule-card{grid-column:span 2}@media (max-width:900px){.profile-tab-panel,.profile-facts,.profile-edit-fields{grid-template-columns:1fr}.profile-facts>div:nth-child(odd){padding-right:0}.profile-schedule-card,.profile-preferences-card,.profile-payslips-card,.profile-push-card{grid-column:auto}.profile-section-actions .button{width:100%}.profile-edit-actions{flex-direction:column-reverse}.profile-edit-actions .button{width:100%}}.profile-payslips-card{grid-column:span 2}.profile-payslip-list{gap:8px;display:grid}.profile-payslip-row{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.profile-payslip-row div{gap:3px;display:grid}.profile-payslip-row span,.profile-payslip-row small{color:var(--muted)}.profile-actions{justify-content:flex-end;margin-top:14px;display:flex}
.support-drawer{z-index:20;border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:14px;width:min(380px,100vw - 28px);max-height:calc(100vh - 28px);padding:16px;display:grid;position:absolute;top:14px;left:14px;overflow:auto;box-shadow:0 18px 44px #0f172a29}.support-admin-view{gap:20px;display:grid}.support-section-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:0;display:flex}.support-section-heading h2,.support-section-heading p{margin:0}.support-section-heading h2{font-size:var(--text-xl);align-items:center;gap:9px;display:flex}.support-section-heading p{color:var(--muted);font-size:var(--text-sm);margin-top:4px}.support-drawer-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.support-drawer-header h2,.support-recent h3{color:var(--ink);margin:0}.support-drawer-header h2{font-size:var(--text-title);line-height:1.15}.support-recent h3{font-size:var(--text-base)}.support-drawer-header p{color:var(--muted);font-size:var(--text-md);margin:4px 0 0;line-height:1.35}.support-drawer .icon-button{border:1px solid var(--line);background:var(--surface-alt);width:34px;height:34px;min-height:34px;color:var(--ink);border-radius:8px;flex:none;place-items:center;display:inline-grid}.support-drawer .icon-button:hover{background:#e8eef3}.support-form,.support-recent-list,.support-admin-list,.support-ticket-admin-form{gap:10px;display:grid}.support-drawer .field{gap:5px}.support-drawer .field label,.support-drawer .field>span{font-size:var(--text-sm)}.support-drawer .field input,.support-drawer .field select,.support-drawer .field textarea{min-height:38px;font-size:var(--text-body);padding:8px 10px;line-height:1.35}.support-drawer .field textarea{min-height:104px}.support-drawer .button{justify-content:center;min-height:42px}.support-drawer .muted-text,.support-recent .empty{font-size:var(--text-md);line-height:1.35}.support-ticket-mini,.support-admin-ticket{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;gap:10px;padding:12px;display:grid}@media (max-width:640px){.support-drawer{top:auto;right:10px;bottom:var(--shell-mobile-overlay-bottom-clearance);width:auto;max-height:min(68vh,640px);padding:14px;position:fixed;left:10px}}.support-ticket-mini{grid-template-columns:minmax(0,1fr) auto;align-items:start}.support-ticket-mini strong,.support-admin-ticket strong{overflow-wrap:anywhere;display:block}.support-ticket-mini span{color:var(--muted);font-size:var(--text-md)}.support-ticket-mini p{color:var(--muted);grid-column:1/-1;margin:0}.support-admin-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.support-admin-ticket-head{justify-content:space-between;gap:16px;display:flex}.support-admin-ticket-head p,.support-admin-ticket>p{color:var(--muted);margin:0}.support-admin-badges{flex-wrap:wrap;justify-content:flex-end;align-items:start;gap:8px;display:flex}.support-ticket-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.support-ticket-meta div{min-width:0}.support-ticket-meta dt{color:var(--muted);font-size:var(--text-sm)}.support-ticket-meta dd{overflow-wrap:anywhere;margin:2px 0 0}
.schedule-management-list{gap:10px;margin-top:16px;display:grid}.schedule-management-card{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.schedule-management-card.is-default{background:color-mix(in srgb, var(--accent) 5%, white);border-color:color-mix(in srgb, var(--accent) 28%, var(--line))}.schedule-management-card p{margin:8px 0 0}.schedule-editor-modal{width:min(1040px,100vw - 32px)}.schedule-editor-week{grid-template-columns:repeat(auto-fit,minmax(min(100%,118px),1fr));gap:8px;display:grid}.schedule-editor-day{border:1px solid var(--line);border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.schedule-editor-day legend{font-size:var(--text-sm);padding:0 4px;font-weight:800}.schedule-editor-day .field label{font-size:11px}.schedule-editor-day input{min-width:0}@media (max-width:900px){.schedule-management-card{flex-direction:column;align-items:stretch}}
.camera-capture{gap:10px;min-height:172px;padding:10px;display:grid}.camera-capture video{object-fit:cover;background:#101820;border-radius:8px;width:100%;max-height:320px}.clock-action-buttons{grid-template-columns:minmax(0,1fr) auto;place-content:end stretch;gap:10px;width:100%;display:grid}.clock-button{min-height:54px;font-size:var(--text-base)}.clock-button-primary{width:100%;min-width:0;min-height:60px;font-size:var(--text-base);white-space:nowrap;justify-content:center}.clock-break-button{white-space:nowrap;min-width:150px;min-height:60px}.clock-mini-camera{background:0 0;border:0;border-radius:8px;align-content:start;gap:6px;width:100%;min-width:0;padding:0;display:grid}.clock-mini-camera.needs-action{border:1px dashed var(--line);background:#f8fbfc;width:100%;padding:8px}.clock-mini-camera-frame{aspect-ratio:4/3;color:#e6f1f2;background:#101820;border-radius:6px;place-items:center;display:grid;position:relative;overflow:hidden}.clock-mini-camera-frame.ready{box-shadow:inset 0 0 0 2px #0f8b8d2e}.clock-mini-camera-frame video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.face-scan-overlay{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.face-scan-guide{--face-guide-color:#ff6b68;filter:drop-shadow(0 1px 4px #04151cb8);min-width:64px;min-height:76px;transition:left .14s,top .14s,width .14s,height .14s,filter .16s;position:absolute}.face-scan-overlay.is-positioned .face-scan-guide,.face-scan-overlay.is-complete .face-scan-guide{--face-guide-color:#55dc95;filter:drop-shadow(0 1px 5px #12764cb8)}.face-scan-corner{border-color:var(--face-guide-color);border-style:solid;width:clamp(18px,22%,32px);height:clamp(18px,22%,32px);transition:border-color .16s;position:absolute}.face-scan-corner.top-left{border-width:3px 0 0 3px;border-radius:6px 0 0;top:0;left:0}.face-scan-corner.top-right{border-width:3px 3px 0 0;border-radius:0 6px 0 0;top:0;right:0}.face-scan-corner.bottom-left{border-width:0 0 3px 3px;border-radius:0 0 0 6px;bottom:0;left:0}.face-scan-corner.bottom-right{border-width:0 3px 3px 0;border-radius:0 0 6px;bottom:0;right:0}.face-scan-prompt{inset-inline:10px;color:#fff;max-width:calc(100% - 20px);font-size:var(--text-xs);text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#051920d1;border:1px solid #ffffff4d;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:6px 9px;font-weight:850;line-height:1.2;display:flex;position:absolute;bottom:10px}.face-scan-overlay.is-positioned .face-scan-prompt,.face-scan-overlay.is-complete .face-scan-prompt{background:#094933d6;border-color:#73eca880}.face-scan-steps{gap:4px;display:flex;position:absolute;top:10px;right:10px}.face-scan-steps span{background:#ffffff5c;border-radius:999px;width:18px;height:4px}.face-scan-steps span.done{background:#65e3d9}.clock-verification-card.face-required{background:linear-gradient(#eaf8f5d1,#f8fbfc);border-color:#0f8b8d6b}.clock-verification-card.face-checking{box-shadow:0 0 0 3px #0f8b8d1f}.face-checking-copy{color:var(--teal-dark)!important}@media (prefers-reduced-motion:reduce){.face-scan-guide,.face-scan-corner{transition:none}}.clock-mini-camera-placeholder{color:#d7e7eb;font-size:var(--text-xs);text-align:center;justify-items:center;gap:6px;padding:8px;font-weight:800;line-height:1.2;display:grid}.clock-mini-camera-close{color:#fff;cursor:pointer;opacity:0;background:#0a181f7a;border:1px solid #ffffffb8;border-radius:999px;place-items:center;width:24px;height:24px;padding:0;transition:opacity .16s,background .16s;display:grid;position:absolute;top:5px;right:5px}.clock-mini-camera:hover .clock-mini-camera-close,.clock-mini-camera:focus-within .clock-mini-camera-close{opacity:1}.clock-mini-camera-close:hover,.clock-mini-camera-close:focus-visible{opacity:1;background:#0a181fc7}.clock-mini-camera-status{min-width:0;color:var(--muted);font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:8px;font-weight:800;line-height:1.2;display:flex}.clock-mini-camera-status span{min-width:0}.clock-mini-camera .compact-button{min-height:28px;font-size:var(--text-xs);white-space:nowrap;padding:4px 8px}.clock-mini-camera .message.error{font-size:var(--text-xs);margin:0;padding:6px 8px;line-height:1.25}
.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;padding:18px;box-shadow:0 8px 28px #18212f0d}.card h2,.card h3{font-size:var(--text-base);margin:0 0 12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.empty-state{border:1px dashed var(--line);color:var(--muted);text-align:center;background:#fbfdfe;border-radius:8px;margin:0;padding:28px}.empty{color:var(--muted);padding:18px 0}.muted-text{color:var(--muted);font-size:var(--text-md)}.badge{width:fit-content;max-width:100%;min-height:24px;font-size:var(--text-sm);white-space:nowrap;color:var(--ink);background:#edf3f7;border-radius:999px;align-items:center;padding:3px 8px;font-weight:700;line-height:1.1;display:inline-flex}.badge.green{color:var(--green);background:#e6f5ee}.badge.amber{color:var(--amber);background:#fff6df}.badge.red{color:var(--red);background:#fff0ee}.badge.gray{color:var(--muted);background:#edf3f7}.badge.blue{color:var(--blue);background:#eaf1ff}.actions{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.button{background:var(--teal);color:#fff;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:700;display:inline-flex}.button-content{justify-content:center;align-items:center;gap:8px;display:inline-flex}.button-spinner{visibility:hidden;border:2px solid;border-right-color:#0000;border-radius:999px;flex:0 0 14px;width:14px;height:14px;display:inline-block}.button.is-loading .button-spinner{visibility:visible;animation:.75s linear infinite button-spin}@keyframes button-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.button.is-loading .button-spinner{animation:none}}.button.secondary{color:var(--ink);border-color:var(--line);background:#fff}.button.warning{background:var(--coral)}.button.danger{color:#fff;background:#b42318;border-color:#b42318}.button.danger-text{color:var(--red)}.button:disabled{opacity:.55;cursor:not-allowed}.icon-button{width:40px;padding:0}
.form-grid{gap:12px;display:grid}.field{gap:6px;display:grid}.field legend{color:var(--muted);font-size:var(--text-sm);font-weight:700}.choice-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:auto 1fr;align-items:flex-start;gap:8px;padding:10px;display:grid}.choice-row input{width:auto;min-height:auto;margin-top:2px}.choice-row small{color:var(--muted);margin-top:2px;display:block}.field label,.field>span{font-size:var(--text-sm);color:var(--muted);font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fff;border-radius:8px;padding:9px 10px}.password-input-wrap{display:grid;position:relative}.password-input-wrap input{padding-right:46px}.password-visibility-toggle{color:var(--muted);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-visibility-toggle:hover,.password-visibility-toggle:focus-visible{color:var(--ink);background:#eef5f4}.password-visibility-toggle:focus-visible{outline:2px solid color-mix(in srgb, var(--teal) 55%, white);outline-offset:1px}.field textarea{resize:vertical;min-height:92px}.section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.section-heading h2{margin:0}.section-heading p{color:var(--muted);font-size:var(--text-body);margin:4px 0 0;line-height:1.35}
.requests-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:18px;width:min(100%,1180px);margin:0 auto;display:grid}.requests-tabs-layout{gap:16px;width:100%;margin:0;display:grid}.requests-admin-workspace{gap:0;min-width:0;padding:0;display:grid}.section-tabs.requests-primary-tabs{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;gap:28px;width:auto;max-width:none;margin:0;padding:0;display:flex}.section-tabs.requests-primary-tabs button{border-bottom:2px solid #0000;border-radius:0;min-height:44px;padding:0}.section-tabs.requests-primary-tabs button.active,.section-tabs.requests-primary-tabs button:hover{border-bottom-color:var(--teal);color:var(--teal-dark);background:0 0}.section-tabs.requests-primary-tabs button.active span,.section-tabs.requests-primary-tabs button:hover span{color:var(--teal-dark);background:#e9f8f7}.requests-admin-workspace-panel{min-width:0;padding:20px 0 0}.requests-admin-workspace .request-filter-bar{margin-bottom:18px}.requests-admin-workspace .request-empty-state{background:var(--surface-alt);border:0;padding:30px 24px}.employee-requests-layout{gap:14px}.requests-title-action{min-height:34px;font-size:var(--text-body);border-radius:8px;margin-left:auto;padding:0 11px}.requests-inbox-card{gap:12px;display:grid}.request-inbox-tabs{border:1px solid var(--line);background:#eef5f8;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:3px;display:grid}.request-inbox-tabs button{min-height:32px;color:var(--muted);font-size:var(--text-md);background:0 0;border:0;border-radius:6px;font-weight:850}.request-inbox-tabs button.active{color:var(--teal-dark);background:#fff;box-shadow:0 1px 2px #0e2a3c14}.reports-workspace{gap:0;width:min(100%,1180px);min-width:0;margin:0 auto;padding:0;display:grid}.section-tabs.report-tabs{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;gap:28px;width:auto;max-width:none;margin:0;padding:0;display:flex}.section-tabs.report-tabs button{border-bottom:2px solid #0000;border-radius:0;min-height:44px;padding:0}.section-tabs.report-tabs button.active,.section-tabs.report-tabs button:hover{border-bottom-color:var(--teal);color:var(--teal-dark);background:0 0}.report-workspace-panel{min-width:0;padding:20px 0 0}.report-type-control{align-items:end;display:flex}.report-type-control label{width:min(100%,360px);color:var(--muted);font-size:var(--text-sm);gap:6px;font-weight:800;display:grid}.report-type-control select{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);background:#fff;border-radius:8px;padding:0 34px 0 10px}.report-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.report-controls input{border:1px solid var(--line);min-height:36px;color:var(--ink);background:#fff;border-radius:8px;padding:0 10px}.report-detail-card{gap:14px;min-height:0;display:grid}.report-preview-notice{color:var(--muted);font-size:var(--text-sm);margin:0}.requests-layout.single{grid-template-columns:minmax(0,820px);justify-content:center}.request-compose-card{padding:24px}.request-form{gap:16px}.request-type-panel{display:block}.label-with-info{align-items:center;gap:6px;display:inline-flex}.info-trigger{color:var(--muted);background:0 0;border:0;place-items:center;width:22px;height:22px;padding:0;display:inline-grid;position:relative}.info-trigger:hover,.info-trigger:focus{color:var(--teal);outline:none}.info-tooltip{z-index:30;border:1px solid var(--line);width:min(280px,70vw);color:var(--ink);text-align:left;background:#fff;border-radius:8px;gap:5px;padding:10px 12px;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 18px 40px #0e2a3c29}.info-trigger:hover .info-tooltip,.info-trigger:focus .info-tooltip,.info-trigger:focus-within .info-tooltip{display:grid}.info-tooltip span,.request-checks span{color:var(--muted);font-size:var(--text-md);line-height:1.35}.request-date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.request-form .field>span{font-weight:650;line-height:1.35}.request-submit-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;padding-top:16px;display:grid}.request-submit-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;display:grid}.request-submit-summary span{border:1px solid var(--line);min-width:0;color:var(--ink);font-size:var(--text-md);background:#f8fbfc;border-radius:8px;gap:3px;padding:9px 10px;font-weight:750;display:grid}.request-submit-summary strong{color:var(--muted);font-size:var(--text-xs);font-weight:850}.request-submit-summary h3{display:none}.request-filter-bar{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:12px;margin-bottom:14px;display:grid}.request-filter-bar label{gap:6px;display:grid}.request-filter-bar span{color:var(--muted);font-size:var(--text-sm);font-weight:700}.request-filter-bar select{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#fff;border-radius:8px;padding:0 10px}.request-filter-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.request-filter-chips button{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#fff;border-radius:8px;padding:0 12px;font-weight:800}.request-filter-chips button.active,.request-filter-chips button:hover{border-color:var(--teal);color:var(--teal-dark);background:#e9faf7}.employee-request-list{border-top:1px solid var(--line);display:grid}.employee-request-item{border-bottom:1px solid var(--line);background:0 0}.employee-request-row{width:100%;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:10px 0;display:grid}.employee-request-main{gap:3px;min-width:0;display:grid}.employee-request-main strong,.employee-request-main span,.employee-request-main p{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.employee-request-main span{color:var(--muted);font-size:var(--text-sm);font-weight:750}.employee-request-main p{color:var(--muted);font-size:var(--text-sm);margin:0;font-weight:650}.employee-request-actions{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.employee-request-actions .status-badge{min-height:24px;font-size:var(--text-xs);padding:2px 8px}.employee-request-chevron{color:var(--muted);transition:transform .16s}.employee-request-item.expanded .employee-request-chevron{transform:rotate(180deg)}.employee-request-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.employee-request-details div{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;gap:3px;min-width:0;padding:9px 10px;display:grid}.employee-request-details dt{color:var(--muted);font-size:var(--text-xs);font-weight:850}.employee-request-details dd{overflow-wrap:anywhere;min-width:0;font-size:var(--text-md);margin:0;font-weight:750}.request-expanded{gap:10px;padding:0 0 12px;display:grid}.request-info-response{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.request-info-response .actions{justify-content:flex-end}.request-detail-page{gap:16px;width:min(100%,1220px);margin:0 auto;display:grid}.request-detail-back{width:max-content;color:var(--muted);font-size:var(--text-body);background:0 0;border:0;align-items:center;gap:7px;padding:0;font-weight:800;display:inline-flex}.request-detail-back:hover{color:var(--teal-dark)}.request-detail-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:2px 0 18px;display:flex}.request-detail-header>div{gap:12px;min-width:0;display:grid}.request-detail-header h2,.request-detail-section-heading h3{margin:0}.request-detail-header h2{font-size:clamp(1.45rem,2.4vw,2rem)}.request-detail-meta{flex-wrap:wrap;align-items:center;gap:8px 22px;margin:0;display:flex}.request-detail-meta>div{align-items:baseline;gap:6px;display:flex;position:relative}.request-detail-meta>div+div:before{content:"";background:#9aabb4;border-radius:50%;width:3px;height:3px;position:absolute;top:50%;left:-12px}.request-detail-meta dt{color:var(--muted);font-size:var(--text-xs);font-weight:750}.request-detail-meta dd{font-size:var(--text-md);margin:0;font-weight:800}.request-detail-layout{grid-template-columns:minmax(0,860px);justify-content:center;align-items:start;gap:32px;display:grid}.request-detail-layout.with-sidebar{grid-template-columns:minmax(0,1fr) minmax(250px,300px);justify-content:stretch}.request-detail-main,.request-detail-sidebar{min-width:0}.request-detail-sidebar{border-left:1px solid var(--line);gap:24px;padding-left:24px;display:grid}.request-conversation-card{gap:24px;padding:8px 0 0;display:grid}.request-detail-section-heading{color:var(--teal-dark);align-items:center;gap:9px;display:flex}.request-timeline{gap:18px;display:grid;position:relative}.request-timeline:before{content:"";background:#dce7eb;width:1px;position:absolute;top:18px;bottom:18px;left:17px}.request-message{grid-template-columns:36px minmax(0,1fr);gap:12px;display:grid;position:relative}.request-message-avatar{z-index:1;background:var(--teal-dark);color:#fff;width:36px;height:36px;font-size:var(--text-sm);border:3px solid #fff;border-radius:50%;place-items:center;font-weight:900;display:grid;position:relative}.request-message-reviewer .request-message-avatar{background:#c98113}.request-message-content{border-bottom:1px solid var(--line);gap:6px;min-width:0;padding:0 0 18px;display:grid}.request-message-reviewer .request-message-content{border-bottom-color:#e7d7b3}.request-message-meta{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.request-message-meta span,.request-message-label{color:var(--muted);font-size:var(--text-xs);font-weight:750}.request-message-label{color:var(--teal-dark)}.request-message-reviewer .request-message-label{color:#825507}.request-message-content p{overflow-wrap:anywhere;margin:0;line-height:1.5}.request-detail-composer{border-top:1px solid var(--line);gap:14px;padding:22px 0 0;display:grid}.request-composer-heading>div{gap:3px;display:grid}.request-composer-heading span{color:var(--muted);font-size:var(--text-md)}.request-detail-composer textarea{background:#fff;min-height:132px}.request-composer-footer{justify-content:space-between;align-items:center;gap:14px;display:flex}.request-attachment-control{min-width:0;color:var(--teal-dark);cursor:pointer;align-items:center;gap:9px;display:inline-flex}.request-attachment-control>span{gap:1px;min-width:0;display:grid}.request-attachment-control small{color:var(--muted);font-weight:650}.request-attachment-control input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.request-detail-documents,.request-detail-approval-history,.request-decision-card{border-bottom:1px solid var(--line);gap:14px;padding:0 0 22px;display:grid}.request-detail-documents h3,.request-detail-approval-history h3,.request-decision-card h3,.request-decision-card p{margin:0}.request-detail-documents>button{width:100%;min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:10px;display:flex}.request-detail-documents>button span{gap:2px;min-width:0;display:grid}.request-detail-documents>button strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.request-detail-documents>button small{color:var(--teal-dark);font-weight:750}.request-detail-approval-history{gap:12px;display:grid}.request-detail-approval-history>div{display:grid}.request-detail-approval-history article{grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;min-width:0;padding:2px 0;display:grid}.request-detail-approval-history article>div{gap:2px;min-width:0;display:grid}.request-detail-approval-history article span{color:var(--muted);font-size:var(--text-xs)}.request-detail-approval-history article p{color:var(--muted);overflow-wrap:anywhere;font-size:var(--text-md);grid-column:1/-1;margin:0}.request-decision-card p{color:var(--muted);font-size:var(--text-md);line-height:1.4}.request-decision-card>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.request-detail-not-found{gap:18px;width:min(100%,900px);margin:0 auto;display:grid}.request-review-modal{gap:18px;display:grid}.request-review-heading{align-items:flex-start}.request-review-heading .status-badge{flex:none}.request-review-details{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px;margin:0;display:grid}.request-review-details>div{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;gap:4px;min-width:0;padding:10px 12px;display:grid}.request-review-details dt{color:var(--muted);font-size:var(--text-xs);font-weight:850}.request-review-details dd{overflow-wrap:anywhere;min-width:0;font-size:var(--text-body);margin:0;font-weight:750}.request-review-reason,.request-review-history{gap:8px;display:grid}.request-review-reason h3,.request-review-history h3{font-size:var(--text-lg);margin:0}.request-review-reason p{border-left:3px solid var(--teal);overflow-wrap:anywhere;background:#f4faf9;border-radius:0 8px 8px 0;margin:0;padding:12px 14px;line-height:1.5}.request-review-history-list{border:1px solid var(--line);border-radius:8px;display:grid;overflow:hidden}.request-review-history-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;min-width:0;padding:10px 12px;display:grid}.request-review-history-item:last-child{border-bottom:0}.request-review-history-item>div{gap:2px;min-width:0;display:grid}.request-review-history-item span{color:var(--muted);font-size:var(--text-sm)}.request-review-history-item p{color:var(--muted);overflow-wrap:anywhere;grid-column:1/-1;margin:0}.request-review-actions{border-top:1px solid var(--line);margin-top:0;padding-top:14px}.request-empty-state{border:1px dashed var(--line);text-align:center;background:#fbfdfe;border-radius:8px;justify-items:center;gap:8px;padding:26px;display:grid}.request-empty-state span{max-width:420px;color:var(--muted);font-size:var(--text-body);line-height:1.35}.requests-side{gap:18px;display:grid}.request-help-card{background:#fbfdfd}.request-checks{gap:10px;display:grid}.request-checks span{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px;display:block}.attachment-field span{color:var(--muted);font-size:var(--text-sm)}.checkbox-row{color:var(--muted);font-size:var(--text-md);align-items:center;gap:8px;font-weight:700;display:inline-flex}.checkbox-row input{width:16px;height:16px}
