.version-info-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.5rem;transition:background-color .2s;display:flex}.version-info-btn:hover{background-color:#ffffff1a}.version-modal-overlay{z-index:1100;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.version-modal{background:#1a1a1a;border-radius:8px;min-width:280px;max-width:90vw;padding:0;overflow:hidden;box-shadow:0 4px 20px #0000004d}.version-modal-header{border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.version-modal-header h2{color:#fff;margin:0;font-size:1.25rem}.version-modal-close{color:#ccc;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;display:flex}.version-modal-close:hover{color:#fff;background-color:#ffffff1a}.version-modal-body{padding:1.25rem}.version-modal-body p{color:#ccc;margin:.5rem 0}.version-info-inline{border-top:1px solid #e0e0e0;margin-top:1.25rem;padding-top:1.25rem}.version-info-inline-values{margin:.5rem 0 0}.version-info-inline-values p{color:#333;margin:.25rem 0;font-size:.9rem}html[data-theme=dark] .version-info-inline{border-top-color:#444}html[data-theme=dark] .version-info-inline .theme-modal-label,html[data-theme=dark] .version-info-inline-values p{color:#fff}.layout{background-color:#f5f5f5;flex-direction:column;min-height:100vh;display:flex}.top-navbar{z-index:100;background-color:#1a1a1a;border-bottom:1px solid #333;padding:.75rem 1.5rem;position:sticky;top:0;box-shadow:0 2px 4px #0000001a}@media (display-mode:standalone){.top-navbar{padding-top:calc(.75rem + 3px)}}.top-nav-container{justify-content:space-between;align-items:center;gap:2rem;display:flex}.nav-left{align-items:center;gap:1rem;display:flex}.hamburger-button{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.5rem;transition:background-color .2s;display:flex}.hamburger-button:hover{background-color:#ffffff1a}.nav-logo{color:#fff;margin:0 0 0 -.75rem;font-size:1.25rem;font-weight:700}.nav-user{align-items:center;display:flex}.user-info{align-items:center;gap:1rem;display:flex}.user-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.9rem;overflow:hidden}.dev-mode-badge{opacity:.7;margin-left:.5rem;font-size:.75rem}.logout-button{color:#fff;cursor:pointer;background-color:#0000;border:1px solid #ffffff4d;border-radius:4px;justify-content:center;align-items:center;padding:.5rem;transition:background-color .2s,border-color .2s;display:inline-flex}.logout-button:hover{background-color:#ffffff1a;border-color:#ffffff80}.layout-body{flex:1;display:flex;position:relative}.sidebar{z-index:90;background-color:#fff;border-right:1px solid #e0e0e0;flex-direction:column;transition:width .3s;display:flex;position:fixed;top:60px;bottom:0;left:0;overflow:hidden auto;box-shadow:2px 0 4px #0000000d}.sidebar.expanded{width:260px}.sidebar.collapsed{width:70px}.sidebar-nav{padding:1.5rem 0}.sidebar-menu{margin:0;padding:0;list-style:none}.sidebar-menu li{margin:0}.sidebar-link{color:#333;border-left:3px solid #0000;justify-content:flex-start;align-items:center;gap:.75rem;padding:.875rem 1.5rem;text-decoration:none;transition:background-color .2s,color .2s;display:flex;position:relative}.sidebar.collapsed .sidebar-link{justify-content:center;padding:.875rem}.sidebar-link:hover{color:#646cff;background-color:#f5f5f5}.sidebar-link.active{color:#646cff;background-color:#f0f0ff;border-left-color:#646cff;font-weight:500}.sidebar-link svg{flex-shrink:0;width:20px;height:20px}.sidebar-link span{white-space:nowrap;transition:opacity .2s,width .2s;overflow:hidden}.sidebar.collapsed .sidebar-link span{opacity:0;width:0;margin:0;padding:0}.sidebar-settings-item{border-top:1px solid #e0e0e0;margin-top:auto;padding-top:.5rem}.sidebar-nav{flex-direction:column;flex:1;min-height:0;padding:1.5rem 0;display:flex}.sidebar-menu{flex:1;min-height:0}.sidebar-link-button{font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;width:100%}.theme-modal-overlay{z-index:200;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.theme-modal{background-color:#fff;border-radius:8px;width:100%;max-width:340px;overflow:hidden;box-shadow:0 4px 20px #00000026}.theme-modal-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.theme-modal-header h2{color:#333;margin:0;font-size:1.125rem;font-weight:600}.theme-modal-close{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;display:flex}.theme-modal-close:hover{color:#333;background-color:#f0f0f0}.theme-modal-body{padding:1.25rem}.theme-modal-label{color:#555;margin:0 0 .75rem;font-size:.875rem;font-weight:500}.theme-options{flex-direction:column;gap:.25rem;display:flex}.theme-option{cursor:pointer;border:2px solid #0000;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:background-color .15s;display:flex}.theme-option:hover{background-color:#f5f5f5}.theme-option input{accent-color:#646cff;width:1rem;height:1rem;margin:0}.theme-option-selected{background-color:#f0f0ff;border-color:#646cff}.theme-option-selected:hover{background-color:#e8e8ff}html[data-theme=dark] .theme-modal{background-color:#2a2a2a;border:1px solid #444}html[data-theme=dark] .theme-modal-header{border-bottom-color:#444}html[data-theme=dark] .theme-modal-header h2{color:#eee}html[data-theme=dark] .theme-modal-close{color:#aaa}html[data-theme=dark] .theme-modal-close:hover{color:#fff;background-color:#333}html[data-theme=dark] .theme-modal-label{color:#bbb}html[data-theme=dark] .theme-option{color:#ddd}html[data-theme=dark] .theme-option:hover{background-color:#333}html[data-theme=dark] .theme-option-selected{background-color:#3a3a4a;border-color:#646cff}html[data-theme=dark] .theme-option-selected:hover{background-color:#404050}html[data-theme=dark] .sidebar-settings-item{border-top-color:#444}.sidebar-overlay{z-index:85;background-color:#00000080;display:none;position:fixed;inset:60px 0 0}.main-content{flex:1;min-height:calc(100vh - 60px);padding:2rem;transition:margin-left .3s}.main-content.sidebar-expanded{margin-left:260px}.main-content.sidebar-collapsed{margin-left:70px}@media (width<=768px){.layout{flex-direction:column;width:100%;height:100dvh;min-height:100dvh;display:flex}.top-navbar{padding:.15rem .3rem}@media (display-mode:standalone){.top-navbar{padding-top:calc(.15rem + 3px)}}.layout-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.sidebar{transform:translate(-100%);width:260px!important}.sidebar.expanded{transform:translate(0)}.sidebar.collapsed{transform:translate(-100%)}.sidebar-overlay{display:block}.main-content{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-width:0;min-height:0;padding:.5rem .5rem 1rem;display:flex;position:relative;overflow:hidden auto;margin-left:0!important}.main-content>*{min-width:0;max-width:100%}.nav-logo{font-size:1.25rem}.user-name{max-width:120px}}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .layout{background-color:#1a1a1a}html:not([data-theme=light]) .sidebar{background-color:#2a2a2a;border-right-color:#333}html:not([data-theme=light]) .sidebar-link{color:#ccc}html:not([data-theme=light]) .sidebar-link:hover{color:#646cff;background-color:#333}html:not([data-theme=light]) .sidebar-link.active{color:#646cff;background-color:#3a3a4a}html:not([data-theme=light]) .main-content{color:#fff;background-color:#1a1a1a}}html[data-theme=dark] .layout{background-color:#1a1a1a}html[data-theme=dark] .sidebar{background-color:#2a2a2a;border-right-color:#333}html[data-theme=dark] .sidebar-link{color:#ccc}html[data-theme=dark] .sidebar-link:hover{color:#646cff;background-color:#333}html[data-theme=dark] .sidebar-link.active{color:#646cff;background-color:#3a3a4a}html[data-theme=dark] .main-content{color:#fff;background-color:#1a1a1a}.company-logo{flex-shrink:0;width:24px;height:24px}.dashboard{width:100%;max-width:1400px;margin:0 auto}.dashboard-header{margin-bottom:2rem}.dashboard h1{color:#213547;margin-bottom:.5rem;font-size:2rem;font-weight:700}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;align-items:center;gap:1.5rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 4px #0000000d}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-card-active{background:linear-gradient(135deg,#f0f0ff 0%,#fff 100%);border-color:#646cff}.stat-icon{color:#fff;background:linear-gradient(135deg,#646cff 0%,#535bf2 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.stat-card-active .stat-icon{background:linear-gradient(135deg,#4caf50 0%,#45a049 100%)}.stat-content{flex:1}.stat-card h2{color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.stat-value{color:#213547;margin:0;font-size:2.25rem;font-weight:700;line-height:1}.stat-card-active .stat-value{color:#4caf50}.dashboard-actions{margin-top:2rem}.action-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#646cff 0%,#535bf2 100%);border:none;border-radius:8px;align-items:center;gap:.75rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:500;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 2px 8px #646cff4d}.action-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #646cff66}.action-button:active{transform:translateY(0)}.dashboard-loading{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:400px;display:flex}.dashboard-loading .spinner{border:4px solid #f3f3f3;border-top-color:#646cff;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-loading p{color:#666;font-size:1rem}@media (prefers-color-scheme:dark){.dashboard h1{color:#fff}.stat-card{background:#2a2a2a;border-color:#333}.stat-card:hover{background:#333}.stat-card-active{background:linear-gradient(135deg,#2a3a2a 0%,#2a2a2a 100%);border-color:#4caf50}.stat-card h2{color:#999}.stat-value{color:#fff}.dashboard-loading p{color:#999}}@media (width<=768px){.stats-grid{grid-template-columns:1fr}.dashboard h1{font-size:1.2rem}}html[data-theme=dark] .dashboard h1{color:#fff}html[data-theme=dark] .stat-card{background:#2a2a2a;border-color:#333}html[data-theme=dark] .stat-card:hover{background:#333}html[data-theme=dark] .stat-card-active{background:linear-gradient(135deg,#2a3a2a 0%,#2a2a2a 100%);border-color:#4caf50}html[data-theme=dark] .stat-card h2{color:#999}html[data-theme=dark] .stat-value{color:#fff}html[data-theme=dark] .stat-card-active .stat-value{color:#4caf50}html[data-theme=dark] .dashboard-loading p{color:#999}html[data-theme=dark] .dashboard-loading .spinner{border-color:#646cff #3a3a3a #3a3a3a}.employees{width:100%}.employees-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.employees-header h1{font-size:2rem}.btn-icon-add{justify-content:center;align-items:center;width:44px;height:44px;padding:.75rem;display:inline-flex}.btn-icon-add svg{flex-shrink:0;display:block}.employees-table-container{position:relative;overflow:auto visible}.employees-table{border-collapse:collapse;background:#1a1a1a;border-radius:8px;width:100%;overflow:hidden}.employees-table thead{background-color:#2a2a2a}.employees-table th{text-align:left;color:#fff;padding:1rem;font-weight:600}.employees-table td{color:#ccc;word-wrap:break-word;border-top:1px solid #333;max-width:300px;padding:1rem}.phone-tel-link{color:inherit;text-decoration:none}.phone-tel-link:hover{text-decoration:underline}@media (width<=768px){.phone-tel-link{margin:-.35em -.25em;padding:.35em .25em;display:inline-block}}.employees-table tbody tr:hover{background-color:#2a2a2a}.status-badge{border-radius:12px;padding:.25rem .75rem;font-size:.875rem;font-weight:500}.status-active{color:#fff;background-color:#4caf50}.status-inactive{color:#fff;background-color:#f44336}.status-pending{color:#fff;background-color:#ff9800}.status-on-leave{color:#fff;background-color:#2196f3}.status-terminated{color:#fff;background-color:#9e9e9e}.status-suspended{color:#fff;background-color:#ff5722}.btn-sm{cursor:pointer;color:#fff;background-color:#646cff;border:none;border-radius:4px;margin-right:.5rem;padding:.5rem 1rem;font-size:.875rem;transition:background-color .2s}.btn-sm:hover{background-color:#535bf2}.btn-icon{cursor:pointer;color:#fff;background-color:#646cff;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;margin-right:.5rem;padding:.5rem;transition:background-color .2s;display:inline-flex}.btn-icon:hover{background-color:#535bf2}.btn-icon.btn-danger{background-color:#f44336}.btn-icon.btn-danger:hover{background-color:#d32f2f}.btn-icon.btn-success{color:#fff;background-color:#28a745}.btn-icon.btn-info{color:#fff;background-color:#17a2b8}.btn-icon.btn-info:hover{background-color:#138496}.btn-icon.btn-success:hover{background-color:#218838}.btn-icon.btn-warning{color:#000;background-color:#ffc107}.btn-icon.btn-warning:hover{background-color:#e0a800}.actions-cell{position:relative}.actions-desktop{flex-wrap:wrap;align-items:center;display:flex}.actions-mobile{display:none}.actions-dropdown{z-index:1000;background:#2a2a2a;border:1px solid #444;border-radius:4px;min-width:200px;max-width:calc(100vw - 2rem);margin-top:.25rem;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 6px #0000004d}.actions-dropdown-item{color:#ccc;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;width:100%;padding:.75rem 1rem;font-size:.875rem;transition:background-color .2s;display:flex}.actions-dropdown-item:hover{background-color:#3a3a3a}.actions-dropdown-item svg{flex-shrink:0}@media (width<=768px){.employees{box-sizing:border-box;flex-direction:column;height:100%;max-height:100%;padding-bottom:0;display:flex;position:relative;overflow:hidden}.employees-header{flex-shrink:0;margin-bottom:1rem}.employees-header h1{font-size:1.2rem}.employees-table-container{flex:1;min-height:0;margin-bottom:0;position:relative;overflow:visible}.employees-table{-ms-overflow-style:none;scrollbar-width:none;max-height:calc(100dvh - 14rem);padding-bottom:3rem;display:block;overflow:auto}.employees-table::-webkit-scrollbar{display:none!important}.employees-table thead{display:table-header-group}.employees-table tbody{display:table-row-group}.actions-desktop{display:none}.actions-mobile{display:block}.actions-mobile-container{position:relative}.actions-dropdown{z-index:1001;max-width:min(250px,100vw - 1rem);max-height:calc(100vh - 8rem);position:absolute;overflow-y:auto}.actions-dropdown-portal{background:#2a2a2a;border:1px solid #444;border-radius:4px;min-width:200px;box-shadow:0 4px 6px #0000004d;position:fixed!important}.employees-table-row-clickable{cursor:pointer;-webkit-tap-highlight-color:#ffffff0d}}.employees-loading,.employees-empty,.employees-error{text-align:center;padding:2rem;font-size:1.2rem}.employees-error{color:#f44336}.btn-secondary{color:#fff;cursor:pointer;background-color:#6c757d;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;transition:background-color .2s}.btn-secondary:hover{background-color:#5a6268}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.modal-content{background:#1a1a1a;border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000004d}.modal-content-large{max-width:90vw;max-height:90vh}.modal-header h2{margin:0;font-size:1.5rem}.modal-close{color:#ccc;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:2rem;transition:background-color .2s;display:flex}.modal-close:hover{background-color:#333}.employee-form{padding:1.5rem}.form-error{color:#fff;background-color:#f44336;border-radius:4px;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.form-group input,.form-group select,.form-group textarea{color:#fff;box-sizing:border-box;background-color:#2a2a2a;border:1px solid #444;border-radius:4px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#646cff;outline:none}.employee-working-days-empty{color:#888;margin:0;font-size:.875rem;font-style:italic}.employee-working-days-chks{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.employee-working-day-chk{cursor:pointer;color:#ccc;align-items:center;gap:.35rem;font-weight:400;display:inline-flex}.employee-working-day-chk input{width:auto;margin:0}.employee-default-attendance-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.employee-default-attendance-group{margin-bottom:0}.employee-default-time-inputs{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.employee-default-time-inputs select{color:#fff;background-color:#2a2a2a;border:1px solid #444;border-radius:4px;padding:.35rem .5rem;font-size:.875rem}.employee-default-time-inputs .employee-default-time-hour{width:5.5rem;min-width:5.5rem}.employee-default-time-inputs .employee-default-time-minute,.employee-default-time-inputs .employee-default-time-ampm{width:4rem;min-width:4rem}.employee-default-time-sep{color:#888;-webkit-user-select:none;user-select:none;font-weight:600}.employee-default-checkout-with-clear{align-items:flex-start;gap:.5rem;display:flex}.employee-default-checkout-with-clear .employee-default-time-inputs{flex:0 auto}.employee-default-clear-btn{color:#888;cursor:pointer;background:0 0;border:1px solid #444;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-top:.15rem;padding:.35rem;transition:color .2s,border-color .2s,background-color .2s;display:flex}.employee-default-clear-btn:hover{color:#fff;background-color:#333;border-color:#666}@media (width<=600px){.employee-default-attendance-row{grid-template-columns:1fr}}.form-actions{border-top:1px solid #333;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}@media (prefers-color-scheme:light){.employees-table{background:#fff;border:1px solid #ddd}.employees-table thead{background-color:#f5f5f5}.employees-table th{color:#213547}.employees-table td{color:#213547;border-top:1px solid #ddd}.employees-table tbody tr:hover{background-color:#f9f9f9}.modal-content{background:#fff}.modal-header{border-bottom:1px solid #ddd}.modal-close{color:#213547}.modal-close:hover{background-color:#f5f5f5}.form-group label{color:#213547}.form-group input,.form-group select,.form-group textarea{color:#213547;background-color:#fff;border:1px solid #ddd}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#646cff}.employee-default-time-inputs select{color:#213547;background-color:#fff;border-color:#ddd}.employee-default-time-sep{color:#666}.employee-default-clear-btn{color:#666;border-color:#ddd}.employee-default-clear-btn:hover{color:#213547;background-color:#f0f0f0;border-color:#999}.form-actions{border-top:1px solid #ddd}}html[data-theme=dark] .employees-header h1{color:#fff}html[data-theme=dark] .employees-table{background:#1a1a1a;border:none}html[data-theme=dark] .employees-table thead{background-color:#2a2a2a}html[data-theme=dark] .employees-table th{color:#fff}html[data-theme=dark] .employees-table td{color:#ccc;border-top-color:#333}html[data-theme=dark] .employees-table tbody tr:hover{background-color:#2a2a2a}html[data-theme=dark] .modal-content{background:#1a1a1a}html[data-theme=dark] .modal-close:hover{background-color:#333}html[data-theme=dark] .form-group input,html[data-theme=dark] .form-group select,html[data-theme=dark] .form-group textarea,html[data-theme=dark] .employee-default-time-inputs select{color:#fff;background-color:#2a2a2a;border-color:#444}html[data-theme=dark] .employee-default-time-sep{color:#888}html[data-theme=dark] .employee-default-clear-btn{color:#888;border-color:#444}html[data-theme=dark] .employee-default-clear-btn:hover{color:#fff;background-color:#333;border-color:#555}html[data-theme=dark] .form-actions{border-top-color:#333}html[data-theme=dark] .actions-dropdown,html[data-theme=dark] .actions-dropdown-portal{background:#2a2a2a;border-color:#444}html[data-theme=dark] .actions-dropdown-item{color:#ccc}html[data-theme=dark] .actions-dropdown-item:hover{background-color:#3a3a3a}.employees-paychecks-modal-overlay{z-index:1100;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.employees-paychecks-modal{background:#1a1a1a;border-radius:8px;flex-direction:column;width:100%;max-width:min(960px,98vw);max-height:85vh;display:flex;box-shadow:0 4px 20px #0006}.employees-paychecks-modal .modal-body{padding:1rem 1.25rem;overflow-y:auto}.employees-paychecks-loading,.employees-paychecks-empty{color:#888;margin:0;padding:1rem 0}.employees-paychecks-table-wrap{border:1px solid #333;border-radius:4px;overflow-x:auto}.employees-paychecks-table{border-collapse:collapse;width:100%;font-size:.9rem}.employees-paychecks-table th{color:#fff;text-align:left;white-space:nowrap;background:#2a2a2a;padding:.6rem .75rem;font-weight:600}.employees-paychecks-table td{color:#ccc;border-top:1px solid #333;padding:.6rem .75rem}.employees-paychecks-table tbody tr:hover{background:#252525}.employees-paychecks-table td:not(:last-child){white-space:nowrap}.employees-paychecks-table th:nth-child(4),.employees-paychecks-table th:nth-child(5),.employees-paychecks-table th:nth-child(6),.employees-paychecks-table th:nth-child(7),.employees-paychecks-table td:nth-child(4),.employees-paychecks-table td:nth-child(5),.employees-paychecks-table td:nth-child(6),.employees-paychecks-table td:nth-child(7){text-align:right}.employees-paychecks-view-pdf{cursor:pointer;color:#888;background:0 0;border:none;border-radius:4px;padding:.35rem}.employees-paychecks-view-pdf:hover{color:#646cff;background:#646cff26}.employees-pdf-modal-overlay{z-index:1200;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.employees-pdf-modal{background:#1a1a1a;border-radius:8px;flex-direction:column;width:100%;max-width:min(900px,92vw);height:90vh;max-height:90vh;display:flex;box-shadow:0 4px 20px #0006}.employees-pdf-modal .modal-header{border-bottom:1px solid #333;flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.employees-pdf-modal-actions{align-items:center;gap:.5rem;display:flex}.employees-pdf-download-btn{color:#ccc;background:#333;border:1px solid #555;border-radius:4px;justify-content:center;align-items:center;padding:.4rem;text-decoration:none;display:inline-flex}.employees-pdf-download-btn:hover{color:#fff;background:#444;border-color:#666}.employees-pdf-modal-body{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.employees-pdf-modal-body .employees-paychecks-loading{padding:1.25rem}.employees-pdf-iframe{background:#fff;border:none;flex:1;width:100%;min-height:0}.company-details{width:100%;max-width:900px;margin:0 auto;padding:2rem}.company-details-header{margin-bottom:2rem}.company-details-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.company-details-header h1{color:#fff;margin:0;font-size:2rem}.company-details-btn-test-email{color:#646cff;cursor:pointer;background:0 0;border:1px solid #646cff;border-radius:6px;align-items:center;gap:.35rem;margin-left:auto;padding:.4rem .6rem;font-size:.875rem;transition:background .2s,color .2s;display:inline-flex}.company-details-btn-test-email:hover:not(:disabled){color:#8b92ff;background:#646cff26}.company-details-btn-test-email:disabled{opacity:.6;cursor:not-allowed}.company-details-test-email-msg{border-radius:4px;margin-top:.5rem;padding:.5rem .75rem;font-size:.875rem}.company-details-test-email-msg.success{color:#81c784;background:#4caf5033}.company-details-test-email-msg.error{color:#e57373;background:#f4433633}.company-details-loading,.company-details-error{text-align:center;border-radius:4px;margin-bottom:1rem;padding:1rem}.company-details-loading{color:#ccc;background-color:#2a2a2a}.company-details-error{color:#fff;background-color:#f44336}.company-details-success{color:#fff;text-align:center;background-color:#4caf50;border-radius:4px;margin-bottom:1rem;padding:1rem}.company-details-form{background:#1a1a1a;border-radius:8px;padding:2rem}.form-section{border-bottom:1px solid #333;margin-bottom:2rem;padding-bottom:2rem}.form-section:last-of-type{border-bottom:none}.form-section h2{color:#fff;margin-top:0;margin-bottom:1rem;font-size:1.25rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#ccc;margin-bottom:.5rem;font-weight:500;display:block}.form-group input,.form-group select{color:#fff;background-color:#2a2a2a;border:1px solid #444;border-radius:4px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#646cff;outline:none}.form-group input::placeholder{color:#666}.form-group select{cursor:pointer}.form-group select:disabled{cursor:not-allowed;opacity:.6}.form-row{grid-template-columns:2fr 1fr 1fr;gap:1rem;display:grid}.default-attendance-row{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.default-attendance-group{margin-bottom:0}.default-time-inputs{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.default-time-inputs .default-time-hour{width:5.5rem;min-width:5.5rem}.default-time-inputs .default-time-minute,.default-time-inputs .default-time-ampm{width:4rem;min-width:4rem}.default-time-sep{color:#888;-webkit-user-select:none;user-select:none;font-weight:600}@media (width<=640px){.default-attendance-row{grid-template-columns:1fr}}@media (prefers-color-scheme:light){.company-details-header h1{color:#213547}.company-details-loading{color:#333;background-color:#f5f5f5}.company-details-form{background:#fff;border:1px solid #ddd}.form-section{border-bottom-color:#ddd}.form-section h2{color:#213547}.form-group label{color:#333}.form-group input,.form-group select{color:#213547;background-color:#fff;border-color:#ddd}.form-group input:focus,.form-group select:focus{border-color:#646cff}.form-group input::placeholder{color:#999}.working-hours-matrix-container{background-color:#f5f5f5;border:1px solid #ddd}.hour-header-cell,.day-header-cell{color:#333;background-color:#e8e8e8}.hour-label-cell{color:#213547;background-color:#e8e8e8}}@media (width<=768px){.company-details-header h1{font-size:1.5rem}.form-row{grid-template-columns:1fr}}.form-error{color:#fff;background-color:#f44336;border-radius:4px;margin-bottom:1rem;padding:.75rem}.working-hours-matrix-container{background-color:#1a1a1a;border-radius:8px;padding:1rem;overflow-x:auto}.matrix-header{gap:1px;margin-bottom:1px;display:flex}.hour-header-cell{color:#888;text-align:center;background-color:#2a2a2a;border-radius:2px;min-width:20px;padding:.25rem;font-size:.7rem;font-weight:600}.day-header-cell{color:#ccc;text-align:center;writing-mode:vertical-rl;text-orientation:mixed;background-color:#2a2a2a;border-radius:2px;justify-content:center;align-items:center;width:15px;min-width:15px;font-size:.4rem;display:flex}.matrix-row{gap:1px;margin-bottom:1px;display:flex}.hour-label-cell{color:#fff;text-align:right;background-color:#2a2a2a;justify-content:flex-end;align-items:center;min-width:20px;font-size:.4rem;display:flex}.days-row{flex:1;align-items:center;gap:1px;display:flex}.hour-cell{cursor:pointer;border:.5px solid #0000;border-radius:1px;justify-content:center;align-items:center;width:15px;min-width:15px;height:15px;transition:all .1s;display:flex}.hour-cell.selected{background-color:#4caf50;border-color:#45a049}.hour-cell.selected:hover{z-index:10;background-color:#45a049;border-color:#3d8b40;position:relative;transform:scale(1.5)}.hour-cell.unselected{background-color:#f44336;border-color:#d32f2f}.hour-cell.unselected:hover{z-index:10;background-color:#d32f2f;border-color:#b71c1c;position:relative;transform:scale(1.5)}.hour-cell:active{transform:scale(1.2)}.form-actions{justify-content:flex-end;margin-top:2rem;display:flex}@media (width<=768px){.company-details-header h1{font-size:1.2rem}.working-hours-matrix-container{padding:.5rem}.hour-header-cell,.hour-label-cell{flex:0 0 50px;min-width:50px;padding:.2rem;font-size:.6rem}.day-header-cell{flex:1;min-width:0;font-size:.6rem}.matrix-row{min-height:32px}.days-row{align-items:stretch;min-width:0}.hour-cell{flex:1;width:auto;min-width:0;height:auto;min-height:100%}}html[data-theme=dark] .company-details-header h1{color:#fff}html[data-theme=dark] .company-details-loading{color:#ccc;background-color:#2a2a2a}html[data-theme=dark] .company-details-form{background:#1a1a1a;border:none}html[data-theme=dark] .form-section{border-bottom-color:#333}html[data-theme=dark] .form-section h2{color:#fff}html[data-theme=dark] .form-group label{color:#ccc}html[data-theme=dark] .form-group input,html[data-theme=dark] .form-group select{color:#fff;background-color:#2a2a2a;border-color:#444}html[data-theme=dark] .form-group input::placeholder{color:#666}html[data-theme=dark] .working-hours-matrix-container{background-color:#1a1a1a}html[data-theme=dark] .hour-header-cell{color:#888;background-color:#2a2a2a}html[data-theme=dark] .day-header-cell{color:#ccc;background-color:#2a2a2a}html[data-theme=dark] .hour-label-cell{color:#fff;background-color:#2a2a2a}.attendance{width:100%;padding:2rem}.attendance-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.attendance-header h1{color:#fff;margin:0;font-size:2rem}.attendance-subtitle{color:#f44336;margin:.25rem 0 0;font-size:.875rem;font-weight:400}.attendance-date{color:#ccc;font-size:1.125rem;font-weight:500}.attendance-section-title{color:#fff;margin:0 0 .75rem;font-size:1.25rem}.attendance-volunteers-section{padding-top:.5rem}.attendance-loading,.attendance-error,.attendance-empty{text-align:center;border-radius:4px;margin-bottom:1rem;padding:1rem}.attendance-loading{color:#ccc;background-color:#2a2a2a}.attendance-error{color:#fff;background-color:#f44336}.attendance-empty{color:#888;background-color:#2a2a2a;font-style:italic}.attendance-list{background:#1a1a1a;border-radius:8px;overflow:hidden}.attendance-table{border-collapse:collapse;width:100%}.attendance-table thead{background-color:#2a2a2a}.attendance-table th{text-align:left;color:#fff;border-bottom:2px solid #333;padding:1rem;font-weight:600}.attendance-table td{color:#ccc;border-top:1px solid #333;padding:1rem}.attendance-table tbody tr:hover{background-color:#2a2a2a}.time-display{color:#4caf50;font-weight:500}.attendance-checkin-time-select{color:#4caf50;cursor:pointer;background-color:#2a2a2a;border:1px solid #444;border-radius:4px;min-width:90px;padding:.35rem .5rem;font-size:.875rem;font-weight:500}.attendance-checkin-time-select:disabled{opacity:.6;cursor:not-allowed}.no-time{color:#888;font-style:italic}.attendance-expected-time{color:#888;margin-top:.25rem;font-size:.75rem;display:block}.attendance-check-in-cell{flex-direction:column;align-items:flex-start;display:inline-flex}.attendance-employee-non-working{color:#666;max-width:100%;font-size:.8125rem;line-height:1.3;display:inline-block}.attendance-checkin-closing-soon{color:#888;max-width:100%;font-size:.8125rem;font-style:italic;line-height:1.3;display:inline-block}.attendance-time-off{color:#666;font-size:.8125rem;font-style:italic;display:inline-block}.attendance-add-employee-non-working-warning{color:#ed6c02}.btn-check-in,.btn-check-out{cursor:pointer;border:none;border-radius:4px;min-width:100px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.btn-check-in{color:#fff;background-color:#4caf50}.btn-check-in:hover:not(:disabled){background-color:#45a049}.btn-check-out{color:#fff;background-color:#ff9800}.btn-check-out:hover:not(:disabled){background-color:#e68900}.btn-check-in:disabled,.btn-check-out:disabled{opacity:.6;cursor:not-allowed}.completed-badge{color:#fff;background-color:#2196f3;border-radius:12px;padding:.25rem .75rem;font-size:.875rem;font-weight:500}.btn-history-icon{color:#646cff;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.5rem;transition:background-color .2s,color .2s;display:flex}.btn-history-icon:hover{color:#7c84ff;background-color:#646cff1a}.btn-history-icon svg{width:20px;height:20px}.modal-overlay{z-index:1000;background-color:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background-color:#1a1a1a;border-radius:8px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;display:flex;box-shadow:0 4px 20px #00000080}.modal-header{border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h2{color:#fff;margin:0;font-size:1.5rem}.modal-close{color:#ccc;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.5rem;transition:background-color .2s,color .2s;display:flex}.modal-close:hover{color:#fff;background-color:#333}.modal-body{flex:1;padding:1.5rem;overflow-y:auto}.modal-subtitle{color:#888;margin:0 0 1rem;font-size:.875rem}.history-loading,.history-empty{text-align:center;color:#888;padding:2rem}.history-table-container{overflow-x:auto}.history-table{border-collapse:collapse;width:100%}.history-table thead{z-index:10;background-color:#2a2a2a;position:sticky;top:0}.history-table th{text-align:left;color:#fff;border-bottom:2px solid #333;padding:.75rem 1rem;font-size:.875rem;font-weight:600}.history-table td{color:#ccc;border-top:1px solid #333;padding:.75rem 1rem;font-size:.875rem}.history-table tbody tr:hover{background-color:#2a2a2a}.hours-display{color:#2196f3;font-weight:500}.btn-add-attendance{color:#4caf50;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.5rem;transition:background-color .2s,color .2s;display:flex}.btn-add-attendance:hover{color:#45a049;background-color:#4caf501a}.btn-add-attendance svg{width:20px;height:20px}.btn-edit-icon{color:#646cff;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:background-color .2s,color .2s;display:flex}.btn-edit-icon:hover{color:#7c84ff;background-color:#646cff1a}.btn-edit-icon svg{width:18px;height:18px}.btn-delete-icon{color:#e74c3c;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:background-color .2s,color .2s;display:flex}.btn-delete-icon:hover:not(:disabled){color:#ec7063;background-color:#e74c3c1a}.btn-delete-icon:disabled{opacity:.5;cursor:not-allowed}.btn-delete-icon svg{width:18px;height:18px}.btn-add-holiday{color:#ccc;cursor:pointer;background-color:#0000;border:1px solid #444;border-radius:4px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.btn-add-holiday:hover{color:#fff;background-color:#333;border-color:#555}.btn-add-holiday svg{flex-shrink:0;width:20px;height:20px}.work-calendar-modal .modal-body{overflow-x:auto}.work-calendar-month-label{color:var(--fg,#e0e0e0);margin-bottom:1rem;font-size:1.125rem;font-weight:600}.work-calendar-week-toolbar .work-calendar-month-label-inline{margin:0}.work-calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;min-width:320px;display:grid}.work-calendar-weekday-head{color:#888;text-align:center;padding:.35rem .25rem;font-size:.7rem;font-weight:600}.work-calendar-cell{background-color:var(--card-bg,#252525);border:1px solid #444;border-radius:4px;flex-direction:column;gap:.25rem;min-height:4.5rem;padding:.35rem;display:flex}.work-calendar-cell-non-working{background-color:#3a3a3a;border-color:#555}.work-calendar-day-num{color:#aaa;font-size:.8rem;font-weight:600}.work-calendar-cell-non-working .work-calendar-day-num{color:#777}.work-calendar-cell-today{background-color:#646cff26;border-color:#646cff;box-shadow:inset 0 0 0 2px #646cff66}.work-calendar-cell-today.work-calendar-cell-non-working{background-color:#646cff1f}.work-calendar-cell-today .work-calendar-day-num{color:#9ba3ff;font-weight:700}.work-calendar-names{flex-wrap:wrap;gap:.2rem;margin-top:.15rem;display:flex}.work-calendar-name-pill{text-overflow:ellipsis;white-space:nowrap;border-radius:3px;max-width:100%;padding:.15rem .35rem;font-size:.65rem;font-weight:500;overflow:hidden}.work-calendar-name-pill-clickable{cursor:pointer;font:inherit;border:none;font-size:10px}.work-calendar-name-pill-clickable:hover{filter:brightness(1.1)}.work-calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.work-calendar-title-row{align-items:center;gap:.75rem;display:flex}.work-calendar-view-icons{align-items:center;gap:.25rem;display:flex}.work-calendar-view-icon-btn{background-color:var(--card-bg,#252525);width:36px;height:36px;color:var(--fg,#e0e0e0);cursor:pointer;border:1px solid #555;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.work-calendar-view-icon-btn:hover{background-color:#333;border-color:#666}.work-calendar-view-icon-btn.active{color:#fff;background-color:#646cff;border-color:#646cff}.work-calendar-view-icon-btn:focus{border-color:#646cff;outline:none}.work-calendar-week-toolbar{justify-content:center;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.work-calendar-week-label{text-align:center;min-width:12rem;color:var(--fg,#e0e0e0);font-size:1rem;font-weight:600}.work-calendar-nav-btn{color:var(--fg,#ccc);cursor:pointer;background:0 0;border:1px solid #555;border-radius:4px;justify-content:center;align-items:center;padding:.35rem;display:inline-flex}.work-calendar-nav-btn:hover{background-color:#333;border-color:#666}.work-calendar-today-btn{color:#9ba3ff;cursor:pointer;background-color:#646cff33;border:1px solid #646cff;border-radius:4px;margin-left:.5rem;padding:.35rem .75rem;font-size:.875rem;font-weight:500}.work-calendar-today-btn:hover{color:#fff;background-color:#646cff59;border-color:#7c84ff}.work-calendar-week-grid{grid-template-rows:auto 1fr}.work-calendar-agenda{flex-direction:column;gap:2px;max-height:70vh;display:flex;overflow-y:auto}.work-calendar-agenda-subtitle{color:#888;margin-bottom:.5rem;font-size:.8rem}.work-calendar-agenda-row{background-color:var(--card-bg,#252525);border:1px solid #444;border-radius:4px;align-items:center;gap:1rem;min-height:2.5rem;padding:.5rem .75rem;display:flex}.work-calendar-agenda-today{background-color:#646cff26;border-color:#646cff;box-shadow:inset 0 0 0 2px #646cff4d}.work-calendar-agenda-wrap{flex-direction:column;gap:.5rem;display:flex}.work-calendar-agenda-toolbar{flex-wrap:wrap}.work-calendar-agenda-today-label{color:var(--fg,#e0e0e0);margin-right:.5rem;font-size:1rem;font-weight:600}.work-calendar-agenda-date{min-width:11rem;color:var(--fg,#e0e0e0);flex-shrink:0;font-size:.875rem;font-weight:500}.work-calendar-agenda-names{flex-wrap:wrap;flex:1;gap:.25rem;display:flex}.work-calendar-agenda-non-working{color:#888;font-size:.8rem;font-style:italic}.modal-small{max-width:500px}.bulk-attendance-modal{flex-direction:column;display:flex;overflow:hidden}.bulk-attendance-header-actions{align-items:center;gap:.5rem;display:flex}.bulk-attendance-save-btn{color:#fff;cursor:pointer;background-color:#646cff;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.5rem;transition:background-color .2s;display:inline-flex}.bulk-attendance-save-btn:hover:not(:disabled){background-color:#7c84ff}.bulk-attendance-save-btn:disabled{opacity:.6;cursor:not-allowed}.bulk-attendance-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.bulk-attendance-scroll{background-color:#252525;border:1px solid #444;border-radius:4px;flex:1;min-height:200px;overflow:auto}.bulk-attendance-table{border-collapse:collapse;width:100%;font-size:.8125rem}.bulk-attendance-table thead{z-index:2;background-color:#2a2a2a;position:sticky;top:0}.bulk-attendance-table th{text-align:left;color:#e0e0e0;white-space:nowrap;border-bottom:1px solid #444;border-right:1px solid #333;padding:.5rem .35rem;font-weight:600}.bulk-attendance-name-col{z-index:1;background-color:#2a2a2a;min-width:120px;max-width:140px;position:sticky;left:0}.bulk-attendance-table tbody .bulk-attendance-name-col{background-color:#252525}.bulk-attendance-table tbody tr:hover .bulk-attendance-name-col{background-color:#2d2d2d}.bulk-attendance-date-col{min-width:100px}.bulk-attendance-section-header td{color:#646cff;background-color:#1e1e2e;border-bottom:1px solid #444;border-right:1px solid #333;padding:.5rem .75rem;font-weight:700}.bulk-attendance-cell{vertical-align:middle;border-bottom:1px solid #333;border-right:1px solid #333;padding:.25rem}.bulk-attendance-cell-non-working{background-color:#ffcdd2}.bulk-attendance-cell-has-existing{background-color:#c8e6c9}.bulk-attendance-cell-inner{flex-direction:column;gap:.2rem;display:flex}.bulk-attendance-time-text{color:#aaa;font-size:.75rem}.bulk-attendance-select{color:#e0e0e0;cursor:pointer;background-color:#1a1a1a;border:1px solid #444;border-radius:3px;min-width:0;padding:.25rem .35rem;font-size:.75rem}.bulk-attendance-select:hover{border-color:#555}.bulk-attendance-select:focus{border-color:#646cff;outline:none}.bulk-attendance-select:disabled{opacity:.5;cursor:not-allowed;background-color:#252525}.modal-body form{flex-direction:column;gap:1rem;display:flex}.modal-body .form-group{flex-direction:column;gap:.5rem;display:flex}.modal-body .form-group label{color:#ccc;font-size:.875rem;font-weight:500}.modal-body .form-group input[type=date],.modal-body .form-group input[type=time]{color:#fff;background-color:#2a2a2a;border:1px solid #444;border-radius:4px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .2s}.modal-body .form-group input[type=date]:focus,.modal-body .form-group input[type=time]:focus{border-color:#646cff;outline:none}.form-actions{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .2s}.btn-primary{color:#fff;background-color:#646cff}.btn-primary:hover:not(:disabled){background-color:#7c84ff}.btn-secondary{color:#ccc;background-color:#0000;border:1px solid #444}.btn-secondary:hover:not(:disabled){background-color:#333;border-color:#555}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (prefers-color-scheme:light){.attendance-header h1{color:#213547}.attendance-date{color:#666}.attendance-loading{color:#333;background-color:#f5f5f5}.attendance-empty{color:#666;background-color:#f5f5f5}.attendance-list{background:#fff;border:1px solid #ddd}.attendance-table thead{background-color:#f5f5f5}.attendance-table th{color:#213547;border-bottom-color:#ddd}.attendance-table td{color:#213547;border-top-color:#ddd}.attendance-table tbody tr:hover{background-color:#f9f9f9}.no-time{color:#666}.btn-secondary{color:#333;border-color:#ddd}.btn-secondary:hover:not(:disabled){background-color:#f5f5f5;border-color:#ccc}.attendance-checkin-time-select{color:#2e7d32;background-color:#fff;border-color:#ddd}.btn-add-holiday{color:#333;border-color:#ddd}.btn-add-holiday:hover{color:#213547;background-color:#f5f5f5;border-color:#ccc}.modal-content{background-color:#fff}.modal-header{border-bottom-color:#ddd}.modal-header h2{color:#213547}.modal-close{color:#333}.modal-close:hover{color:#213547;background-color:#f5f5f5}.modal-subtitle,.history-loading,.history-empty{color:#666}.history-table thead{background-color:#f5f5f5}.history-table th{color:#213547;border-bottom-color:#ddd}.history-table td{color:#213547;border-top-color:#ddd}.history-table tbody tr:hover{background-color:#f9f9f9}.modal-body .form-group label{color:#333}.modal-body .form-group input[type=date],.modal-body .form-group input[type=time]{color:#213547;background-color:#fff;border-color:#ddd}.bulk-attendance-scroll{background-color:#f5f5f5;border-color:#ddd}.bulk-attendance-table thead{background-color:#eee}.bulk-attendance-table th{color:#213547;border-bottom-color:#ddd;border-right-color:#ddd}.bulk-attendance-name-col{background-color:#eee}.bulk-attendance-table tbody .bulk-attendance-name-col{background-color:#fff}.bulk-attendance-table tbody tr:hover .bulk-attendance-name-col{background-color:#f9f9f9}.bulk-attendance-section-header td{background-color:#e8eaf6;border-bottom-color:#ddd;border-right-color:#ddd}.bulk-attendance-cell{border-bottom-color:#ddd;border-right-color:#ddd}.bulk-attendance-time-text{color:#333}.bulk-attendance-select{color:#213547;background-color:#fff;border-color:#ddd}.bulk-attendance-select:hover{border-color:#999}.bulk-attendance-select:disabled{background-color:#f5f5f5}}@media (width<=768px){.attendance{padding:1rem}.attendance-header{flex-direction:column;align-items:flex-start}.attendance-header h1{font-size:1.2rem}.attendance-table{font-size:.875rem}.attendance-table th,.attendance-table td{padding:.75rem .5rem}.attendance-table-row-clickable{cursor:pointer;-webkit-tap-highlight-color:#ffffff0d}.attendance-table th:first-child,.attendance-table td:first-child{display:none}}html[data-theme=dark] .attendance-header h1{color:#fff}html[data-theme=dark] .attendance-date{color:#ccc}html[data-theme=dark] .attendance-loading{color:#ccc;background-color:#2a2a2a}html[data-theme=dark] .attendance-empty{color:#888;background-color:#2a2a2a}html[data-theme=dark] .attendance-list{background:#1a1a1a;border:none}html[data-theme=dark] .attendance-table thead{background-color:#2a2a2a}html[data-theme=dark] .attendance-table th{color:#fff;border-bottom-color:#333}html[data-theme=dark] .attendance-table td{color:#ccc;border-top-color:#333}html[data-theme=dark] .attendance-table tbody tr:hover{background-color:#2a2a2a}html[data-theme=dark] .no-time,html[data-theme=dark] .attendance-expected-time{color:#888}html[data-theme=dark] .attendance-checkin-closing-soon,html[data-theme=dark] .attendance-time-off{color:#999}html[data-theme=dark] .btn-secondary{color:#ccc;border-color:#444}html[data-theme=dark] .btn-secondary:hover:not(:disabled){background-color:#333;border-color:#555}html[data-theme=dark] .btn-add-holiday{color:#ccc;background-color:#0000;border-color:#444}html[data-theme=dark] .btn-add-holiday:hover{color:#fff;background-color:#333;border-color:#555}html[data-theme=dark] .modal-content{background-color:#1a1a1a}html[data-theme=dark] .modal-header{border-bottom-color:#333}html[data-theme=dark] .modal-header h2{color:#fff}html[data-theme=dark] .modal-close{color:#ccc}html[data-theme=dark] .modal-close:hover{color:#fff;background-color:#333}html[data-theme=dark] .modal-subtitle,html[data-theme=dark] .history-loading,html[data-theme=dark] .history-empty{color:#888}html[data-theme=dark] .history-table thead{background-color:#2a2a2a}html[data-theme=dark] .history-table th{color:#fff;border-bottom-color:#333}html[data-theme=dark] .history-table td{color:#ccc;border-top-color:#333}html[data-theme=dark] .history-table tbody tr:hover{background-color:#2a2a2a}html[data-theme=dark] .modal-body .form-group label{color:#ccc}html[data-theme=dark] .modal-body .form-group input[type=date],html[data-theme=dark] .modal-body .form-group input[type=time]{color:#fff;background-color:#2a2a2a;border-color:#444}html[data-theme=dark] .bulk-attendance-scroll{background-color:#252525;border-color:#444}html[data-theme=dark] .bulk-attendance-table thead{background-color:#2a2a2a}html[data-theme=dark] .bulk-attendance-table th{color:#fff;border-bottom-color:#444;border-right-color:#333}html[data-theme=dark] .bulk-attendance-name-col{background-color:#2a2a2a}html[data-theme=dark] .bulk-attendance-table tbody .bulk-attendance-name-col{color:#fff;background-color:#252525}html[data-theme=dark] .bulk-attendance-table tbody tr:hover .bulk-attendance-name-col{background-color:#2d2d2d}html[data-theme=dark] .bulk-attendance-section-header td{color:#646cff;background-color:#1e1e2e}html[data-theme=dark] .bulk-attendance-cell{color:#fff}html[data-theme=dark] .bulk-attendance-cell-non-working{background-color:#4a2020}html[data-theme=dark] .bulk-attendance-cell-has-existing{background-color:#2d4a2d}html[data-theme=dark] .bulk-attendance-time-text{color:#ccc}html[data-theme=dark] .bulk-attendance-select{color:#fff;background-color:#1a1a1a;border-color:#444}html[data-theme=light] .attendance-header h1,html[data-theme=light] .attendance-date{color:#000}html[data-theme=light] .attendance-list{background:#fff;border:1px solid #ddd}html[data-theme=light] .attendance-table thead{background-color:#f5f5f5}html[data-theme=light] .attendance-table th{color:#213547;border-bottom-color:#ddd}html[data-theme=light] .attendance-table td{color:#213547;border-top-color:#ddd}html[data-theme=light] .attendance-table tbody tr:hover{background-color:#f9f9f9}html[data-theme=light] .attendance-loading,html[data-theme=light] .attendance-empty{color:#333;background-color:#f5f5f5}html[data-theme=light] .attendance-section-title{color:#213547}html[data-theme=light] .no-time,html[data-theme=light] .attendance-expected-time{color:#666}html[data-theme=light] .btn-add-holiday{color:#000;background-color:#0000;border-color:#ddd}html[data-theme=light] .btn-add-holiday:hover{color:#000;background-color:#f5f5f5;border-color:#ccc}html[data-theme=light] .modal-content{background-color:#fff}html[data-theme=light] .modal-header{border-bottom-color:#ddd}html[data-theme=light] .modal-header h2{color:#213547}html[data-theme=light] .modal-close{color:#333}html[data-theme=light] .modal-close:hover{color:#000;background-color:#f5f5f5}html[data-theme=light] .modal-body{color:#213547;background-color:#fff}html[data-theme=light] .modal-subtitle,html[data-theme=light] .history-loading,html[data-theme=light] .history-empty{color:#000}html[data-theme=light] .history-table-container{background-color:#fff}html[data-theme=light] .history-table thead{background-color:#f5f5f5}html[data-theme=light] .history-table th{color:#000;border-bottom-color:#ddd}html[data-theme=light] .history-table td{color:#000;border-top-color:#ddd}html[data-theme=light] .history-table tbody tr:hover{background-color:#f9f9f9}html[data-theme=light] .modal-content .no-time{color:#000}html[data-theme=light] .modal-content .hours-display{color:#1565c0}html[data-theme=light] .modal-content .btn-add-attendance{color:#2e7d32}html[data-theme=light] .modal-content .btn-add-attendance:hover{color:#1b5e20}html[data-theme=light] .modal-body .form-group label{color:#333}html[data-theme=light] .modal-body .form-group input[type=date],html[data-theme=light] .modal-body .form-group input[type=time]{color:#213547;background-color:#fff;border-color:#ddd}html[data-theme=light] .work-calendar-modal .modal-content{background-color:#fff}html[data-theme=light] .work-calendar-month-label,html[data-theme=light] .work-calendar-month-label-inline{color:#213547}html[data-theme=light] .work-calendar-weekday-head{color:#333}html[data-theme=light] .work-calendar-cell{background-color:#f9f9f9;border-color:#ddd}html[data-theme=light] .work-calendar-cell-non-working{background-color:#eee;border-color:#ddd}html[data-theme=light] .work-calendar-day-num{color:#333}html[data-theme=light] .work-calendar-cell-non-working .work-calendar-day-num{color:#666}html[data-theme=light] .work-calendar-cell-today{background-color:#646cff1f;border-color:#646cff}html[data-theme=light] .work-calendar-cell-today .work-calendar-day-num{color:#535bf2}html[data-theme=light] .work-calendar-view-icon-btn{color:#213547;background-color:#f5f5f5;border-color:#ddd}html[data-theme=light] .work-calendar-view-icon-btn:hover{background-color:#eee;border-color:#ccc}html[data-theme=light] .work-calendar-nav-btn{color:#213547;background-color:#f5f5f5;border-color:#ddd}html[data-theme=light] .work-calendar-nav-btn:hover{background-color:#eee;border-color:#ccc}html[data-theme=light] .work-calendar-week-label,html[data-theme=light] .work-calendar-agenda-today-label,html[data-theme=light] .work-calendar-agenda-date{color:#213547}html[data-theme=light] .work-calendar-agenda-non-working{color:#666}html[data-theme=light] .work-calendar-agenda-row{border-color:#eee}html[data-theme=light] .work-calendar-agenda-today{background-color:#646cff1a;border-color:#646cff}html[data-theme=light] .bulk-attendance-modal{background-color:#fff}html[data-theme=light] .bulk-attendance-header{border-bottom-color:#ddd}html[data-theme=light] .bulk-attendance-header h2{color:#213547}html[data-theme=light] .bulk-attendance-scroll{background-color:#f5f5f5;border-color:#ddd}html[data-theme=light] .bulk-attendance-table thead{background-color:#eee}html[data-theme=light] .bulk-attendance-table th{color:#213547;border-bottom-color:#ddd;border-right-color:#ddd}html[data-theme=light] .bulk-attendance-name-col{background-color:#eee}html[data-theme=light] .bulk-attendance-table tbody .bulk-attendance-name-col{color:#213547;background-color:#fff}html[data-theme=light] .bulk-attendance-table tbody tr:hover .bulk-attendance-name-col{background-color:#f9f9f9}html[data-theme=light] .bulk-attendance-section-header td{color:#646cff;background-color:#e8eaf6;border-bottom-color:#ddd;border-right-color:#ddd}html[data-theme=light] .bulk-attendance-cell{color:#213547}html[data-theme=light] .bulk-attendance-cell-non-working{background-color:#ffcdd2}html[data-theme=light] .bulk-attendance-cell-has-existing{background-color:#c8e6c9}html[data-theme=light] .bulk-attendance-time-text{color:#333}html[data-theme=light] .bulk-attendance-select{color:#213547;background-color:#fff;border-color:#ddd}.payroll{max-width:1200px;margin:0 auto;padding:2rem}.payroll-header{margin-bottom:2rem}.payroll-header h1{color:#213547;margin:0 0 .5rem;font-size:2rem}.payroll-periods{margin-bottom:1.5rem}.payroll-periods-title{color:#333;margin:0 0 .75rem;font-size:1rem;font-weight:600}.payroll-period-select-wrap{max-width:400px}.payroll-period-select{color:#213547;cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:.6rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.payroll-period-select:hover:not(:disabled){border-color:#646cff}.payroll-period-select:focus{border-color:#646cff;outline:none;box-shadow:0 0 0 2px #646cff33}.payroll-period-select:disabled{opacity:.8;cursor:wait}.payroll-period-cards{flex-wrap:wrap;gap:1rem;display:flex}.payroll-period-card{cursor:pointer;text-align:left;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;flex-direction:column;flex:1;align-items:flex-start;gap:.35rem;min-width:200px;padding:1rem 1.25rem;font-family:inherit;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.payroll-period-card:hover:not(:disabled){background:#f0f0ff;border-color:#646cff;box-shadow:0 2px 8px #646cff26}.payroll-period-card.selected{background:#e8e8ff;border-color:#646cff;box-shadow:0 2px 8px #646cff33}.payroll-period-card:disabled{opacity:.8;cursor:wait}.payroll-period-other-btn{cursor:pointer;text-align:left;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;flex-direction:column;flex:1;align-items:flex-start;gap:.35rem;min-width:200px;padding:1rem 1.25rem;font-family:inherit;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.payroll-period-other-btn .payroll-period-badge{color:#646cff}.payroll-period-other-btn .payroll-period-dates{color:#213547;font-size:.9375rem}.payroll-period-other-btn .payroll-period-range{color:#666}.payroll-period-other-btn:hover:not(:disabled){background:#f0f0ff;border-color:#646cff;box-shadow:0 2px 8px #646cff26}.payroll-period-other-btn:disabled{opacity:.8;cursor:wait}.payroll-viewing-other{color:#666;margin:.5rem 0 0;font-size:.9rem}.payroll-period-badge{text-transform:uppercase;letter-spacing:.04em;color:#646cff;font-size:.75rem;font-weight:600}.payroll-period-card.selected .payroll-period-badge{color:#535bf2}.payroll-period-dates{color:#213547;font-size:1.0625rem;font-weight:600}.payroll-period-range{color:#666;font-size:.8125rem}.payroll-loading-msg{color:#666;margin:.75rem 0 0;font-size:.9375rem}.btn-primary{color:#fff;cursor:pointer;background:#646cff;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9375rem;font-weight:500;transition:background .2s}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.payroll-error{color:#c62828;background:#ffebee;border-radius:4px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9375rem}.payroll-success{color:#2e7d32;background:#e8f5e9;border-radius:4px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9375rem}.payroll-results{margin-top:1.5rem}.payroll-results h2{color:#213547;margin:0 0 .25rem;font-size:1.25rem}.payroll-tz-note{color:#666;margin:0 0 1rem;font-size:.875rem}.payroll-period-blocked{color:#555;background:#f5f5f5;border-left:4px solid #646cff;border-radius:6px;margin:0 0 1rem;padding:.6rem .9rem;font-size:.875rem}.payroll-period-locked{color:#555;background:#f9f9f5;border-left:4px solid #94a3b8;border-radius:6px;margin:0 0 1rem;padding:.6rem .9rem;font-size:.875rem}.payroll-empty{text-align:center;color:#666;background:#f9f9f9;border:1px solid #eee;border-radius:8px;padding:2rem}.payroll-table-container{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1.5rem;overflow-x:auto}.payroll-table{border-collapse:collapse;width:100%;font-size:.9375rem}.payroll-table th{text-align:left;color:#213547;background:#f5f5f5;border-bottom:2px solid #e0e0e0;padding:.75rem 1rem;font-weight:600}.payroll-table td{color:#333;border-bottom:1px solid #eee;padding:.75rem 1rem}.payroll-table tbody tr:last-child td{border-bottom:none}.payroll-table tbody tr:hover{background:#fafafa}.payroll-select{color:#213547;background:#fff;border:1px solid #ccc;border-radius:4px;min-width:100px;padding:.4rem .6rem;font-size:.875rem}.payroll-ref-input{color:#213547;background:#fff;border:1px solid #ccc;border-radius:4px;min-width:160px;max-width:220px;padding:.4rem .6rem;font-size:.875rem}.payroll-ref-input:disabled{color:#999;cursor:not-allowed;background:#f5f5f5}.payroll-amount-cell{align-items:center;gap:.35rem;display:inline-flex}.payroll-amount-input{color:#213547;text-align:right;background:#fff;border:1px solid #ccc;border-radius:4px;min-width:5.5rem;max-width:8rem;padding:.4rem .6rem;font-size:.875rem}.payroll-amount-clear-btn{color:#666;flex-shrink:0}.payroll-amount-clear-btn:hover{color:#c62828;background:#c628281a}.payroll-actions{margin-top:.5rem}.payroll-existing{border-top:1px solid #e0e0e0;margin-top:2rem;padding-top:1.5rem}.payroll-existing-title{color:#333;margin:0 0 .75rem;font-size:1rem;font-weight:600}.payroll-existing-table-wrap{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;overflow-x:auto}.payroll-existing-table{font-size:.875rem}.payroll-existing-table th{background:#eee}.payroll-existing-table td{border-bottom-color:#eee}.payroll-icon-btn{cursor:pointer;color:#646cff;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.payroll-icon-btn:hover:not(:disabled){color:#535bf2;background:#646cff1f}.payroll-icon-btn:disabled{opacity:.7;cursor:wait}.payroll-action-icon{flex-shrink:0;width:1.125rem;height:1.125rem}.payroll-icon-text{font-size:.875rem}.payroll-pdf-btn{flex-shrink:0}.payroll-ref-cell{align-items:center;gap:.35rem;display:inline-flex}.payroll-set-ref-btn{flex-shrink:0}.payroll-ref-edit{flex-wrap:wrap;align-items:center;gap:.25rem;display:inline-flex}.payroll-ref-edit-input{border:1px solid #ccc;border-radius:4px;min-width:120px;max-width:180px;padding:.3rem .5rem;font-size:.8125rem}.payroll-save-btn{color:#2e7d32}.payroll-save-btn:hover:not(:disabled){color:#1b5e20;background:#2e7d3226}.payroll-cancel-btn{color:#666}.payroll-cancel-btn:hover:not(:disabled){color:#333;background:#0000000f}.payroll-actions-cell{align-items:center;gap:.35rem;display:flex}.payroll-attendance-btn{position:relative}.payroll-attendance-count{text-align:center;color:#fff;background:#646cff;border-radius:8px;min-width:1rem;height:1rem;padding:0 .2rem;font-size:.65rem;font-weight:600;line-height:1rem;position:absolute;top:-2px;right:-2px}.payroll-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.payroll-modal{background:#fff;border-radius:8px;flex-direction:column;width:100%;max-width:560px;max-height:85vh;display:flex;box-shadow:0 4px 20px #00000026}.payroll-modal-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.payroll-modal-header h2{color:#213547;margin:0;font-size:1.1rem;font-weight:600}.payroll-modal-close{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;transition:background .2s,color .2s;display:flex}.payroll-modal-close:hover{color:#333;background:#f0f0f0}.payroll-modal-body{padding:1.25rem;overflow-y:auto}.payroll-modal-loading,.payroll-modal-empty{color:#666;margin:0;font-size:.9375rem}.payroll-modal-table-wrap{background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;overflow-x:auto}.payroll-modal .payroll-table{font-size:.875rem}.payroll-modal .payroll-table th{background:#eee}.payroll-modal .payroll-table td{border-bottom-color:#eee}.payroll-pdf-modal{width:100%;max-width:min(900px,92vw);height:90vh;max-height:90vh;overflow-y:auto}.payroll-pdf-modal-verification-banner{flex-shrink:0}.payroll-pdf-modal-actions{align-items:center;gap:.5rem;display:flex}.payroll-modal-download-btn{color:#213547;cursor:pointer;background:#f0f0f0;border:1px solid #ddd;border-radius:6px;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.payroll-modal-download-btn:hover{color:#111;background:#e5e5e5;border-color:#ccc}.payroll-pdf-modal-body{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.payroll-pdf-modal-body .payroll-modal-loading{padding:1.25rem}.payroll-pdf-iframe{background:#fff;border:none;flex:1;width:100%;min-height:0}.payroll-other-periods-modal{max-width:min(420px,92vw)}.payroll-other-periods-list{margin:0;padding:0;list-style:none}.payroll-other-periods-list li{border-bottom:1px solid #e8e8e8;margin:0;padding:0}.payroll-other-periods-list li:last-child{border-bottom:none}.payroll-other-period-item{text-align:left;color:#213547;cursor:pointer;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.9375rem;transition:background .15s;display:flex}.payroll-other-period-item:hover{background:#f0f0f5}.payroll-other-period-label{flex:1;font-weight:600}.payroll-other-period-range{color:#666;font-size:.8125rem}.payroll-other-period-item svg{color:#646cff;flex-shrink:0}html[data-theme=dark] .payroll-header h1{color:#fff}html[data-theme=dark] .payroll-periods-title{color:#ccc}html[data-theme=dark] .payroll-period-card{background:#2a2a2a;border-color:#444}html[data-theme=dark] .payroll-period-card:hover:not(:disabled){background:#333;border-color:#646cff;box-shadow:0 2px 8px #646cff33}html[data-theme=dark] .payroll-period-card.selected{background:#3a3a4a;border-color:#646cff;box-shadow:0 2px 8px #646cff40}html[data-theme=dark] .payroll-period-dates{color:#fff}html[data-theme=dark] .payroll-period-range,html[data-theme=dark] .payroll-loading-msg{color:#999}html[data-theme=dark] .payroll-existing{border-top-color:#444}html[data-theme=dark] .payroll-existing-title{color:#ccc}html[data-theme=dark] .payroll-existing-table-wrap{background:#1a1a1a;border-color:#444}html[data-theme=dark] .payroll-existing-table th{color:#fff;background:#2a2a2a;border-bottom-color:#444}html[data-theme=dark] .payroll-existing-table td{color:#ccc;border-bottom-color:#333}html[data-theme=dark] .payroll-icon-btn{color:#8192ff}html[data-theme=dark] .payroll-icon-btn:hover:not(:disabled){color:#a0adff;background:#8192ff33}html[data-theme=dark] .payroll-save-btn{color:#81c784}html[data-theme=dark] .payroll-save-btn:hover:not(:disabled){color:#a5d6a7;background:#81c78433}html[data-theme=dark] .payroll-cancel-btn{color:#999}html[data-theme=dark] .payroll-cancel-btn:hover:not(:disabled){color:#ccc;background:#ffffff14}html[data-theme=dark] .payroll-ref-edit-input{color:#fff;background:#2a2a2a;border-color:#444}html[data-theme=dark] .payroll-error{color:#ff8a80;background:#f4433633}html[data-theme=dark] .payroll-success{color:#81c784;background:#4caf5033}html[data-theme=dark] .payroll-results h2{color:#fff}html[data-theme=dark] .payroll-tz-note{color:#999}html[data-theme=dark] .payroll-period-blocked{color:#ccc;background:#2a2a2a;border-left-color:#8192ff}html[data-theme=dark] .payroll-period-locked{color:#ccc;background:#2a2a2a;border-left-color:#94a3b8}html[data-theme=dark] .payroll-empty{color:#999;background:#2a2a2a;border-color:#444}html[data-theme=dark] .payroll-table-container{background:#1a1a1a;border-color:#444}html[data-theme=dark] .payroll-table th{color:#fff;background:#2a2a2a;border-bottom-color:#444}html[data-theme=dark] .payroll-table td{color:#ccc;border-bottom-color:#333}html[data-theme=dark] .payroll-table tbody tr:hover{background:#252525}html[data-theme=dark] .payroll-select,html[data-theme=dark] .payroll-ref-input,html[data-theme=dark] .payroll-amount-input{color:#fff;background:#2a2a2a;border-color:#444}html[data-theme=dark] .payroll-amount-clear-btn{color:#999}html[data-theme=dark] .payroll-amount-clear-btn:hover{color:#ff8a80;background:#ff8a8026}html[data-theme=dark] .payroll-ref-input:disabled{color:#666;background:#333}html[data-theme=dark] .payroll-attendance-count{background:#8192ff}html[data-theme=dark] .payroll-modal{background:#1a1a1a;box-shadow:0 4px 20px #00000080}html[data-theme=dark] .payroll-modal-header{border-bottom-color:#333}html[data-theme=dark] .payroll-modal-header h2{color:#fff}html[data-theme=dark] .payroll-modal-close{color:#999}html[data-theme=dark] .payroll-modal-close:hover{color:#ccc;background:#333}html[data-theme=dark] .payroll-modal-loading,html[data-theme=dark] .payroll-modal-empty{color:#999}html[data-theme=dark] .payroll-modal-table-wrap{background:#2a2a2a;border-color:#444}html[data-theme=dark] .payroll-modal .payroll-table th{color:#fff;background:#2a2a2a;border-bottom-color:#444}html[data-theme=dark] .payroll-modal .payroll-table td{color:#ccc;border-bottom-color:#333}html[data-theme=dark] .payroll-modal-download-btn{color:#e0e0e0;background:#333;border-color:#555}html[data-theme=dark] .payroll-modal-download-btn:hover{color:#fff;background:#444;border-color:#666}html[data-theme=dark] .payroll-pdf-iframe{background:#1a1a1a}html[data-theme=dark] .payroll-period-other-btn{background:#2a2a2a;border-color:#444}html[data-theme=dark] .payroll-period-other-btn .payroll-period-badge{color:#a5b4fc}html[data-theme=dark] .payroll-period-other-btn .payroll-period-dates{color:#fff}html[data-theme=dark] .payroll-period-other-btn .payroll-period-range{color:#999}html[data-theme=dark] .payroll-period-other-btn:hover:not(:disabled){background:#333;border-color:#646cff;box-shadow:0 2px 8px #646cff33}html[data-theme=dark] .payroll-viewing-other{color:#999}html[data-theme=dark] .payroll-other-periods-list li{border-bottom-color:#333}html[data-theme=dark] .payroll-other-period-item{color:#e0e0e0}html[data-theme=dark] .payroll-other-period-item:hover{background:#333}html[data-theme=dark] .payroll-other-period-range{color:#999}html[data-theme=dark] .payroll-other-period-item svg{color:#a5b4fc}@media (prefers-color-scheme:light){.payroll-header h1{color:#213547}}@media (width<=768px){.payroll{padding:1rem}.payroll-header h1{font-size:1.25rem}.payroll-period-cards{flex-direction:column}.payroll-period-card,.payroll-period-other-btn{min-width:0}.payroll-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.payroll-table{font-size:.875rem}.payroll-table th,.payroll-table td{padding:.5rem}.payroll-ref-input{min-width:120px;max-width:100%}}.audit-log{max-width:1400px;margin:0 auto;padding:2rem}.audit-log-header{margin-bottom:2rem}.audit-log-header h1{color:#fff;margin:0;font-size:2rem}.audit-log-filters{background:#1a1a1a;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:2rem;padding:1.5rem;display:flex}.audit-log-filter-actions{flex-direction:row;align-items:center;gap:1rem;display:flex}.filter-group{flex-direction:column;gap:.5rem;min-width:200px;display:flex}.filter-group label{color:#ccc;font-size:.875rem;font-weight:500}.filter-input{color:#fff;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:4px;padding:.75rem;font-size:.875rem;transition:border-color .2s}.filter-input:focus{border-color:#4caf50;outline:none}.filter-input:hover{border-color:#4a4a4a}.audit-log-table-container{background:#1a1a1a;border-radius:8px;overflow:auto hidden}.audit-log-table{border-collapse:collapse;width:100%}.audit-log-table thead{background:#2a2a2a}.audit-log-table th{text-align:left;color:#fff;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #3a3a3a;padding:1rem;font-size:.875rem;font-weight:600}.audit-log-table td{color:#ccc;border-bottom:1px solid #2a2a2a;padding:1rem;font-size:.875rem}.audit-log-table tbody tr:hover{background:#252525}.audit-log-table tbody tr:last-child td{border-bottom:none}.no-data{text-align:center;color:#888;padding:3rem!important}.operation-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.operation-create{color:#fff;background:#4caf50}.operation-update{color:#fff;background:#2196f3}.operation-delete{color:#fff;background:#f44336}.operation-read,.operation-view{color:#fff;background:#ff9800}.operation-login{color:#fff;background:#9c27b0}.operation-logout{color:#fff;background:#607d8b}.operation-export{color:#fff;background:#00bcd4}.operation-unmask_ssn{color:#fff;background:#f44336}.operation-other{color:#fff;background:#757575}.error-message{color:#fff;background:#f44336;border-radius:4px;margin-bottom:1rem;padding:1rem}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem;display:flex}.loading-container p{color:#ccc}.btn-primary{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:4px;justify-content:center;align-items:center;gap:.25rem;height:fit-content;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:background .2s;display:inline-flex}.btn-primary:hover:not(:disabled){background:#45a049}.btn-primary:disabled{cursor:not-allowed;opacity:.6;background:#3a3a3a}.notes-icon-btn{color:#4caf50;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:background-color .2s,color .2s;display:flex}.notes-icon-btn:hover{color:#66bb6a;background:#4caf501a}.notes-icon-btn:active{background:#4caf5033}.notes-icon-btn:disabled{opacity:.5;cursor:not-allowed}.notes-popup-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.notes-popup{background:#1a1a1a;border-radius:8px;flex-direction:column;width:100%;max-width:600px;max-height:80vh;display:flex;box-shadow:0 4px 20px #00000080}.notes-popup-header{border-bottom:1px solid #2a2a2a;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.notes-popup-header h2{color:#fff;margin:0;font-size:1.25rem}.notes-popup-close{color:#ccc;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:2rem;line-height:1;transition:background-color .2s,color .2s;display:flex}.notes-popup-close:hover:not(:disabled){color:#fff;background:#2a2a2a}.notes-popup-close:disabled{opacity:.5;cursor:not-allowed}.notes-popup-content{color:#ccc;white-space:pre-wrap;word-wrap:break-word;padding:1.5rem;line-height:1.6;overflow-y:auto}.audit-navigate-btn{color:#4caf50;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:background-color .2s,color .2s;display:flex}.audit-navigate-btn:hover{color:#66bb6a;background:#4caf501a}.audit-navigate-btn:active{background:#4caf5033}.audit-log-export-menu-portal{background:#2a2a2a;border:1px solid #444;border-radius:4px;overflow:hidden;box-shadow:0 4px 12px #0006}.audit-log-export-menu-item{text-align:left;color:#ccc;cursor:pointer;background:0 0;border:none;width:100%;padding:.75rem 1rem;font-size:.875rem;transition:background-color .2s;display:block}.audit-log-export-menu-item:hover:not(:disabled){background-color:#3a3a3a}.audit-log-export-menu-item:disabled{color:#666;cursor:not-allowed}.audit-log-export-menu-item+.audit-log-export-menu-item{border-top:1px solid #333}@media (prefers-color-scheme:light){.audit-log-header h1{color:#213547}.audit-log-filters{background:#f5f5f5;border:1px solid #ddd}.filter-group label{color:#333}.filter-input{color:#213547;background:#fff;border-color:#ddd}.filter-input:hover{border-color:#ccc}.audit-log-table-container{background:#fff;border:1px solid #ddd}.audit-log-table thead{background:#f5f5f5}.audit-log-table th{color:#213547;border-bottom-color:#ddd}.audit-log-table td{color:#213547;border-bottom-color:#eee}.audit-log-table tbody tr:hover{background:#f9f9f9}.no-data,.loading-container p{color:#666}.error-message{color:#fff}.audit-log-export-menu-portal{background:#fff;border-color:#ddd}.audit-log-export-menu-item{color:#333}.audit-log-export-menu-item:hover:not(:disabled){background-color:#f5f5f5}.audit-log-export-menu-item:disabled{color:#999}.audit-log-export-menu-item+.audit-log-export-menu-item{border-top-color:#eee}.notes-popup{background:#fff}.notes-popup-header{border-bottom-color:#ddd}.notes-popup-header h2{color:#213547}.notes-popup-close{color:#333}.notes-popup-close:hover:not(:disabled){color:#213547;background:#f5f5f5}.notes-popup-content{color:#333}}@media (width<=768px){.audit-log-header h1{font-size:1.2rem}.audit-log{box-sizing:border-box;width:100%;max-width:100%;padding:0;overflow-x:hidden}.audit-log-filters{box-sizing:border-box;flex-direction:column;align-items:stretch;width:100%;min-width:0;max-width:100%;padding:1rem;overflow-x:hidden}.filter-group{box-sizing:border-box;width:100%;min-width:0;max-width:100%;display:block;overflow-x:hidden}.filter-group label{display:block}.filter-group .filter-input{box-sizing:border-box;width:100%;min-width:0;max-width:100%;display:block}.audit-log-filter-actions{flex-shrink:0;align-self:flex-start;width:fit-content}.audit-log-filter-actions .btn-primary{flex-shrink:0;width:auto}.audit-log-filter-actions>div{flex-shrink:0}}html[data-theme=dark] .audit-log-header h1{color:#fff}html[data-theme=dark] .audit-log-filters{background:#1a1a1a;border:none}html[data-theme=dark] .filter-group label{color:#ccc}html[data-theme=dark] .filter-input{color:#fff;background:#2a2a2a;border-color:#3a3a3a}html[data-theme=dark] .filter-input:hover{border-color:#4a4a4a}html[data-theme=dark] .audit-log-table-container{background:#1a1a1a;border:none}html[data-theme=dark] .audit-log-table thead{background:#2a2a2a}html[data-theme=dark] .audit-log-table th{color:#fff;border-bottom-color:#3a3a3a}html[data-theme=dark] .audit-log-table td{color:#ccc;border-bottom-color:#2a2a2a}html[data-theme=dark] .audit-log-table tbody tr:hover{background:#252525}html[data-theme=dark] .no-data{color:#888}html[data-theme=dark] .loading-container p{color:#ccc}html[data-theme=dark] .spinner{border-color:#4caf50 #3a3a3a #3a3a3a}html[data-theme=dark] .audit-log-export-menu-portal{background:#2a2a2a;border-color:#444}html[data-theme=dark] .audit-log-export-menu-item{color:#ccc}html[data-theme=dark] .audit-log-export-menu-item:hover:not(:disabled){background-color:#3a3a3a}html[data-theme=dark] .audit-log-export-menu-item+.audit-log-export-menu-item{border-top-color:#333}html[data-theme=dark] .notes-popup{background:#1a1a1a}html[data-theme=dark] .notes-popup-header{border-bottom-color:#2a2a2a}html[data-theme=dark] .notes-popup-header h2{color:#fff}html[data-theme=dark] .notes-popup-close{color:#ccc}html[data-theme=dark] .notes-popup-close:hover:not(:disabled){color:#fff;background:#2a2a2a}html[data-theme=dark] .notes-popup-content{color:#ccc}.volunteers{width:100%}.volunteers-loading,.volunteers-empty,.volunteers-error{text-align:center;padding:2rem;font-size:1.2rem}.volunteers-error{color:#f44336}.volunteers-table-container{position:relative;overflow:auto visible}.volunteers-table{border-collapse:collapse;background:#1a1a1a;border-radius:8px;width:100%;overflow:hidden}.volunteers-table thead{background-color:#2a2a2a}.volunteers-table th{text-align:left;color:#fff;padding:1rem;font-weight:600}.volunteers-table td{color:#ccc;word-wrap:break-word;border-top:1px solid #333;max-width:300px;padding:1rem}.volunteers-table tbody tr:hover{background-color:#2a2a2a}.volunteers-table .actions-cell{position:relative}.volunteer-actions-container{display:inline-block;position:relative}.volunteer-actions-buttons{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.volunteer-working-days-empty{color:#888;margin:0;font-size:.875rem;font-style:italic}.volunteer-working-days-chks{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.volunteer-working-day-chk{cursor:pointer;color:#ccc;align-items:center;gap:.35rem;font-weight:400;display:inline-flex}.volunteer-working-day-chk input{width:auto;margin:0}.volunteer-default-attendance-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.volunteer-default-attendance-group{margin-bottom:0}.volunteer-default-time-inputs{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.volunteer-default-time-inputs select{color:#fff;background-color:#2a2a2a;border:1px solid #444;border-radius:4px;padding:.35rem .5rem;font-size:.875rem}.volunteer-default-time-inputs .volunteer-default-time-hour{width:5.5rem;min-width:5.5rem}.volunteer-default-time-inputs .volunteer-default-time-minute,.volunteer-default-time-inputs .volunteer-default-time-ampm{width:4rem;min-width:4rem}.volunteer-default-time-sep{color:#888;-webkit-user-select:none;user-select:none;font-weight:600}.volunteer-default-checkout-with-clear{align-items:flex-start;gap:.5rem;display:flex}.volunteer-default-checkout-with-clear .volunteer-default-time-inputs{flex:0 auto}.volunteer-default-clear-btn{color:#888;cursor:pointer;background:0 0;border:1px solid #444;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-top:.15rem;padding:.35rem;transition:color .2s,border-color .2s,background-color .2s;display:flex}.volunteer-default-clear-btn:hover{color:#fff;background-color:#333;border-color:#666}@media (width<=600px){.volunteer-default-attendance-row{grid-template-columns:1fr}}.volunteers-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.volunteers-header h1{margin:0}.volunteers-actions{align-items:center;gap:.75rem;display:flex}.volunteer-status-badge{border-radius:4px;padding:.2rem .5rem;font-size:.8rem;font-weight:500;display:inline-block}.volunteer-status-badge.active{color:#90ee90;background:#1a472a}.volunteer-status-badge.inactive{color:#aaa;background:#333}.volunteer-phone-link{color:var(--link-color,#646cff);text-decoration:none}.volunteer-phone-link:hover{text-decoration:underline}.login-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:400px;padding:3rem;box-shadow:0 20px 60px #0000004d}.login-header h1{color:#213547;margin-bottom:.5rem;font-size:2rem;font-weight:700}.login-header p{color:#666;margin-bottom:2rem;font-size:1rem}.login-content{margin:2rem 0}.login-button{color:#fff;cursor:pointer;background-color:#0078d4;border:none;border-radius:4px;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .2s,transform .1s;display:flex}.login-button:hover:not(:disabled){background-color:#106ebe;transform:translateY(-1px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-button svg{width:21px;height:21px}.login-footer{border-top:1px solid #e0e0e0;margin-top:2rem;padding-top:2rem}.login-footer p{color:#888;margin:0;font-size:.875rem}.login-loading{color:#666;text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2rem;font-size:1.1rem;display:flex}.spinner{border:4px solid #f3f3f3;border-top-color:#0078d4;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.login-error{text-align:center;padding:1rem}.login-error p{color:#f44336;margin-bottom:1.5rem;font-size:1rem}@media (prefers-color-scheme:dark){.login-card{color:#fff;background:#1a1a1a}.login-header h1{color:#fff}.login-header p{color:#ccc}.login-footer{border-top:1px solid #333}.login-footer p{color:#999}.login-loading{color:#ccc}}.error-container{background-color:#121212;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.error-card{background:#1a1a1a;border-radius:8px;width:100%;max-width:500px;padding:2rem;box-shadow:0 4px 6px #0000004d}.error-header{margin-bottom:1.5rem}.error-header h1{color:#fff;margin:0;font-size:2rem}.error-content{flex-direction:column;gap:1.5rem;display:flex}.error-message{background-color:#2a2a2a;border-left:4px solid #f44336;border-radius:4px;padding:1rem}.error-message p{color:#fff;margin:0;line-height:1.5}.error-actions{justify-content:flex-end;display:flex}.btn-primary{color:#fff;cursor:pointer;background-color:#646cff;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;transition:background-color .2s}.btn-primary:hover{background-color:#535bf2}@media (width<=768px){.error-header h1{font-size:1.2rem}}.logout-container{background-color:#121212;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.logout-card{text-align:center;background:#1a1a1a;border-radius:8px;width:100%;max-width:500px;padding:2rem;box-shadow:0 4px 6px #0000004d}.logout-card h1{color:#fff;margin-bottom:1rem;font-size:2rem}.logout-card p{color:#ccc;margin-bottom:1.5rem}@media (width<=768px){.logout-card h1{font-size:1.2rem}}.verify-email-container{background-color:#f5f5f5;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.verify-email-card{text-align:center;background:#fff;border-radius:8px;width:100%;max-width:500px;padding:2rem;box-shadow:0 2px 8px #0000001a}.verify-email-spinner{border:4px solid #f3f3f3;border-top-color:#007bff;border-radius:50%;width:50px;height:50px;margin:0 auto 1.5rem;animation:1s linear infinite spin}.verify-email-success-icon{color:#fff;background-color:#28a745;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 1.5rem;font-size:2rem;font-weight:700;display:flex}.verify-email-error-icon{color:#fff;background-color:#dc3545;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 1.5rem;font-size:2rem;font-weight:700;display:flex}.verify-email-card h1{color:#333;margin:0 0 1rem;font-size:1.5rem}.verify-email-card p{color:#666;margin:.5rem 0;line-height:1.5}.app{flex-direction:column;min-height:100vh;display:flex}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box;margin:0;padding:0}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}#root{width:100%;min-height:100vh}@media (width<=768px){*{-ms-overflow-style:none!important;scrollbar-width:none!important}::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}html{-webkit-overflow-scrolling:touch;height:100dvh;min-height:100dvh;font-size:85%;overflow:hidden auto}body{-webkit-overflow-scrolling:touch;height:100dvh;min-height:100dvh;display:block;position:relative;overflow:hidden auto}#root{width:100%;height:100dvh;min-height:100dvh}#root>*{height:100%;min-height:100dvh}input,select,textarea,button{min-width:0;max-width:100%}img,video,iframe{max-width:100%;height:auto}}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}}html[data-theme=dark]{color:#ffffffde;background-color:#242424}html[data-theme=light]{color:#213547;background-color:#fff}
