:root{color:#1f2937;background:#f5f7fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border-radius:16px;width:min(420px,100%);padding:28px;box-shadow:0 12px 35px #00000014}.auth-card form,.auth-card{gap:16px;display:grid}.auth-card label{gap:6px;display:grid}.auth-card input{border:1px solid #d1d5db;border-radius:8px;padding:10px 12px}.auth-card button{color:#fff;background:#1d4ed8;border:0;border-radius:8px;padding:10px 14px}.error{color:#b91c1c}.backoffice-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#111827;flex-direction:column;gap:24px;padding:24px;display:flex}.brand{gap:4px;display:grid}.brand span{color:#9ca3af;font-size:14px}.sidebar-nav{gap:8px;display:grid}.sidebar-nav a{color:#d1d5db;border-radius:8px;padding:10px 12px;text-decoration:none}.sidebar-nav a:hover,.sidebar-nav a.active{color:#fff;background:#1f2937}.logout-button{color:#fff;background:0 0;border:1px solid #374151;border-radius:8px;margin-top:auto;padding:10px}.backoffice-content{min-width:0}.page{padding:32px}.page-header{margin-bottom:24px}.page-header h1{margin:0 0 6px}.page-header p{color:#6b7280;margin:0}.filters{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.filters input,.filters select,.filters button{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:9px 10px}.approval-list{gap:12px;display:grid}.approval-card{background:#fff;border-radius:12px;justify-content:space-between;gap:20px;padding:18px;display:flex;box-shadow:0 3px 14px #0000000d}.approval-card p{margin:6px 0}.actions{align-items:flex-start;gap:8px;display:flex}.actions button{border:0;border-radius:8px;padding:9px 12px}.actions button:first-child{color:#fff;background:#166534}.actions button:last-child{color:#fff;background:#991b1b}.secret{overflow-wrap:anywhere}@media (width<=800px){.backoffice-shell{grid-template-columns:1fr}.sidebar{position:static}.approval-card{flex-direction:column}}.approval-card{cursor:pointer}.approval-card.selected{outline:2px solid #2563eb}.detail-panel{z-index:20;background:#fff;border-radius:16px;width:min(380px,100vw - 48px);max-height:calc(100vh - 48px);padding:24px;position:fixed;top:24px;right:24px;overflow:auto;box-shadow:0 18px 50px #00000029}.detail-panel dl{grid-template-columns:110px 1fr;gap:10px;display:grid}.detail-panel dt{color:#6b7280}.detail-panel dd{margin:0}.modal-backdrop{z-index:50;background:#11182773;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(480px,100%);padding:24px;box-shadow:0 20px 60px #00000038}.modal label{gap:8px;display:grid}.modal textarea{resize:vertical;border:1px solid #d1d5db;border-radius:8px;padding:10px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.attendance-page{gap:1.25rem;display:grid}.attendance-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.attendance-header h1{margin:0}.attendance-header p{opacity:.72;margin:.35rem 0 0}.attendance-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.attendance-stats>div{border:1px solid #7f7f7f40;border-radius:.75rem;padding:1rem}.attendance-stats span{opacity:.7;font-size:.85rem;display:block}.attendance-stats strong{margin-top:.35rem;font-size:1.5rem;display:block}.attendance-filters{grid-template-columns:repeat(5,minmax(140px,1fr)) auto;align-items:end;gap:.75rem;display:grid}.attendance-filters label{gap:.35rem;font-size:.85rem;display:grid}.attendance-filters input,.attendance-filters select{background:inherit;min-width:0;color:inherit;border:1px solid #7f7f7f59;border-radius:.5rem;padding:.65rem}.attendance-primary,.attendance-secondary,.attendance-link-button{cursor:pointer;font:inherit;border-radius:.5rem;padding:.65rem .9rem}.attendance-primary{border:1px solid #0000}.attendance-secondary{color:inherit;background:0 0;border:1px solid #7f7f7f59}.attendance-link-button{color:inherit;background:0 0;border:0;text-decoration:underline}.attendance-table-wrap{border:1px solid #7f7f7f40;border-radius:.75rem;overflow-x:auto}.attendance-table{border-collapse:collapse;width:100%}.attendance-table th{text-align:left;opacity:.7;border-bottom:1px solid #7f7f7f40;padding:.8rem 1rem;font-size:.78rem}.attendance-table td{padding:0}.attendance-row-group>td{border-bottom:1px solid #7f7f7f2e}.attendance-summary-row{grid-template-columns:minmax(180px,1.4fr) minmax(100px,.6fr) minmax(130px,.8fr) minmax(180px,1.2fr) minmax(120px,.8fr) 80px 80px;align-items:center;gap:1rem;padding:1rem;display:grid}.attendance-employee{gap:.2rem;display:grid}.attendance-employee small{opacity:.6;overflow-wrap:anywhere}.attendance-badge{border-radius:99px;width:fit-content;padding:.25rem .5rem;font-size:.75rem;font-weight:700;display:inline-flex}.attendance-badge-in{border:1px solid #28a05099}.attendance-badge-out{border:1px solid #7f7f7f73}.attendance-badge-warning{border:1px solid #dc8c1eb3}.attendance-details{grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:2rem;padding:0 1rem 1.25rem;display:grid}.attendance-details h4{margin-top:0}.attendance-timeline,.attendance-anomalies{margin:0;padding-left:1.25rem}.attendance-timeline li,.attendance-anomalies li{margin-bottom:.75rem}.attendance-timeline li>div:first-child,.attendance-anomalies li{flex-wrap:wrap;gap:.75rem;display:flex}.attendance-event-meta{opacity:.7;flex-wrap:wrap;gap:.75rem;margin-top:.25rem;font-size:.85rem;display:flex}.attendance-muted,.attendance-privacy-note{opacity:.65}.attendance-error{border:1px solid #c83c3ca6;border-radius:.5rem;padding:.8rem 1rem}.attendance-empty{text-align:center;opacity:.7;padding:2rem!important}.attendance-pagination{justify-content:center;align-items:center;gap:1rem;display:flex}.attendance-privacy-note{margin:0;font-size:.82rem}@media (width<=1100px){.attendance-stats,.attendance-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-summary-row{min-width:1000px}}@media (width<=640px){.attendance-header{flex-direction:column}.attendance-stats,.attendance-filters,.attendance-details{grid-template-columns:1fr}}.master-grid{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);align-items:start;gap:24px;display:grid}.master-list{gap:12px;display:grid}.master-card{background:#fff;border:0;border-radius:12px;padding:18px;box-shadow:0 3px 14px #0000000d}.master-create{gap:12px;margin-bottom:8px;display:grid}.master-create h2,.master-detail h2{margin:0}.master-create input,.master-create select,.inline-form input,.schedule-assignment-form input{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:9px 10px}.master-create>button,.inline-form button,.schedule-assignment-form button,.assignment-row button{border:0;border-radius:8px;padding:9px 12px}.master-create>button,.inline-form button,.schedule-assignment-form button{color:#fff;background:#1d4ed8}.master-row{text-align:left;cursor:pointer;gap:6px;width:100%;display:grid}.master-row.selected{outline:2px solid #2563eb}.master-row span,.master-row small{color:#6b7280}.role-grid{flex-wrap:wrap;gap:12px;display:flex}.role-grid label{align-items:center;gap:6px;display:flex}.master-detail{background:#fff;border-radius:12px;padding:20px;position:sticky;top:24px;box-shadow:0 3px 14px #0000000d}.assignment-section{border-top:1px solid #e5e7eb;margin-top:18px;padding-top:18px}.assignment-section h3{margin-top:0}.inline-form{grid-template-columns:1fr auto;gap:8px;display:grid}.schedule-assignment-form{gap:10px;display:grid}.schedule-assignment-form label{color:#6b7280;gap:5px;font-size:14px;display:grid}.assignment-list{gap:8px;margin-top:14px;display:grid}.assignment-row{background:#f9fafb;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.assignment-row>div{gap:4px;display:grid}.assignment-row small{color:#6b7280}.assignment-row button{background:#e5e7eb}.master-form{gap:12px;margin-top:18px;display:grid}.master-form label{color:#4b5563;gap:6px;font-size:14px;display:grid}.master-form input,.master-form select{color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:9px 10px}.master-actions{margin-top:18px}.schedule-days{gap:10px;margin-top:20px;display:grid}.schedule-day{border:1px solid #e5e7eb;border-radius:10px;gap:10px;padding:12px;display:grid}.schedule-day-name{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-day-name label{color:#4b5563;align-items:center;gap:6px;font-size:14px;display:flex}.schedule-times{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.schedule-times label{color:#6b7280;gap:5px;font-size:13px;display:grid}.schedule-times input{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:8px}.schedule-off{color:#6b7280;font-size:14px}.overnight-badge{color:#3730a3;background:#eef2ff;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:600}@media (width<=950px){.master-grid{grid-template-columns:1fr}.master-detail{position:static}}.correction-filters{grid-template-columns:minmax(150px,.7fr) minmax(240px,1.3fr) minmax(170px,.8fr) auto}.correction-row-header,.correction-detail-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.correction-detail-title h2{margin:0}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-pending{color:#92400e;background:#fef3c7}.status-approved{color:#166534;background:#dcfce7}.status-rejected{color:#991b1b;background:#fee2e2}.status-cancelled{color:#4b5563;background:#e5e7eb}.correction-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.correction-detail-grid>div{background:#f9fafb;border-radius:9px;gap:5px;padding:12px;display:grid}.correction-detail-grid span{color:#6b7280;font-size:12px}.mono-value{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.correction-note,.correction-decision{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:18px}.correction-note h3,.correction-decision h3{margin-top:0}.correction-note p{white-space:pre-wrap}.correction-decision label{color:#4b5563;gap:7px;font-size:14px;display:grid}.correction-decision textarea{resize:vertical;font:inherit;border:1px solid #d1d5db;border-radius:8px;padding:10px}@media (width<=950px){.correction-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.correction-filters,.correction-detail-grid{grid-template-columns:1fr}}.timesheet-filters{grid-template-columns:minmax(260px,1.4fr) minmax(170px,.7fr) auto}.timesheet-summary-header{background:#fff;border-radius:12px;flex-wrap:wrap;gap:24px;margin-bottom:18px;padding:16px 18px;display:flex;box-shadow:0 3px 14px #0000000d}.timesheet-summary-header>div{gap:4px;display:grid}.timesheet-summary-header span{color:#6b7280}.timesheet-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.timesheet-kpi{background:#fff;border-radius:12px;gap:8px;padding:16px;display:grid;box-shadow:0 3px 14px #0000000d}.timesheet-kpi span{color:#6b7280;font-size:13px}.timesheet-kpi strong{font-size:20px}.timesheet-table-wrapper{background:#fff;border-radius:12px;overflow-x:auto;box-shadow:0 3px 14px #0000000d}.timesheet-table{border-collapse:collapse;width:100%;min-width:1280px}.timesheet-table th,.timesheet-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e5e7eb;padding:12px 13px;font-size:13px}.timesheet-table th{color:#4b5563;background:#f9fafb;font-weight:700}.timesheet-table tbody tr:last-child td{border-bottom:0}.timesheet-incomplete-row{background:#fff7ed}.timesheet-overnight{margin-top:6px;display:inline-flex}@media (width<=1100px){.timesheet-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.timesheet-filters,.timesheet-kpis{grid-template-columns:1fr}.timesheet-summary-header{flex-direction:column}}.timesheet-export-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-bottom:14px;display:flex}.timesheet-export-actions button{color:#fff;cursor:pointer;background:#1d4ed8;border:0;border-radius:8px;padding:10px 14px;font-weight:600}.timesheet-export-actions button:disabled{cursor:not-allowed;opacity:.6}@media (width<=640px){.timesheet-export-actions{justify-content:stretch}.timesheet-export-actions button{flex:100%}}.approval-detail-action{border-top:1px solid #e5e7eb;gap:10px;margin-top:18px;padding-top:18px;display:grid}.approval-detail-action label{color:#4b5563;gap:7px;font-size:14px;display:grid}.approval-detail-action textarea{resize:vertical;font:inherit;border:1px solid #d1d5db;border-radius:8px;padding:10px}.approval-detail-action button{border:0;border-radius:8px;width:fit-content;padding:9px 12px}.leave-calendar-filters{align-items:end}.leave-calendar-filters label{color:#4b5563;gap:6px;font-size:13px;display:grid}.leave-calendar-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.leave-calendar-summary article{background:#fff;border-radius:12px;gap:7px;padding:16px;display:grid;box-shadow:0 3px 14px #0000000d}.leave-calendar-summary span{color:#6b7280;font-size:13px}.leave-calendar-summary strong{font-size:22px}.leave-calendar-grid{grid-template-columns:repeat(7,minmax(180px,1fr));gap:10px;padding-bottom:8px;display:grid;overflow-x:auto}.leave-calendar-day{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;align-content:start;gap:12px;min-height:150px;padding:13px;display:grid}.leave-calendar-day-active{background:#fff;border-color:#bfdbfe}.leave-calendar-day>header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.leave-calendar-day>header small{color:#6b7280;text-align:right;overflow-wrap:anywhere;max-width:100px;font-size:10px}.leave-calendar-entries{gap:8px;display:grid}.leave-calendar-entry{background:#eef2ff;border-radius:8px;gap:5px;padding:9px;font-size:12px;display:grid}.leave-calendar-entry-header{justify-content:space-between;align-items:center;gap:6px;display:flex}.leave-calendar-entry small{color:#6b7280}@media (width<=1000px){.leave-calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-calendar-grid{grid-template-columns:repeat(4,minmax(180px,1fr))}}@media (width<=640px){.leave-calendar-summary{grid-template-columns:1fr}.leave-calendar-grid{grid-template-columns:minmax(260px,1fr)}}.dashboard-page{gap:24px;display:grid}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.dashboard-header h1{margin:0 0 6px}.dashboard-header p{color:#667085;margin:0}.dashboard-filters{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end;gap:16px;display:grid}.dashboard-filters label{gap:6px;font-size:.875rem;font-weight:600;display:grid}.dashboard-filters input{min-height:42px;font:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:8px 10px}.dashboard-section{gap:14px;display:grid}.dashboard-section h2{margin:0;font-size:1.05rem}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.dashboard-kpi{min-height:112px;color:inherit;background:#fff;border:1px solid #e4e7ec;border-radius:12px;gap:5px;padding:18px;text-decoration:none;display:grid}.dashboard-kpi span{color:#667085;font-size:.875rem}.dashboard-kpi strong{font-size:1.8rem;line-height:1.1}.dashboard-kpi small{color:#667085}.dashboard-kpi-link:hover{border-color:#98a2b3;box-shadow:0 2px 8px #10182814}.dashboard-loading{text-align:center;color:#667085;padding:32px}@media (width<=720px){.dashboard-header{flex-direction:column}.dashboard-header button{width:100%}}.monthly-dashboard-filters{align-items:end}.monthly-dashboard-timesheet-link{color:#fff;background:#1d4ed8;border-radius:8px;align-items:center;min-height:38px;padding:8px 12px;font-weight:600;text-decoration:none;display:inline-flex}.monthly-dashboard-trend-section{background:#fff;border-radius:12px;gap:16px;margin-top:24px;padding:20px;display:grid;box-shadow:0 3px 14px #0000000d}.monthly-dashboard-trend-section h2{margin:0 0 4px}.monthly-dashboard-trend-section p{color:#6b7280;margin:0}.monthly-dashboard-trend{grid-template-columns:repeat(31,minmax(26px,1fr));align-items:end;gap:6px;min-width:900px;height:250px;padding-top:12px;display:grid;overflow-x:auto}.monthly-dashboard-day{min-width:26px;color:inherit;text-align:center;grid-template-rows:190px auto auto;gap:5px;text-decoration:none;display:grid}.monthly-dashboard-bars{justify-content:center;align-items:flex-end;gap:2px;height:190px;display:flex}.monthly-dashboard-bar{background:#d1d5db;border-radius:4px 4px 0 0;width:6px;min-height:1px;display:block}.monthly-dashboard-bar.scheduled{background:#94a3b8}.monthly-dashboard-bar.worked{background:#2563eb}.monthly-dashboard-bar.absence{background:#f59e0b}.monthly-dashboard-day strong{font-size:12px}.monthly-dashboard-day small{color:#6b7280;min-height:28px;font-size:9px}.monthly-dashboard-day:hover{background:#f9fafb}.monthly-dashboard-legend{color:#4b5563;flex-wrap:wrap;gap:18px;font-size:13px;display:flex}.monthly-dashboard-legend span{align-items:center;gap:6px;display:inline-flex}.monthly-dashboard-legend-mark{border-radius:3px;width:12px;height:12px;display:inline-block}.monthly-dashboard-legend-mark.scheduled{background:#94a3b8}.monthly-dashboard-legend-mark.worked{background:#2563eb}.monthly-dashboard-legend-mark.absence{background:#f59e0b}@media (width<=700px){.monthly-dashboard-trend-section{padding:14px}}.directional-report-filters{align-items:end}.directional-report-table-wrap{background:#fff;border-radius:12px;margin-top:22px;overflow-x:auto;box-shadow:0 3px 14px #0000000d}.directional-report-table{border-collapse:collapse;width:100%;min-width:1450px}.directional-report-table th,.directional-report-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e5e7eb;padding:12px 13px;font-size:13px}.directional-report-table th{color:#4b5563;background:#f9fafb;font-weight:700}.directional-report-table tbody tr:last-child td{border-bottom:0}.directional-report-table tbody tr:hover{background:#f9fafb}.directional-report-uuid{color:#6b7280;margin-top:4px;display:block}.directional-report-links{flex-direction:column;gap:6px;min-width:130px;display:flex}.directional-report-links a{color:#1d4ed8;font-weight:600;text-decoration:none}.directional-report-links a:hover{text-decoration:underline}.directional-report-empty{color:#6b7280;text-align:center!important;padding:28px!important}.trend-report-page{gap:22px;display:grid}.trend-report-filters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:14px;display:grid}.trend-report-filters label{color:#4b5563;gap:6px;font-size:13px;font-weight:600;display:grid}.trend-report-filters input,.trend-report-filters select{min-height:42px;color:inherit;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:8px 10px}.trend-chart-card{background:#fff;border-radius:12px;gap:18px;padding:20px;display:grid;box-shadow:0 3px 14px #0000000d}.trend-chart-header h2{margin:0 0 5px}.trend-chart-header p{color:#6b7280;margin:0}.trend-chart-scroll{overflow-x:auto}.trend-chart{align-items:end;gap:8px;min-width:max-content;height:280px;padding:12px 4px 0;display:flex}.trend-chart-point{width:58px;color:inherit;text-align:center;grid-template-rows:220px auto auto;gap:5px;text-decoration:none;display:grid}.trend-chart-point:hover{background:#f9fafb;border-radius:8px}.trend-chart-bars{justify-content:center;align-items:flex-end;gap:3px;height:220px;display:flex}.trend-bar{border-radius:4px 4px 0 0;width:8px;min-height:0;display:block}.trend-bar.scheduled{background:#94a3b8}.trend-bar.worked{background:#2563eb}.trend-bar.absence{background:#f59e0b}.trend-bar.overtime{background:#16a34a}.trend-chart-point strong{font-size:12px}.trend-chart-point small{color:#6b7280;font-size:10px}.trend-chart-legend{color:#4b5563;flex-wrap:wrap;gap:18px;font-size:13px;display:flex}.trend-chart-legend span{align-items:center;gap:6px;display:inline-flex}.trend-legend{border-radius:3px;width:12px;height:12px;display:inline-block}.trend-legend.scheduled{background:#94a3b8}.trend-legend.worked{background:#2563eb}.trend-legend.absence{background:#f59e0b}.trend-legend.overtime{background:#16a34a}.trend-table-wrap{background:#fff;border-radius:12px;overflow-x:auto;box-shadow:0 3px 14px #0000000d}.trend-table{border-collapse:collapse;width:100%;min-width:1200px}.trend-table th,.trend-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e5e7eb;padding:12px 13px;font-size:13px}.trend-table th{color:#4b5563;background:#f9fafb;font-weight:700}.trend-table tbody tr:last-child td{border-bottom:0}.trend-table tbody tr:hover{background:#f9fafb}.trend-table td:first-child{gap:4px;display:grid}.trend-table td:first-child small{color:#6b7280}.trend-drill-link{color:#1d4ed8;font-weight:600;text-decoration:none}.trend-drill-link:hover{text-decoration:underline}@media (width<=700px){.trend-chart-card{padding:14px}.trend-report-filters{grid-template-columns:1fr}}.timesheet-highlight-row{outline-offset:-2px;outline:2px solid #2563eb;background:#eff6ff!important}.timesheet-kpi-link{color:inherit;cursor:pointer;text-decoration:none}.timesheet-kpi-link:hover{outline:1px solid #bfdbfe;box-shadow:0 4px 16px #2563eb1a}.leave-request-create{gap:18px;margin-bottom:24px;display:grid}.leave-request-create h2{margin:0}.leave-request-form-grid{grid-template-columns:repeat(3,minmax(220px,1fr));align-items:end;gap:16px;display:grid}.leave-request-create label,.leave-request-form-grid label{color:#4b5563;gap:6px;min-width:0;font-size:14px;font-weight:500;display:grid}.leave-request-create input,.leave-request-create select,.leave-request-create textarea{color:#1f2937;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 11px}.leave-request-create textarea{resize:vertical;min-height:88px}.leave-request-create>button{width:fit-content;min-width:150px}.leave-request-filters{margin-top:0}.leave-request-list,.leave-request-item{gap:12px;display:grid}.leave-request-item-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.leave-request-item-header>div{gap:5px;display:grid}.leave-request-item-header span,.leave-request-item small{color:#6b7280}.leave-request-item-actions{justify-content:flex-end;display:flex}.leave-request-certificate-retry{gap:10px;margin-bottom:20px;display:grid}.leave-request-certificate-retry>button{width:fit-content}@media (width<=1100px){.leave-request-form-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (width<=700px){.leave-request-form-grid{grid-template-columns:1fr}.leave-request-create>button,.leave-request-certificate-retry>button{width:100%}.leave-request-item-header{flex-direction:column}}.management-page{gap:0;display:grid}.management-page-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.management-page-header>div{min-width:0}.management-filters{background:#ffffffb8;border:1px solid #e5e7eb;border-radius:12px;align-items:center;padding:12px}.management-filters input[type=search]{flex:280px;min-width:240px}.management-filters select{min-width:155px}.management-master-grid{grid-template-columns:minmax(300px,.9fr) minmax(460px,1.1fr);gap:20px}.management-list{align-content:start}.management-detail{border:1px solid #e5e7eb;box-shadow:0 6px 24px #0f172a0f}.management-empty-state{color:#64748b;text-align:center;background:#ffffff8c;border:1px dashed #cbd5e1;border-radius:12px;place-content:center;gap:7px;min-height:180px;padding:28px;display:grid}.management-empty-state strong{color:#1f2937;font-size:16px}.master-row{border:1px solid #0000;transition:border-color .12s,box-shadow .12s,transform .12s}.master-row:hover{border-color:#bfdbfe;transform:translateY(-1px);box-shadow:0 5px 18px #2563eb14}.master-row.selected{border-color:#60a5fa;outline:0;box-shadow:0 5px 18px #2563eb1f}.master-row-meta{color:#64748b;justify-content:space-between;align-items:center;gap:12px;display:flex}.master-row-meta>span:first-child{overflow-wrap:anywhere;min-width:0}.entity-status-badge{border-radius:999px;flex:none;align-items:center;width:fit-content;padding:4px 9px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.entity-status-active{color:#166534;background:#dcfce7}.entity-status-disabled{color:#64748b;background:#f1f5f9}.primary-action,.secondary-action,.danger-action{cursor:pointer;border-radius:8px;min-height:38px;font-weight:650;border:0!important;padding:9px 14px!important}.primary-action{color:#fff!important;background:#1d4ed8!important}.primary-action:hover{background:#1e40af!important}.secondary-action{color:#334155!important;background:#eef2f7!important}.secondary-action:hover{background:#e2e8f0!important}.danger-action{color:#991b1b!important;background:#fee2e2!important}.danger-action:hover{background:#fecaca!important}.workplace-form{gap:16px}.coordinate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.coordinate-grid label{min-width:0}.input-with-suffix{background:#fff;border:1px solid #d1d5db;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}.input-with-suffix input{min-width:0;border:0!important;border-radius:0!important}.input-with-suffix span{color:#64748b;background:#f8fafc;border-left:1px solid #e5e7eb;align-items:center;padding:0 12px;font-size:13px;font-weight:600;display:flex}.field-help{color:#64748b;font-size:12px;line-height:1.45}.schedule-detail{min-width:0}.schedule-header-form{grid-template-columns:minmax(0,1.4fr) minmax(180px,.8fr)}.schedule-days{gap:8px}.schedule-day{background:#fff;grid-template-columns:minmax(190px,.7fr) minmax(300px,1.3fr);align-items:center;gap:18px;min-height:64px;padding:10px 12px}.schedule-day-working{border-color:#dbeafe}.schedule-day-off{background:#f8fafc}.schedule-day-name{min-width:0}.schedule-times{grid-template-columns:minmax(90px,1fr) auto minmax(90px,1fr) auto;align-items:end;gap:8px;display:grid}.schedule-times label{min-width:0}.schedule-times input{width:100%;min-width:0}.schedule-time-arrow{color:#94a3b8;align-self:end;padding-bottom:9px;font-weight:700}.schedule-off{color:#64748b;background:#e2e8f0;border-radius:999px;justify-self:start;padding:5px 9px;font-size:12px;font-weight:600}@media (width<=1100px){.management-master-grid{grid-template-columns:minmax(280px,.8fr) minmax(390px,1.2fr)}.schedule-day{grid-template-columns:1fr}}@media (width<=900px){.management-page-header{flex-direction:column}.management-master-grid{grid-template-columns:1fr}.management-detail{position:static}.schedule-header-form{grid-template-columns:1fr}}@media (width<=640px){.management-filters{grid-template-columns:1fr;display:grid}.management-filters input[type=search],.management-filters select,.management-filters button,.management-page-header .primary-action{width:100%;min-width:0}.coordinate-grid{grid-template-columns:1fr}.schedule-times{grid-template-columns:1fr 1fr}.schedule-time-arrow{display:none}.overnight-badge{grid-column:1/-1}}.employee-filters input[type=search]{flex:320px}.employee-detail{min-height:260px}.management-detail-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.management-detail-heading h2{margin:0 0 5px}.management-detail-heading p{color:#64748b;margin:0;font-size:14px}.management-empty-detail{color:#64748b;text-align:center;place-content:center;gap:7px;min-height:220px;display:grid}.management-empty-detail strong{color:#1f2937;font-size:16px}.employee-row-roles{flex-wrap:wrap;gap:5px;display:flex}.employee-role-badge{color:#4338ca;background:#eef2ff;border-radius:999px;align-items:center;padding:3px 7px;font-size:10px;font-weight:700;display:inline-flex}.employee-form-grid{gap:14px;display:grid}.employee-form-grid label{color:#475569;gap:6px;font-size:14px;font-weight:500;display:grid}.employee-form-grid input{color:#1f2937;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 11px}.employee-role-section{margin-top:22px}.employee-role-section h3{margin:0 0 10px;font-size:14px}.employee-role-grid{gap:8px}.role-option{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #dbe2ea;border-radius:9px;align-items:center;min-height:36px;padding:7px 10px;font-size:12px;font-weight:650;gap:7px!important;display:inline-flex!important}.role-option-selected{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.role-option input{margin:0}.employee-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.employee-summary-grid>div{background:#f8fafc;border-radius:9px;gap:5px;padding:13px;display:grid}.employee-summary-grid span{color:#64748b;font-size:12px}.employee-summary-grid strong{overflow-wrap:anywhere}.assignment-section-heading h3{margin:0 0 4px}.assignment-section-heading p{color:#64748b;margin:0 0 12px;font-size:13px;line-height:1.45}.assignment-empty{color:#64748b;background:#f8fafc;border-radius:8px;margin:12px 0 0;padding:12px;font-size:13px}.assignment-date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width<=640px){.management-detail-heading{flex-direction:column}.employee-summary-grid,.assignment-date-grid{grid-template-columns:1fr}}.assignment-select{color:#1f2937;width:100%;min-width:0;min-height:40px;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:9px 36px 9px 10px}.assignment-select:disabled{cursor:wait;color:#94a3b8;background:#f8fafc}.inline-form .assignment-select{min-width:0}.inline-form button:disabled,.schedule-assignment-form button:disabled{cursor:not-allowed;opacity:.5}.assignment-section .inline-form{grid-template-columns:minmax(0,1fr) auto}@media (width<=640px){.assignment-section .inline-form{grid-template-columns:1fr}.assignment-section .inline-form button{width:100%}}.auth-inner-form,.auth-feedback{gap:16px;display:grid}.auth-feedback p{margin:0;line-height:1.55}.auth-muted{color:#64748b;margin:0;font-size:14px;line-height:1.5}.auth-link{color:#1d4ed8;font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-link-centered{text-align:center}.auth-password-help{justify-content:flex-end;margin-top:-6px;font-size:14px;display:flex}.auth-field-hint{color:#64748b;font-size:12px;font-weight:400}.backoffice-shell{background:#f6f8fc;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:#0f172a;height:100vh;padding:24px 18px;position:sticky;top:0;overflow-y:auto}.brand{border-bottom:1px solid #ffffff14;padding:0 10px 20px}.brand strong{letter-spacing:-.02em;font-size:18px}.brand span{color:#94a3b8;margin-top:3px;font-size:12px}.sidebar-nav{gap:22px;margin-top:2px;display:grid}.sidebar-group{gap:7px;display:grid}.sidebar-group-label{color:#64748b;letter-spacing:.1em;text-transform:uppercase;padding:0 10px;font-size:10px;font-weight:800}.sidebar-group-items{gap:4px;display:grid}.sidebar-nav a{color:#cbd5e1;border-radius:9px;align-items:center;min-height:40px;padding:9px 11px;font-size:14px;font-weight:550;transition:background .12s,color .12s;display:flex}.sidebar-nav a:hover{color:#fff;background:#ffffff0f}.sidebar-nav a.active{color:#fff;background:#1e293b}.sidebar-footer{border-top:1px solid #ffffff14;gap:10px;margin-top:auto;padding-top:18px;display:grid}.sidebar-footer>span{color:#64748b;padding:0 10px;font-size:11px}.logout-button{color:#e2e8f0;border-color:#334155;min-height:40px;margin:0}.logout-button:hover{background:#1e293b}.backoffice-content{min-width:0;min-height:100vh;overflow-x:hidden}.backoffice-content>.page,.backoffice-content>.dashboard-page{width:min(1500px,100%);margin:0 auto;padding:32px}.page-header h1,.dashboard-header h1{letter-spacing:-.035em}@media (width<=900px){.backoffice-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:16px;position:static;overflow:visible}.sidebar-nav{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.sidebar-footer{margin-top:8px}.backoffice-content>.page,.backoffice-content>.dashboard-page{padding:20px}}@media (width<=600px){.sidebar-nav{grid-template-columns:1fr}.backoffice-content>.page,.backoffice-content>.dashboard-page{padding:16px}}.mfa-enrollment-card{border:1px solid #e5e7eb;gap:24px;width:min(580px,100%);padding:32px}.mfa-enrollment-header{gap:8px;display:grid}.mfa-enrollment-header h1{letter-spacing:-.025em;margin:0;font-size:clamp(1.55rem,3vw,2rem);line-height:1.18}.mfa-enrollment-header p{color:#667085;margin:0;line-height:1.55}.mfa-eyebrow{color:#2563eb;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800}.mfa-start,.mfa-steps{gap:20px;display:grid}.mfa-start p{color:#4b5563;margin:0}.mfa-step{border-top:1px solid #e5e7eb;gap:18px;padding-top:22px;display:grid}.mfa-step-heading{grid-template-columns:34px 1fr;align-items:start;gap:12px;display:grid}.mfa-step-number{color:#1d4ed8;background:#eff6ff;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.mfa-step-heading h2{margin:1px 0 5px;font-size:1.05rem}.mfa-step-heading p{color:#667085;margin:0;line-height:1.5}.mfa-qr-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;place-items:center;min-height:276px;padding:18px;display:grid}.mfa-qr{background:#fff;border-radius:10px;width:min(240px,100%);height:auto;padding:8px;display:block}.mfa-qr-loading,.mfa-qr-fallback{color:#667085;text-align:center;margin:0}.mfa-manual{background:#fff;border:1px solid #e5e7eb;border-radius:10px}.mfa-manual>summary,.mfa-technical-details>summary{cursor:pointer;font-weight:650}.mfa-manual>summary{padding:13px 15px}.mfa-manual-content{gap:10px;padding:0 15px 15px;display:grid}.mfa-manual-content>label{color:#667085;font-size:.82rem}.mfa-secret-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;display:grid}.mfa-secret{overflow-wrap:anywhere;background:#f8fafc;border:1px solid #d0d5dd;border-radius:8px;align-items:center;min-width:0;padding:11px 12px;font-size:.86rem;display:flex}.auth-card .mfa-copy-button{color:#1f2937;white-space:nowrap;background:#e5e7eb}.mfa-status{color:#166534;min-height:18px;font-size:.8rem}.mfa-technical-details{color:#667085;margin-top:4px;font-size:.78rem}.mfa-technical-details code{overflow-wrap:anywhere;color:#4b5563;background:#f8fafc;border-radius:8px;margin-top:10px;padding:10px;display:block}.mfa-otp-field{color:#344054;gap:7px;font-size:.9rem;font-weight:650;display:grid}.auth-card .mfa-otp-field input{letter-spacing:.22em;text-align:center;min-height:52px;padding:10px 14px;font-size:1.35rem;font-weight:700}.mfa-code-help{color:#667085;margin-top:-10px}.auth-card button:disabled{cursor:not-allowed;opacity:.55}.auth-card button:focus-visible,.auth-card input:focus-visible,.mfa-manual>summary:focus-visible,.mfa-technical-details>summary:focus-visible{outline-offset:2px;outline:3px solid #2563eb40}@media (width<=640px){.auth-shell{padding:16px}.mfa-enrollment-card{padding:22px}.mfa-secret-row{grid-template-columns:1fr}.auth-card .mfa-copy-button{width:100%}.mfa-qr-panel{min-height:240px;padding:12px}.mfa-step-heading{grid-template-columns:30px 1fr}.mfa-step-number{width:30px;height:30px}}.role-home{gap:30px;display:grid}.role-home-hero{gap:8px;max-width:760px;display:grid}.role-home-hero h1{letter-spacing:-.04em;margin:0;font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.15}.role-home-hero p{color:#64748b;margin:0;font-size:1rem;line-height:1.55}.role-home-eyebrow{color:#3730a3;letter-spacing:.08em;background:#e0e7ff;border-radius:999px;width:fit-content;padding:5px 9px;font-size:11px;font-weight:800}.role-home-section{gap:18px;display:grid}.role-home-section-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.role-home-section-heading h2{letter-spacing:-.02em;margin:0 0 5px;font-size:1.3rem}.role-home-section-heading p{color:#64748b;margin:0;line-height:1.5}.role-home-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.role-home-card{min-width:0;min-height:150px;color:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-rows:auto 1fr auto;gap:10px;padding:20px;text-decoration:none;transition:transform .12s,border-color .12s,box-shadow .12s;display:grid;box-shadow:0 3px 14px #0f172a0d}.role-home-card:hover{border-color:#93c5fd;transform:translateY(-2px);box-shadow:0 8px 24px #2563eb1a}.role-home-card:focus-visible{outline-offset:2px;outline:3px solid #2563eb3d}.role-home-card strong{color:#0f172a;font-size:1rem;line-height:1.3}.role-home-card>span{color:#64748b;font-size:.9rem;line-height:1.5}.role-home-card small{color:#2563eb;font-size:.8rem;font-weight:700}.role-home-highlight{background:#eff6ff;border:1px solid #dbeafe;border-radius:14px;padding:18px 20px}.role-home-highlight>div{gap:5px;display:grid}.role-home-highlight span{color:#2563eb;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.role-home-highlight strong{color:#1e3a8a;font-size:.95rem;line-height:1.45}@media (width<=720px){.role-home{gap:24px}.role-home-grid{grid-template-columns:1fr}.role-home-card{min-height:0}.role-home-section-heading{flex-direction:column;align-items:flex-start}}.password-strength-feedback{min-height:18px;margin-top:2px;font-size:12px;line-height:1.45}.password-strength-warning{color:#b45309}.password-strength-ok{color:#15803d;font-weight:650}
