/* V12.2: opaque surfaces, restrained accents and clear section boundaries. */
:root{--ink:#253449;--muted:#586a7c;--blue:#315e96;--violet:#71659a;--bg:#edf1f5}
body{background:#e7ecf2;background-attachment:initial;color:var(--ink);padding:24px}
.workspace{background:#f1f4f8;border:1px solid #cbd5e1;border-radius:20px;box-shadow:0 8px 32px #24374c12}
.masthead{background:#fff;border-bottom:1px solid #cbd5e1;padding:20px 24px}
.identity small,.channel-switch small,.profile small,.eyebrow,.muted{color:#586a7c}
.module-search{background:#f1f4f8;border:1px solid #d7e0e9}
.module-search input::placeholder{color:#64748b}
.channel-switch{background:#f8fafc;border:1px solid #bdccdc}
.channel-switch:hover{background:#edf3fb;border-color:#7f9cbd}
.module-nav{background:#f8fafc;border-bottom:1px solid #cbd5e1;padding:13px 18px;gap:8px}
.module-nav a{background:#fff;border:1px solid #d5dee8;color:#34465b;border-radius:10px;padding:10px;flex:0 0 auto;font-size:12px}
.module-nav a>span{background:#f0f4f8;width:32px;height:32px;font:22px/1 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
.module-nav a:hover{background:#edf3fa;border-color:#9bb2cb}
.module-nav a.selected{background:#e5eefb;color:#204f86;border-color:#7c9dc5;box-shadow:inset 0 -3px #446fa3}
.module-nav a.selected>span{background:#fff}
.layout{gap:22px;padding:0 20px 20px}
.side{background:#e9eef5;border:1px solid #cbd5e1;border-radius:12px}
.side-label{color:#415a75}.nav a{color:#42576c;padding:11px 10px;margin:4px 0}
.nav a.on,.nav a:hover{background:#fff;color:#254f80;box-shadow:inset -3px 0 #527ba9}
[dir=ltr] .nav a.on,[dir=ltr] .nav a:hover{box-shadow:inset 3px 0 #527ba9}
.side-note{color:#53677b;border-top:1px solid #c4d0dc}.assistant-shortcut{background:#dfe7f2;color:#334f76;border:1px solid #bacbe0}
.top{padding:5px 0 16px;border-bottom:1px solid #cbd5e1;margin-bottom:20px}
.top h1{color:#233b56}.date-pill{color:#52677e}.date-pill a{background:#fff;border-color:#c8d4e1}
.card,.panel,.module-card{background:#fff;border:1px solid #ccd7e2;border-radius:12px;box-shadow:0 2px 5px #24374c06}
.card.kpi-green,.card.kpi-blue,.card.kpi-red,.card.kpi-yellow,.card.kpi-purple{background:#fff;border-color:#ccd7e2;border-inline-start-width:4px}
.card.kpi-green{border-inline-start-color:#679782}.card.kpi-blue{border-inline-start-color:#668db5}.card.kpi-red{border-inline-start-color:#ba858f}.card.kpi-yellow{border-inline-start-color:#b39961}.card.kpi-purple{border-inline-start-color:#9585b2}
.dashboard-cards .card{min-height:104px}.card .muted{color:#526477}.card b{color:#263b53}
.kpi-green .icon{background:#e9f2ee;color:#39765b}.kpi-blue .icon{background:#e9eff7;color:#426d9a}.kpi-red .icon{background:#f7edef;color:#9b5365}.kpi-yellow .icon{background:#f5f0e5;color:#856723}.kpi-purple .icon{background:#efedf5;color:#75618e}
.grid{gap:20px;margin-top:20px}.panel{padding:22px}.panel h3{color:#304b68}
.page-head{padding-bottom:12px;border-bottom:1px solid #e0e6ee;gap:8px}
.pill{color:#52677f;background:#edf2f7;border:1px solid #d9e2ed}
.btn{background:#386598;color:#fff;box-shadow:none;border:1px solid #315a87}.btn:hover{background:#2b527f}
input,select,textarea{background:#fff;border-color:#b8c8d8;color:#253449}
input:focus,select:focus,textarea:focus{outline:2px solid #86a7cc;outline-offset:2px}
th{background:#eef3f8;color:#425c76;border-bottom:1px solid #bfcedd}td{color:#34465b;border-bottom:1px solid #dfe6ee}tbody tr:nth-child(even) td{background:#f8fafc}
.chart-data,.chart-legend small,.purchase-chart small{color:#52677e}.line-chart text{fill:#53677c}
.legend-blue{color:#356998}.legend-pink{color:#a75275}.legend-purple{color:#756195}
.quick a{background:#f7f9fc;border:1px solid #cbd7e4;color:#385777}
.info-box{background:#eef4fa;border-color:#c4d6e8;color:#355b7f}.alert{background:#f9eff0;color:#8f4554;border:1px solid #e6c8ce}.alert.blue{background:#edf3fa;color:#365c85;border:1px solid #c8d8e9}.alert.amber{background:#faf5e9;color:#806426;border:1px solid #e4d6b4}
.auth-card{background:#fff;border:1px solid #c5d2df;box-shadow:0 12px 36px #273d5312}
.channel-option{background:#f8fafc;border-color:#cbd7e4}.channel-option:has(input:checked){background:#edf3fa;border-color:#6c93bd}.channel-option small{color:#586d82}
.calendar-day{background:#fff;border-color:#d2dce7}.calendar-day.today{background:#eaf1fb;border:2px solid #628ab7}.weekday{color:#52677e}.calendar-day>small{color:#63768a}.calendar-day.outside{opacity:.65;background:#f0f3f7}
.event{background:#ece8f5;color:#655283}.deadline{background:#e9f2eb;color:#416d50}
.assistant-emblem{background:#e8eef8;color:#536e96}.user-message{background:#eaf1fa;border:1px solid #cbd9e9}.assistant-message{background:#f3f1f8;border:1px solid #d8d1e6}.chat small,.consent{color:#53677d}
footer{color:#5e7285;border-top:1px solid #d2dce7;margin-top:22px}
@media(min-width:1500px){body{padding:32px}}
@media(max-width:800px){body{padding:8px}.layout{padding:0 12px 12px}.masthead{padding:14px}.module-nav{padding:10px}.module-nav a{padding:8px 10px}.panel{padding:16px}.grid{gap:15px}}
.date-pill a{position:relative;color:#b98308;background:#fff8dc;border-color:#e9cf7a;font:20px/1 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;box-shadow:0 0 0 3px #fff3bd80}.date-pill a b{position:absolute;top:-8px;left:-8px;background:#ba253c;color:#fff;border:2px solid #fff;border-radius:12px;min-width:20px;height:20px;display:grid;place-items:center;font:700 10px Arial}
.secondary{background:#eef3f8;color:#315a87;border-color:#afc1d3}.secondary:hover{background:#e1eaf3}.section-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.section-tabs a{padding:10px 14px;background:#fff;border:1px solid #cbd7e4;border-radius:9px;color:#3c5875}.section-tabs a.active{background:#e5eefb;border-color:#7295bd;color:#244f80;font-weight:bold}.payroll-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.payroll-kpis .card{display:flex;align-items:center;gap:12px;min-height:100px}.payroll-kpis .card b{font-size:17px}.payroll-note{border-inline-start:4px solid #6f8fb2;margin-bottom:20px}.payroll-tools{grid-template-columns:minmax(280px,.7fr) minmax(400px,1.3fr)}.settings-panel{margin:20px 0}.settings-panel summary{cursor:pointer;font-weight:bold;color:#304f70}.settings-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:16px 0}.settings-grid .btn{align-self:end}.table-wrap{overflow-x:auto}.table-wrap table{min-width:980px}
@media(max-width:900px){.payroll-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-tools,.settings-grid,.form-grid{grid-template-columns:1fr}}
.finance-kpis,.project-kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:20px}.finance-kpis .card,.project-kpis .card{display:flex;align-items:center;gap:10px;min-height:100px}.finance-kpis .card b,.project-kpis .card b{font-size:15px}.finance-form{margin-bottom:20px}.pill.income{background:#e8f3ed;color:#357158}.pill.expense{background:#f7ecee;color:#914e5c}.project-toolbar{display:flex;align-items:center;justify-content:space-between;margin:20px 0}.project-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{overflow:visible}.project-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #e0e6ee;padding-bottom:12px}.project-card-head h3{margin:5px 0 0}.project-code{font:700 11px Arial;color:#58718b;background:#edf2f7;padding:4px 8px;border-radius:5px}.health{font-size:10px;padding:5px 8px;border-radius:14px;white-space:nowrap}.health.on_track{background:#e7f2eb;color:#397258}.health.at_risk{background:#faf1dd;color:#84651f}.health.delayed{background:#f8e9ec;color:#985264}.project-progress{margin:16px 0}.project-progress>div:first-child{display:flex;justify-content:space-between}.project-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.project-facts span{background:#f5f7fa;border:1px solid #dfe6ee;border-radius:8px;padding:8px;font-size:11px;overflow-wrap:anywhere}.project-facts small{display:block;color:#64788c;margin-bottom:4px}.project-card details{border-top:1px solid #e0e6ee;padding-top:12px;margin-top:12px}.project-card summary{cursor:pointer;color:#425f7d}.project-control-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.project-open{display:block;text-align:center;margin-top:15px}.project-create{margin-top:22px}.report-box{margin-bottom:20px}.report-actions{display:grid;grid-template-columns:1fr 1fr auto auto;gap:12px;align-items:end}.purchase-price input[name=quantity]{width:90px}.purchase-price input[name=amount]{width:150px}.inline{display:flex;gap:7px;align-items:center}.panel+.panel{margin-top:20px}
@media(max-width:1150px){.finance-kpis,.project-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.report-actions{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.finance-kpis,.project-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.project-board{grid-template-columns:1fr}.project-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-toolbar{align-items:flex-start;gap:10px;flex-direction:column}.report-actions{grid-template-columns:1fr}.project-control-form{grid-template-columns:1fr}}

/* V12.3: livelier accents without returning to a tiring saturated background. */
:root{--ink:#172f4d;--muted:#52677c;--blue:#2563b8;--violet:#7447c8;--bg:#edf4fb}
body{background:linear-gradient(135deg,#e8f2ff 0%,#f4f7fb 48%,#f1ecff 100%)}
.workspace{background:#f4f7fb;border-color:#b9c9dc;box-shadow:0 12px 38px #1f4f8520}
.module-nav{background:#eef5fd}.module-nav a{border-color:#c7d7e8}.module-nav a:hover{background:#e5f0ff;border-color:#6f9bd0;color:#174f91}.module-nav a.selected{background:#dbeaff;border-color:#4f83c1;color:#124d91;box-shadow:inset 0 -3px #2563b8}.module-nav a.selected>span{background:#f8fbff}
.side{background:#e9f1fa;border-color:#bbccdf}.nav a.on,.nav a:hover{color:#174f91;box-shadow:inset -3px 0 #2973c2}
[dir=ltr] .nav a.on,[dir=ltr] .nav a:hover{box-shadow:inset 3px 0 #2973c2}
.card,.panel,.module-card{border-color:#c3d2e3;box-shadow:0 4px 12px #315b8410}
.card.kpi-green{border-inline-start-color:#22a06b}.card.kpi-blue{border-inline-start-color:#2f7ac5}.card.kpi-red{border-inline-start-color:#d6576e}.card.kpi-yellow{border-inline-start-color:#d69b22}.card.kpi-purple{border-inline-start-color:#8b5dcc}
.kpi-green .icon{background:#dcf5e9;color:#148255}.kpi-blue .icon{background:#dfeeff;color:#1e66ad}.kpi-red .icon{background:#fde5ea;color:#bd3651}.kpi-yellow .icon{background:#fff0ca;color:#9b6b08}.kpi-purple .icon{background:#eee4ff;color:#7140b2}
.btn{background:#2563b8;border-color:#1f559e;box-shadow:0 3px 9px #2563b828}.btn:hover{background:#174f91}.secondary{background:#eef5ff;color:#225e9e;border-color:#83a9d2}.secondary:hover{background:#dcecff}
th{background:#e5f0fc;color:#274f78;border-bottom-color:#a9bfd8}tbody tr:nth-child(even) td{background:#f5f9fd}
.info-box{background:#e3f1ff;border-color:#9fc3e7}.alert.blue{background:#e5f0ff;border-color:#a7c4e3}.alert.amber{background:#fff4d8;border-color:#e5c56f}
.section-tabs a.active{background:#dbeaff;border-color:#5688c2;color:#174f91}.health.on_track{background:#dff5e9;color:#18794f}.health.at_risk{background:#fff0c7;color:#8c6205}.health.delayed{background:#fde3e8;color:#b33750}
.personnel-list{margin:20px 0}.employee-edit{min-width:90px}.employee-edit summary{cursor:pointer;color:#2563b8;font-weight:700;white-space:nowrap}.employee-edit-form{position:absolute;z-index:20;inset-inline-end:28px;width:min(680px,calc(100vw - 80px));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;background:#fff;border:1px solid #8fb0d3;border-radius:12px;padding:18px;box-shadow:0 18px 45px #173f6b30}.employee-edit-form .btn{align-self:end}.payroll-status{display:inline-block;border-radius:14px;padding:5px 8px;font-size:10px;white-space:nowrap}.payroll-status.done{background:#dff5e9;color:#18794f}.payroll-status.warning{background:#fff0c7;color:#8c6205}.payroll-status.danger{background:#fde3e8;color:#b33750}.payroll-status.ready{background:#dbeaff;color:#174f91}
@media(max-width:800px){.employee-edit-form{position:fixed;inset:10% 12px auto;width:auto;max-height:80vh;overflow:auto;grid-template-columns:1fr}}

/* V13 payroll workspace */
.payroll-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.payroll-nav a{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #c3d2e3;border-radius:12px;padding:14px;color:#385777}.payroll-nav a>b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf3fa;color:#2563b8;font-size:15px}.payroll-nav a>span{font-weight:800}.payroll-nav small{display:block;color:#64788c;font-weight:400;margin-top:3px}.payroll-nav a.active{background:#e5f0ff;border-color:#5f8fc7;color:#174f91;box-shadow:inset 0 -3px #2563b8}.payroll-nav a.active>b{background:#2563b8;color:#fff}
.payroll-settings-wide{grid-template-columns:repeat(4,minmax(0,1fr))}.settings-holidays{grid-column:span 3}.check-label{display:flex;align-items:center;gap:8px;align-self:end;padding:11px 0}.check-label input{width:auto}.personnel-create-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;margin-top:16px}.personnel-create-grid .btn{align-self:end}.personnel-table{min-width:1180px}
.attendance-toolbar{grid-template-columns:minmax(310px,.75fr) minmax(480px,1.25fr)}.attendance-filter{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.attendance-filter h3{grid-column:1/-1}.attendance-filter .btn{align-self:end}.attendance-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0}.attendance-summary .card{min-height:82px}.attendance-sheet{padding:0;overflow:hidden}.sheet-head,.sheet-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px}.sheet-head{border-bottom:1px solid #d6e0eb}.sheet-head h3{margin:0 0 4px}.sheet-head>div:last-child{display:flex;gap:8px}.sheet-actions{border-top:1px solid #d6e0eb}.attendance-grid-wrap{overflow:auto;max-height:68vh}.attendance-grid{min-width:1900px;border-collapse:separate;border-spacing:0}.attendance-grid th{position:sticky;top:0;z-index:4;white-space:nowrap;text-align:center}.attendance-grid td{padding:3px;border-inline-end:1px solid #e1e7ef}.attendance-grid input,.attendance-grid select{min-width:76px;width:100%;border:1px solid transparent;border-radius:5px;padding:7px 5px;background:#fff}.attendance-grid input:focus,.attendance-grid select:focus{border-color:#5d91cb;outline:2px solid #d9eaff}.attendance-grid .fixed-cell{position:sticky;z-index:2;background:#f5f9fd;white-space:nowrap}.attendance-grid td:first-child{right:0}.attendance-grid td:nth-child(2){right:92px}.attendance-grid .time-cell{width:66px;min-width:66px;text-align:center}.attendance-grid .minute-cell{width:68px;min-width:68px;text-align:center}.attendance-grid .note-cell{min-width:170px}.attendance-grid .holiday-row td,.attendance-grid .holiday-row .fixed-cell{background:#fff7e5}.attendance-grid .holiday-row input,.attendance-grid .holiday-row select{background:#fffbf1}.payroll-run-toolbar{display:flex;align-items:end;gap:16px;margin-bottom:20px}.payroll-run-toolbar form{display:flex;align-items:end;gap:10px}.btn.compact{padding:7px 10px;font-size:11px}
.payslip{max-width:960px;margin:auto;padding:32px}.payslip-head,.payslip-person,.payslip-meta{display:flex;justify-content:space-between;gap:18px}.payslip-head{border-bottom:2px solid #315e96;padding-bottom:18px}.payslip-head h2{margin:0}.payslip-head div:last-child{text-align:left}.payslip-head small,.payslip-person small{display:block;color:#64788c}.payslip-person{margin:22px 0;background:#f5f8fc;border:1px solid #d6e0eb;border-radius:10px;padding:14px}.payslip-person span{flex:1}.payslip-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.payslip-columns table{width:100%}.payslip-columns .total td{font-weight:800;background:#edf3fa}.payslip-net{display:flex;justify-content:space-between;align-items:center;background:#174f91;color:#fff;border-radius:12px;padding:18px 22px;margin:22px 0}.payslip-net b{font-size:20px}.payslip-meta{font-size:11px;color:#64788c}.payslip-actions{display:flex;justify-content:center;gap:10px;margin-top:16px}
@media(max-width:1100px){.payroll-settings-wide,.personnel-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-holidays{grid-column:span 2}.attendance-toolbar{grid-template-columns:1fr}}
@media(max-width:800px){.payroll-nav{grid-template-columns:1fr}.payroll-settings-wide,.personnel-create-grid,.attendance-filter,.attendance-summary,.payslip-columns{grid-template-columns:1fr}.settings-holidays{grid-column:auto}.payroll-run-toolbar,.sheet-head,.sheet-actions{align-items:stretch;flex-direction:column}.payroll-run-toolbar form{align-items:stretch;flex-direction:column}.payslip-person,.payslip-meta{display:grid;grid-template-columns:1fr 1fr}.payslip{padding:18px}}

/* V13.1 attendance workbook */
.bulk-break-bar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:13px 20px;background:#f7f9fc;border-bottom:1px solid #cdd8e5}.bulk-break-bar>b{align-self:center;color:#294a70}.bulk-break-bar label{min-width:145px}.bulk-break-bar input,.bulk-break-bar select{padding:8px 10px}.export-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.attendance-summary .card b{font-size:15px;line-height:1.6}.attendance-grid thead .group-head th{top:0;height:30px;padding:6px 8px;color:#fff;border-left:1px solid #ffffff55;font-size:11px}.attendance-grid thead tr:nth-child(2) th{top:30px;background:#334155;color:#fff;height:36px}.attendance-grid .group-date{background:#475569}.attendance-grid .group-punch{background:#2563a6}.attendance-grid .group-shift{background:#6b7280}.attendance-grid .group-work{background:#16805d}.attendance-grid .group-break{background:#b7791f}.attendance-grid .group-leave{background:#7652a6}.attendance-grid .group-note{background:#58677a}.attendance-grid td:nth-child(n+3):nth-child(-n+6){background:#eef6ff}.attendance-grid td:nth-child(n+7):nth-child(-n+8){background:#f3f4f6}.attendance-grid td:nth-child(n+9):nth-child(-n+12){background:#eefbf5}.attendance-grid td:nth-child(13){background:#fff8e7}.attendance-grid td:nth-child(n+14):nth-child(-n+17){background:#f7f1ff}.attendance-grid .calculated{font-weight:700;color:#116149}.attendance-grid .overtime{font-weight:700;color:#6b3fa0}.attendance-grid .shortage{color:#a13b4d}.attendance-grid .absence-row td,.attendance-grid .absence-row .fixed-cell{background:#fff0f2}.attendance-grid .absence-row select{color:#a82f46;font-weight:700}.attendance-grid .holiday-row td,.attendance-grid .holiday-row .fixed-cell{background:#fff7e5}.attendance-grid .duration-cell{width:76px;min-width:76px;text-align:center;font-variant-numeric:tabular-nums}.attendance-grid .time-cell{width:78px;min-width:78px;font-variant-numeric:tabular-nums}.attendance-grid th:nth-child(3),.attendance-grid th:nth-child(4),.attendance-grid th:nth-child(5),.attendance-grid th:nth-child(6){min-width:82px}.money-input{direction:ltr;text-align:left;font-variant-numeric:tabular-nums}
@media(max-width:800px){.bulk-break-bar{align-items:stretch;flex-direction:column}.export-actions{justify-content:stretch}.export-actions .btn{flex:1;text-align:center}}

/* V13.2 workflow clarity */
.attendance-summary{grid-template-columns:repeat(5,minmax(0,1fr))}
.payroll-nav a{position:relative;overflow:hidden;border-width:1px;box-shadow:0 5px 16px #203f6512;transition:.18s transform,.18s box-shadow}
.payroll-nav a:hover{transform:translateY(-2px);box-shadow:0 9px 22px #203f6520}
.payroll-nav a:nth-child(1){background:linear-gradient(135deg,#f0f6ff,#ffffff);border-color:#8fb6e5;color:#174f91}.payroll-nav a:nth-child(1)>b{background:#dcecff;color:#155ca8}
.payroll-nav a:nth-child(2){background:linear-gradient(135deg,#eafaf4,#ffffff);border-color:#7bc7aa;color:#11634b}.payroll-nav a:nth-child(2)>b{background:#d5f4e7;color:#0f7857}
.payroll-nav a:nth-child(3){background:linear-gradient(135deg,#f5edff,#ffffff);border-color:#ae8cdb;color:#67399b}.payroll-nav a:nth-child(3)>b{background:#eadcff;color:#713eb0}
.payroll-nav a.active{box-shadow:inset 0 -4px currentColor,0 8px 20px #203f6518}.payroll-nav a.active>b{background:currentColor;color:#fff}
.attendance-grid input[readonly]{background:#eceff3!important;color:#6b7280;cursor:not-allowed}.attendance-grid .overtime:not([readonly]){outline:1px solid #9b75c8;background:#fbf7ff!important}
.request-kpis{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.request-kpis .card{display:flex;flex-direction:column;gap:6px;min-height:92px}.request-shortcut{color:inherit}.request-forms{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}.request-reason{display:block;color:#64748b;margin-top:5px}.request-status{display:inline-block;padding:5px 9px;border-radius:16px;font-size:11px;font-weight:800}.request-status.requested{background:#fff2c7;color:#865f00}.request-status.approved{background:#dff6e9;color:#13734c}.request-status.rejected{background:#fde5ea;color:#ae304a}.purchase-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}.purchase-actions .card{display:flex;flex-direction:column;gap:5px;color:inherit}.urgent-card{background:linear-gradient(135deg,#fff2d0,#fff)!important;border-color:#e8bd56!important}.access-card{background:linear-gradient(135deg,#e9f2ff,#fff)!important;border-color:#8eb3de!important}.urgent-badge{background:#fff0c7;color:#8c6205;border:1px solid #e5c56f;border-radius:16px;padding:6px 10px;font-weight:800}.urgent-purchase table{min-width:700px}.urgent-purchase input{width:100%}.urgent-submit{margin-top:14px;background:#b94048;border-color:#963139}.urgent-submit:hover{background:#963139}
@media(max-width:800px){.request-kpis,.request-forms,.purchase-actions,.attendance-summary{grid-template-columns:1fr}}
@media print{body{background:#fff;padding:0}.masthead,.module-nav,.side,.top,.flash,footer,.no-print{display:none!important}.layout,.main{display:block!important;padding:0!important}.workspace,.panel{border:0;box-shadow:none}.payslip{max-width:none}.payslip-net{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* V13.4 payroll management controls */
.control-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px}.control-head h3{margin:0 0 5px}.payroll-control-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}.overtime-control{border-inline-start:5px solid #8b5dcc}.deduction-control{border-inline-start:5px solid #d6576e}.overtime-control label,.deduction-control label{display:block;margin:12px 0}.overtime-control textarea,.deduction-control textarea{min-height:84px;width:100%}.control-suggestion{display:flex;align-items:center;justify-content:space-between;background:#f4effc;border:1px solid #d8c8ed;border-radius:10px;padding:12px 14px;margin:12px 0}.control-suggestion b{font-variant-numeric:tabular-nums;color:#7043a6}.deduction-ledger table,.audit-ledger table{min-width:800px}.audit-ledger{margin-top:20px}.audit-ledger summary{cursor:pointer;font-weight:800;color:#315e96}.audit-details{direction:ltr;text-align:left;font:11px monospace;max-width:420px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:900px){.payroll-control-grid{grid-template-columns:1fr}.control-head{align-items:stretch;flex-direction:column}}
