.admin-workspace .sidebar .brand{font-size:18px}.admin-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:22px}.shortcut{display:block;transition:border-color .2s}.shortcut:hover{border-color:#93ad85}.shortcut h2{margin:17px 0 8px}.shortcut p{font-size:12px}.shortcut>span:last-child{display:block;font-size:12px;margin-top:23px;color:var(--green)}.table-scroll{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;text-align:right;white-space:nowrap;font-size:12px}th{font-size:11px;font-weight:400;background:#f4f7ef;color:#819075;padding:14px 12px}td{padding:16px 12px;border-bottom:1px solid #edf0e9;vertical-align:middle}td b{font-size:12px}td small{display:block;font-size:10px;color:#8e9a85;margin-top:4px}.row-actions{display:flex;gap:6px;align-items:start}.row-actions .button{font-size:10px;padding:6px 10px;min-height:34px}.row-actions form{max-width:160px}.row-actions .form-message{white-space:normal;font-size:10px}.user-search{display:flex;align-items:end;gap:12px;margin-bottom:25px}.user-search>div:first-of-type{flex:1}.user-search>div:nth-of-type(2){width:140px}.user-search label{margin-top:0}.pagination{display:flex;justify-content:center;align-items:center;gap:18px;padding-top:22px;color:#8b987f;font-size:11px}.pagination .button{font-size:11px;min-height:36px}.text-link{font-size:12px;color:var(--green);text-decoration:underline;text-underline-offset:4px}.user-editor{margin-top:24px;scroll-margin-top:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.form-grid small{font-size:10px}.user-editor form>.button{margin-top:24px}input[readonly]{background:#f3f5ef;color:#8e9b85}.upload-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:22px;align-items:start}.upload-layout .info-card h3{margin-top:0}.upload-layout ol{padding-right:18px;font-size:12px;line-height:2.2;color:#738466}.step-label{display:flex;align-items:center;gap:12px;font-weight:700;font-size:15px;margin-bottom:15px}.step-label span{display:grid;place-items:center;background:#e8f0dc;width:30px;height:30px;border-radius:50%;color:#709052}.file-drop{border:1px dashed #bcccad;background:#fafcf6;border-radius:14px;padding:22px;display:flex;flex-direction:column;align-items:center;gap:9px}.file-drop .muted{font-size:11px;font-weight:400}.file-drop input{height:auto;padding:10px;max-width:100%;font-size:11px}.file-drop input::file-selector-button{font:inherit;border:0;border-radius:6px;background:#e3edda;color:#527346;padding:8px;margin-left:12px;cursor:pointer}.import-preview{width:100%;margin-top:17px;border:1px solid var(--line);border-radius:10px}.mapping-table{max-height:500px}.mapping-table th{position:sticky;top:0}.publish-panel{margin-top:24px}.check-label{display:flex;align-items:start;gap:10px;font-size:12px;font-weight:400}.check-label input{width:18px;height:18px;flex-shrink:0;accent-color:var(--green);margin:3px 0 0}.publish-panel progress{width:100%;height:13px;accent-color:var(--green);margin-top:25px}.publish-panel #import-status{font-size:12px;margin-bottom:19px}.import-result h2{margin:20px 0 12px}.import-result>p{margin-bottom:20px}.import-result .muted{font-size:12px;margin-top:15px}.form-message.success-message{color:#2e7955}.otp-shell{max-width:560px;margin:45px auto;padding:24px}.otp-shell>.brand{margin-bottom:25px}.otp-shell h1{font-size:25px}.otp-shell .panel>p{font-size:12px;margin:8px 0 20px}.otp-shell .button{margin-top:18px}.otp-tabs{display:flex;gap:10px;margin-bottom:20px}.otp-tabs a{font-size:12px;padding:8px 12px;border:1px solid var(--line);border-radius:9px}.otp-tabs a.active{background:#eaf2e5;color:var(--green)}.otp-success{padding:12px;border-radius:8px;background:#ecf5e9;color:#426b39;font-size:12px}.otp-choice{margin:20px 0;padding:16px;background:#f0f5e8;border:1px solid #dbe7d0;border-radius:12px}.otp-choice p{font-size:12px}.otp-choice .button{margin-top:12px}.personnel-selector{margin-bottom:18px;padding:12px 14px;border-radius:12px;background:#f5f8ef}.personnel-selector p{font-size:11px;color:#849477;margin-bottom:8px}.personnel-links{display:flex;gap:7px;flex-wrap:wrap}.personnel-links a{padding:7px 12px;border:1px solid #dce6d2;border-radius:7px;font-size:11px}.personnel-links a.active{background:var(--green);color:white}.admin-entry{margin:14px 0;border-top:1px solid var(--line)}
@media(max-width:1050px){.upload-layout{grid-template-columns:1fr}.upload-layout .info-card{display:block}.user-search{flex-wrap:wrap}.user-search>div:first-of-type{min-width:180px}.row-actions{flex-wrap:wrap}.admin-workspace .sidebar .brand{font-size:16px}}
@media(max-width:760px){.admin-shortcuts{grid-template-columns:1fr}.form-grid{gap:0 12px}.admin-workspace .sidebar-bottom{display:flex;align-items:center;top:17px;left:12px}.admin-workspace .sidebar-bottom>.nav-item{font-size:0}.admin-workspace .sidebar-bottom .logout{font-size:9px}.admin-workspace .sidebar .brand{font-size:15px}.user-search{gap:8px}.user-search>div:first-of-type{flex-basis:100%}.user-search>div:nth-of-type(2){flex:1}.user-search .button{padding:10px 12px;font-size:11px}.form-grid{grid-template-columns:1fr}.otp-shell{margin:10px auto;padding:16px}.file-drop{padding:15px}.step-label{font-size:13px}.panel-heading{flex-wrap:wrap}.admin-workspace td,.admin-workspace th{padding:12px 8px}.publish-panel .check-label{font-size:11px}}

.otp-divider{border:0;border-top:1px solid var(--line);margin:25px 0}
.payslip-announcement{margin-top:18px}.otp-timing p:not(:empty){padding:10px 12px;margin:8px 0;background:#eff5e9;border-radius:9px;color:#335d3e;font-variant-numeric:tabular-nums;font-size:12px}.missing-mobiles,.skipped-slips{margin-bottom:24px}.skipped-slips{border-color:#e8cfc0}.skipped-slips ul{max-height:240px;overflow:auto;font-size:12px}.missing-mobiles td input{min-width:165px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.form-message{white-space:pre-line;overflow-wrap:anywhere}
.sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}
.sample-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f4f8f5;padding:16px;border-radius:14px}
.sample-details dt{font-size:.78rem;color:#64756c}.sample-details dd{margin:4px 0 0;font-weight:700}
.sample-card .import-preview{max-height:600px;object-fit:contain;width:100%}
.sample-card .panel-heading{align-items:flex-start;gap:8px;flex-wrap:wrap}
.sms-message-preview{white-space:pre-line;padding:22px;background:#f0f6f2;border:1px solid #d4e5da;border-radius:14px;line-height:2}
.sms-counts{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
textarea{width:100%;font:inherit;padding:14px;border:1px solid #d8e2dd;border-radius:12px;resize:vertical}
.period-filter>div{min-width:100px;flex:1}
@media(max-width:850px){.sample-grid{grid-template-columns:1fr}.sample-details{grid-template-columns:1fr}.period-filter{flex-wrap:wrap}}
@media print{
 @page{margin:0;size:auto}
 html,body{margin:0!important;padding:0!important;background:#fff!important}
 body>*:not(.workspace),.workspace>.sidebar,.main-area>header,.main-content>*:not(.content-grid),.content-grid>aside,.slip-panel>*:not(.slip-preview){display:none!important}
 .workspace,.main-area,.main-content,.content-grid,.slip-panel,.slip-preview{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important;border-radius:0!important;min-height:0!important}
 #slip-image{display:block!important;max-width:100%!important;width:auto!important;height:auto!important;max-height:100vh!important;margin:0 auto!important;object-fit:contain}
}
.access-table th small{display:block;font-size:10px;color:#9aa59d}.access-cell{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.access-cell form{display:inline-flex;flex-direction:column}.access-cell .button{min-height:32px;padding:5px 12px;font-size:11px}.access-cell .form-message{white-space:normal;font-size:10px;margin:4px 0 0}.pill.pending{background:#fbf3e3;color:#9a7428}.access-note{font-size:11px;margin-top:16px}
.nav-item.is-pending{cursor:default;color:#9a7428}.nav-item.is-pending small{margin-right:auto;font-size:10px;background:#fbf3e3;border-radius:5px;padding:0 6px}.nav-request{margin:0}.nav-request .form-message{margin:4px 14px;font-size:10px}
@media(max-width:760px){.nav-request{display:contents}.nav-request .form-message{display:none}}
.mode-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.mode-option{display:flex;gap:12px;align-items:flex-start;margin:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;font-weight:400}.mode-option:has(input:checked){border-color:#7fb8ad;background:#f2f8f7;box-shadow:0 0 0 3px #4ca89c1f}.mode-option input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:var(--green)}.mode-option b{display:block;font-size:13px}.mode-option small{display:block;font-size:11px;color:var(--muted);line-height:1.9;margin-top:4px}.mode-submit{grid-column:1/-1;display:flex;align-items:center;gap:12px}.mode-submit .form-message{margin:0}
.secondary-table form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.secondary-table input{height:36px;width:150px;font-size:12px}.secondary-table .button{min-height:34px;font-size:11px;padding:5px 12px}.secondary-table .form-message{flex-basis:100%;white-space:normal;font-size:10px;margin:2px 0 0}.secondary-password{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.role-card{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fbfdfc}.role-card b{font-size:13px;color:var(--dark)}.role-card p{font-size:11px;color:var(--muted);line-height:1.9;margin-top:6px}
/* User editor popup */
.modal-backdrop{position:fixed;inset:0;z-index:50;background:#0b2e2a73;backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow-y:auto;animation:fade-in .15s ease-out}
.modal-panel{width:100%;max-width:760px;margin:auto 0;box-shadow:0 24px 60px -20px #0b2e2a80;animation:pop-in .18s ease-out}
.modal-head{margin-bottom:8px}.modal-head h2{font-size:17px}.modal-close{font-size:16px;color:#6a8074;text-decoration:none}
.modal-panel .form-grid label{margin-top:14px}.modal-actions{display:flex;justify-content:flex-start;gap:10px;margin-top:22px;flex-wrap:wrap}.modal-actions .button{margin:0}
body:has(.modal-backdrop){overflow:hidden}
@keyframes fade-in{from{opacity:0}}@keyframes pop-in{from{opacity:0;transform:translateY(12px) scale(.98)}}
@media(max-width:640px){.modal-backdrop{padding:0;align-items:stretch}.modal-panel{max-width:none;min-height:100%;border-radius:0;margin:0}.modal-panel .form-grid{grid-template-columns:1fr}.modal-actions .button{flex:1}}
@media(prefers-reduced-motion:reduce){.modal-backdrop,.modal-panel{animation:none}}
