.af-password-wrap{position:relative}.af-password-wrap>input[type=password],.af-password-wrap>input[type=text]{padding-right:42px}.af-password-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0!important;background:transparent!important;padding:4px!important;box-shadow:none!important;cursor:pointer}.af-reports-nav{display:flex;align-items:center;padding:0 14px;border-bottom:2px solid transparent;text-decoration:none;color:inherit;font-weight:650;font-size:13px}.af-reports-nav:hover{background:var(--app-hover,#eaf4fb)}.af-extra-settings{margin-top:14px}.af-card-head h3{margin:0 0 5px}.af-card-head p{margin:0 0 16px;color:#667b8c}.af-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.af-settings-grid label{display:grid;gap:6px;font-size:12px;font-weight:700}.af-settings-grid input,.af-settings-grid textarea{width:100%;border:1px solid var(--app-grid,#e3e8ee);border-radius:6px;padding:9px;background:#fff;color:#173653}.af-settings-grid .wide{grid-column:1/-1}.af-settings-actions{display:flex;gap:12px;align-items:center;margin-top:14px}.af-settings-actions button,.af-sign-actions button,.af-sign-actions a,.af-export-link,.af-mini-link{border:1px solid #c8d5dd;border-radius:6px;background:#fff;color:#173653;padding:7px 10px;text-decoration:none;font-weight:700;font-size:12px;cursor:pointer}.af-settings-actions button,#afSubmitSign{background:var(--app-primary,#4596d3);color:#fff;border-color:var(--app-primary,#4596d3)}.af-note{font-size:11px;color:#6e7f8b;line-height:1.5;margin-top:13px}.af-payroll-doc-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:6px}.af-sign-status,.af-physical-status{display:block;font-size:10px;color:#536a79}.af-physical-status{color:#287a59}.af-export-link{margin-left:6px}.af-sign-panel{margin:18px 0 4px;padding:16px;border:1px solid #d6e1e7;border-radius:9px;background:#f8fafb}.af-sign-panel h3{margin:0 0 8px}.af-sign-panel label:not(.af-accept){display:grid;gap:6px;font-weight:700}.af-sign-panel input[type=text],.af-sign-panel input:not([type]){padding:9px;border:1px solid #cad7df;border-radius:6px}.af-sign-panel canvas{display:block;width:100%;height:170px;background:#fff;border:1px dashed #9fb1bd;border-radius:7px;margin:10px 0;touch-action:none}.af-sign-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.af-accept{display:flex;gap:8px;align-items:flex-start;margin:13px 0;font-size:12px}.af-hash{font:10px monospace;overflow-wrap:anywhere;color:#687c88}@media(max-width:700px){.af-settings-grid{grid-template-columns:1fr}.af-settings-grid .wide{grid-column:auto}.af-reports-nav{padding:8px 10px}.af-payroll-doc-actions{align-items:flex-start;flex-direction:column}}
.af-email-status{display:block;font-size:10px;color:#667b8c}.af-pending-actions{margin-top:7px;padding-top:6px;border-top:1px dashed #d7e1e8}.af-busy{position:relative;padding-left:28px!important}.af-busy:before{content:"";position:absolute;left:10px;top:50%;width:11px;height:11px;margin-top:-6px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:afspin .7s linear infinite}@keyframes afspin{to{transform:rotate(360deg)}}
.af-maintenance{margin-top:18px;padding-top:16px;border-top:1px solid var(--app-grid,#e3e8ee)}.af-maintenance h3{margin:0 0 5px}.af-maintenance>p{margin:0 0 14px;color:#667b8c;font-size:12px;line-height:1.45}.af-danger-button{border-color:#b84b55!important;color:#b84b55!important;background:#fff!important}.af-danger-button:hover{background:#fff3f4!important}.af-settings-actions span{font-size:12px;color:#536a79}
.af-physical-upload{max-width:210px;font-size:10px;color:#536a79}.af-physical-upload::file-selector-button{border:1px solid #c8d5dd;border-radius:5px;background:#fff;color:#173653;padding:5px 7px;font-weight:700;cursor:pointer}
/* v13: compact confirmed payroll acknowledgement without removing evidence */
.confirmation-card{max-width:640px!important;padding:28px 30px!important}
.confirmation-card>img{max-width:112px!important;height:auto!important;margin-bottom:10px!important}
.confirmation-card h1{margin:10px 0 8px!important}
.confirmation-card>p{margin:7px 0!important}
.cash-paper-panel{padding:12px 14px!important;margin:12px 0!important}
.cash-paper-panel .confirmation-password{margin:6px 0!important}
.cash-paper-panel textarea{min-height:64px!important}
.af-sign-panel{margin:12px 0 4px!important;padding:13px!important}
.af-sign-panel-compact{padding:10px 12px!important;background:#f6fbf8!important;border-color:#cfe5d8!important}
.af-signed-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.af-signed-row>div{display:grid;gap:2px;min-width:0}.af-signed-row small{color:#667b8c;font-size:11px}
.af-sign-panel-compact details{margin-top:7px;font-size:11px;color:#617486}.af-sign-panel-compact summary{cursor:pointer;font-weight:700}
.af-sign-panel-compact .af-hash{margin:6px 0 0}
.af-paper-saved{padding:10px 12px!important;background:#f4fbf7!important;border-color:#cfe5d8!important}
.af-physical-confirmed{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#275f49}.af-physical-confirmed span{font-size:11px;color:#667b76}
@media(max-width:700px){.confirmation-card{padding:20px 16px!important}.af-signed-row,.af-physical-confirmed{align-items:flex-start;flex-direction:column}}

.notification-actions{display:flex;gap:7px;align-items:center;margin-left:auto}.af-notification-manager{margin-top:14px}.af-notification-list{display:grid;gap:7px;margin-top:12px}.af-notification-list article{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #e0e7ec;border-radius:7px;padding:10px 12px;background:#fff}.af-notification-list article>div:first-child{display:grid;gap:3px;min-width:0}.af-notification-list small{color:#677b8b;overflow-wrap:anywhere}.af-notification-list article>div:last-child{display:flex;gap:6px;align-items:center}.af-notification-dismiss{border:1px solid #c8d5dd;border-radius:6px;background:#fff;color:#173653;padding:7px 10px;font-weight:700;font-size:12px;cursor:pointer}@media(max-width:700px){.payment-confirmation{align-items:flex-start}.notification-actions{margin-left:0}.af-notification-list article{align-items:flex-start;flex-direction:column}}
/* Final compact business features */
.af-payroll-compact{margin-top:4px;border-top:1px dashed #dce5ea;padding-top:4px;max-width:100%}
.af-payroll-compact>summary,.af-doc-menu>summary{cursor:pointer;list-style:none;font-size:11px;font-weight:750;color:#38556a;display:flex;align-items:center;gap:6px;white-space:nowrap}
.af-payroll-compact>summary::-webkit-details-marker,.af-doc-menu>summary::-webkit-details-marker{display:none}
.af-payroll-compact[open]{background:#f9fbfc;border:1px solid #e1e9ee;border-radius:7px;padding:7px;margin-top:6px}
.af-doc-menu{margin-top:6px}.af-doc-menu>div{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px;align-items:center}
.af-status-chips{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.af-status-chip{font-size:9px;line-height:1;border-radius:999px;padding:4px 6px;background:#eef4f7;color:#466073;border:1px solid #dce7ed}.af-status-chip.ok{background:#eef8f3;color:#287a59;border-color:#cfe5d8}.af-status-chip.warn{background:#fff8eb;color:#896520;border-color:#f0dfb8}
.af-identity-card{margin-top:14px}.af-identity-card .af-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.af-identity-card input[type=file]{font-size:11px;max-width:100%}
.af-payroll-archive-link{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:6px 9px;border:1px solid #ccd9e1;border-radius:6px;background:#fff;color:#173653;text-decoration:none;font-size:11px;font-weight:750}
.af-payroll-period-final{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.af-payroll-period-final label{display:grid;gap:3px;font-size:10px;font-weight:700;color:#536a79}.af-payroll-period-final select{min-width:105px;border:1px solid #ccd8df;border-radius:6px;background:#fff;padding:6px 8px;color:#173653}
.af-reports-nav{border-radius:0!important;white-space:nowrap}.af-reports-nav[aria-current=page]{border-bottom-color:var(--app-primary,#4596d3);color:var(--app-primary,#4596d3)}
@media(max-width:800px){.af-identity-card .af-settings-grid{grid-template-columns:1fr}.af-payroll-period-final{align-items:stretch}.af-payroll-period-final label{flex:1}.af-payroll-period-final select{width:100%}}

.cash-paper-panel{margin-top:18px;opacity:.88}.cash-paper-panel h3{font-size:14px}.af-sign-panel{margin-top:12px}
button,a{ -webkit-tap-highlight-color:transparent}button{transition:transform .15s,background-color .15s,box-shadow .15s}button:active{transform:scale(.96)}button:focus-visible,a:focus-visible{outline:3px solid #4696d3;outline-offset:3px}@keyframes workspaceTap{50%{transform:scale(.96)}}.workspace-tap{animation:workspaceTap .25s}.workspace-busy{position:relative;opacity:.8;pointer-events:none}.workspace-busy:after{content:'';display:inline-block;width:14px;height:14px;margin-inline-start:8px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:workspaceSpin .7s linear infinite}@keyframes workspaceSpin{to{transform:rotate(360deg)}}.workspace-action-feedback{margin:10px 0 0;font-size:13px;line-height:1.5;color:#217547;overflow-wrap:anywhere}.workspace-action-feedback.error{color:#a32c3b}.shiftelia-brand{display:flex;align-items:center;gap:7px;font:600 13px system-ui;color:#173653}.shiftelia-brand img{width:30px;height:30px;object-fit:contain}.auth-card>.shiftelia-brand{justify-content:center;margin-top:22px;padding-top:14px;border-top:1px solid #e3eaf0}.app-header>.shiftelia-brand{margin-inline-start:12px}#workspaceNotifications{position:relative;display:inline-flex;align-items:center;z-index:90;margin-inline-start:10px}.workspace-bell{position:relative;border:1px solid #d5e0e8;background:#fff;color:#173653;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;flex-shrink:0}.workspace-badge{position:absolute;top:-5px;right:-5px;background:#b83146;color:white;font-size:11px;min-width:20px;height:20px;border-radius:20px;display:grid;place-items:center;border:2px solid white}.workspace-badge[hidden]{display:none}#workspaceNotificationPanel{position:absolute;inset-inline-end:0;top:52px;width:min(390px,calc(100vw - 24px));background:#fff;color:#173653;border:1px solid #dce4ea;box-shadow:0 14px 45px #17365330;border-radius:14px;overflow:hidden;text-align:start}#workspaceNotificationPanel[hidden]{display:none}.workspace-bell-head{padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.workspace-bell-head button,.workspace-notification>button{border:0;background:transparent;cursor:pointer;font-size:24px;min-height:44px;min-width:44px;color:#587187}.workspace-bell-actions{padding:0 16px 10px}.workspace-bell-actions button{border:0;background:#edf4f8;color:#173653;padding:9px 12px;border-radius:7px;cursor:pointer}.workspace-notification-list{max-height:min(480px,65vh);overflow:auto}.workspace-notification-list>p{padding:20px}.workspace-notification{display:flex;border-top:1px solid #e7edf2;align-items:flex-start}.workspace-notification.unread{background:#eff7fc}.workspace-notification>a{display:grid;gap:5px;padding:14px 8px 14px 16px;flex:1;text-decoration:none;color:inherit;min-width:0}.workspace-notification b{font-size:14px}.workspace-notification span{font-size:13px;line-height:1.5}.workspace-notification small{color:#6d8192;font-size:11px}.workspace-notifications-ready .payment-confirmation{display:none!important}.workspace-own-archive{font-size:12px;color:#173653;padding:10px 12px;border-radius:8px;background:#edf4f8;text-decoration:none;margin-inline-start:8px}.af-settings-grid[hidden]{display:none!important}.settings-menu [data-workspace-section].active{background:#eaf4fb;color:#173653;font-weight:800}@media(max-width:600px){#workspaceNotificationPanel{position:fixed;top:80px;right:12px;left:12px;width:auto}.workspace-own-archive{font-size:11px;padding:8px}.settings-menu{flex-wrap:wrap}.settings-menu button{min-height:44px}}@media(prefers-reduced-motion:reduce){button,.workspace-tap{animation:none;transition:none}}
/* Minimum 0.5 cm inner spacing for framed content across phone and desktop. */
:root{--workspace-inner-space:0.5cm}.settings-card,.auth-card,.password-panel,.request-card,.payroll-filters,.signed-receipt-task,.cash-paper-panel,.confirmation-card,.card,.box{padding:var(--workspace-inner-space)!important}.section-page:not(:has(.attendance-table)){padding-inline:var(--workspace-inner-space)!important}.history-table th,.history-table td,.payroll-scroll th,.payroll-scroll td{padding:var(--workspace-inner-space)!important}.workspace-notification>a{padding:var(--workspace-inner-space)!important}.workspace-notification-list>p{padding:var(--workspace-inner-space)}.af-payroll-compact .af-doc-menu{padding:var(--workspace-inner-space)}.settings-content{min-width:0}.settings-card input,.settings-card textarea,.settings-card select{max-width:100%;box-sizing:border-box}@media(max-width:600px){.app-main:not(:has(.attendance-table)),main.app-content:not(:has(.attendance-table)){padding-inline:12px}.section-page{margin-inline:0!important}.payroll-scroll,.history-table,.attendance-scroll{overflow-x:auto}.settings-card{margin-inline:0!important}.section-heading{flex-wrap:wrap;gap:12px}} 
.logo-preview{align-content:start;align-self:start}.settings-menu:has([data-workspace-section].active) button:not([data-workspace-section]){background:transparent;color:#435d71}.workspace-bell-actions button{min-height:44px}
.af-sign-panel,.af-notification-list>article,.outbox>div,.history-filters,.employee-admin-strip,.department-style-row{padding:var(--workspace-inner-space)!important}.af-payment-summary{padding:16px;background:#edf5fa;border-radius:8px;text-align:start;line-height:1.6}.af-sign-panel canvas{touch-action:none}.settings-menu button{line-height:1.45;min-height:44px}.settings-content h2{font-size:24px;letter-spacing:-.3px}.settings-content .settings-card{box-shadow:0 2px 12px #17365305}.af-extra-settings .af-card-head{padding-bottom:14px;border-bottom:1px solid #e3eaf0;margin-bottom:20px}.af-extra-settings .af-settings-actions{padding-top:16px;border-top:1px solid #e3eaf0;margin-top:22px}.settings-content label{line-height:1.45}.settings-content input:not([type=color]):not([type=checkbox]),.settings-content select,.settings-content textarea{min-height:44px;padding:11px 12px;border-radius:8px}.settings-menu{padding:12px}.af-maintenance{border-top:0!important;margin-top:0!important;padding-top:0!important}@media(max-width:760px){.settings-shell{gap:18px}.settings-menu{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.settings-menu button{text-align:start;white-space:normal;padding:12px}.settings-card{grid-template-columns:1fr!important}.logo-preview{max-width:300px}.user-editor{grid-template-columns:1fr!important}.af-sign-panel{padding:19px!important}}
[hidden]{display:none!important}

.workspace-notification{touch-action:pan-y;transition:transform .18s ease,opacity .18s ease}.workspace-notification>button{min-width:44px;min-height:44px;font-size:24px;align-self:start}.workspace-notification-list{overflow-x:hidden}.receipt-version{display:flex;flex-wrap:wrap;gap:8px;width:100%;padding:var(--workspace-inner-space);background:#f6f9fb;border-radius:8px}.receipt-version strong,.receipt-version p{width:100%;margin:0}.earlier-receipts{width:100%;margin-top:12px}.earlier-receipts summary{cursor:pointer;font-weight:700;margin-bottom:12px}

/* Date headers stay above their own cells during horizontal scrolling. */
.attendance-table thead th:not(.sticky-left):not(.summary){left:auto!important;right:auto!important}

.af-calendar-button{border:1px solid #c7d4dc;background:#fff;color:#173653;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer;min-height:38px}.af-calendar-dialog{width:min(760px,calc(100vw - 28px));max-height:88vh;border:0;border-radius:14px;padding:0;box-shadow:0 24px 70px #17365340;color:#173653}.af-calendar-dialog::backdrop{background:#0d1e2d80}.af-cal-head{display:flex;justify-content:space-between;gap:18px;padding:24px;border-bottom:1px solid #e2e9ee}.af-cal-head h2{margin:0 0 6px;font-size:24px}.af-cal-head p{margin:0;color:#63798a;line-height:1.5}.af-cal-close{border:0;background:transparent;font-size:30px;line-height:1;width:42px;height:42px;cursor:pointer;color:#63798a}.af-cal-section{padding:20px 24px;border-bottom:1px solid #e7edf1}.af-cal-section:last-child{border-bottom:0}.af-cal-section h3{margin:0 0 12px}.af-cal-checks,.af-cal-inline{display:flex;gap:18px;flex-wrap:wrap;margin:14px 0}.af-cal-checks label,.af-cal-inline{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700}.af-cal-share-create{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.af-cal-share-create select{min-width:240px;min-height:42px}.af-cal-share-create button,.af-cal-share-actions button,.af-cal-share-actions a{border:1px solid #c8d5dd;border-radius:7px;background:#fff;color:#173653;padding:8px 11px;text-decoration:none;font-weight:700;font-size:12px;cursor:pointer}.af-cal-share{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #edf1f4}.af-cal-share:last-child{border-bottom:0}.af-cal-share div:first-child{display:grid;gap:3px}.af-cal-share small{color:#748795}.af-cal-share-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.af-note{font-size:12px;color:#667b8c;line-height:1.5}.af-calendar-dialog .af-settings-actions{flex-wrap:wrap}.af-calendar-dialog select,.af-calendar-dialog input{min-height:42px;border:1px solid #d6e0e6;border-radius:8px;padding:9px 10px;background:#fff;color:#173653}@media(max-width:650px){.af-calendar-dialog{width:calc(100vw - 16px);max-height:92vh}.af-cal-head,.af-cal-section{padding:18px}.af-cal-share{align-items:flex-start;flex-direction:column}.af-cal-share-create select{width:100%;min-width:0}.af-calendar-button{padding:7px 9px;font-size:12px}}

@media(max-width:700px){.payroll-page .payroll-scroll{overflow:visible!important}.payroll-page .payroll-scroll table,.payroll-page .payroll-scroll tbody{display:block!important;width:100%!important;min-width:0!important}.payroll-page .payroll-scroll thead{display:none!important}.payroll-page .payroll-scroll tr{display:block!important;width:100%!important;margin:0 0 14px!important;padding:8px 12px!important;border:1px solid #dce4ea!important;border-radius:12px!important;background:#fff!important;box-shadow:0 2px 8px rgba(20,45,65,.05)!important}.payroll-page .payroll-scroll td{display:grid!important;grid-template-columns:minmax(118px,42%) minmax(0,1fr)!important;gap:10px!important;align-items:center!important;width:100%!important;min-width:0!important;padding:9px 0!important;border:0!important;border-bottom:1px solid #edf1f4!important;white-space:normal!important;overflow-wrap:anywhere!important}.payroll-page .payroll-scroll td:last-child{border-bottom:0!important}.payroll-page .payroll-scroll td:before{font-size:12px;font-weight:800;color:#667b8d;line-height:1.25}.payroll-page .payroll-scroll td:nth-child(1):before{content:"Employee"}.payroll-page .payroll-scroll td:nth-child(2):before{content:"Department"}.payroll-page .payroll-scroll td:nth-child(3):before{content:"Contract salary"}.payroll-page .payroll-scroll td:nth-child(4):before{content:"Currency"}.payroll-page .payroll-scroll td:nth-child(5):before{content:"Required hours"}.payroll-page .payroll-scroll td:nth-child(6):before{content:"Actual hours"}.payroll-page .payroll-scroll td:nth-child(7):before{content:"Missing"}.payroll-page .payroll-scroll td:nth-child(8):before{content:"Absence deduction"}.payroll-page .payroll-scroll td:nth-child(9):before{content:"Missing-hour deduction"}.payroll-page .payroll-scroll td:nth-child(10):before{content:"Overtime"}.payroll-page .payroll-scroll td:nth-child(11):before{content:"Final salary"}.payroll-page .payroll-scroll td:nth-child(12):before{content:"Payment"}.payroll-page .payroll-scroll input,.payroll-page .payroll-scroll select,.payroll-page .payroll-scroll button{max-width:100%!important}.payroll-page .payment-state{min-width:0!important;align-items:flex-start!important}.payroll-page .payroll-filters{grid-template-columns:1fr!important}.payroll-page .payroll-heading-actions{flex-wrap:wrap!important;align-items:flex-start!important}}
.af-notification-preferences{display:grid;gap:10px;margin:6px 0 4px}.af-notification-preferences label{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #e1e8ed;border-radius:9px;background:#fafcfd;cursor:pointer}.af-notification-preferences input{margin-top:3px}.af-notification-preferences span{display:grid;gap:3px}.af-notification-preferences small{color:#6f8290;font-weight:400;line-height:1.4}
.af-prof-settings-nav{display:grid;gap:5px;width:100%}.settings-menu .af-prof-settings-nav button{width:100%;text-align:left;border:0;background:transparent;color:#526b7d;border-radius:8px;padding:10px 11px;font-weight:700;cursor:pointer}.settings-menu .af-prof-settings-nav button:hover{background:#f1f5f7}.settings-menu .af-prof-settings-nav button.active{background:#eaf2f7;color:#173653;box-shadow:inset 3px 0 0 #3d789e}.af-security-grid,.af-calendar-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.af-security-grid>div,.af-calendar-summary>div{border:1px solid #e1e8ed;background:#fbfcfd;border-radius:9px;padding:13px;display:grid;gap:4px}.af-security-grid b,.af-calendar-summary b{color:#173653}.af-security-grid span,.af-calendar-summary span{font-size:12px;color:#6f8290;line-height:1.45}@media(max-width:760px){.settings-shell{grid-template-columns:1fr!important}.settings-menu{position:static!important}.af-prof-settings-nav{display:flex;overflow-x:auto;gap:6px;padding-bottom:4px}.settings-menu .af-prof-settings-nav button{width:auto;white-space:nowrap;border:1px solid #e0e7ec}.settings-menu .af-prof-settings-nav button.active{box-shadow:none;border-color:#8eb3c9}.af-security-grid,.af-calendar-summary{grid-template-columns:1fr}}
.af-profile-card{padding:0!important;overflow:hidden}.af-profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 26px;border-bottom:1px solid #e5ebef;background:linear-gradient(180deg,#fff,#fbfcfd)}.af-profile-header h2{margin:4px 0 6px;font-size:25px}.af-profile-header p{margin:0;color:#6e8291}.af-profile-kicker{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#7c92a2}.af-profile-status{padding:7px 10px;border-radius:999px;background:#edf7f0;color:#39744d;font-size:12px;font-weight:800;white-space:nowrap}.af-profile-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:520px}.af-profile-summary{padding:26px 22px;border-right:1px solid #e7edf1;background:#f8fafb;text-align:center}.af-profile-photo-wrap{display:grid;justify-items:center;gap:10px}.af-profile-photo-wrap img{width:104px;height:104px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 4px 16px rgba(23,54,83,.12);background:#edf2f5}.af-profile-photo-btn{display:inline-flex!important;align-items:center;justify-content:center;padding:8px 11px!important;border:1px solid #cbd8e0;border-radius:8px;background:#fff;color:#315b78;font-size:12px!important;font-weight:800!important;cursor:pointer}.af-profile-photo-btn input{display:none}.af-profile-summary h3{margin:18px 0 4px;font-size:18px}.af-profile-summary>p{margin:0 0 20px;color:#6b7f8e;font-size:13px}.af-profile-meta{display:grid;text-align:left;border-top:1px solid #e1e8ec}.af-profile-meta span{display:grid;gap:3px;padding:12px 0;border-bottom:1px solid #e1e8ec;color:#516a7c;font-size:12px;overflow-wrap:anywhere}.af-profile-meta b{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#8294a1}.af-profile-details{padding:24px 26px;display:grid;gap:26px}.af-profile-section{display:grid;gap:14px}.af-profile-section+.af-profile-section{padding-top:24px;border-top:1px solid #edf1f4}.af-profile-section-head h3{margin:0 0 4px;font-size:16px}.af-profile-section-head p{margin:0;color:#7b8d9a;font-size:12px}.af-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.af-profile-grid label{display:grid;gap:6px;font-size:12px;font-weight:750;color:#526b7c}.af-profile-grid .wide{grid-column:1/-1}.af-profile-grid input{background:#fff}.af-profile-grid input:disabled{background:#f3f6f8;color:#7d8d98;border-color:#e2e8ec}.af-profile-footer{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:16px 26px;border-top:1px solid #e5ebef;background:#fbfcfd;position:sticky;bottom:0}.af-profile-footer span{margin-right:auto;font-size:12px;color:#557083}.af-profile-footer button{min-width:130px}@media(max-width:820px){.af-profile-header{padding:20px}.af-profile-shell{grid-template-columns:1fr}.af-profile-summary{border-right:0;border-bottom:1px solid #e7edf1;padding:20px}.af-profile-meta{grid-template-columns:repeat(3,minmax(0,1fr));text-align:center}.af-profile-meta span{padding:10px 6px}.af-profile-details{padding:20px}.af-profile-footer{padding:14px 20px}}@media(max-width:560px){.af-profile-header{align-items:stretch;flex-direction:column}.af-profile-status{align-self:flex-start}.af-profile-meta{grid-template-columns:1fr}.af-profile-grid{grid-template-columns:1fr}.af-profile-grid .wide{grid-column:auto}.af-profile-footer{align-items:stretch;flex-direction:column}.af-profile-footer span{margin:0}.af-profile-footer button{width:100%}}
.receipt-downloads,.review-receipt-downloads{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.receipt-link{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid #b7c8d3;border-radius:7px;background:#fff;color:#245e88;text-decoration:none;font-size:12px;font-weight:800}.receipt-link.signed{background:#245e88;color:#fff;border-color:#245e88}.review-receipt-downloads{padding:12px;background:#f8fbfd;border:1px solid #dfe8ed;border-radius:10px}
.payroll-needs-review{border-color:#d95656!important;background:#fff8f8!important;box-shadow:0 0 0 2px rgba(201,54,54,.08)!important}.payroll-needs-review .status-line{background:#c93636!important}.payroll-review-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:4px}.payroll-review-summary>div{display:grid;gap:3px;padding:10px;border:1px solid #e3e7ea;border-radius:8px;background:#fff}.payroll-review-summary span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#748494;font-weight:800}.payroll-review-summary b{font-size:14px;color:#233d52}.payroll-review-summary .remaining{border-color:#dc7f7f;background:#fff0f0}.payroll-review-summary .remaining b{color:#b52e2e}.payroll-correction-fields{border:1px solid #e5bcbc;border-radius:12px;background:#fffafa;padding:14px;display:grid;gap:12px}.review-receipt-downloads{display:flex;gap:8px;flex-wrap:wrap;padding:12px;background:#f8fbfd;border:1px solid #dfe8ed;border-radius:10px}.receipt-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border:1px solid #b7c8d3;border-radius:7px;background:#fff;color:#245e88;text-decoration:none;font-size:12px;font-weight:800}.receipt-link.signed{background:#245e88;color:#fff;border-color:#245e88}.receipt-link[href="#"]{opacity:.45;pointer-events:none}@media(max-width:700px){.payroll-review-summary{grid-template-columns:1fr 1fr}.payroll-review-summary .remaining{grid-column:1/-1}}
.workspace-notification.urgent{border-left:4px solid #c93636!important;background:#fff7f7!important}.workspace-notification.urgent b{color:#b12c2c!important}.workspace-notification.urgent.unread{box-shadow:inset 0 0 0 1px #efc3c3!important}
.department-add-row{display:flex;gap:8px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid #e2e8ec}.department-add-row input{flex:1;min-width:0;padding:9px 10px;border:1px solid #cfd9e0;border-radius:7px;background:#fff}.department-add-row button{border:1px solid #8eb2c8;background:#eef5f8;color:#245e88;border-radius:7px;padding:9px 12px;font-weight:800;cursor:pointer;white-space:nowrap}@media(max-width:620px){.department-add-row{align-items:stretch;flex-direction:column}.department-add-row button{width:100%}}
.app-header{position:relative}.af-signout-top{margin-left:auto!important}@media(max-width:700px){.app-header{padding-right:92px!important}.af-signout-top{position:absolute!important;right:12px;top:12px;z-index:20;margin:0!important;padding:8px 10px!important}}

.settings-content .af-company-native,.settings-content .af-company-communications{display:grid!important;gap:18px;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.af-company-block{background:#fff;border:1px solid #dfe7ec;border-radius:12px;padding:18px;box-shadow:0 1px 2px rgba(23,54,83,.03)}
.af-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid #edf1f4}
.af-section-title h3{margin:0 0 4px;font-size:16px;color:#173653}.af-section-title p{margin:0;color:#718593;font-size:12px;line-height:1.45}
.af-company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.af-company-grid label{display:grid;gap:6px;margin:0}.af-company-grid label.wide{grid-column:1/-1}
.af-company-logo-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #edf1f4}.af-company-logo-row .logo-preview{margin:0!important}.af-company-logo-row .logo-controls{margin:0!important}
.af-company-departments .department-appearance{margin:0!important;padding:0!important;border:0!important;background:transparent!important}.af-company-departments .department-appearance>h3{font-size:16px;margin:0 0 4px}.af-company-departments .department-appearance>p{margin:0 0 14px;color:#718593;font-size:12px}
.af-company-departments .department-appearance-row{display:grid!important;grid-template-columns:minmax(150px,1fr) 44px 36px 36px 36px 36px;gap:7px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f4}
.af-company-departments .department-appearance-row:last-of-type{border-bottom:0}.af-company-departments .department-appearance>button{margin-top:14px!important;width:auto!important}
.af-company-savebar{display:flex;align-items:center;justify-content:flex-end;gap:12px;background:#fff;border:1px solid #dfe7ec;border-radius:12px;padding:14px 16px;position:sticky;bottom:10px;z-index:4;box-shadow:0 8px 22px rgba(23,54,83,.08)}
.af-company-savebar span{margin-right:auto}.af-company-danger{border:1px solid #efc7cc!important;background:#fffafa!important;border-radius:12px!important;padding:18px!important;margin:0!important}.af-company-danger h3{color:#a73846!important;margin:0 0 4px!important}.af-danger-copy{margin:0 0 14px;color:#7d5a60;font-size:12px;line-height:1.45}
@media(min-width:980px){.af-company-communications{grid-template-columns:repeat(2,minmax(0,1fr))}.af-company-communications>.af-card-head,.af-company-communications>.af-company-savebar,.af-company-communications>.af-company-danger,.af-company-communications>datalist{grid-column:1/-1}}
@media(max-width:760px){.af-company-grid{grid-template-columns:1fr}.af-company-grid label.wide{grid-column:auto}.af-company-logo-row{align-items:flex-start;flex-direction:column}.af-company-departments .department-appearance-row{grid-template-columns:minmax(120px,1fr) 42px repeat(4,34px)}.af-company-savebar{bottom:6px;align-items:stretch;flex-direction:column}.af-company-savebar span{margin:0}}


@media(max-width:700px){
 .topbar{position:relative!important;height:auto!important;min-height:108px!important;padding:10px 12px!important;display:block!important}
 .topbar .brand{min-height:44px!important;padding-right:132px!important;gap:8px!important}
 .topbar .brand img{width:72px!important;height:26px!important}
 .topbar .brand strong{font-size:14px!important}.topbar .brand small{font-size:10px!important;margin-top:2px!important}
 .topbar .header-actions{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;width:100%!important;margin-top:9px!important;padding:0!important}
 .topbar .header-actions .user-identity{display:none!important}
 .topbar .header-actions .preview-control{display:flex!important;flex:1 1 120px!important;min-width:0!important;gap:4px!important}
 .topbar .header-actions .preview-control>span{display:none!important}
 .topbar .header-actions .preview-control select{width:100%!important;min-width:0!important;max-width:none!important;height:36px!important}
 .topbar .header-actions .preview-employee{display:none!important}
 .topbar .header-actions .language-select{flex:0 0 92px!important;width:92px!important;min-width:0!important;height:36px!important}
 .topbar #afCalendarButton{flex:0 0 auto!important;height:36px!important;padding:7px 10px!important;font-size:12px!important}
 .topbar .af-signout-top{position:absolute!important;top:10px!important;right:10px!important;z-index:120!important;margin:0!important;height:38px!important;padding:7px 10px!important;font-size:12px!important}
 .topbar #workspaceNotifications{position:absolute!important;top:10px!important;right:91px!important;z-index:121!important;margin:0!important}
 .topbar #workspaceNotifications .workspace-bell{width:38px!important;height:38px!important}
 #workspaceNotificationPanel{right:-79px!important;top:44px!important}
}

@media(max-width:760px){.settings-menu{display:block!important}.af-prof-settings-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;width:100%!important}.settings-menu .af-prof-settings-nav button{width:100%!important;white-space:normal!important;text-align:center!important;min-height:42px!important;padding:9px 8px!important}.settings-menu .af-prof-settings-nav button[data-af-settings='departments']{border-color:#7aa7c0!important;background:#edf6fb!important;color:#173653!important;font-weight:900!important}}
@media(max-width:760px){.settings-menu{display:block!important}.af-prof-settings-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;width:100%!important}.settings-menu .af-prof-settings-nav button{width:100%!important;white-space:normal!important;text-align:center!important;min-height:42px!important;padding:9px 8px!important}.topbar{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px 10px!important;align-items:start!important;padding:10px 12px!important}.topbar .brand{grid-column:1/2!important;grid-row:1!important;min-width:0!important}.topbar .brand img{max-width:62px!important;height:auto!important}.topbar .header-actions{grid-column:1/-1!important;grid-row:2!important;display:flex!important;flex-wrap:wrap!important;gap:7px!important;align-items:center!important;justify-content:flex-start!important;padding-right:0!important}.topbar .af-signout-top{position:absolute!important;top:10px!important;right:12px!important;z-index:40!important;margin:0!important;padding:8px 10px!important}.topbar #workspaceNotifications{position:absolute!important;top:10px!important;right:102px!important;z-index:39!important}.topbar .user-identity{display:none!important}.topbar .preview-control,.topbar .language-select,.topbar .preview-employee{max-width:100%!important}}
.employee-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:0 0 30px;border:2px solid #fff;box-shadow:0 1px 4px rgba(23,54,83,.16);background:#edf2f5}.employee-name-avatar{display:inline-flex;align-items:center;gap:8px}.employee-cell .employee-avatar{margin-right:2px}.names-collapsed .employee-avatar{width:28px;height:28px;flex-basis:28px}.names-collapsed .employee-initial{display:flex}@media(max-width:760px){.employee-avatar{width:26px;height:26px;flex-basis:26px}.employee-name-avatar{gap:6px}}
.employee-avatar-placeholder{position:relative;display:inline-block!important;background:#eef2f5!important;border:1px solid #d6e0e6!important;box-shadow:none!important}.employee-avatar-placeholder:before{content:"";position:absolute;left:50%;top:23%;width:28%;height:28%;transform:translateX(-50%);border-radius:50%;background:#8798a5}.employee-avatar-placeholder:after{content:"";position:absolute;left:50%;bottom:17%;width:56%;height:32%;transform:translateX(-50%);border-radius:50% 50% 42% 42%/70% 70% 30% 30%;background:#8798a5}

@media(min-width:821px){.settings-page.settings-shell{width:min(1280px,calc(100vw - 48px))!important;max-width:1280px!important;margin:22px auto!important;grid-template-columns:220px minmax(0,1fr)!important;align-items:start}.settings-content{width:100%!important;max-width:none!important}.settings-content>.af-extra-settings{display:block!important;grid-template-columns:none!important;width:100%!important}.af-profile-card{display:block!important;grid-template-columns:none!important}.af-profile-shell{grid-template-columns:250px minmax(0,1fr)!important}.af-profile-details{min-width:0!important}.af-calendar-settings-card{display:block!important}}
.settings-card.af-departments-only{display:block!important;grid-template-columns:none!important}
.settings-card.af-departments-only>*{display:none!important}
.settings-card.af-departments-only>.department-appearance,.settings-card.af-departments-only>button,.settings-card.af-departments-only>.settings-message{display:block!important}
.settings-card.af-departments-only>.department-appearance{margin:0!important;max-width:none!important}
.af-department-save-note{margin:0 0 14px;padding:10px 12px;border-radius:8px;background:#edf7f1;color:#32694a;font-size:12px;font-weight:700}
.af-calendar-settings-card .af-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.af-calendar-ready{padding:7px 10px;border-radius:999px;background:#edf7f0;color:#39744d;font-size:12px;font-weight:800;white-space:nowrap}.af-calendar-settings-section{padding:18px 0}.af-calendar-settings-section+.af-calendar-settings-section{border-top:1px solid #e5ebef}.af-calendar-settings-section h4{margin:0 0 5px;font-size:16px;color:#173653}.af-calendar-primary-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 13px;border-radius:8px;background:#245e88;color:#fff!important;text-decoration:none;font-weight:800}.af-calendar-settings-card .af-settings-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.af-calendar-settings-card .af-settings-grid{margin-top:14px}
@media(max-width:820px){.af-calendar-settings-card .af-card-head{flex-direction:column}.settings-card.af-departments-only>.department-appearance{overflow-x:auto}}
/* Profile controls retain visible affordances on desktop and phone. */
#afMyProfile{overflow:hidden;border-radius:14px;border:1px solid #d5e1e9;box-shadow:0 4px 20px #17365308}
#afMyProfile .af-profile-header{padding:24px 26px;background:#fff}
#afMyProfile .af-profile-shell{grid-template-columns:230px minmax(0,1fr)}
#afMyProfile .af-profile-summary{padding:26px 20px;background:#f6f9fb}
#afMyProfile .af-profile-details{padding:24px 26px}
#afMyProfile .af-profile-grid{gap:18px 20px}
#afMyProfile .af-profile-grid label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#435e73}
#afMyProfile .af-profile-grid input,#afMyProfile .af-profile-grid select{width:100%;height:44px;padding:10px 12px;border:1px solid #cad9e3!important;border-radius:8px;background:#fff!important;color:#173653!important;font-size:14px;font-weight:400;box-shadow:none}
#afMyProfile .af-profile-grid input:disabled,#afMyProfile .af-profile-grid select:disabled{background:#f0f3f6!important;color:#6c8091!important;border-color:#e0e7ec!important;cursor:not-allowed;opacity:1}
#afMyProfile.af-profile-employee input:not(:disabled):not([type=file]),#afMyProfile.af-profile-employee select:not(:disabled),#afMyProfile.af-profile-employee textarea:not(:disabled){background:#eaf7ed!important;border-color:#afd6b9!important;color:#20482e!important}
#afMyProfile.af-profile-employee .af-profile-photo-btn{background:#eaf7ed!important;border-color:#afd6b9!important}
#afMyProfile .af-profile-grid input:focus{outline:2px solid #5193bd!important;outline-offset:2px}
#afMyProfile .af-profile-photo-wrap img{display:block;width:112px;height:112px;object-fit:cover;border:4px solid white;box-shadow:0 4px 18px #17365315}
#afMyProfile .af-photo-help{display:block;font-size:11px;font-weight:400;line-height:1.5;color:#6d8495;max-width:180px;margin:10px auto}
#afMyProfile .af-profile-section-head{margin-bottom:16px}
#afMyProfile .af-profile-section-head h3{font-size:16px;font-weight:700}
#afMyProfile .af-profile-section{padding-bottom:24px;margin-bottom:24px}
#afMyProfile .af-profile-footer{padding:18px 26px;border-top:1px solid #dce6ec;background:#fff;gap:12px}
#afMyProfile #afProfileMsg{font-size:13px;line-height:1.5}
#afMyProfile .af-editable-hint{font-size:12px;color:#39764b;margin-top:10px}
@media(max-width:800px){#afMyProfile .af-profile-shell{grid-template-columns:1fr}#afMyProfile .af-profile-summary{border-bottom:1px solid #dce6ec}#afMyProfile .af-profile-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}#afMyProfile .af-profile-details{padding:20px}#afMyProfile .af-profile-header{padding:20px}}
@media(max-width:520px){#afMyProfile .af-profile-grid{grid-template-columns:1fr}#afMyProfile .af-profile-meta{grid-template-columns:1fr}#afMyProfile .af-profile-footer{padding:18px 20px;align-items:stretch;flex-direction:column}}

body.af-employee-settings .settings-shell input:not(:disabled):not([type=checkbox]):not([type=radio]):not([type=file]),body.af-employee-settings .settings-shell select:not(:disabled),body.af-employee-settings .settings-shell textarea:not(:disabled){background:#eaf7ed!important;border-color:#afd6b9!important;color:#20482e!important}
body.af-employee-settings .settings-shell input[type=checkbox]{accent-color:#5a9c70}

.af-profile-correction{padding:20px 26px;border-top:1px solid #dce6ec;background:#f8fafb}.af-profile-correction summary{cursor:pointer;font-weight:700;color:#285a79}.af-profile-correction p{font-size:13px;line-height:1.5;color:#627c8f}.af-profile-correction label{display:grid;gap:8px;font-weight:700;font-size:12px}.af-profile-correction textarea{width:100%;padding:12px;border:1px solid #cad9e3;border-radius:8px;background:#eaf7ed;color:#173653;resize:vertical;font:14px Arial}.af-profile-correction button{margin-top:12px;padding:10px 16px;border:0;border-radius:8px;background:#285a79;color:white;font-weight:700}.af-profile-correction button:disabled{opacity:.6}
.settings-content>[hidden],.settings-content [data-af-subpage][hidden],.settings-content .af-maintenance[hidden],.settings-content .af-settings-actions[hidden],.settings-content .department-appearance[hidden]{display:none!important}
.settings-shell .settings-content{min-width:0;align-self:start;scroll-margin-top:0}
.settings-shell .settings-content>.section-heading{display:none!important}
.settings-shell .password-panel>.section-heading{display:none!important}
.settings-shell .af-card-head h3{font-size:18px!important;line-height:1.3;margin:0 0 7px}
.settings-shell .af-card-head p{max-width:680px;line-height:1.5}
.settings-shell .af-settings-subpage{margin-top:20px}
.settings-card.af-departments-only>.logo-controls{display:block!important}
.settings-card.af-departments-only>.logo-controls>:not(.department-appearance):not(button):not(.settings-message){display:none!important}
.settings-card.af-departments-only>.logo-controls>.department-appearance{display:block!important;margin:0 0 16px!important}
.settings-card.af-departments-only>.logo-controls>button,.settings-card.af-departments-only>.logo-controls>.settings-message{display:inline-block!important}
.settings-shell .af-prof-settings-nav{display:grid;gap:5px}
.settings-shell .af-prof-settings-nav button{font-size:14px;padding:12px 14px;text-align:start}
.settings-shell .af-prof-settings-nav button[aria-current=page]{background:#eaf2f7;color:#245779;border-inline-start:3px solid #3f7da5}
@media(max-width:700px){.settings-shell .settings-menu{position:static}.settings-shell .af-prof-settings-nav{display:flex;flex-wrap:wrap;gap:6px}.settings-shell .af-prof-settings-nav button{padding:9px 11px;font-size:12px}.settings-shell .settings-content{width:100%}}

.payroll-ledger-actions{display:grid;gap:7px;max-width:300px}.payroll-ledger-actions small,.payroll-balance-note{font-size:12px;line-height:1.5;color:#536c7e}.payroll-review-ledger{background:#f4f8fb;border:1px solid #dce5ec;border-radius:10px;padding:12px;font-size:12px;line-height:1.6;max-height:280px;overflow:auto}.payroll-review-ledger h4{font-size:14px;margin:8px 0}.payroll-return-fields{display:grid;gap:12px;padding:14px;border:1px solid #e9cfab;border-radius:10px;background:#fff9f1}.payment-ledger-summary{border:1px solid #d9e5eb;border-radius:12px;background:#f4f8fb;padding:14px;margin:14px 0;text-align:left;line-height:1.5}.payment-ledger-summary h2{font-size:16px;margin:0 0 10px}.payment-ledger-summary p{font-size:12px;margin:8px 0}
/* v59: bounded review dialog and legible reconciliation */
[data-slot="dialog-content"].payroll-review-modal{width:min(960px,calc(100vw - 32px));max-width:960px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;}
.payroll-review-modal .request-detail{min-width:0;}.payroll-review-modal .payroll-review-ledger{max-height:none!important;overflow:visible!important;}.payroll-review-modal .ledger-explanation{line-height:1.6;white-space:normal;}.payroll-review-modal .ledger-table-wrap{overflow-x:auto;}.payroll-review-modal .ledger-history-table{width:100%;border-collapse:collapse;font-size:13px;}.ledger-history-table th,.ledger-history-table td{text-align:left;padding:10px;border-bottom:1px solid #dbe4ec;}.payroll-review-modal details summary{cursor:pointer;font-weight:700;padding:8px 0;}.payroll-review-modal [data-slot="dialog-footer"]{position:sticky;bottom:-24px;background:var(--background,#fff);padding:12px 0;border-top:1px solid #dbe4ec;z-index:2;}@media(max-width:640px){[data-slot="dialog-content"].payroll-review-modal{padding:18px;max-height:calc(100dvh - 20px);width:calc(100vw - 20px);}.payroll-review-modal .correction-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
.af-test-reset-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #dfc4c4;border-radius:12px;padding:24px;color:#173653}.af-test-reset-dialog::backdrop{background:#0007}.af-test-reset-dialog label{display:grid;gap:6px;margin:16px 0;font-weight:700}.af-test-reset-dialog input{padding:10px;border:1px solid #c9d5df;border-radius:6px}.af-test-reset-dialog p{line-height:1.6}.af-test-reset-message{min-height:24px}.af-maintenance [data-test-payroll-reset]{margin-top:16px;}
/* v65: concise, clearly separated notification actions and centred dialogs. */
#workspaceNotificationPanel{width:min(420px,calc(100vw - 24px));max-height:min(680px,85vh);overflow:auto;border:1px solid #d9e2eb;box-shadow:0 12px 40px #17365322}
#workspaceNotificationPanel .workspace-bell-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid #e4ebf1}
#workspaceNotificationPanel .workspace-bell-actions button{flex:0 1 auto;border-radius:7px;padding:8px 12px;font-size:12px;line-height:1.4;border:1px solid #ccd9e5;background:#f6f9fc;color:#245778}
#workspaceNotificationPanel [data-clear-all]{background:#fff!important;color:#a33b45!important;border-color:#e8c8cd!important}
#workspaceNotificationPanel .workspace-notification{padding:14px 16px;border-bottom:1px solid #e6edf3;background:#fff;position:relative}
#workspaceNotificationPanel .workspace-notification.unread{background:#f0f6fc;border-inline-start:3px solid #367daa}
#workspaceNotificationPanel .workspace-notification.urgent{background:#fff8eb;border-inline-start:3px solid #bd8526}
#workspaceNotificationPanel .workspace-notification a{display:grid;gap:6px;line-height:1.5;padding-inline-end:18px}
#workspaceNotificationPanel .workspace-notification small{color:#708397}
#workspaceNotificationPanel .workspace-notification>button{position:absolute;inset-inline-end:8px;top:10px;min-width:26px;min-height:26px;color:#778899;background:transparent}
dialog.af-test-reset-dialog,dialog.af-reset-dialog{position:fixed;inset:0;margin:auto!important;width:min(560px,calc(100vw - 28px));max-height:90vh;overflow:auto;border:1px solid #d4dfe8;border-radius:14px;padding:24px;background:#fff;color:#173653}
dialog.af-test-reset-dialog::backdrop,dialog.af-reset-dialog::backdrop{background:#17365366}
dialog.af-reset-dialog label,dialog.af-test-reset-dialog label{display:grid;gap:7px;margin:14px 0}
dialog.af-reset-dialog input,dialog.af-reset-dialog select,dialog.af-reset-dialog textarea{width:100%;padding:10px;border:1px solid #cad9e6;border-radius:6px}
#afReceiptResponsible h3,#afExcessDecision h3{margin-bottom:12px}
#afExcessDecision button{margin:8px;padding:10px 14px;border:1px solid #b9ccd9;border-radius:7px}
button,a.btn,a.primary{transition:transform .14s,box-shadow .14s,filter .14s}
button:active,a.btn:active,a.primary:active{transform:scale(.97)}
.workspace-tap{animation:shifteliaTap .45s ease!important}
.workspace-busy{position:relative!important;cursor:wait!important;opacity:.8!important;pointer-events:none!important;padding-inline-end:38px!important}
.workspace-busy:after{content:"";position:absolute;inset-inline-end:12px;top:calc(50% - 8px);width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:shifteliaSpin .7s linear infinite}
.workspace-notification a{cursor:pointer;border-radius:8px;transition:background .15s,transform .15s;position:relative}
.workspace-notification a:hover,.workspace-notification a:focus-visible{background:#dfebf6;outline:2px solid #5684ad;outline-offset:4px}
.workspace-opening{background:#dbeaf6!important;opacity:.7;pointer-events:none}
#afPayBonus,.af-bonus-button{background:linear-gradient(135deg,#e6c66c,#c99d35)!important;border:1px solid #a7791f!important;color:#372807!important;font-weight:700;box-shadow:0 2px 5px #97712025}
@keyframes shifteliaSpin{to{transform:rotate(360deg)}}
@keyframes shifteliaTap{50%{transform:scale(.96);box-shadow:0 0 0 5px #c29b4350}}
@media(prefers-reduced-motion:reduce){.workspace-tap{animation:none!important}.workspace-busy:after{animation-duration:1.6s}}
/* Payroll actions and calculation preferences have separate rows. */
.payroll-page>.section-heading{display:grid!important;grid-template-columns:minmax(180px,1fr) minmax(420px,640px);gap:20px;align-items:start!important;margin-bottom:18px}
.payroll-heading-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important;min-width:0;width:100%;align-items:stretch!important}
.payroll-heading-actions>button{min-height:42px!important;height:auto!important;width:100%;padding:10px 14px!important;border:1px solid #b9cbd8!important;border-radius:9px!important;font-size:13px!important;line-height:1.3!important;font-weight:650!important;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;white-space:normal;box-shadow:0 1px 2px #1736530a;background:#fff;color:#173653}
.payroll-heading-actions>button:not([data-test-payroll-reset]):not(#afPayBonus){grid-column:1;grid-row:1}
.payroll-heading-actions>#afPayBonus{grid-column:2;grid-row:1;background:linear-gradient(135deg,#edd282,#d9b34e)!important;color:#43300c!important;border-color:#c59b38!important}
.payroll-heading-actions>[data-test-payroll-reset]{grid-column:3;grid-row:1;background:#fff!important;color:#9a4650!important;border-color:#e2c7cc!important}
.payroll-calculation-controls{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:12px 14px;border:1px solid #dce5ec;border-radius:9px;background:#f7f9fb}
.payroll-calculation-controls .deduction-toggle{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;font-size:12px;line-height:1.5;min-height:24px;cursor:pointer}
.payroll-calculation-controls input{margin:0;flex-shrink:0}
.payroll-heading-actions>button:hover{filter:brightness(.97);box-shadow:0 2px 6px #17365318}
@media(max-width:1000px){.payroll-page>.section-heading{grid-template-columns:1fr;gap:14px}.payroll-heading-actions{max-width:none}}
@media(max-width:480px){.payroll-heading-actions{grid-template-columns:1fr 1fr}.payroll-heading-actions>[data-test-payroll-reset]{grid-column:1/-1;grid-row:2}.payroll-calculation-controls{grid-row:3;gap:10px;flex-direction:column;align-items:flex-start}.payroll-heading-actions>button{padding:10px!important;font-size:12px!important}}

.af-person-payment-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}.af-person-payment-actions button{min-height:34px;border-radius:7px;padding:7px 10px}

.payroll-heading-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:540px;justify-self:end}.payroll-heading-actions>[data-test-payroll-reset]{grid-column:2;grid-row:1}.payroll-page>.section-heading{grid-template-columns:minmax(180px,1fr) minmax(380px,540px)}@media(max-width:1000px){.payroll-page>.section-heading{grid-template-columns:1fr}.payroll-heading-actions{max-width:none;justify-self:stretch}}@media(max-width:480px){.payroll-heading-actions>[data-test-payroll-reset]{grid-column:2;grid-row:1}.payroll-calculation-controls{grid-row:2}}
.af-person-payment-actions select{width:100%;min-height:34px;padding:7px 10px;border:1px solid #cbd7df;border-radius:7px;background:#fff;color:#173653;font:inherit;font-size:12px;cursor:pointer}
.af-review-payment{display:block!important;cursor:pointer;text-decoration:none!important;border:1px solid #e9aa8b!important;border-radius:8px!important;padding:10px!important;line-height:1.5;transition:background .15s,box-shadow .15s,transform .15s}.af-review-payment:hover,.af-review-payment:focus-visible{background:#ffe4d7!important;box-shadow:0 0 0 3px #d5713b25;outline:2px solid #bd5d2c;outline-offset:2px}.af-review-payment:active{transform:scale(.98)}
.section-page{width:100%;max-width:none!important;box-sizing:border-box;padding-inline:clamp(12px,2vw,38px)!important}.payroll-page{max-width:none!important}.payroll-heading-actions>[data-test-payroll-reset]{display:flex!important;visibility:visible!important}

.workspace-notification:not(.unread),.workspace-notification.urgent:not(.unread){background:#fff!important;border-color:#dce4ea!important}.workspace-notification:not(.unread) a{color:#526779}.workspace-notification.unread{background:#eef5ff!important}

.payroll-review-modal [data-slot="dialog-footer"]{position:sticky;bottom:0;background:#fff;padding:14px 0 4px;border-top:1px solid #dce4ea;z-index:4;flex-wrap:wrap}.payroll-review-modal .af-review-close{margin-right:auto}.payroll-review-modal{scroll-padding-bottom:85px}

#afPayrollLanguage form{display:grid;gap:14px;width:100%}#afPayrollLanguage label{display:grid;gap:8px}#afPayrollLanguage select{min-width:240px;width:100%;max-width:540px;padding:10px;border:1px solid #cbd7df;border-radius:8px}#afPayrollLanguage small{color:#607487;line-height:1.5}#afPayrollLanguage button{justify-self:start;padding:10px 16px}

/* v76 mobile layout, password visibility and live salary preview. */
.employee-cell:not(.names-collapsed){height:auto!important;min-height:76px!important;padding:10px 8px!important;align-items:center!important;box-sizing:border-box}
.employee-cell>div{min-width:0!important}.employee-cell strong{display:block;line-height:1.35!important}.employee-cell small{display:block;line-height:1.4!important;white-space:normal!important;overflow-wrap:break-word}.employee-cell .employee-avatar{flex-shrink:0!important}
#afPayrollLanguage form>button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px!important;background:var(--primary-color,#4596d3)!important;color:#fff!important;border:1px solid var(--primary-color,#4596d3)!important;border-radius:8px;font-weight:700;cursor:pointer;box-shadow:0 2px 5px #17365320}
#afPayrollLanguage select{min-width:0!important;max-width:100%!important}
dialog.af-test-reset-dialog{box-sizing:border-box!important;width:min(560px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 32px)!important;inset:0!important;margin:auto!important;transform:none!important;padding:24px!important;overflow-x:hidden!important}
.af-test-reset-dialog form,.af-test-reset-dialog label{min-width:0!important;max-width:100%!important}.af-test-reset-dialog select,.af-test-reset-dialog input{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:44px;padding:10px 12px!important;border:1px solid #cad9e6!important;border-radius:8px!important;font:inherit!important;background:#fff}
.af-test-reset-dialog .af-settings-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}.af-test-reset-dialog .af-settings-actions button{min-height:44px}
.af-password-wrap{position:relative!important}.af-password-wrap>input[data-eye-added]{padding-inline-end:48px!important;min-height:44px}.af-password-wrap>.af-password-eye{position:absolute!important;inset-inline-end:2px!important;right:auto!important;top:auto!important;bottom:0!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;display:grid!important;place-items:center!important;padding:0!important;margin:0!important;transform:none!important;color:#435d71!important;background:transparent!important;border:0!important;border-radius:7px;touch-action:manipulation;z-index:2}.af-password-eye:focus-visible{outline:2px solid #4596d3!important;outline-offset:-3px}.af-password-eye svg{pointer-events:none}
.af-payroll-preview{display:block;margin-top:6px;max-width:280px;color:#88631b;font-size:11px;line-height:1.4;font-weight:500}.af-payment-made-confirm{display:flex!important;align-items:flex-start!important;gap:10px!important;line-height:1.5;font-weight:600}.af-payment-made-confirm input[type=checkbox]{flex:0 0 20px!important;width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;margin:3px 0 0!important;padding:0!important}
@media(max-width:760px){.employee-cell:not(.names-collapsed){min-height:88px!important}.topbar{grid-template-columns:minmax(0,1fr)!important}.topbar .brand{grid-column:1/-1!important;padding-inline-end:0!important}.topbar .header-actions{position:relative!important;gap:10px!important}.topbar .af-signout-top,.topbar #workspaceNotifications{position:relative!important;inset:auto!important;top:auto!important;right:auto!important;left:auto!important;margin:0!important;flex:0 0 auto!important;align-self:center!important}.topbar #workspaceNotifications{margin-inline-start:auto!important;order:20!important}.topbar .af-signout-top{order:21!important}.topbar #workspaceNotificationPanel{position:fixed!important;top:140px!important;inset-inline:12px!important;right:12px!important;left:12px!important;width:auto!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 160px)!important}.af-test-reset-dialog{font-size:14px!important;padding:20px!important}.af-test-reset-dialog h2{font-size:20px!important}.af-test-reset-dialog p{line-height:1.5!important}}

/* v78: visible, unified header control outlines. */
.topbar .preview-control{box-sizing:border-box!important;height:44px!important;min-height:44px!important;padding:0 0 0 12px!important;border:1.5px solid #879eaf!important;border-radius:8px!important;background:#f8fafc!important;overflow:hidden;gap:8px!important;align-items:center!important;box-shadow:0 1px 3px #17365312}
.topbar .preview-control>svg{flex:0 0 18px;width:18px!important;height:18px!important}
.topbar .preview-control select{box-sizing:border-box!important;height:41px!important;min-height:0!important;width:auto;flex:1 1 auto;min-width:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:8px 10px!important;color:#173653!important;font-weight:650;outline-offset:-3px}
.topbar .preview-control:focus-within{border-color:#2878b2!important;box-shadow:0 0 0 3px #4596d326!important}
.topbar .language-select,.topbar .preview-employee,.topbar .header-actions>button,.topbar #afCalendarButton{box-sizing:border-box!important;min-height:44px!important;border:1.5px solid #879eaf!important;border-radius:8px!important;box-shadow:0 1px 3px #17365312}
.topbar .preview-control select:focus-visible{outline:2px solid #2878b2!important}
@media(max-width:760px){.topbar .header-actions .preview-control{flex:1 1 160px!important;min-width:150px!important;max-width:100%!important;height:44px!important}.topbar .header-actions .preview-control select{height:41px!important;width:100%!important}.topbar .header-actions .language-select{height:44px!important;flex-basis:110px!important;width:110px!important}.topbar #afCalendarButton{height:44px!important}}

.af-compensation-fields{display:grid;gap:10px;min-width:150px}.af-compensation-fields label{display:grid;gap:5px;font-size:12px;color:#4c6475}.af-compensation-fields input{font-size:15px;color:#173653}.af-compensation-fields small{font-size:11px;color:#647b8b}.af-address-suggestion{display:block;margin-top:10px;padding:12px;border:1px solid #b8cad6;border-radius:10px;background:#f3f8fb;font-size:13px;line-height:1.5}.af-address-suggestion p{margin:0 0 8px}.af-address-suggestion button{padding:9px 12px;background:#287ca8;color:white;border:1px solid #226b91;border-radius:7px;font-weight:600;cursor:pointer}.af-address-suggestion a{display:inline-block;margin-left:12px;color:#246889;text-decoration:underline}
/* v86: only the payment form scrolls inside the visible viewport. */
[data-slot="dialog-content"].af-payment-dialog{box-sizing:border-box!important;position:fixed!important;top:16px!important;bottom:auto!important;left:50%!important;translate:none!important;transform:translateX(-50%)!important;width:min(640px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;max-height:calc(100vh - 32px)!important;max-height:calc(100dvh - 32px)!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-gutter:stable;padding:20px!important}.af-payment-dialog .payment-form{min-height:0;overflow:visible}.af-payment-dialog [data-slot="dialog-footer"]{flex-shrink:0}.af-payment-dialog input,.af-payment-dialog select{max-width:100%;min-width:0}@media(max-width:640px){[data-slot="dialog-content"].af-payment-dialog{padding:18px 16px!important}}
/* Header layout and notification stacking across account roles. */
.topbar{position:relative!important}
.topbar .af-signout-top{z-index:1!important}
.topbar #workspaceNotifications{z-index:200!important}
.topbar #workspaceNotificationPanel{z-index:201!important}
@media(max-width:800px){
 .topbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;height:auto!important;gap:10px!important;padding:12px!important}
 .topbar .brand{grid-column:1/-1!important;grid-row:1!important;padding-inline-end:140px!important;min-height:48px!important;min-width:0!important}
 .topbar .brand>div{min-width:0!important}
 .topbar .brand strong{white-space:normal!important;overflow-wrap:anywhere}
 .topbar .header-actions{position:static!important;grid-column:1/-1!important;grid-row:2!important;width:100%!important;flex-wrap:wrap!important;margin-top:0!important}
 .topbar .af-signout-top{position:absolute!important;inset:auto!important;top:12px!important;inset-inline-end:12px!important;margin:0!important;max-width:136px!important;min-height:44px!important;padding:8px 10px!important;white-space:normal!important}
 .topbar #workspaceNotifications{position:relative!important;inset:auto!important;margin-inline-start:auto!important;order:20!important}
 .topbar #workspaceNotificationPanel{position:fixed!important;top:140px!important;inset-inline:12px!important;width:auto!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 160px)!important;overflow:auto!important}
}

.payroll-excess-decision{padding:16px;border:1px solid #d4e0e9;border-radius:10px;background:#f4f8fb}.payroll-excess-decision p{line-height:1.6}.payroll-excess-decision select{width:100%;min-height:44px;border:1px solid #879eaf;border-radius:8px;padding:10px;font:inherit}