.auth-pending>.app,.auth-pending>.layout,.auth-pending>.mask{visibility:hidden}
body.auth-pending{overflow:hidden}
#sessionRestore{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:24px;background:#f4f6fc;color:#17233b;opacity:1;transition:opacity .15s ease;animation:production-in .18s ease}
#sessionRestore.is-closing{opacity:0;pointer-events:none}
.session-restore-card{display:grid;justify-items:center;gap:18px;text-align:center;max-width:360px;font-size:14px}
.session-restore-progress{width:30px;height:30px;border:3px solid #dfe6fb;border-top-color:#4263eb;border-radius:50%;animation:session-spin .8s linear infinite}
.session-restore-card .btn{min-width:100px;justify-content:center}.session-restore-card button[hidden]{display:none!important}
#sessionRestore.has-error .session-restore-progress{animation:none;border-color:#dfe6fb}
@keyframes session-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#sessionRestore,.session-restore-progress{animation:none;transition:none}}
#loginPanel{position:fixed;inset:0;z-index:9999;background:#f4f6fc;display:flex;align-items:center;justify-content:center;padding:24px;color:#17233b}
.login-card{width:400px;max-width:100%;padding:34px;background:#fff;border:1px solid #e2e7f0;border-radius:18px;box-shadow:0 18px 60px #17233b12;animation:production-in .22s ease}
.login-card h1{font-size:23px;margin:0 0 8px}.login-card p{font-size:13px;color:#748198;margin:0 0 25px}
.login-card label{display:block;font-size:13px;font-weight:600;margin:15px 0 7px}.login-card input{width:100%;box-sizing:border-box;height:44px;padding:10px 12px;border:1px solid #dce3ee;border-radius:9px;font-size:15px;outline:none;background:#fff}
.login-card input:focus{border-color:#4263eb;box-shadow:0 0 0 3px #4263eb18}.login-card .btn{width:100%;margin-top:22px;min-height:43px}.login-error{font-size:13px;color:#c92a2a;min-height:20px;margin-top:12px}
.login-server{font-size:12px!important;padding:6px!important;margin-top:6px!important;min-height:auto!important;border:0!important;background:transparent!important;color:#4263eb!important}
#savingStatus{position:fixed;top:74px;right:24px;z-index:10000;padding:10px 16px;background:#17233b;color:#fff;border-radius:9px;font-size:13px;box-shadow:0 5px 18px #17233b22;transition:opacity .15s,transform .15s;pointer-events:none}
.server-saving{cursor:progress}.server-saving button,.server-saving select,.server-saving input{pointer-events:none}
.session-actions{display:flex;align-items:center;gap:8px}.session-actions button{white-space:nowrap}.account-name{font-size:11px;color:#64748b;margin-top:3px}
.account-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.note{display:none!important}
.batch-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:300px;overflow:auto;margin-bottom:15px}.batch-person{display:flex;gap:7px;align-items:center;padding:9px;border:1px solid #e2e7f0;border-radius:8px;font-size:13px}
.batch-list input{width:auto!important}.material-row{display:grid;grid-template-columns:minmax(95px,1fr) 90px 90px;gap:8px;align-items:center;margin:8px 0}.material-row input{width:100%;min-width:0}
.prod-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-right:.24em;flex-shrink:0}
.page.active,.mask.show .modal,.ph-page.on{animation:production-in .18s ease}.btn,.btn-mini,.nav-item,.card,.att-card,.acard,.perm-card,input,select{transition:background-color .18s,border-color .18s,box-shadow .18s,opacity .18s,transform .18s}.btn:hover,.btn-mini:hover{transform:translateY(-1px)}.btn:active,.btn-mini:active{transform:scale(.98)}
@keyframes production-in{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
body.mobile-mode{padding:0;margin:0;min-width:0;background:#f5f7fc}body.mobile-mode .side,body.mobile-mode .sidebar,body.mobile-mode .topbar,body.mobile-mode .page:not(#page-app),body.mobile-mode #page-app>.toolbar,body.mobile-mode .phone-wrap>div:not(.phone){display:none!important}
body.mobile-mode .app,body.mobile-mode .layout,body.mobile-mode .main{display:block!important;margin:0!important;width:100%!important;min-height:100dvh;min-width:0!important}
body.mobile-mode .content{padding:0!important}body.mobile-mode #page-app{display:block!important;padding:0;margin:0}body.mobile-mode .phone-wrap{display:block;padding:0;margin:0}body.mobile-mode .phone{width:100%!important;max-width:none!important;border:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;background:#f5f7fc}
body.mobile-mode .screen{height:100dvh!important;min-height:550px;border-radius:0!important;display:flex;flex-direction:column;overflow:hidden!important}body.mobile-mode .ph-top{padding-top:max(16px,env(safe-area-inset-top))}body.mobile-mode .ph-page.on{flex:1;min-height:0;overflow:auto;padding-bottom:16px}body.mobile-mode .tabbar{position:relative!important;inset:auto!important;flex-shrink:0;padding-bottom:max(9px,env(safe-area-inset-bottom));min-height:63px}body.mobile-mode .tabbar>div{min-width:0;font-size:11px}body.mobile-mode .tabbar .ti{font-size:19px}
body.mobile-mode #appGrid{max-height:none!important;overflow:visible!important}body.mobile-mode .att-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body.mobile-mode .mask{padding:12px}body.mobile-mode .modal{max-height:90dvh;overflow:auto}body.mobile-mode .batch-list{grid-template-columns:repeat(2,minmax(0,1fr))}body.mobile-mode .modal .form-row{flex-wrap:wrap}body.mobile-mode #savingStatus{top:10px;right:10px}
@media(max-width:800px){.topbar{flex-wrap:wrap;gap:10px!important;height:auto!important;min-height:64px;padding:12px!important}.topbar>div{margin-right:0!important}.topbar .user{margin-left:auto}.session-actions .session-refresh{display:none}.batch-list{grid-template-columns:repeat(2,minmax(0,1fr))}.login-card{padding:26px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Android 10 WebView accepts vh; modern browsers subsequently use the dynamic viewport. */
body.mobile-mode .app,body.mobile-mode .layout,body.mobile-mode .main{min-height:100vh;min-height:100dvh}
body.mobile-mode .phone{height:100vh!important;height:100dvh!important}
body.mobile-mode .screen{height:100vh!important;height:100dvh!important;min-height:0!important}
body.mobile-mode .modal{max-height:90vh;max-height:90dvh}
.mask{transition:opacity .15s ease}
.mask.show.is-closing{opacity:0!important;pointer-events:none}
.mask.show.is-closing .modal{animation:none!important;transform:translateY(8px) scale(.985);transition:transform .15s ease}
.ph-page.app-exiting{animation:none!important;opacity:0;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease}
/* Shared brand and staff imagery. Images keep each person's account identity across views. */
.side .logo{gap:10px;min-height:70px}.side .logo>img{width:34px;height:34px;border-radius:9px;flex-shrink:0;object-fit:contain}.side .logo>span{line-height:1.35;overflow-wrap:anywhere}
#pageCrumb{display:none}.ph-top .t{display:flex;align-items:center;gap:9px}.ph-top .t>img{width:30px;height:30px;border-radius:8px;object-fit:contain;flex-shrink:0}.ph-top .t>span{min-width:0;overflow-wrap:anywhere}
.person-avatar{display:inline-block;width:32px;height:32px;border-radius:50%;object-fit:cover;vertical-align:middle;flex-shrink:0;background:#eef2f8;border:1px solid #dfe5ef;animation:production-in .18s ease;transition:opacity .18s,transform .18s}
.person-avatar.avatar-small{width:24px;height:24px;margin-right:7px}.person-cell>.person-avatar{margin-right:7px}.topbar .user .av{padding:0;overflow:hidden;background:transparent}.topbar .user .av .person-avatar{width:34px;height:34px}
.acard .av,.att-card .av{background:transparent!important;padding:0;overflow:hidden;display:flex;justify-content:center;align-items:center}.acard .av .person-avatar,.att-card .av .person-avatar{width:100%;height:100%;min-width:38px;min-height:38px;object-fit:cover}
.person-avatar.avatar-profile{width:76px;height:76px;border-radius:22px}.profile-avatar{padding:4px 0 18px;text-align:center}.avatar-upload{display:flex;align-items:center;gap:15px}.upload-button{display:inline-flex!important;align-items:center;margin:0!important;color:var(--ink)!important;width:auto!important;cursor:pointer}
.login-brand{text-align:center;margin:0 0 24px}.login-brand>img{display:block;width:82px;height:82px;object-fit:contain;border-radius:21px;margin:auto}.login-card h1{text-align:center;margin-bottom:25px;font-size:21px}.login-card{width:410px}#loginPanel{overflow-y:auto}
.settings-card{width:100%;max-width:650px;padding:26px}.settings-card .form-row{margin-bottom:23px}.settings-card input{font-size:14px}.brand-upload{display:flex;align-items:center;gap:20px}.brand-upload>img{width:88px;height:88px;border-radius:21px;object-fit:contain;background:#f5f7fc;border:1px solid var(--line)}.brand-upload .hint{margin-top:10px}.settings-native-hint{font-size:12px;color:var(--sub);line-height:1.8;margin-bottom:18px}.form-error{font-size:12px;color:#c92a2a;line-height:1.6;margin-top:9px}.form-success{font-size:13px;color:var(--ok);line-height:1.6;margin-bottom:12px}.form-error:empty,.form-success:empty{display:none}
.production-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.production-table-scroll>.tbl{min-width:680px}.content{min-width:0}.mem-chip .mn .person-avatar{width:22px;height:22px}
#navToggle{display:none;padding:8px}#navToggle .prod-icon{width:19px;height:19px;margin:0}#navBackdrop{position:fixed;inset:0;border:0;background:#0f1b3d66;opacity:0;visibility:hidden;z-index:55;pointer-events:none;transition:opacity .18s,visibility .18s}
@media(max-width:1250px){.topbar{height:auto;min-height:66px;flex-wrap:wrap;gap:12px;padding:13px 20px}.topbar>div{margin-right:0!important}.topbar .user{margin-left:auto}.topbar .session-actions{margin-left:auto}.side{width:205px}.side .logo{padding:18px 14px;font-size:15px}.content{padding:20px}.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.g-3{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{align-items:flex-start}.topbar .session-refresh{display:none}.topbar select{max-width:170px}.content{padding:18px}}
@media(max-width:900px){.side{position:fixed;left:0;top:0;bottom:0;width:226px;z-index:60;transform:translateX(-100%);transition:transform .2s ease}.app.menu-open .side{transform:translateX(0)}.app.menu-open #navBackdrop{opacity:1;visibility:visible;pointer-events:auto}#navToggle{display:inline-flex}.main{width:100%}.topbar{column-gap:12px}.topbar>div:first-of-type{margin-right:auto!important}.topbar .user{margin-left:auto}.topbar .session-actions{margin-left:0}.topbar .user .rl{font-size:10px}}
@media(max-width:600px){.g-2,.g-3,.g-4{grid-template-columns:minmax(0,1fr)}.content{padding:14px}.card{padding:15px}.toolbar h2{font-size:18px}.topbar .user .nm{max-width:85px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .user .av{width:30px;height:30px}.topbar .user .av .person-avatar{width:30px;height:30px}.topbar .title{font-size:16px}.topbar select{max-width:142px}.session-actions{gap:5px}.session-actions .btn{padding:6px 8px}.settings-card{padding:20px}.brand-upload{gap:14px}.avatar-upload{gap:12px}.production-table-scroll>.tbl{min-width:640px}.filter-bar{padding:12px;gap:9px}.filter-bar input,.filter-bar select{max-width:100%}}
body.mobile-mode #loginPanel{background:#fff;padding:24px}body.mobile-mode .login-card{border:0;box-shadow:none;width:370px;padding:22px 12px}body.mobile-mode .login-brand{margin-bottom:30px}body.mobile-mode .login-brand>img{width:88px;height:88px;border-radius:23px}body.mobile-mode .login-card h1{font-size:20px;margin-bottom:27px}body.mobile-mode .profile-avatar{padding-top:8px}
@media(max-height:620px){#loginPanel{align-items:flex-start;padding-top:18px;padding-bottom:18px}.login-brand{margin-bottom:16px}.login-brand>img{width:60px;height:60px;border-radius:16px}.login-card{padding:20px}.login-card h1{margin-bottom:17px}body.mobile-mode .login-card{padding:10px 12px}body.mobile-mode .login-brand{margin-bottom:17px}body.mobile-mode .login-brand>img{width:64px;height:64px;border-radius:17px}body.mobile-mode .login-card h1{margin-bottom:18px}}
.acard .av .person-avatar,.att-card .av .person-avatar{min-width:0;min-height:0}
.settings-actions{display:flex;align-items:center;gap:10px;margin-top:16px}.brand-upload #resetSettingsLogo{display:block;margin-top:9px}.login-card h1{line-height:1.45;overflow-wrap:anywhere}
.login-card .btn{justify-content:center;text-align:center}
.ph-body input,.ph-body select,.ph-top select{min-width:0;max-width:100%}
@media(max-width:400px){.brand-upload{flex-wrap:wrap}}
@media(max-width:400px){body.mobile-mode .att-week .wd{min-width:0}body.mobile-mode .att-week .wd span{display:block;height:14px;line-height:14px;font-size:9px;white-space:nowrap}}
@media(max-width:300px){body.mobile-mode .att-week .wd span{font-size:8px}}
.login-server[hidden]{display:none!important}
/* Employee lifecycle: scoped list controls, protected actions and independent password dialogs. */
#employeeDeletePasswordSettings[hidden],#employeeDeletionSettingsCard[hidden],#departedDeleteConfigure[hidden]{display:none!important}
.employee-supervisor-field{flex-direction:column;align-items:stretch;gap:8px}#empMask .employee-supervisor-field>label{width:auto;flex:none}.employee-supervisor-field>select{width:100%;max-width:100%}.employee-supervisor-field>.hint{margin:0;font-size:11px}
.actual-settlement-fields{display:flex;flex:1;min-width:0;flex-direction:column;gap:8px}.actual-settlement-fields>input,.actual-settlement-fields>select{width:100%;min-width:0}.actual-settlement-fields>label{width:auto!important;margin:4px 0 0!important}.actual-settlement-fields input[readonly]{background:#f4f7fc;color:var(--sub)}.actual-settlement-row{animation:management-appear .18s ease both;transition:opacity .15s,transform .15s}.actual-settlement-fields .hint{line-height:1.7}@media(max-width:600px){.actual-settlement-row{flex-wrap:wrap}.actual-settlement-row>label{width:100%!important}.actual-settlement-fields{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.actual-settlement-row{animation:none;transition:none}}
.employee-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.employee-filters input{width:min(100%,285px)}.employee-filters select{min-width:140px}.employee-filters input,.employee-filters select{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s}.employee-filters input:focus,.employee-filters select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #4472c41a}.employee-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 4px;color:var(--sub);font-size:12px;animation:management-appear .18s ease both}.employee-pagination>div{display:flex;align-items:center;gap:12px}.employee-pagination .btn:disabled,.employee-row-actions .btn:disabled,.employee-order button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.employee-order{white-space:nowrap;text-align:center}.employee-order button{display:inline-flex;align-items:center;justify-content:center;padding:4px}.employee-order .prod-icon{width:14px;height:14px}.employee-row-actions{white-space:nowrap}.employee-row-actions .btn{margin:2px}.employee-delete{color:#b42318;border-color:#f5c4bf}.employee-supervisor-link{display:block;margin-top:5px;padding:0;border:0;background:transparent;color:var(--brand);font:inherit;font-size:11px;cursor:pointer;transition:opacity .15s,transform .15s}.employee-supervisor-link:hover{opacity:.78}.employee-supervisor-link:active{transform:scale(.96)}.employee-supervisor-link:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:3px}.employee-supervisor-field{scroll-margin:30px;border-radius:9px;transition:background .2s,box-shadow .2s}.employee-field-focus{animation:employee-supervisor-focus 1.2s ease both}.employee-deletion-settings h3{margin:0 0 12px;font-size:16px}.employee-deletion-settings p{line-height:1.7}.employee-deletion-settings{margin-top:18px;animation:management-appear .18s ease both}#departedDeleteMask .modal,#employeeDeletionSettingsMask .modal{max-width:510px}#departedDeleteMask .body p,#employeeDeletionSettingsMask .body p{line-height:1.7;overflow-wrap:anywhere}#departedDeleteMask .btn-primary{background:#b42318;border-color:#b42318}#empBody tr,#leaveBody tr{animation:management-appear .16s ease both;transition:opacity .15s,transform .15s}@keyframes employee-supervisor-focus{0%,65%{background:#edf4ff;box-shadow:0 0 0 7px #edf4ff}100%{background:transparent;box-shadow:0 0 0 0 transparent}}@media(max-width:600px){#page-emp .toolbar{gap:10px;flex-wrap:wrap}.employee-filters input{width:100%;flex-basis:100%}.employee-pagination{align-items:flex-start}.employee-pagination>div{gap:8px}.employee-pagination .btn{padding:7px 10px}}@media(prefers-reduced-motion:reduce){.employee-pagination,.employee-deletion-settings,.employee-field-focus,#empBody tr,#leaveBody tr{animation:none;transition:none}.employee-filters input,.employee-filters select,.employee-supervisor-link{transition:none}}
/* 2026-10-23 manual attendance submission follows the final employee card. */
.attendance-save-row{grid-column:1/-1;box-sizing:border-box;min-width:0;padding:13px 10px;margin-top:5px;border:1px solid #cbdcfb;border-radius:11px;background:#f7faff;animation:management-appear .18s ease both;transition:background .18s,border-color .18s}.attendance-save-summary{font-size:12px;font-weight:600;line-height:1.65;color:#254d9d;overflow-wrap:anywhere}.attendance-save-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}.attendance-save-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;transition:transform .15s,background .15s,opacity .15s}.attendance-save-actions .btn:active{transform:scale(.97)}.attendance-save-actions .btn:disabled{opacity:.55;cursor:default;transform:none}.attendance-save-actions svg{width:15px;height:15px;flex:none}.attendance-draft-message{margin-top:8px;font-size:11px;line-height:1.7;color:#526079;overflow-wrap:anywhere}.attendance-dropdown-card[data-attendance-pending=true]{position:relative;outline:1px solid #8faef1;outline-offset:-1px}.attendance-draft-tag{position:absolute;top:3px;right:3px;font-size:8px;font-weight:500;line-height:1.5;color:#315bba;background:#fff;border:1px solid #dce5f8;border-radius:5px;padding:0 3px;pointer-events:none;animation:management-appear .13s ease both}#appGrid>.attendance-save-row{margin-left:0;margin-right:0;text-align:left}#appGrid .attendance-save-actions{gap:6px}#appGrid .attendance-save-actions .btn{flex:1;min-width:0;padding:8px 5px;font-size:11px}#attGridLg>.attendance-save-row{max-width:100%}@media(prefers-reduced-motion:reduce){.attendance-save-row,.attendance-draft-tag{animation:none;transition:none}.attendance-save-actions .btn{transition:none}}
/* 2026-10-20 organization masters, account periods and attendance dropdowns */
#departmentAdd[hidden],#positionAdd[hidden]{display:none!important}
.organization-exit-ghost{position:fixed;z-index:1010;background:#fff;pointer-events:none;overflow:hidden;transition:opacity .13s,transform .13s}
.organization-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.organization-filter input{width:min(100%,300px);padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.organization-table-card{padding:0;overflow:hidden}.organization-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.organization-delete{color:var(--rmb)}.organization-empty{padding:24px;text-align:center;color:var(--sub)}.organization-table-card tbody tr{animation:management-appear .18s ease both;transition:opacity .13s,transform .13s}.organization-table-card tbody tr.organization-removing{opacity:0;transform:translateY(-5px)}.share-period-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 16px}.share-period-date input{width:152px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text)}.share-period-details{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.share-period-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;cursor:pointer;font-size:13px;font-weight:600;list-style:none}.share-period-details summary span{font-size:12px;font-weight:400;color:var(--sub)}.share-period-details summary::after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .18s}.share-period-details[open] summary::after{transform:rotate(225deg)}.share-period-details[open] .share-ledger-scroll{animation:management-appear .18s ease both}.share-ledger-scroll{max-width:100%;overflow:auto}.share-ledger-scroll table{min-width:560px;font-size:12px}.share-ledger-scroll small{display:block;color:var(--sub);font-size:10px;margin-top:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.attendance-dropdown-help{padding:8px 12px 12px;font-size:10px;color:var(--sub)}.attendance-dropdown-card{cursor:default}.attendance-status-trigger{position:relative;display:flex;width:100%;align-items:center;justify-content:center;gap:7px;min-height:30px;border:0;color:#fff;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:filter .15s,transform .15s}.attendance-status-trigger:hover{filter:brightness(.96)}.attendance-status-trigger:active{transform:scale(.97)}.attendance-status-trigger:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.attendance-chevron{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s}.attendance-status-trigger[aria-expanded=true] .attendance-chevron{transform:rotate(225deg)}.attendance-detail-trigger{display:flex;flex-direction:column;align-items:center;gap:7px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;width:100%;padding:0}.attendance-detail-trigger .av{display:flex}.attendance-detail-trigger .nm{display:block}.attendance-status-menu{position:fixed;z-index:20050;min-width:190px;padding:7px;background:#fff;border:1px solid #e5e9f2;border-radius:13px;box-shadow:0 10px 35px #17233b30;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;animation:management-appear .15s ease both;transition:opacity .13s,transform .13s}.attendance-status-menu.is-closing{opacity:0;transform:translateY(-5px) scale(.98);pointer-events:none;animation:none}.attendance-status-menu-title{padding:7px 10px;color:var(--sub);font-size:11px;overflow-wrap:anywhere}.attendance-status-menu [role=option]{display:flex;width:100%;align-items:center;gap:10px;border:0;border-radius:8px;background:#fff;padding:9px 10px;color:#17233b;font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:background .13s,transform .13s}.attendance-status-menu [role=option]:hover,.attendance-status-menu [role=option]:focus-visible{background:#f4f6fb;outline:none}.attendance-status-menu [role=option]:active{transform:scale(.98)}.attendance-status-menu [aria-selected=true]{background:#edf2ff;color:#315bdb}.attendance-status-menu [role=option] .prod-icon{margin-left:auto;width:15px;height:15px}.attendance-status-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%}.attendance-dropdown-card .av .person-avatar{min-width:0;min-height:0}@keyframes management-appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.share-period-toolbar{gap:7px}.share-period-toolbar .btn{padding:8px}.share-period-date input{width:139px}.share-period-toolbar #sharePeriodLabel{flex-basis:100%}.organization-filter input{width:100%}.attendance-status-menu{min-width:180px}.attendance-status-trigger{min-height:27px;font-size:10px}}@media(prefers-reduced-motion:reduce){.organization-table-card tbody tr,.share-period-details[open] .share-ledger-scroll,.attendance-status-menu{animation:none;transition:none}.attendance-status-menu [role=option],.attendance-status-trigger,.attendance-chevron{transition:none}}
/* 2026-10-23 scoped employee ordering and daily receipt interactions */
.q23-order-cell{min-width:118px}.q23-employee-order{width:54px;padding:5px 4px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);text-align:center;transition:border-color .16s,box-shadow .16s}.q23-employee-order:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px #4472c41a}.q23-order-actions{display:inline-flex;gap:1px;margin-left:3px}.q23-page-size{min-width:90px!important}.q23-employee-scroll{max-height:calc(100vh - 260px);max-height:calc(100dvh - 260px);overflow:auto!important}.q23-employee-scroll thead th{position:sticky;top:0;z-index:12;background:#f4f7fc}.q23-usd-rate{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:#1765bd}.q23-usd-rate input{width:96px;padding:5px 8px;border:1px solid #ddd;border-radius:7px;transition:border-color .15s,box-shadow .15s}.q23-usd-rate input:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px #4472c41a}.q23-piece-scroll{max-height:calc(100vh - 290px);max-height:calc(100dvh - 290px);min-height:160px;overflow:auto;scroll-padding-top:75px;overscroll-behavior:contain}.q23-piece-grid .q23-piece-entry{display:flex;flex-direction:column;gap:3px;box-sizing:border-box;padding-bottom:4px;animation:q23-enter .15s ease both;transition:min-height .15s,opacity .15s}.q23-piece-grid .q23-piece-entry .pc-row{min-height:0;margin:0;gap:3px}.q23-piece-grid .pc-row:empty{display:none}.q23-piece-grid .q23-piece-loan{display:flex;align-items:center;gap:6px;min-width:0}.q23-piece-grid .q23-piece-loan .piece-loan-summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.q23-piece-grid .q23-piece-loan .piece-loan-button{width:auto!important;min-width:62px;margin:0;padding:4px 5px!important;flex:none}.q23-receipt-input{display:flex;align-items:center;gap:4px;margin:5px 0;color:#1765bd;font-size:11px}.q23-receipt-amount{width:100%;min-width:0;padding:5px 6px;box-sizing:border-box;border:1px solid #b5d1f5;border-radius:6px;background:#f7fbff;color:var(--ink);transition:border-color .15s,box-shadow .15s}.q23-receipt-amount:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px #4472c41a}.q23-piece-rest>td{background:#e6e9ef!important;color:#626b79!important}.q23-piece-rest .pc-add{background:#f1f3f6}.q23-piece-rest .q23-piece-loan{opacity:.8}.q23-collection-count{font-size:9px;color:#555;font-weight:600}.q23-receipt-unknown{font-size:10px;color:#8b6415}.q23-piece-grid .pc-amt{white-space:normal;line-height:1.35}.q23-piece-grid button{transition:transform .13s,background .13s,opacity .13s}.q23-piece-grid button:active{transform:scale(.97)}@keyframes q23-enter{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.q23-piece-scroll{max-height:65vh;max-height:65dvh}.q23-employee-scroll{max-height:65vh;max-height:65dvh}.q23-usd-rate{flex-wrap:wrap}.q23-order-cell{min-width:112px}}@media(prefers-reduced-motion:reduce){.q23-piece-grid .q23-piece-entry{animation:none;transition:none}.q23-piece-grid button,.q23-receipt-amount,.q23-employee-order,.q23-usd-rate input{transition:none}}
#pieceGrid.q23-piece-grid .q23-piece-entry .pc-row{height:auto;min-height:0;max-width:100%;margin:0;gap:3px}#pieceGrid.q23-piece-grid .q23-piece-entry>.piece-ngn-result{font-size:10px;line-height:1.4;padding:1px 0}
#q23AppRates[hidden],#q23AppRateEdit[hidden]{display:none!important}.q23-app-rates{padding:10px 11px;margin-bottom:12px;border:1px solid #dce6f7;border-radius:10px;background:#f7faff;animation:q23-enter .16s ease both}.q23-app-rates>strong{font-size:11px;color:#264d96}.q23-app-rates>p{font-size:11px;line-height:1.65;color:#40516a;margin:5px 0 8px;overflow-wrap:anywhere}.q23-app-rate-actions{display:flex;gap:7px}.q23-app-rate-actions .btn{flex:1;justify-content:center;gap:5px;min-width:0;padding:7px 5px;font-size:10px}.q23-app-rate-actions svg{width:13px;height:13px;flex:none}.q23-app-rate-modal{max-width:440px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column}.q23-app-rate-modal>.body{overflow:auto;min-height:0}.q23-app-rate-modal>.foot{flex:none}.q23-app-rate-date{font-size:13px;color:#264d96;font-weight:600;margin-bottom:16px}.q23-app-rate-field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px;font-size:12px;color:var(--ink)}.q23-app-rate-field>input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit;transition:border-color .15s,box-shadow .15s}.q23-app-rate-field>input:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px #4472c41a}.q23-app-rate-hint{font-size:11px;color:var(--sub);line-height:1.7;margin:5px 0}.q23-app-rate-actions .btn:active{transform:scale(.97)}@media(prefers-reduced-motion:reduce){.q23-app-rates{animation:none}.q23-app-rate-field>input{transition:none}}
