.role-dashboard{gap:16px;display:grid}.sites-page{flex-direction:column;gap:0;min-height:0;display:flex}.dash-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:18px 20px;display:flex}.dash-hero-main{flex-wrap:wrap;align-items:center;gap:10px 12px;min-width:0;display:flex}.dash-hero h2{margin:0;font-size:1.35rem}.dash-role{text-align:right;align-content:start;justify-items:end;gap:4px;display:grid}.dash-role b,.dash-role small{display:block}.dash-role small{color:var(--muted);font-size:.74rem}.dash-grid{grid-template-columns:minmax(0,1.45fr) minmax(260px,.72fr);align-items:start;gap:16px;display:grid}.dash-actions{gap:8px;display:grid}.dash-card{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:8px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:12px;margin:0;padding:12px 14px;display:grid}.dash-card:hover{border-color:#f2a273;box-shadow:0 8px 20px #1c273214}.dash-card.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.dash-card-icon{width:36px;height:36px;color:var(--orange);background:#fff2e9;border-radius:8px;place-items:center;display:grid}.dash-card.primary .dash-card-icon{background:var(--orange);color:#fff}.dash-card-icon svg,.dash-card .chev{width:18px;height:18px}.dash-card b{font-size:.95rem}.dash-side{padding:20px}.dash-side>.panel-heading{margin-bottom:8px}.dash-side>.panel-heading>svg{width:20px;color:var(--orange)}.dash-site-list{display:grid}.dash-site{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #e8ebef;gap:3px;padding:12px 0;display:grid}.dash-site b{font-size:.86rem}.dash-site small{color:var(--muted);font-size:.74rem;line-height:1.4}.dash-note{color:var(--muted);margin:8px 0 0;font-size:.82rem;line-height:1.5}.ops-section-nav{flex-wrap:wrap;width:100%;max-width:100%;margin-top:16px}.ops-section-nav button{flex:170px;justify-content:center}.sites-page .site-admin{margin-top:0}.workforce-form>.panel-heading button{white-space:nowrap}.role-dashboard .metric-card b{font-size:1.45rem}.fill-select{width:280px}.roster-builder.panel-fill{flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.roster-builder>form{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.roster-empty-note,.roster-range-note{border-bottom:1px solid var(--line);color:var(--muted);background:#f8fafb;margin:0;padding:12px 16px;font-size:.875rem}.roster-range-note{color:#a32626;background:#fff8f7}.roster-focus-bar{border-bottom:1px solid var(--line);background:#fff7f1;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.roster-focus-bar b{font-size:.95rem;display:block}.roster-focus-bar small{color:var(--muted);font-size:.75rem}.roster-person-calendar{background:#fff;flex-direction:column;flex:1 1 0;min-height:0;display:flex}.roster-cal-toolbar{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.roster-cal-legend .weekend{background:#d5dbe3}.roster-cal-legend .scheduled{background:#e6eaee}.roster-person-calendar .person-month-calendar-wrap{border:0;border-radius:0;flex:1 1 0;min-height:0}.roster-month-calendar{min-width:860px}.roster-cal-day{cursor:default;min-height:108px}.roster-cal-day .day-shift{width:100%;min-width:0}.roster-person-calendar .grid-select{height:30px;min-height:30px;padding:0 4px;font-size:.68rem}.roster-cal-day.has-shift{background:#f3fbf6}.roster-cal-day.is-off{background:#f7f8fa}.roster-cal-day.is-gap{background:#fafbfc}.roster-cal-day.is-gap .person-cal-number{color:#c5ccd3}.roster-cal-day.is-today{background:#fff7f1}.month-switch button:disabled{opacity:.35;cursor:default}.roster-create-filters.staff-filters{flex:none}.roster-create-filters .range-picker,.roster-create-filters .range-picker-button{width:100%}.roster-create-filters .range-picker-button{justify-content:space-between;height:38px}.roster-apply-field button{width:100%;height:38px}.roster-pages{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.roster-builder .schedule-wrap{background:#fff;border:0;border-radius:0;flex:1 1 0;min-height:0;overflow:auto}.roster-builder .schedule-grid thead th:first-child,.roster-builder .schedule-grid tbody th{width:200px;min-width:200px;max-width:200px}.roster-builder .schedule-grid thead th:not(:first-child),.roster-builder .schedule-grid td{vertical-align:top;width:124px;min-width:124px;max-width:124px;padding:6px}.schedule-grid thead th:not(:first-child),.schedule-grid td{border-left:1px solid #0f172a12}.schedule-grid tbody th{border-right:1px solid #0f172a1a}.staff-table th:not(:first-child),.staff-table td:not(:first-child),.payroll-queue th:not(:first-child),.payroll-queue td:not(:first-child),.adjustments-queue th:not(:first-child),.adjustments-queue td:not(:first-child){border-left:1px solid #0f172a12}.roster-builder .schedule-grid thead th{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:8px 6px;font-size:.68rem}.roster-builder .schedule-grid .day-head{justify-items:start;gap:2px;display:grid}.roster-builder .schedule-grid .day-head b{letter-spacing:0;text-transform:none;color:var(--ink);font-size:.78rem;font-weight:800}.roster-builder .schedule-grid .day-head small{color:var(--muted);font-size:.7rem;font-weight:600}.roster-builder .schedule-grid td .grid-select,.roster-builder .schedule-grid .grid-select{height:32px;min-height:32px;padding:0 6px;font-size:.78rem}.roster-person{text-align:left;cursor:pointer;width:100%;min-width:0;font:inherit;color:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:6px 8px;display:flex}.roster-person:hover{background:#f8fafb}.roster-avatar.mini-avatar{flex:none;width:28px;height:28px;font-size:.65rem}.roster-person-text{flex:1;gap:1px;min-width:0;display:grid}.roster-person-text b{text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:700;line-height:1.2;overflow:hidden}.roster-person-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;line-height:1.25;overflow:hidden}.schedule-grid tbody tr.is-selected>th,.schedule-grid tbody tr.is-selected>td{background:#fff7f0}.schedule-grid tbody tr.is-selected>th{box-shadow:inset 3px 0 0 var(--orange,#f26522)}.day-shift-locked{color:var(--muted);margin:2px 0 0;font-size:.68rem}.roster-staff-bar{border-top:1px solid var(--line);background:#fff;flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:10px 16px;padding:0;display:flex}.roster-staff-bar>.list-pager,.roster-staff-bar>.roster-list-pager{background:0 0;border-top:0;flex:auto;min-width:0;padding-right:8px}.roster-staff-meta{flex-wrap:wrap;align-items:center;gap:10px 14px;min-width:0;display:flex}.list-load-sentinel{height:36px;color:var(--muted,#66707c);text-align:center;font-size:.78rem;border-bottom:0!important;padding:8px 16px!important}.list-pager{border-top:1px solid var(--line);background:#fff;flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:10px 18px;padding:11px 16px;display:flex}.list-pager-meta{color:#5b6572;flex-wrap:wrap;align-items:center;gap:10px 12px;min-width:0;font-size:.8125rem;font-weight:500;line-height:1.3;display:inline-flex}.list-pager-stat{white-space:nowrap}.list-pager-stat b{color:#1f2933;font-variant-numeric:tabular-nums;font-weight:800}.list-pager-sep{background:#d5dce3;flex:none;width:1px;height:14px}.list-pager-size{white-space:nowrap;color:#5b6572;align-items:center;gap:8px;margin:0;font-size:.8125rem;font-weight:500;display:inline-flex}.list-pager-select{appearance:none;color:#1f2933;min-width:58px;height:30px;font:inherit;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a4d12' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") right 8px center no-repeat;border:1px solid #f0b27a;border-radius:6px;padding:0 26px 0 10px;font-size:.8125rem;font-weight:700}.list-pager-select:focus{border-color:var(--orange,#f26522);outline:none;box-shadow:0 0 0 2px #f2652224}.list-pager-arrows{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.list-pager-arrow{border:1px solid var(--line,#d5dce3);color:#1f2933;cursor:pointer;background:#fff;border-radius:6px;place-items:center;width:30px;height:30px;padding:0;transition:border-color .15s,background-color .15s,color .15s;display:inline-grid}.list-pager-arrow svg{width:16px;height:16px}.list-pager-arrow:hover:not(:disabled){color:#9a4d12;background:#fff7f0;border-color:#f0b27a}.list-pager-arrow:disabled{opacity:.38;cursor:not-allowed}.staff-directory>.list-pager,.settings-panel>.list-pager,.panel-fill>.list-pager,.rule-panel>.list-pager,.payroll-table-wrap+.list-pager,.payroll-review>.list-pager{margin-top:0}.settings-pager.list-pager{border-top:1px solid var(--line)}.roster-builder .roster-form-actions{align-items:center;gap:10px;margin:0 0 0 auto;padding:10px 16px 10px 0;display:flex}.roster-selected-count{color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:700}.roster-steps{gap:28px;margin:18px 0 0;padding:0;list-style:none;display:grid}.roster-steps>li{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:14px;display:grid}.roster-step-index{color:#fff;background:#172433;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.roster-steps h2{margin:6px 0;font-size:1.15rem}.roster-steps p{color:var(--muted);margin:0 0 12px}.shift-add-row{flex-wrap:wrap;gap:8px;margin:8px 0 14px;display:flex}.day-shift{gap:4px;display:grid}.day-shift small{color:var(--muted);font-size:.72rem;line-height:1.2}.roster-steps .roster-form-actions{margin-top:14px}.log-type-filter{border:1px solid var(--line);min-width:180px;max-width:240px;height:40px;font:inherit;color:var(--ink);background:#fff;border-radius:5px;padding:0 10px;font-size:.875rem}.side-rail{flex-direction:column;height:100dvh;max-height:100dvh;display:flex}.rail-nav{flex:auto;align-content:start;min-height:0;overflow:auto}.rail-footer{flex:none;margin-top:auto;padding:10px 12px 12px}.rail-footer .user-menu{margin-bottom:0}.rail-version{padding:4px 10px 0;line-height:1}.history-cell .day-pay{color:var(--green,#177245);font-weight:800}.history-cell .day-pay-zero{color:var(--muted,#7b8794);font-weight:600}.history-cell.assigned,.history-legend .assigned{background:#d9f2e3}.history-cell.off,.history-legend .off{color:#5c6b7a;background:#eef1f4}.history-cell.missing,.history-legend .missing{color:#7b8794;background:#f3f5f7}.history-grid td{height:1px;padding:0}.history-grid .history-cell.picked{box-shadow:inset 0 0 0 2px #b34a1f}.history-grid .history-cell{box-sizing:border-box;border-radius:0;gap:2px;width:100%;min-width:118px;height:100%;min-height:92px;padding:6px 7px;font-size:.68rem;line-height:1.2;display:grid}.history-legend .assigned,.history-legend .off,.history-legend .missing{border-radius:2px;width:10px;height:10px;display:block}.history-grid.shift-grid td{height:1px;padding:0}.history-grid.shift-grid .history-cell{box-sizing:border-box;border:0;border-radius:0;width:100%;height:100%;min-height:68px}.history-grid.shift-grid button.history-cell.missing{cursor:pointer}.history-grid.shift-grid button.history-cell.missing:hover{color:#1d4e89;background:#e8f1fb}.board-bar{flex-wrap:wrap;align-items:center;gap:6px 12px;width:100%;min-width:0;margin-top:-6px;display:flex}.board-bar-title{flex:1 0 100%}.board-bar-title h2{margin:2px 0 0;font-size:1.05rem}.board-bar .ops-tabs.board-tabs{flex:none}.board-bar .ops-tabs.board-tabs button{height:32px;padding:0 10px;font-size:.78rem}.board-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px 16px;width:100%;min-width:0;display:grid}.board-header .history-legend{justify-self:start;gap:4px 10px;min-width:0}.board-header .board-month-switch{justify-self:center;padding:3px}.board-header .board-month-switch button{width:32px;height:32px}.board-header .board-month-switch b{min-width:132px;font-size:.9rem}.board-header-actions{justify-self:end;align-items:center;gap:8px;min-width:0;display:flex}.board-refresh{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;flex:none;place-items:center;display:grid}.board-refresh:disabled{opacity:.55;cursor:default}.board-refresh svg{width:16px;height:16px}.board-header .roster-search input{width:168px;height:34px}.board-header-actions>button:not(.board-refresh){height:34px}@media (max-width:900px){.board-header{grid-template-columns:1fr auto}.board-header .history-legend{order:3;grid-column:1/-1}}.history-board{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:8px;container:history/inline-size}.shift-board .history-toolbar{flex-wrap:nowrap;gap:16px}.shift-board .history-legend{flex:none}.shift-board .history-controls{flex:1;justify-content:flex-end;min-width:0}.shift-board .roster-search{flex:1;min-width:140px;max-width:320px}.shift-board .roster-search input{width:100%;min-width:0}.ops-home{gap:16px;display:grid}.ops-home-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.ops-home-bar>span{color:var(--muted);font-size:.84rem;font-weight:700}.ops-home-layout{grid-template-rows:auto minmax(320px,1fr);grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:stretch;gap:16px;display:grid}.ops-home-layout.solo{grid-template-rows:auto minmax(320px,1fr);grid-template-columns:1fr}.ops-home-layout .ops-home-metrics{grid-area:1/1;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.ops-home-layout .punch-checkin-card{flex-direction:column;grid-area:1/2/span 2;min-width:0;min-height:100%;display:flex}.ops-home-layout.solo .ops-home-map{grid-area:2/1}.ops-home-map{grid-area:2/1;min-width:0;min-height:0;display:flex}.ops-home-map>.live-map-panel{flex-direction:column;flex:1;width:100%;min-width:0;display:flex}.ops-home-map .leaflet-map,.ops-home-map .geo-map{flex:1;min-height:280px}.ops-home .home-stat{min-height:0;padding:14px 16px}.home-stat.good b{color:var(--green)}.home-stat.warn b{color:var(--amber)}.home-stat.bad b{color:var(--red)}.ops-home-note{color:var(--muted);margin:-4px 2px 0;font-size:.75rem;line-height:1.45}.ops-home-split{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:start;gap:16px;display:grid}.ops-home-split.solo{grid-template-columns:1fr}.ops-home-split.solo .attention-list{grid-template-columns:1fr 1fr}.ops-home .punch-checkin-site{min-width:0}.ops-home .punch-checkin-card .leaflet-map.shift-location-map{height:160px!important;min-height:0!important;max-height:160px!important}.punch-checkin-actions{border-top:1px solid var(--line);margin-top:auto;padding-top:16px}@media (max-width:1100px){.ops-home-layout{grid-template-rows:auto auto auto;grid-template-columns:1fr}.ops-home-layout .ops-home-metrics{grid-area:1/1;grid-template-columns:repeat(3,minmax(0,1fr))}.ops-home-layout .punch-checkin-card{grid-area:2/1}.ops-home-map{grid-area:3/1}}.ops-home .live-map-panel .section-label,.ops-home .map-control-strip,.ops-home .map-legend{display:none}.ops-home .live-map-panel>.panel-heading{margin-bottom:10px}.shift-card-meta,.shift-card-times{align-items:center;gap:10px;display:flex}.shift-card-meta{text-align:right}.shift-card-meta>b{font-family:Courier New,monospace;font-size:1rem}.shift-card-times{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.shift-card-times div{background:#f6f8fa;border-radius:6px;gap:4px;padding:10px 12px;display:grid}.shift-card-times small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.66rem;font-weight:800}.shift-card-times b{font-family:Courier New,monospace;font-size:1.05rem}.shift-card-roster{color:var(--muted);margin:12px 0 0;font-size:.78rem;font-weight:700}.attention-panel{padding:20px 20px 8px}.attention-panel>.panel-heading>svg{width:20px;color:var(--orange)}.attention-list{display:grid}.attention-row{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #e8ebef;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;display:grid}.attention-row b,.attention-row small{display:block}.attention-row small{color:var(--muted);margin-top:3px;font-size:.72rem;line-height:1.35}.coverage-panel{padding:20px 22px 8px}.coverage-panel>.panel-heading>svg{width:20px;color:var(--orange)}.site-coverage{display:grid}.site-coverage-row{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #e8ebef;grid-template-columns:minmax(140px,1.1fr) minmax(80px,1fr) 48px;align-items:center;gap:14px;padding:12px 0;display:grid}.site-coverage-row.active b{color:var(--orange-deep)}.site-coverage-row span:first-child{gap:3px;min-width:0;display:grid}.site-coverage-row small{color:var(--muted);font-size:.72rem}.coverage-track{background:#e7ebef;border-radius:99px;height:8px;overflow:hidden}.coverage-track i{border-radius:inherit;background:var(--green);height:100%;display:block}.duty-board{padding:18px 20px 8px}.duty-board-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.duty-board-head h2{margin:0;font-size:1.2rem}.duty-board-head h2 span{color:var(--muted);margin-left:8px;font-size:.95rem;font-weight:700}.duty-board-head input{width:min(280px,42%);height:40px}.duty-filters{flex-wrap:wrap;gap:8px;padding:14px 0 4px;display:flex}.duty-filters button{border:1px solid var(--line);color:#52606d;cursor:pointer;background:#fff;border-radius:99px;height:32px;padding:0 12px;font-size:.75rem;font-weight:700}.duty-filters button.active{background:var(--navy);border-color:var(--navy);color:#fff}.duty-list{display:grid}.duty-person{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #e8ebef;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:14px 2px;display:grid}.duty-person:hover,.duty-person:focus-visible{background:#f7f9fb;outline:none}.duty-person.outside{box-shadow:inset 3px 0 0 var(--red)}.duty-person-copy b,.duty-person-copy small{display:block}.duty-person-copy b{font-size:.95rem}.duty-person-copy small{color:var(--muted);margin-top:3px;font-size:.76rem;line-height:1.35}.duty-person .duty-where{color:var(--red);font-weight:700}.ops-home .map-control-strip{grid-template-columns:minmax(0,420px)}.map-editor-hidden{display:none}.team-pulse{margin-bottom:16px;padding:18px 20px 16px}.supervisor-home{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.supervisor-home .team-pulse{min-width:0;margin-bottom:0}.supervisor-home .worker-dashboard{min-width:0}.team-pulse-register{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:16px;overflow:hidden}@media (max-width:1100px){.supervisor-home{grid-template-columns:1fr}}.team-pulse-stats,.team-pulse-metrics{grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:10px;margin-top:14px;display:grid}.team-pulse-stats div{background:#f6f8fa;border-radius:6px;gap:3px;padding:12px;display:grid}.team-pulse-stats b,.team-pulse-metrics .home-stat b{font-family:Courier New,monospace;font-size:1.35rem}.team-pulse-stats span,.team-pulse-metrics .home-stat span{color:var(--muted);font-size:.68rem;font-weight:800}.team-pulse-stats .warn b{color:var(--amber)}.team-pulse-stats .bad b{color:var(--red)}.team-pulse-metrics .home-stat{cursor:pointer;text-align:left;min-height:0;padding:12px 14px}@media (max-width:1180px){.ops-home-metrics,.team-pulse-stats,.team-pulse-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-home-split{grid-template-columns:1fr}}@media (max-width:720px){.dash-grid{grid-template-columns:1fr}.dash-role{text-align:left;justify-items:start}.ops-home-metrics,.team-pulse-stats,.team-pulse-metrics{grid-template-columns:1fr 1fr}.ops-home-metrics .metric-card:first-child{grid-column:auto}.ops-home-split.solo .attention-list{grid-template-columns:1fr}.site-coverage-row{grid-template-columns:minmax(0,1fr) auto}.coverage-track,.shift-card-meta{display:none}.duty-board-head{align-items:stretch;display:grid}.duty-board-head input,.team-pulse .toolbar-buttons{width:100%;margin-top:12px}}.site-map-pin-shell{background:0 0;border:0}.site-map-pin{box-sizing:border-box;color:#fff;white-space:nowrap;cursor:pointer;background:#172433;border-radius:999px;align-items:center;gap:6px;width:100%;height:28px;padding:0 10px 0 8px;font:700 12px/1 system-ui,sans-serif;display:inline-flex;box-shadow:0 2px 8px #121c2647}.site-map-pin i{background:#f26522;border-radius:50%;flex:none;width:8px;height:8px}.site-staff-sheet{width:min(92vw,420px)!important;max-width:420px!important}.site-staff-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.site-staff-row b,.site-staff-row small{display:block}.site-staff-row small{color:var(--muted);margin-top:3px;font-size:.75rem}.app-shell--guest .workspace{width:100%;margin-left:0}.content-area--guest{background:radial-gradient(at top,#f2652214,#0000 55%),linear-gradient(#f4f6f8 0%,#eef1f4 100%);justify-content:center;align-items:center;padding:88px 16px 32px;display:flex}.session-loading{width:100%;min-height:min(52vh,360px);color:var(--ink);letter-spacing:.01em;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:.95rem;font-weight:700;display:flex}.session-spinner{border:3px solid #17202b1f;border-top-color:var(--orange);border-right-color:var(--orange);border-radius:50%;width:42px;height:42px;animation:.85s linear infinite spin}.login-screen{justify-items:stretch;gap:0;width:min(100%,980px);display:grid}.login-brand.brand-mark{z-index:5;background:var(--navy);border:0;border-radius:10px;width:210px;min-height:0;padding:14px 16px 12px;position:fixed;top:18px;left:18px;box-shadow:0 10px 28px #10182829}.login-brand .brand-product{align-self:flex-end}.login-screen .setup-layout{width:100%;min-height:0}.login-screen .login-submit{width:100%;height:48px;min-height:48px}.worker-dashboard .worker-main{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:stretch;gap:16px;display:grid}.worker-dashboard .worker-punch-card{grid-row:1;align-self:start;height:auto!important}.worker-dashboard .worker-main-left{grid-row:1;grid-template-rows:minmax(0,1fr) minmax(0,1fr);align-self:stretch;gap:16px;min-width:0;max-height:100%;overflow:hidden;height:0!important;min-height:100%!important;display:grid!important}.worker-dashboard .activity-panel,.worker-dashboard .upcoming-panel{box-sizing:border-box;margin:0;flex-direction:column!important;height:100%!important;min-height:0!important;max-height:none!important;display:flex!important;overflow:hidden!important}.worker-dashboard .activity-panel .panel-heading,.worker-dashboard .upcoming-panel .panel-heading{background:#fff;flex:none;padding-bottom:6px}.worker-dashboard .activity-panel .event-table,.worker-dashboard .upcoming-panel .upcoming-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;padding-right:4px;min-height:0!important;max-height:none!important;overflow:hidden auto!important}.worker-dashboard .activity-panel .event-table::-webkit-scrollbar{width:8px}.worker-dashboard .upcoming-panel .upcoming-list::-webkit-scrollbar{width:8px}.worker-dashboard .activity-panel .event-table::-webkit-scrollbar-thumb{background:#c5ced6;border-radius:8px}.worker-dashboard .upcoming-panel .upcoming-list::-webkit-scrollbar-thumb{background:#c5ced6;border-radius:8px}.worker-dashboard .activity-panel .empty-state,.worker-dashboard .upcoming-panel .empty-state,.worker-dashboard .upcoming-panel .queue-loading{flex:1;min-height:0;margin:0;padding:12px}.worker-dashboard .activity-panel .event-row,.worker-dashboard .upcoming-panel .upcoming-list li{padding-top:10px;padding-bottom:10px}@media (max-width:1100px){.worker-dashboard{flex-direction:column;gap:12px;display:flex}.worker-dashboard .worker-metrics{order:1}.worker-dashboard .worker-main{flex-direction:column;order:2;gap:12px;display:flex}.worker-dashboard .worker-punch-card{order:1;align-self:stretch;width:100%}.worker-dashboard .worker-main-left{order:2;grid-template-rows:auto auto;max-height:none;overflow:visible;height:auto!important;min-height:0!important}.worker-dashboard .activity-panel,.worker-dashboard .upcoming-panel{height:auto!important}.worker-dashboard .activity-panel .event-table,.worker-dashboard .upcoming-panel .upcoming-list{max-height:280px!important;overflow-y:auto!important}}@media (max-width:760px){.worker-dashboard{flex-direction:column!important;display:flex!important}.worker-dashboard .worker-main,.worker-dashboard .worker-main-left{display:contents!important}.worker-dashboard .worker-metrics{order:1!important}.worker-dashboard .worker-punch-card{width:100%;order:2!important}.worker-dashboard .activity-panel{width:100%;order:3!important}.worker-dashboard .upcoming-panel{width:100%;order:4!important}.worker-dashboard .activity-panel .event-table,.worker-dashboard .upcoming-panel .upcoming-list{max-height:280px!important}.content-area--guest{justify-content:center;align-items:center;min-height:100%;padding:20px 16px 28px}.session-loading{min-height:60vh;color:var(--ink)}.session-spinner{border-width:3px;width:48px;height:48px}.login-screen{background:#fff;border-radius:16px;width:min(100%,420px);margin:0 auto;overflow:hidden;box-shadow:0 18px 48px #1018281f}.login-brand.brand-mark{z-index:auto;box-sizing:border-box;width:100%;box-shadow:none;background:var(--navy);border-radius:0;align-items:center;gap:10px;padding:22px 20px 18px;position:static;top:auto;left:auto}.login-brand .brand-word{letter-spacing:.12em;font-size:24px}.login-brand .brand-word .gig{color:var(--orange)}.login-brand .brand-rule{max-width:240px}.login-brand .brand-rule i{border-top-color:var(--orange)}.login-brand .brand-product{letter-spacing:.1em;color:#a8b3bf;align-self:center;margin-top:0;font-size:.82rem}.login-screen .setup-layout{width:100%;margin:0;flex-direction:column!important;grid-template-columns:none!important;gap:0!important;min-height:0!important;display:flex!important}.login-screen .setup-progress,.login-screen .form-panel{width:100%!important;min-width:0!important;max-width:none!important}.login-screen .setup-progress{background:#13202c;border:0;border-radius:0;margin:0;padding:16px 18px 12px!important}.login-screen .setup-progress .setup-kicker{color:var(--orange);letter-spacing:.14em;font-size:.68rem}.login-screen .setup-progress .setup-kicker svg{color:var(--orange)}.login-screen .setup-progress h2{color:#fff;font-weight:750;margin:8px 0 0!important;font-size:1rem!important;line-height:1.3!important}.login-screen .form-panel{box-shadow:none;border:0;border-radius:0;margin:0;padding:18px 18px 20px}.login-screen .form-panel .section-label{color:#3d5a80;letter-spacing:.08em}.login-screen .form-panel .panel-heading h2{color:var(--ink);font-size:1.15rem}.login-screen .enrol-mode{background:#eef2f6;border-color:#d7dee6;width:100%;flex-flow:row!important;display:flex!important}.login-screen .enrol-mode button{color:#5a6b7c;flex:1 1 0;min-width:0;width:auto!important}.login-screen .enrol-mode button.active{color:var(--ink);box-shadow:0 1px 6px #17202b1f}.login-screen .login-submit,.login-screen .form-actions button,.login-screen .form-actions [data-slot=button]{border-radius:10px;width:100%;font-weight:800;box-shadow:0 8px 20px #f2652247;background:var(--orange)!important;color:#fff!important;height:52px!important;min-height:52px!important}}.workspace{flex-direction:column;height:100dvh;max-height:100dvh;display:flex;overflow:hidden}.content-area{box-sizing:border-box;flex:1;width:100%;max-width:none;min-height:0;padding:16px 20px 20px;overflow:auto}.app-alert-host{box-sizing:border-box;opacity:0;pointer-events:none;flex:none;grid-template-rows:0fr;width:100%;padding:0 20px;transition:grid-template-rows .26s cubic-bezier(.22,1,.36,1),padding .26s cubic-bezier(.22,1,.36,1),opacity .2s;display:grid}.app-alert-host.is-open{opacity:1;pointer-events:auto;grid-template-rows:1fr;padding:10px 20px 0}.app-alert-host .app-alert-slot{min-height:0;overflow:hidden}.app-alert-host .app-alert{opacity:0;width:100%;margin:0;transition:transform .26s cubic-bezier(.22,1,.36,1),opacity .22s;transform:translateY(-8px)scale(.985);box-shadow:0 1px 2px #17202b0a}.app-alert-host.is-open .app-alert{opacity:1;transform:translateY(0)scale(1)}.workspace:has(>.app-alert-host)>.content-area{padding-top:12px}@media (max-width:760px){.app-alert-host{padding-left:8px;padding-right:8px}.app-alert-host.is-open{padding:8px 8px 0}.workspace:has(>.app-alert-host)>.content-area{padding-top:8px}}@media (prefers-reduced-motion:reduce){.app-alert-host,.app-alert-host .app-alert{transition:none}}.page-shell{flex-direction:column;flex:1 1 0;gap:10px;min-height:0;margin:0;display:flex;overflow:hidden}.workplace-admin.page-shell,.workforce-admin.page-shell,.site-admin.page-shell,.settings-admin.page-shell,.payroll-admin.page-shell,.history-board.settings-panel.page-shell{flex-direction:column;flex:1 1 0;gap:10px;height:100%;min-height:0;display:flex;overflow:hidden}.panel-fill{flex-direction:column;flex:1 1 0;min-height:0;margin:0;display:flex;overflow:hidden;padding:0!important}.workplace-admin .rule-panel.panel-fill,.panel.rule-panel.panel-fill{padding:0!important}.panel-fill>.staff-filters,.panel-fill>.active-filter-chips,.panel-fill>.staff-toolbar,.panel-fill>.holiday-tools,.panel-fill>.flash-message,.panel-fill>.workforce-message,.panel-fill>.payroll-subtabs,.panel-fill>.payroll-alert-line,.panel-fill>.duty-add,.panel-fill>.periods-toolbar,.panel-fill>.panel-heading{flex:none}.panel-body-scroll{overscroll-behavior:contain;flex:1 1 0;min-height:0;overflow:auto}.request-table.panel-body-scroll{overflow:auto}.panel-fill>.panel-body-scroll,.panel-fill>.decision-feed.panel-body-scroll,.panel-fill>.request-table.panel-body-scroll,.panel-fill>.staff-table-wrap.panel-body-scroll{gap:0;margin:0;padding:0}.staff-table-wrap.is-empty,.payroll-table-wrap.is-empty,.request-table.is-empty,.history-scroll.is-empty,.schedule-wrap.is-empty,.panel-body-scroll.is-empty{flex-direction:column;display:flex}.panel-body-scroll:has(>.empty-state){flex-direction:column;display:flex}.period-list:has(>.empty-state){flex-direction:column;display:flex}.staff-table-wrap.is-empty>.staff-table,.payroll-table-wrap.is-empty>table,.history-scroll.is-empty>.history-grid,.schedule-wrap.is-empty>.schedule-grid,.request-table.is-empty>.request-head{flex:none;width:100%}.staff-table-wrap.is-empty>.empty-state,.payroll-table-wrap.is-empty>.empty-state,.request-table.is-empty>.empty-state,.history-scroll.is-empty>.empty-state,.schedule-wrap.is-empty>.empty-state,.panel-body-scroll.is-empty>.empty-state,.panel-body-scroll.empty-state,.period-list>.empty-state{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-self:stretch;align-items:center;gap:6px;width:100%;max-width:none;min-height:0;margin:0;padding:32px 20px;display:flex}.panel-body-scroll:has(>.empty-state)>.empty-state{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-self:stretch;align-items:center;gap:6px;width:100%;max-width:none;min-height:0;margin:0;padding:32px 20px;display:flex}.decision-feed.panel-body-scroll{gap:0;display:block}.decision-feed.panel-body-scroll .decision-board{border-radius:0;margin:0}.decision-feed.panel-body-scroll .decision-board-head,.panel-body-scroll>.request-head{padding-left:16px;padding-right:16px}.decision-feed.panel-body-scroll .decision-board-body{padding:0 16px 10px}.panel-body-scroll>.request-row,.panel-body-scroll .config-row{padding-left:16px;padding-right:16px}.panel-body-scroll .staff-table{border-collapse:separate;border-spacing:0}.panel-body-scroll .staff-table thead th,.staff-table-wrap.panel-body-scroll .staff-table thead th,.panel-body-scroll>.request-head,.panel-body-scroll .decision-board-head,.panel-body-scroll .request-head.holiday-head,.panel-body-scroll .request-head.config-head{z-index:3;box-shadow:inset 0 -1px 0 var(--line);background:#f7f8fa;position:sticky;top:0}:is(.content-area:has(>.history-board),.content-area:has(>.page-shell),.content-area:has(>.workplace-admin),.content-area:has(>.workforce-admin)){flex-direction:column;display:flex;overflow:hidden}.content-area>.history-board{flex-direction:column;flex:1 1 0;height:auto;min-height:0;margin-top:0;display:flex;overflow:hidden}.content-area>.history-board .history-scroll{flex:1 1 0;min-height:0;overflow:auto}.content-area>.history-board>.workplace-admin,.content-area>.history-board>.page-shell,.content-area>.page-shell,.content-area>.workplace-admin,.content-area>.workforce-admin{flex:1 1 0;min-height:0;overflow:hidden}.decision-board{border:0;border-radius:0}.decision-reason{color:var(--ink,#1a1f2b);margin-top:4px;font-weight:600;line-height:1.3;display:block}.decision-reason span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-right:6px;font-size:.68rem;font-weight:800;display:inline}.decision-comment{color:var(--muted);margin-top:2px;display:block}.decision-reason-block{border:1px solid var(--line);background:#f7f8fa;border-radius:8px;align-content:start;align-self:stretch;gap:6px;width:100%;padding:10px 12px;display:grid}.decision-reason-block span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:800}.decision-reason-block b{font-size:.92rem;font-weight:700;line-height:1.35}.staff-drawer-body{align-content:start;align-items:stretch}.staff-drawer-body .field{align-content:start;width:100%}.staff-drawer-body .field label,.staff-drawer-body .field [data-slot=label]{margin:0;line-height:1.2}.time-fix-body{gap:12px}.time-fix-fields{gap:12px;width:100%;display:grid}.time-fix-fields .field{gap:4px;margin:0}.time-fix-fields input{height:40px}.staff-drawer-footer.form-actions{margin-top:auto;padding-top:14px}.staff-drawer-footer.form-actions button{flex:none;min-width:0}.pending-decision .decision-reason{margin-top:6px}.weekly-off-form,.weekly-off-form .day-picks,.holiday-tools{min-width:0;max-width:100%}.duty-mark-drawer.staff-drawer{width:min(100vw,400px)!important;max-width:400px!important}.duty-mark-drawer .staff-drawer-header{padding:18px 48px 12px 18px!important}.duty-mark-drawer .staff-drawer-header [data-slot=sheet-description]{margin-top:4px}.duty-mark-drawer .duty-mark-fields.staff-drawer-body{align-content:start;gap:10px;padding:12px 18px 14px}.duty-mark-drawer .duty-mark-fields .field{gap:4px;margin:0}.duty-mark-drawer .duty-mark-fields .field label,.duty-mark-drawer .duty-mark-fields .field [data-slot=label]{margin:0;line-height:1.2}.duty-mark-drawer .duty-mark-fields input{height:38px}.duty-mark-drawer .staff-drawer-footer{padding:12px 18px}.date-range-filter{width:100%;position:relative}.date-range-trigger{border:1px solid var(--line);width:100%;height:38px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:5px;align-items:center;gap:8px;padding:0 12px;font-size:.875rem;display:inline-flex}.date-range-trigger svg{color:#7b8792;flex:none;width:15px;height:15px}.date-range-placeholder{color:var(--muted)}.date-range-value{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.date-range-filter.is-filtered .date-range-trigger{color:#9a4d12;background:#fff7f0;border-color:#f0b27a;padding-right:34px}.date-range-filter.is-filtered .date-range-value{color:#9a4d12}.date-range-clear{z-index:2;color:#d97706;cursor:pointer;background:#f265221f;border:0;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;margin:0;padding:0;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.date-range-clear:hover{color:#b45309;background:#f2652238}.date-range-clear svg{width:12px;height:12px;display:block}.date-range-popover{z-index:80;border:1px solid var(--line);background:#fff;border-radius:10px;width:max-content;max-width:min(320px,100vw - 24px);padding:10px;box-shadow:0 12px 32px #10182824}.date-range-popover .rdp-root{--rdp-accent-color:#f26522;--rdp-accent-background-color:#fff1e8;--rdp-range_middle-background-color:#fff7f0;--rdp-range_start-date-background-color:#f26522;--rdp-range_end-date-background-color:#f26522;--rdp-today-color:#f26522;--rdp-day-height:36px;--rdp-day-width:36px;--rdp-day_button-height:34px;--rdp-day_button-width:34px;margin:0;font-size:.84rem}.date-range-popover .rdp-month_caption{font-size:.9rem}.date-range-popover .rdp-day_button{border-radius:6px}.holiday-year-switch.month-switch{box-sizing:border-box;justify-content:space-between;width:100%;height:38px;padding:0 4px}.holiday-year-switch.month-switch button{width:32px;height:30px}.holiday-year-switch.month-switch b{flex:1;min-width:0;font-size:.875rem;font-weight:700}.holiday-fetch{border-bottom:1px solid var(--line);gap:10px;min-width:0;margin-bottom:4px;padding-bottom:16px;display:grid}.holiday-fetch .rule-subhead{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;font-weight:800}.holiday-fetch p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.4}.holiday-fetch .field{gap:4px}.holiday-fetch>button{width:100%}.holiday-or{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;margin:4px 0 8px;font-size:.68rem;font-weight:800;display:flex}.holiday-or:before,.holiday-or:after{content:"";background:var(--line);flex:1;height:1px}.weekly-off-form .day-picks{flex-wrap:wrap;gap:8px;display:flex}.pattern-drawer.staff-drawer{width:min(100vw,420px)!important;max-width:420px!important}.weekly-off-drawer{min-width:0}.weekly-off-drawer .staff-drawer-body{gap:16px;overflow-x:hidden}.pattern-dates{grid-template-columns:1fr 1fr;gap:12px;min-width:0;display:grid}.pattern-dates .field{min-width:0}.pattern-dates input{width:100%;min-width:0}.role-assign-list{gap:8px;display:grid}.role-assign-list--compact{gap:6px}.role-assign-list--flags{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:4px}.role-assign-row{border:1px solid var(--line);background:#f8fafb;border-radius:8px;gap:6px;padding:8px 10px;display:grid}.role-assign-row.is-on{border-color:color-mix(in srgb, var(--orange) 35%, var(--line));background:#fff}.role-assign-check{cursor:pointer;align-items:flex-start;gap:8px;margin:0;display:flex}.role-assign-check input{width:14px;height:14px;accent-color:var(--orange);flex:none;margin-top:2px}.role-assign-check span{gap:1px;min-width:0;display:grid}.role-assign-check b{color:var(--ink);font-size:.82rem}.role-assign-check small{color:var(--muted);font-size:.7rem;line-height:1.3}.user-roles-cell{gap:4px;min-width:0;max-width:28rem;display:grid}.role-perm-list--compact{gap:3px}.role-perm-chip--role{background:#eef2f6;border-color:#d7dee7;padding:2px 6px;font-size:.68rem;font-weight:600}.role-perm-chip--tiny{border-radius:999px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.62rem;line-height:1.2}.user-perm-union-note{border:0;margin:8px 0 0;padding:0;font-size:.75rem}.perm-card-grid{flex-wrap:wrap;gap:6px;display:flex}.perm-card-grid--edit{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.perm-card{border:1px solid var(--line);background:#f7f8fa;border-radius:8px;gap:4px;min-width:0;padding:6px 8px;display:grid}.perm-card>b{color:var(--ink);letter-spacing:.01em;font-size:.72rem;font-weight:700}.perm-card-actions{flex-wrap:wrap;gap:3px;display:flex}.perm-card-action{color:var(--muted);background:#fff;border:1px solid #d7dee7;border-radius:999px;align-items:center;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.62rem;line-height:1.25;display:inline-flex}.perm-card--edit{background:#f8fafb;padding:8px 10px}.perm-card--edit.is-on{border-color:color-mix(in srgb, var(--orange) 35%, var(--line));background:#fff}.perm-card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.perm-card-head b{font-size:.82rem}.perm-card-head small{color:var(--muted);font-size:.68rem}.perm-card-checks{flex-wrap:wrap;gap:4px;display:flex}.perm-card-check{border:1px solid var(--line);cursor:pointer;color:var(--muted);background:#fff;border-radius:999px;align-items:center;gap:4px;margin:0;padding:3px 7px;font-size:.7rem;display:inline-flex}.perm-card-check input{width:12px;height:12px;accent-color:var(--orange);margin:0}.perm-card-check.is-on{border-color:color-mix(in srgb, var(--orange) 40%, var(--line));color:var(--ink);background:color-mix(in srgb, var(--orange) 8%, #fff)}.role-perm-groups--cards{max-height:min(56vh,560px);margin-top:10px;padding-right:2px;overflow:auto}.sign-in-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.sign-in-card-grid.is-locked{opacity:.78}.sign-in-card{border:1px solid var(--line);text-align:left;cursor:pointer;color:inherit;background:#f8fafb;border-radius:10px;align-items:flex-start;gap:10px;margin:0;padding:10px 12px;display:flex}.sign-in-card svg{width:16px;height:16px;color:var(--muted);flex:none;margin-top:2px}.sign-in-card span{gap:2px;min-width:0;display:grid}.sign-in-card b{color:var(--ink);font-size:.85rem}.sign-in-card small{color:var(--muted);font-size:.72rem;line-height:1.3}.sign-in-card.is-on{border-color:color-mix(in srgb, var(--orange) 40%, var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--orange) 18%, transparent);background:#fff}.sign-in-card.is-on svg{color:var(--orange)}.sign-in-card:disabled{cursor:not-allowed}.perm-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding:12px 14px 16px;display:grid}.perm-catalog-card{border:1px solid var(--line);background:#fff;border-radius:10px;gap:8px;padding:12px;display:grid}.perm-catalog-card>header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.perm-catalog-card>header b{font-size:.95rem}.perm-catalog-card>header small{color:var(--muted);font-size:.72rem}.perm-catalog-actions{gap:6px;display:grid}.perm-catalog-action{grid-template-columns:auto 1fr;align-items:start;gap:8px;display:grid}.perm-catalog-action>span:last-child{gap:1px;min-width:0;display:grid}.perm-catalog-action b{color:var(--ink);font-size:.8rem}.perm-catalog-action small{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem}@media (max-width:720px){.perm-card-grid--edit,.role-assign-list--flags{grid-template-columns:1fr}}.pattern-active{border:1px solid var(--line);cursor:pointer;background:#f8fafb;border-radius:8px;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;display:flex}.pattern-active input{width:16px;height:16px;accent-color:var(--orange);flex:none;margin-top:3px}.pattern-active span{gap:2px;min-width:0;display:grid}.pattern-active b{color:var(--ink);font-size:.875rem}.pattern-active small{color:var(--muted);font-size:.75rem;line-height:1.35}.pattern-section{gap:8px;min-width:0;display:grid}.weekly-off-drawer .rule-subhead{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;font-weight:800}.pattern-days.day-picks{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;margin:0;display:grid}.pattern-days .day-chip{border-radius:8px;width:100%;min-width:0;height:36px;padding:0 2px;font-size:.72rem;font-weight:800}.weekly-off-drawer textarea{border:2px solid var(--line);width:100%;min-height:56px;max-height:120px;color:var(--ink);font:inherit;resize:vertical;box-sizing:border-box;background:#fff;border-radius:6px;outline:none;padding:8px 10px;font-size:.8125rem;line-height:1.4;transition:border-color .15s,box-shadow .15s}.weekly-off-drawer textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f265222e}.history-grid thead th{z-index:2;background:#f7f8fa;box-shadow:inset 0 -1px #e6eaee}.history-grid thead th:first-child{z-index:4;background:#f7f8fa}@media (max-width:760px){.content-area{padding:12px}.content-area>.history-board{height:100%}}.content-area>.workforce-admin:has(.roster-stack){flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.roster-stack>.roster-builder,.roster-builder>form,.roster-pages{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.workforce-admin:has(.roster-stack) .roster-stack{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.roster-stack>.shift-board{flex-direction:column;flex:1 1 0;min-height:0;margin-top:0;display:flex;overflow:hidden}.roster-stack>.shift-board .history-scroll{flex:1 1 0;min-height:0;overflow:auto}.roster-builder>form{overflow:hidden}.schedule-wrap{flex:1 1 0;min-height:0;overflow:auto}.schedule-grid thead th{z-index:3;box-shadow:inset 0 -1px 0 var(--line);background:#f7f8fa}.schedule-grid tbody th{z-index:2;background:#fff}.schedule-grid thead th:first-child{z-index:4;background:#f7f8fa}.payroll-head{flex-wrap:wrap;align-items:center;gap:10px 18px}.payroll-head .payroll-queue-meta{margin-left:auto}.payroll-subtabs{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:14px 22px;display:flex}.payroll-subtabs .payroll-review-actions{margin-left:auto}.payroll-queue-total{color:var(--muted);font-size:.84rem}.payroll-queue-total b{color:var(--ink)}.payroll-review>.payroll-alert-line{border-left:0;border-right:0;border-radius:0;margin:0}.payroll-review>.payroll-table-wrap,.payroll-review>.panel-body-scroll{border-top:1px solid var(--line);margin:0}.payroll-review>.payroll-alert-line+.payroll-table-wrap,.payroll-review>.payroll-alert-line+.panel-body-scroll,.payroll-review>.flash-message+.payroll-table-wrap,.payroll-review>.flash-message+.panel-body-scroll{border-top:0}.payroll-review>.list-pager{border-top:1px solid var(--line);margin-top:0}.adjustments-table-wrap,.adjustments-queue{width:100%}.adjustment-actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.adjustment-status-cell{vertical-align:middle;text-align:right;min-width:132px}.adjustments-queue th:last-child,.adjustments-queue td.adjustment-status-cell{padding-right:12px}.adjustment-status-locked{justify-items:end;gap:4px;display:grid}.adjustment-status-locked .run-status{text-transform:capitalize}.adjustment-status-locked small{color:var(--muted);font-size:.68rem;font-weight:700;line-height:1.2}.adjustment-status-menu.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.adjustment-status-row-menu.row-menu{box-sizing:border-box;width:168px;min-width:0}.adjustment-status-control{appearance:none;max-width:100%;height:26px;font:inherit;text-transform:capitalize;cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;margin:0;padding:0 8px 0 10px;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.adjustment-status-control:disabled{cursor:wait;opacity:.7}.adjustment-status-control:focus-visible{outline:none;box-shadow:0 0 0 2px #f2652238}.adjustment-status-control.tone-good{color:#1d5c38;background:#e5f4ea;border-color:#b7dfc4}.adjustment-status-control.tone-bad{color:#b3261e;background:#fdecea;border-color:#f0b4ae}.adjustment-status-control.tone-warn{color:#7a5510;background:#fdf3e0;border-color:#f0d39a}.adjustment-status-control>svg{opacity:.75;flex:none;width:12px;height:12px}.adjustment-status-menu>small{color:var(--muted);font-size:.68rem}.adjustment-status-row-menu.row-menu button.is-active{background:#f4f6f8;font-weight:700}.adjustment-status-row-menu.row-menu button{white-space:nowrap}.row-menu-spacer{flex:none;width:16px;height:16px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.periods-toolbar{justify-content:flex-end}.periods-toolbar .periods-tools{margin-left:auto}.payroll-dash{flex-direction:column;flex:none;gap:0;min-height:0;padding:14px 16px 16px;display:flex}.payroll-review>.payroll-dash,.payroll-dash--compact{padding:12px 16px 10px}.panel-fill>.payroll-dash{flex:none}.roster-stack>.history-board{margin-top:0}.payroll-review .empty-state{padding:28px 22px}.payroll-dash-top{justify-content:flex-end;display:flex}.payroll-dash-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:14px;display:grid}.payroll-dash-grid>.panel{flex-direction:column;height:100%;display:flex}.dash-checks-panel{padding:18px 20px}.dash-check-list{gap:10px;margin-top:4px;display:grid}.dash-check-card{border:1px solid var(--border,#e3e6eb);background:#fff;border-left:4px solid #c8d0d9;border-radius:10px;gap:8px;padding:12px 14px;display:grid}.dash-check-card.is-blocked{border-left-color:#d92d20}.dash-check-card.is-adj{border-left-color:#3b82c4}.dash-check-card.is-clear,.dash-check-card.is-issued{border-left-color:#2e7d4f}.dash-check-card-head{align-items:flex-start;gap:10px;display:flex}.dash-check-card-head>svg{color:#66707c;flex:none;width:18px;height:18px;margin-top:2px}.dash-check-card.is-blocked .dash-check-card-head>svg{color:#d92d20}.dash-check-card.is-adj .dash-check-card-head>svg{color:#3b82c4}.dash-check-card.is-clear .dash-check-card-head>svg{color:#2e7d4f}.dash-check-card-head>div{flex:1;gap:2px;min-width:0;display:grid}.dash-check-card-head b{font-size:.9rem}.dash-check-card-head span{color:var(--muted,#66707c);font-size:.78rem;line-height:1.35}.dash-check-items{margin:0;padding:0;list-style:none;display:grid}.dash-check-items li{border-top:1px solid var(--border,#e3e6eb);justify-content:space-between;align-items:center;gap:12px;padding:7px 0;font-size:.84rem;display:flex}.dash-check-items li>span{min-width:0;display:grid}.dash-check-items li small{color:var(--muted,#66707c);font-size:.75rem}.dash-check-card.is-blocked .dash-check-items b{color:#b3261e}.dash-check-total{text-align:right;font-size:1.05rem;font-weight:700}@media (max-width:900px){.payroll-dash-grid{grid-template-columns:1fr}}.payroll-head .month-switch{margin-left:auto}.dash-mini-list{gap:2px;margin-top:10px;display:grid}.dash-mini-row{border-top:1px solid var(--border,#e3e6eb);justify-content:space-between;align-items:center;gap:12px;padding:7px 2px;font-size:.85rem;display:flex}.dash-mini-row span{min-width:0;display:grid}.dash-mini-row small{color:var(--muted,#66707c)}.settings-stack>.panel{padding:22px 24px}@media (max-width:760px){.settings-stack>.panel{padding:16px 14px}}.calendar-list{gap:8px;margin-bottom:16px;display:grid}.calendar-card{border:1px solid var(--border,#e3e6eb);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.calendar-card.active{background:#eef4ff;border-color:#c3d4f5}.calendar-card-main{text-align:left;cursor:pointer;min-width:0;font:inherit;background:0 0;border:none;flex:1;align-items:center;gap:10px;display:flex}.calendar-card-main svg{flex:none;width:20px;height:20px}.calendar-card-main span{min-width:0;display:grid}.calendar-card-main small{color:var(--muted,#66707c)}.calendar-form-box{background:#f6f9ff;border:1px solid #c3d4f5;border-radius:10px;margin-top:12px;padding:14px}.calendar-form-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.calendar-form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.calendar-form label{gap:4px;font-size:.8rem;font-weight:600;display:grid}.field-label{align-items:center;gap:5px;display:inline-flex}.field-tip{color:var(--muted,#66707c);cursor:help;display:inline-flex;position:relative}.field-tip svg{width:13px;height:13px}.field-tip-text{color:#fff;white-space:normal;opacity:0;pointer-events:none;z-index:40;background:#1d2733;border-radius:8px;width:220px;padding:8px 10px;font-size:.75rem;font-weight:400;line-height:1.45;transition:opacity .15s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);box-shadow:0 6px 18px #00000040}.field-tip:hover .field-tip-text,.field-tip:focus-visible .field-tip-text{opacity:1}.calendar-form-actions{gap:8px;margin-top:12px;display:flex}.run-status{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.78rem;font-weight:700}.run-status.good{color:#1d5c38;background:#e5f4ea}.run-status.warn{color:#7a5510;background:#fdf3e0}.run-status.bad{color:#b3261e;background:#fdecea}.run-status.muted{color:#66707c;background:#eef0f3}.table-download{color:inherit;white-space:nowrap;align-items:center;gap:5px;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.table-download svg{width:14px;height:14px}.table-download.primary{color:#b34a1f}.periods-panel{padding:22px 24px}.period-view{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;margin:0;display:flex;overflow:hidden}.period-view-bar{border-bottom:1px solid var(--line,#e3e6eb);flex-wrap:wrap;flex:none;align-items:center;gap:12px;padding:12px 16px;display:flex}.period-view-title{flex:200px;min-width:0}.period-view-title b{font-size:1rem;line-height:1.25;display:block}.period-view-title small{color:var(--muted,#66707c);margin-top:2px;font-size:.78rem;display:block}.period-view-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.period-view-banner{background:#f7f8fa;border-radius:8px;flex:none;margin:10px 16px 0;padding:8px 12px;font-size:.84rem}.period-view-banner.bad{color:#b42318;background:#fdecea;align-items:center;gap:8px;display:flex}.period-view-board{flex:1 1 0;min-width:0;min-height:0;margin:0;overflow:auto}@media (max-width:760px){.periods-panel{padding:16px 14px}}.periods-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.periods-filter{border:1px solid var(--border,#e3e6eb);height:32px;color:var(--muted,#66707c);background:#fff;border-radius:8px;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.periods-filter svg{flex:none;width:14px;height:14px}.periods-filter select{font:inherit;color:var(--ink,#1c2733);cursor:pointer;background:0 0;border:0;outline:0;height:100%;font-size:.82rem;font-weight:400}.period-list{align-content:start;margin-top:0;padding:0;display:block}.periods-panel.panel-fill>.period-list.panel-body-scroll,.periods-panel.panel-fill>.panel-body-scroll{flex:1 1 0;min-height:0}.periods-panel.panel-fill>.list-pager{border-top:1px solid var(--line);background:#fff;flex:none}.period-table{background:#fff;width:100%;min-width:860px}.period-table-head,.period-table-row{box-sizing:border-box;grid-template-columns:minmax(200px,1.2fr) minmax(280px,1.5fr) minmax(100px,.65fr) minmax(108px,.55fr);align-items:stretch;gap:0;width:100%;margin:0;padding:0;display:grid}.period-table-head{z-index:2;background:#f7f8fa;position:sticky;top:0;box-shadow:inset 0 -1px #e6eaee}.period-table-head>span,.period-table-row>span,.period-table-row>.period-date{box-sizing:border-box;border-bottom:1px solid #e6eaee;flex-direction:column;justify-content:center;align-self:stretch;align-items:flex-start;gap:4px;min-width:0;padding:12px 14px;display:flex}.period-table-row>.period-date{font:inherit;color:inherit;text-align:left;background:0 0;border:0;border-bottom:1px solid #e6eaee;width:100%}.period-table-row>.period-date.is-openable{cursor:pointer}.period-table-row>.period-date.is-openable:hover{background:#f7f9fb}.period-table-row>.period-date.is-openable:focus-visible{outline-offset:-2px;z-index:1;outline:2px solid #5b8def}.period-payment-empty{color:var(--muted);font-size:.85rem}.period-table-head>span:last-child,.period-table-row>.period-actions-cell{padding-left:10px;padding-right:10px}.period-table-head>span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:800}.period-table-head>span:not(:first-child),.period-table-row>span:not(:first-child){border-left:1px solid #e6eaee}.period-table-row{background:#fff}.period-table-row.is-unpaid>.period-date{box-shadow:inset 3px 0 #e8a33c}.period-table-row.is-paid>.period-date{box-shadow:inset 3px 0 #2e7d4f}.period-table-row.is-blocked>.period-date{box-shadow:inset 3px 0 #d92d20}.period-table-row .cell-label{display:none}.period-date{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.period-date>b{letter-spacing:-.01em;color:var(--ink,#1c2733);font-size:.92rem;font-weight:800;line-height:1.25}.period-range{color:#4b5563;white-space:nowrap;font-size:.78rem}.period-meta{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.period-chip{width:fit-content;max-width:100%;color:var(--muted,#66707c);background:#f4f6f8;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:.7rem;font-weight:600;line-height:1.2;display:inline-flex}.period-chip svg{flex:none;width:12px;height:12px}.period-chip.period-calendar{color:#9a4d12;background:#fff4ec;font-weight:700}.period-progress{background:0 0;border:0;border-radius:0;flex-direction:column;gap:8px;width:100%;min-width:0;padding:0;display:flex}.period-status-line{flex-wrap:wrap;gap:6px;display:flex}.period-status-line .run-status{width:fit-content}.period-stepper{align-items:flex-start;width:100%;margin:0;padding:0;list-style:none;display:flex}.period-stepper li{flex:1;justify-items:start;gap:4px;min-width:0;display:grid;position:relative}.period-step-dot{color:#66707c;z-index:1;background:#fff;border:2px solid #c8d0d9;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.66rem;font-weight:800;display:grid}.period-step-dot svg{width:11px;height:11px}.period-stepper li.done .period-step-dot{color:#fff;background:#2e7d4f;border-color:#2e7d4f}.period-stepper li.active .period-step-dot{color:#7a5510;background:#fdf3e0;border-color:#e8a33c}.period-step-label{color:var(--muted,#66707c);padding-right:8px;font-size:.68rem;line-height:1.3}.period-stepper li.done .period-step-label,.period-stepper li.active .period-step-label{color:var(--ink,#1c2733);font-weight:700}.period-step-line{z-index:0;background:#dde3ea;height:2px;position:absolute;top:9px;left:22px;right:0}.period-stepper li.done .period-step-line{background:#2e7d4f}.period-hint{color:var(--muted,#66707c);align-items:flex-start;gap:6px;margin:0;padding-top:0;font-size:.74rem;line-height:1.4;display:flex}.period-hint svg{flex:none;width:13px;height:13px;margin-top:2px}.period-hint.bad{color:#b3261e}.period-side,.period-amount,.period-actions-cell{flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;min-width:0;display:flex}.period-total{gap:2px;display:grid}.period-total>b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink,#1c2733);font-size:1rem;font-weight:800;line-height:1.2}.period-total>small{color:var(--muted,#66707c);font-size:.72rem;font-weight:600}.period-total.muted>b{color:#9aa5b1}.period-actions{flex-wrap:wrap;justify-content:flex-start;gap:6px;display:flex}.period-action,.period-action-btn{border:1px solid var(--border,#e3e6eb);height:30px;color:var(--ink,#1c2733);white-space:nowrap;cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:5px;width:fit-content;max-width:100%;padding:0 10px;font-family:inherit;font-size:.74rem;font-weight:700;text-decoration:none;display:inline-flex}.period-action svg{width:14px;height:14px}.period-action:hover{background:#fafbfc;border-color:#9aa5b1}.period-action.primary{color:#fff;background:#b34a1f;border-color:#b34a1f}.period-action.primary:hover{background:#9c3f18;border-color:#9c3f18}.payment-control{justify-items:start;gap:4px;padding-top:0;display:grid}.payment-control-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#66707c);font-size:.68rem;font-weight:800}.payment-toggle{border:1px solid var(--border,#e3e6eb);background:#eef1f4;border-radius:999px;gap:2px;width:fit-content;padding:2px;display:inline-flex}.period-actions-cell .payment-toggle{grid-template-columns:1fr 1fr;display:grid}.payment-toggle button{min-width:0;font:inherit;color:#66707c;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 6px;font-size:.7rem;font-weight:700;transition:background-color .15s,color .15s}.payment-toggle button:not(:disabled):hover{color:var(--ink,#1c2733)}.payment-toggle button.active.unpaid{color:#3d2c05;cursor:default;background:#e8a33c}.payment-toggle button.active.paid{color:#fff;cursor:default;background:#2e7d4f}.payment-toggle button:disabled{opacity:.55;cursor:default}.payment-toggle button.active:disabled{opacity:1}@media (max-width:900px){.period-table-head{display:none}.period-table-head,.period-table-row{grid-template-columns:1fr;min-width:0}.period-table-row>span:not(:first-child){border-left:0}.period-table-row .cell-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;font-size:.68rem;font-weight:800;display:block}.period-actions,.payment-control{justify-content:flex-start;justify-items:start}}.payroll-alert-line{color:#8c2b21;background:#fdf1f0;border:1px solid #f0c6c2;border-left:0;border-right:0;border-radius:0;align-items:center;gap:8px;margin:0;padding:8px 16px;font-size:.83rem;display:flex}.payroll-alert-line svg{flex:none;width:16px;height:16px}.payroll-alert-line span{flex:1;min-width:0}.payroll-summary{border:1px solid var(--border,#e3e6eb);background:#fff;border-radius:10px;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:0;width:100%;display:grid;overflow:hidden}.payroll-summary.is-loading{min-height:0}.payroll-stat{border:0;border-right:1px solid var(--border,#e3e6eb);background:0 0;border-radius:0;align-content:start;align-self:stretch;gap:5px;min-width:0;padding:14px 16px;display:grid}.payroll-stat:last-child{border-right:0}button.payroll-stat.is-link{font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%}button.payroll-stat.is-link:hover{background:#f7f8fa}button.payroll-stat.is-link:focus-visible{outline:2px solid var(--ink,#1f2933);outline-offset:-2px;z-index:1}.payroll-stat>span{letter-spacing:.05em;text-transform:uppercase;color:var(--muted,#66707c);font-size:.66rem;font-weight:700;line-height:1.2}.payroll-stat>b{color:var(--ink,#1f2933);font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow-wrap:anywhere;font-size:1.08rem;font-weight:700;line-height:1.2}.payroll-stat>small{color:var(--muted,#66707c);font-size:.74rem;line-height:1.35}.payroll-stat.highlight{box-shadow:none;background:#eef4ff;border-color:#d7e3f8}.payroll-stat.highlight>b{color:#1d4e89}.payroll-dash--compact .payroll-stat{padding:12px 14px}.payroll-dash--compact .payroll-stat>b{font-size:1rem}@media (max-width:1200px){.payroll-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-stat:nth-child(3n){border-right:0}.payroll-stat:nth-child(n+4){border-top:1px solid var(--border,#e3e6eb)}}@media (max-width:720px){.payroll-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-stat:nth-child(3n){border-right:1px solid var(--border,#e3e6eb)}.payroll-stat:nth-child(2n){border-right:0}.payroll-stat:nth-child(n+3){border-top:1px solid var(--border,#e3e6eb)}.payroll-dash{padding:12px}}@media (max-width:480px){.payroll-summary{grid-template-columns:1fr}.payroll-stat,.payroll-stat:nth-child(2n),.payroll-stat:nth-child(3n){border-right:0}.payroll-stat:nth-child(n+2){border-top:1px solid var(--border,#e3e6eb)}}.payroll-tab-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar--tabs .topbar-left,.topbar--payroll .topbar-left{flex:1;gap:12px;min-width:0}.topbar-screen-tabs,.topbar-payroll-tabs{flex:1;justify-content:flex-start;min-width:0}.topbar-screen-tabs .ops-tabs.board-tabs,.topbar-payroll-tabs .ops-tabs.board-tabs{border-radius:6px;gap:2px;max-width:100%;padding:2px}.topbar-screen-tabs .ops-tabs.board-tabs button,.topbar-payroll-tabs .ops-tabs.board-tabs button{border-radius:4px;gap:6px;height:32px;padding:0 10px;font-size:.78rem;font-weight:700}.topbar-screen-tabs .ops-tabs.board-tabs button svg,.topbar-payroll-tabs .ops-tabs.board-tabs button svg{width:14px;height:14px}.topbar-screen-tabs .ops-tabs.board-tabs button em,.topbar-payroll-tabs .ops-tabs.board-tabs button em{min-width:16px;height:16px;padding:0 4px;font-size:.62rem}.topbar--tabs .topbar-actions,.topbar--payroll .topbar-actions,.topbar-month-switch{flex-shrink:0}.topbar{border-bottom:1px solid var(--line);background:#fff;gap:12px;height:auto;min-height:64px;padding-top:10px;padding-bottom:10px}.topbar-title{margin:0;font-size:1.28rem;font-weight:800}.topbar-actions{align-items:center;gap:10px}.topbar-search{background:#fff;align-items:center;min-width:220px;max-width:280px;height:36px}.topbar-actions .topbar-search{height:36px}.roster-search input,.roster-search input[data-slot=input],.staff-search-control input,.staff-search-control input[data-slot=input]{border-radius:0;outline:none;min-height:0;padding-top:0;padding-bottom:0;box-shadow:none!important;background:0 0!important;border:0!important}.roster-search input,.roster-search input[data-slot=input]{width:220px;height:34px;padding-left:0;padding-right:0}.topbar-search input,.topbar-search input[data-slot=input]{height:34px}.topbar-tools-host{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.topbar-tools-host:empty{display:none}.settings-split{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.settings-split-col{min-width:0}.settings-split-col>.history-board,.settings-split-col>.panel,.settings-panel{flex-direction:column;height:auto;margin-top:0;display:flex;overflow:hidden}.settings-admin.page-shell>.settings-panel.panel-fill,.settings-admin.page-shell>.panel.panel-fill{flex-direction:column;flex:1 1 0;height:100%;min-height:0;display:flex;overflow:hidden}.settings-split-col>.history-board{border:1px solid var(--line);background:#fff;border-radius:8px}.settings-panel-head{border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;align-items:center;gap:12px;padding:14px 16px;justify-content:space-between!important}.settings-panel-head h2{white-space:nowrap;flex:none;margin:0;font-size:1.05rem}.settings-panel-head .history-controls,.settings-panel-head .staff-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.settings-panel-head .roster-search{width:min(220px,100%)}.settings-panel-head .log-type-filter,.settings-panel-head .month-switch{flex:none}.settings-panel-body{flex:none;overflow:visible}.panel-fill>.settings-panel-body.panel-body-scroll,.settings-panel.panel-fill>.staff-table-wrap.panel-body-scroll,.history-board.settings-panel>.settings-panel-body.panel-body-scroll,.settings-admin.page-shell>.panel-fill>.staff-table-wrap.panel-body-scroll{flex:1 1 0;min-height:0;overflow:auto}.settings-split-col .history-board{gap:0}.settings-split-col .history-audit{box-shadow:none;border:0;border-radius:0;margin:0}.settings-split-col .staff-directory{border-radius:8px}.settings-pager{border-top:1px solid var(--line);background:#fff;flex:none;padding:10px 16px}.settings-split-col .staff-table{min-width:640px}.settings-split-col .device-info{-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:180px;display:-webkit-box;overflow:hidden}@media (max-width:1000px){.settings-split{grid-template-columns:1fr}}.shifts-drawer.staff-drawer{width:min(100vw,480px)!important;max-width:480px!important}.shifts-drawer-body{align-content:start!important;gap:0!important;padding:0!important}.flash-message{align-items:center}.flash-message-body{flex:1;min-width:0}.flash-message-close{width:28px;height:28px;color:inherit;opacity:.75;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.flash-message-close:hover{opacity:1;background:#0000000f}.flash-message-close svg{width:16px;height:16px}.shifts-drawer-body>.workforce-message,.shifts-drawer-body>.assign-empty,.shifts-drawer-body>.shift-form{margin:12px 18px 0}.shifts-drawer .site-shift-head{border-bottom:1px solid var(--line);padding:12px 18px}.shifts-drawer .site-shift-head h3{font-size:.92rem;font-weight:800}.shifts-drawer .shift-form{border:1px solid var(--line);background:#f8fafb;border-radius:8px;gap:10px;margin:12px 18px;padding:12px;display:grid}.shifts-drawer .shift-form-times{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.shifts-drawer .shifts-table-wrap{margin:0;overflow:auto}.shifts-drawer .site-shift-table{table-layout:fixed;width:100%!important;min-width:0!important}.shifts-drawer .site-shift-table th,.shifts-drawer .site-shift-table td{padding:12px 18px}.shifts-drawer .site-shift-table th:first-child,.shifts-drawer .site-shift-table td:first-child{width:38%}.shifts-drawer .site-shift-table th:nth-child(2),.shifts-drawer .site-shift-table td:nth-child(2){white-space:nowrap;width:28%}.shifts-drawer .site-shift-table th:nth-child(3),.shifts-drawer .site-shift-table td:nth-child(3){text-align:right;width:34%}.shifts-drawer .site-shift-table td small{color:var(--muted);margin-top:2px;font-size:.75rem;display:block}.shifts-drawer .site-card-actions{flex-wrap:nowrap;justify-content:flex-end}.view-toolbar,.staff-toolbar{justify-content:flex-end}.staff-filters{border-bottom:1px solid var(--line);background:#f8fafb;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:10px;width:100%;padding:12px 16px;display:grid}.staff-filter-field{gap:4px;width:100%;min-width:0;max-width:none;display:grid}.staff-filters>.staff-filter-search{width:100%;min-width:0;max-width:none}.staff-search-control{align-items:center;width:100%;display:flex;position:relative}.staff-search-control>svg{color:#7b8792;pointer-events:none;z-index:1;width:14px;height:14px;position:absolute;left:10px}.staff-search-control input,.staff-search-control input[data-slot=input]{height:38px;padding-left:32px;border:1px solid var(--input)!important;box-shadow:none!important;background:#fff!important;border-radius:5px!important}.page-panel-heading{margin:0 0 12px}.page-panel-heading h2{color:var(--ink);margin:0;font-size:1.2rem;font-weight:800}.page-panel-heading p{color:var(--muted);margin:4px 0 0;font-size:.875rem;line-height:1.45}.staff-filter-field>span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:800}.staff-filters .grid-select,.staff-filters input{width:100%;height:38px}.staff-filters>button{align-self:flex-end;height:38px}.staff-filters .search-select,.shift-filters .search-select{width:100%;min-width:0}.staff-filters .search-select-trigger,.shift-filters .search-select-trigger{height:38px}.active-filter-chips{flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px 0;display:flex}.filter-chip{color:#9a4d12;height:28px;font:inherit;cursor:pointer;background:#fff7f0;border:1px solid #f0b27a;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;font-weight:700;display:inline-flex}.filter-chip svg{flex:none;width:12px;height:12px}.filter-chip:hover{background:#ffedd5;border-color:#ea9a5b}.filter-chip-clear{color:#9a4d12;height:28px;font:inherit;cursor:pointer;background:0 0;border:0;padding:0 8px;font-size:.75rem;font-weight:700;text-decoration:underline}.decision-board{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:visible}.panel-body-scroll>.decision-board,.decision-feed.panel-body-scroll .decision-board{border:0;border-top:1px solid var(--line);border-radius:0;overflow:visible}.decision-board-head{z-index:3;background:#f7f8fa;border-bottom:1px solid #e6eaee;margin:0;padding:0;position:sticky;top:0}.decision-board .decision-board-head,.decision-board .request-row.pay-head{margin:0;align-items:stretch!important;gap:0!important;padding:0!important}.decision-board .decision-board-head>span,.decision-board .request-row.pay-head>span{box-sizing:border-box;flex-direction:column;justify-content:center;align-self:stretch;align-items:flex-start;gap:2px;min-width:0;padding:12px 14px;display:flex}.decision-board .request-row.pay-head>span.decision-employee{flex-direction:row;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 10px;display:grid!important}.decision-board .request-row.pay-head>span.request-actions,.decision-board .decision-board-head>span:last-child{flex-wrap:nowrap;align-items:center;gap:6px;min-width:292px;flex-direction:row!important;justify-content:flex-end!important}.decision-board .decision-board-head>span:last-child{text-align:right}.decision-board .request-actions-inline{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.decision-board .request-actions-menu{display:none}.decision-board .request-row.pay-head>span.request-actions .request-actions-inline>button{white-space:nowrap;flex:none}@media (max-width:1100px){.decision-board .request-row.pay-head>span.request-actions,.decision-board .decision-board-head>span:last-child{min-width:52px}.decision-board .request-actions-inline{display:none}.decision-board .request-actions-menu{justify-content:flex-end;display:flex}}.decision-board .request-row.pay-head>span.decision-employee .decision-employee-text{grid-template-columns:minmax(0,1fr);gap:1px;min-width:0;line-height:1.2;display:grid!important}.decision-board .request-row.pay-head>span.decision-employee .decision-employee-text b,.decision-board .request-row.pay-head>span.decision-employee .decision-employee-text small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden;display:block!important}.decision-board .request-row.pay-head>span.decision-employee .decision-employee-text small{color:var(--muted);font-size:.72rem;font-weight:700}.decision-board .waiting-pill,.decision-board .approved-pill,.decision-board .rejected-pill,.decision-board .ot-pill,.person-attendance-board .waiting-pill,.person-attendance-board .approved-pill,.person-attendance-board .rejected-pill,.person-attendance-board .ot-pill{flex:none;align-self:flex-start;width:fit-content;max-width:100%}.decision-board .decision-board-head>span,.decision-board .request-row.pay-head>span{border-bottom:1px solid #e6eaee}.decision-board .decision-board-head>span:not(:first-child),.decision-board .request-row.pay-head>span:not(:first-child){border-left:1px solid #e6eaee}.decision-board .request-row.pay-head{border:0!important}.decision-feed.panel-body-scroll .decision-board-body,.decision-board-body{padding:0!important}.decision-feed.panel-body-scroll .decision-board-head,.person-attendance-board .person-attendance-head,.person-attendance-board .decision-board-head{padding-left:0!important;padding-right:0!important}.decision-board-body .decision-day,.person-attendance-board .decision-day{display:grid;gap:0!important;margin:0!important;padding:0!important}.decision-board-body .decision-date-sep,.person-attendance-board .decision-date-sep{background:#fff;border-bottom:1px solid #e6eaee;padding:10px 14px;margin:0!important}.decision-board-body .decision-date-sep:before,.decision-board-body .decision-date-sep:after,.person-attendance-board .decision-date-sep:before,.person-attendance-board .decision-date-sep:after{display:none}@media (max-width:900px){.decision-board .decision-board-head>span:not(:first-child),.decision-board .request-row.pay-head>span:not(:first-child),.person-attendance-board .person-attendance-head>span:not(:first-child),.person-attendance-board .person-attendance-row>span:not(:first-child){border-left:0}}.decision-load-more{min-height:28px;padding:8px 0 4px}.history-toolbar{justify-content:space-between;align-items:center;gap:12px}.my-month-toolbar{grid-template-columns:minmax(140px,1fr) auto minmax(140px,1fr);align-items:center;gap:12px 16px;width:100%;display:grid}.my-month-toolbar .my-month-legend{justify-content:flex-start;justify-self:start;max-width:100%;margin:0}.my-month-toolbar .my-month-switch{justify-self:center}.my-month-toolbar .span-switch{justify-self:end}.payroll-review-actions{margin-left:auto}.payroll-table-wrap{flex:1 1 0;min-height:0;max-height:none;overflow:auto}.payroll-review>.payroll-table-wrap,.payroll-review>.panel-body-scroll{flex:1 1 0;min-height:0;max-height:none}.payroll-queue{border-collapse:separate;border-spacing:0}.payroll-queue th{z-index:2;background:#f6f8fa;position:sticky;top:0}.payroll-queue.payroll-queue--shifts{table-layout:fixed;width:100%}.payroll-queue.payroll-queue--shifts th:first-child,.payroll-queue.payroll-queue--shifts td:first-child{width:22%}.payroll-queue.payroll-queue--shifts th:nth-child(2),.payroll-queue.payroll-queue--shifts td:nth-child(2){white-space:nowrap;width:11%}.payroll-queue.payroll-queue--shifts th:nth-child(3),.payroll-queue.payroll-queue--shifts td:nth-child(3){width:15%}.payroll-queue.payroll-queue--shifts th:nth-child(4),.payroll-queue.payroll-queue--shifts td:nth-child(4){white-space:nowrap;width:11%}.payroll-queue.payroll-queue--shifts th:nth-child(5),.payroll-queue.payroll-queue--shifts td:nth-child(5){text-align:left;white-space:nowrap;width:7%}.payroll-queue.payroll-queue--shifts th:nth-child(6),.payroll-queue.payroll-queue--shifts td:nth-child(6){width:18%}.payroll-queue.payroll-queue--shifts th:nth-child(7),.payroll-queue.payroll-queue--shifts td:nth-child(7){text-align:right;white-space:nowrap;width:16%;padding-left:8px;padding-right:12px}.payroll-employee{align-items:center;gap:8px;min-width:0;display:flex}.payroll-employee>span:last-child{gap:1px;min-width:0;display:grid}.payroll-employee small{color:var(--muted);display:block}.payroll-queue--shifts .payroll-employee b,.payroll-queue--shifts .payroll-employee small,.payroll-queue--shifts td:nth-child(3){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.payroll-queue--shifts .payroll-pay{justify-items:start;gap:2px;min-width:0;display:grid}.payroll-queue--shifts .payroll-pay b{white-space:nowrap;font-weight:800}.payroll-queue--shifts .payroll-pay small{color:var(--muted);white-space:nowrap;font-size:.72rem;font-weight:700;line-height:1.2;display:block}.payroll-queue--shifts .payroll-actions{text-align:right}.payroll-queue--shifts .payroll-actions button{white-space:nowrap;height:32px;padding:0 10px}.payroll-queue.payroll-queue--shifts.payroll-queue--inbox{table-layout:fixed;width:100%;min-width:1240px}.payroll-queue.payroll-queue--inbox th:first-child,.payroll-queue.payroll-queue--inbox td:first-child{width:18%}.payroll-queue.payroll-queue--inbox th:nth-child(2),.payroll-queue.payroll-queue--inbox td:nth-child(2){width:9%}.payroll-queue.payroll-queue--inbox th:nth-child(3),.payroll-queue.payroll-queue--inbox td:nth-child(3){white-space:nowrap;width:12%;overflow:hidden}.payroll-queue.payroll-queue--inbox th:nth-child(4),.payroll-queue.payroll-queue--inbox td:nth-child(4){width:12%}.payroll-queue.payroll-queue--inbox th:nth-child(5),.payroll-queue.payroll-queue--inbox td:nth-child(5){text-align:left;white-space:nowrap;width:10%;min-width:72px}.payroll-queue.payroll-queue--inbox th:nth-child(6),.payroll-queue.payroll-queue--inbox td:nth-child(6){white-space:nowrap;width:8%}.payroll-queue.payroll-queue--inbox th:nth-child(7),.payroll-queue.payroll-queue--inbox td:nth-child(7){text-align:right;white-space:nowrap;vertical-align:middle;width:31%;min-width:320px;padding-left:12px;padding-right:16px}.payroll-queue--inbox td.payroll-actions{display:table-cell;overflow:visible}.payroll-queue--inbox .payroll-action-row{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.payroll-queue--inbox .payroll-action-row button{white-space:nowrap;flex:none;height:32px;padding:0 10px}.payroll-queue--inbox .payroll-action-row button svg{width:14px;height:14px}.sent-back-pill{color:#9a6700;letter-spacing:.02em;background:#fff4e5;border-radius:999px;align-items:center;height:22px;padding:0 8px;font-size:.72rem;font-style:normal;font-weight:700;display:inline-flex}.payroll-admin .history-board{flex-direction:column;flex:1 1 0;min-height:0;margin-top:0;display:flex;overflow:hidden}.payroll-admin .history-scroll{flex:1 1 0;min-height:0;overflow:auto}@media (max-width:760px){.content-area>.workforce-admin:has(.roster-stack){min-height:calc(100dvh - 110px)}}@media (max-width:1100px){.side-rail{width:min(280px,86vw);transition:transform .2s;transform:translate(-100%)}.side-rail--open{transform:translate(0)}.nav-scrim{z-index:25;background:#0a10178c;border:0;display:block;position:fixed;inset:0}.workspace{width:100%;margin-left:0}.menu-button{margin-right:10px;display:grid}}@media (max-width:760px){.workspace,.content-area,.role-dashboard,.ops-home,.console-grid,.console-main,.console-side,.team-pulse,.my-month,.operations-view,.payroll-review,.sites-page{min-width:0;max-width:100%}.topbar{gap:8px}.topbar-left{min-width:0}.topbar-left h1,.dash-hero h2,.shift-identity h2,.team-pulse h2,.my-month-person h2{overflow-wrap:anywhere}.dash-hero,.shift-banner,.team-pulse>.panel-heading,.ops-home-bar,.my-month-person,.payroll-tab-row,.staff-toolbar{place-items:start stretch;display:grid}.dash-hero-main,.dash-role,.staff-toolbar-actions,.team-pulse .toolbar-buttons,.payroll-review-actions,.ops-home-bar>button{justify-content:stretch;width:100%}.dash-role{text-align:left;justify-items:start}.team-pulse .toolbar-buttons{grid-template-columns:1fr;margin-top:12px;display:grid}.role-dashboard .metrics-row,.role-dashboard .metrics-four,.ops-home-metrics,.team-pulse-stats,.team-pulse-metrics,.console-main .metrics-row,.worker-dashboard .worker-metrics{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))!important}.worker-dashboard .worker-metrics .metric-card:first-child,.console-main .metrics-row .metric-card:first-child{grid-column:auto!important}.my-month-stats{grid-template-columns:1fr;gap:10px}.stat-card{border:1px solid var(--line)}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat-grid-four{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-grid span{background:#fafbfc;border:1px solid #e6eaee;border-radius:8px;min-width:0;padding:10px 10px 9px}.stat-grid b{font-size:1.15rem}.my-month-person{align-items:flex-start;gap:12px;display:flex}.my-month-person .avatar{flex:none}.my-month-person>div{min-width:0}.my-month-person h2{font-size:1.05rem}.my-month-person p,.my-month-person small{font-size:.78rem;line-height:1.35}.my-month-head,.stat-card,.month-panel{padding:12px 14px}.my-month .history-toolbar.my-month-toolbar{grid-template-columns:1fr;justify-items:stretch;gap:10px}.my-month-toolbar .span-switch,.my-month-toolbar .my-month-switch,.my-month-toolbar .my-month-legend{justify-self:stretch;width:100%}.my-month .month-switch{justify-content:space-between;width:100%}.my-month .month-switch b{flex:1;min-width:0}.my-month .span-switch{width:100%}.my-month .span-switch button{flex:1}.my-month-toolbar .my-month-legend{justify-content:flex-start}.role-dashboard .metrics-four{grid-template-columns:1fr 1fr}.metric-card,.home-stat,.operation-metric{min-width:0;min-height:0;padding:12px}.metric-card b,.role-dashboard .metric-card b,.team-pulse-stats b,.team-pulse-metrics .home-stat b{overflow-wrap:anywhere;font-size:1.15rem}.dash-grid,.ops-home-split,.console-grid{grid-template-columns:1fr}.dash-card b{overflow-wrap:anywhere}.ops-home .leaflet-map,.ops-home .geo-map,.console-side .leaflet-map.shift-location-map,.punch-panel .leaflet-map.shift-location-map,.worker-dashboard .worker-punch-card .leaflet-map.shift-location-map{height:160px!important;min-height:0!important;max-height:160px!important}.worker-dashboard .worker-punch-card .shift-map-block{flex:none;min-height:0!important;max-height:160px!important}.punch-head,.today-shift .panel-heading{align-items:start;gap:8px;display:grid}.today-shift-grid,.console-side .today-shift-grid,.punch-actions.pair{grid-template-columns:1fr 1fr}.event-row{grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;padding:14px 40px 14px 0;position:relative}.event-copy>b{font-size:.95rem}.event-meta,.event-reason{font-size:.8rem}.event-gps{display:none}.event-row>.status-badge{z-index:1;gap:0;width:fit-content;max-width:fit-content;margin:0;padding:6px;font-size:0;position:absolute;top:14px;right:0}.event-row>.status-badge svg{width:14px;height:14px}.activity-panel,.upcoming-panel,.punch-panel,.dash-side{padding:14px}.upcoming-list li{grid-template-columns:64px minmax(0,1fr)}.ops-section-nav{grid-template-columns:1fr 1fr;display:grid}.ops-section-nav button{min-height:44px;font-size:.78rem}.staff-table-wrap,.request-table,.payroll-table-wrap,.history-scroll,.schedule-wrap{max-width:100%;overflow-x:auto}.staff-directory .staff-table{min-width:0}.staff-directory .staff-table thead{display:none}.staff-directory .staff-table,.staff-directory .staff-table tbody,.staff-directory .staff-table tr,.staff-directory .staff-table td{width:100%;display:block}.staff-directory .staff-table tr{border-bottom:1px solid var(--line);padding:12px 14px}.staff-directory .staff-table td{border:0;padding:3px 0}.staff-directory .staff-table td:last-child{padding-top:8px}.staff-directory .staff-table td[data-label]{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.staff-directory .staff-table td[data-label]:before{content:attr(data-label);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);flex:none;font-size:.65rem;font-weight:800}}@media (max-width:430px){.content-area{padding:12px 10px 28px}.role-dashboard .metrics-four,.ops-home-metrics,.team-pulse-stats,.team-pulse-metrics,.console-main .metrics-row,.today-shift-grid,.console-side .today-shift-grid,.ops-section-nav,.punch-actions.pair,.my-month-stats{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.worker-dashboard .worker-metrics,.console-main .metrics-row{gap:8px;width:100%;grid-template-columns:repeat(3,minmax(0,1fr))!important}.worker-dashboard .worker-metrics .metric-card:first-child,.console-main .metrics-row .metric-card:first-child{grid-column:auto!important}.worker-dashboard .worker-metrics .metric-card,.console-main .metric-card{text-align:left;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:8px;min-height:0;padding:12px;display:flex}.worker-dashboard .worker-metrics .metric-card>div,.console-main .metric-card>div{text-align:left;flex:1;justify-items:start;gap:4px;width:auto;min-width:0;display:grid}.worker-dashboard .worker-metrics .metric-card b,.console-main .metric-card b{font-size:1.05rem}.worker-dashboard .worker-metrics .metric-icon,.console-main .metric-icon{display:none}.dash-hero h2{font-size:1.08rem}}@media (min-width:761px){.punch-panel:not(.worker-punch-card){flex-direction:column;display:flex}.punch-panel:not(.worker-punch-card) .punch-head{order:1}.punch-panel:not(.worker-punch-card) .shift-map-block{order:2}.punch-panel:not(.worker-punch-card) .today-shift{order:3}.punch-panel:not(.worker-punch-card) .punch-actions{order:4}.punch-panel:not(.worker-punch-card) .panel-note{order:5}.punch-panel:not(.worker-punch-card) .system-message{order:6}}@media (max-width:760px){.topbar{height:auto;min-height:56px;padding:8px 10px}.topbar--tabs,.topbar--payroll{flex-wrap:wrap}.topbar--tabs .topbar-left,.topbar--payroll .topbar-left{width:100%}.topbar-screen-tabs .ops-tabs.board-tabs,.topbar-payroll-tabs .ops-tabs.board-tabs{grid-template-columns:1fr 1fr;width:100%;display:grid}.topbar--tabs .topbar-actions,.topbar--payroll .topbar-actions{justify-content:flex-end;width:100%}.content-area{padding:8px 8px 16px}.ops-home,.console-grid{gap:8px}.console-grid{flex-direction:column;display:flex}.console-main,.console-side{display:contents}.console-main .metrics-row{order:0}.console-side .punch-panel{order:1}.shift-banner{order:2}.activity-panel{order:3}.upcoming-panel{order:4}.worker-dashboard{flex-direction:column;gap:8px;width:100%;display:flex}.worker-dashboard .worker-metrics{order:1!important}.worker-dashboard .worker-main,.worker-dashboard .worker-main-left{display:contents!important}.worker-dashboard .worker-punch-card{width:100%;order:2!important}.worker-dashboard .activity-panel{width:100%;order:3!important}.worker-dashboard .upcoming-panel{width:100%;order:4!important}.punch-panel:not(.worker-punch-card){flex-direction:column;display:flex}.punch-panel:not(.worker-punch-card) .punch-head{order:1}.punch-panel:not(.worker-punch-card) .shift-map-block{order:2}.punch-panel:not(.worker-punch-card) .today-shift{order:3}.punch-panel:not(.worker-punch-card) .punch-actions{order:4}.punch-panel:not(.worker-punch-card) .system-message,.punch-panel:not(.worker-punch-card) .panel-note{order:5}.ops-home-bar{order:0}.ops-home-layout{order:1}.punch-panel,.console-side .command-panel,.activity-panel,.upcoming-panel,.shift-banner{padding:10px}.punch-head,.punch-panel .today-shift .panel-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.punch-head h2{font-size:.95rem}.punch-panel .today-shift .section-label{display:none}.punch-panel .today-shift .panel-heading h2{margin:0;font-size:.95rem;display:block}.punch-local span{display:none}.punch-local b,.console-side .punch-local b{font-size:1.05rem}.punch-actions{margin-top:8px;padding:0}.punch-checkin-card,.worker-punch-card{flex-direction:column;display:flex}.punch-checkin-card .punch-checkin-actions,.worker-punch-card .punch-checkin-actions{z-index:15;padding:12px 0 calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:#fff;order:99;margin-top:auto;position:sticky;bottom:0}.punch-checkin-card .punch-checkin-actions .punch-actions,.worker-punch-card .punch-checkin-actions .punch-actions{margin-top:0}.console-main .metrics-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;display:grid}.console-main .metrics-row .metric-card,.console-main .metrics-row .metric-card:first-child{grid-column:auto;min-width:0}.console-main .metric-card{text-align:center;justify-items:center;min-height:0;padding:6px 4px;display:grid}.console-main .metric-card>div{justify-items:center;width:100%;min-width:0;display:grid}.console-main .metric-card span,.console-main .metric-card b{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.console-main .metric-card span,.home-stat span{font-size:.62rem;line-height:1.2}.punch-actions button,.punch-actions.pair button{height:48px}.punch-actions.pair,.today-shift-grid,.console-side .today-shift-grid,.role-dashboard .metrics-four,.team-pulse-stats,.team-pulse-metrics{grid-template-columns:1fr 1fr;gap:6px}.ops-home-metrics{grid-template-columns:none;gap:6px;display:flex;overflow-x:auto}.ops-home-metrics .home-stat{flex:1 0 76px;min-width:76px}.punch-panel .today-shift{margin-top:8px;padding-top:8px}.punch-panel .today-shift .panel-heading{margin-bottom:4px}.today-shift-grid small{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.shift-banner{padding:8px 10px}.shift-banner .avatar{width:32px;height:32px;font-size:.72rem}.shift-banner .shift-identity p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.today-shift-grid{gap:6px 10px}.punch-distance{margin:6px 0 0;font-size:.82rem}.punch-panel .shift-map-block,.console-side .shift-map-block{margin-top:8px}.ops-home .leaflet-map,.ops-home .geo-map,.console-side .leaflet-map.shift-location-map,.punch-panel .leaflet-map.shift-location-map,.worker-dashboard .worker-punch-card .leaflet-map.shift-location-map,.leaflet-map.shift-location-map{height:150px!important;min-height:0!important;max-height:150px!important}.worker-dashboard .worker-punch-card .shift-map-block{min-height:0!important;max-height:150px!important}.metric-card,.home-stat,.operation-metric,.console-main .metric-card{min-height:0;padding:8px 10px}.metric-card small,.console-main .metric-icon,.shift-banner .section-label{display:none}.metric-card b,.role-dashboard .metric-card b,.home-stat b,.shift-banner .shift-identity h2,.dash-hero h2{font-size:1rem}.empty-state.compact{padding:8px 0}.empty-state.compact h3{font-size:.95rem}.upcoming-list li{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:10px 12px;width:100%}.upcoming-date{gap:2px}.upcoming-list li.today .upcoming-date{padding:7px 8px}.upcoming-main{gap:6px}.upcoming-site b,.upcoming-site small,.upcoming-hours small{white-space:normal;text-overflow:unset;overflow:visible}}.history-grid thead th.is-today,.schedule-grid thead th.is-today{background:var(--orange);color:#fff}.history-grid thead th.is-today small,.schedule-grid thead th.is-today small,.schedule-grid thead th.is-today b{color:#fff}.history-grid td.is-today,.schedule-grid td.is-today{background:#fff7f1;position:relative}.history-grid td.is-today:after,.schedule-grid td.is-today:after{content:"";border-left:2px solid var(--orange);border-right:2px solid var(--orange);pointer-events:none;background:#f265220f;position:absolute;inset:0}.cal-day.is-today{border:2px solid var(--orange)}.cal-day.is-today .cal-number{background:var(--orange);color:#fff;text-align:center;border-radius:999px;align-self:flex-start;min-width:24px;padding:1px 6px}.my-month .stat-card{border:1px solid var(--line)}.my-month .stat-grid span{background:#fafbfc;border:1px solid #e6eaee;border-radius:8px;min-width:0;padding:10px 12px 9px}.person-month-calendar-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;overflow:auto}.person-month-calendar{flex-direction:column;width:100%;min-width:640px;display:flex}.person-cal-head{z-index:2;background:#f7f8fa;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;position:sticky;top:0;box-shadow:inset 0 -1px #e6eaee}.person-cal-weekday{color:var(--muted);text-align:center;border-right:1px solid #e6eaee;padding:10px 8px;font-size:.72rem;font-weight:800}.person-cal-weekday:last-child{border-right:0}.person-cal-body{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.person-cal-day{width:100%;min-height:108px;font:inherit;color:inherit;text-align:left;cursor:default;box-sizing:border-box;background:#fff;border:1px solid #e6eaee;border-top:0;border-left:0;border-radius:0;flex-direction:column;gap:4px;padding:8px 9px;font-size:.72rem;line-height:1.25;display:flex}.person-cal-day.is-clickable{cursor:pointer}.person-cal-day.is-clickable:hover{background:#fff8f3}.person-cal-day.is-selected{box-shadow:inset 0 0 0 2px var(--orange);z-index:1}.person-attendance-row.is-clickable{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.person-attendance-row.is-clickable:hover{background:#fff8f3}.day-detail-sheet{background:#fff!important}.day-detail-top{background:#fff;border-bottom:1px solid #edf0f3;gap:2px!important;padding:16px 48px 12px 16px!important}.day-detail-top-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.day-detail-date{color:#8a949f;font-size:.72rem;font-weight:700}.day-detail-top-row .approved-pill,.day-detail-top-row .ot-pill,.day-detail-top-row .rejected-pill,.day-detail-top-row .waiting-pill{padding:2px 7px;font-size:.66rem}.day-detail-name{color:var(--ink)!important;margin:2px 0 0!important;font-size:1.15rem!important;font-weight:800!important;line-height:1.15!important}.day-detail-sub{color:#8a949f!important;margin:0!important;font-size:.74rem!important;line-height:1.3!important}.day-detail-shift-pill{width:max-content;color:var(--ink);background:#eef1f4;border-radius:999px;align-items:center;gap:7px;margin-top:8px;padding:5px 10px;font-size:.74rem;font-weight:750;display:inline-flex}.day-detail-shift-pill i{background:var(--orange);border-radius:50%;flex:none;width:7px;height:7px}.day-detail-scroll{background:#fff;padding:0!important}.day-detail-body{gap:8px;padding:12px 14px 20px;display:grid}.day-detail-card{border-radius:12px;padding:10px 12px}.day-detail-card--muted{background:#f3f5f7}.day-detail-card--pay{background:#fff1e8}.day-detail-grid{grid-template-columns:1fr 1fr;gap:8px 12px;display:grid}.day-detail-grid div{gap:2px;min-width:0;display:grid}.day-detail-grid small{color:#8a949f;letter-spacing:.04em;text-transform:uppercase;font-size:.6rem;font-weight:800;line-height:1.2}.day-detail-grid b{color:var(--ink);white-space:normal;overflow-wrap:anywhere;font-size:.72rem;font-weight:750;line-height:1.3}.day-detail-pay-block{border-top:1px solid #f2652229;gap:1px;margin-top:8px;padding-top:8px;display:grid}.day-detail-pay-block strong{color:var(--orange);font-size:1.05rem;font-weight:800;line-height:1.15}.day-detail-pay-block span{color:#8a949f;font-size:.7rem;font-weight:600;line-height:1.35}.day-detail-flags{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.day-detail-flags em{color:#9a6200;background:#fff;border-radius:999px;padding:3px 7px;font-size:.64rem;font-style:normal;font-weight:800}.day-detail-punches h3{letter-spacing:.08em;text-transform:uppercase;color:#8a949f;margin:4px 0 8px;font-size:.64rem}.day-punch-timeline{margin:0;padding:0;list-style:none;display:grid}.day-punch-timeline li{grid-template-columns:96px 14px minmax(0,1fr);align-items:start;gap:8px;padding:0 0 12px;display:grid;position:relative}.day-punch-timeline li:last-child{padding-bottom:0}.day-punch-timeline li:not(:last-child):before{content:"";background:#e4e8ec;width:2px;position:absolute;top:10px;bottom:-2px;left:110px}.day-punch-timeline time{color:#66717f;white-space:nowrap;padding-top:1px;font-size:.72rem;font-weight:700}.day-punch-timeline i{z-index:1;background:#c9d1d9;border-radius:50%;justify-self:center;width:8px;height:8px;margin-top:4px;position:relative;box-shadow:0 0 0 3px #fff}.day-punch-timeline li.is-major i{background:var(--orange)}.day-punch-timeline div{gap:1px;min-width:0;display:grid}.day-punch-timeline b{color:var(--ink);font-size:.8rem;font-weight:800}.day-punch-timeline small{color:#8a949f;font-size:.68rem;line-height:1.3}.day-punch-empty{color:var(--muted);margin:0;font-size:.76rem}.person-cal-day:nth-child(7n){border-right:0}.person-cal-body .person-cal-day:nth-last-child(-n+7){border-bottom:0}.person-cal-number{color:var(--ink);font-weight:800;line-height:1}.person-cal-content{gap:2px;min-width:0;display:grid}.person-cal-content strong{color:var(--ink);font-size:.7rem;font-weight:800}.person-cal-content span,.person-cal-content em{color:#4a5560;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.person-cal-day em{font-style:normal;font-weight:700}.person-cal-day.outside{pointer-events:none;background:#fafbfc}.person-cal-day.outside .person-cal-number{color:#c5ccd3}.person-cal-day.present{background:#f3fbf6}.person-cal-day.present strong{color:#137a43}.person-cal-day.late,.person-cal-day.half,.person-cal-day.early_out{background:#fff8e8}.person-cal-day.late strong,.person-cal-day.half strong,.person-cal-day.early_out strong,.person-cal-day.late em,.person-cal-day.half em,.person-cal-day.early_out em{color:#9a6200}.person-cal-day.absent{background:#fff1f0}.person-cal-day.absent strong{color:#a32626}.person-cal-day.open{background:#f3f8fd}.person-cal-day.open strong{color:#1d4e89}.person-cal-day.weekend{color:#7b8794;background:#f4f5f7}.person-cal-day.holiday{background:#e7f7fb}.person-cal-day.holiday strong{color:#0e7490}.person-cal-day.scheduled{background:#f7f8fa}.person-cal-day.scheduled strong{color:#607080}.person-cal-day.is-today{box-shadow:inset 2px 0 0 var(--orange), inset -2px 0 0 var(--orange);background:#fff7f1;position:relative}.person-cal-day.is-today .person-cal-number{background:var(--orange);color:#fff;text-align:center;border-radius:999px;align-self:flex-start;min-width:24px;padding:2px 7px}.range-grid button.is-today{box-shadow:inset 0 0 0 2px var(--orange);color:var(--orange-deep);font-weight:800}.range-grid button.is-today.is-start,.range-grid button.is-today.is-end{box-shadow:inset 0 0 0 2px var(--orange), inset 0 0 0 4px #fff;color:#fff}.ops-tabs,.ops-tabs.board-tabs{border-radius:6px;gap:2px;padding:2px}.ops-tabs button,.ops-tabs.board-tabs button{border-radius:4px;gap:6px;height:32px;padding:0 10px;font-size:.78rem;font-weight:700}.ops-tabs button svg{width:14px;height:14px}:is(.content-area:has(>.page-shell),.content-area:has(>.history-board),.content-area:has(>.workforce-admin),.content-area:has(>.sites-page),.content-area:has(>.settings-admin),.content-area:has(>.payroll-admin)){flex-direction:column;display:flex;overflow:hidden}.content-area>.settings-admin.page-shell,.content-area>.payroll-admin.page-shell,.content-area>.history-board.settings-panel.page-shell{flex:1 1 0;min-height:0;overflow:hidden}.payroll-admin.page-shell>.panel-fill,.payroll-admin.page-shell>.history-board{flex:1 1 0;min-height:0}.payroll-admin.page-shell>.payroll-dash{flex:none;min-height:0;overflow:auto}.payroll-admin .payroll-subtabs,.payroll-admin .payroll-alert-line,.payroll-admin>.panel-fill>.workforce-message{flex:none}.payroll-decisions-pane{flex-direction:column;min-height:0;display:flex}.payroll-decisions-pane>.staff-filters,.payroll-decisions-pane>.active-filter-chips,.payroll-decisions-pane>.flash-message,.payroll-decisions-pane>.workforce-message{flex:none}.payroll-decisions-pane>.panel-body-scroll,.payroll-decisions-pane>.decision-feed.panel-body-scroll{flex:1 1 0}.settings-note{border-bottom:1px solid var(--line);flex:none;margin:0;padding:10px 16px}.roles-settings,.user-management{flex-direction:column;gap:12px;min-height:0;display:flex}.user-access-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 16px 12px;display:grid}.user-access-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 88%, var(--bg));border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.user-access-card svg{width:18px;height:18px;color:var(--muted);flex:none}.user-access-card b{font-size:1.15rem;line-height:1.1;display:block}.user-access-card span{color:var(--muted);font-size:.82rem}.user-management .staff-toolbar-filters{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.user-management .staff-search{flex:1;align-items:center;gap:8px;min-width:min(280px,100%);display:flex}.user-management .staff-search svg{width:16px;height:16px;color:var(--muted);flex:none}.user-management .status-pill{border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:.78rem;display:inline-flex}.user-management .status-pill.good{color:var(--good,#1b7a3d);background:color-mix(in srgb, var(--good,#1b7a3d) 12%, transparent)}.user-management .status-pill.muted{color:var(--muted)}@media (max-width:720px){.user-access-summary{grid-template-columns:1fr}}.roles-settings-tabs{flex:none;margin:0;padding:0 4px}.role-perm-groups{gap:12px;max-height:min(52vh,520px);margin-top:10px;padding-right:2px;display:grid;overflow:auto}.role-perm-group h4{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:.8rem}.role-form-drawer .staff-drawer-body{overflow:auto}.roles-settings code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem}.settings-permissions-panel{flex:none;padding:14px 16px 16px}.settings-permissions-head h2{margin:4px 0;font-size:1.05rem}.settings-permissions-head .panel-note{border:0;margin:0;padding:0}.settings-permissions-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.settings-permission-card{border:1px solid var(--line);background:#f7f8fa;border-radius:6px;gap:4px;padding:10px 12px;display:grid}.settings-permission-card b{font-size:.9rem}.settings-permission-card small{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.settings-permission-card p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.35}.role-perm-checks{gap:8px;display:grid}.role-perm-check{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:10px 12px;display:grid}.role-perm-check.is-on{background:#f3f6f9;border-color:#9aa7b5}.role-perm-check.is-disabled{opacity:.55;cursor:not-allowed}.role-perm-check b,.role-perm-check small{display:block}.role-perm-check small{color:var(--muted);margin-top:2px;font-weight:400}.roles-table .staff-person small{max-width:36ch;color:var(--muted);margin-top:2px;line-height:1.35;display:block}@media (max-width:1100px){.settings-permissions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.settings-permissions-grid{grid-template-columns:1fr}}.role-signin{color:var(--ink);align-items:center;gap:6px;font-size:.84rem;display:inline-flex}.role-signin svg{width:14px;height:14px;color:var(--muted);flex:none}.role-perm-list{flex-wrap:wrap;gap:6px;display:flex}.role-perm-list--sheet{margin-bottom:14px}.role-perm-chip{border:1px solid var(--line);color:var(--ink);white-space:nowrap;background:#f7f8fa;border-radius:4px;align-items:center;padding:3px 8px;font-size:.75rem;line-height:1.3;display:inline-flex}.role-people-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.role-people-row{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.role-people-row b,.role-people-row small{display:block}.role-people-row small{color:var(--muted);margin-top:2px}.role-active-pill{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.role-active-pill.is-on{color:var(--green,#177245)}.row-menu-sep{display:none}.row-menu>button+button{box-shadow:inset 0 1px #0f172a14}.row-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex;position:relative}.content-area>.workforce-admin.page-shell>.roster-stack,.content-area>.workforce-admin.page-shell>.roster-stack>.panel,.content-area>.workforce-admin.page-shell>.roster-stack>.history-board,.content-area>.workforce-admin.page-shell>.roster-stack>.shift-board{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.content-area>.workforce-admin.page-shell>.roster-stack>.panel.staff-directory>.staff-table-wrap{flex:1 1 0;min-height:0;overflow:auto}.content-area>.sites-page{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.content-area>.sites-page>.site-admin.page-shell{flex:1 1 0;min-height:0;overflow:hidden}.topbar-tools-host .icon-button,.topbar-actions .icon-button,.pay-tip-trigger{width:32px;height:32px}.notifications-page{flex-direction:column;flex:1 1 0;width:100%;min-width:0;max-width:none;height:100%;min-height:0;display:flex}.content-area>.notifications-page{flex:1 1 0;min-height:0}.notif-inbox-panel{border:1px solid var(--line);flex-direction:column;flex:1 1 0;width:100%;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.notif-inbox-panel>.panel-heading,.notif-inbox-head{border-bottom:1px solid var(--line);flex:none;margin:0;padding:16px 18px 12px}.notif-inbox-tools{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.notif-inbox-body{flex:1 1 0;min-height:0;overflow:auto}.notif-inbox-body .notif-item{border-radius:0}.notif-inbox-body .notif-item:last-child{border-bottom:0}.notif-inbox-body .empty-state{flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:48px 20px;display:flex}.notif-inbox-foot{border-top:1px solid var(--line);background:#f7f8fa;flex:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.notif-inbox-foot-note{color:var(--muted);font-size:.78rem;font-weight:600}.notif-bell,.notif-bell-trigger{position:relative}.notif-bell-badge{color:#fff;text-align:center;background:#d94841;border-radius:99px;min-width:16px;height:16px;padding:0 4px;font-size:.62rem;font-style:normal;font-weight:800;line-height:16px;position:absolute;top:-4px;right:-4px;box-shadow:0 0 0 2px #fff}.notif-panel{z-index:40;border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;width:min(360px,100vw - 24px);max-height:min(420px,70vh);display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 32px #10182824}.notif-panel-head,.notif-panel-foot{border-bottom:1px solid var(--line);background:#f7f8fa;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.notif-panel-foot{border-bottom:0;border-top:1px solid var(--line);flex-direction:row;flex:none;justify-content:stretch;align-items:center;gap:6px}.notif-view-all-top{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;align-items:center;gap:2px;padding:5px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.notif-view-all-top:hover{background:#eef1f4;border-color:#d5dce3}.notif-view-all{width:100%;color:var(--ink);font:inherit;cursor:pointer;text-align:left;background:#fff;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:.8rem;font-weight:800;display:flex}.notif-view-all svg{width:16px;height:16px;color:var(--muted);flex:none}.notif-view-all:hover:not(:disabled){background:#eef1f4}.notif-view-all:disabled{opacity:.45;cursor:not-allowed;color:var(--muted);background:#f4f6f8}.notif-panel-head strong{font-size:.9rem}.notif-panel-actions{align-items:center;gap:4px;display:flex}.notif-text-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;padding:4px 6px;font-size:.72rem;font-weight:700;display:inline-flex}.notif-text-btn:hover{color:var(--ink);background:#eef1f4}.notif-text-btn svg{width:14px;height:14px}.notif-panel-body{flex:auto;min-height:0;overflow:auto}.notif-empty{text-align:center;color:var(--muted);margin:0;padding:28px 18px;font-size:.84rem;line-height:1.4}.notif-item{text-align:left;cursor:pointer;width:100%;font:inherit;background:#fff;border:0;border-bottom:1px solid #eef1f4;gap:4px;padding:12px 14px;display:grid}.notif-item:hover{background:#f7f9fb}.notif-item.is-unread{background:#f3f9ff}.notif-item.is-unread:hover{background:#eaf4ff}.notif-item-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:.68rem;display:flex}.notif-item-meta em{color:#3d4f63;text-transform:uppercase;letter-spacing:.04em;font-style:normal;font-weight:800}.notif-item.is-unread .notif-item-meta em{color:#1d6fb8}.notif-item-message{color:var(--ink);font-size:.84rem;line-height:1.35}@media (max-width:760px){.notif-panel{width:auto;max-height:min(70vh,480px);position:fixed;top:56px;left:10px;right:10px}}@keyframes sk-pulse{0%,to{opacity:1}50%{opacity:.5}}.sk-root{width:100%;min-width:0}.sk-bone{background:#e8ecf1;border-radius:6px;height:12px;animation:2s cubic-bezier(.4,0,.6,1) infinite sk-pulse;display:block}.payroll-summary.is-loading .payroll-stat{gap:8px}.payroll-summary.is-loading .payroll-stat-bone{margin:0}@media (prefers-reduced-motion:reduce){.sk-bone{opacity:.7;animation:none}}.sk-person{align-items:center;gap:10px;min-width:0;display:flex}.sk-avatar{border-radius:50%;flex:none;width:32px;height:32px}.sk-person-text{flex:1;gap:6px;min-width:0;display:grid}.sk-table,.sk-list,.sk-decisions,.sk-audit,.sk-board,.sk-cards,.sk-period-list{padding:0}.sk-table-head,.sk-table-row,.sk-list-head,.sk-list-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 16px;display:grid}.sk-table-head,.sk-list-head{background:#f7f8fa;min-height:40px}.sk-table-row,.sk-list-row{min-height:52px}.sk-table.is-dense .sk-table-row{min-height:44px;padding-top:10px;padding-bottom:10px}.sk-table-th{height:10px}.sk-decision-group{padding-bottom:4px}.sk-date-chip{border-radius:999px;width:110px;height:22px;margin:12px 16px 4px}.sk-audit{gap:0;padding:4px 0;display:grid}.sk-audit-row{border-bottom:1px solid var(--line);gap:8px;padding:14px 16px;display:grid}.sk-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;width:100%;display:grid}.sk-card{border:1px solid var(--border,#e3e6eb);background:#fff;border-radius:8px;align-content:start;gap:8px;min-width:0;padding:12px 14px;display:grid}.sk-card.is-highlight{background:#eef4ff;border-color:#c3d4f5;box-shadow:inset 3px 0 #5b8def}@media (max-width:1200px){.sk-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.sk-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.sk-cards{grid-template-columns:1fr}}.sk-period-list{gap:12px;padding:12px 0 4px;display:grid}.sk-period-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(160px,.9fr) minmax(220px,1.4fr) minmax(160px,.9fr);align-items:start;gap:16px;padding:16px 18px;display:grid}.sk-board{flex:1;min-height:0;overflow:hidden}.sk-board-scroll{max-height:100%;overflow:auto}.sk-board-head,.sk-board-row{border-bottom:1px solid var(--line);align-items:center;gap:6px;min-width:max-content;padding:10px 12px;display:grid}.sk-board-head{z-index:1;background:#f7f8fa;position:sticky;top:0}.sk-board-day{justify-items:center;display:grid}.sk-board-cell{border-radius:6px;height:36px}@media (max-width:900px){.sk-period-card{grid-template-columns:1fr}}.board-bar.person-board-bar{align-items:flex-start}.board-bar-tabs{flex:none;margin-left:auto}.board-bar-tabs .ops-tabs.board-tabs{justify-content:flex-end}.person-board-header{flex-wrap:wrap;flex:auto;align-items:center;gap:10px 14px;min-width:0;display:flex}.person-board-header .board-month-switch{justify-self:auto}.person-board-header .span-switch{margin-left:auto}.person-board-body{background:0 0;border:0;border-radius:0;flex-direction:column;min-width:0;min-height:0;padding:0;display:flex;overflow:hidden}.person-board-body .my-month{flex-direction:column;flex:1;gap:0;min-height:0;display:flex}.person-board-body .person-month-calendar-wrap.is-board,.person-board-body .person-attendance-feed.is-board{border:1px solid var(--line);background:#fff;border-radius:8px;flex:1;min-height:0;margin:0;overflow:auto}.person-board-body .person-month-calendar-wrap.is-board{border-radius:8px}.person-board-body .person-cal-day{min-height:104px}.person-board-body .person-attendance-feed.is-board .decision-board{background:0 0;border:0;border-radius:0;margin:0;overflow:visible}.person-board-body .person-attendance-feed.is-board .decision-board-head{z-index:2;position:sticky;top:0}.person-attendance-board .decision-board-body{padding:0!important}.person-attendance-board .person-attendance-head,.person-attendance-board .person-attendance-row{box-sizing:border-box;width:100%;border:0!important;align-items:stretch!important;gap:0!important;margin:0!important;padding:0!important}.person-attendance-board .person-attendance-head>span,.person-attendance-board .person-attendance-row>span{box-sizing:border-box;border-bottom:1px solid #e6eaee;flex-direction:column;justify-content:center;align-self:stretch;align-items:flex-start;gap:2px;min-width:0;padding:12px 14px;display:flex}.person-attendance-board .person-attendance-head>span:not(:first-child),.person-attendance-board .person-attendance-row>span:not(:first-child){border-left:1px solid #e6eaee}@media (max-width:900px){.person-attendance-feed,.person-attendance-feed.is-board,.person-attendance-feed .request-table,.person-attendance-board,.person-attendance-board .decision-board-body,.person-attendance-board .decision-day{min-width:0;max-width:100%;overflow-x:hidden}.person-attendance-board .person-attendance-head{display:none}.person-attendance-board .person-attendance-head,.person-attendance-board .person-attendance-row,.person-attendance-board .request-row.pay-head{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0!important}.person-attendance-board .person-attendance-row{border-bottom:1px solid #e6eaee!important}.person-attendance-board .person-attendance-row>span{border-bottom:0;padding:10px 12px;border-left:0!important}.person-attendance-board .person-attendance-row>span:nth-child(5),.person-attendance-board .person-attendance-row>span:nth-child(6){border-top:1px solid #eef1f4}.person-attendance-board .person-attendance-row .cell-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;font-size:.65rem;font-weight:800;display:block}.person-attendance-board .decision-date-sep{justify-content:flex-start;padding:8px 12px}.person-attendance-board .decision-date-sep span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;overflow:hidden}.person-attendance-board .waiting-pill,.person-attendance-board .approved-pill,.person-attendance-board .rejected-pill,.person-attendance-board .ot-pill{font-size:.68rem}}@media (max-width:430px){.person-attendance-board .person-attendance-row,.person-attendance-board .request-row.pay-head{grid-template-columns:1fr!important}.person-attendance-board .person-attendance-row>span:nth-child(n+2),.person-attendance-board .person-attendance-row>span:nth-child(5),.person-attendance-board .person-attendance-row>span:nth-child(6){border-top:1px solid #eef1f4}}.content-area>.history-board>.person-board-body,.content-area>.history-board>.person-board-body>.my-month{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.content-area>.history-board>.person-board-body .person-month-calendar-wrap.is-board{border:1px solid var(--line);background:#fff;border-radius:8px;flex:1 1 0;width:100%;min-height:0;margin:0;overflow:auto}.content-area>.history-board>.person-board-body .person-attendance-feed.is-board{border:1px solid var(--line);background:#fff;border-radius:8px 8px 0 0;flex:1 1 0;width:100%;min-height:0;margin:0;overflow:auto}.content-area>.history-board>.person-board-body .list-pager{border:1px solid var(--line);background:#fff;border-top:0;border-radius:0 0 8px 8px;flex:none}.person-full-grid{width:max-content;min-width:100%}.person-full-grid tbody th,.person-full-grid tbody td{height:1px}.person-full-grid .history-cell{width:100%;height:100%;min-height:140px}@media (max-width:760px){.my-month{gap:10px}.person-month-calendar-wrap{-webkit-overflow-scrolling:touch}.person-month-calendar{width:100%;min-width:0}.person-cal-weekday{padding:8px 2px;font-size:.65rem}.person-cal-day{gap:2px;min-height:72px;padding:6px 4px;font-size:.65rem}.person-cal-number{font-size:.72rem}.person-cal-content{gap:1px}.person-cal-content strong{font-size:.62rem}.person-cal-content>span:not(.person-cal-work),.person-cal-content>em{display:none}.person-cal-work{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.person-board-body .person-cal-day{min-height:72px}.person-cal-day.is-today{box-shadow:inset 1px 0 0 var(--orange), inset -1px 0 0 var(--orange)}.content-area>.history-board>.person-board-body .person-month-calendar-wrap.is-board{overflow:auto}}@media (max-width:430px){.person-cal-day{min-height:64px;padding:5px 3px}.person-cal-content strong,.person-cal-work{font-size:.58rem}.stat-card .section-label{font-size:.65rem}}
