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