: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}.approval-detail-backdrop{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a7a;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.approval-detail-modal{background:#fff;border:1px solid #e4e7ec;border-radius:18px;width:min(680px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 24px 70px #0f172a3d}.approval-detail-header{border-bottom:1px solid #eaecf0;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 24px 20px;display:flex}.approval-detail-header>div{min-width:0}.approval-detail-eyebrow{color:#667085;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.approval-detail-header h2{margin:0;font-size:24px}.approval-detail-header p{color:#667085;margin:7px 0 0;font-size:14px}.approval-detail-close{color:#475467;background:#fff;border:1px solid #d0d5dd;border-radius:10px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:24px;line-height:1;display:grid}.approval-detail-close:hover{background:#f9fafb}.approval-detail-status-row{justify-content:space-between;align-items:center;gap:18px;padding:18px 24px;display:flex}.approval-detail-employee{text-align:right;gap:3px;min-width:0;display:grid}.approval-detail-employee span{color:#667085;font-size:11px}.approval-detail-employee code{overflow-wrap:anywhere;color:#344054;font-size:12px}.approval-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0 24px 20px;display:grid}.approval-detail-grid>div{background:#f9fafb;border:1px solid #eaecf0;border-radius:10px;gap:5px;padding:14px;display:grid}.approval-detail-grid dt{color:#667085;font-size:11px;font-weight:600}.approval-detail-grid dd{color:#1f2937;margin:0;font-size:14px;font-weight:600}.approval-detail-section{background:#fff;border:1px solid #eaecf0;border-radius:10px;margin:0 24px 18px;padding:14px 16px}.approval-detail-section>span{color:#667085;font-size:11px;font-weight:600}.approval-detail-section p{white-space:pre-wrap;margin:7px 0 0}.approval-certificate-action{margin:0 24px 18px}.approval-certificate-action>div{gap:4px;display:grid}.approval-certificate-action span{color:#667085;overflow-wrap:anywhere;font-size:12px}.approval-admin-cancel{background:snow;border:1px solid #fecaca;border-radius:12px;gap:14px;margin:0 24px 20px;padding:18px;display:grid}.approval-admin-cancel>div{gap:5px;display:grid}.approval-admin-cancel>div p{color:#667085;margin:0;font-size:12px;line-height:1.5}.approval-admin-cancel label{color:#475467;gap:7px;font-size:13px;font-weight:600;display:grid}.approval-admin-cancel textarea{resize:vertical;color:#1f2937;width:100%;min-height:96px;font:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:10px 11px}.approval-admin-cancel textarea:focus{outline-offset:1px;border-color:#dc2626;outline:2px solid #fecaca}.approval-cancel-button{color:#fff;width:fit-content;min-height:40px;font:inherit;background:#b91c1c;border:1px solid #b91c1c;border-radius:8px;padding:9px 13px;font-weight:700}.approval-cancel-button:disabled{cursor:not-allowed;opacity:.45}.approval-detail-footer{border-top:1px solid #eaecf0;justify-content:flex-end;padding:16px 24px 20px;display:flex}@media (width<=700px){.approval-detail-backdrop{align-items:end;padding:12px}.approval-detail-modal{border-radius:16px;width:100%;max-height:calc(100vh - 24px)}.approval-detail-header,.approval-detail-status-row{padding-left:18px;padding-right:18px}.approval-detail-status-row{flex-direction:column;align-items:flex-start}.approval-detail-employee{text-align:left}.approval-detail-grid{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.approval-detail-section,.approval-certificate-action,.approval-admin-cancel{margin-left:18px;margin-right:18px}.approval-detail-footer{padding-left:18px;padding-right:18px}}.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{align-content:start;gap:18px;display:grid}.attendance-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.attendance-header h1{margin:0 0 6px}.attendance-header p{color:#667085;margin:0}.attendance-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.attendance-primary,.attendance-secondary,.attendance-detail-button{min-height:40px;font:inherit;border-radius:8px;padding:9px 13px;font-weight:600}.attendance-primary{color:#fff;background:#1d4ed8;border:1px solid #1d4ed8}.attendance-secondary{color:#344054;background:#fff;border:1px solid #d0d5dd}.attendance-primary:disabled,.attendance-secondary:disabled{cursor:not-allowed;opacity:.6}.attendance-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.attendance-stats article{background:#fff;border:1px solid #e4e7ec;border-radius:12px;gap:4px;min-height:92px;padding:16px 18px;display:grid;box-shadow:0 2px 8px #1018280a}.attendance-stats span{color:#667085;font-size:13px;font-weight:500}.attendance-stats strong{font-size:27px;line-height:1.1}.attendance-filter-card,.attendance-results-card{background:#fff;border:1px solid #e4e7ec;border-radius:12px;box-shadow:0 2px 8px #1018280a}.attendance-filter-card{gap:16px;padding:16px;display:grid}.attendance-filter-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.attendance-filter-heading>div{gap:3px;display:grid}.attendance-filter-heading span{color:#667085;font-size:13px}.attendance-filters{grid-template-columns:minmax(160px,.7fr) minmax(260px,1.5fr) minmax(170px,.8fr) minmax(180px,.8fr);align-items:end;gap:12px;display:grid}.attendance-filters label,.attendance-advanced-grid label{color:#475467;gap:6px;min-width:0;font-size:13px;font-weight:600;display:grid}.attendance-filters input,.attendance-filters select,.attendance-advanced-grid input{color:#1f2937;background:#fff;border:1px solid #d0d5dd;border-radius:8px;width:100%;min-width:0;min-height:42px;padding:9px 11px}.attendance-filters input:focus,.attendance-filters select:focus,.attendance-advanced-grid input:focus{outline-offset:1px;border-color:#2563eb;outline:2px solid #bfdbfe}.attendance-advanced-filters{border-top:1px solid #eaecf0;padding-top:12px}.attendance-advanced-filters summary{cursor:pointer;color:#475467;width:fit-content;font-size:13px;font-weight:700}.attendance-advanced-filters>p{color:#667085;margin:10px 0;font-size:12px}.attendance-advanced-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;max-width:900px;display:grid}.attendance-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;padding:12px 14px}.attendance-results-card{overflow:hidden}.attendance-results-header{border-bottom:1px solid #eaecf0;justify-content:space-between;align-items:center;min-height:58px;padding:13px 16px;display:flex}.attendance-results-header>div{align-items:baseline;gap:10px;display:flex}.attendance-results-header span{color:#667085;font-size:13px}.attendance-table-wrap{overflow-x:auto}.attendance-table{border-collapse:collapse;width:100%;min-width:1050px}.attendance-table th{color:#667085;text-align:left;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #eaecf0;padding:11px 14px;font-size:12px;font-weight:700}.attendance-table td{vertical-align:middle;border-bottom:1px solid #eaecf0;padding:14px;font-size:13px}.attendance-data-row:hover{background:#f9fafb}.attendance-employee{gap:3px;min-width:200px;display:grid}.attendance-employee strong{overflow-wrap:anywhere;font-size:14px}.attendance-last-event{gap:3px;display:grid}.attendance-last-event strong{font-size:13px}.attendance-last-event span{color:#667085;font-size:12px}.attendance-badge{white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;min-height:25px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.attendance-badge-in{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.attendance-badge-out{color:#475467;background:#f9fafb;border:1px solid #d0d5dd}.attendance-badge-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa}.attendance-no-anomaly{color:#667085;font-size:12px}.attendance-unavailable{color:#98a2b3;font-size:12px}.attendance-detail-button{color:#344054;white-space:nowrap;background:#fff;border:1px solid #d0d5dd}.attendance-detail-button:hover{background:#f9fafb;border-color:#98a2b3}.attendance-detail-row>td{background:#f9fafb;padding:0}.attendance-details{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:14px;padding:16px;display:grid}.attendance-detail-card{background:#fff;border:1px solid #eaecf0;border-radius:10px;padding:16px}.attendance-detail-card h4{margin:0 0 14px}.attendance-detail-heading{border-bottom:1px solid #eaecf0;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding-bottom:14px;display:flex}.attendance-detail-heading>div{gap:3px;display:grid}.attendance-detail-heading span,.attendance-detail-heading small{color:#667085;font-size:11px}.attendance-detail-heading small{overflow-wrap:anywhere;text-align:right;max-width:300px}.attendance-timeline,.attendance-anomalies{margin:0;padding-left:20px}.attendance-timeline li,.attendance-anomalies li{margin-bottom:12px}.attendance-timeline li:last-child,.attendance-anomalies li:last-child{margin-bottom:0}.attendance-timeline li>div:first-child{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.attendance-anomalies li{gap:3px;display:grid}.attendance-anomalies li span{color:#667085;font-size:12px}.attendance-event-meta{color:#667085;flex-wrap:wrap;gap:10px;margin-top:4px;font-size:12px;display:flex}.attendance-detail-ok{color:#166534;background:#f0fdf4;border-radius:8px;padding:12px;font-size:13px}.attendance-muted{color:#667085;margin:0}.attendance-empty{text-align:center;padding:36px 20px!important}.attendance-empty strong,.attendance-empty span{display:block}.attendance-empty span{color:#667085;margin-top:5px;font-size:13px}.attendance-pagination{border-top:1px solid #eaecf0;justify-content:center;align-items:center;gap:12px;padding:14px 16px;display:flex}.attendance-pagination span{color:#667085;font-size:13px}.attendance-privacy-note{color:#667085;margin:0;font-size:12px}@media (width<=1200px){.attendance-filters,.attendance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.attendance-header{flex-direction:column}.attendance-header-actions{justify-content:stretch;width:100%}.attendance-header-actions button{flex:1 1 0}.attendance-filters,.attendance-advanced-grid,.attendance-stats,.attendance-details{grid-template-columns:1fr}.attendance-table{min-width:900px}}@media (width<=520px){.attendance-header-actions{flex-direction:column-reverse}.attendance-header-actions button{width:100%}}.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-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}.field-error{color:#b91c1c;font-size:12px;line-height:1.4}:root{--gp-blue:#315cf6;--gp-blue-dark:#173b9f;--gp-navy:#101d3d;--gp-cyan:#1bb9d5;--gp-teal:#18b8a4;--gp-soft-blue:#eef4ff;--gp-soft-cyan:#ecfbfb;--gp-border:#dbe4f0;--gp-text:#172033;--gp-muted:#65718a}.geo-brand{align-items:center;gap:12px;min-width:0;display:flex}.geo-brand-mark{background:linear-gradient(145deg, var(--gp-blue), var(--gp-cyan));color:#315cf6;border-radius:14px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 10px 24px #235bf63d}.geo-brand-mark svg{color:#fff;width:31px;height:31px}.geo-brand-copy{gap:2px;min-width:0;display:grid}.geo-brand-copy strong{color:inherit;letter-spacing:-.035em;font-size:1.15rem;line-height:1.05}.geo-brand-copy small{color:inherit;opacity:.7;text-overflow:ellipsis;font-size:.74rem;line-height:1.25;overflow:hidden}.geo-brand-compact{display:inline-flex}.geo-brand-compact .geo-brand-mark{border-radius:17px;flex-basis:52px;width:52px;height:52px}.login-shell{background:radial-gradient(circle at 8% 12%,#315cf624,#0000 31%),radial-gradient(circle at 92% 84%,#18b8a429,#0000 32%),#f4f7fc;padding:36px;position:relative;overflow:hidden}.login-shell:before,.login-shell:after{z-index:0;content:"";pointer-events:none;filter:blur(2px);border-radius:999px;position:absolute}.login-shell:before{background:#315cf60f;width:360px;height:360px;top:-160px;right:8%}.login-shell:after{background:#18b8a412;width:400px;height:400px;bottom:-190px;left:5%}.login-stage{z-index:1;background:#fff;border:1px solid #dbe4f0e0;border-radius:28px;grid-template-columns:minmax(0,1.08fr) minmax(380px,.78fr);width:min(1080px,100%);display:grid;position:relative;overflow:hidden;box-shadow:0 28px 80px #0f1f4424}.login-showcase{color:#fff;background:linear-gradient(145deg,#163a9f 0%,#315cf6 52%,#1bb9d5 100%);flex-direction:column;min-height:620px;padding:46px;display:flex;position:relative;overflow:hidden}.login-showcase:before{content:"";border:50px solid #ffffff14;border-radius:50%;width:280px;height:280px;position:absolute;top:-90px;right:-70px}.login-showcase:after{content:"";background:linear-gradient(145deg,#ffffff1c,#ffffff06);border-radius:52px;width:190px;height:190px;position:absolute;bottom:85px;right:35px;transform:rotate(18deg)}.login-showcase-logo{z-index:1;color:#fff;position:relative}.login-showcase-logo .geo-brand-mark{box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26}.login-showcase-copy{z-index:1;gap:16px;max-width:500px;margin-top:auto;margin-bottom:38px;display:grid;position:relative}.login-showcase-eyebrow{letter-spacing:.11em;background:#ffffff1c;border:1px solid #ffffff38;border-radius:999px;width:fit-content;padding:7px 10px;font-size:.7rem;font-weight:800}.login-showcase-copy h1{letter-spacing:-.055em;max-width:520px;margin:0;font-size:clamp(2rem,4vw,3.15rem);line-height:1.02}.login-showcase-copy p{color:#ffffffd4;max-width:470px;margin:0;font-size:1rem;line-height:1.65}.login-feature-grid{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid;position:relative}.login-feature-grid article{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff17;border:1px solid #ffffff26;border-radius:14px;gap:5px;padding:13px;display:grid}.login-feature-grid strong{font-size:.82rem}.login-feature-grid span{color:#ffffffb8;font-size:.69rem;line-height:1.45}.login-showcase-footnote{z-index:1;color:#ffffff94;margin:17px 0 0;font-size:.7rem;position:relative}.auth-card.login-card{width:100%;min-height:620px;box-shadow:none;border-radius:0;align-content:center;gap:17px;padding:50px 44px}.login-card-mobile-brand{display:none}.login-card-heading{gap:7px;margin-bottom:8px;display:grid}.login-card-heading>span{color:var(--gp-blue);letter-spacing:.12em;font-size:.7rem;font-weight:800}.login-card-heading h2{color:var(--gp-text);letter-spacing:-.04em;margin:0;font-size:1.75rem}.login-card-heading p{color:var(--gp-muted);margin:0;font-size:.88rem;line-height:1.5}.auth-card.login-card label{color:#39445a;gap:7px;font-size:.82rem;font-weight:650}.auth-card.login-card input{min-height:48px;color:var(--gp-text);background:#fbfcfe;border:1px solid #d6deeb;border-radius:11px;padding:11px 13px;transition:border-color .12s,box-shadow .12s,background .12s}.auth-card.login-card input::placeholder{color:#a2acbd}.auth-card.login-card input:focus{background:#fff;border-color:#6f8cff;outline:none;box-shadow:0 0 0 4px #315cf61c}.auth-password-help{justify-content:flex-end;display:flex}.auth-link{color:var(--gp-blue);font-size:.78rem;font-weight:700;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-card button.login-submit{background:linear-gradient(100deg, var(--gp-blue), #4775ff);border-radius:11px;min-height:49px;font-weight:750;transition:transform .12s,box-shadow .12s;box-shadow:0 10px 24px #315cf638}.auth-card button.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px #315cf647}.login-security-note{color:#8a94a6;text-align:center;margin:-3px 0 0;font-size:.68rem}.sidebar{background:linear-gradient(#10234f 0%,#111c38 55%,#0b162e 100%);box-shadow:10px 0 35px #0f1d3d14}.sidebar .brand{border-bottom:1px solid #ffffff14;padding-bottom:17px}.sidebar .geo-brand{color:#fff}.sidebar .geo-brand-mark{border-radius:13px;flex-basis:40px;width:40px;height:40px}.sidebar .geo-brand-mark svg{width:28px;height:28px}.sidebar-nav a{transition:background .12s,color .12s,transform .12s}.sidebar-nav a:hover{background:#ffffff13;transform:translate(2px)}.sidebar-nav a.active{background:linear-gradient(90deg,#315cf652,#1bb9d51f);box-shadow:inset 3px 0 #2dd4bf}.role-home{gap:26px}.role-home-hero{background:linear-gradient(120deg,#fff 0%,#f2f6ff 58%,#ecfbfb 100%);border:1px solid #d8e5ff;border-radius:20px;justify-content:space-between;align-items:center;gap:30px;max-width:none;padding:28px 30px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 32px #1f479c12}.role-home-hero:after{content:"";background:radial-gradient(circle,#315cf61c,#0000 68%);border-radius:50%;width:220px;height:220px;position:absolute;top:-90px;right:14%}.role-home-hero-copy{z-index:1;gap:8px;max-width:720px;display:grid;position:relative}.role-home-hero-product{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffc2;border:1px solid #315cf624;border-radius:16px;flex:none;align-items:center;gap:12px;min-width:215px;padding:15px 17px;display:flex;position:relative;box-shadow:0 8px 28px #1f479c14}.role-home-hero-product>div:last-child{gap:2px;display:grid}.role-home-hero-product span{color:var(--gp-muted);font-size:.72rem}.role-home-hero-product strong{color:var(--gp-text);font-size:.88rem}.role-home-eyebrow{color:#274bbd;background:linear-gradient(100deg,#e8efff,#e5fbf8)}.role-home-card{border-color:#dfe7f2;border-radius:16px;position:relative;overflow:hidden}.role-home-card:before{content:"";background:var(--home-accent,linear-gradient(90deg, #315cf6, #1bb9d5));width:100%;height:4px;position:absolute;top:0;left:0}.role-home-card:nth-child(3n+1){--home-accent:linear-gradient(90deg, #315cf6, #6f8cff)}.role-home-card:nth-child(3n+2){--home-accent:linear-gradient(90deg, #18b8a4, #1bb9d5)}.role-home-card:nth-child(3n){--home-accent:linear-gradient(90deg, #7047eb, #315cf6)}.role-home-card:hover{border-color:#aac0ff;box-shadow:0 12px 28px #315cf61f}.role-home-highlight{background:linear-gradient(110deg,#eef4ff,#ecfbfb);border-color:#cfe0ff}@media (width<=900px){.login-shell{padding:24px}.login-stage{grid-template-columns:1fr;width:min(620px,100%)}.login-showcase{min-height:auto;padding:30px}.login-showcase-copy{margin-top:60px;margin-bottom:26px}.auth-card.login-card{min-height:auto;padding:38px 34px}.login-card-mobile-brand{display:none}}@media (width<=640px){.login-shell{padding:14px}.login-showcase{padding:24px}.login-showcase-copy{margin-top:42px}.login-showcase-copy h1{font-size:2rem}.login-feature-grid{grid-template-columns:1fr}.login-feature-grid article{grid-template-columns:90px 1fr;align-items:center}.login-showcase-footnote{display:none}.auth-card.login-card{padding:30px 24px}.role-home-hero{flex-direction:column;align-items:flex-start;padding:22px}.role-home-hero-product{width:100%;min-width:0}}.self-presence-page{gap:24px;display:grid}.self-presence-heading{margin-bottom:0}.self-presence-heading>div{gap:7px;display:grid}.self-presence-heading h1{margin:0}.self-presence-eyebrow{color:#274bbd;letter-spacing:.08em;background:linear-gradient(100deg,#e8efff,#e5fbf8);border-radius:999px;width:fit-content;padding:6px 9px;font-size:11px;font-weight:800}.self-presence-success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;margin:0;padding:12px 14px;font-weight:650}.self-presence-grid{grid-template-columns:minmax(250px,.72fr) minmax(360px,1.28fr);gap:18px;display:grid}.self-presence-status-card{color:#fff;border-radius:20px;justify-content:center;align-items:center;gap:20px;min-height:250px;padding:28px;display:flex;box-shadow:0 14px 36px #0f172a1f}.self-presence-status-card.is-out{background:linear-gradient(145deg,#315cf6,#4f7cff)}.self-presence-status-card.is-in{background:linear-gradient(145deg,#0f9f88,#1bb9d5)}.self-presence-status-icon{background:#ffffff24;border:1px solid #ffffff47;border-radius:20px;flex:0 0 66px;place-items:center;width:66px;height:66px;font-size:2rem;font-weight:800;display:grid}.self-presence-status-card>div:last-child{gap:7px;display:grid}.self-presence-status-card span{color:#ffffffb8;letter-spacing:.1em;font-size:.7rem;font-weight:800}.self-presence-status-card strong{font-size:1.55rem;line-height:1.1}.self-presence-status-card small{color:#ffffffc7;line-height:1.5}.self-presence-action-card{border-radius:20px;align-content:center;gap:15px;padding:26px;display:grid}.self-presence-action-card label{color:#39445a;gap:7px;font-size:.82rem;font-weight:700;display:grid}.self-presence-action-card select{background:#fff;border:1px solid #d6deeb;border-radius:11px;min-height:48px;padding:10px 12px}.self-presence-workplace-address{color:#64748b;margin:-4px 0 0;font-size:.84rem}.self-presence-punch{color:#fff;border:0;border-radius:13px;min-height:54px;font-weight:800;box-shadow:0 12px 26px #315cf633}.self-presence-punch-in{background:linear-gradient(100deg,#315cf6,#4775ff)}.self-presence-punch-out{background:linear-gradient(100deg,#0f9f88,#18b8a4)}.self-presence-punch:disabled{cursor:not-allowed;opacity:.55}.self-presence-privacy{background:linear-gradient(110deg,#f5f8ff,#f0fdfb);border:1px solid #dbeafe;border-radius:12px;gap:4px;padding:13px 14px;display:grid}.self-presence-privacy strong{color:#2447a8;font-size:.78rem}.self-presence-privacy span{color:#64748b;font-size:.75rem;line-height:1.5}.self-presence-history{border-radius:18px;gap:18px;display:grid}.self-presence-history-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.self-presence-history-heading h2{margin:0 0 4px;font-size:1.15rem}.self-presence-history-heading p{color:#64748b;margin:0;font-size:.84rem}.self-presence-history-list{gap:8px;display:grid}.self-presence-history-row{border-top:1px solid #edf1f6;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 0;display:grid}.self-presence-history-row>div{gap:3px;min-width:0;display:grid}.self-presence-history-row strong{color:#172033;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.self-presence-history-row small{color:#64748b}.self-presence-history-type{border-radius:999px;width:fit-content;padding:5px 8px;font-size:.72rem;font-weight:800}.self-presence-history-type.in{color:#274bbd;background:#e8efff}.self-presence-history-type.out{color:#087f70;background:#e5fbf8}.self-presence-verified{color:#15803d;font-size:.74rem;font-weight:700}@media (width<=820px){.self-presence-grid{grid-template-columns:1fr}.self-presence-status-card{min-height:190px}}@media (width<=600px){.self-presence-status-card{flex-direction:column;align-items:flex-start}.self-presence-history-heading{flex-direction:column}.self-presence-history-row{grid-template-columns:82px minmax(0,1fr)}.self-presence-verified{grid-column:2}}.self-presence-archive{border-radius:18px;gap:18px;display:grid}.self-presence-archive-filters{grid-template-columns:minmax(150px,.8fr) minmax(170px,1fr) auto auto auto;align-items:end;gap:10px;display:grid}.self-presence-archive-filters label{color:#39445a;gap:6px;font-size:.78rem;font-weight:700;display:grid}.self-presence-archive-filters input,.self-presence-archive-filters select{background:#fff;border:1px solid #d6deeb;border-radius:9px;min-height:42px;padding:8px 10px}@media (width<=900px){.self-presence-archive-filters{grid-template-columns:1fr 1fr}}@media (width<=600px){.self-presence-archive-filters{grid-template-columns:1fr}}.sidebar-presence-link{color:#dbeafe;background:#2563eb1f;border:1px solid #3b82f647;border-radius:12px;gap:2px;padding:12px 14px;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:grid}.sidebar-presence-link:hover{color:#fff;background:#2563eb33;border-color:#60a5fa80}.sidebar-presence-link.active{color:#fff;background:#1d4ed8;border-color:#3b82f6}.sidebar-presence-link-title{font-size:14px;font-weight:750}.sidebar-presence-link-subtitle{color:#93c5fd;font-size:11px}.sidebar-presence-link.active .sidebar-presence-link-subtitle{color:#dbeafe}.account-page{gap:22px;display:grid}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.account-card{gap:16px;display:grid}.account-card h2{margin:0;font-size:1.1rem}.account-details{gap:10px;margin:0;display:grid}.account-details>div{border-bottom:1px solid #e5e7eb;gap:4px;padding-bottom:10px;display:grid}.account-details dt{color:#667085;font-size:.76rem;font-weight:700}.account-details dd{color:#1f2937;margin:0;font-weight:650}.account-security-row{justify-content:space-between;gap:16px;display:flex}.account-hint{color:#667085;margin:0;font-size:.86rem;line-height:1.5}.account-password-card{grid-column:span 2}.account-password-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.account-password-form label{color:#475467;gap:6px;font-size:.8rem;font-weight:650;display:grid}.account-password-form input{border:1px solid #d0d5dd;border-radius:9px;min-height:42px;padding:9px 11px}.account-device-list{gap:10px;display:grid}.account-device-row{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;grid-template-columns:1.4fr 1fr;gap:12px;padding:12px;display:grid}.account-device-row>div{gap:4px;display:grid}.account-device-row span,.account-device-row small{color:#667085;font-size:.75rem}.account-danger-card{background:snow;border-color:#fecaca}.account-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin:0;padding:12px 14px}@media (width<=900px){.account-grid{grid-template-columns:1fr}.account-password-card{grid-column:auto}.account-password-form,.account-device-row{grid-template-columns:1fr}}.account-mfa-enrollment,.account-mfa-actions{gap:12px;display:grid}.account-mfa-enrollment label,.account-mfa-actions label{color:#475467;gap:6px;font-size:.8rem;font-weight:650;display:grid}.account-mfa-enrollment input,.account-mfa-actions input{border:1px solid #d0d5dd;border-radius:9px;min-height:42px;padding:9px 11px}.account-mfa-qr{background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:min(220px,100%);height:auto;padding:8px}.account-recovery-codes{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;gap:10px;padding:14px;display:grid}.account-recovery-codes h3,.account-recovery-codes p{margin:0}.account-recovery-codes>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.account-recovery-codes code{overflow-wrap:anywhere;background:#fff;border-radius:7px;padding:8px 10px}.account-device-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;align-items:center}@media (width<=700px){.account-recovery-codes>div,.account-device-row{grid-template-columns:1fr}}.account-mfa-device{background:#f8fafc;border:1px solid #dbe4ee;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid}.account-mfa-device>div{gap:4px;display:grid}.account-mfa-device span{color:#667085;font-size:.75rem}@media (width<=700px){.account-mfa-device{grid-template-columns:1fr}}
