*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{background:#f8f9fa;color:#2c3e50;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--slate-dark:#1e293b;--slate-medium:#334155;--navy-dark:#2c3e50;--navy-medium:#34495e;--blue-primary:#3498db;--blue-darker:#2980b9;--blue-light:#5dade2;--green-success:#27ae60;--green-darker:#229954;--orange-warning:#e67e22;--orange-darker:#d35400;--red-danger:#e74c3c;--red-darker:#c0392b;--teal-info:#1abc9c;--teal-darker:#16a085;--red-bright:#dc2626;--yellow-warning:#eab308;--blue-info:#2563eb;--amber-warning:#f59e0b;--purple-security:#9333ea;--white:#fff;--gray-lightest:#f8f9fa;--gray-light:#ecf0f1;--gray-medium:#bdc3c7;--gray-dark:#7f8c8d;--text-dark:#2c3e50;--text-muted:#7f8c8d;--border-color:#ecf0f1;--shadow-sm:0 2px 4px rgba(0,0,0,.06);--shadow-md:0 4px 12px rgba(0,0,0,.08);--shadow-lg:0 8px 20px rgba(0,0,0,.12);--shadow-xl:0 12px 28px rgba(0,0,0,.15);--shadow-button:0 4px 12px rgba(52,152,219,.3);--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--font-xs:0.75rem;--font-sm:0.875rem;--font-base:1rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:2rem;--font-4xl:2.5rem;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease}.manager-dashboard{background:var(--gray-lightest);min-height:100vh}.dashboard-header{background:linear-gradient(135deg,var(--slate-dark) 0,var(--slate-medium) 100%);box-shadow:var(--shadow-lg);color:var(--white);position:relative;z-index:100}.dashboard-header:after{background:linear-gradient(90deg,var(--blue-primary) 0,var(--teal-info) 50%,var(--blue-primary) 100%);bottom:0;content:"";height:3px;left:0;position:absolute;right:0}.dashboard-header .container-fluid{align-items:center;display:flex;gap:var(--space-lg);justify-content:space-between;padding:var(--space-lg) var(--space-xl)}.dashboard-header__title-section{flex:1}.dashboard-header__title{align-items:center;color:var(--white);display:flex;font-size:var(--font-2xl);font-weight:700;gap:var(--space-md);margin:0 0 var(--space-xs) 0}.dashboard-header__title i{color:var(--blue-light);font-size:var(--font-2xl)}.dashboard-header__subtitle{color:hsla(0,0%,100%,.85);font-size:var(--font-sm);font-weight:400;margin:0}.dashboard-header__actions{align-items:center;display:flex;gap:var(--space-md)}.btn-logout{align-items:center;backdrop-filter:blur(10px);background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.2);border-radius:var(--radius-md);color:var(--white);cursor:pointer;display:flex;font-size:var(--font-sm);font-weight:500;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);transition:all var(--transition-base)}.btn-logout:hover{background:hsla(0,0%,100%,.25);border-color:hsla(0,0%,100%,.3);transform:translateY(-1px)}#reenrollmentAlert{position:relative}#reenrollmentAlertBtn{backdrop-filter:blur(10px);background:rgba(230,126,34,.15);border:1px solid rgba(230,126,34,.3);border-radius:var(--radius-md);color:var(--white);cursor:pointer;padding:var(--space-sm) var(--space-md);position:relative;transition:all var(--transition-base)}#reenrollmentAlertBtn:hover{background:rgba(230,126,34,.25);transform:translateY(-1px)}#reenrollmentCount{background:var(--red-danger);border-radius:999px;color:var(--white);font-size:var(--font-xs);font-weight:600;padding:.125rem .375rem}#securityAlert{position:relative}#securityAlertBtn{backdrop-filter:blur(10px);background:rgba(231,76,60,.15);border:1px solid rgba(231,76,60,.3);border-radius:var(--radius-md);color:var(--white);cursor:pointer;padding:var(--space-sm) var(--space-md);position:relative;transition:all var(--transition-base)}#securityAlertBtn:hover{background:rgba(231,76,60,.25);transform:translateY(-1px)}#securityCount{background:var(--red-danger);border-radius:999px;color:var(--white);font-size:var(--font-xs);font-weight:600;padding:.125rem .375rem}.container-fluid{margin-left:auto;margin-right:auto;padding-left:var(--space-xl);padding-right:var(--space-xl);width:100%}.row{display:flex;flex-wrap:wrap;margin-left:calc(var(--space-sm)*-1);margin-right:calc(var(--space-sm)*-1)}.col-12,.col-lg-6,.col-md-6,.col-xl-3{padding-left:var(--space-sm);padding-right:var(--space-sm);position:relative;width:100%}.g-4{--bs-gutter-y:var(--space-lg);--bs-gutter-x:var(--space-lg)}.mb-4{margin-bottom:var(--space-lg)!important}.mb-6{margin-bottom:var(--space-2xl)!important}.status-card{background:linear-gradient(135deg,var(--white) 0,#fafbfc 100%);border:1px solid var(--border-color);border-radius:0;box-shadow:var(--shadow-md);overflow:hidden;padding:var(--space-lg);position:relative;transition:all var(--transition-base)}.status-card:before{background:var(--blue-primary);content:"";height:4px;left:0;position:absolute;right:0;top:0}.status-card-pending:before{background:var(--orange-warning)}.status-card-approved:before{background:var(--green-success)}.status-card-flagged:before{background:var(--red-danger)}.status-card-info:before{background:var(--blue-primary)}.status-card-critical:before{background:var(--red-bright)}.status-card-high:before{background:var(--yellow-warning)}.status-card-medium:before{background:var(--blue-info)}.status-card-gps:before{background:var(--red-bright)}.status-card-network:before{background:var(--amber-warning)}.status-card-beacon:before{background:var(--purple-security)}.status-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.status-card-title{color:var(--text-muted);font-size:var(--font-sm);font-weight:600;letter-spacing:.5px;margin-bottom:var(--space-sm);text-transform:uppercase}.status-card-value{color:var(--text-dark);font-size:var(--font-4xl);font-weight:700;line-height:1;margin:0}.status-card-pending .status-card-value{color:var(--orange-warning)}.status-card-approved .status-card-value{color:var(--green-success)}.status-card-flagged .status-card-value{color:var(--red-danger)}.status-card-info .status-card-value{color:var(--blue-primary)}.status-card-critical .status-card-value{color:var(--red-bright)}.status-card-high .status-card-value{color:var(--yellow-warning)}.status-card-medium .status-card-value{color:var(--blue-info)}.status-card-gps .status-card-value{color:var(--red-bright)}.status-card-network .status-card-value{color:var(--amber-warning)}.status-card-beacon .status-card-value{color:var(--purple-security)}.status-card-description{color:var(--text-muted);font-size:var(--font-sm);line-height:1.4;margin:var(--space-sm) 0}.status-card-action{margin-top:var(--space-md)}.filters-section{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-2xl)}.filters-section__header{align-items:center;background:var(--gray-light);border-bottom:1px solid var(--border-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;justify-content:space-between;padding:var(--space-lg) var(--space-xl)}.filters-section__title{align-items:center;color:var(--text-dark);display:flex;font-size:var(--font-lg);font-weight:600;gap:var(--space-sm);margin:0}.filters-section__title i{color:var(--blue-primary)}.filters-section__body{padding:var(--space-xl)}.collapse.show{display:block}.collapse:not(.show){display:none}.form-label{font-size:var(--font-sm);font-weight:500}.form-control,.form-select{background:var(--white);border:2px solid var(--border-color);color:var(--text-dark);font-size:var(--font-sm);transition:all var(--transition-base)}.form-control:focus,.form-select:focus{box-shadow:0 0 0 3px rgba(52,152,219,.1)}.form-control::placeholder{color:var(--gray-dark)}.input-group{align-items:center;display:flex;width:100%}.input-group-text{background:var(--gray-light);border:2px solid var(--border-color);border-radius:var(--radius-md) 0 0 var(--radius-md);border-right:none;color:var(--gray-dark);padding:var(--space-sm) var(--space-md)}.input-group .form-control{border-radius:0 var(--radius-md) var(--radius-md) 0}.row.g-3{gap:var(--space-md)}.col-lg-2,.col-lg-3{flex:1;min-width:200px}.card-professional{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-2xl)}#reenrollmentSection .card-professional,#securityFlaggedSection .card-professional{margin-bottom:0}#reenrollmentSection .card-professional__body,#securityFlaggedSection .card-professional__body{padding:0 var(--space-xs) 0 calc(var(--space-xs) + 4px)}.card-professional__header{background:var(--gray-light);border-bottom:1px solid var(--border-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-lg) var(--space-xl)}.card-professional__title{color:var(--text-dark);font-size:var(--font-lg);font-weight:600;margin:0 0 var(--space-xs) 0}.card-professional__body{padding:0}.card-professional__footer{background:var(--gray-light);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:1px solid var(--border-color);padding:var(--space-lg) var(--space-xl)}.table-responsive{overflow-x:auto}.table-modern{border-collapse:collapse;table-layout:fixed;width:100%}.table-modern__header{background:linear-gradient(135deg,var(--slate-dark) 0,var(--slate-medium) 100%);box-shadow:0 2px 4px rgba(0,0,0,.1);color:var(--white)}.table-modern__header th{border-bottom:2px solid var(--blue-primary);font-size:var(--font-sm);font-weight:600;padding:var(--space-md) var(--space-lg);text-align:left}.table-modern__header th i{color:var(--blue-light);margin-left:var(--space-xs)}.table-modern__header th.table-modern__actions{text-align:center}.table-modern__sortable{cursor:pointer;transition:all var(--transition-base);user-select:none}.table-modern__sortable:hover{background:hsla(0,0%,100%,.1)}.table-modern tbody tr{border-bottom:1px solid var(--border-color);transition:background-color var(--transition-base)}.table-modern tbody tr:hover{background:var(--gray-lightest)}.table-modern tbody td{color:var(--text-dark);font-size:var(--font-sm);padding:var(--space-md) var(--space-lg)}.table-modern__checkbox{text-align:center;width:40px}.table-modern td:nth-child(2),.table-modern th:nth-child(2){min-width:180px;text-align:left;width:180px}.table-modern td:nth-child(3),.table-modern th:nth-child(3){min-width:160px;text-align:left;width:160px}.table-modern td:nth-child(4),.table-modern th:nth-child(4){min-width:100px;padding-right:12px;text-align:right;width:100px}.table-modern td:nth-child(5),.table-modern th:nth-child(5){min-width:120px;text-align:center;width:120px}.table-modern td:nth-child(6),.table-modern th:nth-child(6){min-width:110px;text-align:center;width:110px}.table-modern td:nth-child(7),.table-modern th:nth-child(7){min-width:120px;text-align:left;width:120px}.table-modern__actions{text-align:center;width:140px}.employee-info strong{color:var(--text-dark);font-weight:600}.employee-info small{color:var(--text-muted)}.status-badge{border-radius:999px;display:inline-block;font-size:var(--font-xs);font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.status-badge-pending{background:rgba(230,126,34,.1);color:var(--orange-warning)}.status-badge-approved{background:rgba(39,174,96,.1);color:var(--green-success)}.status-badge-rejected{background:rgba(231,76,60,.1);color:var(--red-danger)}.quality-badge{display:inline-block}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--font-sm);font-weight:500;gap:var(--space-xs);justify-content:center;padding:var(--space-sm) var(--space-lg);text-decoration:none;transition:all var(--transition-base)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-sm{font-size:var(--font-xs);padding:.375rem .875rem}.btn-primary{background:linear-gradient(135deg,var(--blue-primary) 0,var(--blue-darker) 100%);box-shadow:var(--shadow-button);color:var(--white)}.btn-primary:hover{box-shadow:0 6px 16px rgba(52,152,219,.4);transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,var(--green-success) 0,var(--green-darker) 100%);box-shadow:0 4px 12px rgba(39,174,96,.3);color:var(--white)}.btn-success:hover{box-shadow:0 6px 16px rgba(39,174,96,.4);transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,var(--red-danger) 0,var(--red-darker) 100%);box-shadow:0 4px 12px rgba(231,76,60,.3);color:var(--white)}.btn-danger:hover{box-shadow:0 6px 16px rgba(231,76,60,.4);transform:translateY(-1px)}.btn-outline-primary{background:transparent;border:2px solid var(--blue-primary);color:var(--blue-primary)}.btn-outline-primary:hover{background:var(--blue-primary);color:var(--white);transform:translateY(-1px)}.btn-outline-success{background:transparent;border:2px solid var(--green-success);color:var(--green-success)}.btn-outline-success:hover{background:var(--green-success);color:var(--white)}.btn-outline-danger{background:transparent;border:2px solid var(--red-danger);color:var(--red-danger)}.btn-outline-danger:hover{background:var(--red-danger);color:var(--white)}.btn-outline-secondary{background:transparent;border:2px solid var(--gray-medium);color:var(--gray-dark)}.btn-outline-secondary:hover{background:var(--gray-medium);color:var(--white)}.btn-outline-warning{background:transparent;border:2px solid var(--orange-warning);color:var(--orange-warning)}.btn-outline-warning:hover{background:var(--orange-warning);color:var(--white)}.btn-outline-info{background:transparent;border:2px solid var(--blue-info);color:var(--blue-info)}.btn-outline-info:hover{background:var(--blue-info);color:var(--white)}.btn-outline-purple{background:transparent;border:2px solid var(--purple-security);color:var(--purple-security)}.btn-outline-purple:hover{background:var(--purple-security);color:var(--white)}.btn-group{display:inline-flex;gap:.25rem}.btn-group-sm .btn{font-size:var(--font-xs);padding:.25rem .5rem}.pagination{display:flex;gap:.25rem;list-style:none;margin:0;padding:0}.page-item .page-link{border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-dark);cursor:pointer;display:block;padding:var(--space-sm) var(--space-md);text-decoration:none;transition:all var(--transition-base)}.page-item.active .page-link{background:var(--blue-primary);border-color:var(--blue-primary);color:var(--white)}.page-item.disabled .page-link{cursor:not-allowed;opacity:.5;pointer-events:none}.page-item:not(.disabled):not(.active) .page-link:hover{background:var(--gray-lightest)}.logout-modal-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.6);bottom:0;display:none;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.logout-modal-overlay.show{display:flex}.logout-modal{animation:modalSlideIn .3s ease;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:400px;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;background:var(--gray-light);border-bottom:1px solid var(--border-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;justify-content:space-between;padding:var(--space-lg) var(--space-xl)}.modal-header h3,.modal-title{color:var(--text-dark);flex:1;font-size:var(--font-xl);margin:0}.modal-body{padding:var(--space-xl)}.modal-body p{color:var(--text-dark);margin:0 0 var(--space-md) 0}.security-modal-employee-info{background:var(--gray-light);border-radius:var(--radius-md);margin-bottom:var(--space-lg);padding:var(--space-md)}.security-modal-info-row{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xs)}.security-modal-info-row:last-child{margin-bottom:0}.security-modal-label{color:var(--text-dark);font-weight:600;min-width:5rem}.security-modal-value{color:var(--text-medium)}.security-modal-alert{border-radius:var(--radius-md);margin-bottom:var(--space-md);padding:var(--space-md)}.security-modal-alert:last-child{margin-bottom:0}.security-modal-alert-danger{background:#fee;border:1px solid #fcc}.security-modal-alert-info{align-items:flex-start;background:#fef8e7;border:1px solid #f9e79f;display:flex;gap:var(--space-sm)}.security-modal-alert-info>i{color:#f39c12;flex-shrink:0;font-size:1.1rem;margin-top:.2rem}.security-modal-alert-info>span{color:var(--text-dark);flex:1;line-height:1.5}.security-modal-alert-header{align-items:flex-start;display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.security-modal-alert-header>i{color:#c0392b;flex-shrink:0;font-size:1.1rem;margin-top:.2rem}.security-modal-alert-header>span{color:#c0392b;flex:1;font-weight:600;line-height:1.5}.security-modal-failures-list{list-style:none;margin:0;padding:0}.security-modal-failures-list>li{align-items:flex-start;color:#c0392b;display:flex;gap:var(--space-sm);padding:var(--space-sm) 0}.security-modal-failures-list>li>i{flex-shrink:0;font-size:1rem;margin-top:.2rem;text-align:center;width:1.25rem}.security-modal-failures-list>li>span{flex:1;line-height:1.5}.security-modal-stats{margin:var(--space-md) 0}.security-modal-stat{display:flex;justify-content:space-between;padding:var(--space-xs) 0}.security-modal-stat-label{color:var(--text-dark);font-weight:500}.security-modal-stat-value{color:var(--text-dark);font-weight:600}.security-modal-stat-danger{color:#c0392b}.security-modal-failures-summary{background:rgba(192,57,43,.1);border-radius:var(--radius-sm);color:#c0392b;font-size:.9rem;margin:var(--space-sm) 0 0 0;padding:var(--space-sm)}.modal-actions{border-top:1px solid var(--border-color);display:flex;gap:var(--space-md);justify-content:flex-end;padding:var(--space-lg) var(--space-xl)}.logout-modal .btn-cancel,.logout-modal .btn-logout{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-sm);font-weight:500;min-width:100px;padding:var(--space-sm) var(--space-xl);transition:all var(--transition-base)}.logout-modal .btn-cancel{background:var(--gray-light);border:1px solid var(--border-color);color:var(--text-dark)}.logout-modal .btn-cancel:hover{background:#e9ecef;color:var(--text-dark)}.logout-modal .btn-logout{background:var(--red-danger);color:#fff}.logout-modal .btn-logout:hover{background:var(--red-darker)}.logout-modal .btn-cancel:focus,.logout-modal .btn-logout:focus{outline:2px solid var(--blue-primary);outline-offset:2px}.timesheet-modal-content{display:flex;flex-direction:column;max-height:90vh;max-width:1450px;width:96%}.timesheet-modal-content .modal-body{max-height:calc(90vh - 200px);overflow-x:auto;overflow-y:auto}.modal-close-btn{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:var(--font-lg);padding:var(--space-xs);position:absolute;right:var(--space-md);top:var(--space-md);transition:all .2s ease;z-index:10}.modal-close-btn:hover{background:var(--gray-light);color:var(--text-dark)}.timesheet-modal-data{padding:var(--space-sm) 0}.timesheet-info-section{border-bottom:1px solid var(--border-color);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg)}.timesheet-info-section h4{color:var(--text-dark);font-size:var(--font-lg);margin:0 0 var(--space-xs) 0}.timesheet-meta-section{border-bottom:1px solid var(--border-color);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg)}.timesheet-meta-section p{color:var(--text-dark);font-size:var(--font-sm);margin:var(--space-xs) 0}.timesheet-entries-section h5{color:var(--text-dark);font-size:var(--font-md);margin:0 0 var(--space-md) 0}.timesheet-entries-table{border-collapse:collapse;margin-top:var(--space-md);width:100%}.timesheet-entries-table td,.timesheet-entries-table th{border-bottom:1px solid var(--border-color);font-size:var(--font-sm);padding:var(--space-sm);text-align:left}.timesheet-entries-table th{background:var(--gray-light);color:var(--text-dark);font-weight:600}.timesheet-entries-table tbody tr:hover{background:var(--gray-lighter)}.timesheet-modal-content .btn-approve,.timesheet-modal-content .btn-reject{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--font-sm);font-weight:500;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);transition:all .2s ease}.timesheet-modal-content .btn-approve{background:var(--green-success);color:#fff}.timesheet-modal-content .btn-approve:hover{background:#28a745}.timesheet-modal-content .btn-reject{background:var(--red-danger);color:#fff}.timesheet-modal-content .btn-reject:hover{background:var(--red-darker)}.btn-approve.disabled,.btn-reject.disabled,.timesheet-modal-content .btn-approve:disabled,.timesheet-modal-content .btn-reject:disabled{cursor:not-allowed;filter:grayscale(50%);opacity:.5}.modal-header-content{align-items:center;display:flex;flex:1;justify-content:space-between}.modal-header-badges{align-items:center;display:flex;gap:var(--space-sm)}.quality-score-badge{border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:600;padding:var(--space-xs) var(--space-md)}.quality-score-badge.quality-excellent{background:var(--green-success);color:#fff}.quality-score-badge.quality-good{background:var(--orange-warning);color:#fff}.quality-score-badge.quality-poor{background:var(--red-danger);color:#fff}.status-badge-modal{border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:600;padding:var(--space-xs) var(--space-md);text-transform:uppercase}.status-badge-modal.status-pending{background:var(--orange-warning);color:#fff}.status-badge-modal.status-approved{background:var(--green-success);color:#fff}.status-badge-modal.status-rejected{background:var(--red-danger);color:#fff}.status-badge-modal.status-flagged{background:var(--orange-warning);color:#fff}.summary-cards-container,.summary-cards-grid{margin-bottom:var(--space-lg)}.summary-cards-container{background:transparent;display:flex;flex-wrap:nowrap;gap:var(--space-sm);padding:var(--space-xs)}.summary-card{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;flex:1;gap:var(--space-xs);min-width:0;padding:var(--space-xs) var(--space-sm);transition:all .2s ease}.summary-card:hover{border-color:var(--blue-primary);box-shadow:0 2px 4px rgba(0,0,0,.08)}.summary-card-icon{font-size:1.1rem;opacity:.8}.summary-card-primary .summary-card-icon{color:var(--blue-primary)}.summary-card-success .summary-card-icon{color:var(--green-success)}.summary-card-warning .summary-card-icon{color:var(--orange-warning)}.summary-card-danger .summary-card-icon{color:var(--red-danger)}.summary-card-content{display:flex;flex-direction:column;min-width:0}.summary-card-label{color:var(--text-muted);font-size:.65rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}.summary-card-value{color:var(--text-dark);font-size:1.1rem;font-weight:700}.summary-card-subtext{color:var(--text-muted);font-size:.6rem;white-space:nowrap}.employee-info-card{background:linear-gradient(135deg,var(--slate-dark) 0,var(--slate-medium) 100%);border-radius:var(--radius-md);box-shadow:0 2px 4px rgba(0,0,0,.1);color:#fff;margin-bottom:var(--space-md);padding:var(--space-md)}.employee-name{color:#fff;font-size:1.25rem;font-weight:700;margin:0 0 var(--space-sm) 0}.employee-details{display:flex;flex-wrap:wrap;gap:var(--space-lg)}.employee-details p{align-items:center;color:hsla(0,0%,100%,.95);display:flex;font-size:1rem;font-weight:500;gap:var(--space-xs);margin:0}.employee-details i{font-size:1rem;opacity:.8}.approval-metadata-section{border-top:1px solid hsla(0,0%,100%,.2);margin-top:var(--space-md);padding-top:var(--space-md)}.approval-metadata-title{align-items:center;color:hsla(0,0%,100%,.9);display:flex;font-size:1rem;font-weight:600;gap:var(--space-xs);margin:0 0 var(--space-sm) 0}.approval-metadata-content{display:flex;flex-direction:column;gap:var(--space-xs)}.approval-metadata-content p{align-items:center;color:hsla(0,0%,100%,.95);display:flex;font-size:.95rem;gap:var(--space-xs);margin:0}.approval-metadata-content i{font-size:.9rem;min-width:16px;opacity:.8}.approval-metadata-content strong{font-weight:600;margin-right:var(--space-xs)}.approval-notes-empty .text-muted{color:hsla(0,0%,100%,.5)!important;font-style:italic}.section-title{align-items:center;border-bottom:1px solid var(--border-color);color:var(--text-dark);display:flex;font-size:var(--font-md);font-weight:600;gap:var(--space-xs);margin-bottom:var(--space-sm);padding-bottom:var(--space-xs)}.section-title i{color:var(--slate-medium);font-size:.9rem}.entries-section-wrapper{border-top:1px solid var(--border-color);margin-bottom:var(--space-lg);padding-top:var(--space-sm)}.professional-entries-table{background:#fff;border-collapse:collapse;border-radius:var(--radius-sm);box-shadow:0 1px 2px rgba(0,0,0,.05);font-size:.85rem;overflow:hidden;width:100%}.professional-entries-table thead{background:linear-gradient(135deg,var(--slate-dark) 0,var(--slate-medium) 100%);color:#fff}.professional-entries-table th{font-size:.7rem;font-weight:600;letter-spacing:.3px;padding:var(--space-sm);text-align:left;text-transform:uppercase}.professional-entries-table td{border-bottom:1px solid #f0f0f0;font-size:.8rem;padding:var(--space-sm)}.professional-entries-table tbody tr:hover{background:#fafafa}.professional-entries-table td:first-child,.professional-entries-table th:first-child{min-width:105px;white-space:nowrap;width:105px}.professional-entries-table td:nth-child(2),.professional-entries-table th:nth-child(2){min-width:130px;white-space:nowrap;width:130px}.professional-entries-table td:nth-child(3),.professional-entries-table th:nth-child(3){min-width:85px;padding-right:12px;text-align:right;width:85px}.professional-entries-table td:nth-child(4),.professional-entries-table th:nth-child(4){min-width:175px;text-align:center;width:175px}.professional-entries-table td:nth-child(5),.professional-entries-table th:nth-child(5){min-width:240px;text-align:center;width:240px}.professional-entries-table td:nth-child(6),.professional-entries-table th:nth-child(6){min-width:135px;text-align:center;width:135px}.professional-entries-table td:nth-child(7),.professional-entries-table th:nth-child(7){min-width:80px;padding-right:12px;text-align:right;white-space:nowrap;width:80px}.professional-entries-table td:nth-child(8){max-width:310px;min-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-date{color:var(--text-dark);font-weight:600}.entry-day{color:var(--text-muted);font-size:var(--font-xs);text-transform:uppercase}.entry-time{align-items:center;color:var(--text-dark);display:flex;gap:var(--space-xs)}.entry-hours{color:var(--slate-medium);font-weight:600}.security-cell-wrapper{align-items:center;display:flex;gap:6px;justify-content:center}.security-badges-only{align-items:center;display:flex;flex-wrap:nowrap;gap:3px}.security-badge{align-items:center;border-radius:3px;display:inline-flex;font-size:.65rem;font-weight:600;gap:2px;padding:2px 5px}.security-badge i{font-size:.7rem}.security-badge-verified{background:#dcfce7;color:#15803d}.security-badge-failed{background:#fee2e2;color:#dc2626}.security-badge-na{background:#fef3c7;color:#92400e;font-weight:500}.security-badge-none{background:var(--gray-light);color:var(--text-muted)}.recognition-cell-wrapper{align-items:center;display:flex;gap:6px;justify-content:center}.recognition-badges-only{align-items:center;display:flex;flex-wrap:nowrap;gap:3px}.recognition-badge{align-items:center;border-radius:3px;display:inline-flex;font-size:.65rem;font-weight:600;gap:3px;justify-content:center;min-width:90px;padding:2px 5px}.recognition-badge i{font-size:.7rem}.recognition-badge-auto,.recognition-badge-facial_recognition{background:#dbeafe;color:#1e40af}.recognition-badge-manual,.recognition-badge-manual_entry{background:#e5e7eb;color:#6b7280}.confidence-badge{background:var(--green-success);border-radius:3px;color:#fff;display:inline-block;font-size:.65rem;font-weight:600;min-width:45px;padding:2px 5px;text-align:center}.confidence-badge-na{background:#e5e7eb;color:#6b7280;font-style:italic}.recognition-badge-confirmed{background:#fef3c7;color:#92400e}.recognition-badge-mixed{background:#fff7ed;color:#c2410c}.recognition-badge-denied{background:#fee2e2;border-color:#fca5a5;color:#dc2626;font-weight:600}.recognition-badge-denied i{color:#dc2626}.recognition-badge-verified{background:#dcfce7;border:1px solid #86efac;color:#15803d}.recognition-badge-verified i{color:#15803d}.recognition-badge-low-confidence{background:#fee2e2;border:1px solid #fca5a5;color:#dc2626}.recognition-badge-low-confidence i{color:#dc2626}.confidence-badge-warning{background:#fbbf24;color:#fff}.confidence-badge-excellent{background:var(--green-success);color:#fff}.confidence-badge-low{background:#ef4444;color:#fff}.btn-security-details{align-items:center;background:transparent;border:1px solid rgba(0,0,0,.12);border-radius:3px;color:var(--blue-primary);cursor:pointer;display:inline-flex;font-size:.7rem;gap:2px;outline:none;padding:4px 6px;transition:all var(--transition-fast)}.btn-security-details:hover{background:rgba(30,64,175,.08);border-color:var(--blue-primary);color:var(--blue-primary);transform:scale(1.1)}.btn-security-details:focus{outline:2px solid var(--blue-primary);outline-offset:2px}.btn-security-details i{font-size:.7rem}.security-details-modal{align-items:center;animation:fadeIn .2s ease;backdrop-filter:blur(4px);background:rgba(0,0,0,.7);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}.security-details-content{animation:slideUp .3s ease;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:85vh;max-width:700px;overflow:hidden;width:90%}.security-details-header{align-items:center;background:linear-gradient(135deg,var(--slate-dark),var(--slate-medium));border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--space-lg)}.security-details-header h3{color:var(--white);font-size:var(--font-xl);font-weight:600;margin:0}.security-details-close{align-items:center;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:50%;color:var(--white);cursor:pointer;display:flex;font-size:var(--font-lg);height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.security-details-close:hover{background:hsla(0,0%,100%,.2);transform:scale(1.1)}.security-details-body{flex:1;overflow-y:auto;padding:var(--space-lg)}.security-event-section{background:var(--gray-lightest);border-radius:var(--radius-md);margin-bottom:var(--space-lg);padding:var(--space-md)}.security-event-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:var(--space-md);padding-bottom:var(--space-sm)}.security-event-header h4{color:var(--slate-dark);font-size:var(--font-lg);font-weight:600;margin:0}.security-event-time{color:var(--text-muted);font-size:var(--font-sm);font-weight:500}.security-checks-list{display:flex;flex-direction:column;gap:var(--space-sm)}.security-check-item{align-items:center;background:var(--white);border:2px solid var(--border-color);border-radius:var(--radius-sm);display:grid;gap:var(--space-md);grid-template-columns:auto 1fr auto;padding:var(--space-sm) var(--space-md)}.security-check-item-passed{background:#f0fdf4;border-color:#86efac}.security-check-item-failed{background:#fef2f2;border-color:#fca5a5}.security-check-item-na{background:var(--gray-lightest);border-color:var(--gray-medium)}.security-check-item-icon{font-size:var(--font-lg);text-align:center;width:24px}.security-check-item-passed .security-check-item-icon{color:var(--green-success)}.security-check-item-failed .security-check-item-icon{color:var(--red-danger)}.security-check-item-na .security-check-item-icon{color:var(--text-muted)}.security-check-item-label{color:var(--slate-dark);font-size:var(--font-base);font-weight:500}.security-check-item-status{align-items:center;border-radius:var(--radius-sm);display:flex;font-size:var(--font-sm);font-weight:600;gap:4px;padding:3px 8px}.security-check-item-status-passed{background:#dcfce7;color:#15803d}.security-check-item-status-failed{background:#fee2e2;color:#dc2626}.security-check-item-status-na{background:var(--gray-light);color:var(--text-muted)}.security-check-item-details{color:var(--text-muted);font-size:var(--font-sm);grid-column:2/4;margin-top:var(--space-xs)}.security-assessment{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #bae6fd;border-radius:var(--radius-md);padding:var(--space-lg)}.security-assessment h4{color:var(--slate-dark);font-size:var(--font-lg);font-weight:600;margin:0 0 var(--space-md) 0}.security-assessment-badge{align-items:center;border-radius:var(--radius-md);display:flex;font-size:var(--font-base);font-weight:600;gap:var(--space-sm);padding:var(--space-md)}.security-assessment-badge i{font-size:var(--font-xl)}.security-assessment-badge-passed{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #86efac;color:#15803d}.security-assessment-badge-failed{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #fca5a5;color:#dc2626}.btn-recognition-details{align-items:center;background:transparent;border:1px solid rgba(0,0,0,.12);border-radius:3px;color:var(--blue-primary);cursor:pointer;display:inline-flex;font-size:.7rem;gap:2px;outline:none;padding:4px 6px;transition:all var(--transition-fast)}.btn-recognition-details:hover{background:rgba(30,64,175,.08);border-color:var(--blue-primary);color:var(--blue-primary);transform:scale(1.1)}.btn-recognition-details:focus{outline:2px solid var(--blue-primary);outline-offset:2px}.btn-recognition-details i{font-size:.7rem}.recognition-details-modal{align-items:center;animation:fadeIn .2s ease;backdrop-filter:blur(4px);background:rgba(0,0,0,.7);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}.recognition-details-content{animation:slideUp .3s ease;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:85vh;max-width:700px;overflow:hidden;width:90%}.recognition-details-header{align-items:center;background:linear-gradient(135deg,var(--slate-dark),var(--slate-medium));border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--space-lg)}.recognition-details-header h3{color:var(--white);font-size:var(--font-xl);font-weight:600;margin:0}.recognition-details-close{align-items:center;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:50%;color:var(--white);cursor:pointer;display:flex;font-size:var(--font-lg);height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.recognition-details-close:hover{background:hsla(0,0%,100%,.2);transform:scale(1.1)}.recognition-details-body{flex:1;overflow-y:auto;padding:var(--space-lg)}.recognition-event-section{background:var(--gray-lightest);border-radius:var(--radius-md);margin-bottom:var(--space-lg);padding:var(--space-md)}.recognition-event-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:var(--space-md);padding-bottom:var(--space-sm)}.recognition-event-header h4{color:var(--slate-dark);font-size:var(--font-lg);font-weight:600;margin:0}.recognition-details-container{display:flex;flex-direction:column;gap:var(--space-sm)}.recognition-detail-row{align-items:center;background:var(--white);border-radius:var(--radius-sm);display:flex;gap:var(--space-sm);padding:var(--space-sm)}.recognition-detail-row-verified{background:#f0fdf4;border:2px solid #86efac}.recognition-detail-row-verified .recognition-icon{color:#15803d}.recognition-detail-row-confirmed{background:#fffbeb;border:2px solid #fcd34d}.recognition-detail-row-confirmed .recognition-icon{color:#b45309}.recognition-detail-row-manual{background:var(--gray-lightest);border:2px solid var(--gray-medium)}.recognition-detail-row-manual .recognition-icon{color:var(--text-muted)}.recognition-detail-row-denied{background:#fef2f2;border:2px solid #fca5a5}.recognition-detail-row-denied .recognition-icon{color:#dc2626}.recognition-detail-row-low-confidence{background:#fef2f2;border:2px solid #fca5a5}.recognition-detail-row-low-confidence .recognition-icon{color:#dc2626}.recognition-icon{color:var(--blue-primary);font-size:var(--font-base);width:24px}.recognition-label{color:var(--slate-dark);font-weight:600;min-width:100px}.recognition-value{color:var(--text-dark);font-weight:500}.recognition-assessment{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #bae6fd;border-radius:var(--radius-md);padding:var(--space-lg)}.recognition-assessment h4{color:var(--slate-dark);font-size:var(--font-lg);font-weight:600;margin:0 0 var(--space-md) 0}.recognition-assessment-badge{border-radius:var(--radius-md);display:block;font-size:var(--font-base);font-weight:600;padding:var(--space-md)}.recognition-assessment-badge>i:first-child{font-size:var(--font-xl);margin-right:var(--space-sm);vertical-align:middle}.recognition-assessment-badge-same{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #86efac;color:#15803d}.recognition-assessment-badge-mixed{background:linear-gradient(135deg,#fff7ed,#fed7aa);border:2px solid #fdba74;color:#c2410c}.recognition-assessment-badge-excellent{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #86efac;color:#15803d}.recognition-assessment-badge-warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid #fcd34d;color:#b45309}.recognition-assessment-badge-review{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #fca5a5;color:#dc2626}.recognition-assessment-badge-manual{background:linear-gradient(135deg,var(--gray-lightest),#f1f5f9);border:2px solid var(--gray-medium);color:var(--text-muted)}.recognition-assessment-header{align-items:center;display:flex;flex-direction:row;gap:var(--space-sm)}.recognition-assessment-header i{flex-shrink:0;font-size:var(--font-xl)}.recognition-assessment-label{font-size:inherit;font-weight:600}.recognition-assessment-note{margin-top:var(--space-sm);opacity:.9}.recognition-assessment-confidence,.recognition-assessment-note{color:inherit;display:block;font-size:var(--font-sm);font-weight:400}.recognition-assessment-confidence{margin-top:var(--space-xs);opacity:.85}.recognition-assessment-action{border-top:1px solid rgba(0,0,0,.1);color:inherit;display:block;font-size:var(--font-sm);font-weight:400;margin-top:var(--space-sm);padding-top:var(--space-sm)}.recognition-assessment-action i{color:#f59e0b;margin-right:var(--space-xs)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.photos-container{align-items:center;display:flex}.photo-thumbnails{display:flex;flex-wrap:nowrap;gap:6px;justify-content:center;min-width:106px}.photo-thumbnail{border:2px solid var(--border-color);border-radius:4px;cursor:pointer;height:50px;overflow:hidden;position:relative;transition:transform .2s ease,box-shadow .2s ease;width:50px}.photo-thumbnail:hover{border-color:var(--blue-primary);box-shadow:0 4px 12px rgba(0,0,0,.15);transform:scale(1.1)}.thumbnail-img{display:block;height:100%;object-fit:cover;width:100%}.photo-placeholder{background:#f9fafb;border:2px dashed #d1d5db;border-radius:4px;height:50px;position:relative;width:50px}.photo-placeholder,.photo-placeholder-dot{align-items:center;display:flex;justify-content:center}.photo-placeholder-dot{background:#ef4444;border:2px solid #fff;border-radius:50%;color:#fff;font-size:.7rem;font-weight:700;height:16px;position:absolute;top:6px;width:16px}.photo-placeholder-dot:before{content:"×"}.photo-placeholder-dot-clock-in{left:6px}.photo-placeholder-dot-clock-out{right:6px}.photo-label{border:2px solid hsla(0,0%,100%,.9);border-radius:50%;cursor:help;height:8px;position:absolute;top:6px;width:8px}.photo-label-clock-in{background:#22c55e;left:6px}.photo-label-clock-out{background:#ef4444;right:6px}.photo-lightbox{align-items:center;background:rgba(0,0,0,.9);bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:9999}.photo-lightbox.visible{opacity:1}.photo-lightbox.closing{opacity:0}.photo-lightbox-content{background:#fff;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.4);display:flex;flex-direction:column;max-height:90vh;max-width:90vw}.photo-lightbox-header{align-items:center;background:var(--slate-dark);border-bottom:1px solid var(--border-color);border-radius:8px 8px 0 0;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.photo-lightbox-header h3{font-size:1.2rem;font-weight:600;margin:0}.photo-lightbox-close{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;padding:4px 8px;transition:background .2s ease}.photo-lightbox-close:hover{background:hsla(0,0%,100%,.1)}.photo-lightbox-image-container{align-items:center;display:flex;justify-content:center;max-height:calc(90vh - 60px);overflow:auto;padding:20px}.photo-lightbox-image{border-radius:4px;max-height:100%;max-width:100%;object-fit:contain}.validation-section-wrapper{border-top:1px solid var(--border-color);margin-bottom:var(--space-lg);padding-top:var(--space-md)}.validation-success{align-items:center;background:#dcfce7;border-radius:var(--radius-sm);color:#15803d;display:flex;font-size:.85rem;font-weight:600;gap:var(--space-xs);padding:var(--space-sm)}.validation-success i{font-size:1rem}.issues-list{border-radius:var(--radius-sm);box-shadow:0 1px 2px rgba(0,0,0,.05);margin-bottom:var(--space-sm);overflow:hidden}.issues-header{align-items:center;display:flex;font-size:.8rem;font-weight:600;gap:var(--space-xs);padding:var(--space-sm)}.issues-header-error{background:#fee2e2;color:#dc2626}.issues-header-warning{background:#fef3c7;color:#92400e}.issues-items{background:#fff;list-style:none;margin:0;padding:0}.issue-item{border-bottom:1px solid #f5f5f5;font-size:.8rem;padding:var(--space-sm)}.issue-item:last-child{border-bottom:none}.issue-item-info{background:#f0f9ff;border-bottom:1px solid #dbeafe;color:#475569;font-style:italic;opacity:.85;padding:var(--space-sm)}.issue-item-info .issue-message{align-items:center;display:flex;gap:8px}.issue-item-info .issue-text{color:#475569;font-weight:400}.issue-message{align-items:center;color:var(--text-dark);display:flex;gap:var(--space-xs)}.issue-field-badge{background:var(--gray-light);border-radius:3px;font-weight:600;padding:2px 4px}.issues-list-grouped .issues-category{border-left:3px solid var(--gray-light);margin-left:0;margin-top:var(--space-xs)}.issues-category-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #eee;color:var(--text-muted);display:flex;font-size:.75rem;font-weight:600;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm)}.issues-category-header i{font-size:.7rem;opacity:.8}.issues-category-data_quality{border-left-color:#6366f1}.issues-category-data_quality .issues-category-header{color:#4f46e5}.issues-category-shift_length{border-left-color:#f59e0b}.issues-category-shift_length .issues-category-header{color:#d97706}.issues-category-weekly_hours{border-left-color:#a855f7}.issues-category-weekly_hours .issues-category-header{color:#7c3aed}.issues-category-roster_alignment{border-left-color:#f59e0b}.issues-category-roster_alignment .issues-category-header{color:#d97706}.issues-category-compliance{border-left-color:#3b82f6}.issues-category-compliance .issues-category-header{color:#2563eb}.issues-category-other{border-left-color:#6b7280}.issues-category-other .issues-category-header{color:#4b5563}.issues-category .issues-items{background:#fafafa;list-style:none;margin:0;padding:0}.issues-category .issue-item{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;font-size:.8rem;gap:var(--space-sm);justify-content:space-between;padding:var(--space-sm) var(--space-sm);text-align:left}.issues-category .issue-item:last-child{border-bottom:none}.issues-category .issue-message{align-items:baseline;display:flex;flex:1;flex-direction:row;gap:6px;text-align:left}.issue-date-prefix{color:#6b7280;font-size:.75rem;font-weight:500;white-space:nowrap}.issue-text{color:var(--text-dark);font-weight:400}.issue-field-badge{background:#e5e7eb;border-radius:var(--radius-xs);color:#6b7280;display:inline-block;font-size:.65rem;font-weight:500;margin-left:auto;padding:2px 8px;white-space:nowrap}.compliance-section-wrapper{border-top:1px solid var(--border-color);margin-bottom:var(--space-md);padding-top:var(--space-md)}.compliance-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.compliance-card{background:#fff;border-radius:var(--radius-sm);box-shadow:0 1px 2px rgba(0,0,0,.05);flex:1;min-width:120px;padding:var(--space-sm);text-align:center}.compliance-card-icon{font-size:1.1rem;margin-bottom:2px;opacity:.7}.compliance-card-info .compliance-card-icon{color:var(--blue-primary)}.compliance-card-success .compliance-card-icon{color:var(--green-success)}.compliance-card-warning .compliance-card-icon{color:var(--orange-warning)}.compliance-card-label{color:var(--text-muted);font-size:.65rem;font-weight:600;letter-spacing:.3px;margin-bottom:2px;text-transform:uppercase}.compliance-card-value{color:var(--text-dark);font-size:var(--font-sm);font-weight:700}.compliance-flags-card{background:#fff;border-radius:var(--radius-sm);box-shadow:0 1px 2px rgba(0,0,0,.05);margin-top:var(--space-xs);padding:var(--space-sm);width:100%}.compliance-flags-card.compliance-flags-warning{background:#fffbeb;border:1px solid #fbbf24}.compliance-flags-card h6{color:var(--text-dark);font-size:.8rem;font-weight:600;margin:0 0 var(--space-xs) 0}.compliance-flags-card.compliance-flags-warning h6{color:#92400e}.compliance-flags-card.compliance-flags-warning h6 i{color:#f59e0b;margin-right:4px}.compliance-flags-list{display:flex;flex-wrap:wrap;gap:var(--space-xs);list-style:none;margin:0;padding:0}.compliance-flags-checklist{background:#fff;border:1px solid var(--border-color)}.compliance-flags-checklist h6{border-bottom:1px solid var(--border-color);color:var(--text-dark);margin-bottom:var(--space-sm);padding-bottom:var(--space-xs)}.compliance-flags-checklist h6 i{color:var(--blue-primary);margin-right:6px}.compliance-flags-checklist.has-warnings h6{color:#92400e}.compliance-flags-checklist.has-warnings h6 i{color:#f59e0b}.compliance-flags-checklist-list{display:flex;flex-direction:column;gap:var(--space-xs)}.compliance-flags-checklist-list .flag-item{align-items:center;border-radius:var(--radius-xs);display:grid;font-size:.8rem;gap:var(--space-sm);grid-template-columns:20px 1fr auto;padding:var(--space-xs) var(--space-sm)}.flag-item.flag-ok{background:#f8fafc;color:var(--text-muted)}.flag-item.flag-ok .flag-icon{color:var(--green-success)}.flag-item.flag-ok .flag-label{font-weight:500}.flag-item.flag-ok .flag-status{color:var(--green-success);font-size:.75rem}.flag-item.flag-warning{background:#fef3c7;color:#92400e}.flag-item.flag-warning .flag-icon{color:#f59e0b}.flag-item.flag-warning .flag-label{font-weight:600}.flag-item.flag-warning .flag-status{color:#d97706;font-size:.75rem;font-weight:600}@media (max-width:1024px){.timesheet-modal-content{max-width:95%;width:95%}.professional-entries-table{font-size:.75rem}.professional-entries-table td,.professional-entries-table th{padding:6px}}@media (max-width:768px){.timesheet-modal-content{max-height:100vh;max-width:100%;width:100%}.timesheet-modal-content .modal-body{max-height:calc(100vh - 180px);overflow-x:auto}.summary-cards-container{flex-direction:column}.professional-entries-table{font-size:.7rem}.professional-entries-table td,.professional-entries-table th{padding:4px}.employee-details{flex-direction:column;gap:var(--space-xs)}}.loading-overlay{align-items:center;backdrop-filter:blur(4px);background:hsla(0,0%,100%,.9);bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9998}.loading-spinner{animation:spin .8s linear infinite;border:4px solid var(--gray-light);border-radius:50%;border-top-color:var(--blue-primary);height:48px;margin:0 auto;width:48px}.loading-message{color:var(--text-muted);font-size:var(--font-sm);margin-top:var(--space-md)}#notification-container{max-width:400px;position:fixed;right:20px;top:20px;z-index:10000}.notification{animation:slideInRight .3s ease;background:var(--white);border-left:4px solid var(--blue-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin-bottom:var(--space-md);padding:var(--space-md) var(--space-lg)}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.notification.show{opacity:1;transform:translateX(0)}.notification.hide{animation:slideOutRight .3s ease forwards}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(120%)}}.notification.alert-success{background-color:#d4edda!important;border-left-color:#28a745}.alert-success{border-left-color:var(--green-success)}.alert-danger{border-left-color:var(--red-danger);padding:var(--space-md)}.alert-warning{border-left-color:var(--orange-warning);padding:var(--space-md)}#securitySummaryCards.row.g-3{margin:0;padding:0 var(--space-md)}#securitySummaryCards .alert{margin-bottom:0}#securitySummaryCards .alert .small,#securitySummaryCards .alert h6{margin-bottom:var(--space-sm)}#reenrollmentSummaryCards .col-lg-4{display:flex}#reenrollmentSummaryCards .alert{display:flex;flex-direction:column;margin-bottom:0;min-height:160px;width:100%}.alert-primary-soft{background-color:rgba(52,152,219,.1);border:1px solid rgba(52,152,219,.3);border-left:4px solid var(--blue-primary);color:var(--navy-dark)}.alert-primary-soft .badge{background-color:var(--blue-primary)!important}.alert-primary-soft .btn-outline-info{border-color:var(--blue-primary);color:var(--blue-primary)}.alert-primary-soft .btn-outline-info:hover{background-color:var(--blue-primary);color:#fff}.notification-icon{flex-shrink:0;font-size:1.25rem;margin-top:2px}.hidden{display:none!important}.d-flex,.flex-display{display:flex!important}.d-none{display:none!important}.justify-content-between{justify-content:space-between!important}.align-items-center{align-items:center!important}.gap-2{gap:var(--space-sm)!important}.gap-3{gap:var(--space-md)!important}.text-muted{color:var(--text-muted)!important}.text-center{text-align:center!important}.text-warning{color:var(--orange-warning)!important}.text-success{color:var(--green-success)!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:var(--space-xs)!important}.mb-2{margin-bottom:var(--space-sm)!important}.mb-3{margin-bottom:var(--space-md)!important}.mt-2{margin-top:var(--space-sm)!important}.mt-4{margin-top:var(--space-lg)!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:var(--space-sm)!important}.py-5{padding-bottom:var(--space-2xl)!important;padding-top:var(--space-2xl)!important}.p-0{padding:0!important}.small{font-size:var(--font-sm)}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.top-0{top:0!important}.start-100{left:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.badge{border-radius:999px;display:inline-block;font-size:var(--font-xs);font-weight:600;padding:.25rem .5rem}.rounded-pill{border-radius:999px!important}.bg-danger{background-color:var(--red-danger)!important}.bg-danger,.bg-warning{color:var(--white)!important}.bg-warning{background-color:var(--orange-warning)!important}.bg-success{background-color:var(--green-success)!important}.bg-info,.bg-success{color:var(--white)!important}.bg-info{background-color:var(--teal-info)!important}.bg-secondary{background-color:var(--gray-dark)!important;color:var(--white)!important}.fade{transition:opacity var(--transition-base)}.fade.show{opacity:1}.form-check-input{height:1.125rem;width:1.125rem}.form-check-input,input[type=checkbox]{accent-color:var(--blue-primary);cursor:pointer}@media (min-width:768px){.col-md-6{flex:0 0 50%;max-width:50%}}@media (min-width:992px){.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-6{flex:0 0 50%;max-width:50%}}@media (min-width:1200px){.col-xl-3{flex:0 0 25%;max-width:25%}}@media (max-width:767px){.dashboard-header .container-fluid{flex-direction:column;text-align:center}.dashboard-header__actions{justify-content:center;width:100%}.status-card{margin-bottom:var(--space-md)}.filters-section__body .row{flex-direction:column}.table-responsive{overflow-x:scroll}.card-professional__footer,.card-professional__header{padding:var(--space-md)}.logout-modal{margin:var(--space-md);width:95%}.logout-modal .modal-actions{flex-direction:column-reverse}.logout-modal .btn-cancel,.logout-modal .btn-logout{width:100%}}@media (min-width:768px) and (max-width:991px){.dashboard-header__title{font-size:var(--font-xl)}.status-card-value{font-size:var(--font-3xl)}}.login-container{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;justify-content:center;min-height:100vh;padding:var(--space-lg)}.login-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:400px;overflow:hidden;padding:3rem;position:relative;text-align:center;width:100%}.login-card:before{background:linear-gradient(90deg,#0056b3,#20c997);content:"";height:4px;left:0;position:absolute;right:0;top:0}.login-header{margin-bottom:var(--space-md)}.login-icon{animation:loginIconPulse 3s ease-in-out infinite;color:#004494;display:block;font-size:4rem;margin-bottom:var(--space-lg)}@keyframes loginIconPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.login-title{color:var(--text-dark);font-size:var(--font-2xl);font-weight:600;line-height:1.2;margin-bottom:var(--space-sm)}.login-subtitle{color:var(--text-muted);font-size:var(--font-lg);line-height:1.5;margin-bottom:var(--space-xl)}.login-actions{margin-bottom:var(--space-lg)}.login-button{align-items:center;background:linear-gradient(135deg,#0056b3,#004494);border:none;border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(66,133,244,.3);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--font-lg);font-weight:600;gap:var(--space-sm);justify-content:center;overflow:hidden;padding:var(--space-lg) var(--space-xl);position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.login-button:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.login-button:hover{background:linear-gradient(135deg,#004494,#003875);box-shadow:0 8px 20px rgba(0,86,179,.4);color:#fff;text-decoration:none;transform:translateY(-2px)}.login-button:hover:before{left:100%}.login-button:active{box-shadow:0 4px 12px rgba(66,133,244,.3);transform:translateY(0)}.login-footer{border-top:1px solid var(--border-color);margin-top:var(--space-lg);padding-top:var(--space-lg)}.security-indicators{text-align:center}.login-footer-text,.ssl-indicator{align-items:center;color:var(--text-muted);display:flex;font-size:var(--font-sm);justify-content:center}.ssl-indicator{margin-top:var(--space-xs)}@media (max-width:480px){.login-container{padding:var(--space-md)}.login-card{padding:var(--space-lg)}.login-title{font-size:var(--font-xl)}.login-subtitle{font-size:var(--font-base)}.login-icon{font-size:3rem}}.logout-container{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;justify-content:center;min-height:100vh;padding:var(--space-lg)}.logout-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:400px;overflow:hidden;padding:var(--space-xl);position:relative;text-align:center;width:100%}.logout-card:before{background:linear-gradient(90deg,#ef4444,#dc2626);content:"";height:4px;left:0;position:absolute;right:0;top:0}.logout-header{margin-bottom:var(--space-xl)}.logout-icon{animation:logoutIconBounce 2s ease-in-out infinite;color:#ef4444;display:block;font-size:4rem;margin-bottom:var(--space-lg)}@keyframes logoutIconBounce{0%,to{transform:scale(1) rotate(0deg)}50%{transform:scale(1.1) rotate(-5deg)}}.logout-title{color:var(--text-dark);font-size:var(--font-2xl);font-weight:600;line-height:1.2;margin-bottom:var(--space-sm)}.logout-subtitle{color:var(--text-muted);font-size:var(--font-lg);line-height:1.4;margin-bottom:0}.logout-spinner{display:flex;justify-content:center;margin:var(--space-xl) 0}.spinner{animation:spin 1s linear infinite;border:4px solid var(--border-color);border-radius:50%;border-top:4px solid #0056b3;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.logout-footer{border-top:1px solid var(--border-color);margin-top:var(--space-xl);padding-top:var(--space-lg)}.logout-footer-text{color:var(--text-muted);font-size:var(--font-sm)}@media (max-width:480px){.logout-container{padding:var(--space-md)}.logout-card{padding:var(--space-lg)}.logout-title{font-size:var(--font-xl)}.logout-subtitle{font-size:var(--font-base)}.logout-icon{font-size:3rem}}#dateRangePicker{background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23666' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='18' height='18' x='3' y='4' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px 16px;cursor:pointer;padding-right:35px}#dateRangePicker:focus{border-color:#2c3e50;box-shadow:0 0 0 .25rem rgba(44,62,80,.15);outline:0}.flatpickr-calendar{border:2px solid #2c3e50;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin-top:4px;z-index:9999}.flatpickr-months{background:linear-gradient(135deg,var(--slate-dark) 0,var(--slate-medium) 100%);border-radius:8px 8px 0 0}.flatpickr-current-month,.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month input.cur-year,.flatpickr-current-month span.cur-month,.flatpickr-months .flatpickr-month{color:#fff!important;font-weight:600}.flatpickr-next-month svg,.flatpickr-prev-month svg{fill:#fff}.flatpickr-next-month:hover svg,.flatpickr-prev-month:hover svg{fill:hsla(0,0%,100%,.8)}.flatpickr-day.endRange,.flatpickr-day.selected,.flatpickr-day.startRange{background:var(--blue-primary,#3498db);border-color:var(--blue-primary,#3498db);color:#fff;font-weight:600}.flatpickr-day.endRange:hover,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover{background:var(--blue-darker,#2980b9);border-color:var(--blue-darker,#2980b9)}.flatpickr-day.inRange{background:rgba(52,152,219,.1);border-color:transparent;box-shadow:-5px 0 0 rgba(52,152,219,.1),5px 0 0 rgba(52,152,219,.1)}.flatpickr-day.today,.flatpickr-day.today:hover{border-color:var(--color-primary,#2c3e50)}.flatpickr-day.today:hover{background:rgba(44,62,80,.1)}.flatpickr-day.disabled,.flatpickr-day.disabled:hover{color:rgba(0,0,0,.2);cursor:not-allowed}.flatpickr-weekday{color:rgba(0,0,0,.54);font-size:.85rem;font-weight:600}@media (max-width:768px){.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time{height:auto}}.rejection-modal{max-width:500px}.rejection-timesheet-info{background:var(--gray-light);border-radius:var(--radius-md);margin-bottom:var(--space-lg);padding:var(--space-md)}.rejection-timesheet-info p{font-size:var(--font-base);margin:var(--space-xs) 0}.rejection-timesheet-info strong{color:var(--text-dark);display:inline-block;min-width:100px}.form-group{margin-bottom:var(--space-lg)}.form-label{color:var(--text-dark);display:block;font-size:var(--font-base);font-weight:600;margin-bottom:var(--space-xs)}.form-control,.form-select{border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-base);padding:var(--space-sm) var(--space-md);transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-control:focus,.form-select:focus{border-color:var(--blue-primary);box-shadow:0 0 0 3px rgba(66,133,244,.1);outline:none}.form-control{font-family:inherit;resize:vertical}.form-text{display:block;font-size:var(--font-sm);margin-top:var(--space-xs)}.text-danger{color:var(--red-danger)}.modal-close,.text-muted{color:var(--text-muted)}.modal-close{background:transparent;border:none;cursor:pointer;font-size:var(--font-xl);line-height:1;padding:var(--space-xs);transition:color .2s ease}.modal-close:hover{color:var(--text-dark)}@media (max-width:576px){.rejection-modal{margin:var(--space-md);max-width:95%}.rejection-timesheet-info strong{display:block;min-width:auto}}.reenrollment-modal{max-height:80vh;max-width:600px;overflow-y:auto}.reenrollment-employee-card{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:var(--space-md);padding:var(--space-md);transition:opacity .3s ease,transform .3s ease}.reenrollment-employee-card.fade-out{opacity:0;transform:translateX(-20px)}.reenrollment-employee-card .card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--space-sm)}.reenrollment-employee-card .employee-info{flex:1}.reenrollment-employee-card .employee-name{color:var(--text-dark);font-size:var(--font-lg);font-weight:600;margin:0 0 var(--space-xs) 0}.reenrollment-employee-card .employee-position{color:var(--text-muted);font-size:var(--font-sm);margin:0}.priority-badge{border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:600;padding:var(--space-xs) var(--space-sm);text-transform:uppercase}.priority-badge.priority-critical{background-color:var(--red-danger);color:#fff}.priority-badge.priority-high{background-color:var(--orange-warning);color:#fff}.priority-badge.priority-medium{background-color:var(--blue-primary);color:#fff}.reenrollment-employee-card .card-details{margin-bottom:var(--space-md)}.reenrollment-employee-card .detail-row{border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:var(--space-xs) 0}.reenrollment-employee-card .detail-row:last-child{border-bottom:none}.reenrollment-employee-card .detail-label{color:var(--text-muted);font-weight:500}.reenrollment-employee-card .detail-value{color:var(--text-dark);font-weight:500}.reenrollment-employee-card .card-actions{display:flex;gap:var(--space-sm)}.btn-approve-reenrollment{background-color:var(--green-success);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;flex:1;font-weight:600;padding:var(--space-sm) var(--space-md);transition:background-color .2s ease}.btn-approve-reenrollment:hover:not(:disabled){background-color:#27ae60}.btn-approve-reenrollment:disabled{cursor:not-allowed;opacity:.6}.btn-dismiss-reenrollment{background-color:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;flex:1;font-weight:600;padding:var(--space-sm) var(--space-md);transition:all .2s ease}.btn-dismiss-reenrollment:hover:not(:disabled){background-color:var(--surface-hover);border-color:var(--text-muted)}.btn-dismiss-reenrollment:disabled{cursor:not-allowed;opacity:.6}.reenrollment-modal .empty-state{color:var(--text-muted);padding:var(--space-xl);text-align:center}.reenrollment-modal .empty-state i{color:var(--green-success);font-size:3rem;margin-bottom:var(--space-md)}.reenrollment-modal .empty-state p{font-size:var(--font-lg);margin:0}body.modal-open{overflow:hidden}@media (max-width:576px){.reenrollment-modal{margin:var(--space-md);max-width:95%}.reenrollment-employee-card .card-actions{flex-direction:column}}.hours-with-breakdown{display:flex;flex-direction:column;gap:4px}.entry-hours-total{color:var(--color-text-dark);font-weight:600}.hours-breakdown{color:var(--color-text-muted);font-size:.85em;font-style:italic}.ph-badge{align-items:center;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;display:inline-flex;font-size:.75rem;font-weight:600;gap:4px;margin-top:4px;padding:2px 8px}.ph-badge i{font-size:.85em}.midnight-split-indicator{align-items:center;background-color:#d1ecf1;border:1px solid #bee5eb;border-radius:4px;color:#0c5460;display:inline-flex;font-size:.75rem;font-weight:500;gap:4px;margin-left:4px;margin-top:4px;padding:2px 8px}.midnight-split-indicator i{font-size:.85em}.indicator-dot{border:2px solid hsla(0,0%,100%,.3);border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.15);cursor:pointer;display:inline-block;flex-shrink:0;height:12px;margin-left:8px;position:relative;transition:filter .15s ease,border-color .15s ease,transform .15s ease;vertical-align:middle;width:12px}.indicator-dot:hover{border-color:hsla(0,0%,100%,.5);filter:brightness(.85);transform:scale(1.15)}.indicator-green{background-color:#28a745}.indicator-yellow{background-color:#ffc107}.indicator-red{background-color:#dc3545}.indicator-dot[data-tooltip]:hover:after{background:#333;border-radius:8px;bottom:calc(100% + 8px);box-shadow:0 4px 12px rgba(0,0,0,.2);color:#fff;content:attr(data-tooltip);font-size:13px;left:50%;max-width:320px;min-width:240px;padding:12px 16px;position:absolute;transform:translateX(-50%);white-space:pre-line;z-index:1000}.indicator-dot[data-tooltip]:hover:before{border:6px solid transparent;border-top-color:#333;bottom:calc(100% + 2px);content:"";left:50%;position:absolute;transform:translateX(-50%)}.quality-badge[data-quality-info]:hover:after{background:#555;border-radius:4px;bottom:calc(100% + 8px);color:#fff;content:attr(data-quality-info);font-size:12px;left:50%;padding:6px 10px;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1000}.checks-header-icon{font-size:.75rem}.checks-cell{text-align:center;vertical-align:middle}.check-indicators{align-items:center;display:inline-flex;gap:8px;justify-content:center}.check-dot{border-radius:50%;box-sizing:border-box;cursor:help;display:inline-block;flex-grow:0;flex-shrink:0;height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;position:relative;transition:transform .15s ease,box-shadow .15s ease;width:16px}.check-dot:hover{box-shadow:0 0 6px currentColor;transform:scale(1.25)}.check-pass{background-color:#198754}.check-pass,.check-warn{box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.check-warn{background-color:#ffc107}.check-fail{background-color:#dc3545}.check-fail,.check-na{box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.check-na{background-color:#adb5bd}