:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#18212f;--muted:#5f6b7a;--line:#d9e1e8;--surface:#fff;--surface-alt:#f3f7f8;--nav:#0f2a3d;--nav-soft:#173b55;--teal:#0f8b8d;--teal-dark:#0b6466;--blue:#2d6cdf;--amber:#b7791f;--red:#b42318;--green:#1f7a4d;--coral:#d65f3d;--shadow:0 14px 45px #18212f14}*{box-sizing:border-box}html,body{background:var(--surface-alt);width:100%;min-height:100%;color:var(--ink);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
.app-shell{grid-template-columns:264px minmax(0,1fr);width:100%;min-height:100vh;display:grid;overflow-x:hidden}.sidebar{background:var(--nav);color:#eef8fb;flex-direction:column;gap:22px;min-width:0;padding:24px 18px;display:flex}.brand{align-items:center;gap:12px;min-width:0;min-height:44px;display:flex}.mobile-brand-logout{display:none}.brand-mark{width:40px;height:40px;color:var(--teal-dark);background:#e9faf7;border-radius:8px;place-items:center;font-weight:800;display:grid}.brand-title{white-space:nowrap;font-size:1rem;font-weight:700;line-height:1.2}.brand-subtitle{color:#b8cbd4;font-size:.78rem}.profile-trigger{color:#b8cbd4;text-align:left;background:0 0;border:0;align-items:center;gap:4px;max-width:160px;padding:0;font-size:.78rem;display:flex}.profile-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.profile-trigger:hover{color:#fff}.profile-menu{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;gap:8px;padding:12px;display:grid}.profile-menu strong,.profile-menu span{text-overflow:ellipsis;min-width:0;overflow:hidden}.profile-menu span{color:#b8cbd4;font-size:.78rem}.profile-menu .button{justify-content:center;width:100%}
.profile-tabs-layout{gap:14px}.profile-tabs,.profile-tab-panel{min-width:0}.profile-overview-card,.profile-preferences-card{grid-column:span 2}.profile-summary{align-items:center;gap:14px;margin-bottom:16px;display:flex}.profile-summary h3{margin:0 0 4px}.inline-name{flex-wrap:wrap;gap:6px;margin:0 0 4px;display:inline-flex}.inline-name strong{font-size:inherit}.profile-summary p{color:var(--muted);margin:0}.profile-schedule-card,.profile-payslips-card{grid-column:span 2}.profile-payslip-list{gap:8px;display:grid}.profile-payslip-row{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.profile-payslip-row div{gap:3px;display:grid}.profile-payslip-row span,.profile-payslip-row small{color:var(--muted)}.profile-actions{justify-content:flex-end;margin-top:14px;display:flex}
.support-drawer{z-index:20;border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:14px;width:min(380px,100vw - 28px);max-height:calc(100vh - 28px);padding:16px;display:grid;position:absolute;top:14px;left:14px;overflow:auto;box-shadow:0 18px 44px #0f172a29}.support-drawer-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.support-drawer-header h2,.support-recent h3{color:var(--ink);margin:0}.support-drawer-header h2{font-size:1.18rem;line-height:1.15}.support-recent h3{font-size:1rem}.support-drawer-header p{color:var(--muted);margin:4px 0 0;font-size:.86rem;line-height:1.35}.support-drawer .icon-button{border:1px solid var(--line);background:var(--surface-alt);width:34px;height:34px;min-height:34px;color:var(--ink);border-radius:8px;flex:none;place-items:center;display:inline-grid}.support-drawer .icon-button:hover{background:#e8eef3}.support-form,.support-recent-list,.support-admin-list,.support-ticket-admin-form{gap:10px;display:grid}.support-drawer .field{gap:5px}.support-drawer .field label,.support-drawer .field>span{font-size:.76rem}.support-drawer .field input,.support-drawer .field select,.support-drawer .field textarea{min-height:38px;padding:8px 10px;font-size:.9rem;line-height:1.35}.support-drawer .field textarea{min-height:104px}.support-drawer .button{justify-content:center;min-height:42px}.support-drawer .muted-text,.support-recent .empty{font-size:.84rem;line-height:1.35}.support-ticket-mini,.support-admin-ticket{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;gap:10px;padding:12px;display:grid}@media (max-width:640px){.support-drawer{width:auto;max-height:min(78vh,640px);padding:14px;position:fixed;inset:auto 10px 10px}}.support-ticket-mini{grid-template-columns:minmax(0,1fr) auto;align-items:start}.support-ticket-mini strong,.support-admin-ticket strong{overflow-wrap:anywhere;display:block}.support-ticket-mini span{color:var(--muted);font-size:.82rem}.support-ticket-mini p{color:var(--muted);grid-column:1/-1;margin:0}.support-admin-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.support-admin-ticket-head{justify-content:space-between;gap:16px;display:flex}.support-admin-ticket-head p,.support-admin-ticket>p{color:var(--muted);margin:0}.support-admin-badges{flex-wrap:wrap;justify-content:flex-end;align-items:start;gap:8px;display:flex}.support-ticket-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.support-ticket-meta div{min-width:0}.support-ticket-meta dt{color:var(--muted);font-size:.78rem}.support-ticket-meta dd{overflow-wrap:anywhere;margin:2px 0 0}
.employee-detail-tabs{gap:14px;width:100%;display:grid}.employee-detail-tabs .tabs{border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;width:fit-content;padding:4px;display:inline-flex}.employee-detail-tabs .tabs button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0 14px;font-weight:800}.employee-detail-tabs .tabs button.active,.employee-detail-tabs .tabs button:hover{background:var(--teal);color:#fff}.employee-detail-card{width:100%;max-width:none}.schedule-meta{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.schedule-meta span{color:var(--muted);background:#eef5f8;border-radius:999px;padding:6px 10px;font-size:.8rem;font-weight:700}.schedule-week{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.schedule-day{border:1px solid var(--line);background:#fbfdfd;border-radius:8px;align-content:center;gap:5px;min-height:94px;padding:12px;display:grid}.schedule-day-button{width:100%;color:inherit;text-align:left;cursor:pointer}.schedule-day-button:disabled{cursor:default}.schedule-day-button:not(:disabled):hover{border-color:var(--teal);box-shadow:0 0 0 2px #0f8b8d1f}.schedule-day span,.schedule-day small{color:var(--muted);font-size:.78rem;font-weight:700}.schedule-day strong{font-size:.96rem}.schedule-day.rest{background:#f5f7f8}.inline-editable-value,.inline-editable-row,.inline-editable-pill,.inline-editable-schedule{cursor:text}.inline-editable-row:hover,.inline-editing-row,.inline-editable-value:hover,.inline-editable-pill:hover,.inline-editable-schedule:hover{outline-offset:2px;outline:2px solid #0f8b8d29}.inline-edit-control,.schedule-day-editing input,.schedule-day-editing select{border:1px solid var(--teal);min-width:0;color:var(--ink);background:#fff;border-radius:8px;padding:7px 8px;font-weight:700}.detail-list .inline-edit-control{text-align:right;justify-self:end;max-width:240px}.inline-schedule-heading{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.inline-schedule-heading strong{color:var(--muted);font-weight:600}.schedule-day-editing{align-content:center;gap:7px;min-height:94px}.schedule-day-editing select,.schedule-day-editing input{width:100%;min-height:30px;padding:5px 6px;font-size:.82rem}.schedule-time-pair{grid-template-columns:1fr 1fr;gap:6px;display:grid}.schedule-edit-header,.compact-break-field{justify-content:space-between;align-items:center;gap:8px;display:flex}.schedule-edit-header .checkbox-row{font-size:.74rem}.schedule-edit-header .checkbox-row input{width:14px;height:14px}.compact-break-field span{color:var(--muted);font-size:.74rem;font-weight:700}.compact-break-field input{max-width:76px}.compact-schedule-week{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.detail-list{gap:10px;display:grid}.detail-list div{background:#eef5f8;border-radius:8px;justify-content:space-between;gap:14px;padding:12px;display:flex}.detail-list span{color:var(--muted)}.detail-list strong{text-align:right}.editable-detail-row{cursor:text}.editable-detail-row:hover{outline-offset:2px;outline:2px solid #0f8b8d29}.detail-inline-control{border:1px solid var(--teal);width:min(360px,56%);min-height:34px;color:var(--ink);text-align:right;background:#fff;border-radius:8px;padding:6px 8px;font-weight:800}
.nav-list{gap:6px;display:grid}.sidebar-support{border-top:1px solid #ffffff1f;margin-top:auto;padding-top:12px}.nav-item{color:#dcecf1;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;min-width:0;padding:10px 12px;display:flex}.nav-item.active,.nav-item:hover{background:var(--nav-soft);color:#fff}.support-nav-item{cursor:pointer}.main{flex-direction:column;min-width:0;display:flex;position:relative}.topbar{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-width:0;min-height:66px;padding:10px 28px;display:flex}.topbar-title-group{align-items:center;gap:8px;min-width:0;display:flex}.topbar h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:1.28rem;line-height:1.15;overflow:hidden}.topbar .actions{flex-wrap:nowrap;justify-content:flex-end}.topbar-info{width:34px;height:34px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.topbar-info:hover,.topbar-info:focus-visible{border-color:var(--line);background:var(--surface-alt);color:var(--ink)}.content{gap:18px;min-width:0;padding:28px;display:grid}.grid{gap:16px;min-width:0;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.attendance-workspace{gap:18px;display:grid}.attendance-review-list{gap:10px;display:grid}.attendance-review-item{border:1px solid var(--line);background:#fbfdfd;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.attendance-review-item strong,.attendance-review-item span{display:block}.attendance-review-item span,.attendance-review-meta span{color:var(--muted);font-size:.84rem}.attendance-review-meta{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.attendance-review-meta>span:not(.badge){background:#eef5f8;border-radius:999px;padding:5px 8px;font-weight:700}.attendance-review-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.attendance-review-actions .button{min-height:32px;padding:0 10px;font-size:.82rem}.attendance-review-note{color:var(--muted);align-self:center;margin-right:auto;font-size:.84rem;font-weight:700}.clock-event-review-actions{border:0;justify-content:flex-start;margin:0 0 12px;padding:0}.clock-event-row-actions{justify-content:flex-start}.punch-review-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;margin:2px 0 12px;padding-bottom:8px;display:inline-flex}.punch-review-tabs button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--muted);border-radius:8px;padding:0 12px;font-weight:850}.punch-review-tabs button.active{border-color:var(--teal);background:var(--teal);color:#fff}.punch-timeline-list{gap:7px;display:grid}.attendance-punch-review-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:12px;display:grid}.attendance-punch-review-grid>*{min-width:0}.punch-timeline-row{border:1px solid var(--line);width:100%;min-width:0;min-height:58px;color:var(--ink);text-align:left;background:#fbfdfd;border-radius:8px;grid-template-columns:minmax(260px,1.1fr) minmax(120px,.55fr) minmax(150px,.8fr);align-items:center;gap:10px;padding:9px 12px;display:grid}.punch-timeline-row.editable{cursor:pointer}.punch-timeline-row.editable:hover,.punch-timeline-row.editable:focus-visible{border-color:var(--teal);box-shadow:0 0 0 3px #0f8b8d21}.punch-timeline-primary{grid-template-columns:82px minmax(0,1fr) minmax(46px,auto);align-items:start;gap:7px;min-width:0;display:grid}.punch-timeline-primary>*{min-width:0}.punch-timeline-primary time,.punch-timeline-primary strong{color:var(--ink);font-weight:900}.punch-timeline-primary time{white-space:nowrap}.punch-timeline-primary strong{overflow-wrap:anywhere;line-height:1.16}.punch-timeline-primary span,.punch-timeline-meaning{color:var(--muted);min-width:0;font-weight:750;line-height:1.16}.punch-timeline-primary span{white-space:nowrap;justify-self:start}.punch-timeline-chips{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;min-width:0;display:flex}.punch-timeline-chips .clock-event-review-chip{color:var(--muted);white-space:nowrap;background:#eef5f8;border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:850}.punch-timeline-chips .clock-event-review-chip.manual{color:#3653a4;background:#e9f0ff}.punch-timeline-chips .clock-event-review-chip.duplicate,.punch-timeline-chips .clock-event-review-chip.review{color:#9a6500;background:#fff3d8}.punch-timeline-chips .clock-event-review-chip.ignored{color:#5b6675;background:#edf3f6}.attendance-punch-ring-view{border:1px solid var(--line);background:#fbfdfd;border-radius:8px;grid-template-columns:1fr;align-items:center;gap:10px;padding:14px 10px 10px;display:grid;position:sticky;top:12px}.attendance-punch-ring{aspect-ratio:1;background:var(--surface);border-radius:50%;justify-self:center;place-items:center;width:162px;display:grid;position:relative}.attendance-punch-ring .workday-ring-center{width:92px}.attendance-punch-ring .workday-ring-center strong{max-width:78px;font-size:1.06rem}.attendance-punch-ring .workday-ring-center small{font-size:.62rem}.attendance-punch-ring-summary{gap:10px;display:grid}.punch-ring-legend{grid-template-columns:1fr;gap:6px;display:grid}.punch-ring-legend span{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;align-items:center;gap:7px;padding:7px 9px;font-size:.9rem;font-weight:750;display:flex}.punch-ring-legend strong{color:var(--ink)}.attendance-punch-map-view{grid-template-columns:minmax(260px,1fr) minmax(220px,.65fr);gap:12px;display:grid}.attendance-punch-map-plot{border:1px solid var(--line);background:#dbe7ec;border-radius:8px;min-height:420px;position:relative;overflow:hidden}.attendance-punch-map-tile{-webkit-user-select:none;user-select:none;pointer-events:none;width:256px;height:256px;position:absolute}.punch-map-pin{aspect-ratio:1;background:var(--teal);color:#fff;width:34px;font:inherit;z-index:2;border:2px solid #fff;border-radius:999px;place-items:center;padding:0;font-size:.62rem;font-weight:950;transition:opacity .14s,box-shadow .14s,transform .14s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 24px #1118272e}.punch-map-pin.dimmed{opacity:.58}.punch-map-pin.active,.punch-map-pin:focus-visible{z-index:6;outline:0;transform:translate(-50%,-50%)scale(1.22);box-shadow:0 0 0 4px #0f8b8d38,0 14px 34px #11182747}.punch-map-pin.active:after,.punch-map-pin:focus-visible:after{content:attr(data-label);border:1px solid var(--line);background:var(--surface);width:max-content;max-width:210px;color:var(--ink);white-space:normal;pointer-events:none;border-radius:8px;padding:5px 8px;font-size:.66rem;font-weight:900;line-height:1.15;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 26px #11182724}.attendance-punch-map-attribution{color:var(--muted);background:#ffffffdb;border-radius:4px;padding:2px 5px;font-size:.62rem;font-weight:750;position:absolute;bottom:6px;right:8px}.punch-map-pin.break-start,.punch-map-pin.break-end{background:#7f6fd6}.punch-map-pin.clock-out{background:#0f5f67}.punch-map-pin.warning{background:#b45309}.attendance-punch-map-list,.attendance-punch-map-empty{align-content:start;gap:8px;display:grid}.attendance-punch-map-list-item,.attendance-punch-map-list>span{border:1px solid var(--line);color:var(--muted);text-align:left;background:#fbfdfd;border-radius:8px;gap:3px;padding:9px 10px;font-weight:750;display:grid}.attendance-punch-map-list-item{appearance:none;cursor:pointer;width:100%;font:inherit;transition:background .14s,border-color .14s,box-shadow .14s}.attendance-punch-map-list-item.active,.attendance-punch-map-list-item:hover,.attendance-punch-map-list-item:focus-visible{border-color:var(--teal);background:#f1fbfb;outline:0;box-shadow:0 0 0 3px #0f8b8d21}.attendance-punch-map-list strong{color:var(--ink)}.event-review-helper{color:var(--muted);margin:6px 0 0;font-size:.82rem}.attendance-review-meta .clock-event-review-chip{color:var(--muted)}.attendance-review-meta .clock-event-review-chip.used{color:#16724a;background:#e4f6ee}.attendance-review-meta .clock-event-review-chip.duplicate,.attendance-review-meta .clock-event-review-chip.review{color:#9a6500;background:#fff3d8}.attendance-review-meta .clock-event-review-chip.ignored{color:#5b6675;background:#edf3f6}.attendance-review-meta .clock-event-review-chip.manual{color:#3653a4;background:#e9f0ff}.attendance-ledger-controls{grid-template-columns:minmax(220px,1fr) minmax(150px,220px);gap:12px;margin-bottom:14px;display:grid}.table-actions{flex-wrap:wrap;gap:6px;display:flex}.table-actions .button{min-height:30px;padding:0 9px;font-size:.78rem}.attendance-detail-panel{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:14px 0 0;padding:14px 0 0;display:grid}.attendance-detail-field{color:var(--ink);background:#f7fafb;border:1px solid #e6eef2;border-radius:8px;padding:10px 12px}.attendance-detail-field dt{color:var(--muted);text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:800}.attendance-detail-field dd{margin:0;font-size:1rem;font-weight:800}.attendance-detail-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:14px;display:flex}.attendance-detail-actions .button{min-height:34px;padding:0 11px;font-size:.84rem}.attendance-detail-actions .attendance-payroll-approve-button{margin-right:auto}.attendance-photo-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.attendance-photo-card{gap:7px;display:grid}.attendance-photo-card img,.attendance-photo-card .photo-placeholder{aspect-ratio:4/3;border:1px solid var(--line);object-fit:cover;background:#eef5f8;border-radius:8px;width:100%}.attendance-photo-card span,.attendance-photo-card small{color:var(--muted);overflow-wrap:anywhere;font-size:.78rem}
.modal-backdrop{z-index:90;background:#07141c8a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:#fff;border-radius:8px;width:min(560px,100%);padding:22px;box-shadow:0 24px 70px #0a1f2a47}.modal-card-wide{width:min(760px,100%)}.modal-card-payslip{grid-template-rows:auto minmax(0,1fr);width:min(1320px,100vw - 36px);max-height:min(92vh,980px);display:grid}.modal-card-register{grid-template-rows:auto minmax(0,1fr);width:min(980px,100%);max-height:min(92vh,980px);display:grid}.modal-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;padding-bottom:14px;display:flex}.modal-heading h2{margin:0 0 4px;font-size:1.18rem}.modal-heading p{color:var(--muted);margin:0;font-size:.9rem}.modal-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.action-choice-list{gap:10px;margin-bottom:16px;display:grid}.action-choice{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fbfdfd;border-radius:8px;width:100%;padding:12px}.action-choice strong,.action-choice span{display:block}.action-choice span{color:var(--muted);margin-top:4px;font-weight:600}.action-choice:disabled{cursor:not-allowed;opacity:.55}
.platform-grid{align-items:start}.platform-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.platform-sidebar-panel,.platform-workspace{min-width:0}.platform-company-list{gap:8px;display:grid}.platform-create-toggle{width:100%;margin:4px 0 10px}.platform-create-company{margin:0}.company-list-item{border:1px solid var(--line);width:100%;min-width:0;min-height:58px;color:var(--ink);text-align:left;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.company-list-item.active,.company-list-item:hover{border-color:var(--teal);background:#f0fbfa}.company-list-item span{gap:2px;min-width:0;display:grid}.company-list-item strong,.company-list-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.company-list-item small{color:var(--muted);font-size:.78rem}.platform-tabs{scrollbar-width:none;gap:8px;padding:14px 0;display:flex;overflow-x:auto}.row-action-menu{justify-content:flex-end;display:inline-flex;position:relative}.platform-user-list{border:1px solid var(--line);background:#fff;border-radius:8px;position:relative}.platform-user-list-head,.platform-user-row{grid-template-columns:minmax(180px,1.25fr) minmax(150px,1fr) minmax(90px,.45fr) 56px;align-items:center;gap:14px;padding:12px;display:grid}.platform-user-list-head{border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.platform-user-row{min-height:72px;position:relative}.platform-user-row+.platform-user-row{border-top:1px solid var(--line)}.platform-user-row>div{min-width:0}.platform-user-row strong,.platform-user-row .muted-text{overflow-wrap:anywhere}.platform-user-row .table-action-cell{justify-self:end}.row-action-popover{z-index:40;border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;min-width:190px;padding:6px;display:grid;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 18px 42px #0a1f2a2e}.row-action-popover button{width:100%;min-height:38px;color:var(--ink);font:inherit;text-align:left;background:#fff;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 10px;font-weight:700;display:flex}.row-action-popover button:hover{background:#f4f8fa}.row-action-popover button.danger{color:var(--red)}.platform-tabs::-webkit-scrollbar{display:none}.platform-tabs button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;flex:none;min-height:36px;padding:0 12px;font-weight:700}.platform-tabs button.active,.platform-tabs button:hover{color:#fff;background:var(--teal);border-color:var(--teal)}.section-tabs{flex-wrap:wrap;gap:8px;display:flex}.section-tabs button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;min-height:36px;padding:0 12px;font-weight:700}.section-tabs button.active,.section-tabs button:hover{color:#fff;background:var(--teal);border-color:var(--teal)}.platform-section{border:1px solid var(--line);background:#fbfdfe;border-radius:8px;min-width:0;padding:14px}.platform-section h3{margin:0 0 12px;font-size:.95rem}.platform-wide{grid-column:1/-1}
.card{background:var(--surface);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);border-radius:8px;padding:18px}.card h2,.card h3{margin:0 0 12px;font-size:1rem}.clock-screen{place-items:start center;min-height:calc(100vh - 132px);display:grid}.clock-card{background:var(--surface);border:1px solid var(--line);width:min(100%,700px);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:22px;display:grid}.clock-card>*,.clock-card .field,.clock-card select,.clock-photo-compact,.workday-progress{min-width:0;max-width:100%}.clock-card select{width:100%}.clock-person{align-items:center;gap:14px;min-width:0;display:flex}.clock-avatar{width:58px;height:58px;color:var(--teal-dark);background:#e9faf7;border-radius:8px;flex:none;place-items:center;font-size:1.15rem;font-weight:800;display:grid}.clock-person h2{overflow-wrap:anywhere;margin:0;font-size:1.35rem}.clock-person p{color:var(--muted);margin:3px 0 0;font-size:.9rem}.clock-identity-compact{width:fit-content;max-width:100%;color:var(--muted);font-size:.9rem;font-weight:800}.clock-requirements{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.clock-requirement,.clock-status-card{border:1px solid var(--line);border-radius:8px;min-height:46px;padding:10px 12px}.clock-requirement{color:var(--muted);align-items:center;gap:9px;font-size:.86rem;font-weight:700;display:flex}.clock-status-card{gap:3px;display:grid}.clock-status-card span,.clock-status-card small{color:var(--muted);font-size:.78rem;font-weight:700}.clock-status-card strong{font-size:1rem}.workday-progress{border:1px solid var(--line);background:#fbfdfd;border-radius:8px;gap:14px;padding:16px;display:grid}.current-workday-card{background:linear-gradient(#fff 0%,#f8fbfc 100%)}.current-workday-main{gap:14px;display:grid}.clock-action-panel,.workday-state-row{gap:14px;min-width:0;display:grid}.clock-action-panel.with-verification{grid-template-columns:minmax(190px,220px) minmax(0,1fr);align-items:start;gap:14px 18px}.clock-action-copy,.clock-action-submit{gap:12px;min-width:0;display:grid}.clock-action-panel.with-verification .clock-action-submit{grid-column:2}.clock-action-panel.with-verification .clock-action-copy{grid-area:1/2}.clock-action-panel.with-verification .clock-verification-card{grid-area:1/1/span 2}.workday-state-copy{gap:5px;display:grid}.workday-state-copy span,.workday-progress-grid{color:var(--muted)}.workday-state-copy span,.workday-progress-grid strong{text-transform:uppercase;font-size:.76rem;font-weight:800;display:block}.workday-state-copy h3{max-width:none;margin:0;font-size:clamp(1.28rem,1.8vw,1.55rem);line-height:1.14}.workday-state-copy p{color:var(--muted);margin:0;font-size:.94rem;font-weight:700}.clock-location-alert{color:#825713;background:#fff8eb;border:1px solid #efcf92;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;min-width:0;padding:10px 12px;display:grid}.clock-location-alert.sequence{background:#fff7e8;border-color:#ead2a4}.clock-location-alert svg{color:#a36a08;margin-top:1px}.clock-location-alert strong,.clock-location-alert span{display:block}.clock-location-alert strong{color:#70460a;font-size:.86rem;font-weight:850}.clock-location-alert span{color:#855d1b;margin-top:2px;font-size:.8rem;font-weight:700;line-height:1.25}.clock-action-helper{color:var(--muted);margin:0;font-size:.78rem;font-weight:700;line-height:1.35}.clock-copy-mobile,.clock-location-alert .clock-copy-mobile,.clock-action-helper .clock-copy-mobile{display:none}.clock-verification-card{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;gap:9px;min-width:0;padding:10px;display:grid}.clock-verification-heading{color:var(--muted);text-transform:uppercase;align-items:center;gap:6px;font-size:.74rem;font-weight:850;display:flex}.clock-verification-status{gap:5px;display:grid}.clock-verification-status span{border:1px solid var(--line);background:var(--surface);width:fit-content;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:.74rem;font-weight:850;display:inline-flex}.clock-verification-status small{color:var(--muted);font-size:.74rem;font-weight:700}.status-badge{color:#116c66;background:#eaf8f5;border:1px solid #bfe1dc;border-radius:999px;align-items:center;width:fit-content;min-height:28px;padding:4px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.status-warning,.chip-warning{color:#8a5b12!important;background:#fff7e8!important;border-color:#ead2a4!important}.workday-ring-panel{grid-template-columns:minmax(170px,190px) minmax(0,1fr);align-items:center;gap:20px;min-width:0;display:grid}.workday-photo-panel{grid-column:1/-1;gap:10px;min-width:0;display:grid}.workday-progress-grid{grid-template-columns:repeat(2,minmax(130px,1fr));gap:10px 16px;min-width:0;display:grid}.workday-ring{aspect-ratio:1;background:var(--surface);border-radius:50%;justify-self:center;place-items:center;width:190px;display:grid;position:relative}.workday-ring.muted{opacity:.82;width:168px}.workday-ring-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.workday-ring-track,.workday-ring-segment,.workday-ring-overtime{fill:none;stroke-linecap:butt}.workday-ring-track{stroke:#edf3f6;stroke-width:12px}.workday-ring-segment{stroke-width:12px;cursor:default;pointer-events:stroke}.workday-ring-overtime{stroke:#b42318;stroke-width:4px;cursor:default;pointer-events:stroke}.workday-ring-center{aspect-ratio:1;z-index:1;background:var(--surface);text-align:center;width:112px;box-shadow:0 0 0 1px var(--line);border-radius:50%;align-content:center;place-items:center;display:grid;position:relative}.workday-ring-center strong{max-width:88px;font-size:1.22rem;line-height:1.1}.workday-ring-center small{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:800}.workday-progress-grid span{min-width:0;min-height:0;color:var(--ink);white-space:nowrap;padding:2px 0 2px 24px;font-size:1.05rem;font-weight:800;line-height:1.15;position:relative}.workday-summary-strip{border-top:1px solid var(--line);align-content:center;gap:10px;min-width:0;padding-top:14px;display:grid}.workday-summary-title{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:800}.workday-summary-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;display:grid}.workday-summary-item{border:1px solid var(--line);min-width:0;min-height:58px;color:var(--ink);background:#f8fbfc;border-radius:8px;align-content:center;gap:3px;padding:10px 12px 10px 32px;line-height:1.1;display:grid;position:relative}.workday-summary-label{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.workday-summary-item strong{color:var(--ink);font-size:1.05rem;font-weight:850}.workday-summary-item .legend-dot{top:50%;left:10px;transform:translateY(-50%)}.workday-progress p{color:var(--muted);margin:0;font-size:.86rem;font-weight:700}.workday-footer-chips{flex-wrap:wrap;gap:8px;display:flex}.workday-footer-chips span{border:1px solid var(--line);min-height:30px;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.legend-dot{background:#dbe6ee;border-radius:50%;width:12px;height:12px;position:absolute;top:8px;left:0}.legend-worked{background:var(--teal)}.legend-break{background:#7f6fd6}.legend-late{background:#d99a00}.legend-excused{background:#46a176}.legend-discounted{background:#83a7b7}.legend-remaining{background:#dbe6ee}.legend-expected{background:#83a7b7}.legend-overtime{background:#b42318}.clock-photo,.clock-photo-compact{gap:8px;display:grid}.clock-photo-evidence{padding-top:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.camera-button{justify-content:center;width:100%}.workday-photo-panel .photo-proof-row{background:var(--surface)}.photo-proof-row{border:1px solid var(--line);min-height:44px;color:var(--muted);background:#f8fbfc;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.photo-proof-row img{object-fit:cover;border-radius:6px;width:34px;height:34px}.photo-proof-row strong,.photo-proof-row span{display:block}.photo-proof-row strong{color:var(--ink);font-size:.86rem}.photo-proof-row span{font-size:.78rem;font-weight:700}.compact-button{min-height:32px;padding:5px 9px}.photo-proof-actions{align-items:center;gap:8px;display:inline-flex}.photo-placeholder,.photo-preview,.camera-capture{border:1px dashed var(--line);background:#f8fbfc;border-radius:8px;width:100%}.photo-placeholder{min-height:58px;color:var(--muted);justify-content:center;align-items:center;gap:8px;font-weight:700;display:flex}.photo-preview{gap:10px;min-height:172px;padding:10px;display:grid}.photo-preview img{object-fit:cover;border-radius:8px;width:100%;max-height:260px}.embedded-camera{min-height:0}.embedded-camera video{max-height:280px}.camera-hint{color:var(--muted);text-align:center;font-size:.82rem;font-weight:700}

.camera-capture{gap:10px;min-height:172px;padding:10px;display:grid}.camera-capture video{object-fit:cover;background:#101820;border-radius:8px;width:100%;max-height:320px}.clock-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.clock-action-row{grid-template-columns:auto;justify-content:end;align-items:end;gap:10px;display:grid}.clock-action-row.with-camera{grid-template-columns:auto auto;align-items:end;gap:12px}.clock-action-buttons{grid-template-columns:minmax(0,1fr) auto;place-content:end stretch;gap:10px;width:100%;display:grid}.clock-button{min-height:54px;font-size:1rem}.clock-button-primary{white-space:nowrap;justify-content:center;width:100%;min-width:0;min-height:60px;font-size:1.08rem}.clock-break-button{white-space:nowrap;min-width:150px;min-height:60px}.clock-mini-camera{background:0 0;border:0;border-radius:8px;align-content:start;gap:6px;width:100%;min-width:0;padding:0;display:grid}.clock-mini-camera.needs-action{border:1px dashed var(--line);background:#f8fbfc;width:100%;padding:8px}.clock-mini-camera-frame{aspect-ratio:4/3;color:#e6f1f2;background:#101820;border-radius:6px;place-items:center;display:grid;position:relative;overflow:hidden}.clock-mini-camera-frame.ready{box-shadow:inset 0 0 0 2px #0f8b8d2e}.clock-mini-camera-frame video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.clock-mini-camera-placeholder{color:#d7e7eb;text-align:center;justify-items:center;gap:6px;padding:8px;font-size:.72rem;font-weight:800;line-height:1.2;display:grid}.clock-mini-camera-close{color:#fff;cursor:pointer;opacity:0;background:#0a181f7a;border:1px solid #ffffffb8;border-radius:999px;place-items:center;width:24px;height:24px;padding:0;transition:opacity .16s,background .16s;display:grid;position:absolute;top:5px;right:5px}.clock-mini-camera:hover .clock-mini-camera-close,.clock-mini-camera:focus-within .clock-mini-camera-close{opacity:1}.clock-mini-camera-close:hover,.clock-mini-camera-close:focus-visible{opacity:1;background:#0a181fc7}.clock-mini-camera-status{min-width:0;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:.72rem;font-weight:800;line-height:1.2;display:flex}.clock-mini-camera-status span{min-width:0}.clock-mini-camera .compact-button{white-space:nowrap;min-height:28px;padding:4px 8px;font-size:.72rem}.clock-mini-camera .message.error{margin:0;padding:6px 8px;font-size:.72rem;line-height:1.25}
.stat{gap:6px;display:grid}.stat-label{color:var(--muted);font-size:.82rem}.stat-value{font-size:1.65rem;font-weight:760}.badge{min-height:24px;color:var(--ink);background:#edf3f7;border-radius:999px;align-items:center;padding:3px 8px;font-size:.76rem;font-weight:700;display:inline-flex}.badge.green{color:var(--green);background:#e6f5ee}.badge.amber{color:var(--amber);background:#fff6df}.badge.red{color:var(--red);background:#fff0ee}.actions{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.branch-filter,.sync-status{min-height:36px;color:var(--muted);align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:inline-flex}.sync-status svg{animation:.75s linear infinite button-spin}.branch-filter select{border:1px solid var(--line);max-width:100%;min-height:36px;color:var(--ink);background:#fff;border-radius:8px;padding:0 10px}.button{background:var(--teal);color:#fff;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:700;display:inline-flex}.button-content{justify-content:center;align-items:center;gap:8px;display:inline-flex}.button-spinner{visibility:hidden;border:2px solid;border-right-color:#0000;border-radius:999px;flex:0 0 14px;width:14px;height:14px;display:inline-block}.button.is-loading .button-spinner{visibility:visible;animation:.75s linear infinite button-spin}@keyframes button-spin{to{transform:rotate(360deg)}}.button.secondary{color:var(--ink);border-color:var(--line);background:#fff}.button.warning{background:var(--coral)}.button.danger{color:#fff;background:#b42318;border-color:#b42318}.button:disabled{opacity:.55;cursor:not-allowed}.icon-button{width:40px;padding:0}
.form-grid{gap:12px;display:grid}.schedule-policy-form{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(240px,1fr) repeat(3,minmax(120px,150px)) auto;align-items:end;gap:12px;padding:12px;display:grid}.field{gap:6px;display:grid}.field label,.field>span{color:var(--muted);font-size:.78rem;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fff;border-radius:8px;padding:9px 10px}.field textarea{resize:vertical;min-height:92px}.section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.section-heading h2{margin:0}.section-heading p{color:var(--muted);margin:4px 0 0;font-size:.88rem;line-height:1.35}
.requests-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:18px;width:min(100%,1180px);margin:0 auto;display:grid}.requests-tabs-layout,.reports-workspace{gap:16px;width:min(100%,1180px);margin:0 auto;display:grid}.report-tabs{align-items:center}.report-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.report-controls input{border:1px solid var(--line);min-height:36px;color:var(--ink);background:#fff;border-radius:8px;padding:0 10px}.report-detail-card{gap:14px;min-height:0;display:grid}.section-tabs button span{color:var(--muted);background:#eef5f8;border-radius:999px;margin-left:6px;padding:2px 7px;font-size:.76rem}.section-tabs button.active span,.section-tabs button:hover span{color:#fff;background:#fff3}.requests-layout.single{grid-template-columns:minmax(0,820px);justify-content:center}.request-compose-card{padding:24px}.request-form{gap:14px}.request-type-panel{display:block}.label-with-info{align-items:center;gap:6px;display:inline-flex}.info-trigger{color:var(--muted);background:0 0;border:0;place-items:center;width:22px;height:22px;padding:0;display:inline-grid;position:relative}.info-trigger:hover,.info-trigger:focus{color:var(--teal);outline:none}.info-tooltip{z-index:30;border:1px solid var(--line);width:min(280px,70vw);color:var(--ink);text-align:left;background:#fff;border-radius:8px;gap:5px;padding:10px 12px;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 18px 40px #0e2a3c29}.info-trigger:hover .info-tooltip,.info-trigger:focus .info-tooltip,.info-trigger:focus-within .info-tooltip{display:grid}.info-tooltip span,.request-checks span{color:var(--muted);font-size:.86rem;line-height:1.35}.request-date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.request-filter-bar{grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;margin-bottom:14px;display:grid}.request-filter-bar label{gap:6px;display:grid}.request-filter-bar span{color:var(--muted);font-size:.78rem;font-weight:700}.request-filter-bar select{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#fff;border-radius:8px;padding:0 10px}.requests-side{gap:18px;display:grid}.request-help-card{background:#fbfdfd}.request-checks{gap:10px;display:grid}.request-checks span{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px;display:block}.attachment-field span{color:var(--muted);font-size:.8rem}.checkbox-row{color:var(--muted);align-items:center;gap:8px;font-size:.86rem;font-weight:700;display:inline-flex}.checkbox-row input{width:16px;height:16px}
.map-picker{gap:10px;min-width:0}.clock-location-card{justify-self:start;width:min(100%,1180px);padding:20px}.clock-location-card>h2{margin-bottom:16px}.clock-location-layout{grid-template-columns:minmax(520px,1fr) minmax(300px,360px);align-items:start;gap:22px;display:grid}.clock-location-form{gap:14px;min-width:0}.clock-location-fields{grid-template-columns:minmax(0,1fr) minmax(220px,.62fr);gap:12px;display:grid}.location-list{border-left:1px solid #e6edf2;align-content:start;gap:10px;min-width:0;min-height:100%;padding-left:20px;display:grid}.location-item{border:1px solid var(--line);background:#fbfdfe;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px;display:grid}.location-item strong{margin-bottom:8px;display:block}.map-toolbar{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding:8px;display:flex}.map-toolbar .button{white-space:nowrap;min-height:36px;padding:0 11px}.map-toolbar .button:not(.icon-button){flex:auto}.map-toolbar .icon-button{flex:0 0 36px;width:36px;min-height:36px;padding:0}.map-canvas{cursor:crosshair;touch-action:manipulation;background:#dbe7ec;border:1px solid #c8d5de;border-radius:8px;width:100%;max-width:none;height:clamp(340px,36vw,470px);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff5c}.map-tile{-webkit-user-select:none;user-select:none;pointer-events:none;width:256px;height:256px;position:absolute}.map-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.map-overlay polygon{fill:#0f8b8d38;stroke:var(--teal);stroke-width:2px}.map-overlay polyline{fill:none;stroke:var(--teal);stroke-width:2px}.map-overlay circle{fill:var(--coral);stroke:#fff;stroke-width:2px}.map-footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.78rem;display:flex}.map-footer span:last-child{text-align:right}.clock-location-form-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.clock-location-form-actions .checkbox-row{min-height:40px}.clock-location-form-actions .button{min-width:220px}.clock-location-empty{min-height:178px;color:var(--muted);text-align:center;background:#fbfdfe;border:1px dashed #c5d4de;border-radius:8px;align-content:center;justify-items:center;gap:10px;padding:24px;display:grid}.clock-location-empty svg{color:var(--teal)}.clock-location-empty p{max-width:240px;margin:0;font-size:.92rem;font-weight:700;line-height:1.35}@media (max-width:1180px){.clock-location-card{width:100%}.clock-location-layout{grid-template-columns:1fr}.location-list{border-top:1px solid #e6edf2;border-left:0;min-height:0;padding-top:16px;padding-left:0}}@media (max-width:720px){.clock-location-card{padding:16px}.clock-location-fields{grid-template-columns:1fr}.map-toolbar .button:not(.icon-button){flex:150px}.map-canvas{height:clamp(300px,52vh,420px)}.map-footer{justify-content:stretch;gap:4px;display:grid}.map-footer span:last-child{text-align:left}.clock-location-form-actions{flex-direction:column;align-items:stretch}.clock-location-form-actions .button{width:100%;min-width:0}}
.table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:740px}.compact-table{table-layout:fixed;min-width:0}.compact-table th,.compact-table td{overflow-wrap:anywhere;padding:10px 9px}.compact-table th:first-child,.compact-table td:first-child{width:22%}.compact-table th:nth-child(2),.compact-table td:nth-child(2),.compact-table th:nth-child(3),.compact-table td:nth-child(3){width:18%}.compact-table th:nth-child(4),.compact-table td:nth-child(4){width:25%}.compact-table th:nth-child(5),.compact-table td:nth-child(5){width:17%}.compact-table .badge{white-space:normal;max-width:100%;line-height:1.15}th,td{border-bottom:1px solid var(--line);text-align:left;padding:11px 12px;font-size:.9rem}th{color:var(--muted);text-transform:uppercase;font-size:.78rem}tr:last-child td{border-bottom:0}.clickable-row{cursor:pointer}.clickable-row:hover,.clickable-row:focus{background:#f0fbfa;outline:none}.login-screen{grid-template-columns:minmax(0,1fr) 420px;min-height:100vh;display:grid}.login-panel{background:var(--surface);align-content:center;padding:44px;display:grid}.login-copy{color:#fff;background:linear-gradient(145deg,#0f2a3d,#0f8b8d 72%,#d65f3d);align-content:center;padding:48px;display:grid}.login-copy h1{max-width:680px;margin:0 0 12px;font-size:2.2rem}.login-copy p{color:#e5f4f4;max-width:640px;line-height:1.6}.message{color:var(--ink);background:#edf3f7;border-radius:8px;padding:10px 12px;font-size:.88rem}.message.error{color:var(--red);background:#fff0ee}.toast-region{z-index:80;pointer-events:none;gap:10px;width:min(420px,100vw - 36px);display:grid;position:fixed;top:18px;right:18px}.toast{color:var(--ink);pointer-events:auto;background:#fff;border:1px solid #b9e6d3;border-left:4px solid #1b8f72;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 12px 12px 14px;display:grid;box-shadow:0 18px 42px #0a1f2a2e}.toast.error{border-color:#f2b8b5 #f2b8b5 #f2b8b5 #c24135}.toast span{min-width:0;font-weight:800;line-height:1.35}.toast button{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);background:#f8fbfc;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}
.payroll-close-status{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;margin-bottom:14px;display:grid}.payroll-close-status div{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;min-width:0;padding:10px}.payroll-close-status span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:800;display:block}.payroll-close-status strong{overflow-wrap:anywhere;margin-top:4px;font-size:.95rem;display:block}.payroll-compare{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.payroll-compare span{border:1px solid var(--line);color:var(--muted);background:#f8fbfc;border-radius:8px;padding:8px 10px;font-size:.84rem}.payroll-compare strong{color:var(--ink)}.payroll-drilldown{margin-top:14px}.payroll-drilldown h3,.payslip-document h3,.payslip-document h4{margin:0 0 8px}.payroll-drilldown pre,.payslip-document pre{max-height:240px;overflow:auto}.payslip-document{border:1px solid var(--line);break-inside:avoid;background:#fff;border-radius:8px;padding:18px}.payslip-document p{color:var(--muted);margin:4px 0}.payroll-workspace{gap:14px;display:grid}.payroll-console,.payroll-main,.payroll-side,.payroll-empty-panel{border:1px solid var(--line);background:#fff;border-radius:8px;padding:16px;box-shadow:0 18px 42px #142d3c12}.payroll-console-head,.payroll-primary-actions,.payroll-toolbar,.payslip-head,.payroll-drawer-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.payroll-console h2,.payroll-empty-panel h3,.audit-section h3,.export-group h3{margin:0}.payroll-header-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:7px;font-size:.88rem;font-weight:750;display:flex}.payroll-header-meta>span:not(.badge){background:#eef5f8;border-radius:999px;padding:4px 8px}.payroll-run-heading{min-width:0}.payroll-console p,.payroll-empty-panel p{color:var(--muted);margin:4px 0 0}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.72rem;font-weight:900;display:block}.payroll-stepper{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:22px 0 10px;padding:0;list-style:none;display:grid}.payroll-step{min-width:0;color:var(--muted);text-align:center;justify-items:center;gap:4px;padding:26px 8px 0;font-size:.84rem;font-weight:900;display:grid;position:relative}.payroll-step:hover,.payroll-step:focus-within{z-index:2}.payroll-step:before{content:"";z-index:1;border:2px solid var(--line);background:#fff;border-radius:50%;width:10px;height:10px;position:absolute;top:0;left:50%;transform:translate(-50%)}.payroll-step:not(:last-child):after{content:"";background:var(--line);width:calc(100% - 16px);height:2px;position:absolute;top:6px;left:calc(50% + 8px)}.payroll-step:hover:after{opacity:.45}.payroll-step:hover::marker{color:#0000}.payroll-step[data-detail]:hover:before{z-index:1}.payroll-step[data-detail]:hover>span:after{content:attr(data-detail)}.payroll-step span,.payroll-step small{overflow-wrap:anywhere;display:block}.payroll-step small{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.payroll-step span{position:relative}.payroll-step span:after{z-index:5;border:1px solid var(--line);width:max-content;max-width:min(280px,70vw);color:var(--ink);text-transform:none;background:#fff;border-radius:8px;padding:9px 10px;font-size:.8rem;font-weight:700;line-height:1.35;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 14px 34px #0a1f2a2e}.payroll-step.done{color:#0f6b55}.payroll-step.done:before,.payroll-step.done:after{background:#1b8f72;border-color:#1b8f72}.payroll-step.active{color:#174466}.payroll-step.active:before{border-color:#174466;box-shadow:0 0 0 4px #eef6fc}.payroll-step.blocked{color:#9f1d1d}.payroll-step.blocked:before{background:#fff0ef;border-color:#c24135;box-shadow:0 0 0 4px #fff0ef}.payroll-period-panel{grid-template-columns:repeat(2,minmax(260px,1fr));align-items:end;gap:12px 14px;width:min(100%,1040px);display:grid}.payroll-preview-settings{border-top:1px solid var(--line);gap:12px;width:min(100%,1040px);margin-top:16px;padding-top:16px;display:grid}.payroll-settings-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.payroll-settings-head h3{margin:0;font-size:1rem}.payroll-settings-head p{color:var(--muted);margin:3px 0 0;font-size:.86rem}.payroll-setting-field{gap:5px;min-width:0;display:grid}.payroll-setting-field>span{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:900}.payroll-period-panel .optional-name{min-width:0}.payroll-period-panel .optional-name input{width:100%}.payroll-period-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;width:min(100%,1040px);display:flex}.payroll-period-footer .muted-text{flex:360px;margin:0}.segmented-control{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;padding:3px;display:inline-flex}

.segmented-control button,.payroll-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;font-weight:900}.segmented-control button{padding:9px 12px}.segmented-control button.active,.payroll-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 1px 6px #10182814}.compact-field{gap:5px;min-width:0;display:grid}.compact-field span,.payroll-derived-period span,.next-action-panel span,.payroll-summary-strip span{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:900}.compact-field input,.compact-field select{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fff;border-radius:8px;min-height:42px;padding:9px 10px}.payroll-form-grid{grid-template-columns:repeat(4,minmax(180px,1fr));align-items:end;gap:12px;display:grid}.payroll-form-grid.compact-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}@media (max-width:980px){.payroll-form-grid,.payroll-form-grid.compact-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (max-width:640px){.payroll-form-grid,.payroll-form-grid.compact-grid{grid-template-columns:minmax(0,1fr)}}.payroll-derived-period{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:66px;padding:9px 10px}.payroll-derived-period strong{margin-top:3px;font-size:.95rem;display:block}.payroll-manual-dates{grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;display:grid}.payroll-manual-dates.inline{margin-top:7px}.payroll-manual-dates.inline .compact-field span{font-size:.68rem}.payroll-action-note{color:#355465;background:#eef6fc;border-radius:8px;margin:12px 0 0;padding:10px 12px}.payroll-action-note.green{color:#0f6b55;background:#eefbf6}.payroll-action-note.amber{color:#805000;background:#fff7e6}.payroll-action-note.red{color:#9f1d1d;background:#fff0ef}.payroll-summary-strip{grid-template-columns:repeat(5,minmax(130px,1fr));gap:8px;display:grid}.payroll-summary-strip div{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px}.payroll-summary-strip strong{margin-top:4px;font-size:1rem;display:block}.payroll-summary-strip small{color:var(--muted);margin-top:2px;display:block}.payroll-summary-strip .danger{background:#fff0ef;border-color:#f2b8b5}.payroll-summary-strip .warn{background:#fff7e6;border-color:#f3d19b}.payroll-summary-strip .ready{background:#eefbf6;border-color:#b9e6d3}.payroll-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;display:grid}.payroll-side{gap:12px;display:grid;position:sticky;top:16px}.next-action-panel{background:#eef6fc;border-left:4px solid #8db6d6;border-radius:8px;padding:12px}.next-action-panel.green{background:#eefbf6;border-left-color:#1b8f72}.next-action-panel.amber{background:#fff7e6;border-left-color:#c58a20}.next-action-panel.red{background:#fff0ef;border-left-color:#c24135}.next-action-panel strong{margin-top:4px;font-size:1.05rem;display:block}.next-action-panel p{color:var(--muted);margin:6px 0 0}.payroll-side-actions{gap:8px;display:grid}.payroll-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.payroll-tabs button{border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px}.payroll-tabs button.active{border-bottom-color:var(--accent)}
.payroll-register-layout,.payslip-workspace{align-items:start;gap:14px;display:grid}.payroll-register-main,.exception-workspace,.rules-workspace,.export-workspace,.audit-workspace{gap:12px;display:grid}.payroll-toolbar{justify-content:flex-start}.register-head{grid-template-columns:minmax(170px,240px) minmax(0,1fr);align-items:end;gap:14px;display:grid}.register-head h3{margin:3px 0 0}.register-toolbar{grid-template-columns:minmax(140px,180px) minmax(180px,240px) minmax(180px,1fr);display:grid}.payroll-table-wrap{max-height:62vh}.payroll-table th{z-index:1;background:#fff;position:sticky;top:0}.money-cell{text-align:right;white-space:nowrap}.payroll-total-row{background:#f8fbfc}.clickable-row.selected{background:#eef6fc}.warning-chip-list{flex-wrap:wrap;gap:4px;display:flex}.payroll-row-drawer{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;padding:14px}.register-detail-body{min-height:0;padding-right:4px;overflow:auto}.payroll-drilldown-grid,.payslip-grid{gap:10px;display:grid}.payroll-drilldown-grid section,.audit-section{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px}.payroll-drilldown-grid h3,.payslip-grid h4{margin:0 0 6px;font-size:.92rem}.payroll-drilldown-grid p,.payslip-grid p{justify-content:space-between;gap:10px;display:flex}.pay-item-panel{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:12px;padding:12px}.pay-item-panel-head{justify-content:space-between;gap:12px;margin-bottom:10px;display:flex}.pay-item-panel h3{margin:0 0 4px;font-size:.98rem}.pay-item-list{gap:8px;margin-bottom:12px;display:grid}.pay-item-row{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.pay-item-row div{gap:2px;display:grid}.pay-item-row span{color:var(--muted)}.pay-item-form{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.pay-item-form .segmented-control,.pay-item-wide{grid-column:span 3}.positive-money{font-weight:900;color:#087f5b!important}.negative-money{font-weight:900;color:#b42318!important}.technical-trace{margin-top:10px}.technical-trace summary{cursor:pointer;color:var(--muted);font-weight:900}.technical-trace pre{max-height:260px;overflow:auto}.warning-panel{background:#fff9e8;border:1px solid #f2c94c;border-radius:8px;gap:10px;padding:12px;display:grid}.warning-panel h3{align-items:center;gap:8px;margin:0;font-size:.98rem;display:inline-flex}.warning-group{border-left:3px solid #d99a00;padding-left:10px}.warning-group.blocking{border-left-color:#b42318}.warning-group p{margin:4px 0}.settlement-workspace{gap:16px;display:grid}.settlement-create-form{margin-bottom:14px}.settlement-actions{margin-bottom:12px}
.payroll-overview-grid,.payroll-detail-page{gap:16px;display:grid}.payroll-command-center{gap:20px;display:grid}.payroll-command-header{gap:14px}.payroll-workspace-tabs{border:1px solid var(--line);scrollbar-width:none;background:#fff;border-radius:8px;gap:6px;padding:6px;display:flex;overflow-x:auto}.payroll-workspace-tabs::-webkit-scrollbar{display:none}.payroll-workspace-tabs button{min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;align-items:center;gap:7px;padding:0 10px;font-weight:800;display:inline-flex}.payroll-workspace-tabs button.active,.payroll-workspace-tabs button:hover{color:var(--ink);background:#f0fbfa}.tab-dot{background:#9aa5b1;border-radius:999px;width:8px;height:8px}.tab-dot.green{background:var(--teal)}.tab-dot.amber{background:#d99a00}.tab-dot.red{background:#b42318}.payroll-run-summary{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.payroll-run-summary h2{margin:2px 0 4px;font-size:1.45rem}.payroll-run-summary p{color:var(--muted);margin:0}.payroll-run-meta{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;font-weight:700;display:flex}.compact-stepper{margin:0}.compact-stepper .payroll-step{min-height:58px}.next-action-panel{background:#f6fbfa;border:1px solid #cde7e2;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px;display:grid}.next-action-panel.red{background:#fff5f3;border-color:#f3b6ae}.next-action-panel.amber{background:#fff9e8;border-color:#f2c94c}.next-action-panel.green{background:#f1fbf5;border-color:#b8dec9}.next-action-panel h2{margin:2px 0 6px;font-size:1.35rem}.next-action-panel p{margin:0 0 4px}.next-action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.finalization-panel,.payroll-workspace-section{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;padding:14px;display:grid}.payroll-workspace-section{scroll-margin-top:88px}.payroll-workspace-section.active{border-color:#8fd8ca;box-shadow:0 0 0 3px #1f8f7814}
.payroll-outputs-workspace{gap:12px;display:grid}.workflow-row{border-top:1px solid var(--line);grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.workflow-row:first-of-type{border-top:0}.workflow-row-status{background:#9aa5b1;border-radius:999px;width:10px;height:10px}.workflow-row-status.green{background:var(--teal)}.workflow-row-status.amber{background:#d99a00}.workflow-row-status.red{background:#b42318}.workflow-row-main{min-width:0}.workflow-row-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.workflow-row-title h3{margin:0;font-size:1rem}.workflow-row-main p{color:var(--muted);margin:4px 0 0}.workflow-row-meta{justify-content:flex-end;align-items:center;gap:10px;display:flex}.finalization-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:flex-start;gap:12px;padding-top:12px;display:flex}.finalization-actions>div{gap:4px;display:grid}.payroll-empty-state{justify-content:space-between;align-items:center;gap:16px;display:flex}.overview-card-group{gap:12px;display:grid}.task-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.task-card{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;gap:10px;padding:14px;display:grid}.task-card.red{border-color:#f3b6ae}.task-card.amber{border-color:#f2c94c}.task-card.green{border-color:#b8dec9}.task-card-top{justify-content:space-between;align-items:start;gap:12px;display:flex}.task-card h3{margin:0;font-size:1rem}.task-card-top strong{font-size:1.6rem;line-height:1}.task-card p{color:var(--muted);margin:0}.detail-page-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.back-link{color:var(--teal);margin-bottom:8px;font-weight:800;text-decoration:none;display:inline-flex}.exception-search{max-width:460px}.issue-category-strip{flex-wrap:wrap;gap:8px;display:flex}.issue-category-strip span{border:1px solid var(--line);color:var(--muted);background:#f8fbfc;border-radius:999px;padding:6px 10px;font-size:.85rem;font-weight:800}.issue-category-strip strong{color:var(--ink)}.exception-list{gap:10px;display:grid}.exception-row{border:1px solid var(--line);background:#fff;border-left-width:4px;border-radius:8px;padding:12px}.exception-row.critical{border-left-color:#c24135}.exception-row.warning{border-left-color:#c58a20}.exception-row-head{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:0;display:flex}.exception-row-head span{color:var(--muted);display:block}.exception-group-detail{border-top:1px solid var(--line);gap:10px;margin-top:10px;padding-top:10px;display:grid}.exception-group-detail p{margin:4px 0 0}.exception-meta,.exception-resolution,.bulk-resolution{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.exception-resolution input,.bulk-resolution input{flex:280px}.rules-head h3{margin:3px 0 4px}.rules-head p{color:var(--muted);margin:0}.rules-table td:first-child{gap:3px;min-width:260px;display:grid}.rules-table td:first-child span,.rules-table td:first-child small{color:var(--muted)}.rules-table td:first-child small{font-size:.78rem}.rules-hero-head{align-items:start}.rules-head-metrics{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.rules-head-metrics span{border:1px solid var(--line);min-width:92px;color:var(--muted);text-transform:uppercase;background:#fff;border-radius:8px;gap:2px;padding:8px 10px;font-size:.78rem;display:grid}.rules-head-metrics strong{color:var(--ink);font-size:1.08rem}.rules-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}
.rules-toolbar p{color:var(--muted);margin:0}.rule-group-list,.rule-detail-page,.rule-detail-sections,.rule-version-list{gap:10px;display:grid}.rule-group-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(300px,1fr) minmax(130px,170px) minmax(150px,190px) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.rule-group-main{appearance:none;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:3px;padding:0;display:grid}.rule-group-main:hover .rule-group-title{color:var(--teal)}.rule-group-title{color:var(--ink);font-weight:800}.rule-group-meta,.rule-group-description,.rule-group-current span,.rule-group-current small,.rule-group-status span{color:var(--muted)}.rule-group-description{font-size:.86rem}.rule-group-current,.rule-group-status{gap:4px;display:grid}.rule-group-status small{color:var(--muted)}.rule-group-current strong{font-size:1.05rem}.rule-group-actions,.rule-version-actions,.rule-detail-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.rule-detail-toolbar{justify-content:space-between}.payroll-configuration-bootstrap{background:#fff8e8;border:1px solid #f4c76b;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:18px;display:grid}.payroll-configuration-bootstrap h3,.configuration-card-head h3{margin:0}.payroll-configuration-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.payroll-configuration-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:14px;padding:16px;display:grid}.payroll-configuration-card.red{border-color:#f0a5a0}.payroll-configuration-card.amber{border-color:#f4c76b}.payroll-configuration-card.green{border-color:#a7dec4}.configuration-card-head{justify-content:space-between;gap:14px;display:flex}.configuration-card-head p,.configuration-blockers,.configuration-coverage span{color:var(--muted)}.configuration-card-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.configuration-card-metrics div{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;padding:10px}.configuration-card-metrics dt,.configuration-coverage span{text-transform:uppercase;font-size:.72rem;font-weight:800}.configuration-card-metrics dd{margin:4px 0 0;font-size:1.1rem;font-weight:800}

.configuration-coverage,.configuration-blockers{gap:6px;display:grid}.configuration-blockers code{background:var(--surface-alt);width:fit-content;color:var(--ink);border-radius:999px;padding:4px 8px;font-size:.75rem}.payroll-config-workspace{gap:18px}.payroll-config-action-band{border:1px solid var(--line);background:#fbfdfe;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;display:grid}.payroll-config-action-band strong,.payroll-config-section-head h4,.payroll-config-detail-head h3{margin:0;display:block}.payroll-config-action-band p,.payroll-config-section-head p,.payroll-config-detail-head p,.payroll-config-record p,.payroll-config-editor-footer p,.payroll-config-fix-panel p{color:var(--muted);margin:4px 0 0}.payroll-config-actions,.payroll-config-record-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.payroll-config-layout{grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.payroll-config-sidebar,.payroll-config-detail,.payroll-config-editor,.payroll-config-formulas,.payroll-config-records{border:1px solid var(--line);background:var(--surface);border-radius:8px}.payroll-config-sidebar{gap:6px;padding:8px;display:grid;position:sticky;top:12px}.payroll-config-nav-item{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.payroll-config-nav-item:hover,.payroll-config-nav-item.active{border-color:var(--line);background:var(--surface-alt)}.payroll-config-nav-item.red.active{border-color:#f0a5a0}.payroll-config-nav-item.amber.active{border-color:#f4c76b}.payroll-config-nav-item.green.active{border-color:#a7dec4}.payroll-config-nav-item small{color:var(--muted);margin-top:3px;font-weight:700;display:block}.payroll-config-detail{gap:16px;padding:16px;display:grid}.payroll-config-detail-head,.payroll-config-section-head,.payroll-config-record{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}.payroll-config-summary-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.payroll-config-summary-row div{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;padding:10px}.payroll-config-summary-row dt{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.payroll-config-summary-row dd{margin:4px 0 0;font-weight:800}.payroll-config-fix-panel{background:#fff8e8;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(220px,auto);gap:14px;padding:14px;display:grid}.payroll-config-fix-panel small{color:var(--muted);margin-top:8px;display:block}.payroll-config-template-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.payroll-config-inner-tabs{justify-self:end}.payroll-config-records,.payroll-config-formulas,.payroll-config-editor{gap:12px;padding:14px;display:grid}.payroll-config-formula-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.payroll-config-formula{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;gap:6px;min-width:0;padding:12px;display:grid}.payroll-config-formula span,.payroll-config-formula small{color:var(--muted);font-size:.78rem;font-weight:800}.payroll-config-formula span{text-transform:uppercase}.payroll-config-formula code{overflow-wrap:anywhere;white-space:normal;width:100%;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px;line-height:1.35;display:block}.payroll-config-record-list{display:grid}.payroll-config-record{border-top:1px solid var(--line);padding:12px 0}.payroll-config-record:first-child{border-top:0;padding-top:0}.payroll-config-record-meta{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;font-size:.86rem;display:flex}.payroll-config-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.payroll-config-wide{grid-column:1/-1}.payroll-config-checkbox-grid{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;padding:12px;display:grid}.payroll-config-checkbox-grid label{color:var(--muted);align-items:center;gap:7px;font-weight:800;display:flex}.payroll-config-editor-footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.payroll-config-modal form{gap:16px;display:grid}.payroll-config-modal{max-height:calc(100vh - 48px);overflow:auto}.readonly-field{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;justify-content:center;min-height:76px;padding:10px 12px}.readonly-field strong{margin-top:4px;font-size:1rem}.income-tax-bracket-editor{gap:10px;display:grid}.income-tax-bracket-editor label{color:var(--muted);font-weight:850}.income-tax-bracket-editor p{color:var(--muted);margin:3px 0 0}.income-tax-bracket-grid{gap:8px;display:grid}.income-tax-bracket-head{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.income-tax-bracket-head span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.income-tax-bracket-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.income-tax-bracket-row .field label{display:none}.rule-detail-hero{border:1px solid var(--line);background:#fbfdfe;border-radius:8px;grid-template-columns:minmax(260px,1fr) minmax(360px,auto);align-items:start;gap:18px;padding:16px;display:grid}.rule-detail-hero h3,.rule-version-row h4{margin:0}.rule-detail-hero p,.rule-version-row p{color:var(--muted);margin:4px 0 0}.rule-detail-summary{grid-template-columns:repeat(3,minmax(90px,1fr));gap:8px;display:grid}.rule-detail-summary div{border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;padding:10px;display:grid}.rule-detail-summary span,.rule-version-row dt{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:800}.rule-version-section{gap:8px;padding-top:4px;display:grid}.rule-version-section .section-heading{border-bottom:1px solid var(--line);padding-bottom:6px}.rule-version-section h4,.rule-usage-panel h4{margin:0}.compact-empty{margin:0;padding:10px 12px}.rule-version-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(260px,1fr) minmax(360px,.9fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.rule-version-row dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.rule-version-row dt,.rule-version-row dd{margin:0}.rule-version-row dd{color:var(--ink)}.rule-version-row.current{background:#f6fffd;border-color:#a5d8cc}.rule-version-row.future{background:#fffaf0;border-color:#f4d48c}.rule-version-row.history{background:#fbfdfe}.rule-version-actions .muted-text{text-align:right;flex-basis:100%}.rule-usage-panel{border:1px solid var(--line);background:#fbfdfe;border-radius:8px;gap:4px;padding:14px 16px;display:grid}.rule-usage-panel p{color:var(--muted);margin:4px 0 0}@media (max-width:980px){.rule-group-row,.rule-detail-hero,.rule-version-row,.rule-version-row dl{grid-template-columns:1fr}.rule-group-actions,.rule-version-actions,.rule-detail-toolbar{justify-content:flex-start}.rule-detail-summary{grid-template-columns:1fr}.rules-toolbar,.rules-head-metrics{justify-content:flex-start;align-items:stretch}.rules-toolbar{flex-direction:column}.rule-version-actions .muted-text{text-align:left}}
.payslip-index,.payslip-list{gap:12px;display:grid}.payslip-list-head{grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:end;gap:14px;display:grid}.payslip-list-actions{grid-template-columns:minmax(180px,1fr) auto auto;align-items:end;gap:10px;display:grid}.payslip-row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.delivery-pill{color:#475467;white-space:nowrap;background:#eef5f8;border-radius:999px;align-items:center;padding:4px 8px;font-size:.72rem;font-weight:850;display:inline-flex}.delivery-pill.green{color:#177245;background:#dcfce7}.delivery-pill.amber{color:#996515;background:#fff3cd}.delivery-pill.red{color:#b42318;background:#fee2e2}.payslip-list-head h3{margin:3px 0 4px}.payslip-list-head p{color:var(--muted);margin:0}.payslip-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.payslip-summary-grid div{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;padding:10px 12px}.payslip-summary-grid span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:800;display:block}.payslip-summary-grid strong{margin-top:4px;font-size:1rem;display:block}.payslip-table-wrap{max-height:54vh}.payslip-table{min-width:760px}.compact-action{padding:7px 10px}.payslip-list-item{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:8px;gap:4px;padding:10px;display:grid}.payslip-list-item.active{background:#eef6fc;border-color:#8db6d6}.payslip-modal-body{min-height:0;padding-right:0;overflow:auto}.modal-card-artifact{grid-template-rows:auto minmax(0,1fr);width:min(1180px,100vw - 36px);max-height:min(88vh,860px);display:grid}.artifact-preview-body{min-height:0;overflow:hidden}.artifact-preview-table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;max-height:68vh;overflow:auto}.artifact-preview-table{border-collapse:separate;border-spacing:0;table-layout:auto;width:max-content;min-width:100%}.artifact-preview-table th,.artifact-preview-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;min-width:140px;max-width:280px;padding:10px 12px;overflow:hidden}.artifact-preview-table th{z-index:1;color:var(--muted);letter-spacing:0;text-transform:uppercase;background:#f7fafc;font-size:.75rem;position:sticky;top:0}.artifact-preview-table td{color:var(--ink);font-size:.86rem}.artifact-preview-table tr:last-child td{border-bottom:0}.artifact-preview-table th:last-child,.artifact-preview-table td:last-child{border-right:0}.artifact-preview-note{color:var(--muted);margin:10px 12px;font-size:.85rem}.artifact-preview-frame{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:72vh}.payslip-document{box-sizing:border-box;color:#161b26;max-width:816px;min-height:1056px;margin:0 auto;font-size:.84rem;line-height:1.25;position:relative;overflow:hidden}.payslip-watermark{color:#0f33441f;pointer-events:none;text-transform:uppercase;font-size:5rem;font-weight:900;position:absolute;top:165px;right:70px;transform:rotate(-18deg)}.payslip-head{border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:10px}.payslip-head-formal{text-transform:uppercase;border-bottom:2px solid #1f2937;grid-template-columns:minmax(0,1.1fr) minmax(180px,.8fr) minmax(170px,.7fr);align-items:start;gap:16px;display:grid}.payslip-head-formal p,.payslip-period-bar,.payslip-identity-grid span,.payslip-doc-meta,.payslip-footer-note{color:#4b5563}.payslip-title-block{text-align:center}.payslip-title-block span{font-size:1rem;font-weight:900;display:block}.payslip-title-block strong{margin-top:4px;display:block}.payslip-doc-meta{overflow-wrap:anywhere;justify-items:end;gap:3px;min-width:0;font-size:.74rem;font-weight:800;display:grid}.payslip-period-bar{border-bottom:1px solid #d8dee8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;margin-bottom:12px;padding-bottom:10px;font-weight:800;display:flex}.payslip-status-badge{color:#996515;text-transform:uppercase;background:#fff3cd;border-radius:999px;padding:4px 8px;font-size:.68rem;font-weight:900}.payslip-status-badge.final{color:#177245;background:#dcfce7}.payslip-identity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.payslip-identity-grid div{border:1px solid #d8dee8;border-radius:4px;padding:7px 8px}.payslip-identity-grid span{text-transform:uppercase;font-size:.68rem;font-weight:900;display:block}.payslip-identity-grid strong{overflow-wrap:anywhere;margin-top:3px;display:block}.payslip-main-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(190px,.72fr);gap:10px;margin-bottom:12px;display:grid}.payslip-panel,.payslip-detail-section{background:#fff;border:1px solid #d8dee8;border-radius:4px;padding:10px}.payslip-panel h3,.payslip-detail-section h3,.payslip-hours-table h4{text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:900}.payslip-panel p,.payslip-employer-grid p{justify-content:space-between;align-items:baseline;gap:12px;margin:4px 0;display:flex}.payslip-panel .strong-row,.payslip-employer-grid .strong-row{border-top:1px solid #d8dee8;margin-top:7px;padding-top:7px}.payslip-net-panel{background:#f8fbfc}.payslip-net-total{text-align:right;border-top:2px solid #1f2937;margin-top:12px;padding-top:10px}.payslip-net-total span{text-transform:uppercase;font-size:.76rem;font-weight:900;display:block}.payslip-net-total strong{margin-top:4px;font-size:1.35rem;display:block}.payslip-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.payslip-hours-table{min-width:0}.payslip-hours-head,.payslip-hours-row,.payslip-line-table{grid-template-columns:minmax(0,1fr) 64px 82px;align-items:baseline;gap:6px;display:grid}.payslip-hours-head,.payslip-line-table span{color:#667085;text-transform:uppercase;font-size:.67rem;font-weight:900}.payslip-hours-row{border-top:1px solid #eef2f6;padding:4px 0}.payslip-hours-row strong,.payslip-line-table strong{text-align:right}.payslip-line-table{grid-template-columns:minmax(0,1fr) 110px}.payslip-employer-section{margin-top:12px}.payslip-employer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.payslip-employer-grid p{border:1px solid #eef2f6;border-radius:4px;padding:7px}.payslip-footer{grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:end;gap:20px;margin-top:42px;display:grid}.payslip-signatures{text-transform:uppercase;grid-template-columns:auto minmax(120px,1fr) auto minmax(150px,1fr);align-items:end;gap:8px;font-weight:800;display:grid}.payslip-signatures strong{border-bottom:1px solid #1f2937;min-height:22px;display:block}.payslip-footer-note{text-align:center;gap:6px;font-size:.76rem;display:grid}
.payslip-landscape{width:1056px;max-width:100%;min-height:816px;padding:18px 22px;font-size:.74rem}.payslip-landscape-head{text-transform:uppercase;border-bottom:2px solid #1f2937;grid-template-columns:minmax(170px,.8fr) minmax(250px,1.1fr) minmax(240px,1fr) minmax(170px,.8fr);align-items:start;gap:12px;padding-bottom:8px;display:grid;position:relative}.payslip-company-mark{grid-column:1}.payslip-landscape-head h3,.payslip-company-mark strong,.payslip-period-title strong{color:#161b26;margin:0;font-size:.9rem;font-weight:900}.payslip-company-mark p,.payslip-period-title span,.payslip-landscape-status,.payslip-doc-meta{color:#4b5563}.payslip-period-title{flex-wrap:wrap;grid-column:2;gap:10px;display:flex}.payslip-landscape-head h3{text-align:center;width:max-content;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.payslip-landscape-head .payslip-doc-meta{grid-column:4}.payslip-landscape-status{border-bottom:1px solid #d8dee8;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;padding:7px 0;font-weight:800;display:flex}.payslip-landscape-grid{grid-template-columns:minmax(690px,2.3fr) minmax(230px,.78fr);align-items:start;gap:12px;display:grid}.payslip-landscape-grid>*{min-width:0}.payslip-left-area,.payslip-employee-basis{gap:10px;display:grid}.payslip-receipt-blocks{grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);align-items:stretch;gap:12px;display:grid}.payslip-section-stack{grid-template-rows:repeat(2,minmax(156px,1fr));gap:12px;display:grid}.payslip-employee-line{grid-template-columns:auto minmax(80px,auto) minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.payslip-employee-line span:first-child,.payslip-salary-rate span,.payslip-total-subtitle{text-transform:uppercase;font-weight:900}.payslip-salary-rate{align-items:baseline;gap:10px;display:flex}.payslip-salary-rate strong{font-size:.9rem}.payslip-landscape .payslip-hours-table,.payslip-totals-list,.payslip-creditor-strip{background:#fff;border:0;border-radius:0}.payslip-landscape .payslip-hours-table h4{text-align:center;border-bottom:1px solid #667085;font-size:.72rem}.payslip-section-stack>.payslip-hours-table,.payslip-section-stack>.payslip-creditor-strip{min-height:156px}.payslip-section-stack>.payslip-creditor-strip{border-bottom:0}.payslip-landscape .payslip-hours-head,.payslip-landscape .payslip-hours-row{grid-template-columns:minmax(92px,1fr) repeat(3,minmax(54px,70px));font-size:.7rem}.payslip-landscape .payslip-hours-head span,.payslip-landscape .payslip-hours-row strong{text-align:right}.payslip-hours-fallback{color:#9a6508;margin:6px 0 0;font-weight:800}

.payslip-totals-rail{align-content:end;gap:12px;min-width:0;min-height:470px;display:grid}.payslip-creditor-strip{border-bottom:1px solid #667085;grid-template-columns:minmax(0,1fr) 90px;align-content:start;align-items:baseline;gap:4px 6px;padding-bottom:8px;display:grid}.payslip-creditor-strip span{color:#667085;text-transform:uppercase;font-weight:900}.payslip-creditor-strip strong:nth-child(2n){text-align:right}.payslip-creditor-strip span:nth-last-child(2),.payslip-creditor-strip strong:last-child{border-top:1px solid #667085;margin-top:4px;padding-top:4px}.payslip-totals-list{align-self:end;gap:3px;display:grid}.payslip-totals-list p{grid-template-columns:minmax(0,1fr) 92px;gap:8px;margin:0;display:grid}.payslip-totals-list strong{text-align:right}.payslip-totals-list .strong-row{border-top:1px solid #667085;margin-top:6px;padding-top:5px}.payslip-total-subtitle{margin-top:4px}.payslip-landscape .payslip-net-total{border-top:2px solid #1f2937;margin-top:7px;padding-top:7px}.payslip-landscape .payslip-net-total strong{font-size:1rem}.payslip-landscape .payslip-footer{margin-top:28px}
@media (max-width:1240px){.modal-card-payslip{width:calc(100vw - 24px);padding:16px}.payslip-landscape{padding:14px;font-size:.68rem}.payslip-landscape-head{grid-template-columns:minmax(145px,.75fr) minmax(210px,1fr) minmax(210px,1fr) minmax(145px,.75fr);gap:8px}.payslip-landscape-grid{grid-template-columns:minmax(610px,2.2fr) minmax(205px,.74fr);gap:8px}.payslip-receipt-blocks{grid-template-columns:repeat(2,minmax(285px,1fr));gap:8px}.payslip-section-stack{grid-template-rows:repeat(2,minmax(145px,1fr));gap:8px}.payslip-section-stack>.payslip-hours-table,.payslip-section-stack>.payslip-creditor-strip{min-height:145px}.payslip-landscape .payslip-hours-head,.payslip-landscape .payslip-hours-row{grid-template-columns:minmax(78px,1fr) repeat(3,minmax(48px,62px))}}.export-group{gap:8px;display:grid}.export-table td:nth-child(2){color:var(--muted)}.audit-timeline{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.audit-timeline span{border:1px solid var(--line);border-radius:8px;padding:10px}.audit-timeline strong{display:block}@media (max-width:1180px){.payroll-layout,.payroll-register-layout,.payslip-workspace{grid-template-columns:1fr}.payroll-side,.payroll-row-drawer{position:static}.payroll-side{order:-1}}@media (max-width:860px){.payroll-period-panel,.payroll-summary-strip,.payroll-stepper,.register-head,.register-toolbar,.payslip-list-head,.payslip-list-actions,.payslip-summary-grid{grid-template-columns:1fr}.payroll-console-head,.payroll-primary-actions,.payroll-toolbar{align-items:stretch}.payroll-primary-actions,.payroll-toolbar,.exception-resolution,.bulk-resolution{flex-direction:column}.payroll-primary-actions .button,.payroll-toolbar .button,.exception-resolution .button,.bulk-resolution .button{width:100%}.optional-name,.payroll-manual-dates{grid-column:auto}.payroll-stepper{gap:0}.payroll-step{text-align:left;justify-items:start;padding:0 0 0 26px}.payroll-step:before{top:3px;left:0;transform:none}.payroll-step:not(:last-child):after{width:1px;height:auto;top:17px;bottom:-14px;left:5px}.payroll-step span:after{left:0;transform:none}.modal-card-payslip{max-height:94vh;padding:16px}.payslip-head-formal,.payslip-main-grid,.payslip-detail-grid,.payslip-employer-grid,.payslip-footer{grid-template-columns:1fr}.payslip-doc-meta,.payslip-title-block{text-align:left;justify-items:start}.payslip-identity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-card-register{max-height:94vh;padding:16px}}@media print{@page{size:letter landscape;margin:.35in}body{background:#fff}aside,header,nav,.section-tabs,.button,.payroll-close-status{display:none!important}.card,.payslip-document{box-shadow:none;border-color:#d0d5dd}.payslip-document{page-break-inside:avoid;border:0;border-radius:0;width:100%;max-width:none;min-height:auto;padding:0}.payslip-landscape{width:100%;min-height:auto;padding:0}.payslip-head-formal{grid-template-columns:minmax(0,1.1fr) minmax(180px,.8fr) minmax(170px,.7fr)}.payslip-landscape-head{grid-template-columns:minmax(170px,.8fr) minmax(250px,1.1fr) minmax(240px,1fr) minmax(170px,.8fr)}.payslip-landscape-grid{grid-template-columns:minmax(690px,2.3fr) minmax(230px,.78fr)}.payslip-main-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(190px,.72fr)}.payslip-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.payslip-employer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.payslip-footer{grid-template-columns:minmax(0,1fr) minmax(180px,260px)}.payslip-watermark{color:#0f334417}.modal-backdrop{background:#fff;padding:0;display:block;position:static}.modal-card,.modal-card-payslip,.modal-card-register{width:100%;max-height:none;box-shadow:none;border:0;padding:0}.modal-heading{display:none}.payslip-modal-body,.register-detail-body{padding:0;overflow:visible}}
.connector-detail{gap:14px;display:grid}.connector-hero{border:1px solid var(--line);background:linear-gradient(#fff,#f8fbfc);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px;display:flex}.connector-identity{align-items:flex-start;gap:12px;min-width:0;display:flex}.connector-identity strong{margin-bottom:8px;font-size:1rem;display:block}.connector-icon{color:#fff;background:var(--teal);border-radius:8px;flex:none;place-items:center;width:38px;height:38px;display:inline-grid}.connector-pairing{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.connector-pairing strong,.connector-pairing span{display:block}.connector-pairing span{color:var(--muted);font-size:.8rem}.connector-pairing pre{color:#fff;background:#101828;border-radius:8px;margin:0;padding:8px 10px;overflow:auto}.connector-main{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:14px;display:grid}.connector-device-stack{gap:14px;min-width:0;display:grid}.connector-devices,.connector-side{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:14px}.connector-section-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.connector-section-head h3,.connector-device-form h3{margin:0 0 4px;font-size:.98rem}.connector-section-head p,.connector-device-form p,.connector-note p{color:var(--muted);margin:0;font-size:.84rem}.connector-device-table{min-width:820px}.connector-device-table td:first-child strong,.connector-device-table td:first-child span{display:block}.connector-device-table td:first-child span,.connector-device-table small{color:var(--muted);font-size:.78rem}.connector-device-table small{max-width:260px;margin-top:5px;display:block}.connector-device-table .actions{gap:6px}.connector-device-table .button{min-height:34px;padding:0 10px}.connector-people-table{min-width:980px}.connector-person-map-form{grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:8px;min-width:290px;display:grid}.connector-person-map-form select{min-height:34px}.connector-side{gap:14px;display:grid}.connector-note{background:#edf3f7;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;display:flex}.connector-note svg{color:var(--teal);flex:none}
.empty-state{border:1px dashed var(--line);color:var(--muted);text-align:center;background:#fbfdfe;border-radius:8px;margin:0;padding:28px}.empty{color:var(--muted);padding:18px 0}.muted-text{color:var(--muted);font-size:.82rem}.request-item{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px}.request-list{gap:10px;display:grid}.request-item.compact{padding:12px}.request-summary-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.request-summary-main{gap:3px;min-width:0;display:grid}.request-summary-main span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:700;overflow:hidden}.request-summary-main p{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.request-summary-actions{align-items:center;gap:8px;display:inline-flex}.request-summary-actions .button{min-height:32px;padding:0 10px}.request-expanded{border-top:1px solid var(--line);gap:10px;margin-top:12px;padding-top:12px;display:grid}.request-item p{color:var(--muted);margin:10px 0}.request-item.compact p{margin:0}.request-person{background:#eef5f8;border-radius:8px;gap:2px;margin-top:8px;padding:8px 10px;display:grid}.request-person span{color:var(--muted);font-size:.82rem;font-weight:700}.request-info-note{color:#6d4a00;background:#fff7df;border:1px solid #f1d58f;border-radius:8px;gap:4px;margin:10px 0;padding:10px 12px;display:grid}.request-info-note span{color:#6d4a00;font-size:.9rem;line-height:1.35}.compact-request-list{border:1px solid var(--line);background:#fff;border-radius:8px;display:grid;overflow:hidden}.compact-request-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:grid}.compact-request-item:last-child{border-bottom:0}.compact-request-item div{gap:3px;min-width:0;display:grid}.compact-request-item strong,.compact-request-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compact-request-item span{color:var(--muted);font-size:.84rem;font-weight:700}.compact-list{margin-top:14px}@media (max-width:1320px){.schedule-policy-form{grid-template-columns:1fr 1fr}.requests-layout,.platform-layout{grid-template-columns:1fr}.platform-company-list{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-workspace .grid.cols-2,.platform-workspace .grid.cols-3,.connector-main{grid-template-columns:1fr}.connector-side{order:-1}}@media (max-width:900px){.schedule-policy-form{grid-template-columns:1fr}.app-shell,.login-screen{grid-template-columns:1fr;align-content:start}.sidebar{z-index:5;align-self:start;gap:10px;padding:12px 14px;position:sticky;top:0;overflow:hidden}.brand{width:100%;min-height:40px}.mobile-brand-logout{color:#eef8fb;background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;margin-left:auto;display:inline-flex}.mobile-brand-logout:hover{background:#ffffff1f}.nav-list{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.nav-list::-webkit-scrollbar{display:none}.nav-item{white-space:nowrap;flex:none;width:auto;min-height:40px;padding:8px 10px}.app-shell-clock .sidebar{gap:6px;padding:8px 12px}.app-shell-clock .brand{min-height:34px}.app-shell-clock .brand-mark,.app-shell-clock .mobile-brand-logout{width:34px;height:34px}.app-shell-clock .brand-title{font-size:.92rem}.app-shell-clock .profile-trigger{max-width:190px;font-size:.72rem}.app-shell-clock .nav-list{gap:4px;padding-bottom:0}.app-shell-clock .nav-item{gap:7px;min-height:34px;padding:6px 9px;font-size:.86rem}.app-shell-clock .nav-item svg{width:16px;height:16px}.app-shell-clock .sidebar-support{display:none}.grid.cols-2,.grid.cols-3,.grid.cols-4,.task-card-grid{grid-template-columns:1fr}.stats-grid.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat.card{grid-template-columns:minmax(0,1fr);grid-template-areas:"label""value""badge";align-items:start;gap:4px;padding:10px}.stat .stat-label{grid-area:label;font-size:.72rem;line-height:1.15}.stat .stat-value{grid-area:value;font-size:1.32rem;line-height:1}.stat .badge{white-space:nowrap;grid-area:badge;justify-self:start;min-height:20px;padding:2px 7px;font-size:.68rem}.attendance-review-item{grid-template-columns:1fr}.attendance-review-meta,.attendance-review-actions{justify-content:flex-start}.punch-timeline-row,.attendance-punch-review-grid,.attendance-punch-ring-view,.attendance-punch-map-view{grid-template-columns:1fr}.punch-timeline-primary{grid-template-columns:1fr;gap:3px}.punch-timeline-chips{justify-content:flex-start}.attendance-punch-ring{justify-self:start}.attendance-punch-ring-view{position:static}.attendance-ledger-controls{grid-template-columns:1fr}.clock-location-layout,.location-item,.connector-hero,.connector-pairing{grid-template-columns:1fr;display:grid}.connector-hero>.actions{justify-content:flex-start}.connector-pairing pre{width:100%}.profile-schedule-card{grid-column:auto}.schedule-week,.request-type-panel,.request-date-grid,.request-filter-bar,.request-summary-row{grid-template-columns:1fr}.request-summary-actions{justify-content:space-between}.request-compose-card{padding:18px}.platform-layout,.platform-company-list{grid-template-columns:1fr}.platform-sidebar-panel{position:static}.topbar{flex-direction:column;align-items:stretch;gap:8px;min-height:auto;padding:10px 16px}.topbar-title-group{width:100%}.topbar h1{font-size:1.12rem}.main-clock .topbar{gap:10px;min-height:auto;padding:12px 16px}.main-clock .topbar h1{font-size:1.08rem}.main-clock .topbar .actions{display:none}.main-clock .branch-filter{flex:160px;gap:6px}.main-clock .branch-filter span{display:none}.main-clock .branch-filter select{min-height:42px;font-size:.9rem}.detail-page-header,.payroll-run-summary,.next-action-panel,.payroll-empty-state{flex-direction:column;align-items:flex-start;display:flex}.payroll-period-panel{grid-template-columns:1fr}.payroll-period-footer{flex-direction:column;align-items:stretch}.payroll-period-footer .button{width:100%}.payroll-config-action-band,.payroll-config-layout,.payroll-config-detail-head,.payroll-config-section-head,.payroll-config-record,.payroll-config-fix-panel,.payroll-config-editor-footer{grid-template-columns:1fr}.payroll-config-actions,.payroll-config-record-actions,.payroll-config-record-meta{justify-content:flex-start}.payroll-config-sidebar{position:static}.payroll-config-summary-row,.payroll-config-editor-grid,.payroll-config-formula-grid,.payroll-config-checkbox-grid,.income-tax-bracket-head,.income-tax-bracket-row{grid-template-columns:1fr}.income-tax-bracket-head{display:none}.income-tax-bracket-row{border-top:1px solid var(--line);padding-top:10px}.income-tax-bracket-row .field label{display:block}.workflow-row{grid-template-columns:12px minmax(0,1fr)}.workflow-row-meta{flex-wrap:wrap;grid-column:2;justify-content:space-between}.next-action-buttons,.payroll-run-meta{justify-content:flex-start}.topbar .actions{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;align-items:center;width:100%;padding-bottom:2px;overflow-x:auto}.topbar .actions::-webkit-scrollbar{display:none}.branch-filter{flex:none;gap:6px}.branch-filter span{display:none}.branch-filter select{flex:none;min-width:0;max-width:220px}.topbar .button{flex:none;min-height:38px}.content{padding:16px}.main-clock .content{gap:0;padding:0}.clock-screen{background:var(--surface);min-height:auto;display:block}.clock-card{width:100%;box-shadow:none;border:0;border-radius:0;gap:6px;padding:10px 10px 12px}.clock-identity-compact{text-align:center;width:100%;font-size:.78rem}.workday-progress{background:0 0;border:0;padding:2px 0 0}.current-workday-card{background:0 0}.current-workday-main{justify-items:center;gap:10px}.clock-action-panel,.clock-action-panel.with-verification{grid-template-columns:1fr;justify-items:stretch;gap:8px;width:100%;max-width:394px}.clock-action-copy,.clock-action-submit,.clock-verification-card{width:100%}.clock-action-copy{order:2;gap:7px}.clock-action-panel.with-verification .clock-action-copy,.clock-action-panel.with-verification .clock-action-submit,.clock-action-panel.with-verification .clock-verification-card{grid-area:auto}.clock-location-alert{order:1}.clock-verification-card{background:0 0;border:0;order:1;justify-self:center;gap:0;max-width:390px;padding:0;position:relative}.clock-action-submit{order:3;gap:5px}.workday-state-row{display:contents}.workday-state-copy{text-align:center;order:0;justify-items:center;gap:3px}.workday-state-copy span{letter-spacing:0;text-transform:none;font-size:.76rem;font-weight:700;display:none}.workday-state-copy h3{color:var(--teal);font-size:1.26rem}.workday-state-copy p{font-size:.78rem}.clock-location-alert{gap:7px;padding:7px 9px}.clock-location-alert strong{font-size:.78rem}.clock-location-alert span{font-size:.74rem}.workday-ring-panel{order:2;justify-items:center;gap:16px;width:100%}.clock-action-row{order:3;width:100%;max-width:360px}.clock-action-row.with-camera{grid-template-columns:1fr;justify-items:center}.clock-action-buttons{grid-template-columns:1fr;gap:8px;width:100%}.clock-button-primary,.clock-break-button{min-height:48px;font-size:.96rem}.clock-action-helper{font-size:.74rem;line-height:1.28}.clock-action-helper.mobile-hidden{display:none}.clock-mini-camera{justify-self:center;width:100%;max-width:none}.clock-mini-camera-frame{aspect-ratio:auto;border-radius:8px;height:clamp(280px,44svh,360px);max-height:none}.clock-mini-camera.needs-action{width:100%;max-width:none}.clock-mini-camera-close{opacity:1;width:22px;height:22px}.clock-verification-heading{display:none}.clock-verification-status{color:var(--muted);justify-content:center;align-items:center;gap:8px;display:flex}.clock-verification-status span{color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:0;font-size:.68rem}.clock-verification-status small{min-width:0;color:var(--muted);text-align:left;font-size:.68rem;line-height:1.15}.clock-verification-card.ready .clock-verification-status{color:#fff;pointer-events:none;justify-content:space-between;position:absolute;bottom:8px;left:8px;right:8px}.clock-verification-card.ready .clock-verification-status span{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#07161f9e;border:1px solid #ffffff57;padding:4px 7px}.clock-verification-card.ready .clock-verification-status small{color:#fff;text-align:right;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#07161f80;border:1px solid #ffffff47;border-radius:999px;padding:4px 7px}.clock-copy-desktop,.clock-location-alert .clock-copy-desktop,.clock-action-helper .clock-copy-desktop{display:none}.clock-copy-mobile,.clock-action-helper .clock-copy-mobile{display:inline}.clock-location-alert .clock-copy-mobile{display:block}.workday-footer-chips{order:4;justify-content:center}.workday-footer-chips span{min-height:28px;padding:4px 8px;font-size:.74rem}.clock-requirements,.clock-actions,.clock-action-row,.current-workday-main,.workday-state-row,.workday-progress-grid,.workday-summary-strip,.workday-ring-panel{grid-template-columns:1fr}.workday-ring{width:216px}.workday-ring.muted{width:188px}.clock-action-row .button{justify-content:center;width:100%}.clock-mini-camera .compact-button{width:auto}.workday-summary-strip{gap:5px;width:100%;max-width:394px;padding-top:7px}.workday-summary-items{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:0;width:100%;max-width:394px;display:grid;overflow:hidden}.workday-summary-item{width:auto;min-height:36px;color:var(--ink);background:0 0;border:0;border-radius:0;align-items:center;gap:6px;padding:7px 10px;display:flex}.workday-summary-item+.workday-summary-item{border-left:1px solid var(--line)}.workday-summary-title{display:none}.workday-summary-label{font-size:.68rem}.workday-summary-item strong{font-size:.88rem}.workday-summary-item .legend-dot{flex:none;position:static;transform:none}.clock-break-button{width:100%}.map-canvas{max-width:none;height:280px}.login-copy{min-height:280px}}


