.payroll-page{width:100%;max-width:100%;margin:0;padding:clamp(14px,2vw,28px);box-sizing:border-box;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f8fafc;min-height:100vh}.payroll-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px;padding:24px 28px;background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:18px;color:#ffffff;box-shadow:0 8px 28px rgba(15,23,42,.12)}.payroll-eyebrow{color:#38bdf8;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;display:inline-block;margin-bottom:4px}.payroll-hero h1{margin:2px 0 6px;color:#ffffff;font-size:clamp(22px,2.2vw,32px);font-weight:900;line-height:1.15;letter-spacing:-.02em}.payroll-hero .subtitle{margin:0;color:#94a3b8;font-size:13px;font-weight:500;line-height:1.4}.payroll-live{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:6px 14px;border:1px solid rgba(56,189,248,.3);border-radius:999px;background:rgba(56,189,248,.1);color:#38bdf8;font-size:11.5px;font-weight:700;backdrop-filter:blur(8px)}.payroll-live span{width:7px;height:7px;border-radius:50%;background:#38bdf8;box-shadow:0 0 10px #38bdf8;animation:pulse-glow 2s infinite}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.payroll-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.payroll-stats article{position:relative;overflow:hidden;min-width:0;padding:18px 20px;border:1px solid #e2e8f0;border-radius:16px;background:#ffffff;box-shadow:0 2px 10px rgba(0,0,0,.02);transition:transform .2s ease,box-shadow .2s ease;box-sizing:border-box}.payroll-stats article:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.05)}.payroll-stats span{display:block;color:#64748b;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.payroll-stats strong{display:block;margin:6px 0 2px;overflow:hidden;color:#0f172a;font-size:clamp(18px,1.8vw,26px);font-weight:900;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.payroll-stats small{display:block;color:#94a3b8;font-size:11px;font-weight:500;line-height:1.3}.payroll-stats .payroll-net-card{border-color:#0284c7;background:linear-gradient(135deg,#0284c7,#0369a1);color:#ffffff;box-shadow:0 4px 16px rgba(2,132,199,.25)}.payroll-stats .payroll-net-card small,.payroll-stats .payroll-net-card span{color:#bae6fd}.payroll-stats .payroll-net-card strong{color:#ffffff}.payroll-control-card{border:1px solid #e2e8f0;border-radius:16px;background:#ffffff;padding:20px 24px;margin-bottom:20px;box-shadow:0 2px 10px rgba(0,0,0,.02);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;box-sizing:border-box}.payroll-section-title h2{margin:0 0 3px;color:#0f172a;font-size:16px;font-weight:800}.payroll-section-title p{margin:0;color:#64748b;font-size:12.5px}.payroll-page .toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.payroll-page .toolbar label{display:flex;flex-direction:column;gap:5px}.payroll-page .toolbar label>span{color:#64748b;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.payroll-page input[type=month],.payroll-page input[type=text]{padding:9px 14px;border:1px solid #cbd5e1;border-radius:10px;outline:none;background:#f8fafc;color:#0f172a;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s ease}.payroll-page input:focus{border-color:#0284c7;background:#ffffff;box-shadow:0 0 0 3px rgba(2,132,199,.15)}.payroll-page button{padding:9px 16px;border:0;border-radius:10px;cursor:pointer;background:#0284c7;color:#ffffff;font-family:inherit;font-size:12.5px;font-weight:800;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease;box-shadow:0 2px 6px rgba(2,132,199,.2)}.payroll-page button:hover{background:#0369a1;box-shadow:0 4px 12px rgba(2,132,199,.3)}.payroll-page button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.payroll-page button.secondary{background:#ffffff;color:#0284c7;box-shadow:none;border:1px solid #e2e8f0}.payroll-page button.secondary:hover{background:#f8fafc;border-color:#cbd5e1}.payroll-page button.danger{background:#ef4444;color:#ffffff;box-shadow:0 2px 6px rgba(239,68,68,.25)}.payroll-page button.danger:hover{background:#dc2626}.payroll-content-card{border:1px solid #e2e8f0;border-radius:16px;background:#ffffff;box-shadow:0 2px 10px rgba(0,0,0,.02);overflow:hidden;box-sizing:border-box}.payroll-content-head{padding:18px 24px;border-bottom:1px solid #f1f5f9;background:#ffffff}.payroll-content-head h2{margin:0 0 3px;color:#0f172a;font-size:16px;font-weight:800}.payroll-content-head p{margin:0;color:#64748b;font-size:12.5px}.payroll-page .table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.payroll-page table{width:100%;min-width:800px;border-collapse:separate;border-spacing:0}.payroll-page th{padding:12px 14px;background:#f8fafc;color:#475569;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;text-align:left;border-bottom:1px solid #e2e8f0;white-space:nowrap}.payroll-page td{padding:12px 14px;vertical-align:middle;border-bottom:1px solid #f1f5f9;color:#334155;font-size:12.5px;font-weight:500}.payroll-page tbody>tr:hover{background:#f8fafc}.emp-name-btn{font-weight:800!important;color:#0284c7!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;font-size:13px!important;text-align:left;cursor:pointer}.emp-name-btn:hover{text-decoration:underline}.emp-code-badge{background:#f1f5f9;color:#475569;padding:3px 6px;border-radius:6px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;border:1px solid #e2e8f0}.payroll-page .status{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.payroll-page .status-draft{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.payroll-page .status-hr_verified,.payroll-page .status-pending_super_admin_approval{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.payroll-page .status-approved,.payroll-page .status-pending_finance,.payroll-page .status-processing{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.payroll-page .status-paid,.payroll-page .status-salary_paid{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.payroll-page .status-on_hold,.payroll-page .status-rejected,.payroll-page .status-returned_to_hr{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.payroll-page .actions{flex-wrap:nowrap}.button-group,.payroll-page .actions{display:flex;align-items:center;gap:6px}.button-group{flex-wrap:wrap}.payroll-page .details{padding:18px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.payroll-page .details h3{margin:0 0 12px;color:#0f172a;font-size:14px;font-weight:800}.breakdown-stats{margin-bottom:12px}.breakdown-stats article{padding:12px 14px;box-shadow:none;background:#ffffff}.swal2-cancel,.swal2-confirm,.swal2-hide,.swal2-popup,.swal2-show{animation:none!important;transition:none!important}@media (max-width:1024px){.payroll-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.payroll-page{padding:12px 14px}.payroll-hero{flex-direction:column;align-items:flex-start;padding:18px 16px;gap:12px}.payroll-hero h1{font-size:20px}.payroll-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.payroll-stats article{padding:14px!important}.payroll-stats strong{font-size:17px!important}.payroll-control-card{flex-direction:column;align-items:stretch;padding:16px 14px;gap:14px}.payroll-page .toolbar{flex-direction:column;align-items:stretch;gap:10px;width:100%}.payroll-page .toolbar label{width:100%}.payroll-page .toolbar input[type=month]{width:100%;box-sizing:border-box}.payroll-page .toolbar button{width:100%;padding:11px 16px;font-size:13px}.payroll-content-head{padding:14px 16px}.payroll-content-card{border-radius:14px}.payroll-col-optional{display:none!important}.button-group{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.button-group button{width:100%!important;padding:9px 10px!important;font-size:12px!important;justify-content:center!important}}@media (max-width:380px){.payroll-stats{grid-template-columns:1fr!important}.button-group{grid-template-columns:1fr}}