:root{--accent:#2563eb;--page:#f5f7fb;--surface:#fff;--surface-soft:#f8fafc;--text:#172033;--muted:#64748b;--border:#d9e0ea;--sidebar:#101827;--shadow:rgba(15,23,42,.06)}:root[data-theme=dark]{--page:#09111f;--surface:#111c2e;--surface-soft:#172337;--text:#e5edf8;--muted:#a8b5c8;--border:#33435b;--sidebar:#070d18;--shadow:rgba(0,0,0,.3);color-scheme:dark}*{box-sizing:border-box}html,body,#root{width:100%;max-width:100%;min-height:100%;overflow-x:hidden}body{margin:0;font-family:Arial,Tahoma,sans-serif;background:var(--page);color:var(--text);transition:background .2s,color .2s}button,input,select{font:inherit}button{border:0;border-radius:10px;padding:11px 17px;background:var(--accent);color:#fff;cursor:pointer;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{border:1px solid var(--border);border-radius:10px;padding:11px;background:var(--surface);color:var(--text);outline:none;max-width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent)}h1,h2,h3,h4,p{margin-top:0}.loginPage{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#0f172a,#1e3a8a)}.loginCard{width:min(430px,100%);background:var(--surface);padding:38px;border-radius:22px;box-shadow:0 25px 60px #00000040}.loginCard h1{text-align:center;margin-bottom:6px}.loginCard p{text-align:center;color:#64748b;margin-bottom:30px}.loginCard label{display:block;margin:15px 0 7px;font-weight:700}.loginCard input{width:100%}.loginCard button{width:100%;margin-top:20px;padding:14px}.brandMark{width:58px;height:58px;margin:0 auto 15px;border-radius:17px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:28px;font-weight:900}.topbar{background:#111827;color:#fff;padding:17px 5%;display:flex;align-items:center;justify-content:space-between}.topbar strong{font-size:21px;display:block}.topbar span{font-size:13px;opacity:.75}.employeeContent{width:min(950px,94%);margin:25px auto}.heroCard{background:linear-gradient(135deg,#172554,#2563eb);color:#fff;border-radius:20px;text-align:center;padding:32px}.clock{font-size:44px;font-weight:900}.dateText{opacity:.8;margin:8px 0 22px}.statusGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.statCard,.metric{background:var(--surface);padding:22px;border-radius:16px;box-shadow:0 4px 18px var(--shadow)}.statCard{text-align:center}.statCard span,.metric span{display:block;color:#64748b;margin-bottom:8px}.statCard b{font-size:20px}.panel{background:var(--surface);border-radius:18px;padding:24px;margin-bottom:20px;box-shadow:0 4px 18px var(--shadow)}.panelHeader{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.panelHeader h3{margin-bottom:5px}.panelHeader p{color:#64748b;margin:0}.punchButtons{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.punchButtons button{padding:18px;font-size:17px}.success{background:#16a34a}.danger{background:#dc2626}.secondary{background:#64748b}.small{padding:8px 11px;font-size:13px}.alert{padding:12px;border-radius:10px;margin-top:15px}.errorBox{background:#fee2e2;color:#991b1b}.successBox{background:#dcfce7;color:#166534}.greenText{color:#15803d}.redText{color:#dc2626}.muted{color:#64748b}.adminApp{min-height:100vh;display:flex;max-width:100%;overflow-x:hidden}.sidebar{width:245px;background:var(--sidebar);color:#fff;padding:22px 14px;position:fixed;right:0;top:0;bottom:0}.sideBrand{display:flex;align-items:center;gap:12px;padding:5px 8px 27px}.smallLogo{width:42px;height:42px;margin:0;font-size:20px;border-radius:12px}.sideBrand b{display:block}.sideBrand span{font-size:11px;opacity:.6}.sidebar nav button,.logoutBtn{width:100%;display:flex;align-items:center;gap:10px;text-align:right;background:transparent;margin-bottom:7px;color:#dbe4f0}.sidebar nav button:hover,.sidebar nav button.active{background:var(--accent);color:#fff}.logoutBtn{position:absolute;bottom:20px;right:14px;width:calc(100% - 28px);background:#7f1d1d!important}.adminContent{margin-right:245px;width:calc(100% - 245px);padding:28px;min-width:0;max-width:100%}.adminTop{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.adminTop h2{margin-bottom:3px}.adminTop span{color:#64748b}.adminBadge{background:#dbeafe;color:#1d4ed8;padding:9px 14px;border-radius:999px;font-size:13px;font-weight:700}.stats4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.metric b{font-size:30px}.metric.green{border-right:4px solid #16a34a}.metric.red{border-right:4px solid #dc2626}.metric.orange{border-right:4px solid #ea580c}.infoGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.infoGrid div{padding:17px;background:var(--surface-soft);border-radius:12px}.infoGrid span{display:block;color:#64748b;font-size:13px;margin-bottom:7px}.tableWrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:13px;border-bottom:1px solid #edf0f5;text-align:right}th{background:var(--surface-soft);color:var(--muted);font-size:13px}tr:hover td{background:color-mix(in srgb,var(--surface-soft) 70%,transparent)}.pill{display:inline-block;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700}.pill.ok{background:#dcfce7;color:#166534}.pill.off{background:#fee2e2;color:#991b1b}.rowActions{white-space:nowrap}.rowActions button{margin-left:5px}.modalBg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172aa8;z-index:1000;display:grid;place-items:center;padding:15px}.modalBox{background:var(--surface);width:min(700px,97vw);max-height:92vh;overflow:auto;border-radius:20px;padding:25px}.modalTitle{display:flex;align-items:center;justify-content:space-between}.iconBtn{background:#eef2f7;color:#111;font-size:24px;padding:3px 12px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.formGrid label{font-weight:700;font-size:13px}.formGrid input,.formGrid select{width:100%;margin-top:6px}.modalActions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.settingsSection{background:var(--surface-soft);padding:20px;border-radius:16px;margin-bottom:18px}.settingsSection h4{margin-bottom:15px}.gpsSwitchRow{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.gpsSwitchRow p{color:#64748b;font-size:13px;margin:0}.gpsMapActions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.gpsMapActions small{color:#64748b}.gpsMapFrame{display:block;width:100%;height:320px;border:1px solid #cbd5e1;border-radius:14px;margin-top:16px;background:#e2e8f0}.switch{position:relative;display:inline-block;width:58px;height:30px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#cbd5e1;border-radius:30px;cursor:pointer;transition:.25s}.slider:before{content:"";position:absolute;width:22px;height:22px;right:4px;top:4px;background:#fff;border-radius:50%;transition:.25s}.switch input:checked+.slider{background:#16a34a}.switch input:checked+.slider:before{transform:translate(-28px)}.saveSettings{padding:13px 28px}@media(max-width:1000px){.stats4,.infoGrid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.adminApp{display:block}.sidebar{position:sticky;top:0;right:auto;bottom:auto;z-index:100;width:100%;height:auto;padding:8px;display:flex;align-items:center;gap:8px;overflow:hidden;box-shadow:0 6px 18px #0f172a2e}.sideBrand{padding:0;flex:0 0 auto}.sideBrand div:last-child{display:none}.mainBrandLogo{width:38px;height:38px}.sidebar nav{min-width:0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.sidebar nav button{width:auto;min-width:44px;margin:0;padding:10px;flex:0 0 auto;justify-content:center;font-size:0}.sidebar nav button.active{font-size:12px}.sidebar nav button span{font-size:20px}.logoutBtn{position:static;flex:0 0 44px;width:44px;min-width:44px;margin:0;padding:10px;font-size:0;justify-content:center}.logoutBtn:after{content:"↪";font-size:20px}.adminContent{margin-right:0;width:100%;padding:12px}.stats4{grid-template-columns:1fr 1fr}.statusGrid,.punchButtons,.formGrid,.infoGrid{grid-template-columns:1fr}.clock{font-size:34px}.panelHeader{align-items:flex-start;flex-direction:column}.panel{padding:16px;max-width:100%;overflow:hidden}.adminTop{align-items:flex-start}.adminBadge{display:none}.tableWrap{margin-inline:0;padding-bottom:5px}table{min-width:680px}.recharts-wrapper,.recharts-surface{max-width:100%!important}}@media(max-width:420px){.stats4,.dashboardKpis{grid-template-columns:1fr}.loginPage{padding:12px}.loginCard{padding:26px 20px}}.reportActions,.auditHeaderActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.auditTotal{color:#475569;font-weight:700}.auditTable small{display:block;margin-top:4px;color:#64748b}.auditAction{display:inline-block;padding:6px 9px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:700}@media print{body{background:#fff}.sidebar,.adminTop,.reportActions,.logoutBtn{display:none!important}.adminContent{margin:0;width:100%;padding:0}.panel{box-shadow:none;border:0;padding:0}.tableWrap{overflow:visible}table{min-width:0;font-size:11px}button{display:none!important}}.employeeMetrics{grid-template-columns:repeat(3,1fr)}.warningCard{border-bottom:4px solid #f59e0b}.dangerCard{border-bottom:4px solid #dc2626}.successCard{border-bottom:4px solid #16a34a}.leavePanel{margin-top:20px}.leaveForm{background:#f8fafc;padding:18px;border-radius:14px;margin-bottom:20px}.leaveSubmit{margin-top:18px}.pill.pending{background:#fef3c7;color:#92400e}@media(max-width:700px){.employeeMetrics{grid-template-columns:1fr 1fr}}.payrollActions{display:flex;gap:5px;flex-wrap:wrap}.payrollActions button{min-width:55px}.statusBadge{display:inline-block;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.statusBadge.draft{background:#f1f3f5}.statusBadge.approved{background:#d3f9d8}.statusBadge.paid{background:#d0ebff}.executiveDashboard{display:flex;flex-direction:column;gap:20px}.dashboardKpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.kpiCard{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #e8edf4;border-top:3px solid #2563eb;background:#fff;border-radius:14px;padding:18px;text-align:right;cursor:pointer;box-shadow:0 3px 12px #0f172a0a;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.kpiCard:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0f172a14;border-color:#cbd5e1}.kpiCard.success{border-top-color:#16a34a}.kpiCard.danger{border-top-color:#dc2626}.kpiCard.warning{border-top-color:#f59e0b}.kpiCard.info{border-top-color:#0284c7}.kpiLabel{display:block;font-size:13px;color:#64748b;margin-bottom:8px}.kpiCard strong{display:block;font-size:30px;line-height:1;color:#0f172a;margin-bottom:9px}.kpiCard small{font-size:11px;color:#94a3b8}.dashboardMainGrid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,2fr);gap:20px}.dashboardLowerGrid{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(260px,.7fr);gap:20px}.dashboardCard{background:#fff;border:1px solid #edf1f6;border-radius:16px;padding:20px;box-shadow:0 3px 14px #0f172a0b}.chartCard{cursor:pointer}.dashboardCardHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.dashboardCardHead h3{margin:0 0 4px;font-size:16px;color:#0f172a}.dashboardCardHead p{margin:0;color:#94a3b8;font-size:12px}.donutWrap{position:relative}.donutCenter{pointer-events:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;margin-top:-2px}.donutCenter strong{font-size:28px;color:#0f172a}.donutCenter span{font-size:11px;color:#94a3b8}.dashboardTableWrap{overflow:auto}.dashboardTable{width:100%;border-collapse:collapse}.dashboardTable th{color:#64748b;font-size:12px;font-weight:600;padding:11px 10px;border-bottom:1px solid #edf1f6}.dashboardTable td{padding:12px 10px;border-bottom:1px solid #f1f5f9;font-size:13px}.dashboardTable tbody tr{cursor:pointer;transition:background .14s ease}.dashboardTable tbody tr:hover{background:#f8fafc}.employeeMini{display:flex;align-items:center;gap:10px}.employeeAvatar{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#eff6ff;color:#2563eb;font-weight:800}.employeeMini div{display:flex;flex-direction:column;gap:2px}.employeeMini small{color:#94a3b8;font-size:11px}.dashboardStatus{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}.statusOk{background:#ecfdf3;color:#15803d}.statusDanger{background:#fef2f2;color:#dc2626}.statusWarning{background:#fff7ed;color:#c2410c}.statusNeutral{background:#f1f5f9;color:#475569}.dashboardTextButton{border:0;background:transparent;color:#2563eb;cursor:pointer;font-size:12px;padding:6px}.dashboardAlerts{display:flex;flex-direction:column}.alertItem{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid #f1f5f9;background:transparent;padding:14px 5px;cursor:pointer;color:#334155;text-align:right}.alertItem:hover{background:#f8fafc}.alertItem strong{min-width:30px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#334155}.warningAlert strong{background:#fff7ed;color:#c2410c}.dangerAlert strong{background:#fef2f2;color:#dc2626}@media(max-width:1250px){.dashboardKpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:950px){.dashboardMainGrid,.dashboardLowerGrid{grid-template-columns:1fr}}@media(max-width:650px){.dashboardKpis{grid-template-columns:repeat(2,1fr)}}.mainBrandLogo{width:46px;height:46px;object-fit:cover;border-radius:12px;display:block}.smallLogo{padding:0!important;background:transparent!important;overflow:hidden}.loginLogoWrap{display:flex;justify-content:center;margin-bottom:14px}.loginMainLogo{width:110px;height:110px;object-fit:cover;border-radius:24px;display:block;box-shadow:0 10px 28px #0f172a1f}.attendanceFilters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.attendanceFilters button{display:flex;align-items:center;gap:8px;border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:10px;padding:8px 12px;cursor:pointer;font-size:12px;transition:.15s ease}.attendanceFilters button:hover{border-color:#94a3b8;background:#f8fafc}.attendanceFilters button.active{background:#0f172a;border-color:#0f172a;color:#fff}.attendanceFilters button b{min-width:22px;height:22px;padding:0 6px;display:flex;align-items:center;justify-content:center;border-radius:7px;background:#f1f5f9;color:#334155;font-size:11px}.attendanceFilters button.active b{background:#ffffff26;color:#fff}.modalBox{width:min(820px,97vw)}.employeeFormSection{border:1px solid #e7ecf2;border-radius:14px;padding:16px;margin-top:16px;background:#fff}.employeeFormSectionHead{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #eef2f6}.employeeFormSectionHead h4{margin:0;font-size:15px;color:#0f172a}.employeeFormSectionHead span{font-size:12px;color:#64748b;font-weight:500}@media(max-width:600px){.employeeFormSectionHead{display:block}.employeeFormSectionHead span{display:block;margin-top:4px}}.employeesToolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.employeesSearch{flex:1}.employeesSearch input{width:100%;min-height:42px;border:1px solid #dfe5ec;border-radius:10px;padding:0 13px;background:#fff}.employeesFilters{display:flex;gap:7px;flex-wrap:wrap}.employeesFilters button{display:flex;align-items:center;gap:7px;border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:9px;padding:8px 11px;cursor:pointer;font-size:12px}.employeesFilters button.active{background:#0f172a;border-color:#0f172a;color:#fff}.employeesFilters button b{min-width:21px;height:21px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#f1f5f9;color:#334155;font-size:11px}.employeesFilters button.active b{background:#ffffff29;color:#fff}.employeesResultCount{color:#64748b;font-size:12px;margin-bottom:10px}@media(max-width:700px){.employeesToolbar{align-items:stretch;flex-direction:column}}.employeeShift{white-space:nowrap;font-weight:600;color:#334155;font-size:12px}.archivedToolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.archivedToolbar input{flex:1;min-height:42px;border:1px solid #dfe5ec;border-radius:10px;padding:0 13px}.archivedCount{display:flex;align-items:center;gap:8px;color:#475569;font-size:12px;white-space:nowrap}.archivedCount b{min-width:28px;height:28px;border-radius:8px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:#0f172a}@media(max-width:650px){.archivedToolbar{align-items:stretch;flex-direction:column}}.overtimeEmployeePanel{margin-top:18px}.overtimeRequestForm{padding:16px;margin-bottom:18px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}.overtimeRequestForm .formGrid{margin-bottom:14px}.overtimeReasonField{grid-column:span 2}.overtimeFormHint{color:#64748b;font-size:12px;margin-bottom:12px}@media(max-width:600px){.overtimeReasonField{grid-column:span 1}}.mapLink{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin-top:8px;padding:7px 10px;border:1px solid #dbe3ec;border-radius:9px;background:#fff;color:#1f4f8a;font-size:12px;font-weight:700;line-height:1.2;text-decoration:none;box-shadow:0 1px 2px #0f172a0a}.mapLink:hover{background:#f8fafc;border-color:#c7d2df;color:#163e70}.mapLink.compact{margin-top:4px;padding:4px 7px;border-radius:7px;font-size:11px;font-weight:600}.punchMapLinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.googleMapPreview{display:grid;gap:10px;margin-top:10px}.googleMapPreview .mapLink{margin-top:0}@media(max-width:600px){.mapLink{white-space:normal}}.leaveBalanceGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:14px 0 18px}.leaveBalanceCard{border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:14px 15px;box-shadow:0 5px 18px #0f172a0b}.leaveBalanceCard>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.leaveBalanceCard strong{display:block;font-size:20px;color:#0f172a;margin-bottom:5px}.leaveBalanceCard small{color:#64748b;line-height:1.6}.leaveForm{border:1px solid #e2e8f0;background:#f8fafc}.leaveForm textarea,.leaveDecisionModal textarea{width:100%;margin-top:6px;resize:vertical;min-height:86px;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font:inherit;background:#fff;color:#0f172a}.leaveNotesField{grid-column:1/-1}.leaveQuoteBox{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:15px;padding:14px;border:1px solid #dbe4ee;border-radius:12px;background:#fff}.leaveQuoteBox>div:not(.leaveQuoteYears){display:flex;flex-direction:column;gap:4px}.leaveQuoteBox span{font-size:12px;color:#64748b}.leaveQuoteBox b{font-size:14px;color:#0f172a}.leaveQuoteYears{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;padding-top:8px;border-top:1px solid #eef2f7}.formInlineError{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;font-size:13px}.leaveAttachmentLink{display:inline-flex;margin-top:5px;color:#2563eb;font-size:12px;text-decoration:none}.leaveAttachmentLink:hover{text-decoration:underline}.leaveAdminSummaryGrid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-bottom:16px}.leaveAdminSummaryCard{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px 15px;box-shadow:0 5px 18px #0f172a0a;position:relative;overflow:hidden}.leaveAdminSummaryCard:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:3px;background:#94a3b8}.leaveAdminSummaryCard.pending:before{background:#f59e0b}.leaveAdminSummaryCard.approved:before{background:#16a34a}.leaveAdminSummaryCard.rejected:before,.leaveAdminSummaryCard.cancelled:before{background:#dc2626}.leaveAdminSummaryCard.days:before{background:#2563eb}.leaveAdminSummaryCard.unpaid:before{background:#7c3aed}.leaveAdminSummaryCard span{display:block;color:#64748b;font-size:12px;margin-bottom:6px}.leaveAdminSummaryCard b{font-size:22px;color:#0f172a}.leaveTypesAdminPanel{margin-top:16px}.leaveDecisionInfo{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.leaveDecisionInfo>div{border:1px solid #e2e8f0;border-radius:10px;padding:10px;background:#f8fafc}.leaveDecisionInfo span{display:block;color:#64748b;font-size:12px;margin-bottom:4px}.modalFullField{display:block;font-weight:700;font-size:13px;margin-top:12px}.checkLine{display:flex!important;align-items:center;gap:9px;padding-top:24px}.checkLine input{width:auto!important;margin:0!important}.leaveTypeModal code,.leaveTypesAdminPanel code{direction:ltr;display:inline-block;background:#f1f5f9;padding:3px 7px;border-radius:7px;color:#334155}@media(max-width:1050px){.leaveAdminSummaryGrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.leaveQuoteBox{grid-template-columns:1fr 1fr}.leaveAdminSummaryGrid{grid-template-columns:repeat(2,1fr)}.leaveDecisionInfo{grid-template-columns:1fr}}@media(max-width:480px){.leaveBalanceGrid,.leaveAdminSummaryGrid,.leaveQuoteBox{grid-template-columns:1fr}}.leaveDayNotice{display:flex;flex-direction:column;gap:4px;margin:0 0 12px;padding:12px 14px;border:1px solid #dbe4ee;border-radius:12px;background:#f7fafc;color:#334155}.leaveDayNotice b{color:#0f172a}.leaveDayNotice span{font-size:13px;color:#64748b}.leaveBalanceModal{max-width:560px}.reportsWorkspace{display:grid;gap:20px}.reportsHero{border:1px solid #e5eaf1;box-shadow:0 4px 14px #0f172a0b}.reportsHeader{align-items:flex-start}.reportToolbar{justify-content:flex-end}.reportField{display:grid;gap:5px;color:#64748b;font-size:12px;font-weight:700}.reportField input,.reportField select{min-width:150px;background:#fff}.reportSearchField input{min-width:230px}.reportKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.reportKpi{border:1px solid #e7ebf1;background:#fbfcfe;border-radius:14px;padding:16px;min-height:106px}.reportKpi span{display:block;color:#64748b;font-size:12px;font-weight:700;margin-bottom:8px}.reportKpi strong{display:block;font-size:25px;line-height:1.15;color:#172033}.reportKpi small{display:block;color:#7b8798;margin-top:7px}.reportKpi.success{border-color:#d6eadf;background:#fbfefc}.reportKpi.danger{border-color:#f0d9d9;background:#fffdfd}.reportKpi.info{border-color:#d9e5f4;background:#fcfdff}.reportKpi.warning{border-color:#efe4cc;background:#fffefa}.reportQualityAlert{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border:1px solid #f0dfbd;border-radius:12px;background:#fffcf5;color:#7c5a17;font-size:13px}.reportQualityAlert b{color:#5f4410}.reportSection{border:1px solid #e5eaf1;box-shadow:0 4px 14px #0f172a0a}.reportResultCount{padding:7px 10px;border:1px solid #e1e7ef;border-radius:10px;background:#f8fafc;color:#5d6878;font-size:12px;white-space:nowrap}.reportTable th{white-space:nowrap}.reportTable td{vertical-align:middle}.reportSub{display:block;color:#7b8798;font-size:11px;margin-top:4px;white-space:nowrap}.reportGood{color:#137a42;font-weight:700}.reportBad{color:#b42318!important;font-weight:700}.qualityFlag{display:block;width:max-content;max-width:160px;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:700;margin:2px 0;white-space:nowrap}.qualityFlag.ok{background:#edf8f1;color:#167044}.qualityFlag.danger{background:#fff0ef;color:#b42318}.reportStatus{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap;background:#eef2f7;color:#475569}.reportStatus.present{background:#edf8f1;color:#167044}.reportStatus.late{background:#fff7e8;color:#9a6500}.reportStatus.absent,.reportStatus.leave_conflict{background:#fff0ef;color:#b42318}.reportStatus.leave{background:#edf4ff;color:#245ea7}.reportStatus.holiday{background:#f3efff;color:#6741a5}.reportStatus.off_day,.reportStatus.exempt,.reportStatus.not_started{background:#f3f5f8;color:#687386}.reportMapCell{display:flex;gap:5px;flex-wrap:wrap;min-width:120px}.dailyReportHead{align-items:center}.monthlyReportTable{min-width:1420px}.dailyReportTable{min-width:1240px}@media(max-width:1200px){.reportKpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.reportsWorkspace{gap:12px}.reportToolbar{width:100%;display:grid;grid-template-columns:1fr 1fr;align-items:end}.reportField,.reportSearchField{min-width:0}.reportField input,.reportSearchField input{width:100%;min-width:0}.reportToolbar button{width:100%}.reportKpis{grid-template-columns:1fr 1fr;gap:8px}.reportKpi{min-height:95px;padding:13px}.reportKpi strong{font-size:21px}.reportQualityAlert{align-items:flex-start;flex-direction:column;gap:5px}}@media(max-width:420px){.reportToolbar,.reportKpis{grid-template-columns:1fr}}@media print{.reportsWorkspace .reportsHero .reportToolbar,.reportsWorkspace .reportQualityAlert{display:none!important}.reportsWorkspace{display:block}.reportsWorkspace .panel{page-break-inside:auto;margin-bottom:14px}.reportsWorkspace .reportKpis{grid-template-columns:repeat(4,1fr);gap:5px}.reportsWorkspace .reportKpi{min-height:auto;padding:7px;border:1px solid #ddd}.reportsWorkspace .reportKpi strong{font-size:15px}.reportsWorkspace .reportKpi small{font-size:8px}.reportsWorkspace .reportTable{font-size:9px}.reportsWorkspace .monthlyReportTable,.reportsWorkspace .dailyReportTable{min-width:0}.reportsWorkspace .reportMapCell,.reportsWorkspace .mapLink{display:none!important}}.pill.warn{background:#fff7ed;color:#9a3412}.payrollHub{border:1px solid #e2e8f0;box-shadow:0 12px 30px #0f172a0a}.payrollHeader{gap:18px;align-items:flex-start}.payrollKpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 0}.payrollKpis>div{padding:14px 15px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;min-height:82px}.payrollKpis span{display:block;color:#64748b;font-size:12px;margin-bottom:8px}.payrollKpis b{display:block;font-size:17px;line-height:1.35;color:#0f172a}.payrollKpis .net{background:#f8fbff;border-color:#cbd5e1}.payrollIntegrity{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 15px;border-radius:13px;margin-bottom:16px;border:1px solid}.payrollIntegrity.clean{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.payrollIntegrity.attention{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.payrollIntegrity div{display:flex;flex-direction:column;gap:3px}.payrollIntegrity span{font-size:12px;opacity:.9}.payrollIntegrity strong{font-size:12px;white-space:nowrap}.payrollCompactTable{min-width:1180px}.payrollCompactTable th{position:sticky;top:0;z-index:2}.payrollCompactTable td small{display:block;color:#64748b;margin-top:4px;font-size:11px}.payrollCode{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.payrollNetValue{font-size:15px;color:#0f172a}.payrollRowActions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:190px}.payrollDetailsRow td{padding-top:0;background:#fbfdff!important}.payrollBreakdown{border-top:1px dashed #e2e8f0;padding:7px 2px 2px}.payrollBreakdown summary{cursor:pointer;color:#475569;font-weight:700;font-size:12px;-webkit-user-select:none;user-select:none}.payrollDetailGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}.payrollDetailGrid>div{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px}.payrollDetailGrid span{display:block;color:#64748b;font-size:11px;margin-bottom:5px}.payrollDetailGrid b{font-size:12px;color:#1e293b}.payrollInlineActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.voidRow td{color:#94a3b8;background:#f8fafc}.voidRow td:not(:first-child){text-decoration-color:#cbd5e1}.payrollModal{width:min(760px,97vw)}.payrollModalGrid{margin-top:18px}.payrollModalGrid textarea{width:100%;margin-top:6px;resize:vertical}.payrollPaymentAmount{grid-column:1/-1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px}.payrollPaymentAmount span{display:block;color:#64748b;font-size:12px;margin-bottom:4px}.payrollPaymentAmount b{font-size:22px;color:#0f172a}@media(max-width:1200px){.payrollKpis{grid-template-columns:repeat(3,1fr)}.payrollDetailGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.payrollKpis{grid-template-columns:1fr 1fr}.payrollIntegrity{align-items:flex-start;flex-direction:column}.payrollDetailGrid,.payrollModalGrid{grid-template-columns:1fr}}.holidaysPage{display:grid;gap:18px}.holidayHero{overflow:hidden;border:1px solid #dce3ea;background:#fff}.holidayHeader{gap:18px}.sectionEyebrow{display:block;font-size:11px;letter-spacing:.14em;color:#64748b;font-weight:800;margin-bottom:6px}.holidayHeader h3{margin:0 0 5px;font-size:24px;color:#0f172a}.holidayHeader p{margin:0;color:#64748b;max-width:760px}.holidayHeaderActions{align-items:flex-end}.holidayYearField{display:grid;gap:5px;font-size:12px;font-weight:800;color:#475569}.holidayYearField input{width:110px;min-width:110px;margin:0}.holidayKpis{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-top:18px}.holidayKpis>div{border:1px solid #e2e8f0;border-radius:12px;padding:13px 14px;background:#fbfcfd;min-width:0}.holidayKpis span,.holidayKpis small{display:block;color:#64748b;font-size:11px}.holidayKpis b{display:block;font-size:23px;line-height:1.2;color:#0f172a;margin:5px 0}.holidayKpis .paid{border-color:#cfe7da;background:#fbfefc}.holidayKpis .paid b{color:#166534}.holidayKpis .unpaid{border-color:#f0d5d5;background:#fffdfd}.holidayKpis .unpaid b{color:#991b1b}.holidayKpis .worked{border-color:#d8e3ef;background:#fbfdff}.holidayKpis .worked b{color:#1d4ed8}.holidayPolicyStrip{display:flex;gap:8px 18px;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px solid #edf1f5;color:#526071;font-size:12px}.holidayListPanel{border:1px solid #dce3ea}.holidayToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.holidayFilters{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.holidayFilters input{min-width:270px}.holidayFilters select{min-width:150px}.holidayResultCount{font-size:12px;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:7px 10px}.holidayTableWrap{border:1px solid #edf1f5;border-radius:12px}.holidayTable{min-width:1040px}.holidayTable td{vertical-align:middle}.holidaySub{display:block;margin-top:4px;color:#7b8795;max-width:340px;white-space:normal;line-height:1.45}.holidayType,.holidayScope,.holidaySource{display:inline-flex;align-items:center;gap:5px;border:1px solid #e2e8f0;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;background:#f8fafc;color:#475569;white-space:nowrap}.holidayType.official{background:#f5f7fb;color:#334155;border-color:#dbe2ea}.holidayType.local{background:#f8f5ff;color:#6d3ea2;border-color:#e6daf5}.holidayType.company{background:#f4f8ff;color:#1d4ed8;border-color:#d6e3f7}.holidayScope.global{background:#f8fafc}.holidayScope.branch{background:#f5f9ff;color:#315b8a;border-color:#d9e5f1}.holidaySource{font-weight:700;color:#64748b}.holidayRowActions{display:flex;gap:6px;white-space:nowrap}.holidayEmpty{display:grid;gap:5px;text-align:center;padding:22px;color:#64748b}.holidayEmpty b{color:#334155}.pill.info{background:#eaf2ff;color:#24518a}.holidayModal{width:min(820px,97vw)}.holidayModalHint{margin:4px 0 0;color:#64748b;font-size:12px}.holidayNameField,.holidayNotesField{grid-column:1 / -1}.holidayNotesField textarea{width:100%;margin-top:6px;resize:vertical}.holidayPolicyNote{margin-top:12px;border:1px solid #dce6ef;border-radius:10px;background:#f8fbfd;color:#526273;padding:10px 12px;font-size:12px;line-height:1.6}.reportKpi.holidayWorked{border-color:#d6e3f7;background:#fbfdff}.reportKpi.holidayWorked strong{color:#1d4ed8}.qualityFlag.holiday{background:#eef5ff;color:#315b8a;border-color:#d6e3f7}.reportStatus.holiday_worked{background:#eaf2ff;color:#24518a}@media(max-width:1200px){.holidayKpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.holidayKpis{grid-template-columns:repeat(2,1fr)}.holidayFilters{width:100%}.holidayFilters input,.holidayFilters select{width:100%;min-width:0}.holidayHeaderActions{width:100%;align-items:stretch}.holidayYearField,.holidayYearField input{width:100%}.holidayPolicyStrip{display:grid;gap:7px}}.orgCenter{overflow:hidden}.orgKpiGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.orgKpiGrid>div{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px 16px;box-shadow:0 4px 14px #0f172a0a;display:flex;flex-direction:column;gap:4px}.orgKpiGrid span{font-size:12px;color:#64748b;font-weight:700}.orgKpiGrid b{font-size:24px;color:#0f172a}.orgKpiGrid small{color:#94a3b8}.orgRuleBar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.orgRuleBar span{border:1px solid #dbe4ee;background:#f8fafc;color:#475569;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.orgColumns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.orgBlock{border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc;padding:14px;min-width:0}.orgBlockHead,.orgAssignmentsHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.orgBlockHead h4,.orgAssignmentsHead h4{margin:0;color:#0f172a}.orgBlockHead span,.orgAssignmentsHead span{display:block;color:#64748b;font-size:12px;margin-top:3px}.orgCardList{display:grid;gap:10px}.orgCard{background:#fff;border:1px solid #e2e8f0;border-radius:13px;padding:13px;box-shadow:0 2px 9px #0f172a09}.orgCard.inactive{opacity:.72;background:#f8fafc}.orgCardTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.orgCardTop>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.orgCardTop b{font-size:14px;color:#0f172a}.orgBadge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800;border:1px solid transparent;white-space:nowrap}.orgBadge.ok{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.orgBadge.info{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.orgBadge.muted{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.orgBadge.night{color:#5b21b6;background:#f5f3ff;border-color:#ddd6fe}.orgMeta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;margin-top:10px;color:#64748b;font-size:12px}.orgMeta b{color:#334155}.orgCardFoot{margin-top:9px;padding-top:9px;border-top:1px solid #eef2f7}.orgMuted{font-size:12px;color:#94a3b8}.orgDaysLine{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.orgDaysLine span{font-size:11px;padding:4px 7px;border-radius:8px;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.orgAssignmentsHead{margin-top:20px}.orgAssignmentsTable td{vertical-align:top}.orgRowActions{display:flex;gap:6px;flex-wrap:wrap}.orgModal{width:min(820px,94vw)}.orgWeekGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.orgDayChip{display:flex;align-items:center;gap:8px;border:1px solid #dfe4ea;background:#fff;border-radius:10px;padding:11px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.orgDayChip.active{background:#f0f7ff;border-color:#b9d7fa;color:#1e3a5f}.orgDayChip.locked{cursor:not-allowed;opacity:.72}.orgProtectionNote{margin-top:12px;border:1px solid #dbe4ee;background:#f8fafc;color:#475569;border-radius:12px;padding:11px 13px;font-size:12px;line-height:1.8}.orgInlineActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.formGrid .span2{grid-column:span 2}.weeklyCenter{margin-top:18px}.weeklyProfileGrid{display:grid;gap:14px}.weeklyProfileCard{border:1px solid #dbe4ee;border-radius:16px;background:#fff;padding:16px;box-shadow:0 4px 14px #0f172a0a}.weeklyProfileCard.inactive{opacity:.7;background:#f8fafc}.weeklyDescription{margin:8px 0 0;color:#64748b;font-size:13px}.weeklyDaySummary{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:14px}.weeklyDaySummary>div{display:flex;flex-direction:column;gap:3px;align-items:center;text-align:center;border:1px solid #dbeafe;background:#eff6ff;border-radius:11px;padding:9px 5px;min-width:0}.weeklyDaySummary>div.off{border-color:#e2e8f0;background:#f8fafc;color:#94a3b8}.weeklyDaySummary span{font-size:11px;font-weight:800;color:#64748b}.weeklyDaySummary b{font-size:12px;color:#1e3a5f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.weeklyDaySummary .off b{color:#94a3b8}.weeklyDaySummary small{font-size:10px;color:#64748b;direction:ltr}.weeklyProfileInfo{margin-bottom:16px}.weeklyDaysEditor{display:grid;gap:9px}.weeklyDayRow{display:grid;grid-template-columns:130px 90px 1fr;align-items:center;gap:12px;border:1px solid #dbe4ee;border-radius:12px;padding:10px 12px;background:#fff}.weeklyDayRow.off{background:#f8fafc;color:#94a3b8}.weeklyDayName{display:flex;flex-direction:column;gap:2px}.weeklyDayName span{font-size:11px;color:#64748b}.weeklyDayRow.off .weeklyDayName span{color:#94a3b8}.weeklyWorkToggle{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800}.weeklyWorkToggle input{width:auto;margin:0}.weeklyDayRow select{width:100%}.emptyCell{text-align:center!important;color:#94a3b8;padding:26px!important}@media(max-width:1000px){.orgKpiGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.orgColumns{grid-template-columns:1fr}.weeklyDaySummary{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:640px){.orgKpiGrid{grid-template-columns:1fr 1fr}.orgWeekGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.orgMeta{grid-template-columns:1fr}.formGrid .span2{grid-column:span 1}.weeklyDaySummary{grid-template-columns:repeat(2,minmax(0,1fr))}.weeklyDayRow{grid-template-columns:1fr 80px}.weeklyDayRow select{grid-column:1/-1}}.employeeModalV7{width:min(920px,97vw)}.employeeModalTitle p{margin:4px 0 0;color:#64748b;font-size:12px}.employeeHistoryGuard{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;border:1px solid #f3d7a6;background:#fffaf0;border-radius:12px;color:#7c4a03}.employeeHistoryGuard b{white-space:nowrap;font-size:12px}.employeeHistoryGuard span{font-size:12px;line-height:1.7;color:#805a21}.employeeFormGridV7 label small{display:block;margin-top:5px;color:#94a3b8;font-size:10px;font-weight:500;line-height:1.5}.employeeWorkDays{margin-top:14px;padding-top:13px;border-top:1px solid #eef2f6}.employeeWorkDaysTitle{font-size:12px;font-weight:700;color:#334155;margin-bottom:8px}.employeeWorkDaysGrid{display:flex;gap:7px;flex-wrap:wrap}.employeeWorkDaysGrid label{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #dfe5ec;border-radius:9px;background:#fff;color:#475569;font-size:12px;cursor:pointer}.employeeWorkDaysGrid label.selected{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.employeeWorkDaysGrid label:has(input:disabled){cursor:not-allowed;opacity:.72}.employeeSecurityState{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid #e7ecf2;border-radius:10px;background:#f8fafc}.employeeSecurityState span{font-size:11px;color:#64748b}.employeeSecurityState b{font-size:12px}.employeeSecurityState b.ready{color:#15803d}.employeeSecurityState b.locked{color:#b45309}.employeeSecurityState small{font-size:10px;color:#94a3b8}.employeeMetricsV7{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 16px}.employeeMetricsV7>div{border:1px solid #e7ecf2;border-radius:12px;background:#fff;padding:13px 14px;display:flex;flex-direction:column;gap:3px;box-shadow:0 3px 12px #0f172a06}.employeeMetricsV7 span{font-size:11px;color:#64748b}.employeeMetricsV7 b{font-size:22px;color:#0f172a;line-height:1.15}.employeeMetricsV7 small{font-size:10px;color:#94a3b8}.employeeMetricsV7>div.warn{border-color:#f5d9ad;background:#fffdf8}.employeeMetricsV7>div.warn b{color:#b45309}.employeeTableV7Wrap{border:1px solid #edf1f5;border-radius:12px}.employeeTableV7{min-width:1260px}.employeeTableV7 td{vertical-align:middle}.employeeIdentityV7{display:flex;align-items:center;gap:9px}.employeeIdentityV7>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eef4ff;color:#2563eb;font-weight:800}.employeeIdentityV7 div,.employeeStackV7{display:flex;flex-direction:column;gap:2px}.employeeIdentityV7 b,.employeeStackV7 b{font-size:12px;color:#1e293b}.employeeIdentityV7 small,.employeeStackV7 small{font-size:10px;color:#94a3b8}.employeeAccountStateV7{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.employeeAccountStateV7 small.locked{font-size:10px;color:#b45309;font-weight:700}.employeeActionsV7{min-width:210px}@media(max-width:1100px){.employeeMetricsV7{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.employeeMetricsV7{grid-template-columns:1fr 1fr}.employeeHistoryGuard{display:block}.employeeHistoryGuard b{display:block;margin-bottom:5px}}.permissionCenter{border-color:#dfe6ee;background:#fff}.permissionCatalogCount,.readOnlyPermissionBadge{display:inline-flex;align-items:center;gap:6px;border:1px solid #dbe4ee;background:#f8fafc;color:#475569;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;white-space:nowrap}.permissionLegend{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 14px}.permissionLegend span{font-size:11px;font-weight:800;border-radius:999px;padding:6px 9px;border:1px solid #e2e8f0;background:#fff;color:#475569}.permissionLegend .inherit{background:#f8fafc;color:#475569}.permissionLegend .allow{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.permissionLegend .deny{background:#fff7f7;border-color:#fecaca;color:#b91c1c}.permissionUsersTable td{vertical-align:middle}.permissionUsersTable small{display:block;color:#94a3b8;margin-top:2px}.permissionRole{display:inline-flex;align-items:center;border:1px solid #dbe4ee;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;background:#f8fafc;color:#475569}.permissionRole.admin{color:#7c2d12;background:#fff7ed;border-color:#fed7aa}.permissionRole.supervisor{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.permissionRole.employee{color:#475569;background:#f8fafc;border-color:#e2e8f0}.permissionMatrixModal{width:min(1040px,96vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.permissionModalBg{z-index:1200}.permissionMatrixInfo{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px;margin:0 0 12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#475569;font-size:12px;line-height:1.7}.permissionMatrixGroups{overflow:auto;padding:2px 3px 4px;display:grid;gap:12px;flex:1;min-height:220px}.permissionGroup{border:1px solid #e4e9ef;border-radius:14px;background:#fbfcfd;overflow:hidden}.permissionGroup>h4{margin:0;padding:11px 14px;border-bottom:1px solid #e8edf3;background:#f8fafc;color:#1e293b;font-size:13px}.permissionGroupRows{display:grid}.permissionMatrixRow{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,420px);align-items:center;gap:16px;padding:12px 14px;border-top:1px solid #edf1f5;background:#fff}.permissionMatrixRow:first-child{border-top:0}.permissionText{display:flex;flex-direction:column;gap:3px;min-width:0}.permissionText b{font-size:12px;color:#1e293b}.permissionText span{font-size:11px;color:#64748b;line-height:1.55}.permissionText code{font-size:10px;color:#94a3b8;direction:ltr;text-align:left;word-break:break-all}.permissionControl{display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:9px}.permissionControl select{min-width:0;margin:0}.permissionEffective{display:inline-flex;align-items:center;justify-content:center;min-width:68px;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;border:1px solid}.permissionEffective.allowed{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.permissionEffective.denied{background:#fff7f7;border-color:#fecaca;color:#b91c1c}.permissionMatrixModal .modalActions{padding-top:12px;border-top:1px solid #eef2f6;margin-top:12px}.readOnlyPermissionBadge{background:#fffaf0;border-color:#f3d7a6;color:#805a21}@media(max-width:760px){.permissionMatrixRow{grid-template-columns:1fr;gap:9px}.permissionControl{grid-template-columns:1fr auto}.permissionMatrixModal{width:97vw;max-height:94vh}.permissionCatalogCount{white-space:normal}}.employeeHistoryGuard.effective{border-color:#cbd5e1;background:#f8fafc;color:#334155;flex-wrap:wrap}.employeeHistoryGuard.effective span{color:#475569;flex:1;min-width:260px}.employeeHistoryGuard.effective small{width:100%;color:#64748b;font-size:11px;line-height:1.6}.employeeScheduleEffectiveBox{margin-top:14px;padding:12px 14px;border:1px solid #dbe3ec;background:#f8fafc;border-radius:12px}.employeeScheduleEffectiveBox label{display:grid;gap:7px;color:#334155;font-size:12px;font-weight:700;max-width:360px}.employeeScheduleEffectiveBox input{font-weight:500}.employeeScheduleEffectiveBox small{font-weight:400;color:#64748b;line-height:1.6}.workSettingsV8{display:block}.workSettingsHeaderBadges{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.workSettingsNotice{border:1px solid #e2e8f0;background:#fbfcfd;border-radius:14px;padding:16px 18px;margin:0 0 18px}.workSettingsNotice>b{display:block;font-size:13px;color:#1e293b;margin-bottom:10px}.workSettingsNotice p{margin:10px 0 0;color:#64748b;font-size:12px;line-height:1.8}.workPolicyFlow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.workPolicyFlow span{border:1px solid #dfe6ee;background:#fff;border-radius:10px;padding:10px 8px;text-align:center;font-size:11px;font-weight:800;color:#334155;position:relative}.workSettingsStats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 18px}.workSettingsStats>div{border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:5px;min-width:0}.workSettingsStats span{font-size:10px;color:#64748b;font-weight:700;line-height:1.4}.workSettingsStats b{font-size:18px;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settingsSectionTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}.settingsSectionTitle h4{margin:0 0 4px}.settingsSectionTitle p{margin:0;color:#64748b;font-size:12px;line-height:1.6}.workPolicyToggleGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.workPolicyToggle{border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer}.workPolicyToggle>div{display:flex;flex-direction:column;gap:3px;min-width:0}.workPolicyToggle b{font-size:12px;color:#1e293b}.workPolicyToggle small{font-size:10px;color:#64748b;line-height:1.6}.workPolicyToggle input{width:18px;height:18px;flex:0 0 auto}.workSettingsMultiplier{margin-top:12px;max-width:360px}.workSettingsRules{margin-bottom:18px}.workRulesGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.workRulesGrid>div{border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:4px}.workRulesGrid b{font-size:12px;color:#1e293b}.workRulesGrid span{font-size:10px;color:#64748b;line-height:1.7}@media(max-width:1100px){.workSettingsStats{grid-template-columns:repeat(3,minmax(0,1fr))}.workPolicyFlow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.workSettingsHeaderBadges{justify-content:flex-start}.workSettingsStats{grid-template-columns:1fr 1fr}.workPolicyToggleGrid,.workRulesGrid,.workPolicyFlow{grid-template-columns:1fr}.workSettingsStats b{font-size:15px}}.generalSettingsV9{display:block}.generalSettingsNotice{border:1px solid #e2e8f0;background:#fbfcfd;border-radius:14px;padding:16px 18px;margin:0 0 18px}.generalSettingsNotice b{display:block;color:#1e293b;font-size:13px;margin-bottom:5px}.generalSettingsNotice p{margin:0;color:#64748b;font-size:12px;line-height:1.8}.generalSettingsStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}.generalSettingsStats>div{border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:5px;min-width:0}.generalSettingsStats span{font-size:10px;color:#64748b;font-weight:700;line-height:1.4}.generalSettingsStats b{font-size:16px;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generalSettingsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.generalSettingsWide{grid-column:1/-1}.generalSettingsWide textarea{min-height:86px;resize:vertical}.generalBrandingRow{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:16px;align-items:center}.generalBrandingRow label{display:grid;gap:7px}.generalLogoPreview{height:110px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:12px;overflow:hidden}.generalLogoPreview img{max-width:100%;max-height:82px;object-fit:contain}.generalNotificationToggle{margin:0;align-self:end;min-height:68px}.transportStatus{margin-top:12px;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;display:flex;gap:7px;align-items:center;font-size:11px;background:#fff;color:#475569}.transportStatus.ready{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.transportStatus.notReady{background:#fffaf0;border-color:#fed7aa;color:#92400e}.systemContractGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.systemContractGrid>div{border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:4px}.systemContractGrid span{font-size:10px;color:#64748b;font-weight:700}.systemContractGrid b{font-size:13px;color:#1e293b;direction:ltr;text-align:right}@media(max-width:1000px){.generalSettingsStats,.systemContractGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.generalSettingsStats,.systemContractGrid,.generalSettingsGrid,.generalBrandingRow{grid-template-columns:1fr}.generalSettingsWide{grid-column:auto}.generalLogoPreview{height:96px}}.themeButtons{display:flex;gap:4px;padding:4px;background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;margin-inline-start:auto}.themeButtons button{padding:7px 10px;background:transparent;color:var(--muted);font-size:12px}.themeButtons button.active{background:var(--accent);color:#fff}.runtimeSettingsGrid .systemReadOnly{display:flex;flex-direction:column;gap:7px;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.runtimeSettingsGrid .systemReadOnly span{font-size:13px;font-weight:700;color:var(--muted)}.productInfoPage{overflow:hidden;padding:0}.productHero{display:flex;align-items:center;gap:18px;padding:28px;background:linear-gradient(135deg,#0f172a,var(--accent));color:#fff}.productHero img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:16px;padding:7px}.productHero h2{margin:0 0 5px}.productHero p{margin:0;opacity:.8}.versionBadge{margin-inline-start:auto;background:#ffffff29;padding:9px 13px;border-radius:999px;font-weight:800}.productInfoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:24px}.productInfoGrid>div{background:var(--surface-soft);border:1px solid var(--border);border-radius:14px;padding:17px;min-width:0}.productInfoGrid span{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.productInfoGrid b{overflow-wrap:anywhere}.productInfoGrid .installationId{grid-column:1/-1}.licenseActivation{padding:22px 24px;border-top:1px solid var(--border);display:grid;gap:10px}.licenseActivation h3{margin:0}.licenseActivation p{margin:0;color:var(--muted);font-size:12px;line-height:1.8}.licenseActivation label{font-size:12px;font-weight:700}.licenseActivation textarea{width:100%;font-family:ui-monospace,Consolas,monospace;font-size:12px;resize:vertical}.licenseActivation button{justify-self:start}.rightsFooter{text-align:center;border-top:1px solid var(--border);padding:18px;color:var(--muted);font-size:13px}:root[data-theme=dark] .employeeFormSection,:root[data-theme=dark] .orgCard,:root[data-theme=dark] .weeklyProfileCard,:root[data-theme=dark] .kpiCard,:root[data-theme=dark] .dashboardChartCard,:root[data-theme=dark] .leaveForm{background:var(--surface-soft)!important;color:var(--text)}:root[data-theme=dark] .alert.successBox{background:#123524;color:#86efac}:root[data-theme=dark] .alert.errorBox{background:#451a1a;color:#fecaca}:root[data-theme=dark] .iconBtn{background:var(--surface-soft);color:var(--text)}@media(max-width:760px){.themeButtons{position:fixed;left:8px;bottom:8px;z-index:120;box-shadow:0 4px 18px #00000040}.productInfoGrid{grid-template-columns:1fr}.productInfoGrid .installationId{grid-column:auto}.productHero{align-items:flex-start;flex-wrap:wrap}.versionBadge{margin-inline-start:0}}.appToast{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:3000;width:min(520px,calc(100vw - 28px));display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid;box-shadow:0 16px 42px #0f172a33;animation:toastIn .18s ease-out;background:var(--surface);color:var(--text)}.appToast span{flex:1;font-size:13px;font-weight:700;line-height:1.7}.appToast button{flex:0 0 auto;width:28px;height:28px;padding:0;border-radius:8px;background:transparent;color:inherit;font-size:20px;line-height:1}.appToast.success{border-color:#86efac;background:#f0fdf4;color:#166534}.appToast.error{border-color:#fecaca;background:#fff1f2;color:#991b1b}:root[data-theme=dark] .appToast.success{background:#123524;color:#bbf7d0}:root[data-theme=dark] .appToast.error{background:#451a1a;color:#fecaca}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.releaseBadge{display:inline-flex;align-items:center;gap:7px;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:999px;padding:7px 11px;white-space:nowrap;box-shadow:0 2px 8px #16653414}.releaseBadge b{font-size:12px;direction:ltr}.releaseBadge small{font-size:10px;font-weight:800}.releasePulse{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px #22c55e24}:root[data-theme=dark] .releaseBadge{border-color:#166534;background:#123524;color:#bbf7d0}@media(max-width:760px){.releaseBadge small{display:none}.releaseBadge{padding:7px 9px}.adminTop{gap:8px;flex-wrap:wrap}}.appDialogBg{z-index:2900}.appDialog{width:min(460px,calc(100vw - 28px));text-align:center;padding:24px}.appDialogIcon{width:46px;height:46px;display:grid;place-items:center;margin:0 auto 12px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--border);color:var(--accent);font-size:23px;font-weight:900}.appDialog h3{margin:0 0 8px;color:var(--text)}.appDialog p{margin:0 0 18px;white-space:pre-line;color:var(--muted);font-size:13px;line-height:1.8}.appDialog textarea{width:100%;margin-bottom:14px;resize:vertical;text-align:right}.appDialog .modalActions{justify-content:center}.navSvg{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar nav button>span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
