.notification-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;max-width:400px;pointer-events:none}.notification{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:320px;max-width:400px;pointer-events:all;animation:slideIn .3s ease-out;transition:all .3s ease;border:1px solid #e0e0e0}.notification:hover{box-shadow:0 6px 16px #0003;transform:translate(-4px)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-success .notification-icon{color:#10b981}.notification-error .notification-icon{color:#ef4444}.notification-warning .notification-icon{color:#f59e0b}.notification-info .notification-icon{color:#3b82f6}.notification-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.notification-message{flex:1;font-size:14px;line-height:1.5;color:#374151;font-weight:500;word-wrap:break-word}.notification-close{flex-shrink:0;background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#9ca3af;border-radius:4px;transition:all .2s}.notification-close:hover{background-color:#f3f4f6;color:#6b7280}.notification-close:active{transform:scale(.95)}@media (max-width: 768px){.notification-container{top:10px;right:10px;left:10px;max-width:none}.notification{min-width:auto;max-width:none}}@media (max-width: 480px){.notification{padding:12px 14px;font-size:13px}.notification-message{font-size:13px}}*{margin:0;padding:0;box-sizing:border-box}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);padding:20px}.login-card{display:flex;width:100%;max-width:663px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #00000026}.login-left{flex:1;background:#fff;padding:25px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.logo-container{text-align:center;margin-bottom:0}.logo{width:160px;height:auto;margin:0 auto}.logo-svg{width:100%;height:100%}.logo-image{width:100%;height:100%;object-fit:contain}.brand-name{font-size:28px;font-weight:700;letter-spacing:1px}.brand-octane{color:#ff8c00}.brand-ware{color:#000}.time-display{text-align:center;margin-top:0}.time{font-size:28px;font-weight:600;color:#2c3e50;margin-bottom:8px}.date{font-size:14px;color:#7f8c8d;line-height:1.4}.login-right{flex:1;background:linear-gradient(to top,#ef6c00,#ffa726,#ffb74d);padding:30px;display:flex;align-items:center;justify-content:center}.login-form-container{width:100%;max-width:400px}.login-title{font-size:28px;font-weight:600;color:#fff;margin-bottom:4px;text-align:center}.login-subtitle{font-size:14px;color:#ffffffe6;margin-bottom:20px;text-align:center}.error-message{background:#dc3545f2;border:1px solid rgba(255,255,255,.4);color:#fff;padding:10px 14px;border-radius:6px;font-size:13px;font-weight:500;text-align:center;margin-top:4px;box-shadow:0 2px 8px #00000026}.error-placeholder{height:20px;margin-top:4px}.login-form{display:flex;flex-direction:column;gap:12px}.input-group{width:100%}.input-wrapper{position:relative;display:flex;align-items:center;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:box-shadow .3s ease}.input-wrapper:focus-within{box-shadow:0 4px 12px #00000026}.input-icon{width:40px;min-width:40px;display:flex;align-items:center;justify-content:center;color:#95a5a6}.login-input{flex:1;padding:12px 12px 12px 8px;border:none;outline:none;font-size:14px!important;line-height:1.5!important;color:#2c3e50;background:transparent;-webkit-text-size-adjust:none!important;-moz-text-size-adjust:none!important;-ms-text-size-adjust:none!important;text-size-adjust:none!important;transform:scale(1)!important;-webkit-transform:scale(1)!important;zoom:1!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;font-family:-apple-system,BlinkMacSystemFont,Roboto,sans-serif!important}.login-input::placeholder{color:#bdc3c7;font-size:14px!important;line-height:1.5!important;transform:scale(1)!important}.login-input:focus,.login-input:active,.login-input:hover,.login-input:focus-visible,.login-input:focus-within{font-size:14px!important;line-height:1.5!important;transform:scale(1)!important;-webkit-transform:scale(1)!important;zoom:1!important;-webkit-text-size-adjust:none!important}.login-input:disabled{background:#f8f9fa;cursor:not-allowed;font-size:14px!important}.password-toggle{width:40px;min-width:40px;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#95a5a6;transition:color .2s ease}.password-toggle:hover{color:#7f8c8d}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.login-button{width:100%;padding:12px;background:linear-gradient(135deg,#ffd54f,#ffa726);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #ffa7264d;margin-top:6px}.login-button:hover:not(:disabled){background:linear-gradient(135deg,#ffb74d,#ff9800);box-shadow:0 6px 16px #ffa72666;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #ff8c004d}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.login-card{flex-direction:column;max-width:500px}.login-left,.login-right{padding:40px 30px}.time-display{margin-top:20px}.time,.login-title{font-size:28px}}@media (max-width: 480px){.login-container{padding:10px}.login-left,.login-right{padding:30px 20px}.brand-name,.login-title{font-size:24px}.login-subtitle{font-size:14px}}.location-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-in-out}.location-modal-content{background:#fff;border-radius:12px;max-width:700px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}.location-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0}.location-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.location-modal-close{background:none;border:none;padding:8px;cursor:pointer;border-radius:6px;color:#666;transition:all .2s;display:flex;align-items:center;justify-content:center}.location-modal-close:hover{background-color:#f5f5f5;color:#333}.location-modal-body{padding:24px;overflow-y:auto;flex:1}.location-address-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:20px;border-radius:12px;margin-bottom:16px;border:1px solid #dee2e6}.address-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.address-header h3{margin:0;font-size:.95rem;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.5px}.address-main{font-size:1.25rem;font-weight:600;color:#212529;line-height:1.4;margin-bottom:6px}.address-details{font-size:.95rem;color:#6c757d;font-weight:500}.address-loading,.address-unavailable{display:flex;align-items:center;gap:10px;color:#6c757d;font-size:.95rem;font-weight:500;justify-content:center;padding:8px 0}.address-loading svg.spinning{animation:spin 1s linear infinite}.location-coordinates{background:#fff;padding:16px 20px;border-radius:10px;margin-bottom:20px;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000d}.coordinate-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;color:#495057}.coordinate-item:not(:last-child){border-bottom:1px solid #f0f0f0}.coordinate-label{font-weight:600;font-size:.9rem;color:#6c757d}.coordinate-value{font-family:Courier New,monospace;font-size:.95rem;font-weight:600;letter-spacing:.5px;color:#212529}.location-map-container{margin-bottom:20px;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000001a;background:#f5f5f5}.location-map-container iframe{display:block}.location-modal-footer{display:flex;gap:12px;justify-content:flex-end}.location-modal-footer .btn{padding:10px 20px;border-radius:8px;border:none;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;text-decoration:none;font-size:.95rem}.location-modal-footer .btn-secondary{background-color:#f5f5f5;color:#333}.location-modal-footer .btn-secondary:hover{background-color:#e0e0e0}.location-modal-footer .btn-orange{background:linear-gradient(135deg,#f26930,#ff8c5a);color:#fff}.location-modal-footer .btn-orange:hover{background:linear-gradient(135deg,#d95a28,#f26930);box-shadow:0 4px 12px #f269304d}@media (max-width: 768px){.location-modal-overlay{padding:10px}.location-modal-content{max-height:95vh}.location-modal-header{padding:16px 20px}.location-modal-header h2{font-size:1.25rem}.location-modal-body{padding:20px}.location-coordinates{padding:16px}.coordinate-label,.coordinate-value{font-size:.9rem}.location-map-container iframe{height:300px}.location-modal-footer{flex-direction:column-reverse}.location-modal-footer .btn{width:100%;justify-content:center}}.leaflet-popup-content-wrapper{border-radius:8px;box-shadow:0 4px 12px #00000026}.leaflet-popup-content{margin:12px;font-size:.9rem;line-height:1.6}.leaflet-popup-content strong{color:#f26930;font-size:1rem}.camera-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .2s ease-in-out}.camera-modal-content{background:#1a1a1a;border-radius:16px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.camera-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #333;background:#2a2a2a}.camera-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#fff}.camera-modal-close{background:none;border:none;padding:8px;cursor:pointer;border-radius:6px;color:#999;transition:all .2s;display:flex;align-items:center;justify-content:center}.camera-modal-close:hover{background-color:#3a3a3a;color:#fff}.camera-modal-body{padding:24px;overflow-y:auto;flex:1;display:flex;align-items:center;justify-content:center;background:#1a1a1a}.camera-error{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px;background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:12px;color:#f44336;text-align:center}.camera-error p{margin:0;font-size:.95rem}.camera-view-container{position:relative;width:100%;max-width:800px;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0006}.camera-video{width:100%;height:auto;display:block;max-height:600px;object-fit:cover}.camera-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.camera-frame{width:300px;height:300px;border:3px solid rgba(242,105,48,.8);border-radius:50%;box-shadow:0 0 0 9999px #0006;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.camera-instruction{position:absolute;bottom:40px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:12px 24px;border-radius:24px;font-size:.95rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.photo-preview-container{width:100%;max-width:800px;display:flex;justify-content:center;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0006}.captured-photo{width:100%;height:auto;max-height:600px;object-fit:contain;display:block}.camera-modal-footer{display:flex;gap:12px;justify-content:center;padding:20px 24px;background:#2a2a2a;border-top:1px solid #333}.camera-modal-footer .btn{padding:12px 32px;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;font-size:.95rem;min-width:160px;justify-content:center}.camera-modal-footer .btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:#3a3a3a;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4a4a4a}.btn-capture{background:linear-gradient(135deg,#f26930,#ff8c5a);color:#fff;box-shadow:0 4px 12px #f269304d}.btn-capture:hover:not(:disabled){background:linear-gradient(135deg,#d95a28,#f26930);box-shadow:0 6px 16px #f2693066;transform:translateY(-2px)}.btn-capture:active:not(:disabled){transform:translateY(0)}.btn-confirm{background:linear-gradient(135deg,#66bb6a,#43a047);color:#fff;box-shadow:0 4px 12px #4caf504d}.btn-confirm:hover:not(:disabled){background:linear-gradient(135deg,#43a047,#2e7d32);box-shadow:0 6px 16px #4caf5066;transform:translateY(-2px)}.btn-confirm:active:not(:disabled){transform:translateY(0)}@media (max-width: 768px){.camera-modal-overlay{padding:10px}.camera-modal-content{max-height:95vh}.camera-modal-header{padding:16px 20px}.camera-modal-header h2{font-size:1.25rem}.camera-modal-body{padding:16px}.camera-frame{width:200px;height:200px}.camera-instruction{bottom:20px;font-size:.85rem;padding:10px 20px}.camera-modal-footer{flex-direction:column;padding:16px}.camera-modal-footer .btn{width:100%;min-width:auto}.camera-video,.captured-photo{max-height:400px}}@media (max-width: 480px){.camera-frame{width:150px;height:150px}.camera-instruction{font-size:.8rem;padding:8px 16px}.camera-modal-footer .btn{padding:10px 24px;font-size:.9rem}}.kiosk-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);padding:20px}.kiosk-card{width:100%;max-width:500px;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px #00000026}.kiosk-header{background:linear-gradient(to top,#ef6c00,#ffa726,#ffb74d);padding:40px 30px;text-align:center}.kiosk-logo{display:flex;justify-content:center;margin-bottom:16px}.kiosk-title{font-size:36px;font-weight:600;color:#fff;margin-bottom:8px}.kiosk-subtitle{font-size:16px;color:#ffffffe6;margin:0}.kiosk-form{padding:40px 30px;display:flex;flex-direction:column;gap:20px}.alert{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;font-size:14px}.alert-error{background:#dc35451a;border:1px solid rgba(220,53,69,.3);color:#721c24}.alert-success{background:#4caf501a;border:1px solid rgba(76,175,80,.3);color:#1b5e20}.attendance-info{background:linear-gradient(135deg,#f5f7fa,#e8f0fe);border:1px solid #d1e3f8;border-radius:12px;padding:20px;margin-bottom:10px}.attendance-info h3{font-size:16px;font-weight:600;color:#2c3e50;margin-bottom:16px;text-align:center}.info-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #e0e0e0}.info-row:last-child{border-bottom:none}.info-row .label{font-size:14px;color:#7f8c8d;font-weight:500}.info-row .value{font-size:14px;color:#2c3e50;font-weight:600}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.status-clocked_in{background:#e3f2fd;color:#1976d2}.status-badge.status-clocked_out{background:#e8f5e9;color:#388e3c}.status-badge.status-absent{background:#ffebee;color:#d32f2f}.form-group label{font-size:14px;font-weight:500;color:#2c3e50}.form-group input{padding:14px 16px;border:1px solid #dfe6e9;border-radius:10px;font-size:14px;color:#2c3e50;background:#fff;transition:all .3s ease;outline:none}.form-group input:focus{border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.form-group input:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.6}.form-group input::placeholder{color:#bdc3c7}.location-display-container{display:flex;gap:8px;align-items:stretch}.location-info{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:8px;font-size:13px;color:#2e7d32;font-weight:500}.location-info-clickable{cursor:pointer;transition:all .2s ease;flex:1;justify-content:space-between}.location-info-clickable:hover{background:#c8e6c9;border-color:#81c784;transform:translateY(-1px);box-shadow:0 2px 8px #2e7d3226}.location-info-clickable:active{transform:translateY(0);box-shadow:none}.location-low-accuracy{background:#fff3e0;border-color:#ffb74d;color:#e65100}.location-low-accuracy:hover{background:#ffe0b2;border-color:#ffa726}.location-info-text{display:flex;flex-direction:column;gap:2px;flex:1;text-align:left}.location-main-text{font-size:13px;font-weight:500}.location-accuracy-text{font-size:11px;opacity:.8;font-weight:400}.location-refresh-btn{display:flex;align-items:center;justify-content:center;padding:10px 12px;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s ease;color:#666}.location-refresh-btn:hover:not(:disabled){background:#e0e0e0;border-color:#bbb;color:#333}.location-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.location-refresh-btn svg.spinning{animation:spin 1s linear infinite}.location-warning{background:#fff3e0;border-color:#ffb74d;color:#e65100}.location-required-message{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-top:10px;background:#fff3e0;border:1px solid #ffb74d;border-radius:8px;font-size:13px;color:#e65100;font-weight:500;text-align:center;justify-content:center}.camera-container{border:2px solid #e0e0e0;border-radius:12px;overflow:hidden;background:#000}.camera-video{width:100%;height:auto;display:block}.camera-controls{display:flex;gap:10px;padding:12px;background:#fff}.camera-controls .btn{flex:1}.photo-thumbnail-container{display:flex;flex-direction:column;align-items:center;gap:8px}.photo-thumbnail-wrapper{position:relative;width:150px;height:150px;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000026;border:2px solid #e0e0e0}.photo-thumbnail{width:100%;height:100%;object-fit:cover;display:block}.photo-thumbnail-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;gap:12px;opacity:0;transition:opacity .2s ease}.photo-thumbnail-wrapper:hover .photo-thumbnail-overlay{opacity:1}.btn-icon{width:40px;height:40px;border-radius:50%;border:none;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-icon:hover{background:#ffffff4d;transform:scale(1.1)}.btn-icon-danger:hover{background:#f44336cc}.photo-thumbnail-label{margin:0;font-size:13px;color:#666;font-weight:500}.photo-preview-container{display:flex;flex-direction:column;align-items:center;gap:12px;border:2px solid #e0e0e0;border-radius:12px;padding:12px;background:#f8f9fa}.photo-preview{width:100%;max-width:300px;height:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}.btn{padding:14px 24px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-full{width:100%}.btn-sm{padding:8px 16px;font-size:14px}.btn-orange{background:linear-gradient(135deg,#ffd54f,#ffa726);color:#fff;box-shadow:0 4px 12px #ffa7264d}.btn-orange:hover:not(:disabled){background:linear-gradient(135deg,#ffb74d,#ff9800);box-shadow:0 6px 16px #ffa72666;transform:translateY(-2px)}.btn-orange:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #ff8c004d}.btn-clock-in{background:linear-gradient(135deg,#66bb6a,#43a047);color:#fff;box-shadow:0 4px 12px #4caf504d}.btn-clock-in:hover:not(:disabled){background:linear-gradient(135deg,#43a047,#2e7d32);box-shadow:0 6px 16px #4caf5066;transform:translateY(-2px)}.btn-clock-in:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #4caf504d}.btn-clock-out{background:linear-gradient(135deg,#ef5350,#e53935);color:#fff;box-shadow:0 4px 12px #f443364d}.btn-clock-out:hover:not(:disabled){background:linear-gradient(135deg,#e53935,#c62828);box-shadow:0 6px 16px #f4433666;transform:translateY(-2px)}.btn-clock-out:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #f443364d}.btn-secondary{background:#e0e0e0;color:#2c3e50}.btn-secondary:hover:not(:disabled){background:#bdbdbd;transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.kiosk-footer{padding:20px 30px;text-align:center;border-top:1px solid #e0e0e0}.link-button{background:none;border:none;color:#f26930;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;transition:color .2s ease}.link-button:hover{color:#d35825;text-decoration:underline}@media (max-width: 768px){.kiosk-card{max-width:100%}.kiosk-header{padding:30px 20px}.kiosk-title{font-size:28px}.kiosk-subtitle{font-size:14px}.kiosk-form{padding:30px 20px}}@media (max-width: 480px){.kiosk-container{padding:10px}.kiosk-header{padding:24px 16px}.kiosk-title{font-size:24px}.kiosk-form{padding:24px 16px;gap:16px}.attendance-info{padding:16px}.camera-controls{flex-direction:column}.btn{font-size:14px;padding:12px 20px}}.app-header{background:linear-gradient(135deg,#f26930,#fba91a);height:64px;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;padding:0 24px;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100;width:100%;max-width:100%;overflow:visible;box-sizing:border-box}.app-header .header-left{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:20px;position:relative;z-index:1;width:auto!important;flex:0 0 auto!important}.app-header .header-left .menu-toggle{background:#fff!important;border:none!important;cursor:pointer;padding:8px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;transition:all .2s;border-radius:4px!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;flex-shrink:0!important;flex-grow:0!important}.app-header .header-left .menu-toggle:hover{opacity:.8;box-shadow:0 2px 4px #0000001a}.menu-toggle svg{width:20px;height:20px}.menu-toggle svg path{stroke:#f26930}.app-header .header-left .header-search,.app-header .header-left form.header-search{position:relative;display:inline-flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;height:40px!important;flex-shrink:0!important;flex-grow:0!important;width:auto!important;margin:0!important;padding:0!important}.app-header .header-left .header-search .search-input,.app-header .header-left .header-search input.search-input{width:320px!important;height:40px!important;padding:0 40px 0 16px!important;border:none!important;border-radius:4px!important;background:#fff!important;font-size:14px!important;color:#333!important;outline:none!important;transition:box-shadow .2s;line-height:40px!important;box-shadow:none!important;flex-shrink:0!important;display:inline-block!important}.app-header .header-left .header-search .search-input:focus{box-shadow:0 0 0 2px #ffffff4d!important;border:none!important;outline:none!important}.app-header .header-left .header-search .search-input::placeholder{color:#999}.app-header .header-left .header-search .search-button{position:absolute!important;right:8px!important;background:none!important;border:none!important;cursor:pointer;padding:8px!important;display:flex!important;align-items:center!important;justify-content:center!important}.app-header .header-right{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:20px;overflow:visible;flex:0 0 auto!important}.header-date,.header-time{display:flex;align-items:center;gap:8px;background:#fff;color:#333;font-size:14px;font-weight:500;padding:0 12px;height:40px;border-radius:4px;transition:all .2s;flex-shrink:0}.header-date:hover,.header-time:hover{box-shadow:0 2px 4px #0000001a}.header-icon-button{background:#fff;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;position:relative;transition:all .2s;border-radius:4px;width:40px;height:40px;flex-shrink:0}.header-icon-button:hover{transform:scale(1.05);box-shadow:0 2px 4px #0000001a}.notification-button{position:relative}.notification-badge{position:absolute;top:2px;right:2px;background:#f44;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid white}.profile-dropdown-container{position:relative;z-index:1001}.user-avatar{width:40px;height:40px;border-radius:4px;background:#fff;color:#f26930;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;border:none;padding:0;flex-shrink:0}.user-avatar:hover{transform:scale(1.05);box-shadow:0 2px 4px #00000026}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:4px;box-shadow:0 4px 12px #00000026;min-width:200px;padding:8px 0;z-index:10000;animation:dropdownFadeIn .2s ease}.profile-dropdown-item{width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:12px;font-size:14px;color:#333;text-align:left;transition:background .2s}.profile-dropdown-item:hover{background:#f5f5f5}.profile-dropdown-item svg{flex-shrink:0}.profile-dropdown-item span{flex:1}.profile-dropdown-divider{height:1px;background:#e0e0e0;margin:8px 0}.logout-item{color:#f26930}.logout-item:hover{background:#fff5f0}@media (max-width: 1024px){.app-header{padding:0 16px}.search-input{width:240px}.header-right{gap:16px}}@media (max-width: 768px){.app-header{height:56px;padding:0 12px}.header-left{gap:12px}.menu-toggle{width:36px;height:36px}.header-search{height:36px}.search-input{width:180px;height:36px;font-size:13px;line-height:36px}.header-right{gap:12px}.header-date,.header-time{font-size:12px;gap:6px;padding:0 10px;height:36px}.header-date svg,.header-time svg{width:16px;height:16px}.header-icon-button{padding:6px;width:36px;height:36px}.user-avatar{width:36px;height:36px;font-size:12px}.header-icon-button svg{width:18px;height:18px}}@media (max-width: 640px){.header-date{display:none}.search-input{width:140px}.header-right{gap:8px}}@media (max-width: 480px){.app-header{padding:0 10px}.header-left{gap:8px}.menu-toggle{width:32px;height:32px}.header-search{height:32px}.search-input{width:120px;height:32px;font-size:12px;padding:0 36px 0 12px;line-height:32px}.header-time{display:none}.header-icon-button,.user-avatar{width:32px;height:32px}.header-icon-button svg{width:20px;height:20px}}.app-sidebar{width:240px;background:#fff;border-right:none;box-shadow:1px 0 3px #0000001a;display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:101;overflow-y:auto;overflow-x:hidden;transition:width .3s ease;scrollbar-width:none;-ms-overflow-style:none}.app-sidebar::-webkit-scrollbar{display:none;width:0;height:0}.app-sidebar.collapsed{width:70px}.sidebar-logo{border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:center}.sidebar-logo-image{width:100%;max-width:120px;height:auto;object-fit:contain}.sidebar-logo-icon{width:40px;height:40px;background:linear-gradient(135deg,#f26930,#fba91a);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.sidebar-logo-icon-img{width:50px;height:50px;object-fit:contain}.sidebar-user{padding:24px;border-bottom:1px solid #e0e0e0}.user-name{font-size:14px;font-weight:600;color:#333;margin-bottom:4px}.user-role{font-size:12px;color:#999}.sidebar-nav{flex:1;padding:16px 0}.nav-item-wrapper{margin-bottom:4px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 24px;background:none;border:none;cursor:pointer;text-align:left;transition:all .2s;position:relative}.app-sidebar.collapsed .nav-item{padding:12px;justify-content:center}.nav-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent;transition:background .2s}.nav-item:hover{background:#f5f5f5}.nav-item.active:before{background:linear-gradient(135deg,#f26930,#fba91a)}.nav-item.active{background:#fff5f0}.nav-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-label{flex:1;font-size:14px;color:#666;font-weight:500}.nav-item.active .nav-label{color:#f26930;font-weight:600}.nav-arrow{width:12px;height:12px;display:flex;align-items:center;justify-content:center;color:#999;transition:transform .2s}.nav-item.active .nav-arrow{color:#f26930}.submenu{display:flex;flex-direction:column;background:transparent;margin-left:24px;margin-top:4px;margin-bottom:4px;animation:slideDown .3s ease}.submenu-item{width:100%;padding:10px 20px;background:none;border:none;cursor:pointer;text-align:left;font-size:14px;color:#666;transition:all .2s;position:relative;font-weight:400;display:flex;align-items:center;justify-content:space-between}.submenu-item:hover{background:#f5f5f5;color:#f26930}.submenu-item.active{background:transparent;color:#f26930;font-weight:500}.submenu-arrow{width:12px;height:12px;display:flex;align-items:center;justify-content:center;color:#999;transition:transform .2s;margin-left:8px;flex-shrink:0}.submenu-arrow.expanded{transform:rotate(0)}.submenu-item.active .submenu-arrow{color:#f26930}.nested-submenu{display:flex;flex-direction:column;background:transparent;margin-left:16px;margin-top:2px;margin-bottom:2px;animation:slideDown .3s ease}.nested-submenu-item{width:100%;padding:8px 16px;background:none;border:none;cursor:pointer;text-align:left;font-size:13px;color:#666;transition:all .2s;position:relative;font-weight:400}.nested-submenu-item:hover{background:#f5f5f5;color:#f26930}.nested-submenu-item.active{background:transparent;color:#f26930;font-weight:500}@media (max-width: 1024px){.app-sidebar{transform:translate(-100%);transition:transform .3s ease;z-index:1000;box-shadow:2px 0 10px #0000001a}.app-sidebar.open{transform:translate(0)}.app-sidebar.collapsed{width:0;transform:translate(-100%)}}@media (max-width: 768px){.app-sidebar{width:260px}.sidebar-user{padding:20px}.nav-item{padding:10px 20px}}@media (max-width: 480px){.app-sidebar{width:100%;max-width:280px}}.app-layout{display:flex;min-height:100vh;background-color:#f5f5f5;overflow-x:hidden;width:100%;max-width:100vw;position:relative}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;animation:fadeIn .3s ease}.main-container{flex:1;display:flex;flex-direction:column;margin-left:240px;width:calc(100% - 240px);max-width:calc(100vw - 240px);overflow-x:hidden;overflow-y:auto;transition:margin-left .3s ease,width .3s ease,max-width .3s ease;scrollbar-width:none;-ms-overflow-style:none}.main-container::-webkit-scrollbar{display:none}.main-container.sidebar-collapsed{margin-left:70px;width:calc(100% - 70px);max-width:calc(100vw - 70px)}.main-content{flex:1;padding:24px;overflow-y:auto;overflow-x:hidden;width:100%;scrollbar-width:none;-ms-overflow-style:none}.main-content::-webkit-scrollbar{display:none;width:0;height:0}@media (max-width: 1024px){.main-container,.main-container.sidebar-collapsed{margin-left:0;width:100%;max-width:100vw}.main-content{padding:20px}}@media (max-width: 768px){.main-content{padding:16px}}@media (max-width: 480px){.main-content{padding:12px}}.attendance-modal{background:#fff;border-radius:12px;width:100%;max-width:700px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.attendance-modal .modal-header{padding:20px 24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;background:#f9f9f9}.attendance-modal .modal-header h2{font-size:18px;font-weight:600;color:#333;margin:0}.modal-close-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;color:#666;transition:all .2s;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background:#e0e0e0;color:#333}.attendance-modal .modal-body{padding:24px;overflow-y:auto;flex:1}.employee-info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.employee-info-header .employee-label{font-size:13px;color:#666;margin-right:8px}.employee-info-header .employee-value{font-size:15px;font-weight:600;color:#333}.employee-info-header .employee-details{display:flex;align-items:center}.attendance-date{display:flex;align-items:center;gap:8px;font-size:13px;color:#666}.no-location-data,.no-images-data{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.no-location-data p,.no-images-data p{margin-top:16px;font-size:14px}.location-sections{display:flex;flex-direction:column;gap:24px}.location-section{border:1px solid #e0e0e0;border-radius:10px;overflow:hidden;background:#fafafa}.location-section.has-data{background:#fff}.location-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f5f5f5;border-bottom:1px solid #e0e0e0}.location-badge{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.location-badge.clock-in{color:#2e7d32}.location-badge.clock-out{color:#c62828}.location-time{font-size:14px;font-weight:600;color:#333;background:#fff;padding:4px 12px;border-radius:20px;border:1px solid #e0e0e0}.map-container{padding:16px}.map-container iframe{display:block;margin-bottom:12px}.location-details{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.coordinates{display:flex;align-items:center;gap:8px;font-size:12px;color:#666;font-family:Courier New,Courier,monospace}.view-map-link{display:flex;align-items:center;gap:6px;font-size:13px;color:#f26930;text-decoration:none;font-weight:500;transition:color .2s}.view-map-link:hover{color:#d4561e;text-decoration:underline}.no-location-placeholder{padding:40px 20px;text-align:center;color:#999;font-size:14px}.images-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media (max-width: 600px){.images-grid{grid-template-columns:1fr}}.image-section{border:1px solid #e0e0e0;border-radius:10px;overflow:hidden;background:#fafafa}.image-section.has-data{background:#fff}.image-header{padding:12px 16px;background:#f5f5f5;border-bottom:1px solid #e0e0e0}.image-badge{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.image-badge.clock-in{color:#2e7d32}.image-badge.clock-out{color:#c62828}.image-container{padding:16px}.attendance-image{width:100%;height:200px;object-fit:cover;border-radius:8px;background:#f0f0f0;display:block}.image-timestamp{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:10px 16px;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);border-radius:8px;font-size:14px;font-weight:600;color:#333}.image-timestamp svg{color:#f26930}.no-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#999}.no-image-placeholder span{margin-top:12px;font-size:13px}.attendance-modal .modal-footer{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:12px;background:#f9f9f9}.attendance-modal .btn-secondary{padding:10px 24px;border:1px solid #ddd;background:#fff;color:#666;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.attendance-modal .btn-secondary:hover{background:#f5f5f5;border-color:#ccc;color:#333}.attendance-modal .btn-primary{padding:10px 24px;border:none;background:linear-gradient(135deg,#f26930,#ff8c5a);color:#fff;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.attendance-modal .btn-primary:hover{background:linear-gradient(135deg,#d95a28,#f26930);box-shadow:0 4px 12px #f269304d}.edit-modal{max-width:500px}.edit-modal .date-info{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding:12px 16px;background:#f9f9f9;border-radius:8px;border:1px solid #e8e8e8}.edit-modal .date-label{font-size:13px;color:#666}.edit-modal .date-value{font-size:14px;font-weight:600;color:#333}.edit-modal .form-group{margin-bottom:20px}.edit-modal .form-group label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.edit-modal .form-group label svg{color:#666}.edit-modal .form-group .required{color:#e53935}.edit-modal .form-control{width:100%;padding:12px 14px;font-size:14px;border:1px solid #ddd;border-radius:8px;background:#fff;transition:all .2s;box-sizing:border-box}.edit-modal .form-control:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.edit-modal .form-control:disabled{background:#f5f5f5;cursor:not-allowed}.edit-modal textarea.form-control{resize:vertical;min-height:80px}.edit-modal .form-text{display:block;margin-top:6px;font-size:12px;color:#888}.edit-modal .alert{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.edit-modal .alert svg{flex-shrink:0;margin-top:1px}.edit-modal .alert-error{background:#ffebee;border:1px solid #ffcdd2;color:#c62828}.edit-modal .alert-success{background:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32}.edit-modal .info-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;margin-top:16px;font-size:13px;color:#1565c0}.edit-modal .info-notice svg{flex-shrink:0;margin-top:2px}.edit-modal .btn-primary{display:flex;align-items:center;justify-content:center;gap:8px}.edit-modal .btn-primary:disabled{opacity:.7;cursor:not-allowed}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.icon-btn.edit-icon{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;color:#1976d2;transition:all .2s;display:flex;align-items:center;justify-content:center}.icon-btn.edit-icon:hover{background:#e3f2fd;color:#1565c0}@media (max-width: 768px){.attendance-modal{max-width:100%;margin:10px;max-height:calc(100vh - 40px)}.attendance-modal .modal-header{padding:16px 20px}.attendance-modal .modal-body{padding:20px}.employee-info-header,.location-header{flex-direction:column;align-items:flex-start;gap:8px}.location-time{align-self:flex-start}.location-details{flex-direction:column;align-items:flex-start}.edit-modal{max-width:100%}}.notice-board-widget{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;height:100%;overflow:hidden}.widget-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.widget-title{font-size:16px;font-weight:600;color:#1f2937}.manage-link{font-size:13px;color:#f26930;cursor:pointer;text-decoration:none;font-weight:500;transition:color .2s}.manage-link:hover{color:#d55a24}.notices-list{flex:1;overflow-y:auto;padding:8px 0}.notice-item{display:flex;align-items:flex-start;gap:12px;padding:12px 20px;cursor:pointer;transition:background .2s;border-bottom:1px solid #f3f4f6}.notice-item:last-child{border-bottom:none}.notice-item:hover{background:#f9fafb}.notice-item:hover .notice-arrow{opacity:1;transform:translate(0)}.notice-icon-wrapper{width:40px;height:40px;border-radius:10px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notice-icon{font-size:18px}.notice-details{flex:1;min-width:0}.notice-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px}.notice-title-text{font-size:14px;font-weight:500;color:#1f2937;display:flex;align-items:center;gap:6px;flex-wrap:wrap;line-height:1.4}.pinned-badge{display:inline-flex;align-items:center;gap:3px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.priority-badge{display:inline-block;padding:3px 8px;font-size:10px;font-weight:600;border-radius:4px;text-transform:uppercase;flex-shrink:0;letter-spacing:.3px}.notice-excerpt-text{font-size:13px;color:#6b7280;line-height:1.5;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notice-meta{display:flex;align-items:center;gap:12px}.notice-time,.notice-author{display:flex;align-items:center;gap:4px;font-size:11px;color:#9ca3af}.notice-time svg,.notice-author svg{opacity:.7}.notice-arrow{display:flex;align-items:center;color:#d1d5db;opacity:0;transform:translate(-4px);transition:all .2s;margin-top:12px}.loading-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:12px;color:#6b7280;font-size:14px}.loading-spinner{width:24px;height:24px;border:2px solid #e5e7eb;border-top-color:#f26930;border-radius:50%;animation:spin .8s linear infinite}.empty-notices{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.empty-icon-wrapper{margin-bottom:12px}.empty-title{font-size:15px;font-weight:500;color:#6b7280;margin-bottom:4px}.empty-subtitle{font-size:13px;color:#9ca3af}.view-all-section{padding:12px 20px;border-top:1px solid #e5e7eb;text-align:center}.view-all-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#f26930;cursor:pointer;font-weight:500;transition:color .2s}.view-all-link:hover{color:#d55a24}.notice-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.notice-modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease}.notice-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.notice-modal-type{display:flex;align-items:center;gap:10px}.modal-type-icon{font-size:20px}.modal-type-label{font-size:13px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.modal-pinned-badge{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;font-size:11px;font-weight:600;padding:4px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.notice-modal-close{width:32px;height:32px;border-radius:8px;border:none;background:#fff;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 1px 2px #0000000d}.notice-modal-close:hover{background:#f3f4f6;color:#1f2937}.notice-modal-body{padding:24px;overflow-y:auto;flex:1}.notice-modal-title{font-size:22px;font-weight:600;color:#1f2937;margin:0 0 16px;line-height:1.3}.notice-modal-meta{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.modal-priority-badge{display:inline-block;padding:5px 10px;font-size:11px;font-weight:600;border-radius:6px;text-transform:uppercase;letter-spacing:.3px}.modal-date{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280}.notice-modal-excerpt{background:#f8f9fa;padding:16px 20px;border-radius:8px;margin-bottom:20px}.notice-modal-excerpt p{margin:0;font-size:14px;color:#555;font-style:italic;line-height:1.6}.notice-modal-content{font-size:15px;line-height:1.7;color:#374151}.notice-modal-content p{margin:0 0 12px}.notice-modal-content p:last-child{margin-bottom:0}.notice-modal-footer{margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.modal-footer-info{display:flex;justify-content:space-between;align-items:center}.modal-author{display:flex;align-items:center;gap:12px}.author-avatar{width:40px;height:40px;border-radius:10px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;color:#9ca3af}.author-details{display:flex;flex-direction:column}.author-label{font-size:11px;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.author-name{font-size:14px;font-weight:500;color:#1f2937}.modal-views{display:flex;align-items:center;gap:6px;font-size:13px;color:#9ca3af;background:#f3f4f6;padding:6px 12px;border-radius:20px}@media (max-width: 640px){.notice-modal{max-height:90vh;border-radius:12px}.notice-modal-header{padding:14px 18px}.notice-modal-body{padding:18px}.notice-modal-title{font-size:18px}.notice-modal-meta{flex-direction:column;align-items:flex-start;gap:8px}.modal-footer-info{flex-direction:column;align-items:flex-start;gap:12px}.modal-views{align-self:flex-start}.notice-item{padding:10px 16px}.notice-icon-wrapper{width:36px;height:36px}.notice-icon{font-size:16px}}.dashboard-page{max-width:100%;width:100%;margin:0 auto;overflow-x:hidden}.page-title{font-size:28px;font-weight:600;color:#333;margin-bottom:24px}.dashboard-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.dashboard-stat-card{border-radius:8px;padding:20px;position:relative;min-height:110px;display:flex;align-items:flex-start;justify-content:space-between;color:#fff}.dashboard-stat-left{display:flex;flex-direction:column;gap:4px}.dashboard-stat-label{font-size:15px;font-weight:500;color:#fff;opacity:.95}.dashboard-stat-number{font-size:42px;font-weight:700;color:#fff;line-height:1.1}.dashboard-stat-right{display:flex;align-items:center;justify-content:center}.dashboard-stat-right svg{opacity:.9}@media (max-width: 1200px){.dashboard-stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.dashboard-stats-row{grid-template-columns:1fr}.dashboard-stat-card{min-height:100px}.dashboard-stat-number{font-size:36px}}.content-grid{display:grid;grid-template-columns:350px 1fr;gap:24px;margin-bottom:24px}@media (min-width: 1600px){.content-grid{grid-template-columns:380px 1fr}}.left-column,.right-column{display:flex;flex-direction:column;gap:24px;min-width:0;overflow:hidden}.card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden;width:100%;display:flex;flex-direction:column}.card-header{padding:20px 24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.add-button{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:transform .2s}.add-button:hover{transform:scale(1.1)}.card-content{padding:24px;flex:1;overflow:auto}.empty-state{text-align:center;color:#999;padding:40px 20px;font-size:14px}.search-box input{width:240px;height:36px;padding:8px 36px 8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:13px;outline:none;transition:border-color .2s}.search-box svg{position:absolute;right:12px}.table-container{overflow-x:hidden;overflow-y:visible;width:100%;max-width:100%;flex:1;min-height:0}.notice-board{height:320px}.notice-board .card-content{flex:1;display:flex;align-items:center;justify-content:center}.attendance-table{height:320px}.attendance-table .table-container{flex:1;overflow-y:auto}@media (max-width: 768px){.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#f26930 #f5f5f5}.table-container::-webkit-scrollbar{height:8px}.table-container::-webkit-scrollbar-track{background:#f5f5f5}.table-container::-webkit-scrollbar-thumb{background:#f26930;border-radius:4px}}.data-table{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}@media (min-width: 1200px){.data-table{font-size:12px}}@media (min-width: 1400px){.data-table{font-size:13px}}.data-table thead{background:#f9f9f9;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.data-table th{padding:8px 6px;text-align:left;font-weight:600;color:#333;white-space:nowrap;font-size:inherit;overflow:hidden;text-overflow:ellipsis}.attendance-table .employee-table th:nth-child(1),.attendance-table .employee-table td:nth-child(1){width:5%}.attendance-table .employee-table th:nth-child(2),.attendance-table .employee-table td:nth-child(2){width:22%}.attendance-table .employee-table th:nth-child(3),.attendance-table .employee-table td:nth-child(3){width:10%}.attendance-table .employee-table th:nth-child(4),.attendance-table .employee-table td:nth-child(4){width:12%}.attendance-table .employee-table th:nth-child(5),.attendance-table .employee-table td:nth-child(5){width:12%}.attendance-table .employee-table th:nth-child(6),.attendance-table .employee-table td:nth-child(6){width:14%}.attendance-table .employee-table th:nth-child(7),.attendance-table .employee-table td:nth-child(7){width:10%}.attendance-table .employee-table th:nth-child(8),.attendance-table .employee-table td:nth-child(8){width:15%}.action-center .data-table th:nth-child(1){width:5%}.action-center .data-table th:nth-child(2){width:15%}.action-center .data-table th:nth-child(3){width:17%}.action-center .data-table th:nth-child(4){width:15%}.action-center .data-table th:nth-child(5){width:12%}.action-center .data-table th:nth-child(6){width:15%}.action-center .data-table th:nth-child(7){width:10%}.action-center .data-table th:nth-child(8){width:11%}.action-center .data-table td:nth-child(1){width:5%}.action-center .data-table td:nth-child(2){width:15%}.action-center .data-table td:nth-child(3){width:17%}.action-center .data-table td:nth-child(4){width:15%}.action-center .data-table td:nth-child(5){width:12%}.action-center .data-table td:nth-child(6){width:15%}.action-center .data-table td:nth-child(7){width:10%}.action-center .data-table td:nth-child(8){width:11%}@media (min-width: 1200px){.data-table th{padding:10px 12px}}@media (min-width: 1400px){.data-table th{padding:12px 16px}}.data-table th svg.sort-icon{margin-left:4px;vertical-align:middle;color:#999}.data-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s}.data-table tbody tr:hover{background:#f9f9f9}.data-table td{padding:8px 6px;color:#666;vertical-align:middle;font-size:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 1200px){.data-table td{padding:10px 12px}}@media (min-width: 1400px){.data-table td{padding:12px 16px}}.employee-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#f0f0f0}@media (min-width: 1200px){.employee-avatar{width:28px;height:28px}.employee-cell{gap:8px}}.employee-cell span{color:#333;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:capitalize;white-space:nowrap}@media (min-width: 1200px){.status-badge{padding:6px 10px;font-size:12px}}.status-present{background:#e8f5e9;color:#4caf50}.status-absent,.status-disapproved{background:#ffebee;color:#f44336}.status-approved{background:#e8f5e9;color:#4caf50}.status-pending{background:#fff9e6;color:#ff9800}.status-leave{background:#e3f2fd;color:#1976d2}.status-late{background:#fff3e0;color:#e65100}.status-rest-day{background:#f3e5f5;color:#7b1fa2}.worked-time{color:#4caf50!important;font-weight:600}.running-time{color:#4caf50!important;font-weight:400;font-family:Courier New,Courier,monospace;animation:pulse-running 1s ease-in-out infinite}.loading-state{text-align:center;padding:40px 20px;color:#f26930;font-size:14px;font-weight:500}.no-data{text-align:center;padding:40px 20px!important;color:#999;font-size:14px}.action-btn.location-btn:disabled{opacity:.3;cursor:not-allowed}.action-btn.location-btn:disabled:hover{transform:none}.action-buttons{display:flex;gap:4px;align-items:center;justify-content:center}.action-btn{background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:transform .2s;flex-shrink:0}@media (min-width: 1200px){.action-buttons{gap:6px}.action-btn{padding:4px}.action-btn svg{width:18px;height:18px}}.table-footer{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;align-items:center;gap:16px}.pagination-info{font-size:13px;color:#666}.view-all-link{margin-left:auto;color:#333;text-decoration:underline;font-size:13px;font-weight:600;transition:color .2s}.view-all-link:hover{color:#f26930}.pending-count{margin-left:auto;font-size:13px;font-weight:600;color:#f26930;background:#fff3e0;padding:4px 12px;border-radius:12px}.action-center .table-container{max-height:320px;overflow-y:auto}.action-table{table-layout:fixed;width:100%}.action-table th:nth-child(1){width:40px}.action-table th:nth-child(2){width:140px}.action-table th:nth-child(3){width:90px}.action-table th:nth-child(4){width:auto}.action-table th:nth-child(5){width:130px}.action-table th:nth-child(6){width:70px}.details-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-cell{font-size:11px;white-space:nowrap}.request-type-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;white-space:nowrap}.type-leave{background:#e3f2fd;color:#1565c0}.type-overtime{background:#f3e5f5;color:#7b1fa2}.type-undertime{background:#fff3e0;color:#e65100}.type-ob{background:#e8f5e9;color:#2e7d32}.type-cert{background:#fce4ec;color:#c2185b}.action-btn.approve-btn{color:#4caf50}.action-btn.approve-btn:hover{background:#e8f5e9;border-radius:4px}.action-btn.reject-btn{color:#f44336}.action-btn.reject-btn:hover{background:#ffebee;border-radius:4px}.action-btn:disabled:hover{transform:none;background:none}@media (max-width: 1400px){.content-grid{grid-template-columns:1fr}}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:16px}.content-grid{gap:20px}.card-header{padding:16px 20px}.card-content{padding:20px}.data-table{font-size:11px}}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr;gap:12px}.page-title{font-size:24px;margin-bottom:20px}.table-container{overflow-x:scroll}.stat-card{padding:20px;min-height:100px}.stat-value{font-size:32px}.stat-icon{width:50px;height:50px}.search-box input{width:180px;font-size:12px}.card-header{padding:14px 16px;flex-wrap:wrap;gap:12px}.card-title{font-size:16px}.data-table{font-size:10px}.data-table th,.data-table td{padding:6px 8px}.employee-avatar{width:24px;height:24px}.status-badge{padding:4px 8px;font-size:10px}.action-buttons{gap:6px}}@media (max-width: 480px){.page-title{font-size:20px}.stats-grid{gap:10px}.stat-card{padding:16px}.stat-title{font-size:13px}.stat-value{font-size:28px}.search-box,.search-box input{width:100%}.card-header{padding:12px 14px}.table-footer{padding:12px 16px;flex-wrap:wrap;gap:12px}.view-all-link{width:100%;text-align:center;margin-left:0}}.login-notice-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:loginNoticeOverlayFade .3s ease}@keyframes loginNoticeOverlayFade{0%{opacity:0}to{opacity:1}}.login-notice-modal{background:#fff;border-radius:20px;width:100%;max-width:520px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 60px -12px #00000059;animation:loginNoticeSlideUp .4s ease}@keyframes loginNoticeSlideUp{0%{transform:translateY(40px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.login-notice-banner{background:linear-gradient(135deg,#f26930,#fba91a);padding:24px 28px;display:flex;align-items:center;gap:16px}.banner-icon{width:56px;height:56px;background:#fff3;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.banner-text h2{margin:0 0 4px;font-size:22px;font-weight:600;color:#fff}.banner-text p{margin:0;font-size:14px;color:#ffffffe6}.login-notice-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.notice-type-info{display:flex;align-items:center;gap:10px}.type-icon{font-size:20px}.type-label{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.pinned-indicator{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;font-size:11px;font-weight:600;padding:4px 10px;border-radius:5px;text-transform:uppercase;letter-spacing:.3px}.close-btn{width:36px;height:36px;border-radius:10px;border:none;background:#fff;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 4px #0000000d}.close-btn:hover{background:#f3f4f6;color:#1f2937;transform:scale(1.05)}.login-notice-body{padding:24px;overflow-y:auto;flex:1}.login-notice-body .notice-title{font-size:22px;font-weight:700;color:#1f2937;margin:0 0 16px;line-height:1.3}.notice-meta-info{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}.priority-tag{display:inline-block;padding:6px 12px;font-size:11px;font-weight:700;border-radius:6px;text-transform:uppercase;letter-spacing:.4px}.date-info{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280}.date-info svg{opacity:.7}.notice-summary{background:#f8f9fa;padding:16px 20px;border-radius:8px;margin-bottom:20px}.notice-summary p{margin:0;font-size:14px;color:#555;font-style:italic;line-height:1.6}.notice-full-content{font-size:15px;line-height:1.8;color:#374151}.notice-full-content p{margin:0 0 14px}.notice-full-content p:last-child{margin-bottom:0}.notice-author-info{margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb;display:flex;align-items:center;gap:14px}.login-notice-body .author-avatar{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);display:flex;align-items:center;justify-content:center;color:#9ca3af}.author-text{display:flex;flex-direction:column}.author-text .author-label{font-size:11px;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.author-text .author-name{font-size:14px;font-weight:600;color:#1f2937}.login-notice-footer{padding:20px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.acknowledge-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;background:linear-gradient(135deg,#f26930,#fba91a);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #f269304d}.acknowledge-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f2693066}.acknowledge-btn:active{transform:translateY(0)}@media (max-width: 640px){.login-notice-modal{max-height:90vh;border-radius:16px}.login-notice-banner{padding:20px}.banner-icon{width:48px;height:48px}.banner-icon svg{width:26px;height:26px}.banner-text h2{font-size:18px}.banner-text p{font-size:13px}.login-notice-header{padding:14px 18px}.login-notice-body{padding:18px}.login-notice-body .notice-title{font-size:18px}.notice-meta-info{flex-direction:column;align-items:flex-start;gap:10px}.login-notice-footer{padding:16px 18px}.acknowledge-btn{padding:12px 20px;font-size:14px}}.employee-list-page{max-width:100%;width:100%;overflow-x:hidden}.employee-list-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.employee-list-header{padding:20px 24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.employee-table{table-layout:fixed}.employee-table th:nth-child(1){width:4%}.employee-table th:nth-child(2){width:15%}.employee-table th:nth-child(3){width:11%}.employee-table th:nth-child(4){width:10%}.employee-table th:nth-child(5){width:14%}.employee-table th:nth-child(6){width:7%}.employee-table th:nth-child(7){width:10%}.employee-table th:nth-child(8){width:11%}.employee-table th:nth-child(9){width:8%}.employee-table th:nth-child(10){width:10%}.employee-table td:nth-child(1){width:4%}.employee-table td:nth-child(2){width:15%}.employee-table td:nth-child(3){width:11%}.employee-table td:nth-child(4){width:10%}.employee-table td:nth-child(5){width:14%}.employee-table td:nth-child(6){width:7%}.employee-table td:nth-child(7){width:10%}.employee-table td:nth-child(8){width:11%}.employee-table td:nth-child(9){width:8%}.employee-table td:nth-child(10){width:10%}.employee-name-cell{display:flex;align-items:center;gap:8px;overflow:hidden}.employee-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#f0f0f0}.employee-avatar img{width:100%;height:100%;object-fit:cover;display:block}.employee-name-cell span{color:#333;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}@media (max-width: 1024px){.employee-list-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:flex-start}.search-box input{width:200px}}@media (max-width: 768px){.page-title{font-size:24px}.breadcrumb{font-size:12px}.employee-list-header{padding:16px 20px}.header-actions{flex-direction:column;align-items:stretch}.search-box,.search-box input{width:100%}.btn{justify-content:center;width:100%}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}table{font-size:11px}table th,table td{padding:3px 6px}.employee-avatar{width:24px;height:24px}}@media (max-width: 480px){.page-title{font-size:20px}.employee-list-header{padding:14px 16px}.card-title{font-size:16px}.btn{font-size:13px;padding:8px 14px}.table-footer{padding:12px 16px}}:root{--modal-overlay-bg: rgba(15, 23, 42, .6);--modal-bg: #ffffff;--modal-border-radius: 12px;--modal-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);--modal-primary: #f26930;--modal-primary-light: #ff8c5a;--modal-primary-bg: rgba(242, 105, 48, .08);--modal-success: #10b981;--modal-success-light: #34d399;--modal-success-bg: rgba(16, 185, 129, .08);--modal-danger: #ef4444;--modal-danger-light: #f87171;--modal-danger-bg: rgba(239, 68, 68, .08);--modal-warning: #f59e0b;--modal-warning-bg: rgba(245, 158, 11, .08);--modal-text-primary: #1e293b;--modal-text-secondary: #64748b;--modal-text-muted: #94a3b8;--modal-border: #e2e8f0;--modal-border-light: #f1f5f9;--modal-padding: 24px;--modal-gap: 16px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:modalOverlayFadeIn .2s ease-out}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--modal-bg);border-radius:var(--modal-border-radius);max-width:520px;width:100%;max-height:calc(100vh - 40px);overflow:hidden;box-shadow:var(--modal-shadow);display:flex;flex-direction:column;animation:modalSlideIn .25s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content.modal-large{max-width:680px}.modal-content.modal-xl{max-width:900px}.modal-content.approval-modal{max-width:560px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px var(--modal-padding);border-bottom:1px solid var(--modal-border);background:linear-gradient(to bottom,#fafafa,#fff);flex-shrink:0}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:var(--modal-text-primary);letter-spacing:-.01em}.modal-close{background:transparent;border:none;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--modal-text-secondary);font-size:24px;line-height:1;transition:all .15s ease}.modal-close:hover{background:var(--modal-border-light);color:var(--modal-text-primary)}.modal-header.approval-header{background:linear-gradient(135deg,var(--modal-success-bg) 0%,rgba(16,185,129,.15) 100%);border-bottom:2px solid var(--modal-success)}.modal-header.approval-header h2{color:#047857}.modal-header.disapproval-header{background:linear-gradient(135deg,var(--modal-danger-bg) 0%,rgba(239,68,68,.15) 100%);border-bottom:2px solid var(--modal-danger)}.modal-header.disapproval-header h2{color:#b91c1c}.modal-body{padding:var(--modal-padding);overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px var(--modal-padding);border-top:1px solid var(--modal-border);background:#fafafa;flex-shrink:0}.form-group{margin-bottom:var(--modal-gap)}.form-group>label{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--modal-text-primary);letter-spacing:.01em}.form-group>label .required{color:var(--modal-danger);margin-left:2px}.form-group input[type=text],.form-group input[type=tel],.form-group input[type=url],.form-group input[type=email],.form-group input[type=number],.form-group input[type=date],.form-group input[type=time],.form-group input[type=datetime-local],.form-group select,.form-group textarea{width:100%;padding:11px 14px;border:1.5px solid var(--modal-border);border-radius:8px;font-size:14px;color:var(--modal-text-primary);background-color:#fff;transition:all .15s ease;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--modal-primary);box-shadow:0 0 0 3px var(--modal-primary-bg)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--modal-text-muted)}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.form-group textarea{resize:vertical;min-height:80px;line-height:1.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--modal-gap)}.form-row .form-group{margin-bottom:var(--modal-gap)}.checkbox-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--modal-gap);margin-bottom:var(--modal-gap)}.checkbox-group{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--modal-border-light);border:1.5px solid var(--modal-border);border-radius:8px;cursor:pointer;transition:all .15s ease}.checkbox-group:hover,.checkbox-group.checked{border-color:var(--modal-primary);background:var(--modal-primary-bg)}.checkbox-group input[type=checkbox]{position:relative;width:20px;height:20px;margin:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:2px solid var(--modal-border);border-radius:5px;transition:all .15s ease;flex-shrink:0}.checkbox-group input[type=checkbox]:checked{background:var(--modal-primary);border-color:var(--modal-primary)}.checkbox-group input[type=checkbox]:checked:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-group input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px var(--modal-primary-bg)}.checkbox-group .checkbox-label{font-size:14px;font-weight:500;color:var(--modal-text-primary);-webkit-user-select:none;user-select:none}.checkbox-group .checkbox-hint{font-size:12px;color:var(--modal-text-secondary);margin-top:2px}.form-group.checkbox-inline{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--modal-border-light);border:1.5px solid var(--modal-border);border-radius:8px;cursor:pointer;transition:all .15s ease}.form-group.checkbox-inline:hover{border-color:var(--modal-primary)}.form-group.checkbox-inline input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--modal-primary)}.form-group.checkbox-inline label{margin:0;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px}.section-title{font-size:13px;font-weight:700;color:var(--modal-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid var(--modal-primary);display:inline-block}.detail-item .detail-label,.detail-item label{font-size:11px;font-weight:700;color:var(--modal-text-muted);text-transform:uppercase;letter-spacing:.05em}.detail-item .detail-value,.detail-item span:not(.status-badge):not(.severity-badge){font-size:14px;font-weight:500;color:var(--modal-text-primary)}.reason-text{margin:0;font-size:14px;color:var(--modal-text-primary);line-height:1.6;background:var(--modal-border-light);padding:14px 16px;border-radius:8px;border:1px solid var(--modal-border)}.workflow-timeline{display:flex;flex-direction:column;gap:0;padding:8px 0}.step-number{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;background-color:var(--modal-text-muted);z-index:1;flex-shrink:0}.step-line{width:2px;flex:1;min-height:32px;background-color:var(--modal-border)}.step-content{flex:1;padding-bottom:24px;min-width:0}.step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;flex-wrap:wrap;gap:8px}.step-title{font-size:14px;font-weight:600;color:var(--modal-text-primary)}.step-status{font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.step-details{display:flex;flex-direction:column;gap:6px}.approver-name{font-size:13px;font-weight:500;color:var(--modal-text-secondary)}.action-date-container{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--modal-border-light);border-radius:6px;width:fit-content}.action-date-label{font-size:11px;font-weight:600;color:var(--modal-text-secondary)}.action-date{font-size:12px;font-weight:500;color:var(--modal-text-primary)}.step-remarks{margin-top:8px;padding:10px 14px;background:var(--modal-border-light);border-radius:6px;font-size:13px;color:var(--modal-text-secondary);font-style:italic}.step-remarks .remarks-label{font-weight:600;color:var(--modal-text-primary);font-style:normal;margin-right:4px}.workflow-step.workflow-approved .step-number,.workflow-step.workflow-approved .step-line{background:var(--modal-success)}.workflow-step.workflow-rejected .step-number,.workflow-step.workflow-rejected .step-line{background:var(--modal-danger)}.workflow-step.workflow-pending .step-number{background:var(--modal-warning)}.workflow-step.workflow-waiting .step-number{background:#6366f1}.workflow-step.workflow-skipped .step-number{background:var(--modal-text-muted)}.confirmation-banner{display:flex;align-items:flex-start;gap:16px;padding:16px 18px;border-radius:10px;margin-bottom:20px}.confirmation-banner.approve-banner{background:var(--modal-success-bg);border:1px solid rgba(16,185,129,.25)}.confirmation-banner.disapprove-banner{background:var(--modal-danger-bg);border:1px solid rgba(239,68,68,.25)}.confirmation-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#fff;box-shadow:0 1px 3px #00000014}.confirmation-text{flex:1;padding-top:2px}.confirmation-title{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--modal-text-primary)}.confirmation-subtitle{margin:0;font-size:13px;color:var(--modal-text-secondary);line-height:1.5}.disapprove-banner .confirmation-subtitle{color:var(--modal-danger);font-weight:500}.approval-details{margin-bottom:20px;padding:16px;background:var(--modal-border-light);border-radius:10px;border:1px solid var(--modal-border)}.approval-details h4{margin:0 0 14px;font-size:12px;font-weight:700;color:var(--modal-text-secondary);text-transform:uppercase;letter-spacing:.05em}.approval-details .employee-name{font-weight:600;color:var(--modal-primary)}.btn{padding:11px 20px;border-radius:8px;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg,var(--modal-primary) 0%,var(--modal-primary-light) 100%);color:#fff;box-shadow:0 2px 8px #f2693040}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f2693059}.btn-secondary{background:#fff;color:var(--modal-text-secondary);border:1.5px solid var(--modal-border)}.btn-secondary:hover:not(:disabled){background:var(--modal-border-light);border-color:var(--modal-text-muted)}.btn-approve{background:linear-gradient(135deg,var(--modal-success) 0%,var(--modal-success-light) 100%);color:#fff;box-shadow:0 2px 8px #10b98140}.btn-approve:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98159}.btn-disapprove,.btn-danger{background:linear-gradient(135deg,var(--modal-danger) 0%,var(--modal-danger-light) 100%);color:#fff;box-shadow:0 2px 8px #ef444440}.btn-disapprove:hover:not(:disabled),.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ef444459}.btn-success{background:linear-gradient(135deg,var(--modal-success) 0%,var(--modal-success-light) 100%);color:#fff;box-shadow:0 2px 8px #10b98140}.btn-success:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98159}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-badge.status-approved,.status-badge.status-active{background:var(--modal-success-bg);color:#047857}.status-badge.status-pending{background:var(--modal-warning-bg);color:#b45309}.status-badge.status-rejected{background:var(--modal-danger-bg);color:#b91c1c}.status-badge.status-cancelled,.status-badge.status-inactive{background:var(--modal-border-light);color:var(--modal-text-muted)}.status-badge.status-waiting{background:#6366f11a;color:#4338ca}.status-badge.status-skipped{background:var(--modal-border-light);color:var(--modal-text-muted)}.approval-type-badge{font-size:9px;padding:3px 8px;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.approval-type-badge.sequential{background:#3b82f61a;color:#1d4ed8}.approval-type-badge.anyone{background:#a855f71a;color:#7c3aed}@media (max-width: 768px){.modal-content{max-width:100%;max-height:calc(100vh - 20px);margin:10px;border-radius:10px}.modal-header{padding:16px 20px}.modal-header h2{font-size:16px}.modal-body{padding:20px}.modal-footer{padding:14px 20px}.form-row,.checkbox-row,.detail-grid{grid-template-columns:1fr}.step-header{flex-direction:column;align-items:flex-start}.confirmation-banner{flex-direction:column;text-align:center;align-items:center}}@media (max-width: 480px){.modal-overlay{padding:10px}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}.modal-footer .btn-secondary{order:1}}.date-input-wrapper{display:flex;flex-direction:column;gap:6px}.date-input-label{font-size:13px;font-weight:500;color:#374151}.date-input-label .required-mark{color:#ef4444;margin-left:2px}.date-input-container{position:relative;display:flex;align-items:center;height:40px;padding:0 12px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;transition:all .15s ease}.date-input-container:hover:not(.disabled){border-color:#9ca3af}.date-input-container:focus-within{border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.date-input-container.disabled{background:#f9fafb;cursor:not-allowed;opacity:.7}.date-input-display{flex:1;font-size:14px;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-placeholder{color:#9ca3af}.date-input-icon{flex-shrink:0;color:#6b7280;margin-left:8px;pointer-events:none}.date-input-container:focus-within .date-input-icon{color:#f26930}.date-input-native{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;pointer-events:none}.date-input-native:focus{outline:none}.date-input-container:active .date-input-native,.date-input-container:focus-within .date-input-native{pointer-events:auto}.date-input-wrapper.compact .date-input-container{height:36px;padding:0 10px}.date-input-wrapper.compact .date-input-display{font-size:13px}.date-input-wrapper.compact .date-input-icon{width:16px;height:16px}.date-input-wrapper.inline{gap:0}.date-input-wrapper.error .date-input-container{border-color:#ef4444}.date-input-wrapper.error .date-input-container:focus-within{box-shadow:0 0 0 3px #ef44441a}.add-employee-page{max-width:100%;width:100%;overflow-x:hidden}.add-employee-page .page-header{margin-bottom:24px}.add-employee-page .page-title{font-size:24px;font-weight:600;color:#333;margin:0 0 8px}.add-employee-page .breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.add-employee-page .breadcrumb-item{color:#666}.add-employee-page .breadcrumb-item.active{color:#f26930;font-weight:500}.add-employee-page .breadcrumb-separator{color:#999}.add-employee-page .tabs-container{display:flex;gap:4px;margin-bottom:0;background-color:#fafafa;padding:4px;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.add-employee-page .tabs-container::-webkit-scrollbar{display:none}.add-employee-page .tab-btn{padding:12px 28px;border:none;background-color:transparent;color:#666;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease;border-radius:6px;position:relative;white-space:nowrap}.add-employee-page .tab-btn:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:3px;background:linear-gradient(135deg,#f26930,#ff8c5a);border-radius:3px 3px 0 0;transition:width .3s ease}.add-employee-page .tab-btn:hover{background-color:#f2693014;color:#f26930}.add-employee-page .tab-btn.active{background-color:#fff;color:#f26930;font-weight:600;box-shadow:0 2px 8px #0000000f}.add-employee-page .tab-btn.active:after{width:60%}.employee-form-card{background-color:#fff;border-radius:0 0 8px 8px;padding:32px;box-shadow:0 2px 8px #00000014}.error-alert{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:#ffebee;border:1px solid #f44336;border-radius:6px;color:#c62828;font-size:14px;margin-bottom:24px}.form-section{margin-bottom:32px}.section-title{font-size:18px;font-weight:600;color:#333;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.profile-photo-section{display:flex;justify-content:center;margin-bottom:24px}.profile-photo-upload{text-align:center}.photo-preview{width:120px;height:120px;border-radius:8px;border:2px solid #ddd;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;overflow:hidden;background-color:#f9f9f9}.photo-preview img{width:100%;height:100%;object-fit:cover}.upload-label{display:block;color:#666;font-size:13px;cursor:pointer;margin-top:8px}.upload-label:hover{color:#f26930}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-row .full-width{grid-column:1 / -1}.form-group{display:flex;flex-direction:column}.form-group label{font-size:14px;font-weight:500;color:#333;margin-bottom:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.form-group .required{color:#f26930;margin-left:2px}.field-hint{display:block;font-size:12px;color:#666;margin-top:4px;font-style:italic}.auto-calculated-badge{font-size:10px;font-weight:500;color:#27ae60;background:#27ae601a;padding:2px 8px;border-radius:10px;text-transform:uppercase}.form-group input.auto-calculated{background-color:#f0fff4;border-color:#27ae60}.form-group input.auto-calculated:focus{border-color:#27ae60;box-shadow:0 0 0 3px #27ae601a}.form-group input,.form-group select,.form-group textarea{padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;transition:border-color .3s ease;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#f26930}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#f44336}.error-text{color:#f44336;font-size:12px;margin-top:4px}.help-text{color:#999;font-size:12px;margin-top:4px}.radio-group{display:flex;gap:24px;margin-top:8px}.radio-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#333;cursor:pointer;font-weight:400}.radio-label input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:#f26930}.form-actions{display:flex;justify-content:center;gap:24px;margin-top:32px;padding-top:24px;border-top:1px solid #f0f0f0}.btn{padding:12px 32px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:150px}.btn-orange:hover:not(:disabled){background-color:#e55a20;transform:translateY(-1px);box-shadow:0 2px 4px #f269304d}.btn-orange:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0069d9;transform:translateY(-1px);box-shadow:0 2px 4px #007bff4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.placeholder-content{text-align:center;padding:60px 20px}.placeholder-content p{font-size:16px;color:#666;margin-bottom:20px}@media (max-width: 768px){.tabs-container{padding:8px;gap:4px}.tab-button{padding:8px 16px;font-size:13px}.employee-form-card{padding:20px}.form-row{grid-template-columns:1fr;gap:16px}.section-title{font-size:16px}.photo-preview{width:100px;height:100px}}@media (max-width: 480px){.add-employee-page .page-title{font-size:20px}.tabs-container{flex-wrap:wrap}.tab-button{flex:1;min-width:calc(50% - 4px)}.employee-form-card{padding:16px}.form-actions{flex-direction:column}.btn{width:100%}}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-subtitle{font-size:16px;font-weight:600;color:#333;margin:0 0 16px}.approver-row .approver-input-group{display:flex;gap:8px;align-items:center}.approver-input-group select{flex:1}.btn-icon{width:32px;height:32px;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;transition:all .3s ease}.btn-icon.btn-add{background-color:#4caf50;color:#fff}.btn-icon.btn-add:hover{background-color:#45a049}.btn-icon.btn-remove{background-color:#f44336;color:#fff}.btn-icon.btn-remove:hover{background-color:#da190b}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#333;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#f26930}.checkbox-item-with-input{display:flex;justify-content:space-between;align-items:center;padding:8px;background-color:#f9f9f9;border-radius:4px}.checkbox-item-with-input .checkbox-label{flex:1}.inline-input{width:80px;padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:14px;margin-left:4px}.btn-icon-small{width:24px;height:24px;border:none;background-color:transparent;color:#f26930;cursor:pointer;font-size:16px}.btn-icon-small:hover{color:#e55a20}.section-hint{display:block;font-size:12px;color:#888;margin-bottom:12px}.select-all-label{padding-bottom:8px;border-bottom:1px solid #e0e0e0;margin-bottom:4px;font-weight:500}.empty-compensation-list{padding:20px;text-align:center;background-color:#f5f5f5;border-radius:8px;color:#888}.empty-compensation-list p{margin:0 0 8px;font-size:14px}.empty-compensation-list small{font-size:12px;color:#aaa}.compensation-name{flex:1;font-weight:400}.compensation-separator{margin:0 8px;color:#ccc}.compensation-currency{color:#666;margin-right:4px}.compensation-calc-type{margin-left:8px;font-size:12px;color:#888;font-style:italic}.compensation-amount-wrapper{display:flex;align-items:center;margin-left:auto}.checkbox-item-with-input.government-mandated{background-color:#f5f5f5}.govt-badge-small{display:inline-block;padding:2px 6px;margin-left:6px;font-size:10px;font-weight:600;color:#fff;background-color:#4caf50;border-radius:4px;text-transform:uppercase;vertical-align:middle}.inline-input:disabled{background-color:#f0f0f0;cursor:not-allowed;color:#999}.shift-schedule-table{width:100%;overflow-x:auto;margin-top:20px}.shift-schedule-table table{width:100%;border-collapse:collapse;background-color:#fff}.shift-schedule-table th,.shift-schedule-table td{padding:12px;text-align:left;border:1px solid #e0e0e0}.shift-schedule-table th{background-color:#f5f5f5;font-weight:600;font-size:13px;color:#333}.shift-schedule-table td{font-size:14px;color:#666}.shift-schedule-table input[type=time]{width:100%;padding:6px;border:1px solid #ddd;border-radius:4px;font-size:13px}.shift-schedule-table .toggle-switch{width:40px;height:20px;cursor:pointer}.education-item,.work-item{padding:20px;margin-bottom:20px;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px}.item-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.btn-icon-large,.btn-remove-large,.btn-add-large{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-remove-large{background-color:#f44336;color:#fff}.btn-remove-large:hover{background-color:#da190b}.btn-add-large{background-color:#4caf50;color:#fff}.btn-add-large:hover{background-color:#45a049}.btn-success{background-color:#4caf50;color:#fff}.btn-success:hover{background-color:#45a049;transform:translateY(-1px);box-shadow:0 2px 4px #4caf504d}.empty-state{text-align:center;padding:40px 20px;color:#999;font-size:14px}.preview-section{padding:20px 0}.preview-card{background-color:#fff;border-radius:8px;overflow:hidden}.preview-header{display:flex;gap:24px;padding:32px;background:linear-gradient(135deg,#f26930,#e55a20);color:#fff}.preview-photo{width:120px;height:120px;border-radius:50%;overflow:hidden;border:4px solid white;flex-shrink:0}.preview-photo img{width:100%;height:100%;object-fit:cover}.preview-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#ddd;color:#999;font-size:14px}.preview-basic-info{display:flex;flex-direction:column;justify-content:center}.preview-basic-info h2{margin:0 0 8px;font-size:28px;font-weight:600}.preview-designation{font-size:16px;margin:0 0 4px;opacity:.9}.preview-department{font-size:14px;margin:0;opacity:.8}.preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;padding:32px}.preview-section-block{background-color:#f9f9f9;padding:20px;border-radius:8px}.preview-section-block h4{font-size:16px;font-weight:600;color:#333;margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid #e0e0e0}.preview-item{padding:8px 0;font-size:14px;color:#666;display:flex;gap:8px}.preview-item strong{color:#333;min-width:140px}@media (max-width: 768px){.preview-header{flex-direction:column;text-align:center;align-items:center}.preview-grid{grid-template-columns:1fr}.preview-basic-info h2{font-size:24px}}input[type=file]{padding:8px;border:1px solid #ddd;border-radius:6px;font-size:14px;cursor:pointer;background-color:#fff}input[type=file]::-webkit-file-upload-button{padding:6px 12px;border:none;background-color:#f26930;color:#fff;border-radius:4px;cursor:pointer;margin-right:12px}input[type=file]::-webkit-file-upload-button:hover{background-color:#e55a20}.section-divider{border-top:1px solid #eee;padding-top:20px;margin-top:16px;margin-bottom:16px}.section-divider h4{margin:0;font-size:15px;font-weight:600;color:#333}.form-hint{display:block;font-size:12px;color:#888;margin-top:4px}.checkbox-text{font-weight:500}.form-group.full-width{flex:1 1 100%}.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;min-height:60px}.form-group textarea:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.form-group textarea::placeholder{color:#999}.scheduling-page{padding-bottom:30px}.page-title{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 4px}.page-subtitle{font-size:14px;color:#64748b;margin:0}.scheduling-filters{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.filters-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}.filter-group label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.filter-group select,.filter-group input[type=date]{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;background:#fff;min-width:180px;cursor:pointer;transition:all .2s ease}.filter-group select:hover,.filter-group input[type=date]:hover{border-color:#cbd5e1}.filter-group select:focus,.filter-group input[type=date]:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px #f973161a}.filters-row-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #f1f5f9}.legend{display:flex;gap:24px}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b}.legend-dot{width:10px;height:10px;border-radius:50%}.dot-on-duty{background:#22c55e}.dot-on-leave{background:#3b82f6}.dot-rest-day{background:#94a3b8}.view-toggle{display:flex;gap:0;border:1px solid #f97316;border-radius:8px;overflow:hidden}.view-toggle .toggle-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;background:#fff;color:#f97316;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.view-toggle .toggle-btn:first-child{border-right:1px solid #f97316}.view-toggle .toggle-btn.active{background:#f97316;color:#fff}.view-toggle .toggle-btn:hover:not(.active){background:#fff7ed}.scheduling-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#64748b}.loading-state .spinner{width:40px;height:40px;border:3px solid #f1f5f9;border-top-color:#f97316;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state h3{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 8px}.empty-state p{font-size:14px;color:#64748b;margin:0;max-width:400px}.empty-state-instructions{margin-top:24px;text-align:left;background:#f8fafc;padding:20px 24px;border-radius:12px;max-width:400px}.empty-state-instructions p{margin-bottom:12px;color:#374151}.empty-state-instructions ol{margin:0;padding-left:20px;color:#64748b}.empty-state-instructions li{margin-bottom:8px;font-size:13px;line-height:1.5}.empty-state-instructions li:last-child{margin-bottom:0}.empty-state-instructions strong{color:#374151}.default-view{overflow:hidden}.schedule-table-wrapper{overflow-x:auto;max-height:calc(100vh - 350px);overflow-y:auto;position:relative}.schedule-table{width:max-content;border-collapse:separate;border-spacing:0;table-layout:fixed}.schedule-table thead{position:sticky;top:0;z-index:10}.schedule-table th{background:#f8fafc;padding:12px 10px;font-size:12px;font-weight:600;color:#64748b;text-align:left;border-bottom:1px solid #e2e8f0;white-space:nowrap}.schedule-table th.col-branch{width:100px;min-width:100px;position:sticky;left:0;z-index:12;background:#f8fafc;border-right:1px solid #e2e8f0}.schedule-table th.col-employee{width:160px;min-width:160px;position:sticky;left:100px;z-index:12;background:#f8fafc;border-right:2px solid #e2e8f0;box-shadow:4px 0 8px -4px #0000001a}.schedule-table th.col-date{width:180px;min-width:180px;text-align:center;padding:12px 8px}.schedule-table th.col-date.weekend{background:#fef3c7}.schedule-table th.col-date.today{background:#dbeafe}.date-header{display:flex;flex-direction:column;align-items:center;gap:2px}.date-month{font-size:13px;font-weight:600;color:#1e293b}.date-day{font-size:11px;font-weight:500;color:#64748b}.schedule-table td{padding:8px;border-bottom:1px solid #f1f5f9;vertical-align:top}.schedule-table td.col-branch{width:100px;min-width:100px;position:sticky;left:0;background:#fff;z-index:5;border-right:1px solid #e2e8f0}.schedule-table td.col-employee{width:160px;min-width:160px;position:sticky;left:100px;background:#fff;z-index:5;border-right:2px solid #e2e8f0;box-shadow:4px 0 8px -4px #0000001a}.schedule-table td.col-schedule{width:180px;min-width:180px;cursor:pointer;transition:background .15s ease}.schedule-table td.col-schedule:hover{background:#f8fafc}.schedule-table td.weekend{background:#fffbeb}.schedule-table td.today{background:#eff6ff}.schedule-table tr:hover td.col-branch,.schedule-table tr:hover td.col-employee{background:#f8fafc}.schedule-table td.on-leave-cell{cursor:not-allowed}.schedule-table td.on-leave-cell:hover{background:#dbeafe}.schedule-cell.leave-display{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:100px;cursor:not-allowed}.leave-icon{color:#3b82f6;margin-bottom:8px}.leave-info{display:flex;flex-direction:column;gap:4px}.leave-label{font-size:13px;font-weight:600;color:#1d4ed8}.leave-type{font-size:11px;color:#3b82f6;background:#dbeafe;padding:2px 8px;border-radius:4px}.branch-name{font-size:13px;color:#64748b}.employee-info{display:flex;align-items:center;gap:10px}.employee-avatar{width:36px;height:36px;border-radius:50%;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#64748b;overflow:hidden;flex-shrink:0}.employee-avatar img{width:100%;height:100%;object-fit:cover}.schedule-table td.no-schedule{background:#fafafa}.schedule-table td.no-schedule:hover{background:#f1f5f9}.schedule-table td.no-schedule .schedule-cell{border:2px dashed #d1d5db;border-radius:8px;padding:8px;min-height:100px;transition:all .2s ease;background:transparent}.schedule-table td.no-schedule:hover .schedule-cell{border-color:#f97316;border-style:dashed;background:#fff7ed}.schedule-table td.has-schedule{background:#f0fdf4}.schedule-table td.has-schedule:hover{background:#dcfce7}.schedule-table td.has-schedule .schedule-cell{border:2px solid #22c55e;border-radius:8px;padding:8px;min-height:100px;transition:all .2s ease;background:#fff}.schedule-table td.has-schedule:hover .schedule-cell{border-color:#16a34a;box-shadow:0 2px 8px #22c55e33}.empty-schedule-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70px;color:#9ca3af}.empty-schedule-placeholder svg{color:#d1d5db;margin-bottom:6px}.empty-schedule-placeholder span{font-size:12px;font-weight:500}.schedule-table td.no-schedule:hover .empty-schedule-placeholder{color:#f97316}.schedule-table td.no-schedule:hover .empty-schedule-placeholder svg{color:#f97316}.schedule-cell{border:2px dashed #e2e8f0;border-radius:8px;padding:8px;min-height:100px;transition:all .2s ease}.schedule-cell:hover{border-color:#f97316;border-style:solid}.schedule-cell.status-on-duty{border-color:#22c55e;border-style:solid;background:#f0fdf4}.schedule-cell.status-on-leave{border-color:#3b82f6;border-style:solid;background:#eff6ff}.schedule-cell.status-rest-day{border-color:#94a3b8;border-style:solid;background:#f8fafc}.schedule-cell.status-absent{border-color:#ef4444;border-style:solid;background:#fef2f2}.cell-actions{display:flex;justify-content:flex-end;gap:4px;margin-bottom:8px}.cell-action-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#94a3b8;cursor:pointer;border-radius:4px;transition:all .15s ease}.cell-action-btn:hover{background:#f1f5f9;color:#64748b}.cell-content{display:flex;flex-direction:column;gap:6px}.cell-row{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b}.cell-row svg{flex-shrink:0;color:#94a3b8}.cell-row.add-note{color:#94a3b8;cursor:pointer}.cell-row.add-note:hover{color:#f97316}.cell-notes{font-style:italic;color:#94a3b8}.calendar-view{padding:24px;background:#fff}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #f1f5f9}.calendar-nav{display:flex;align-items:center;gap:16px}.calendar-title{font-size:24px;font-weight:700;color:#1e293b;min-width:200px;text-align:center;margin:0}.calendar-nav-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:2px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;cursor:pointer;transition:all .2s ease}.calendar-nav-btn:hover{background:#f97316;border-color:#f97316;color:#fff;transform:scale(1.05)}.calendar-stats-summary{display:flex;gap:16px}.summary-stat{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:10px;border:1px solid #e2e8f0}.summary-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff;border-radius:8px;color:#f97316}.summary-value{font-size:20px;font-weight:700;color:#1e293b}.summary-label{font-size:12px;color:#64748b;font-weight:500}.calendar-container{background:#fff;border-radius:16px;border:1px solid #e2e8f0;overflow:hidden;box-shadow:0 4px 20px #0000000a}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day-header{padding:16px 8px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);text-align:center;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid #e2e8f0}.calendar-day-header.sunday{color:#dc2626;background:linear-gradient(180deg,#fef2f2,#fee2e2)}.calendar-day-header.saturday{color:#ea580c;background:linear-gradient(180deg,#fff7ed,#ffedd5)}.calendar-day{min-height:110px;background:#fff;padding:10px;position:relative;border-right:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;transition:all .2s ease}.calendar-day:nth-child(7n){border-right:none}.calendar-day.empty{background:#fafafa;cursor:default}.day-number-wrapper{margin-bottom:8px}.day-number{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;font-size:14px;font-weight:600;color:#374151;border-radius:8px;transition:all .2s ease}.day-number.today-badge{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;box-shadow:0 2px 8px #f973164d}.calendar-day.today{background:linear-gradient(135deg,#fff7ed,#ffedd5)}.calendar-day.today:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f97316,#fb923c)}.calendar-day.sunday{background:#fefefe}.calendar-day.sunday .day-number:not(.today-badge){color:#dc2626}.calendar-day.saturday{background:#fefefe}.calendar-day.saturday .day-number:not(.today-badge){color:#ea580c}.calendar-day.has-schedule{background:linear-gradient(135deg,#f0fdf4,#ecfdf5)}.calendar-day.has-schedule:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#22c55e,#16a34a)}.calendar-day.full-coverage{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.calendar-day.full-coverage:after{height:4px;background:linear-gradient(90deg,#16a34a,#15803d)}.calendar-day:not(.empty){cursor:pointer}.calendar-day:not(.empty):hover{background:#f8fafc;box-shadow:inset 0 0 0 2px #f97316;z-index:2}.calendar-day.has-schedule:hover{background:linear-gradient(135deg,#dcfce7,#d1fae5)}.day-schedule-info{display:flex;flex-direction:column;gap:6px}.scheduled-indicator{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#fff;border-radius:8px;border:1px solid #dcfce7}.people-icon-group{display:flex;align-items:center;justify-content:center;color:#22c55e}.scheduled-count{font-size:18px;font-weight:700;color:#16a34a;line-height:1}.scheduled-label{font-size:10px;color:#6b7280;font-weight:500}.no-schedule-indicator{display:flex;align-items:center;gap:6px;padding:6px 8px;color:#9ca3af;font-size:11px}.no-schedule-indicator svg{color:#d1d5db}.calendar-day:hover .no-schedule-indicator{color:#f97316}.calendar-day:hover .no-schedule-indicator svg{color:#f97316}.mini-progress{height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.mini-progress-bar{height:100%;border-radius:2px;transition:width .3s ease}.mini-progress-bar.full{background:linear-gradient(90deg,#22c55e,#16a34a)}.mini-progress-bar.partial{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.mini-progress-bar.low{background:linear-gradient(90deg,#f87171,#ef4444)}.no-employees-msg{display:flex;align-items:center;justify-content:center;height:40px;color:#d1d5db;font-size:12px}.calendar-legend{display:flex;justify-content:center;gap:24px;margin-top:20px;padding-top:16px;border-top:1px solid #f1f5f9}.calendar-legend .legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b}.legend-color{width:12px;height:12px;border-radius:3px}.legend-color.full{background:linear-gradient(135deg,#22c55e,#16a34a)}.legend-color.partial{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.legend-color.low{background:linear-gradient(135deg,#f87171,#ef4444)}.legend-color.none{background:#e5e7eb;border:1px dashed #d1d5db}.calendar-modal{max-width:560px}.calendar-modal .modal-body{max-height:60vh;overflow-y:auto}.employee-selection-list{max-height:300px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px}.employee-selection-item{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .15s ease}.employee-selection-item:last-child{border-bottom:none}.employee-selection-item:hover{background:#f8fafc}.employee-selection-item.selected{background:#f0fdf4}.employee-selection-item.selected:hover{background:#dcfce7}.selection-checkbox{flex-shrink:0}.selection-avatar{width:36px;height:36px;border-radius:50%;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#64748b;overflow:hidden;flex-shrink:0}.selection-avatar img{width:100%;height:100%;object-fit:cover}.selection-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.selection-name{font-size:14px;font-weight:500;color:#1e293b}.selection-existing{font-size:12px;color:#22c55e;font-weight:500}.employee-selection-section{margin-top:16px}.employee-selection-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.employee-selection-header label{margin-bottom:0!important}.selection-actions{display:flex;gap:8px}.selection-action-btn{padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.selection-action-btn:hover{background:#f8fafc;border-color:#f97316;color:#f97316}.employee-search-container{position:relative;margin-bottom:12px}.employee-search-container .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.employee-search-input{width:100%;padding:10px 40px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;transition:all .2s ease}.employee-search-input::placeholder{color:#9ca3af}.employee-search-input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px #f973161a}.search-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:#f1f5f9;color:#64748b;border-radius:50%;cursor:pointer;transition:all .15s ease}.search-clear-btn:hover{background:#e2e8f0;color:#374151}.filtered-count{font-size:12px;color:#64748b;margin-bottom:8px;padding:6px 12px;background:#f8fafc;border-radius:6px}.selection-details{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280}.selection-details .emp-no{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-family:monospace}.selection-details .emp-dept{color:#9ca3af}.selection-details .emp-dept:before{content:"•";margin-right:4px}.no-employees-found{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#9ca3af}.no-employees-found svg{margin-bottom:12px}.no-employees-found p{font-size:14px;margin:0}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f1f5f9}.modal-header h3{font-size:18px;font-weight:600;color:#1e293b;margin:0}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;border-radius:8px;transition:background .15s ease}.modal-close:hover{background:#f1f5f9}.schedule-info{background:#f8fafc;border-radius:8px;padding:16px;margin-bottom:20px}.schedule-info p{margin:0 0 8px;font-size:14px;color:#64748b}.schedule-info p:last-child{margin-bottom:0}.schedule-info strong{color:#1e293b}.modal-body .form-group{margin-bottom:16px}.modal-body .form-group label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}.modal-body .form-group select,.modal-body .form-group textarea{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;transition:all .2s ease}.modal-body .form-group select:focus,.modal-body .form-group textarea:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px #f973161a}.modal-body .form-group textarea{resize:vertical;min-height:80px}.time-range-inputs{display:flex;align-items:flex-end;gap:12px}.time-input-group{flex:1;display:flex;flex-direction:column;gap:4px}.time-input-group .time-label{font-size:11px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.3px}.time-input-group input[type=time]{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;transition:all .2s ease}.time-input-group input[type=time]:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px #f973161a}.time-separator{font-size:14px;font-weight:500;color:#64748b;padding-bottom:12px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f1f5f9;background:#f8fafc}.modal-footer .btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.modal-footer .btn-secondary{background:#f1f5f9;color:#64748b}.modal-footer .btn-secondary:hover{background:#e2e8f0}.modal-footer .btn-primary{background:#f97316;color:#fff}.modal-footer .btn-primary:hover{background:#ea580c}.modal-footer .btn-danger{background:#ef4444;color:#fff;margin-right:auto}.modal-footer .btn-danger:hover{background:#dc2626}@media (max-width: 1200px){.filters-row{flex-wrap:wrap}.filter-group{flex:1;min-width:140px}}@media (max-width: 768px){.scheduling-filters{padding:16px}.filters-row{flex-direction:column}.filter-group{width:100%}.filters-row-bottom{flex-direction:column;gap:16px}.legend{flex-wrap:wrap;justify-content:center}.view-toggle{width:100%}.view-toggle .toggle-btn{flex:1;justify-content:center}.schedule-table-wrapper{max-height:calc(100vh - 450px)}.calendar-day{min-height:80px;padding:4px}.calendar-day-header{padding:8px 4px;font-size:10px}.employee-count-badge{font-size:10px;padding:4px 8px}}.department-page{max-width:100%;width:100%;overflow-x:hidden}.department-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.department-header{padding:20px 24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.btn-green:hover{background:#45a049}.error-state svg{margin-bottom:20px}.empty-state svg{margin-bottom:20px}.empty-state p{font-size:16px;color:#999;margin-bottom:20px}.modal-content{background:#fff;border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-header h3{font-size:18px;font-weight:600;color:#333;margin:0}.modal-close{background:none;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.form-group input[type=text],.form-group textarea{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;font-family:inherit;transition:all .2s}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}@media (max-width: 1024px){.department-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:flex-start}.search-box input{width:200px}}@media (max-width: 768px){.page-title{font-size:24px}.breadcrumb{font-size:12px}.department-header{padding:16px 20px}.header-actions{flex-direction:column;align-items:stretch}.search-box,.search-box input{width:100%}.btn{justify-content:center;width:100%}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}table{font-size:11px}table th,table td{padding:3px 6px}}@media (max-width: 480px){.page-title{font-size:20px}.department-header{padding:14px 16px}.card-title{font-size:16px}.btn{font-size:13px;padding:8px 14px}.table-footer{padding:12px 16px}}.leave-types-page{max-width:100%;width:100%;overflow-x:hidden}.leave-types-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.leave-types-header{padding:20px 24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.leave-types-page .table-container{overflow-x:auto;width:100%}.code-badge{display:inline-block;padding:4px 8px;background-color:#f26930;color:#fff;font-size:12px;font-weight:600;border-radius:4px;text-transform:uppercase}.leave-types-page .badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize;white-space:nowrap}.leave-types-page .badge-success{background-color:#e8f5e9;color:#2e7d32}.leave-types-page .badge-danger{background-color:#ffebee;color:#c62828}.leave-types-page .badge-secondary{background-color:#f5f5f5;color:#757575}.modal-large{max-width:800px!important}.form-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e0e0e0}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-title{font-size:16px;font-weight:600;color:#333;margin:0 0 16px;display:flex;align-items:center;gap:8px}.section-title:before{content:"";width:4px;height:16px;background:linear-gradient(135deg,#f26930,#ff8c5a);border-radius:2px}.form-row:last-child{margin-bottom:0}.form-group:last-child{margin-bottom:0}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;background-color:#fff;transition:all .2s}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.checkbox-group{margin-bottom:12px}.checkbox-group label{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500}.checkbox-group input[type=checkbox]{margin-right:8px;width:18px;height:18px;cursor:pointer}.checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0;position:sticky;top:0;background:#fff;z-index:10}.modal-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0;position:sticky;bottom:0;background:#fff}@media (max-width: 1024px){.modal-large{max-width:90%!important}.checkbox-grid{grid-template-columns:1fr}}@media (max-width: 768px){.leave-types-header,.header-actions{flex-direction:column;align-items:stretch}.search-box,.search-box input{width:100%}.form-row{grid-template-columns:1fr}.modal-content{max-width:100%}}@media (max-width: 480px){.code-badge{font-size:10px;padding:3px 6px}.leave-types-page .badge{font-size:10px;padding:3px 8px}}.payroll-config-page{padding:0}.page-title{font-size:24px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.breadcrumb-item{color:#666}.breadcrumb-item.active{color:#1a1a2e;font-weight:500}.payroll-config-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.payroll-config-header{padding:20px 0;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.card-title{font-size:18px;font-weight:600;color:#1a1a2e;margin:0;white-space:nowrap;flex-shrink:0}.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}.payroll-config-page .filter-group{display:flex;flex-direction:row;align-items:center;gap:12px}.filter-select{padding:8px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;min-width:140px;cursor:pointer}.filter-select:focus{outline:none;border-color:#4caf50}.search-box input{padding:8px 40px 8px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;width:200px}.search-box input:focus{outline:none;border-color:#4caf50}.search-btn{position:absolute;right:8px;background:none;border:none;cursor:pointer;padding:4px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease}.btn-green{background:#4caf50;color:#fff}.btn-green:hover{background:#43a047}.btn-blue{background:#2196f3;color:#fff}.btn-blue:hover{background:#1976d2}.btn-orange{background:#ff9800;color:#fff}.btn-orange:hover{background:#f57c00}.btn-secondary:hover{background:#eee}.payroll-table{width:100%;border-collapse:collapse;min-width:800px}.payroll-table thead{background:#f8f9fa}.payroll-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e0e0e0;white-space:nowrap}.payroll-table td{padding:12px 16px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0;vertical-align:middle}.payroll-table tbody tr:hover{background:#f8f9fa}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.active,.status-badge.open{background:#e8f5e9;color:#2e7d32}.status-badge.inactive,.status-badge.closed{background:#fafafa;color:#757575}.status-badge.draft{background:#e3f2fd;color:#1565c0}.status-badge.processing{background:#fff3e0;color:#ef6c00}.status-badge.cancelled{background:#ffebee;color:#c62828}.status-badge.locked{background:#fce4ec;color:#c2185b}.frequency-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.frequency-badge.weekly{background:#e8eaf6;color:#3949ab}.frequency-badge.semi-monthly{background:#f3e5f5;color:#7b1fa2}.frequency-badge.monthly{background:#e0f2f1;color:#00695c}.frequency-badge.quarterly{background:#fff8e1;color:#f9a825}.rule-type-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.rule-type-badge.earning{background:#e8f5e9;color:#2e7d32}.rule-type-badge.deduction{background:#ffebee;color:#c62828}.rule-type-badge.tax{background:#fff3e0;color:#ef6c00}.rule-type-badge.contribution{background:#e3f2fd;color:#1565c0}.rule-type-badge.overtime{background:#f3e5f5;color:#7b1fa2}.rule-type-badge.leave{background:#e0f7fa;color:#00838f}.rule-type-badge.bonus{background:#fce4ec;color:#c2185b}.action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.action-btn.edit-btn{background:#e3f2fd;color:#1976d2}.action-btn.edit-btn:hover{background:#bbdefb}.action-btn.delete-btn{background:#ffebee;color:#c62828}.action-btn.delete-btn:hover{background:#ffcdd2}.action-btn.lock-btn{background:#fff3e0;color:#ef6c00}.action-btn.lock-btn:hover{background:#ffe0b2}.action-btn.view-btn{background:#e8f5e9;color:#2e7d32}.action-btn.view-btn:hover{background:#c8e6c9}.action-btn.status-btn.open-btn{background:#e8f5e9;color:#2e7d32}.action-btn.status-btn.open-btn:hover{background:#c8e6c9}.action-btn.status-btn.close-btn{background:#fce4ec;color:#c2185b}.action-btn.status-btn.close-btn:hover{background:#f8bbd0}.action-btn:disabled{opacity:.5;cursor:not-allowed}.spinner{width:40px;height:40px;border:3px solid #f0f0f0;border-top-color:#4caf50;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666;text-align:center}.error-state svg{margin-bottom:16px}.error-state p{margin:0 0 16px;color:#f44336}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999;text-align:center}.empty-state p{margin:0 0 16px}.table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid #f0f0f0}.pagination{display:flex;align-items:center;gap:8px}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;color:#333;cursor:pointer;font-size:16px;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.pagination-info{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.page-input{width:50px;padding:4px 8px;border:1px solid #e0e0e0;border-radius:4px;text-align:center;font-size:14px}.page-input:focus{outline:none;border-color:#4caf50}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.modal-content.modal-sm{max-width:420px}.govt-deduction-info{background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border:1px solid #c8e6c9;border-radius:8px;padding:16px;margin-bottom:20px}.govt-deduction-info .info-badge{margin-bottom:8px}.govt-deduction-info .info-text{font-size:13px;color:#555;margin:0;line-height:1.5}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0}.modal-header h3{font-size:18px;font-weight:600;color:#1a1a2e;margin:0}.modal-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s ease}.modal-close:hover{background:#f5f5f5}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0;background:#fafafa;border-radius:0 0 12px 12px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;transition:border-color .2s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4caf50}.checkbox-group{display:flex;align-items:center;gap:8px}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:0}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:#4caf50}.checkbox-group span{font-size:14px;color:#333}input[type=date]{cursor:pointer}.info-card{background:#f8f9fa;border-radius:8px;padding:16px;margin-bottom:20px}.info-card-title{font-size:14px;font-weight:600;color:#666;margin:0 0 8px}.info-card-content{font-size:14px;color:#333}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#f8f9fa;border-radius:8px;padding:16px;text-align:center}.stat-label{font-size:13px;color:#666;margin:4px 0 0}.year-month-filter{display:flex;align-items:center;gap:8px;background:#f8f9fa;padding:4px;border-radius:8px}.year-month-filter button{background:none;border:none;padding:6px 10px;cursor:pointer;border-radius:6px;font-size:14px;color:#666;transition:all .2s ease}.year-month-filter button:hover{background:#e0e0e0}.year-month-filter span{font-size:14px;font-weight:500;color:#333;min-width:100px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:20px}.calendar-header{padding:8px;text-align:center;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;background:#f8f9fa;border-radius:4px}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease;background:#fff;border:1px solid #f0f0f0}.calendar-day:hover{border-color:#4caf50}.calendar-day.working{background:#e8f5e9}.calendar-day.holiday{background:#ffebee}.calendar-day.weekend{background:#fafafa;color:#999}.calendar-day.other-month{opacity:.3}.calendar-day .day-number{font-weight:600}.calendar-day .holiday-name{font-size:10px;color:#c62828;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tab-badge{background:#f26930;color:#fff;font-size:11px;padding:2px 6px;border-radius:10px;min-width:20px;text-align:center}.modal-large{max-width:700px;width:95%}.assignment-container{display:flex;flex-direction:column;gap:16px}.assignment-info-box{background:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;padding:12px 16px}.assignment-info-box p{margin:0;font-size:13px;color:#1565c0}.multi-select-container{border:1px solid #e0e0e0;border-radius:8px;padding:12px;background:#fafafa;max-height:150px;overflow-y:auto}.multi-select-container.employees-list{max-height:200px}.checkbox-list{display:flex;flex-direction:column;gap:8px}.checkbox-list.horizontal{flex-direction:row;flex-wrap:wrap;gap:12px}.checkbox-item{display:flex;align-items:flex-start;gap:8px;cursor:pointer;padding:4px;border-radius:4px;transition:background .2s ease}.checkbox-item:hover{background:#f0f0f0}.checkbox-item input[type=checkbox]{margin-top:2px;cursor:pointer}.checkbox-item span{font-size:14px;color:#333}.checkbox-item.employee-item{padding:8px;border-bottom:1px solid #f0f0f0}.checkbox-item.employee-item:last-child{border-bottom:none}.employee-info strong{font-size:14px;font-weight:500}.employee-info small{font-size:12px;color:#666}.no-data-text{font-size:13px;color:#999;text-align:center;padding:16px;margin:0}.label-hint{font-size:12px;font-weight:400;color:#999;margin-left:8px}.form-section-title{font-size:14px;font-weight:600;color:#333;margin:16px 0 12px;padding-bottom:8px;border-bottom:1px solid #e0e0e0}.form-hint{display:block;font-size:12px;color:#999;margin-top:4px}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.preview-header label{margin:0}.btn-sm{padding:6px 12px;font-size:12px}.preview-container{border:1px solid #e0e0e0;border-radius:8px;padding:12px;background:#fff;max-height:200px;overflow-y:auto}.preview-list{display:flex;flex-direction:column;gap:8px}.preview-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f8f9fa;border-radius:6px}.preview-item span{font-size:14px;font-weight:500;color:#333}.preview-item small{font-size:12px;color:#666}.preview-more{text-align:center;padding:8px;font-size:13px;color:#666;font-style:italic}.assignment-info{font-size:12px;color:#666}@media (max-width: 1200px){.payroll-config-header{flex-wrap:wrap}}@media (max-width: 1024px){.payroll-config-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:flex-start}.payroll-config-page .filter-group{flex-direction:row}.search-box input{width:200px}}@media (max-width: 768px){.payroll-config-header{padding:16px 0}.header-actions{flex-wrap:wrap;align-items:center}.payroll-config-page .filter-group{flex-direction:row;flex-wrap:wrap}.search-box,.search-box input{width:100%}.filter-select{min-width:120px;flex:0 1 auto}.btn{justify-content:center}.form-row{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,1fr)}.table-footer{flex-direction:column;gap:16px}.modal-content{margin:10px;max-height:calc(100vh - 20px)}.year-month-filter{width:100%;justify-content:center}}@media (max-width: 480px){.payroll-config-card{padding:16px}.page-title{font-size:20px}.stats-row{grid-template-columns:1fr}.calendar-grid{gap:2px}.calendar-day{padding:4px;font-size:12px}}.allowances-page .payroll-table th,.allowances-page .payroll-table td{font-size:12px}.deductions-page .payroll-table th{font-size:13px}.deductions-page .payroll-table th:nth-child(3){font-size:11px}.deductions-page .payroll-table td{font-size:14px}.deductions-page .payroll-table td:nth-child(3){font-size:12px}.holiday-calendar-page{padding:0}.holiday-calendar-page .page-header{margin-bottom:24px}.holiday-calendar-page .page-title{font-size:24px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.holiday-calendar-page .breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.holiday-calendar-page .breadcrumb-item{color:#666}.holiday-calendar-page .breadcrumb-item.active{color:#1a1a2e;font-weight:500}.holiday-calendar-page .breadcrumb-separator{color:#ccc}.holiday-calendar-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.holiday-calendar-header{padding:20px 0;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.holiday-calendar-page .card-title{font-size:18px;font-weight:600;color:#1a1a2e;margin:0;white-space:nowrap;flex-shrink:0}.holiday-calendar-page .header-actions{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}.holiday-calendar-page .filter-group{display:flex;flex-direction:row;align-items:center;gap:12px}.holiday-calendar-page .filter-select{padding:8px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;min-width:140px;cursor:pointer}.holiday-calendar-page .filter-select:focus{outline:none;border-color:#4caf50}.holiday-calendar-page .btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease}.holiday-calendar-page .btn-green{background:#4caf50;color:#fff}.holiday-calendar-page .btn-green:hover{background:#43a047}.holiday-calendar-page .btn-blue{background:#2196f3;color:#fff}.holiday-calendar-page .btn-blue:hover{background:#1976d2}.holiday-calendar-page .btn-orange{background:#ff9800;color:#fff}.holiday-calendar-page .btn-orange:hover{background:#f57c00}.holiday-calendar-page .btn-secondary{background:#f5f5f5;color:#333;border:1px solid #e0e0e0}.holiday-calendar-page .btn-secondary:hover{background:#eee}.holiday-calendar-page .table-container{overflow-x:auto}.holiday-table{width:100%;border-collapse:collapse;min-width:800px}.holiday-table thead{background:#f8f9fa}.holiday-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e0e0e0;white-space:nowrap}.holiday-table td{padding:12px 16px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0;vertical-align:middle}.holiday-table tbody tr:hover{background:#f8f9fa}.holiday-calendar-page .status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.holiday-calendar-page .status-badge.active{background:#e8f5e9;color:#2e7d32}.holiday-calendar-page .status-badge.inactive{background:#fafafa;color:#757575}.holiday-calendar-page .status-badge.regular{background:#ffebee;color:#c62828}.holiday-calendar-page .status-badge.special-non-working{background:#fff3e0;color:#ef6c00}.holiday-calendar-page .status-badge.special-working{background:#e3f2fd;color:#1565c0}.holiday-calendar-page .action-buttons{display:flex;gap:8px}.holiday-calendar-page .action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.holiday-calendar-page .action-btn.edit-btn{background:#e3f2fd;color:#1976d2}.holiday-calendar-page .action-btn.edit-btn:hover{background:#bbdefb}.holiday-calendar-page .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666}.holiday-calendar-page .spinner{width:40px;height:40px;border:3px solid #f0f0f0;border-top-color:#4caf50;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.holiday-calendar-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666;text-align:center}.holiday-calendar-page .error-state svg{margin-bottom:16px}.holiday-calendar-page .error-state p{margin:0 0 16px;color:#f44336}.holiday-calendar-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999;text-align:center}.holiday-calendar-page .empty-state p{margin:0 0 16px}.holiday-calendar-page .table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid #f0f0f0}.holiday-calendar-page .pagination-info{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.holiday-calendar-page .year-month-filter{display:flex;align-items:center;gap:8px;background:#f8f9fa;padding:4px;border-radius:8px}.holiday-calendar-page .year-month-filter button{background:none;border:none;padding:6px 10px;cursor:pointer;border-radius:6px;font-size:14px;color:#666;transition:all .2s ease}.holiday-calendar-page .year-month-filter button:hover{background:#e0e0e0}.holiday-calendar-page .year-month-filter span{font-size:14px;font-weight:500;color:#333;min-width:100px;text-align:center}.holiday-calendar-page .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:20px}.holiday-calendar-page .calendar-header{padding:8px;text-align:center;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;background:#f8f9fa;border-radius:4px}.holiday-calendar-page .calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease;background:#fff;border:1px solid #f0f0f0}.holiday-calendar-page .calendar-day:hover{border-color:#4caf50}.holiday-calendar-page .calendar-day.working{background:#e8f5e9}.holiday-calendar-page .calendar-day.holiday{background:#ffebee}.holiday-calendar-page .calendar-day.weekend{background:#fafafa;color:#999}.holiday-calendar-page .calendar-day.other-month{opacity:.3}.holiday-calendar-page .calendar-day .day-number{font-weight:600}.holiday-calendar-page .calendar-day .holiday-name{font-size:10px;color:#c62828;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.holiday-calendar-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.holiday-calendar-page .modal-content{background:#fff;border-radius:12px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.holiday-calendar-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0}.holiday-calendar-page .modal-header h3{font-size:18px;font-weight:600;color:#1a1a2e;margin:0}.holiday-calendar-page .modal-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s ease}.holiday-calendar-page .modal-close:hover{background:#f5f5f5}.holiday-calendar-page .modal-body{padding:24px}.holiday-calendar-page .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0;background:#fafafa;border-radius:0 0 12px 12px}.holiday-calendar-page .form-group{margin-bottom:20px}.holiday-calendar-page .form-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.holiday-calendar-page .form-group input,.holiday-calendar-page .form-group select,.holiday-calendar-page .form-group textarea{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;transition:border-color .2s ease;box-sizing:border-box}.holiday-calendar-page .form-group input:focus,.holiday-calendar-page .form-group select:focus,.holiday-calendar-page .form-group textarea:focus{outline:none;border-color:#4caf50}.holiday-calendar-page .form-group textarea{resize:vertical;min-height:80px}.holiday-calendar-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.holiday-calendar-page .checkbox-group{display:flex;align-items:center;gap:8px}.holiday-calendar-page .checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:0}.holiday-calendar-page .checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:#4caf50}.holiday-calendar-page .checkbox-group span{font-size:14px;color:#333}.holiday-calendar-page input[type=date]{cursor:pointer}.holiday-calendar-page .info-card{background:#f8f9fa;border-radius:8px;padding:16px;margin-bottom:20px}.holiday-calendar-page .info-card-title{font-size:14px;font-weight:600;color:#666;margin:0 0 8px}.holiday-calendar-page .info-card-content{font-size:14px;color:#333}@media (max-width: 1200px){.holiday-calendar-header{flex-wrap:wrap}}@media (max-width: 1024px){.holiday-calendar-header{flex-direction:column;align-items:flex-start}.holiday-calendar-page .header-actions{width:100%;justify-content:flex-start}.holiday-calendar-page .filter-group{flex-direction:row}}@media (max-width: 768px){.holiday-calendar-header{padding:16px 0}.holiday-calendar-page .header-actions{flex-wrap:wrap;align-items:center}.holiday-calendar-page .filter-group{flex-direction:row;flex-wrap:wrap}.holiday-calendar-page .filter-select{min-width:120px;flex:0 1 auto}.holiday-calendar-page .btn{justify-content:center}.holiday-calendar-page .form-row{grid-template-columns:1fr}.holiday-calendar-page .table-footer{flex-direction:column;gap:16px}.holiday-calendar-page .modal-content{margin:10px;max-height:calc(100vh - 20px)}.holiday-calendar-page .year-month-filter{width:100%;justify-content:center}}@media (max-width: 480px){.holiday-calendar-card{padding:16px}.holiday-calendar-page .page-title{font-size:20px}.holiday-calendar-page .calendar-grid{gap:2px}.holiday-calendar-page .calendar-day{padding:4px;font-size:12px}}.government-tables-page{max-width:100%;width:100%;overflow-x:hidden}.government-tables-page table{table-layout:auto;width:100%}.government-tables-page table th,.government-tables-page table td{white-space:normal;overflow:visible;text-overflow:clip;word-wrap:break-word;padding:12px 10px;vertical-align:middle}.government-tables-page table th{background:#f9f9f9;font-weight:600;color:#333}.government-tables-page table td{color:#555;line-height:1.4}.government-tables-page .table-container{overflow-x:auto;width:100%}.government-tables-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.government-tables-header{padding:20px 24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.status-badge{display:inline-block;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;text-transform:capitalize;white-space:nowrap}.status-active{background:#e8f5e9;color:#4caf50}.status-inactive{background:#ffebee;color:#f44336}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-left{text-align:left!important}.font-weight-bold{font-weight:600!important}.modal-content.modal-large{max-width:800px}.form-section-title{font-size:14px;font-weight:600;color:#333;margin:16px 0 12px;padding-bottom:8px;border-bottom:1px solid #eee}.form-section-title:first-child{margin-top:0}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;color:#333;outline:none;transition:border-color .2s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#f26930}.form-group input:disabled,.form-group input.form-input-disabled{background-color:#f5f5f5;color:#666;cursor:not-allowed;border-color:#e0e0e0}.form-group input.validation-error{background-color:#ffebee;color:#c62828;border-color:#f44336}.form-group.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#4CAF50}.sss-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed;border:1px solid #dee2e6}.sss-table thead{background:#f8f9fa}.sss-table thead th{padding:12px 8px;font-weight:600;font-size:12px;color:#333;border:1px solid #dee2e6;text-align:center;vertical-align:middle;white-space:nowrap}.sss-table .header-row-main th{background:#f0f0f0;border-bottom:2px solid #ccc}.sss-table .header-row-sub th{background:#fafafa;font-size:11px;font-weight:500;padding:8px 6px}.sss-table .col-range{width:200px;min-width:180px;text-align:left!important;font-weight:500;padding-left:12px!important}.sss-table .col-msc-group{background:#e8eaf6!important;color:#3949ab;border-bottom:2px solid #5c6bc0}.sss-table .col-msc{width:85px;min-width:75px}.sss-table thead .col-msc{background:#ede7f6;color:#5e35b1}.sss-table tbody .col-msc{background:#faf8ff}.sss-table tbody .col-msc.col-subtotal{background:#ede7f6;color:#5e35b1}.sss-table .col-employer-group{background:#e8f5e9!important;color:#2e7d32;border-bottom:2px solid #4caf50}.sss-table .col-employer{width:85px;min-width:75px}.sss-table thead .col-employer{background:#f1f8e9;color:#558b2f}.sss-table tbody .col-employer{background:#fafff8}.sss-table .col-employee-group{background:#fce4ec!important;color:#c2185b;border-bottom:2px solid #e91e63}.sss-table .col-employee{width:85px;min-width:75px}.sss-table thead .col-employee{background:#fef0f5;color:#ad1457}.sss-table tbody .col-employee{background:#fffbfc}.sss-table .col-subtotal{font-weight:600!important;border-right:2px solid #bdbdbd!important}.sss-table tbody .col-employer.col-subtotal{background:#e8f5e9;color:#2e7d32}.sss-table tbody .col-employee.col-subtotal{background:#fce4ec;color:#c2185b}.sss-table .col-total{width:100px;min-width:90px;font-weight:700!important;background:#f5f5f5!important;color:#333!important}.sss-table thead .col-total{background:#e8e8e8!important;color:#333!important}.sss-table .col-action{width:70px;min-width:60px;text-align:center!important;background:#fff}.sss-table tbody td{padding:10px 8px;border:1px solid #e0e0e0;vertical-align:middle;font-size:12px;text-align:right;font-family:Roboto Mono,Consolas,SF Mono,monospace}.sss-table tbody tr:nth-child(2n){background-color:#00000005}.sss-table tbody tr:nth-child(2n) .col-msc{background:#f5f3fa}.sss-table tbody tr:nth-child(2n) .col-msc.col-subtotal{background:#e5e0f0}.sss-table tbody tr:nth-child(2n) .col-employer{background:#f5faf5}.sss-table tbody tr:nth-child(2n) .col-employee{background:#fdf8f9}.sss-table tbody tr:nth-child(2n) .col-employer.col-subtotal{background:#e0f2e0}.sss-table tbody tr:nth-child(2n) .col-employee.col-subtotal{background:#f8e0e8}.sss-table tbody tr:hover,.sss-table tbody tr:hover td{background-color:#fffde7!important}@media (max-width: 1400px){.sss-table{font-size:11px}.sss-table thead th{padding:10px 6px;font-size:11px}.sss-table .header-row-sub th{font-size:10px;padding:6px 4px}.sss-table tbody td{padding:8px 6px;font-size:11px}.sss-table .col-range{width:170px;min-width:160px}.sss-table .col-msc,.sss-table .col-total{width:85px;min-width:80px}.sss-table .col-employer,.sss-table .col-employee{width:70px;min-width:65px}}@media (max-width: 1200px){.sss-table{font-size:10px}.sss-table thead th{padding:8px 4px;font-size:10px}.sss-table .header-row-sub th{font-size:9px}.sss-table tbody td{padding:6px 4px;font-size:10px}.sss-table .col-range{width:150px;min-width:140px}.sss-table .col-msc,.sss-table .col-total{width:75px;min-width:70px}.sss-table .col-employer,.sss-table .col-employee{width:60px;min-width:55px}.sss-table .col-action{width:55px;min-width:50px}}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.modal-content{max-width:100%;margin:0 10px}}.philhealth-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed;border:1px solid #dee2e6}.philhealth-table thead{background:#f8f9fa}.philhealth-table thead th{padding:12px 8px;font-weight:600;font-size:12px;color:#333;border:1px solid #dee2e6;text-align:center;vertical-align:middle;white-space:nowrap}.philhealth-table .col-salary{width:220px;min-width:200px;text-align:left!important;font-weight:500;padding-left:12px!important;background:#f5f5f5}.philhealth-table thead .col-salary{background:#e3f2fd;color:#1565c0}.philhealth-table .col-employee-rate{width:150px;min-width:130px}.philhealth-table thead .col-employee-rate{background:#fce4ec;color:#c2185b}.philhealth-table tbody .col-employee-rate{background:#fff8fa}.philhealth-table .col-employer-rate{width:150px;min-width:130px}.philhealth-table thead .col-employer-rate{background:#e8f5e9;color:#2e7d32}.philhealth-table tbody .col-employer-rate{background:#f8fff8}.philhealth-table .col-monthly-rate{width:150px;min-width:130px;font-weight:600!important}.philhealth-table thead .col-monthly-rate{background:#fff3e0;color:#e65100}.philhealth-table tbody .col-monthly-rate{background:#fffcf5;color:#e65100}.philhealth-table .col-action{width:80px;min-width:70px;text-align:center!important;background:#fff}.philhealth-table tbody td{padding:12px 10px;border:1px solid #e0e0e0;vertical-align:middle;font-size:13px;text-align:center;font-family:Roboto Mono,Consolas,SF Mono,monospace}.philhealth-table tbody tr:nth-child(2n){background-color:#00000005}.philhealth-table tbody tr:nth-child(2n) .col-salary{background:#f0f0f0}.philhealth-table tbody tr:nth-child(2n) .col-employee-rate{background:#fff0f3}.philhealth-table tbody tr:nth-child(2n) .col-employer-rate{background:#f0fff0}.philhealth-table tbody tr:nth-child(2n) .col-monthly-rate{background:#fff8f0}.philhealth-table tbody tr:hover,.philhealth-table tbody tr:hover td{background-color:#fffde7!important}.pagibig-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed;border:1px solid #dee2e6}.pagibig-table thead{background:#f8f9fa}.pagibig-table thead th{padding:12px 8px;font-weight:600;font-size:12px;color:#333;border:1px solid #dee2e6;text-align:center;vertical-align:middle;white-space:nowrap}.pagibig-table .col-salary{width:200px;min-width:180px;text-align:left!important;font-weight:500;padding-left:12px!important;background:#f5f5f5}.pagibig-table thead .col-salary{background:#e3f2fd;color:#1565c0}.pagibig-table .col-employee-share{width:120px;min-width:100px}.pagibig-table thead .col-employee-share{background:#fce4ec;color:#c2185b}.pagibig-table tbody .col-employee-share{background:#fff8fa}.pagibig-table .col-employer-share{width:120px;min-width:100px}.pagibig-table thead .col-employer-share{background:#e8f5e9;color:#2e7d32}.pagibig-table tbody .col-employer-share{background:#f8fff8}.pagibig-table .col-employee-max{width:160px;min-width:140px}.pagibig-table thead .col-employee-max{background:#f3e5f5;color:#7b1fa2}.pagibig-table tbody .col-employee-max{background:#fdf5ff}.pagibig-table .col-employer-max{width:160px;min-width:140px}.pagibig-table thead .col-employer-max{background:#fff3e0;color:#e65100}.pagibig-table tbody .col-employer-max{background:#fffcf5}.pagibig-table .col-action{width:80px;min-width:70px;text-align:center!important;background:#fff}.pagibig-table tbody td{padding:12px 10px;border:1px solid #e0e0e0;vertical-align:middle;font-size:13px;text-align:center;font-family:Roboto Mono,Consolas,SF Mono,monospace}.pagibig-table tbody tr:nth-child(2n){background-color:#00000005}.pagibig-table tbody tr:nth-child(2n) .col-salary{background:#f0f0f0}.pagibig-table tbody tr:nth-child(2n) .col-employee-share{background:#fff0f3}.pagibig-table tbody tr:nth-child(2n) .col-employer-share{background:#f0fff0}.pagibig-table tbody tr:nth-child(2n) .col-employee-max{background:#f8f0fa}.pagibig-table tbody tr:nth-child(2n) .col-employer-max{background:#fff8f0}.pagibig-table tbody tr:hover,.pagibig-table tbody tr:hover td{background-color:#fffde7!important}@media (max-width: 1200px){.philhealth-table,.pagibig-table{font-size:11px}.philhealth-table thead th,.pagibig-table thead th{padding:10px 6px;font-size:11px}.philhealth-table tbody td,.pagibig-table tbody td{padding:8px 6px;font-size:11px}.philhealth-table .col-salary,.pagibig-table .col-salary{width:180px;min-width:160px}.philhealth-table .col-employee-rate,.philhealth-table .col-employer-rate,.philhealth-table .col-monthly-rate{width:120px;min-width:100px}.pagibig-table .col-employee-share,.pagibig-table .col-employer-share{width:100px;min-width:90px}.pagibig-table .col-employee-max,.pagibig-table .col-employer-max{width:130px;min-width:120px}}.bir-tax-table{width:100%;border-collapse:collapse;font-size:14px;border:1px solid #dee2e6}.bir-tax-table thead{background:#f8f9fa}.bir-tax-table thead th{padding:14px 16px;font-weight:600;font-size:13px;color:#333;border:1px solid #dee2e6;text-align:center;vertical-align:middle;background:#f5f5f5}.bir-tax-table .col-cutoff-type{width:180px;min-width:160px;text-align:left!important;padding-left:20px!important}.bir-tax-table thead .col-cutoff-type{background:#e3f2fd;color:#1565c0;text-align:left!important}.bir-tax-table tbody .col-cutoff-type{font-weight:500;color:#424242;background:#fafafa}.bir-tax-table .col-compensation-range{width:280px;min-width:240px}.bir-tax-table thead .col-compensation-range{background:#fff3e0;color:#e65100}.bir-tax-table tbody .col-compensation-range{font-family:Roboto Mono,Consolas,SF Mono,monospace;color:#333;background:#fffcf8}.bir-tax-table .col-withholding-tax{width:auto;min-width:300px}.bir-tax-table thead .col-withholding-tax{background:#fce4ec;color:#c2185b}.bir-tax-table tbody .col-withholding-tax{font-family:Roboto Mono,Consolas,SF Mono,monospace;color:#c2185b;font-weight:500;background:#fff8fa}.bir-tax-table .col-action{width:80px;min-width:70px;text-align:center!important}.bir-tax-table thead .col-action{background:#f5f5f5}.bir-tax-table tbody .col-action{background:#fff}.bir-tax-table tbody td{padding:14px 16px;border:1px solid #e0e0e0;vertical-align:middle;font-size:13px}.bir-tax-table tbody tr:nth-child(2n){background-color:#00000005}.bir-tax-table tbody tr:nth-child(2n) .col-cutoff-type{background:#f5f5f5}.bir-tax-table tbody tr:nth-child(2n) .col-compensation-range{background:#fff8f0}.bir-tax-table tbody tr:nth-child(2n) .col-withholding-tax{background:#fff0f3}.bir-tax-table tbody tr:hover,.bir-tax-table tbody tr:hover td{background-color:#fffde7!important}@media (max-width: 1200px){.bir-tax-table{font-size:12px}.bir-tax-table thead th{padding:12px;font-size:12px}.bir-tax-table tbody td{padding:10px 12px;font-size:12px}.bir-tax-table .col-cutoff-type{width:150px;min-width:130px}.bir-tax-table .col-compensation-range{width:220px;min-width:200px}.bir-tax-table .col-withholding-tax{min-width:250px}}@media (max-width: 992px){.bir-tax-table{font-size:11px}.bir-tax-table thead th{padding:10px 8px;font-size:11px}.bir-tax-table tbody td{padding:8px;font-size:11px}.bir-tax-table .col-cutoff-type{width:120px;min-width:110px;padding-left:12px!important}.bir-tax-table .col-compensation-range{width:180px;min-width:160px}.bir-tax-table .col-withholding-tax{min-width:200px}.bir-tax-table .col-action{width:60px;min-width:50px}}.calculator-page{max-width:100%;width:100%;overflow-x:hidden}.calculator-page .page-header{margin-bottom:24px}.calculator-page .page-title{font-size:28px;font-weight:600;color:#333;margin-bottom:8px}.calculator-page .breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px}.calculator-page .breadcrumb-item{color:#999;transition:color .2s}.calculator-page .breadcrumb-item:hover{color:#666;cursor:pointer}.calculator-page .breadcrumb-item.active{color:#f26930;font-weight:500}.calculator-page .breadcrumb-separator{color:#ccc}.calculator-container{display:flex;flex-direction:column;gap:24px}.calculator-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.calculator-header{padding:20px 24px;border-bottom:1px solid #e0e0e0}.calculator-header .card-title{font-size:18px;font-weight:600;color:#333;margin-bottom:4px}.calculator-header .card-subtitle{font-size:14px;color:#999}.calculator-form{padding:24px}.form-group label{font-size:14px;font-weight:500;color:#555}.form-group input,.form-group select{padding:10px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;color:#333;outline:none;transition:border-color .2s;font-family:inherit}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=number]::-webkit-outer-spin-button,.form-group input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.alert-success{background-color:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.calculator-page .btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.calculator-page .btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.calculator-page .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.calculator-page .btn-orange{background:linear-gradient(135deg,#f26930,#fba91a);color:#fff}.calculator-page .btn-secondary{background-color:#e0e0e0;color:#333}.calculator-page .btn-secondary:hover{background-color:#d5d5d5}.results-container{display:flex;flex-direction:column;gap:20px}.result-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:20px 24px}.result-card .result-title{font-size:16px;font-weight:600;color:#333;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #f5f5f5}.summary-card{background:linear-gradient(135deg,#f26930,#fba91a);color:#fff}.summary-card .result-title{color:#fff;border-bottom-color:#fff3}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.summary-item{display:flex;flex-direction:column;gap:8px}.summary-item.highlight{padding:16px;background:#ffffff26;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.summary-label{font-size:13px;font-weight:500;opacity:.9}.summary-value{font-size:24px;font-weight:700}.summary-value.gross{color:#fff}.summary-value.deductions{color:#ffebee}.summary-value.net{color:#fff}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.result-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:#f9f9f9;border-radius:4px}.result-item.highlight{background:linear-gradient(135deg,#f269301a,#fba91a1a);border:1px solid #f26930}.result-label{font-size:14px;color:#666;font-weight:500}.result-value{font-size:15px;color:#333;font-weight:600}.result-value.total{color:#f26930;font-size:16px}.breakdown-card{background:#fafafa;border:1px solid #e0e0e0}.breakdown-table{display:flex;flex-direction:column;gap:2px}.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fff}.breakdown-row.deduction{background:#fff9f5}.breakdown-row.total-row{background:#ffebee;border-top:2px solid #f26930;border-bottom:2px solid #f26930;font-weight:600}.breakdown-row.net-row{background:linear-gradient(135deg,#f269301a,#fba91a1a);border:2px solid #f26930;font-size:16px;font-weight:700;padding:16px}.breakdown-label{font-size:14px;color:#555}.breakdown-value{font-size:15px;color:#333;font-weight:600}.breakdown-row.net-row .breakdown-label,.breakdown-row.net-row .breakdown-value{color:#f26930;font-size:18px}.tabs-navigation{display:flex;gap:2px;background:#f5f5f5;padding:4px;border-radius:6px;margin-bottom:24px}.tab-button{flex:1;padding:12px 16px;background:transparent;border:none;border-radius:4px;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s;white-space:nowrap}.tab-button:hover{background:#f269301a;color:#f26930}.tab-button.active{background:#fff;color:#f26930;box-shadow:0 2px 4px #00000014}.calculator-page .tab-content{display:none}.calculator-page .tab-content.active{display:block}.info-box{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:16px}.info-box svg{flex-shrink:0;margin-top:2px}.info-box-content{flex:1}.info-box-title{font-size:14px;font-weight:600;color:#1565c0;margin-bottom:4px}.info-box-text{font-size:13px;color:#1976d2;line-height:1.5}@media (max-width: 1400px){.summary-grid{grid-template-columns:repeat(3,1fr);gap:16px}.result-grid{grid-template-columns:1fr;gap:12px}}@media (max-width: 1024px){.form-row{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr;gap:12px}.result-grid{grid-template-columns:1fr}}@media (max-width: 768px){.calculator-page .page-title{font-size:24px}.calculator-page .breadcrumb{font-size:12px}.calculator-header{padding:16px 20px}.calculator-form{padding:20px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.calculator-page .btn{justify-content:center;width:100%}.summary-grid{grid-template-columns:1fr}.summary-value{font-size:20px}.result-card{padding:16px 20px}.breakdown-row{padding:12px}.breakdown-row.net-row .breakdown-label,.breakdown-row.net-row .breakdown-value{font-size:16px}.tabs-navigation{flex-direction:column}.tab-button{text-align:center}}@media (max-width: 480px){.calculator-page .page-title{font-size:20px}.calculator-header .card-title{font-size:16px}.calculator-page .btn{font-size:13px;padding:8px 14px}.summary-value{font-size:18px}.result-value{font-size:14px}.breakdown-label,.breakdown-value{font-size:13px}.breakdown-row.net-row .breakdown-label,.breakdown-row.net-row .breakdown-value{font-size:15px}}.payroll-processing-page{padding:0}.payroll-processing-page .page-header{margin-bottom:24px}.payroll-processing-page .page-title{font-size:24px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.payroll-processing-page .breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:#666}.payroll-processing-page .breadcrumb-item{cursor:pointer;transition:color .2s}.payroll-processing-page .breadcrumb-item:hover:not(.active){color:#e37320}.payroll-processing-page .breadcrumb-item.active{color:#1a1a2e;font-weight:500}.payroll-processing-page .breadcrumb-separator{color:#ccc}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.action-card{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border:1px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all .2s;text-align:left}.action-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.action-card.primary,.action-card.success,.action-card.info,.action-card.warning{border:1px solid #e0e0e0}.action-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.action-card.primary .action-icon{background:#3498db1a;color:#3498db}.action-card.success .action-icon{background:#27ae601a;color:#27ae60}.action-card.info .action-icon{background:#9b59b61a;color:#9b59b6}.action-card.warning .action-icon{background:#f39c121a;color:#f39c12}.action-icon svg{width:24px;height:24px}.action-content h3{font-size:16px;font-weight:600;color:#1a1a2e;margin:0 0 4px}.action-content p{font-size:13px;color:#666;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border:1px solid #e0e0e0;border-radius:12px}.stat-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.stat-icon svg{width:28px;height:28px}.stat-icon.employees{background:#3498db1a;color:#3498db}.stat-icon.pending{background:#f39c121a;color:#f39c12}.stat-icon.period{background:#9b59b61a;color:#9b59b6}.stat-icon.date{background:#27ae601a;color:#27ae60}.stat-content{flex:1}.stat-label{font-size:13px;color:#666;margin:0 0 4px}.stat-value{font-size:24px;font-weight:700;color:#1a1a2e;margin:0}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:24px}.dashboard-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e0e0e0}.card-header h2{font-size:16px;font-weight:600;color:#1a1a2e;margin:0}.btn-link{background:none;border:none;color:#3498db;font-size:14px;cursor:pointer;padding:4px 8px;transition:color .2s}.btn-link:hover{color:#2980b9}.card-content{padding:20px}.simple-table{width:100%;border-collapse:collapse}.simple-table th,.simple-table td{padding:12px;text-align:left;border-bottom:1px solid #f0f0f0}.simple-table th{font-size:12px;font-weight:600;color:#666;text-transform:uppercase}.simple-table td{font-size:14px;color:#333}.simple-table tbody tr:hover{background-color:#f9f9f9}.periods-list{display:flex;flex-direction:column;gap:12px}.period-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9f9f9;border-radius:8px}.period-info h4{font-size:14px;font-weight:600;color:#1a1a2e;margin:0 0 4px}.period-info p{font-size:12px;color:#666;margin:0}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.draft{background:#e3f2fd;color:#1976d2}.status-badge.processing{background:#fff3e0;color:#f57c00}.status-badge.pending,.status-badge.pending_approval{background:#ffeaa7;color:#d68910}.status-badge.approved{background:#d4edda;color:#155724}.status-badge.finalized{background:#d1f2eb;color:#0e6251}.status-badge.cancelled{background:#fadbd8;color:#922b21}.status-badge.open{background:#d4edda;color:#155724}.status-badge.closed{background:#e3f2fd;color:#1976d2}.guide-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:24px;color:#fff}.guide-card h3{font-size:18px;font-weight:600;margin:0 0 20px}.guide-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.guide-step{display:flex;align-items:flex-start;gap:12px}.step-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:50%;font-size:14px;font-weight:600;flex-shrink:0}.step-content h4{font-size:14px;font-weight:600;margin:0 0 4px}.step-content p{font-size:12px;margin:0;opacity:.9}.section-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;margin-bottom:24px}.section-card h2{font-size:18px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.section-description{font-size:14px;color:#666;margin:0 0 8px}.section-hint{font-size:13px;margin:0 0 16px}.match-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500}.match-badge.group{background:#3498db1a;color:#3498db}.match-badge.frequency{background:#9b59b61a;color:#9b59b6}.section-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.header-controls{display:flex;gap:12px}.progress-steps{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:32px;padding:24px;background:#fff;border:1px solid #e0e0e0;border-radius:12px}.progress-step{display:flex;align-items:center;gap:12px;color:#999}.progress-step.active{color:#3498db}.progress-step.completed{color:#27ae60}.step-indicator{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:2px solid currentColor;border-radius:50%;font-size:16px;font-weight:600}.progress-step.active .step-indicator{background:#3498db;border-color:#3498db;color:#fff}.progress-step.completed .step-indicator{background:#27ae60;border-color:#27ae60;color:#fff}.progress-step span:last-child{font-size:14px;font-weight:500}.periods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.period-card{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s}.period-card:hover{border-color:#3498db;transform:translateY(-2px)}.period-card.selected{border-color:#3498db;background:#3498db0d}.period-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.period-header h3{font-size:16px;font-weight:600;color:#1a1a2e;margin:0}.period-header .badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500;text-transform:uppercase}.period-header .badge.monthly{background:#e8f4fd;color:#2196f3}.period-header .badge.semi-monthly{background:#e8f6e9;color:#4caf50}.period-header .badge.weekly{background:#fff8e1;color:#ff9800}.period-header .badge.bi-weekly{background:#f3e5f5;color:#9c27b0}.period-details{margin-bottom:16px}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e0e0e0;font-size:13px}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:#666}.detail-row strong{color:#1a1a2e}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-block{display:flex;width:100%}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover:not(:disabled){background:#2980b9}.btn-secondary{background:#f0f0f0;color:#333}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.btn-success{background:#27ae60;color:#fff}.btn-success:hover:not(:disabled){background:#219a52}.btn-sm{padding:6px 12px;font-size:13px}.btn svg{width:16px;height:16px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.toolbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-box{position:relative;width:280px}.search-box input{width:100%;padding:10px 16px 10px 40px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .2s}.search-box input:focus{outline:none;border-color:#3498db}.search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%)}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.selected-count{font-size:13px;color:#666;padding:6px 12px;background:#f0f0f0;border-radius:16px}.filter-select{padding:10px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;background:#fff;cursor:pointer;min-width:180px}.filter-select:focus{outline:none;border-color:#3498db}.period-info-bar{display:flex;align-items:center;gap:24px;padding:12px 16px;background:#f5f7fa;border-radius:8px;margin-bottom:20px;font-size:14px;flex-wrap:wrap}.period-info-bar span{display:flex;align-items:center;gap:8px}.data-table{width:100%;border-collapse:collapse;min-width:800px}.data-table.payslips-table{min-width:auto;table-layout:fixed}.data-table th,.data-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e0e0e0}.data-table th{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;background:#f9f9f9}.data-table td{font-size:14px;color:#333}.data-table tbody tr:hover{background-color:#f9f9f9}.data-table .text-right{text-align:right}.employee-info strong{font-weight:600;color:#1a1a2e;font-size:13px}.employee-info span{font-size:11px;color:#666}.empty-row{text-align:center!important;color:#666;padding:40px!important}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 0;color:#666;font-size:14px}.step-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e0e0e0;margin-top:20px}.success-card{text-align:center}.success-icon{margin-bottom:20px}.success-card h2{font-size:24px;color:#27ae60;margin-bottom:12px}.success-card>p{font-size:16px;color:#666;margin-bottom:32px}.results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:32px}.summary-item{padding:20px;background:#f9f9f9;border-radius:12px;text-align:center}.summary-item span{display:block;font-size:13px;color:#666;margin-bottom:8px}.summary-item strong{font-size:24px;font-weight:700;color:#1a1a2e}.summary-item.highlight{background:linear-gradient(135deg,#667eea,#764ba2)}.summary-item.highlight span,.summary-item.highlight strong{color:#fff}.result-actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666}.loading-state p{margin-top:16px}.spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#3498db;border-radius:50%;animation:spin .8s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.empty-state svg{margin-bottom:16px}.empty-state p{font-size:16px;margin-bottom:20px}.empty-state p.hint-text{font-size:14px;color:#999;margin-top:-10px}.empty-state .btn{margin-top:8px}.payslip-detail{max-width:800px;margin:0 auto}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;margin-bottom:20px;color:#666;background:none;border:none;cursor:pointer;font-size:14px;transition:color .2s}.back-btn:hover{color:#3498db}.payslip-container{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.payslip-header{display:flex;align-items:center;justify-content:space-between;padding:24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.company-info h2{font-size:24px;font-weight:700;margin:0 0 8px}.company-info p{margin:0;opacity:.9}.payslip-actions{display:flex;gap:12px}.payslip-actions .btn-secondary{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.payslip-actions .btn-secondary:hover{background:#ffffff4d}.payslip-actions .btn-primary{background:#fff;color:#667eea}.payslip-employee-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;padding:24px;background:#f9f9f9;border-bottom:1px solid #e0e0e0}.info-group label{display:block;font-size:12px;color:#666;text-transform:uppercase;margin-bottom:4px}.info-group p{font-size:15px;font-weight:600;color:#1a1a2e;margin:0}.payslip-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;padding:24px}.payslip-section h3{font-size:14px;font-weight:600;color:#666;text-transform:uppercase;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e0e0e0}.payslip-table{width:100%;border-collapse:collapse}.payslip-table td{padding:10px 0;font-size:14px;border-bottom:1px solid #f0f0f0}.payslip-table td:first-child{color:#666}.payslip-table td:last-child{text-align:right;font-weight:500;color:#1a1a2e}.payslip-table .total-row td{border-top:2px solid #e0e0e0;border-bottom:none;padding-top:16px;font-size:16px}.payslip-footer{padding:24px;background:#1a1a2e;text-align:center}.net-pay{display:flex;flex-direction:column;align-items:center;gap:8px}.net-pay span{font-size:12px;color:#ffffffb3;text-transform:uppercase;letter-spacing:2px}.net-pay strong{font-size:36px;font-weight:700;color:#fff}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-bottom:24px}.report-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;display:flex;flex-direction:column;transition:all .2s}.report-card:hover{border-color:#3498db;box-shadow:0 4px 12px #00000014}.report-card-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.report-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.report-icon.blue{background:#3498db1a;color:#3498db}.report-icon.green{background:#27ae601a;color:#27ae60}.report-icon.purple{background:#9b59b61a;color:#9b59b6}.report-icon.orange{background:#f39c121a;color:#f39c12}.report-icon svg{width:24px;height:24px}.report-info h3{font-size:16px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.report-info p{font-size:13px;color:#666;margin:0;line-height:1.5}.report-options{display:flex;flex-direction:column;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid #e0e0e0}.report-option-group{display:flex;align-items:center;gap:8px}.report-option-group label{font-size:13px;color:#666;min-width:60px}.report-option-group select{flex:1;padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px}.report-actions{display:flex;gap:8px;margin-top:16px}.report-actions .btn{flex:1;padding:10px 16px}.generated-reports{margin-top:24px}.generated-reports h3{font-size:16px;font-weight:600;color:#1a1a2e;margin:0 0 16px}.generated-reports-list{display:flex;flex-direction:column;gap:12px}.generated-report-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#f9f9f9;border-radius:8px}.generated-report-info{display:flex;align-items:center;gap:12px}.generated-report-info svg{width:32px;height:32px;color:#e74c3c}.generated-report-details h4{font-size:14px;font-weight:600;color:#1a1a2e;margin:0 0 4px}.generated-report-details p{font-size:12px;color:#666;margin:0}.generated-report-actions{display:flex;gap:8px}.action-btn{width:28px;height:28px;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;color:#999;transition:all .15s;padding:0}.action-btn svg{width:16px;height:16px}.text-center{text-align:center}@media (max-width: 768px){.payroll-processing-page{padding:0}.payroll-processing-page .page-title{font-size:20px}.quick-actions{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.progress-steps{flex-direction:column;align-items:flex-start;gap:16px}.toolbar{flex-direction:column;align-items:stretch}.search-box{width:100%}.toolbar-actions{justify-content:space-between}.payslip-header{flex-direction:column;gap:16px;text-align:center}.payslip-body{grid-template-columns:1fr}.results-summary{grid-template-columns:1fr 1fr}.result-actions{flex-direction:column}.result-actions .btn{width:100%}}.payroll-results-page{padding:0}.payroll-results-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.payroll-results-page .header-left{display:flex;flex-direction:column;gap:8px}.payroll-results-page .page-title{font-size:24px;font-weight:600;color:#1a1a2e;margin:0}.payroll-results-page .breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:#666}.payroll-results-page .breadcrumb-item{cursor:pointer}.payroll-results-page .breadcrumb-item:hover:not(.active){color:#e37320}.payroll-results-page .breadcrumb-item.active{color:#1a1a2e;font-weight:500}.payroll-results-page .breadcrumb-separator{color:#ccc}.payroll-results-page .header-actions{display:flex;gap:12px}.period-selector-card{background:#fff;border-radius:8px;padding:16px 20px;margin-bottom:20px;box-shadow:0 1px 3px #00000014}.period-selector-card .selector-header{margin-bottom:12px}.period-selector-card .selector-header h3{font-size:15px;font-weight:600;color:#1a1a2e;margin:0 0 4px}.period-selector-card .selector-header p{font-size:13px;color:#666;margin:0}.period-selector-card .period-dropdown select{width:100%;max-width:350px;padding:10px 14px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}.period-selector-card .period-dropdown select:focus{outline:none;border-color:#e37320}.summary-section{margin-bottom:20px}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.summary-card{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 3px #00000014}.summary-card .card-content{display:flex;flex-direction:column;gap:4px}.summary-card .card-content .label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.summary-card .card-content .value{font-size:20px;font-weight:700;color:#1a1a2e}.summary-card .card-content .value.highlight{color:#e37320}.action-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.action-bar .action-left{display:flex;align-items:center;gap:16px}.action-bar .search-box{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;width:260px}.action-bar .search-box svg{width:16px;height:16px;color:#999;flex-shrink:0}.action-bar .search-box input{border:none;background:transparent;outline:none;font-size:13px;width:100%}.action-bar .employee-count{font-size:13px;color:#666}.action-bar .action-right{display:flex;gap:10px}.employees-table-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014}.table-container{width:100%;overflow-x:auto;overflow-y:visible;padding:0;box-sizing:border-box;position:relative}.payroll-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.payroll-results-page .tabs-row{display:flex;align-items:center;padding:10px 16px;background:#fff;margin-bottom:0}.payroll-results-page .tabs-spacer-left{width:340px;min-width:340px;max-width:340px;flex-shrink:0;flex-grow:0}.payroll-results-page .tabs-wrapper{display:flex;gap:4px;align-items:center}.payroll-results-page .tab-btn{width:80px;padding:8px 4px;font-size:11px;font-weight:500;color:#333!important;background:silver!important;border:none;border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap;text-align:center}.payroll-results-page .tab-btn:hover{background:#b0b0b0!important}.payroll-results-page .tab-btn.active{color:#e37320!important;background:#fff!important;box-shadow:0 2px 8px #e3732040;border-bottom:none!important}.payroll-results-page .tab-btn:after{display:none!important}.payroll-table .column-header-row th{padding:10px 6px;font-size:9px;font-weight:500;color:#666;text-align:center;border-bottom:1px solid #e8e8e8;background:#fff;white-space:normal;word-wrap:break-word;line-height:1.3;vertical-align:bottom}.payroll-table .column-header-row th:first-child{padding-left:10px}.payroll-table .column-header-row th:last-child{padding-right:10px}.payroll-table .column-header-row th.col-employee{text-align:left}.payroll-table .col-border-right{border-right:1px solid #e0e0e0}.payroll-table td{padding:10px 6px;font-size:10px;color:#333;border-bottom:1px solid #f5f5f5;white-space:nowrap;vertical-align:middle;text-align:right}.payroll-table td:first-child{padding-left:10px}.payroll-table td:last-child{padding-right:10px}.payroll-table td.col-num,.payroll-table td.col-employee,.payroll-table td.col-period,.payroll-table td.col-basic{text-align:left}.payroll-table td.col-checkbox,.payroll-table td.col-num{text-align:center}.payroll-table tbody tr:hover{background:#fafafa}.payroll-table th,.payroll-table td{box-sizing:border-box}.payroll-table th.col-payslip-status,.payroll-table td.col-payslip-status{position:sticky;left:0;z-index:2;background:#fff;text-align:center!important}.payroll-table .col-checkbox input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:#e37320}.payroll-table th.col-num,.payroll-table td.col-num{position:sticky;left:2.5%;z-index:2;background:#fff;text-align:center!important;color:#999}.payroll-table th.col-employee,.payroll-table td.col-employee{position:sticky;left:4.5%;z-index:2;background:#fff}.payroll-table th.col-period,.payroll-table td.col-period{position:sticky;left:14.5%;z-index:2;background:#fff}.payroll-table th.col-basic,.payroll-table td.col-basic{position:sticky;left:20.5%;z-index:2;background:#fff;box-shadow:3px 0 6px #00000014}.payroll-table th.col-dynamic,.payroll-table td.col-dynamic{background:#fff;text-align:center;padding:4px 2px;position:relative;z-index:1}.payroll-table th.col-dynamic{font-size:7px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;line-height:1.2;vertical-align:bottom;-webkit-hyphens:auto;hyphens:auto;height:32px;max-height:32px}.payroll-table td.col-dynamic{font-size:9px;white-space:nowrap}.payroll-table[data-active-tab=cutoff] th.col-dynamic{font-size:6.5px;line-height:1.15}.payroll-table[data-active-tab=rates] th.col-dynamic{font-size:7px;line-height:1.15}.payroll-table[data-active-tab=earnings] th.col-dynamic{font-size:6.5px;line-height:1.15}.payroll-table[data-active-tab=allowances] th.col-dynamic{font-size:8px;line-height:1.15}.payroll-table[data-active-tab=deductions] th.col-dynamic{font-size:7px;line-height:1.15}.payroll-table th.col-netpay,.payroll-table td.col-netpay{background:#fff;color:#e37320;font-weight:600;text-align:center!important}.payroll-table th.col-actions,.payroll-table td.col-actions{background:#fff;text-align:center!important}.payroll-table tbody tr:hover .col-payslip-status,.payroll-table tbody tr:hover .col-num,.payroll-table tbody tr:hover .col-employee,.payroll-table tbody tr:hover .col-period,.payroll-table tbody tr:hover .col-basic{background:#fafafa}.payroll-table tbody tr.selected .col-payslip-status,.payroll-table tbody tr.selected .col-num,.payroll-table tbody tr.selected .col-employee,.payroll-table tbody tr.selected .col-period,.payroll-table tbody tr.selected .col-basic{background:#fff8f3}.payroll-table tbody tr.selected:hover .col-payslip-status,.payroll-table tbody tr.selected:hover .col-num,.payroll-table tbody tr.selected:hover .col-employee,.payroll-table tbody tr.selected:hover .col-period,.payroll-table tbody tr.selected:hover .col-basic{background:#fff0e6}.payroll-table tbody tr.has-payslip .col-payslip-status,.payroll-table tbody tr.has-payslip .col-num,.payroll-table tbody tr.has-payslip .col-employee,.payroll-table tbody tr.has-payslip .col-period,.payroll-table tbody tr.has-payslip .col-basic{background:#f8fff8}.payroll-table tbody tr.has-payslip:hover .col-payslip-status,.payroll-table tbody tr.has-payslip:hover .col-num,.payroll-table tbody tr.has-payslip:hover .col-employee,.payroll-table tbody tr.has-payslip:hover .col-period,.payroll-table tbody tr.has-payslip:hover .col-basic{background:#f0fff0}.payroll-table thead th.col-payslip-status,.payroll-table thead th.col-num,.payroll-table thead th.col-employee,.payroll-table thead th.col-period,.payroll-table thead th.col-basic{z-index:3}.payroll-table tbody tr.selected{background:#fff8f3}.payroll-table tbody tr.selected:hover{background:#fff0e6}.employee-cell{display:flex;align-items:center;gap:6px;overflow:hidden;max-width:100%}.employee-avatar{width:24px;height:24px;min-width:24px;border-radius:50%;background:#e8e8e8;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;color:#666;flex-shrink:0}.employee-name-link{color:#1a73e8;font-weight:500;cursor:pointer;text-decoration:underline;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.employee-name-link:hover{color:#e37320;text-decoration:underline}.action-buttons{display:flex;align-items:center;justify-content:center;gap:6px}.action-btn{width:22px;height:22px;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;color:#999;transition:all .15s;padding:0}.action-btn:hover{background:#f0f0f0}.action-btn.view-btn{color:#e37320}.action-btn.edit-btn{color:#4caf50}.action-btn:hover{opacity:.8}.action-btn svg{width:13px;height:13px}.loading-state,.empty-state{text-align:center;padding:60px 20px}.loading-state .spinner{width:32px;height:32px;border:3px solid #f0f0f0;border-top-color:#e37320;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.loading-state p,.empty-state p{font-size:14px;color:#666;margin:0 0 16px}.no-period-selected{text-align:center;padding:80px 20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014}.no-period-selected .empty-icon{width:56px;height:56px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:12px;color:#999}.no-period-selected .empty-icon svg{width:28px;height:28px}.no-period-selected h3{font-size:16px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.no-period-selected p{font-size:13px;color:#666;margin:0 0 20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#e37320;color:#fff}.btn-primary:hover:not(:disabled){background:#c95f15}.btn-secondary{background:#f5f5f5;color:#333;border:1px solid #e0e0e0}.btn-secondary:hover:not(:disabled){background:#eee}.btn:disabled{opacity:.6;cursor:not-allowed}.table-note{padding:12px 16px;background:#f9f9f9;border-top:1px solid #eee}.table-note p{margin:0;font-size:12px;color:#666;font-style:italic}.payslip-status-summary{display:flex;gap:24px;margin-bottom:16px;padding:12px 16px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014}.payslip-status-summary .status-item{display:flex;align-items:center;gap:8px}.payslip-status-summary .status-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%}.payslip-status-summary .status-item.with-payslip .status-icon{background:#e8f5e9;color:#4caf50}.payslip-status-summary .status-item.with-payslip .status-icon svg{width:12px;height:12px}.payslip-status-summary .status-item.without-payslip .status-icon{background:#fff3e0;color:#ff9800}.payslip-status-summary .status-item.without-payslip .status-icon svg{width:14px;height:14px}.payslip-status-summary .status-label{font-size:13px;color:#666}.payslip-status-summary .status-count{font-size:14px;font-weight:600;color:#1a1a2e}.payroll-table .col-payslip-status .header-with-tooltip{display:flex;align-items:center;justify-content:center}.payroll-table .col-payslip-status .payslip-icon{width:14px;height:14px;color:#666}.payslip-generated-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:#4caf50;border-radius:50%;color:#fff}.payslip-generated-badge svg{width:11px;height:11px}.employee-avatar.has-payslip{background:#e8f5e9;color:#4caf50;border:1px solid #4caf50}.action-btn.edit-btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.table-note .note-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin:0 4px}.table-note .note-icon.payslip-check{width:16px;height:16px;background:#4caf50;border-radius:50%;color:#fff}.table-note .note-icon.payslip-check svg{width:10px;height:10px}.table-note .note-icon.checkbox-icon{font-size:14px;color:#666}.modal-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-container.edit-payroll-modal{width:800px;max-width:95vw}.modal-container.view-payslip-modal{width:700px;max-width:95vw}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid #eee;background:#f9f9f9}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1a1a2e}.modal-title-section{display:flex;flex-direction:column;gap:4px}.modal-subtitle{margin:0;font-size:13px;color:#666}.modal-close-btn{background:none;border:none;cursor:pointer;padding:4px;color:#999;border-radius:4px;transition:all .2s}.modal-close-btn:hover{background:#f0f0f0;color:#333}.modal-close-btn svg{width:20px;height:20px}.modal-body{padding:24px;overflow-y:auto;flex:1}.edit-employee-info{background:#f9f9f9;border-radius:8px;padding:16px;margin-bottom:20px}.edit-employee-info .info-row{display:flex;gap:24px}.edit-employee-info .info-item{display:flex;flex-direction:column;gap:4px}.edit-employee-info .info-label{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.5px}.edit-employee-info .info-value{font-size:14px;font-weight:500;color:#1a1a2e}.edit-employee-info .info-value.highlight{color:#e37320;font-weight:600}.edit-form-section{margin-bottom:20px}.edit-form-section .section-title{font-size:14px;font-weight:600;color:#1a1a2e;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid #eee}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-group label{font-size:12px;font-weight:500;color:#666}.form-group input{padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#e37320}.form-group input::-webkit-outer-spin-button,.form-group input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-total{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;padding-top:12px;border-top:1px dashed #ddd}.form-total .total-label{font-size:13px;font-weight:500;color:#666}.form-total .total-value{font-size:16px;font-weight:700;color:#4caf50}.form-total.deduction .total-value{color:#f44336}.edit-net-pay-summary{background:#f9f9f9;border-radius:8px;padding:16px;margin-top:20px}.edit-net-pay-summary .net-pay-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.edit-net-pay-summary .net-pay-row .label{font-size:13px;color:#666}.edit-net-pay-summary .net-pay-row .value{font-size:14px;font-weight:500;color:#1a1a2e}.edit-net-pay-summary .net-pay-row.deduction .value{color:#f44336}.edit-net-pay-summary .net-pay-row.total{border-top:2px solid #e37320;margin-top:8px;padding-top:12px}.edit-net-pay-summary .net-pay-row.total .label{font-size:15px;font-weight:600;color:#1a1a2e}.edit-net-pay-summary .net-pay-row.total .value{font-size:20px;font-weight:700;color:#e37320}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #eee;background:#f9f9f9}.payslip-preview{background:#fff}.payslip-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:20px;border-bottom:2px solid #1a1a2e;margin-bottom:20px}.payslip-header .company-info .company-name{font-size:20px;font-weight:700;color:#1a1a2e;margin:0 0 4px}.payslip-header .company-info .company-address{font-size:12px;color:#666;margin:0}.payslip-header .payslip-title{text-align:right}.payslip-header .payslip-title h2{font-size:24px;font-weight:700;color:#e37320;margin:0 0 4px;letter-spacing:2px}.payslip-header .payslip-title .period-info{font-size:12px;color:#666;margin:0}.payslip-employee-info{background:#f9f9f9;border-radius:8px;padding:16px;margin-bottom:20px}.payslip-employee-info .info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.payslip-employee-info .info-item{display:flex;flex-direction:column;gap:4px}.payslip-employee-info .info-item .label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#999}.payslip-employee-info .info-item .value{font-size:13px;font-weight:500;color:#1a1a2e}.payslip-employee-info .info-item .value.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.payslip-employee-info .info-item .value.status-badge.generated{background:#e8f5e9;color:#4caf50}.payslip-employee-info .info-item .value.status-badge.pending{background:#fff3e0;color:#ff9800}.payslip-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:20px}.breakdown-column{background:#f9f9f9;border-radius:8px;padding:16px}.breakdown-column .column-title{font-size:13px;font-weight:600;color:#1a1a2e;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e0e0e0}.breakdown-items{display:flex;flex-direction:column;gap:8px}.breakdown-item{display:flex;justify-content:space-between;align-items:center}.breakdown-item .item-label{font-size:12px;color:#666}.breakdown-item .item-value{font-size:12px;font-weight:500;color:#1a1a2e}.breakdown-total{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px dashed #ccc}.breakdown-total .total-label{font-size:12px;font-weight:600;color:#1a1a2e}.breakdown-total .total-value{font-size:14px;font-weight:700;color:#4caf50}.breakdown-total.deduction .total-value{color:#f44336}.payslip-net-pay{margin-bottom:20px}.payslip-net-pay .net-pay-box{background:linear-gradient(135deg,#e37320,#c95f15);border-radius:12px;padding:24px;display:flex;justify-content:space-between;align-items:center}.payslip-net-pay .net-pay-label{font-size:14px;font-weight:600;color:#ffffffe6;letter-spacing:1px}.payslip-net-pay .net-pay-amount{font-size:28px;font-weight:700;color:#fff}.payslip-footer{text-align:center;padding-top:16px;border-top:1px solid #eee}.payslip-footer .confidential-notice{font-size:11px;color:#999;margin:0 0 4px;font-style:italic}.payslip-footer .generated-date{font-size:10px;color:#ccc;margin:0}@media (max-width: 1200px){.summary-cards,.form-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.payroll-results-page .page-header{flex-direction:column;gap:16px}.summary-cards{grid-template-columns:1fr}.action-bar{flex-direction:column;gap:12px;align-items:stretch}.action-bar .action-left{flex-direction:column;align-items:stretch}.action-bar .search-box{width:100%}.action-bar .action-right{justify-content:flex-end}.modal-container.edit-payroll-modal,.modal-container.view-payslip-modal{width:100%;max-height:95vh}.form-grid,.payslip-breakdown{grid-template-columns:1fr}.payslip-employee-info .info-grid{grid-template-columns:repeat(2,1fr)}.payslip-status-summary,.edit-employee-info .info-row{flex-direction:column;gap:12px}}.edit-form-section .form-group .allowance-label{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:500;color:#1a1a2e;cursor:pointer}.edit-form-section .form-group .allowance-label input[type=checkbox]{width:16px;height:16px;accent-color:#e37320;cursor:pointer}.edit-form-section .form-group .allowance-label:hover{color:#e37320}.others-modal{max-width:600px!important;width:90%!important}.others-breakdown-container{display:flex;flex-direction:column;gap:20px}.others-breakdown-item{background:#f9f9f9;border-radius:8px;padding:16px;border:1px solid #e0e0e0}.others-breakdown-item .breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.others-breakdown-item .breakdown-type{font-weight:600;font-size:14px;color:#1a1a2e}.others-breakdown-item .breakdown-amount{font-weight:700;font-size:16px;color:#4caf50}.others-breakdown-item .breakdown-description{font-size:13px;color:#666;margin:0 0 12px}.others-breakdown-item .breakdown-details{margin-top:12px;background:#fff;border-radius:6px;overflow:hidden}.others-breakdown-item .breakdown-table{width:100%;border-collapse:collapse;font-size:13px}.others-breakdown-item .breakdown-table th{background:#eee;padding:8px 12px;text-align:left;font-weight:500;color:#666}.others-breakdown-item .breakdown-table td{padding:8px 12px;border-bottom:1px solid #f0f0f0}.others-breakdown-item .breakdown-table td.text-center{text-align:center}.others-breakdown-item .breakdown-table td.text-right{text-align:right}.others-breakdown-item .breakdown-table tbody tr:last-child td{border-bottom:none}.others-breakdown-total{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#1a1a2e;border-radius:8px;color:#fff}.others-breakdown-total span:first-child{font-weight:500}.others-breakdown-total .total-amount{font-size:20px;font-weight:700;color:#4caf50}.others-modal .no-data{text-align:center;padding:40px;color:#999}.others-modal .no-data p{margin:0;font-size:14px}@media print{.modal-overlay{position:static;background:none;padding:0}.modal-container{box-shadow:none;max-height:none}.modal-header,.modal-footer{display:none}.modal-body{padding:0}}.adjustments-page{padding-bottom:30px}.stats-cards{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.stat-card{flex:1;min-width:160px;display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;transition:all .2s ease}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px}.stat-draft .stat-icon{background:#f0f4f8;color:#64748b}.stat-pending .stat-icon{background:#fef3c7;color:#d97706}.stat-approved .stat-icon{background:#d1fae5;color:#059669}.stat-applied .stat-icon{background:#dbeafe;color:#2563eb}.stat-total .stat-icon{background:#fce7f3;color:#db2777}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:20px;font-weight:700;color:#1e293b;line-height:1.2}.stat-label{font-size:12px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.adjustments-table th:nth-child(1),.adjustments-table td:nth-child(1){width:50px;text-align:center}.adjustments-table th:nth-child(2),.adjustments-table td:nth-child(2){width:120px}.adjustments-table th:nth-child(3),.adjustments-table td:nth-child(3){width:180px}.adjustments-table th:nth-child(4),.adjustments-table td:nth-child(4){width:100px}.adjustments-table th:nth-child(5),.adjustments-table td:nth-child(5){width:120px;text-align:right}.adjustments-table th:nth-child(6),.adjustments-table td:nth-child(6){width:110px}.adjustments-table th:nth-child(7),.adjustments-table td:nth-child(7){width:100px}.adjustments-table th:nth-child(8),.adjustments-table td:nth-child(8){width:160px}.reference-badge{display:inline-block;padding:4px 8px;background:#f1f5f9;border-radius:4px;font-size:11px;font-weight:600;font-family:Monaco,Consolas,monospace;color:#475569}.employee-info{display:flex;flex-direction:column;gap:2px}.employee-no{font-size:11px;color:#64748b;font-family:Monaco,Consolas,monospace}.employee-name{font-size:13px;font-weight:500;color:#1e293b}.type-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.type-attendance{background:#dbeafe;color:#1d4ed8}.type-leave{background:#fef3c7;color:#b45309}.type-overtime{background:#d1fae5;color:#047857}.type-holiday{background:#fce7f3;color:#be185d}.type-bonus{background:#dcfce7;color:#15803d}.type-allowance{background:#e0e7ff;color:#4338ca}.type-deduction{background:#fee2e2;color:#b91c1c}.type-salary{background:#f3e8ff;color:#7c3aed}.type-other{background:#f1f5f9;color:#475569}.status-draft{background:#f1f5f9;color:#64748b}.status-pending{background:#fef3c7;color:#d97706}.status-approved{background:#d1fae5;color:#059669}.status-applied{background:#dbeafe;color:#2563eb}.status-rejected{background:#fee2e2;color:#dc2626}.status-cancelled{background:#f3f4f6;color:#9ca3af}.amount{font-weight:600;font-family:Monaco,Consolas,monospace;font-size:13px}.amount-positive{color:#059669}.amount-negative{color:#dc2626}.action-buttons{display:flex;gap:4px;flex-wrap:wrap}.action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.action-btn.edit-btn{background:#f0f9ff;color:#0284c7}.action-btn.edit-btn:hover{background:#e0f2fe}.action-btn.submit-btn{background:#fef3c7;color:#d97706}.action-btn.submit-btn:hover{background:#fde68a}.action-btn.approve-btn{background:#d1fae5;color:#059669}.action-btn.approve-btn:hover{background:#a7f3d0}.action-btn.reject-btn{background:#fee2e2;color:#dc2626}.action-btn.reject-btn:hover{background:#fecaca}.action-btn.apply-btn{background:#dbeafe;color:#2563eb}.action-btn.apply-btn:hover{background:#bfdbfe}.action-btn.cancel-btn{background:#f3f4f6;color:#6b7280}.action-btn.cancel-btn:hover{background:#e5e7eb}.action-btn.delete-btn{background:#fee2e2;color:#dc2626}.action-btn.delete-btn:hover{background:#fecaca}.action-btn svg{width:14px;height:14px}.employee-search-container{position:relative}.employee-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:240px;overflow-y:auto;z-index:1000;margin-top:4px}.employee-option{display:flex;flex-direction:column;gap:2px;padding:10px 14px;cursor:pointer;transition:background-color .15s ease}.employee-option:hover{background:#f8fafc}.employee-option.selected{background:#eff6ff}.employee-option .emp-no{font-size:11px;color:#64748b;font-family:Monaco,Consolas,monospace}.employee-option .emp-name{font-size:13px;font-weight:500;color:#1e293b}.form-help{display:block;font-size:11px;color:#64748b;margin-top:4px}@media (max-width: 1200px){.stats-cards{flex-wrap:wrap}.stat-card{min-width:calc(50% - 8px);flex:unset}}@media (max-width: 768px){.stat-card{min-width:100%}.action-buttons{flex-direction:column}.adjustments-table{font-size:12px}}.modal-sm{max-width:420px}.confirm-message{text-align:center;padding:20px 0}.confirm-icon{width:80px;height:80px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center}.confirm-icon-apply{background:#d1fae5;color:#059669}.confirm-icon-delete{background:#fee2e2;color:#dc2626}.confirm-icon svg{width:40px;height:40px}.confirm-message p{margin:0 0 8px;font-size:16px;color:#1e293b}.confirm-message .confirm-detail{font-size:14px;color:#64748b}.confirm-message .confirm-detail strong{color:#1e293b}.btn-danger{background:#dc2626;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:500;transition:background .2s ease}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{background:#fca5a5;cursor:not-allowed}.action-btn.view-btn{background:#f3f4f6;color:#6b7280}.action-btn.view-btn:hover{background:#e5e7eb;color:#374151}.adjustment-status-banner{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:12px;margin-bottom:24px}.status-banner-draft{background:#f8fafc;border:1px solid #e2e8f0}.status-banner-pending{background:#fffbeb;border:1px solid #fef3c7}.status-banner-approved{background:#ecfdf5;border:1px solid #d1fae5}.status-banner-applied{background:#eff6ff;border:1px solid #dbeafe}.status-banner-rejected{background:#fef2f2;border:1px solid #fee2e2}.status-banner-cancelled{background:#f9fafb;border:1px solid #f3f4f6}.status-banner-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.status-banner-draft .status-banner-icon{background:#f1f5f9;color:#64748b}.status-banner-pending .status-banner-icon{background:#fef3c7;color:#d97706}.status-banner-approved .status-banner-icon{background:#d1fae5;color:#059669}.status-banner-applied .status-banner-icon{background:#dbeafe;color:#2563eb}.status-banner-rejected .status-banner-icon{background:#fee2e2;color:#dc2626}.status-banner-cancelled .status-banner-icon{background:#f3f4f6;color:#9ca3af}.status-banner-content{display:flex;flex-direction:column;gap:4px}.status-banner-label{font-size:11px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.status-banner-applied-info{margin-left:auto}.applied-checkmark{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#2563eb}.applied-payroll-section{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;padding:20px;margin-bottom:24px}.applied-payroll-section h4{margin:0 0 16px;font-size:14px;font-weight:600;color:#0369a1}.applied-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.applied-info-item{display:flex;flex-direction:column;gap:4px}.applied-info-item label{font-size:11px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.3px}.applied-info-item span{font-size:14px;font-weight:500;color:#1e293b}.payroll-id-badge{display:inline-block;padding:4px 8px;background:#dbeafe;border-radius:4px;font-size:12px;font-weight:600;font-family:Monaco,Consolas,monospace;color:#1d4ed8}.applied-warning{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef3c7;border-radius:8px;font-size:13px;color:#92400e}.applied-warning svg{flex-shrink:0;color:#d97706}.view-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.view-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.view-section h4{margin:0 0 16px;font-size:14px;font-weight:600;color:#374151}.view-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.view-grid.audit-grid{grid-template-columns:repeat(2,1fr)}.view-item{display:flex;flex-direction:column;gap:4px}.view-item.full-width{grid-column:1 / -1}.view-item label{font-size:11px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.3px}.view-item span{font-size:14px;color:#1e293b}.amount-display{font-size:18px;font-weight:700;font-family:Monaco,Consolas,monospace}.amount-display.amount-positive{color:#059669}.amount-display.amount-negative{color:#dc2626}.view-description,.view-notes{margin:0;font-size:14px;color:#475569;line-height:1.6;background:#f8fafc;padding:12px 16px;border-radius:8px}.rejection-reason{display:block;padding:12px 16px;background:#fef2f2;border-radius:8px;color:#b91c1c;font-size:13px}@media (max-width: 768px){.applied-info-grid,.view-grid{grid-template-columns:1fr}.status-banner-applied-info{margin-left:0;margin-top:8px}.adjustment-status-banner{flex-wrap:wrap}}.amount-section{margin-bottom:20px}.amount-type-toggle{display:flex;gap:0;margin-bottom:12px;border-radius:10px;overflow:hidden;border:1px solid #e2e8f0;background:#f8fafc}.toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:500;color:#64748b;transition:all .2s ease}.toggle-btn:first-child{border-right:1px solid #e2e8f0}.toggle-btn svg{flex-shrink:0}.toggle-btn.toggle-addition.active{background:#dcfce7;color:#15803d}.toggle-btn.toggle-deduction.active{background:#fee2e2;color:#dc2626}.toggle-btn:hover:not(.active){background:#f1f5f9}.amount-input-wrapper{display:flex;align-items:center;border:2px solid #e2e8f0;border-radius:10px;overflow:hidden;transition:all .2s ease;background:#fff}.amount-input-wrapper:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.amount-input-wrapper.input-addition{border-color:#86efac}.amount-input-wrapper.input-addition:focus-within{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.amount-input-wrapper.input-deduction{border-color:#fca5a5}.amount-input-wrapper.input-deduction:focus-within{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.amount-sign{display:flex;align-items:center;justify-content:center;width:44px;height:48px;font-size:20px;font-weight:700;flex-shrink:0}.input-addition .amount-sign{background:#dcfce7;color:#15803d}.input-deduction .amount-sign{background:#fee2e2;color:#dc2626}.amount-currency{font-size:16px;font-weight:600;color:#64748b;padding-left:12px}.amount-input{flex:1;border:none;outline:none;padding:12px 16px 12px 8px;font-size:18px;font-weight:600;font-family:Monaco,Consolas,monospace;background:transparent}.amount-input::placeholder{color:#cbd5e1;font-weight:400}.amount-preview{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:8px;margin-top:12px}.amount-preview.preview-addition{background:#f0fdf4;border:1px solid #bbf7d0}.amount-preview.preview-deduction{background:#fef2f2;border:1px solid #fecaca}.preview-label{font-size:13px;color:#64748b}.preview-amount{font-size:16px;font-weight:700;font-family:Monaco,Consolas,monospace}.preview-addition .preview-amount{color:#15803d}.preview-deduction .preview-amount{color:#dc2626}@media (max-width: 480px){.amount-type-toggle{flex-direction:column}.toggle-btn:first-child{border-right:none;border-bottom:1px solid #e2e8f0}.amount-preview{flex-direction:column;gap:8px;text-align:center}}.leave-conversion-page{padding:0}.leave-conversion-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.leave-conversion-page .header-left{display:flex;flex-direction:column;gap:4px}.leave-conversion-page .page-title{font-size:24px;font-weight:600;color:#1a1a2e;margin:0}.leave-conversion-page .page-subtitle{font-size:14px;color:#666;margin:0}.leave-conversion-page .filters-bar{display:flex;gap:16px;margin-bottom:20px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.leave-conversion-page .filter-group{display:flex;flex-direction:column;gap:6px}.leave-conversion-page .filter-group label{font-size:12px;font-weight:500;color:#666}.leave-conversion-page .filter-group select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:150px}.leave-conversion-page .conversions-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.leave-conversion-page .conversions-table{width:100%;border-collapse:collapse}.leave-conversion-page .conversions-table th{background:#f9f9f9;padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #eee}.leave-conversion-page .conversions-table td{padding:14px 16px;font-size:14px;color:#1a1a2e;border-bottom:1px solid #eee}.leave-conversion-page .conversions-table tbody tr:hover{background:#f9f9f9}.leave-conversion-page .employee-info .employee-name{font-weight:500}.leave-conversion-page .conversions-table td.amount{font-weight:600;color:#4caf50}.leave-conversion-page .status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;color:#fff}.leave-conversion-page .action-buttons{display:flex;gap:8px}.leave-conversion-page .action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.leave-conversion-page .action-btn svg{width:16px;height:16px}.leave-conversion-page .action-btn.view-btn{background:#e3f2fd;color:#1976d2}.leave-conversion-page .action-btn.view-btn:hover{background:#1976d2;color:#fff}.leave-conversion-page .action-btn.approve-btn{background:#e8f5e9;color:#4caf50}.leave-conversion-page .action-btn.approve-btn:hover{background:#4caf50;color:#fff}.leave-conversion-page .action-btn.cancel-btn{background:#ffebee;color:#f44336}.leave-conversion-page .action-btn.cancel-btn:hover{background:#f44336;color:#fff}.leave-conversion-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:#999}.leave-conversion-page .empty-state svg{margin-bottom:16px;color:#ddd}.leave-conversion-page .empty-state p{margin:0 0 16px;font-size:16px}.leave-conversion-page .loading-state{display:flex;justify-content:center;padding:60px;color:#666}.leave-conversion-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.leave-conversion-page .modal-content{background:#fff;border-radius:12px;max-width:700px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 50px #0000004d}.leave-conversion-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee}.leave-conversion-page .modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1a1a2e}.leave-conversion-page .modal-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#f5f5f5;border-radius:6px;cursor:pointer;color:#666;transition:all .2s}.leave-conversion-page .modal-close-btn:hover{background:#eee;color:#1a1a2e}.leave-conversion-page .modal-close-btn svg{width:18px;height:18px}.leave-conversion-page .modal-body{padding:24px;overflow-y:auto}.leave-conversion-page .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #eee;background:#f9f9f9}.leave-conversion-page .form-group{margin-bottom:20px}.leave-conversion-page .form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#666}.leave-conversion-page .form-group select,.leave-conversion-page .form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.leave-conversion-page .form-group select:focus,.leave-conversion-page .form-group textarea:focus{outline:none;border-color:#e37320}.leave-conversion-page .employee-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:16px;background:#f5f5f5;border-radius:8px;margin-bottom:20px}.leave-conversion-page .employee-summary .summary-item{display:flex;flex-direction:column;gap:4px}.leave-conversion-page .employee-summary .label{font-size:12px;color:#666}.leave-conversion-page .employee-summary .value{font-size:14px;font-weight:500;color:#1a1a2e}.leave-conversion-page .credits-table{margin-bottom:20px}.leave-conversion-page .credits-table table{width:100%;border-collapse:collapse;border:1px solid #eee;border-radius:8px;overflow:hidden}.leave-conversion-page .credits-table th{background:#f9f9f9;padding:10px 12px;text-align:left;font-size:12px;font-weight:600;color:#666}.leave-conversion-page .credits-table td{padding:10px 12px;font-size:14px;border-top:1px solid #eee}.leave-conversion-page .credits-table .leave-type-name{display:block;font-weight:500}.leave-conversion-page .credits-table .leave-type-code{display:block;font-size:11px;color:#999}.leave-conversion-page .credits-table input[type=number]{width:80px;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;text-align:center}.leave-conversion-page .credits-table input[type=number]:focus{outline:none;border-color:#e37320}.leave-conversion-page .credits-table input[type=number]:disabled{background:#f5f5f5;cursor:not-allowed}.leave-conversion-page .credits-table .text-center{text-align:center}.leave-conversion-page .credits-table .text-right{text-align:right}.leave-conversion-page .conversion-summary{background:#1a1a2e;border-radius:8px;padding:16px;margin-bottom:20px}.leave-conversion-page .conversion-summary .summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;color:#ccc;font-size:14px}.leave-conversion-page .conversion-summary .summary-row.total{border-top:1px solid #333;padding-top:12px;margin-top:8px}.leave-conversion-page .conversion-summary .summary-row.total span:first-child{color:#fff;font-weight:500}.leave-conversion-page .conversion-summary .summary-row.total span:last-child{font-size:20px;font-weight:700;color:#4caf50}.leave-conversion-page .loading-credits,.leave-conversion-page .no-credits{text-align:center;padding:40px;color:#999;font-size:14px}.leave-conversion-page .details-modal .details-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid #eee;margin-bottom:20px}.leave-conversion-page .details-modal .employee-info h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#1a1a2e}.leave-conversion-page .details-modal .conversion-meta p{margin:4px 0;font-size:13px;color:#666}.leave-conversion-page .details-modal .conversion-meta strong{color:#1a1a2e}.leave-conversion-page .details-breakdown h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#1a1a2e}.leave-conversion-page .details-breakdown table{width:100%;border-collapse:collapse;border:1px solid #eee;border-radius:8px;overflow:hidden}.leave-conversion-page .details-breakdown th{background:#f9f9f9;padding:10px 12px;text-align:left;font-size:12px;font-weight:600;color:#666}.leave-conversion-page .details-breakdown td{padding:10px 12px;font-size:14px;border-top:1px solid #eee}.leave-conversion-page .details-breakdown tfoot{background:#f5f5f5}.leave-conversion-page .details-breakdown tfoot td{border-top:2px solid #ddd}.leave-conversion-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.leave-conversion-page .btn-primary{background:#e37320;color:#fff}.leave-conversion-page .btn-primary:hover{background:#c96419}.leave-conversion-page .btn-primary:disabled{background:#ccc;cursor:not-allowed}.leave-conversion-page .btn-secondary{background:#f5f5f5;color:#666}.leave-conversion-page .btn-secondary:hover{background:#eee}.leave-conversion-page .btn-danger{background:#f44336;color:#fff}.leave-conversion-page .btn-danger:hover{background:#d32f2f}@media (max-width: 768px){.leave-conversion-page .page-header{flex-direction:column;gap:16px;align-items:flex-start}.leave-conversion-page .filters-bar{flex-direction:column}.leave-conversion-page .employee-summary{grid-template-columns:1fr}.leave-conversion-page .modal-content{max-height:100vh;border-radius:0}.leave-conversion-page .details-modal .details-header{flex-direction:column;gap:12px}}.compliance-page{max-width:100%;width:100%;overflow-x:hidden}.compliance-page .page-header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.compliance-page .header-content{flex:1}.compliance-page .page-title{font-size:28px;font-weight:600;color:#333;margin-bottom:8px}.compliance-page .breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px}.compliance-page .breadcrumb-item{color:#999;transition:color .2s}.compliance-page .breadcrumb-item:hover{color:#666;cursor:pointer}.compliance-page .breadcrumb-item.active{color:#f26930;font-weight:500}.compliance-page .breadcrumb-separator{color:#ccc}.compliance-page .btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.compliance-page .btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.compliance-page .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.compliance-page .btn-orange{background:linear-gradient(135deg,#f26930,#fba91a);color:#fff}.compliance-page .btn-secondary{background-color:#e0e0e0;color:#333}.compliance-page .btn-secondary:hover{background-color:#d5d5d5}.compliance-page .btn-link{background:none;border:none;color:#f26930;cursor:pointer;font-size:14px;text-decoration:underline;padding:4px 8px}.compliance-page .btn-link:hover{color:#d45920}.compliance-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden;margin-bottom:24px}.compliance-card .card-header{padding:20px 24px;border-bottom:1px solid #e0e0e0}.compliance-card .card-title{font-size:18px;font-weight:600;color:#333;margin-bottom:4px}.compliance-card .card-subtitle{font-size:14px;color:#999}.dashboard-container{display:flex;flex-direction:column;gap:24px}.score-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:24px}.score-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.score-header h2{font-size:20px;font-weight:600;color:#333;margin:0}.score-date{font-size:13px;color:#999}.score-display{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center}.score-circle{width:180px;height:180px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}.score-inner{width:150px;height:150px;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-value{font-size:48px;font-weight:700;color:#333;line-height:1}.score-label{font-size:16px;color:#999;margin-top:4px}.score-breakdown{display:flex;flex-direction:column;gap:16px}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9f9f9;border-radius:6px}.breakdown-label{font-size:14px;color:#666;font-weight:500}.breakdown-value{font-size:16px;color:#333;font-weight:600}.violations-summary{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:24px}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.summary-header h3{font-size:18px;font-weight:600;color:#333;margin:0}.total-count{font-size:14px;font-weight:500;color:#999}.severity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.severity-card{display:flex;flex-direction:column;align-items:center;padding:20px;border-radius:8px;transition:transform .2s}.severity-card:hover{transform:translateY(-2px)}.severity-card.critical{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff}.severity-card.high{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.severity-card.medium{background:linear-gradient(135deg,#ffc107,#ffa000);color:#fff}.severity-card.low{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff}.severity-icon{margin-bottom:12px}.severity-content{display:flex;flex-direction:column;align-items:center;gap:4px}.severity-count{font-size:32px;font-weight:700}.severity-label{font-size:14px;font-weight:500;opacity:.9}.violations-chart{display:flex;flex-direction:column;gap:16px;padding:24px}.chart-item{display:flex;flex-direction:column;gap:8px}.chart-label{display:flex;justify-content:space-between;align-items:center}.type-name{font-size:14px;font-weight:500;color:#333}.type-count{font-size:14px;font-weight:600;color:#f26930}.chart-bar{height:8px;background:#f5f5f5;border-radius:4px;overflow:hidden}.chart-fill{height:100%;background:linear-gradient(90deg,#f26930,#fba91a);border-radius:4px;transition:width .3s ease}.violations-list{padding:24px;display:flex;flex-direction:column;gap:16px}.violation-item{padding:16px;background:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0;transition:all .2s}.violation-item:hover{background:#f5f5f5;transform:translate(4px)}.violation-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.violation-type{font-size:13px;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.5px}.violation-date{font-size:13px;color:#999;margin-left:auto}.violation-description{font-size:14px;color:#555;line-height:1.5;margin:8px 0}.violation-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:13px}.affected-count{color:#666}.financial-impact{color:#f26930;font-weight:600}.severity-badge{display:inline-block;padding:4px 12px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.severity-badge.severity-critical{background:#ffebee;color:#c62828}.severity-badge.severity-high{background:#fff3e0;color:#e65100}.severity-badge.severity-medium{background:#fff8e1;color:#f57f17}.severity-badge.severity-low{background:#e8f5e9;color:#2e7d32}.status-badge{display:inline-block;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.status-completed{background:#e8f5e9;color:#4caf50}.status-badge.status-approved{background:#e3f2fd;color:#1976d2}.status-badge.status-in-review{background:#fff8e1;color:#f57f17}.status-badge.status-pending{background:#fff3e0;color:#e65100}.status-badge.status-rejected{background:#ffebee;color:#c62828}.recommendations-card{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:1px solid #bbdefb}.recommendations-list{padding:24px;display:flex;flex-direction:column;gap:12px}.recommendation-item{display:flex;gap:12px;padding:12px;background:#fff;border-radius:6px;box-shadow:0 1px 3px #00000014}.recommendation-icon{color:#1976d2;flex-shrink:0}.recommendation-text{font-size:14px;color:#555;line-height:1.6;margin:0}.filters-section{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:24px;border-bottom:1px solid #e0e0e0}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:13px;font-weight:500;color:#555}.filter-group select,.filter-group input{padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;color:#333;outline:none;transition:border-color .2s}.filter-group select:focus,.filter-group input:focus{border-color:#f26930}.results-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e0e0e0}.results-count{font-size:14px;color:#666}.compliance-page .table-container{overflow-x:auto;padding:24px}.violation-type-badge{display:inline-block;padding:4px 10px;background:#f3e5f5;color:#7b1fa2;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.violation-description-cell{max-width:300px}.violation-description-cell p{margin:0 0 4px;font-size:13px;color:#333}.correction-hint{display:block;font-size:12px;color:#1976d2;font-style:italic}.modal-content{background:#fff;border-radius:8px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal-content.modal-large{max-width:900px}.modal-header h3{margin:0;font-size:20px;font-weight:600;color:#333}.modal-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background-color:#f5f5f5}.correction-summary{padding:16px;background:#e3f2fd;border-radius:6px;margin-bottom:20px}.correction-summary p{margin:0 0 8px;font-size:14px;color:#1565c0}.corrections-list{display:flex;flex-direction:column;gap:12px}.correction-item{padding:16px;background:#f9f9f9;border-radius:6px;border:1px solid #e0e0e0}.correction-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.correction-type{font-size:13px;font-weight:600;color:#333;text-transform:uppercase}.correction-cost{font-size:14px;font-weight:600;color:#f26930}.correction-description{font-size:14px;color:#555;margin:0}.reports-container{display:flex;flex-direction:column;gap:24px}.report-form{padding:24px}.report-type-selector{display:flex;gap:8px;margin-bottom:24px;background:#f5f5f5;padding:6px;border-radius:8px}.report-type-btn{flex:1;padding:10px 16px;background:transparent;border:none;border-radius:6px;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s}.report-type-btn:hover{background:#f269301a;color:#f26930}.report-type-btn.active{background:#fff;color:#f26930;box-shadow:0 2px 4px #00000014}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:#555}.form-group input,.form-group select{padding:10px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;color:#333;outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#f26930}.form-group.checkbox-group{flex-direction:row;align-items:center}.form-group.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;margin:0}.form-group.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#f26930}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.alert{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:4px;font-size:14px;margin-bottom:16px}.alert-error{background-color:#ffebee;color:#c62828;border:1px solid #ffcdd2}.alert svg{flex-shrink:0}.report-results{display:flex;flex-direction:column;gap:24px}.report-header-card{background:linear-gradient(135deg,#f26930,#fba91a);color:#fff}.report-title-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.report-title{font-size:24px;font-weight:700;margin:0}.report-type{display:inline-block;padding:6px 16px;background:#fff3;border-radius:20px;font-size:13px;font-weight:600;text-transform:uppercase}.report-meta{display:flex;gap:24px;flex-wrap:wrap}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-label{font-size:12px;opacity:.8;font-weight:500}.meta-value{font-size:14px;font-weight:600}.report-score-card{text-align:center}.score-display-large{display:flex;justify-content:center;padding:20px 0}.score-circle-large{width:220px;height:220px;border-radius:50%;display:flex;align-items:center;justify-content:center}.score-inner-large{width:180px;height:180px;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-value-large{font-size:56px;font-weight:700;color:#333;line-height:1}.score-label-large{font-size:18px;color:#999;margin-top:6px}.summary-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:24px}.stat-card{display:flex;flex-direction:column;align-items:center;padding:20px;background:#f9f9f9;border-radius:8px;border:2px solid #e0e0e0}.stat-card.resolved{background:#e8f5e9;border-color:#4caf50}.stat-card.pending{background:#fff3e0;border-color:#ff9800}.stat-card.rate{background:#e3f2fd;border-color:#1976d2}.stat-value{font-size:36px;font-weight:700;color:#333;line-height:1}.stat-label{font-size:13px;color:#666;margin-top:8px;text-align:center}.category-list{padding:24px;display:flex;flex-direction:column;gap:20px}.category-item{display:flex;flex-direction:column;gap:8px}.category-header{display:flex;justify-content:space-between;align-items:center}.category-name{font-size:15px;font-weight:600;color:#333}.category-score{font-size:16px;font-weight:700}.category-bar{height:10px;background:#f5f5f5;border-radius:5px;overflow:hidden}.category-fill{height:100%;border-radius:5px;transition:width .3s ease}.category-violations{font-size:12px;color:#999}.report-summary{padding:24px;font-size:15px;line-height:1.7;color:#555;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px}.violations-details-list,.corrections-details-list{padding:24px;display:flex;flex-direction:column;gap:16px}.violation-detail-item,.correction-detail-item{padding:16px;background:#f9f9f9;border-radius:6px;border:1px solid #e0e0e0}.violation-detail-header,.correction-detail-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.correction-status{padding:4px 10px;background:#e3f2fd;color:#1976d2;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;margin-left:auto}.violation-impact{display:flex;gap:8px;align-items:center;margin-top:8px;font-size:13px;color:#666}.more-items{text-align:center;font-size:14px;color:#999;padding:12px;background:#f9f9f9;border-radius:6px;margin:0}.error-state{padding:80px 20px;text-align:center}.error-state svg{margin-bottom:20px;color:#f44336}.error-state p{font-size:16px;color:#f44336;margin-bottom:20px}.empty-state{padding:80px 20px;text-align:center}.empty-state svg{margin-bottom:20px;color:#999}.empty-state p{font-size:16px;color:#999;margin:0}@media (max-width: 1400px){.severity-grid,.filters-section,.summary-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.score-display{grid-template-columns:1fr;gap:24px}.filters-section,.form-row{grid-template-columns:1fr}}@media (max-width: 768px){.compliance-page .page-title{font-size:24px}.compliance-page .breadcrumb{font-size:12px}.compliance-page .page-header{flex-direction:column;align-items:stretch}.compliance-page .btn{justify-content:center;width:100%}.severity-grid{grid-template-columns:1fr}.score-breakdown{gap:12px}.summary-stats-grid{grid-template-columns:1fr}.report-meta{flex-direction:column;gap:12px}.report-type-selector{flex-direction:column}.modal-content{max-width:100%;margin:0 10px}}@media (max-width: 480px){.compliance-page .page-title{font-size:20px}.compliance-card .card-title{font-size:16px}.compliance-page .btn{font-size:13px;padding:8px 14px}.score-circle{width:140px;height:140px}.score-inner{width:110px;height:110px}.score-value{font-size:36px}}.attendance-report-page{max-width:100%;width:100%;overflow-x:hidden}.attendance-report-page .page-header{margin-bottom:24px}.attendance-report-page .page-title{font-size:28px;font-weight:600;color:#333;margin:0 0 8px}.attendance-report-page .breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.attendance-report-page .breadcrumb-item{color:#666}.attendance-report-page .breadcrumb-item.active{color:#f26930;font-weight:500}.attendance-report-page .breadcrumb-separator{color:#999}.attendance-report-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.tab-btn.active:after{width:100%}.tab-btn:hover:not(.active){background-color:#f269300d;color:#f26930}.tab-content{background:#fff;padding:20px 24px}.attendance-report-page .filters-row{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap;align-items:flex-end}.attendance-report-page .filter-group{display:flex;flex-direction:column;gap:6px;flex:0 0 auto;min-width:200px}.attendance-report-page .filter-group label{font-size:13px;font-weight:600;color:#333}.attendance-report-page .filter-group select,.attendance-report-page .filter-group input{padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;background-color:#fff;transition:all .2s;min-width:180px}.attendance-report-page .filter-group select:focus,.attendance-report-page .filter-group input:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.attendance-report-page .filter-group input[type=date]{cursor:pointer}.attendance-report-page .filter-group .date-input-wrapper{gap:0}.attendance-report-page .filter-group .date-input-container{min-width:180px;height:42px;border-color:#ddd}.attendance-report-page .filter-group .date-input-container:hover:not(.disabled){border-color:#ccc}.attendance-report-page .filter-group .date-input-container:focus-within{border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.attendance-report-page .action-buttons{display:flex;gap:12px;align-items:center}.attendance-report-page .action-buttons.ml-auto{margin-left:auto}.attendance-report-page .btn{padding:10px 20px;border-radius:6px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.attendance-report-page .btn-primary{background:linear-gradient(135deg,#f26930,#ff8c5a);color:#fff;box-shadow:0 2px 8px #f2693033}.attendance-report-page .btn-primary:hover{background:linear-gradient(135deg,#d95a28,#f26930);box-shadow:0 4px 12px #f269304d;transform:translateY(-1px)}.attendance-report-page .btn-secondary{background-color:#fff;color:#666;border:1px solid #ddd}.attendance-report-page .btn-secondary:hover{background-color:#f5f5f5;border-color:#ccc}.attendance-report-page .legend-row{display:flex;align-items:center;gap:20px;margin-bottom:20px;padding:12px;background-color:#f8f9fa;border-radius:6px;flex-wrap:wrap}.attendance-report-page .legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#666}.attendance-report-page .legend-item svg{flex-shrink:0}.attendance-report-page .legend-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.attendance-report-page .legend-icon svg{width:16px;height:16px}.attendance-report-page .entries-select{margin-left:auto}.attendance-report-page .entries-select select{padding:6px 12px;border:1px solid #ddd;border-radius:6px;font-size:13px;color:#333;background-color:#fff;cursor:pointer}.overview-table-container{overflow-x:auto;margin-bottom:20px;width:100%}.attendance-report-page .table-container{overflow-x:visible;margin-bottom:20px;width:100%}.attendance-report-page .employee-table{width:100%;border-collapse:collapse;table-layout:fixed}.attendance-report-page .employee-table th,.attendance-report-page .employee-table td{padding:10px 8px;text-align:left;border-bottom:1px solid #eee;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-report-page .employee-table th{background-color:#f9f9f9;font-weight:600;color:#333}.attendance-report-page .employee-table tbody tr:hover{background-color:#f9f9f9}.attendance-report-page .employee-table th:nth-child(1),.attendance-report-page .employee-table td:nth-child(1){width:40px;text-align:center}.attendance-report-page .employee-table th:nth-child(2),.attendance-report-page .employee-table td:nth-child(2){width:140px}.attendance-report-page .employee-table th:nth-child(3),.attendance-report-page .employee-table td:nth-child(3){width:85px}.attendance-report-page .employee-table th:nth-child(4),.attendance-report-page .employee-table td:nth-child(4){width:45px;text-align:center}.attendance-report-page .employee-table th:nth-child(5),.attendance-report-page .employee-table td:nth-child(5){width:75px;text-align:center}.attendance-report-page .employee-table th:nth-child(6),.attendance-report-page .employee-table td:nth-child(6){width:70px;text-align:center}.attendance-report-page .employee-table th:nth-child(7),.attendance-report-page .employee-table td:nth-child(7){width:70px;text-align:center}.attendance-report-page .employee-table th:nth-child(8),.attendance-report-page .employee-table td:nth-child(8){width:80px;text-align:center}.attendance-report-page .employee-table th:nth-child(9),.attendance-report-page .employee-table td:nth-child(9){width:85px;text-align:center}.attendance-report-page .employee-table th:nth-child(10),.attendance-report-page .employee-table td:nth-child(10){width:50px;text-align:center}.attendance-report-page .employee-table th:nth-child(11),.attendance-report-page .employee-table td:nth-child(11){width:70px;text-align:center}.by-day-tab .employee-table th:nth-child(1),.by-day-tab .employee-table td:nth-child(1){width:50px}.by-day-tab .employee-table th:nth-child(2),.by-day-tab .employee-table td:nth-child(2){width:200px}.by-day-tab .employee-table th:nth-child(3),.by-day-tab .employee-table td:nth-child(3){width:100px}.by-day-tab .employee-table th:nth-child(4),.by-day-tab .employee-table td:nth-child(4){width:100px}.by-day-tab .employee-table th:nth-child(5),.by-day-tab .employee-table td:nth-child(5){width:100px}.by-day-tab .employee-table th:nth-child(6),.by-day-tab .employee-table td:nth-child(6){width:100px}.by-day-tab .employee-table th:nth-child(7),.by-day-tab .employee-table td:nth-child(7){width:80px}.by-day-tab .employee-table th:nth-child(8),.by-day-tab .employee-table td:nth-child(8){width:80px}.overview-table{width:auto;min-width:100%;border-collapse:collapse;font-size:11px;background-color:#fff;table-layout:auto}.overview-table thead{background:#f9f9f9;border-bottom:2px solid #e0e0e0}.overview-table th{padding:3px 2px;text-align:center;font-weight:600;color:#333;white-space:nowrap!important;font-size:11px;line-height:1.3;writing-mode:horizontal-tb!important;text-orientation:mixed}.overview-table thead tr th.date-header,.overview-table thead tr th.day-header{white-space:nowrap!important;writing-mode:horizontal-tb!important;text-orientation:mixed!important;word-break:keep-all!important}.overview-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s}.overview-table tbody tr:hover{background:#f9f9f9}.overview-table td{padding:3px 2px;color:#666;vertical-align:middle}.day-header{min-width:28px;font-size:9px;text-transform:uppercase;letter-spacing:-.5px;text-align:center;white-space:nowrap!important;writing-mode:horizontal-tb!important;display:table-cell}.date-header{min-width:28px;font-size:10px;color:#333;text-align:center;white-space:nowrap!important;writing-mode:horizontal-tb!important;display:table-cell;vertical-align:middle}.overview-table .header-row{background-color:#f9f9f9;font-weight:600}.overview-table .empty-cell{padding:2px}.employee-col-header{width:180px;min-width:180px;max-width:180px;padding:3px 4px;text-align:left;background-color:#f9f9f9;position:sticky;left:0;z-index:11}.employee-header-content{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px}.header-no{font-weight:600;color:#333;min-width:20px;font-size:11px;flex-shrink:0}.header-name{font-weight:600;color:#333;font-size:11px;white-space:nowrap}.employee-col{width:180px;min-width:180px;max-width:180px;padding:3px 4px;background-color:#fff;position:sticky;left:0;z-index:5}.employee-info{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px}.employee-no{font-weight:500;color:#666;min-width:18px;font-size:11px;flex-shrink:0}.employee-avatar,.employee-avatar-small{width:22px;height:22px;min-width:22px;min-height:22px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#f0f0f0}.employee-avatar img,.employee-avatar-small img{width:100%;height:100%;object-fit:cover}.employee-name{font-size:11px;color:#333;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:110px;flex-shrink:1}.calendar-cell{min-width:24px;padding:3px 1px;text-align:center;vertical-align:middle}.status-icon{display:inline-flex;align-items:center;justify-content:center}.status-icon svg{width:14px;height:14px}.status-empty{color:#ccc;font-size:11px}.total-header,.total-col{width:45px;min-width:45px;padding:3px 2px;text-align:center;font-weight:600;color:#333;background-color:#f9f9f9;white-space:nowrap;font-size:11px}.total-col{background-color:#fff}.employee-cell{display:flex;align-items:center;gap:4px}.attendance-report-page .status-badge{padding:3px 8px;border-radius:10px;font-size:11px;font-weight:500;text-transform:capitalize;display:inline-block;white-space:nowrap;min-width:auto;text-align:center;box-sizing:border-box}.attendance-report-page .status-badge.status-present{background-color:#e8f5e9;color:#2e7d32}.attendance-report-page .status-badge.status-absent{background-color:#ffebee;color:#c62828}.attendance-report-page .status-badge.status-late{background-color:#fff3e0;color:#e65100}.attendance-report-page .status-badge.status-halfday{background-color:#e3f2fd;color:#1565c0}.attendance-report-page .status-badge.status-leave{background-color:#e3f2fd;color:#1976d2}.attendance-report-page .status-badge.status-rest-day{background-color:#f3e5f5;color:#7b1fa2}.attendance-report-page .status-badge.status--{background-color:#f5f5f5;color:#999}.attendance-report-page .status-icon.status-future{color:#bdbdbd;font-size:14px;font-weight:500}.attendance-report-page .text-success{color:#4caf50!important;font-weight:500}.attendance-report-page .text-warning{color:#ff9800!important;font-weight:400}.attendance-report-page .running-time{font-family:Courier New,Courier,monospace;font-weight:400;animation:pulse-running 1s ease-in-out infinite}@keyframes pulse-running{0%,to{opacity:1}50%{opacity:.7}}.attendance-report-page .action-btn.location-btn{color:#f26930}.attendance-report-page .action-btn.location-btn:hover{background-color:#fff3e0;border-radius:4px}.attendance-report-page .action-icons{display:flex;align-items:center;justify-content:center;gap:4px}.attendance-report-page .icon-btn{background:none;border:none;padding:4px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.attendance-report-page .icon-btn:hover{background-color:#f5f5f5}.attendance-report-page .icon-btn.location-icon{color:#f26930}.attendance-report-page .icon-btn.location-icon:hover{background-color:#fff3e0}.attendance-report-page .icon-btn.view-icon{color:#2196f3}.attendance-report-page .icon-btn.view-icon:hover{background-color:#e3f2fd}.attendance-report-page .icon-btn svg{width:18px;height:18px}.attendance-report-page .no-data{text-align:center;padding:40px!important;color:#999;font-size:15px}.attendance-report-page .loading-state,.attendance-report-page .no-data-state{text-align:center;padding:60px 20px;color:#666;font-size:15px;background:#f8f9fa;border-radius:8px;margin:20px 0}.attendance-report-page .loading-state{color:#f26930;font-weight:500}.attendance-report-page .pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.attendance-report-page .pagination-btn{background:#fff;border:1px solid #ddd;width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:#666}.attendance-report-page .pagination-btn:hover:not(:disabled){background-color:#f5f5f5;border-color:#f26930;color:#f26930}.attendance-report-page .pagination-btn:disabled{opacity:.4;cursor:not-allowed}.attendance-report-page .pagination-info{font-size:14px;color:#666;font-weight:500}@media (max-width: 1200px){.attendance-report-page .filters-row{flex-direction:column;align-items:stretch}.attendance-report-page .filter-group{min-width:100%}.attendance-report-page .action-buttons{flex-wrap:wrap}.attendance-report-page .action-buttons.ml-auto{margin-left:0}}@media (max-width: 768px){.attendance-report-page .page-title{font-size:24px}.attendance-report-page .tabs-container{overflow-x:auto}.attendance-report-page .tab-btn{padding:12px 24px;font-size:14px}.attendance-report-page .tab-content{padding:16px}.attendance-report-page .legend-row{gap:12px}.attendance-report-page .legend-item{font-size:11px}.overview-table,.attendance-table{font-size:10px}.attendance-report-page .btn{padding:8px 16px;font-size:13px}.overview-table-container{overflow-x:auto}.attendance-report-page .table-container{overflow-x:visible}.attendance-report-page .employee-table th,.attendance-report-page .employee-table td{padding:8px 4px;font-size:11px}.attendance-report-page .employee-table th:nth-child(2),.attendance-report-page .employee-table td:nth-child(2){width:120px}.attendance-report-page .icon-btn{padding:4px}.attendance-report-page .icon-btn svg{width:16px;height:16px}.calendar-cell{min-width:24px;padding:2px 1px}.day-header,.date-header{min-width:24px;white-space:nowrap!important;writing-mode:horizontal-tb!important}.employee-col-header,.employee-col{width:150px;min-width:150px;max-width:150px}.employee-info{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center}.employee-name{max-width:70px}.employee-avatar,.employee-avatar-small{width:20px;height:20px}.status-icon svg{width:12px;height:12px}.attendance-report-page .legend-icon svg{width:14px;height:14px}.day-header{font-size:8px;white-space:nowrap!important;writing-mode:horizontal-tb!important}.date-header{font-size:9px;white-space:nowrap!important;writing-mode:horizontal-tb!important}.total-header,.total-col{width:40px;min-width:40px;font-size:10px}}@media (max-width: 480px){.attendance-report-page .breadcrumb{font-size:12px}.attendance-report-page .tab-btn{padding:10px 16px;font-size:13px}.attendance-report-page .filter-group{min-width:100%}.attendance-report-page .action-buttons{flex-direction:column;width:100%}.attendance-report-page .btn{width:100%}}.leave-page{max-width:100%;width:100%;overflow-x:hidden}.leave-page .page-header{margin-bottom:24px}.leave-page .page-title{font-size:28px;font-weight:600;color:#333;margin:0 0 8px}.leave-page .breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.leave-page .breadcrumb-item{color:#666}.leave-page .breadcrumb-item.active{color:#f26930;font-weight:500}.leave-page .breadcrumb-separator{color:#999}.leave-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.leave-page .tabs-container{display:flex;gap:4px;margin-bottom:0;background-color:#fafafa;padding:4px;border-bottom:1px solid #e0e0e0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.leave-page .tabs-container::-webkit-scrollbar{display:none}.leave-page .tab-btn{padding:12px 28px;border:none;background-color:transparent;color:#666;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease;border-radius:6px;position:relative;white-space:nowrap}.leave-page .tab-btn:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:3px;background:linear-gradient(135deg,#f26930,#ff8c5a);border-radius:3px 3px 0 0;transition:width .3s ease}.leave-page .tab-btn.active{background-color:#fff;color:#f26930;font-weight:600;box-shadow:0 2px 8px #0000000f}.leave-page .tab-btn.active:after{width:100%}.leave-page .tab-btn:hover:not(.active){background-color:#f269300d;color:#f26930}.leave-page .tab-content{background:#fff;padding:20px 24px}.leave-page .filters-row{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap;align-items:flex-end}.leave-page .filter-group{display:flex;flex-direction:column;gap:6px;flex:0 0 auto;min-width:200px}.leave-page .filter-group label{font-size:13px;font-weight:600;color:#333}.leave-page .filter-group select,.leave-page .filter-group input{padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;background-color:#fff;transition:all .2s;min-width:180px}.leave-page .filter-group select:focus,.leave-page .filter-group input:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.leave-page .filter-group input[type=date]{cursor:pointer}.leave-page .action-buttons{display:flex;gap:12px;align-items:center}.leave-page .action-buttons.ml-auto{margin-left:auto}.leave-page .btn{padding:10px 20px;border-radius:6px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.leave-page .btn-primary{background:linear-gradient(135deg,#f26930,#ff8c5a);color:#fff;box-shadow:0 2px 8px #f2693033}.leave-page .btn-primary:hover{background:linear-gradient(135deg,#d95a28,#f26930);box-shadow:0 4px 12px #f269304d;transform:translateY(-1px)}.leave-page .btn-secondary{background-color:#fff;color:#666;border:1px solid #ddd}.leave-page .btn-secondary:hover{background-color:#f5f5f5;border-color:#ccc}.leave-page .table-container{overflow-x:auto;margin-bottom:20px;width:100%}.leave-page .no-data{text-align:center;padding:40px!important;color:#999;font-size:15px}.leave-page .status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize;display:inline-block;white-space:nowrap}.leave-page .status-badge.status-approved,.leave-page .status-badge.status-active{background-color:#e8f5e9;color:#2e7d32}.leave-page .status-badge.status-pending{background-color:#fff3e0;color:#e65100}.leave-page .status-badge.status-rejected{background-color:#ffebee;color:#c62828}.leave-page .status-badge.status-cancelled,.leave-page .status-badge.status-inactive{background-color:#f5f5f5;color:#757575}.leave-page .status-badge.status-waiting{background-color:#e3f2fd;color:#1565c0}.leave-page .action-btn.approve-btn{color:#2e7d32}.leave-page .action-btn.approve-btn:hover{background-color:#e8f5e9;border-radius:4px}.leave-page .action-btn.reject-btn{color:#c62828}.leave-page .action-btn.reject-btn:hover{background-color:#ffebee;border-radius:4px}.leave-page .action-btn.disapprove-btn{color:#c62828}.leave-page .action-btn.disapprove-btn:hover{background-color:#ffcdd2;border-radius:4px}.leave-page .loading-state,.leave-page .no-data-state{text-align:center;padding:60px 20px;color:#666;font-size:15px;background:#f8f9fa;border-radius:8px;margin:20px 0}.leave-page .loading-state{color:#f26930;font-weight:500}.leave-page .balances-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:10px 0}.leave-page .balance-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:all .3s ease}.leave-page .balance-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.leave-page .balance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e0e0e0}.leave-page .balance-header h3{margin:0;font-size:16px;font-weight:600;color:#333}.leave-page .leave-code{font-size:12px;font-weight:600;color:#f26930;background:#f269301a;padding:4px 10px;border-radius:4px}.leave-page .balance-body{margin-bottom:16px}.leave-page .balance-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.leave-page .balance-row.highlight{background-color:#f269300d;padding:10px 12px;margin:8px -12px 0;border-radius:6px}.leave-page .balance-label{color:#666;font-weight:500}.leave-page .balance-value{font-weight:600;color:#333}.leave-page .balance-value.used{color:#c62828}.leave-page .balance-value.pending{color:#e65100}.leave-page .balance-value.available{color:#2e7d32;font-size:18px}.leave-page .balance-footer{margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.leave-page .progress-bar{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.leave-page .progress-fill{height:100%;background:linear-gradient(135deg,#f26930,#ff8c5a);transition:width .3s ease}.leave-page .progress-text{font-size:12px;color:#666;text-align:center;display:block}@media (max-width: 1200px){.leave-page .filters-row{flex-direction:column;align-items:stretch}.leave-page .filter-group{min-width:100%}.leave-page .action-buttons{flex-wrap:wrap}.leave-page .action-buttons.ml-auto{margin-left:0}.leave-page .balances-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width: 768px){.leave-page .page-title{font-size:24px}.leave-page .tabs-container{overflow-x:auto}.leave-page .tab-btn{padding:12px 24px;font-size:14px}.leave-page .tab-content{padding:16px}.leave-page .leave-table{font-size:9px}.leave-page .btn{padding:8px 16px;font-size:13px}.leave-page .balances-grid{grid-template-columns:1fr}}@media (max-width: 480px){.leave-page .breadcrumb{font-size:12px}.leave-page .tab-btn{padding:10px 16px;font-size:13px}.leave-page .filter-group{min-width:100%}.leave-page .action-buttons{flex-direction:column;width:100%}.leave-page .btn{width:100%}}.form-group input[type=text],.form-group input[type=tel],.form-group input[type=url],.form-group input[type=date],.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;background-color:#fff;transition:all .2s}.form-group input[type=text]:focus,.form-group input[type=tel]:focus,.form-group input[type=url]:focus,.form-group input[type=date]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.form-group input[type=checkbox]{margin-right:8px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}.detail-item.full-width{grid-column:1 / -1}.detail-item label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.detail-item span{font-size:14px;color:#333}.reason-text{margin:0;font-size:14px;color:#333;line-height:1.5;background:#f9f9f9;padding:12px;border-radius:6px;border:1px solid #e0e0e0}.workflow-step{display:flex;gap:16px;position:relative}.step-indicator{display:flex;flex-direction:column;align-items:center;position:relative}.step-number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;background-color:#ccc;z-index:1}.step-line{width:2px;flex:1;min-height:40px;background-color:#e0e0e0}.step-content{flex:1;padding-bottom:20px}.step-status{font-size:11px;padding:2px 8px}.step-badges{display:flex;align-items:center;gap:8px}.approval-type-badge{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.approval-type-badge.sequential{background-color:#e3f2fd;color:#1565c0;border:1px solid #90caf9}.approval-type-badge.anyone{background-color:#f3e5f5;color:#7b1fa2;border:1px solid #ce93d8}.step-details{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#666}.approver-name{font-weight:500}.step-remarks{margin-top:8px;padding:8px 12px;background-color:#f8f9fa;border-radius:4px;font-size:13px;color:#666}.step-remarks .remarks-label{font-weight:600;color:#333;font-style:normal}.workflow-step.workflow-approved .step-number,.workflow-step.workflow-approved .step-line{background-color:#2e7d32}.workflow-step.workflow-rejected .step-number,.workflow-step.workflow-rejected .step-line{background-color:#c62828}.workflow-step.workflow-pending .step-line{background-color:#e0e0e0}.workflow-step.workflow-skipped .step-line{background-color:#e0e0e0}.workflow-step.workflow-waiting .step-number{background-color:#1565c0}.workflow-step.workflow-waiting .step-line{background-color:#e0e0e0}.status-badge.status-skipped{background-color:#f5f5f5;color:#757575}.status-badge.status-waiting{background-color:#e3f2fd;color:#1565c0}@media (max-width: 768px){.detail-grid{grid-template-columns:1fr}.step-header{flex-direction:column;align-items:flex-start;gap:4px}.step-details{flex-direction:column;gap:4px}}.approval-modal{max-width:550px}.approval-modal .modal-header.approval-header{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-bottom:2px solid #4caf50}.approval-modal .modal-header.approval-header h2{color:#2e7d32}.approval-modal .modal-header.disapproval-header{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-bottom:2px solid #ef5350}.approval-modal .modal-header.disapproval-header h2{color:#c62828}.confirmation-banner{display:flex;align-items:flex-start;gap:16px;padding:16px;border-radius:8px;margin-bottom:20px}.confirmation-banner.approve-banner{background-color:#e8f5e9;border:1px solid #a5d6a7}.confirmation-banner.disapprove-banner{background-color:#ffebee;border:1px solid #ef9a9a}.confirmation-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#fff}.confirmation-icon svg{width:24px;height:24px}.confirmation-text{flex:1}.confirmation-title{margin:0 0 4px;font-size:15px;font-weight:600;color:#333}.confirmation-subtitle{margin:0;font-size:13px;color:#666;line-height:1.4}.disapprove-banner .confirmation-subtitle{color:#c62828;font-weight:500}.approval-details{margin-bottom:20px}.approval-details h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.5px}.approval-details .employee-name{font-weight:600;color:#f26930}.btn-approve{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;box-shadow:0 2px 8px #4caf504d}.btn-approve:hover:not(:disabled){background:linear-gradient(135deg,#43a047,#4caf50);box-shadow:0 4px 12px #4caf5066;transform:translateY(-1px)}.btn-approve:disabled{background:#a5d6a7;cursor:not-allowed;transform:none;box-shadow:none}.btn-disapprove{background:linear-gradient(135deg,#ef5350,#e57373);color:#fff;box-shadow:0 2px 8px #ef53504d}.btn-disapprove:hover:not(:disabled){background:linear-gradient(135deg,#e53935,#ef5350);box-shadow:0 4px 12px #ef535066;transform:translateY(-1px)}.btn-disapprove:disabled{background:#ef9a9a;cursor:not-allowed;transform:none;box-shadow:none}.leave-page .action-btn:disabled{opacity:.6;cursor:not-allowed}.leave-page .action-btn:disabled:hover{background-color:transparent}@media (max-width: 768px){.approval-modal{max-width:100%}.confirmation-banner{flex-direction:column;align-items:center;text-align:center}.confirmation-icon{margin-bottom:8px}}.ob-page{max-width:100%;width:100%;overflow-x:hidden}.ob-page .page-header{margin-bottom:24px}.ob-page .page-title{font-size:28px;font-weight:600;color:#333;margin:0 0 8px}.ob-page .breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.ob-page .breadcrumb-item{color:#666}.ob-page .breadcrumb-item.active{color:#f26930;font-weight:500}.ob-page .breadcrumb-separator{color:#999}.ob-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.ob-page .tabs-container{display:flex;gap:4px;margin-bottom:0;background-color:#fafafa;padding:4px;border-bottom:1px solid #e0e0e0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.ob-page .tabs-container::-webkit-scrollbar{display:none}.ob-page .tab-btn{padding:12px 28px;border:none;background-color:transparent;color:#666;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease;border-radius:6px;position:relative;white-space:nowrap}.ob-page .tab-btn:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:3px;background:linear-gradient(135deg,#f26930,#ff8c5a);border-radius:3px 3px 0 0;transition:width .3s ease}.ob-page .tab-btn.active{background-color:#fff;color:#f26930;font-weight:600;box-shadow:0 2px 8px #0000000f}.ob-page .tab-btn.active:after{width:100%}.ob-page .tab-btn:hover:not(.active){background-color:#f269300d;color:#f26930}.ob-page .tab-content{background:#fff;padding:20px 24px}.ob-page .filters-row{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap;align-items:flex-end}.ob-page .filter-group{display:flex;flex-direction:column;gap:6px;flex:0 0 auto;min-width:200px}.ob-page .filter-group label{font-size:13px;font-weight:600;color:#333}.ob-page .filter-group select,.ob-page .filter-group input{padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;background-color:#fff;transition:all .2s;min-width:180px}.ob-page .filter-group select:focus,.ob-page .filter-group input:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.ob-page .filter-group input[type=date]{cursor:pointer}.ob-page .action-buttons{display:flex;gap:12px;align-items:center}.ob-page .action-buttons.ml-auto{margin-left:auto}.ob-page .btn{padding:10px 20px;border-radius:6px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.ob-page .btn-primary{background:linear-gradient(135deg,#f26930,#ff8c5a);color:#fff;box-shadow:0 2px 8px #f2693033}.ob-page .btn-primary:hover{background:linear-gradient(135deg,#d95a28,#f26930);box-shadow:0 4px 12px #f269304d;transform:translateY(-1px)}.ob-page .btn-secondary{background-color:#fff;color:#666;border:1px solid #ddd}.ob-page .btn-secondary:hover{background-color:#f5f5f5;border-color:#ccc}.ob-page .table-container{overflow-x:auto;margin-bottom:20px;width:100%}.ob-page .no-data{text-align:center;padding:40px!important;color:#999;font-size:15px}.ob-page .status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize;display:inline-block;white-space:nowrap}.ob-page .status-badge.status-approved,.ob-page .status-badge.status-active{background-color:#e8f5e9;color:#2e7d32}.ob-page .status-badge.status-pending{background-color:#fff3e0;color:#e65100}.ob-page .status-badge.status-rejected{background-color:#ffebee;color:#c62828}.ob-page .status-badge.status-cancelled,.ob-page .status-badge.status-inactive{background-color:#f5f5f5;color:#757575}.ob-page .employee-table th:last-child,.ob-page .employee-table td:last-child{min-width:140px;width:140px;white-space:nowrap}.ob-page td .action-buttons{display:flex;gap:4px;justify-content:flex-start;flex-wrap:nowrap}.ob-page td .action-btn{flex-shrink:0}.ob-page .action-btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.ob-page .action-btn.approve-btn{color:#2e7d32}.ob-page .action-btn.approve-btn:hover{background-color:#e8f5e9;border-radius:4px}.ob-page .action-btn.reject-btn{color:#c62828}.ob-page .action-btn.reject-btn:hover{background-color:#ffebee;border-radius:4px}.ob-page .loading-state,.ob-page .no-data-state{text-align:center;padding:60px 20px;color:#666;font-size:15px;background:#f8f9fa;border-radius:8px;margin:20px 0}.ob-page .loading-state{color:#f26930;font-weight:500}@media (max-width: 1200px){.ob-page .filters-row{flex-direction:column;align-items:stretch}.ob-page .filter-group{min-width:100%}.ob-page .action-buttons{flex-wrap:wrap}.ob-page .action-buttons.ml-auto{margin-left:0}}@media (max-width: 768px){.ob-page .page-title{font-size:24px}.ob-page .tabs-container{overflow-x:auto}.ob-page .tab-btn{padding:12px 24px;font-size:14px}.ob-page .tab-content{padding:16px}.ob-page .ob-table{font-size:9px}.ob-page .btn{padding:8px 16px;font-size:13px}}@media (max-width: 480px){.ob-page .breadcrumb{font-size:12px}.ob-page .tab-btn{padding:10px 16px;font-size:13px}.ob-page .filter-group{min-width:100%}.ob-page .action-buttons{flex-direction:column;width:100%}.ob-page .btn{width:100%}}.coa-page{max-width:100%;width:100%;overflow-x:hidden}.coa-page .page-header{margin-bottom:24px}.coa-page .page-title{font-size:28px;font-weight:600;color:#333;margin:0 0 8px}.coa-page .breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.coa-page .breadcrumb-item{color:#666}.coa-page .breadcrumb-item.active{color:#f26930;font-weight:500}.coa-page .breadcrumb-separator{color:#999}.coa-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.coa-page .tabs-container{display:flex;gap:4px;margin-bottom:0;background-color:#fafafa;padding:4px;border-bottom:1px solid #e0e0e0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.coa-page .tabs-container::-webkit-scrollbar{display:none}.coa-page .tab-btn{padding:12px 28px;border:none;background-color:transparent;color:#666;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease;border-radius:6px;position:relative;white-space:nowrap}.coa-page .tab-btn:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:3px;background:linear-gradient(135deg,#f26930,#ff8c5a);border-radius:3px 3px 0 0;transition:width .3s ease}.coa-page .tab-btn.active{background-color:#fff;color:#f26930;font-weight:600;box-shadow:0 2px 8px #0000000f}.coa-page .tab-btn.active:after{width:100%}.coa-page .tab-btn:hover:not(.active){background-color:#f269300d;color:#f26930}.coa-page .tab-content{background:#fff;padding:20px 24px}.coa-page .filters-row{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap;align-items:flex-end}.coa-page .filter-group{display:flex;flex-direction:column;gap:6px;flex:0 0 auto;min-width:200px}.coa-page .filter-group label{font-size:13px;font-weight:600;color:#333}.coa-page .filter-group select,.coa-page .filter-group input{padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;background-color:#fff;transition:all .2s;min-width:180px}.coa-page .filter-group select:focus,.coa-page .filter-group input:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.coa-page .filter-group input[type=date]{cursor:pointer}.coa-page .action-buttons{display:flex;gap:12px;align-items:center}.coa-page .action-buttons.ml-auto{margin-left:auto}.coa-page .btn{padding:10px 20px;border-radius:6px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.coa-page .btn-primary{background:linear-gradient(135deg,#f26930,#ff8c5a);color:#fff;box-shadow:0 2px 8px #f2693033}.coa-page .btn-primary:hover{background:linear-gradient(135deg,#d95a28,#f26930);box-shadow:0 4px 12px #f269304d;transform:translateY(-1px)}.coa-page .btn-secondary{background-color:#fff;color:#666;border:1px solid #ddd}.coa-page .btn-secondary:hover{background-color:#f5f5f5;border-color:#ccc}.coa-page .table-container{overflow-x:auto;margin-bottom:20px;width:100%}.coa-page .no-data{text-align:center;padding:40px!important;color:#999;font-size:15px}.coa-page .status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize;display:inline-block;white-space:nowrap}.coa-page .status-badge.status-approved,.coa-page .status-badge.status-active{background-color:#e8f5e9;color:#2e7d32}.coa-page .status-badge.status-pending{background-color:#fff3e0;color:#e65100}.coa-page .status-badge.status-rejected{background-color:#ffebee;color:#c62828}.coa-page .status-badge.status-cancelled,.coa-page .status-badge.status-inactive{background-color:#f5f5f5;color:#757575}.coa-page .status-badge.status-completed{background-color:#e3f2fd;color:#1565c0}.coa-page .action-btn.approve-btn{color:#2e7d32}.coa-page .action-btn.approve-btn:hover{background-color:#e8f5e9;border-radius:4px}.coa-page .action-btn.reject-btn{color:#c62828}.coa-page .action-btn.reject-btn:hover{background-color:#ffebee;border-radius:4px}.coa-page .loading-state,.coa-page .no-data-state{text-align:center;padding:60px 20px;color:#666;font-size:15px;background:#f8f9fa;border-radius:8px;margin:20px 0}.coa-page .loading-state{color:#f26930;font-weight:500}@media (max-width: 1200px){.coa-page .filters-row{flex-direction:column;align-items:stretch}.coa-page .filter-group{min-width:100%}.coa-page .action-buttons{flex-wrap:wrap}.coa-page .action-buttons.ml-auto{margin-left:0}}@media (max-width: 768px){.coa-page .page-title{font-size:24px}.coa-page .tabs-container{overflow-x:auto}.coa-page .tab-btn{padding:12px 24px;font-size:14px}.coa-page .tab-content{padding:16px}.coa-page .coa-table{font-size:9px}.coa-page .btn{padding:8px 16px;font-size:13px}}@media (max-width: 480px){.coa-page .breadcrumb{font-size:12px}.coa-page .tab-btn{padding:10px 16px;font-size:13px}.coa-page .filter-group{min-width:100%}.coa-page .action-buttons{flex-direction:column;width:100%}.coa-page .btn{width:100%}}.form-group input[type=text],.form-group input[type=tel],.form-group input[type=url],.form-group input[type=date],.form-group input[type=time],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;background-color:#fff;transition:all .2s}.form-group input[type=text]:focus,.form-group input[type=tel]:focus,.form-group input[type=url]:focus,.form-group input[type=date]:focus,.form-group input[type=time]:focus,.form-group input[type=number]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}@media (max-width: 768px){.modal-content{max-width:100%}.form-row{grid-template-columns:1fr}.modal-body{padding:16px}}.overtime-page{max-width:100%;width:100%;overflow-x:hidden}.overtime-page .page-header{margin-bottom:24px}.overtime-page .page-title{font-size:28px;font-weight:600;color:#333;margin:0 0 8px}.overtime-page .breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.overtime-page .breadcrumb-item{color:#666}.overtime-page .breadcrumb-item.active{color:#f26930;font-weight:500}.overtime-page .breadcrumb-separator{color:#999}.overtime-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.overtime-page .tabs-container{display:flex;gap:4px;margin-bottom:0;background-color:#fafafa;padding:4px;border-bottom:1px solid #e0e0e0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.overtime-page .tabs-container::-webkit-scrollbar{display:none}.overtime-page .tab-btn{padding:12px 28px;border:none;background-color:transparent;color:#666;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease;border-radius:6px;position:relative;white-space:nowrap}.overtime-page .tab-btn:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:3px;background:linear-gradient(135deg,#f26930,#ff8c5a);border-radius:3px 3px 0 0;transition:width .3s ease}.overtime-page .tab-btn.active{background-color:#fff;color:#f26930;font-weight:600;box-shadow:0 2px 8px #0000000f}.overtime-page .tab-btn.active:after{width:100%}.overtime-page .tab-btn:hover:not(.active){background-color:#f269300d;color:#f26930}.overtime-page .tab-content{background:#fff;padding:20px 24px}.overtime-page .filters-row{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap;align-items:flex-end}.overtime-page .filter-group{display:flex;flex-direction:column;gap:6px;flex:0 0 auto;min-width:200px}.overtime-page .filter-group label{font-size:13px;font-weight:600;color:#333}.overtime-page .filter-group select,.overtime-page .filter-group input{padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;background-color:#fff;transition:all .2s;min-width:180px}.overtime-page .filter-group select:focus,.overtime-page .filter-group input:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.overtime-page .filter-group input[type=date]{cursor:pointer}.overtime-page .action-buttons{display:flex;gap:12px;align-items:center}.overtime-page .action-buttons.ml-auto{margin-left:auto}.overtime-page .btn{padding:10px 20px;border-radius:6px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.overtime-page .btn-primary{background:linear-gradient(135deg,#f26930,#ff8c5a);color:#fff;box-shadow:0 2px 8px #f2693033}.overtime-page .btn-primary:hover{background:linear-gradient(135deg,#d95a28,#f26930);box-shadow:0 4px 12px #f269304d;transform:translateY(-1px)}.overtime-page .btn-secondary{background-color:#fff;color:#666;border:1px solid #ddd}.overtime-page .btn-secondary:hover{background-color:#f5f5f5;border-color:#ccc}.overtime-page .table-container{overflow-x:auto;margin-bottom:20px;width:100%}.overtime-page .employee-table{table-layout:fixed;width:100%}.overtime-page .employee-table th:nth-child(1),.overtime-page .employee-table td:nth-child(1){width:5%}.overtime-page .employee-table th:nth-child(2),.overtime-page .employee-table td:nth-child(2){width:14%}.overtime-page .employee-table th:nth-child(3),.overtime-page .employee-table td:nth-child(3){width:10%}.overtime-page .employee-table th:nth-child(4),.overtime-page .employee-table td:nth-child(4){width:12%}.overtime-page .employee-table th:nth-child(5),.overtime-page .employee-table td:nth-child(5){width:10%}.overtime-page .employee-table th:nth-child(6),.overtime-page .employee-table td:nth-child(6){width:18%}.overtime-page .employee-table th:nth-child(7),.overtime-page .employee-table td:nth-child(7){width:9%}.overtime-page .employee-table th:nth-child(8),.overtime-page .employee-table td:nth-child(8){width:10%}.overtime-page .employee-table th:nth-child(9),.overtime-page .employee-table td:nth-child(9){width:12%}.overtime-page .employee-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overtime-page .employee-table td:nth-child(9){overflow:visible;white-space:nowrap}.overtime-page .employee-table .action-buttons{display:flex;gap:4px;align-items:center;justify-content:flex-start;flex-wrap:nowrap}.overtime-page .employee-table .action-btn{padding:4px;flex-shrink:0;min-width:24px;width:24px;height:24px}.overtime-page .employee-table .action-btn svg{width:16px;height:16px}.overtime-page .no-data{text-align:center;padding:40px!important;color:#999;font-size:15px}.overtime-page .status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize;display:inline-block;white-space:nowrap}.overtime-page .status-badge.status-approved,.overtime-page .status-badge.status-active{background-color:#e8f5e9;color:#2e7d32}.overtime-page .status-badge.status-pending{background-color:#fff3e0;color:#e65100}.overtime-page .status-badge.status-rejected{background-color:#ffebee;color:#c62828}.overtime-page .status-badge.status-cancelled,.overtime-page .status-badge.status-inactive{background-color:#f5f5f5;color:#757575}.overtime-page .action-btn.approve-btn{color:#2e7d32}.overtime-page .action-btn.approve-btn:hover{background-color:#e8f5e9;border-radius:4px}.overtime-page .action-btn.reject-btn{color:#c62828}.overtime-page .action-btn.reject-btn:hover{background-color:#ffebee;border-radius:4px}.overtime-page .loading-state,.overtime-page .no-data-state{text-align:center;padding:60px 20px;color:#666;font-size:15px;background:#f8f9fa;border-radius:8px;margin:20px 0}.overtime-page .loading-state{color:#f26930;font-weight:500}@media (max-width: 1200px){.overtime-page .filters-row{flex-direction:column;align-items:stretch}.overtime-page .filter-group{min-width:100%}.overtime-page .action-buttons{flex-wrap:wrap}.overtime-page .action-buttons.ml-auto{margin-left:0}}@media (max-width: 768px){.overtime-page .page-title{font-size:24px}.overtime-page .tabs-container{overflow-x:auto}.overtime-page .tab-btn{padding:12px 24px;font-size:14px}.overtime-page .tab-content{padding:16px}.overtime-page .overtime-table{font-size:9px}.overtime-page .btn{padding:8px 16px;font-size:13px}.form-row{grid-template-columns:1fr}.modal-body{padding:16px}}@media (max-width: 480px){.overtime-page .breadcrumb{font-size:12px}.overtime-page .tab-btn{padding:10px 16px;font-size:13px}.overtime-page .filter-group{min-width:100%}.overtime-page .action-buttons{flex-direction:column;width:100%}.overtime-page .btn{width:100%}}@media (max-width: 768px){.modal-content.modal-large{max-width:100%}.detail-grid{grid-template-columns:1fr}.detail-item.full-width{grid-column:span 1}}.undertime-page{max-width:100%;width:100%;overflow-x:hidden}.undertime-page .page-header{margin-bottom:24px}.undertime-page .page-title{font-size:28px;font-weight:600;color:#333;margin:0 0 8px}.undertime-page .breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.undertime-page .breadcrumb-item{color:#666}.undertime-page .breadcrumb-item.active{color:#f26930;font-weight:500}.undertime-page .breadcrumb-separator{color:#999}.undertime-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.undertime-page .tabs-container{display:flex;gap:4px;margin-bottom:0;background-color:#fafafa;padding:4px;border-bottom:1px solid #e0e0e0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.undertime-page .tabs-container::-webkit-scrollbar{display:none}.undertime-page .tab-btn{padding:12px 28px;border:none;background-color:transparent;color:#666;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease;border-radius:6px;position:relative;white-space:nowrap}.undertime-page .tab-btn:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:3px;background:linear-gradient(135deg,#f26930,#ff8c5a);border-radius:3px 3px 0 0;transition:width .3s ease}.undertime-page .tab-btn.active{background-color:#fff;color:#f26930;font-weight:600;box-shadow:0 2px 8px #0000000f}.undertime-page .tab-btn.active:after{width:100%}.undertime-page .tab-btn:hover:not(.active){background-color:#f269300d;color:#f26930}.undertime-page .tab-content{background:#fff;padding:20px 24px}.undertime-page .filters-row{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap;align-items:flex-end}.undertime-page .filter-group{display:flex;flex-direction:column;gap:6px;flex:0 0 auto;min-width:200px}.undertime-page .filter-group label{font-size:13px;font-weight:600;color:#333}.undertime-page .filter-group select,.undertime-page .filter-group input{padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;background-color:#fff;transition:all .2s;min-width:180px}.undertime-page .filter-group select:focus,.undertime-page .filter-group input:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.undertime-page .filter-group input[type=date]{cursor:pointer}.undertime-page .action-buttons{display:flex;gap:12px;align-items:center}.undertime-page .action-buttons.ml-auto{margin-left:auto}.undertime-page .btn{padding:10px 20px;border-radius:6px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.undertime-page .btn-primary{background:linear-gradient(135deg,#f26930,#ff8c5a);color:#fff;box-shadow:0 2px 8px #f2693033}.undertime-page .btn-primary:hover{background:linear-gradient(135deg,#d95a28,#f26930);box-shadow:0 4px 12px #f269304d;transform:translateY(-1px)}.undertime-page .btn-secondary{background-color:#fff;color:#666;border:1px solid #ddd}.undertime-page .btn-secondary:hover{background-color:#f5f5f5;border-color:#ccc}.undertime-page .table-container{overflow-x:auto;margin-bottom:20px;width:100%}.undertime-page .employee-table{table-layout:fixed;width:100%}.undertime-page .employee-table th:nth-child(1),.undertime-page .employee-table td:nth-child(1){width:4%}.undertime-page .employee-table th:nth-child(2),.undertime-page .employee-table td:nth-child(2){width:12%}.undertime-page .employee-table th:nth-child(3),.undertime-page .employee-table td:nth-child(3){width:9%}.undertime-page .employee-table th:nth-child(4),.undertime-page .employee-table td:nth-child(4){width:10%}.undertime-page .employee-table th:nth-child(5),.undertime-page .employee-table td:nth-child(5){width:10%}.undertime-page .employee-table th:nth-child(6),.undertime-page .employee-table td:nth-child(6){width:9%}.undertime-page .employee-table th:nth-child(7),.undertime-page .employee-table td:nth-child(7){width:15%}.undertime-page .employee-table th:nth-child(8),.undertime-page .employee-table td:nth-child(8){width:8%}.undertime-page .employee-table th:nth-child(9),.undertime-page .employee-table td:nth-child(9){width:10%}.undertime-page .employee-table th:nth-child(10),.undertime-page .employee-table td:nth-child(10){width:13%}.undertime-page .employee-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.undertime-page .employee-table td:nth-child(10){overflow:visible;white-space:nowrap}.undertime-page .employee-table .action-buttons{display:flex;gap:4px;align-items:center;justify-content:flex-start;flex-wrap:nowrap}.undertime-page .employee-table .action-btn{padding:4px;flex-shrink:0;min-width:24px;width:24px;height:24px}.undertime-page .employee-table .action-btn svg{width:16px;height:16px}.undertime-page .no-data{text-align:center;padding:40px!important;color:#999;font-size:15px}.undertime-page .status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize;display:inline-block;white-space:nowrap}.undertime-page .status-badge.status-approved,.undertime-page .status-badge.status-active{background-color:#e8f5e9;color:#2e7d32}.undertime-page .status-badge.status-pending{background-color:#fff3e0;color:#e65100}.undertime-page .status-badge.status-rejected{background-color:#ffebee;color:#c62828}.undertime-page .status-badge.status-cancelled,.undertime-page .status-badge.status-inactive{background-color:#f5f5f5;color:#757575}.undertime-page .action-btn.approve-btn{color:#2e7d32}.undertime-page .action-btn.approve-btn:hover{background-color:#e8f5e9;border-radius:4px}.undertime-page .action-btn.reject-btn{color:#c62828}.undertime-page .action-btn.reject-btn:hover{background-color:#ffebee;border-radius:4px}.undertime-page .loading-state,.undertime-page .no-data-state{text-align:center;padding:60px 20px;color:#666;font-size:15px;background:#f8f9fa;border-radius:8px;margin:20px 0}.undertime-page .loading-state{color:#f26930;font-weight:500}@media (max-width: 1200px){.undertime-page .filters-row{flex-direction:column;align-items:stretch}.undertime-page .filter-group{min-width:100%}.undertime-page .action-buttons{flex-wrap:wrap}.undertime-page .action-buttons.ml-auto{margin-left:0}}@media (max-width: 768px){.undertime-page .page-title{font-size:24px}.undertime-page .tabs-container{overflow-x:auto}.undertime-page .tab-btn{padding:12px 24px;font-size:14px}.undertime-page .tab-content{padding:16px}.undertime-page .undertime-table{font-size:9px}.undertime-page .btn{padding:8px 16px;font-size:13px}}@media (max-width: 480px){.undertime-page .breadcrumb{font-size:12px}.undertime-page .tab-btn{padding:10px 16px;font-size:13px}.undertime-page .filter-group{min-width:100%}.undertime-page .action-buttons{flex-direction:column;width:100%}.undertime-page .btn{width:100%}}.modal-content{background:#fff;border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.modal-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background-color:#f5f5f5;color:#333}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:600;color:#333}.form-group input[type=text],.form-group input[type=date],.form-group input[type=datetime-local],.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;background-color:#fff;transition:all .2s}.form-group input[type=text]:focus,.form-group input[type=date]:focus,.form-group input[type=datetime-local]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.form-group textarea{resize:vertical;font-family:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-content.modal-large{max-width:700px}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.section-title{font-size:16px;font-weight:600;color:#333;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #f26930}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item.full-width{grid-column:span 2}.detail-label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:14px;color:#333}.workflow-timeline{display:flex;flex-direction:column;gap:0}.workflow-step{display:flex;gap:16px;position:relative;padding-bottom:24px}.workflow-step:last-child{padding-bottom:0}.step-number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;flex-shrink:0;z-index:1}.workflow-step.workflow-approved .step-number{background-color:#2e7d32}.workflow-step.workflow-rejected .step-number{background-color:#c62828}.workflow-step.workflow-pending .step-number{background-color:#e65100}.workflow-step.workflow-skipped .step-number{background-color:#9e9e9e}.step-content{flex:1;padding-top:4px}.step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.step-title{font-size:14px;font-weight:600;color:#333}.step-status{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase}.step-status.status-approved{background-color:#e8f5e9;color:#2e7d32}.step-status.status-rejected{background-color:#ffebee;color:#c62828}.step-status.status-pending{background-color:#fff3e0;color:#e65100}.step-status.status-skipped{background-color:#f5f5f5;color:#757575}.step-details{display:flex;flex-direction:column;gap:2px}.approver-name{font-size:13px;color:#666}.action-date{font-size:12px;color:#333;font-weight:500}.action-date-container{display:flex;align-items:center;gap:6px;margin-top:4px;padding:6px 10px;background-color:#f8f9fa;border-radius:4px}.workflow-step.workflow-rejected .action-date-container{background-color:#fafafa}.action-date-label{font-size:12px;font-weight:600;color:#555}.step-remarks{margin-top:8px;padding:8px 12px;background-color:#f8f9fa;border-radius:6px;font-size:13px;color:#555}.remarks-label{font-weight:600;color:#333}.step-connector{position:absolute;left:15px;top:32px;bottom:0;width:2px;background-color:#e0e0e0}.workflow-step.workflow-approved .step-connector{background-color:#2e7d32}.workflow-step.workflow-rejected .step-connector{background-color:#c62828}@media (max-width: 768px){.modal-content,.modal-content.modal-large{max-width:100%}.form-row{grid-template-columns:1fr}.modal-body{padding:16px}.detail-grid{grid-template-columns:1fr}.detail-item.full-width{grid-column:span 1}}.notice-board-page{max-width:100%;width:100%;overflow-x:hidden}.page-header{margin-bottom:24px}.page-title{font-size:28px;font-weight:600;color:#333;margin-bottom:8px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px}.breadcrumb-item{color:#999;transition:color .2s}.breadcrumb-item:hover{color:#666;cursor:pointer}.breadcrumb-item.active{color:#f26930;font-weight:500}.breadcrumb-separator{color:#ccc}.notice-board-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.notice-board-header{padding:20px 24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.card-title{font-size:18px;font-weight:600;color:#333}.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-box{position:relative;display:flex;align-items:center}.search-box input{width:240px;height:40px;padding:8px 40px 8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;outline:none;transition:border-color .2s}.search-box input:focus{border-color:#f26930}.search-btn{position:absolute;right:8px;background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center}.filter-select{height:40px;padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;outline:none;transition:border-color .2s;background:#fff;min-width:140px}.filter-select:focus{border-color:#f26930}.btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn-orange{background:linear-gradient(135deg,#f26930,#fba91a);color:#fff}.btn-secondary{background:#e0e0e0;color:#666}.btn-secondary:hover{background:#d0d0d0}.btn-danger{background:#f44336;color:#fff}.btn-danger:hover{background:#d32f2f}.notices-table{width:100%;border-collapse:collapse}.notices-table th,.notices-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e0e0e0;font-size:14px}.notices-table th{background:#f8f9fa;font-weight:600;color:#333;white-space:nowrap}.notices-table tbody tr{transition:background .2s}.notices-table tbody tr:hover{background:#f8f9fa}.notice-title{font-weight:500;color:#333}.badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;text-transform:capitalize;white-space:nowrap}.badge-primary{background:#f2693026;color:#f26930}.badge-info{background:#fba91a26;color:#d97706}.action-buttons{display:flex;gap:4px}.btn-icon{background:none;border:none;padding:6px 8px;cursor:pointer;font-size:16px;border-radius:4px;transition:background .2s;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:#f0f0f0}.loading-state{padding:80px 20px;text-align:center;color:#666}.spinner{width:40px;height:40px;margin:0 auto 20px;border:4px solid #f5f5f5;border-top:4px solid #f26930;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state p{font-size:16px;color:#666}.empty-state{padding:80px 20px;text-align:center;color:#999;font-size:16px}.table-footer{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.pagination-buttons{display:flex;gap:8px}.pagination-buttons button{padding:8px 16px;border:1px solid #e0e0e0;background:#fff;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.pagination-buttons button:hover:not(:disabled){border-color:#f26930;color:#f26930}.pagination-buttons button:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:8px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-large{max-width:700px}.modal-small{max-width:450px}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:20px 24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:18px;font-weight:600;color:#333;margin:0;display:flex;align-items:center;gap:8px}.modal-close{background:none;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s;font-size:24px;color:#666;line-height:1}.modal-close:hover{background:#f5f5f5;color:#333}.modal-footer{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:12px}.form-row{display:flex;gap:16px;margin-bottom:0}.form-group{margin-bottom:20px;flex:1}.form-group.flex-2{flex:2}.form-group.flex-1{flex:1}.form-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-group input[type=text],.form-group input[type=date],.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;font-family:inherit;transition:all .2s;box-sizing:border-box}.form-group input[type=text]:focus,.form-group input[type=date]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.form-group small{display:block;margin-top:6px;font-size:12px;color:#999}.checkbox-group{display:flex;align-items:center;padding-top:28px}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400;margin-bottom:0}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.notice-badges{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.notice-excerpt{background:#f8f9fa;padding:16px;border-radius:4px;margin-bottom:20px}.notice-excerpt strong{display:block;margin-bottom:8px;color:#333}.notice-excerpt p{margin:0;color:#666;line-height:1.5}.notice-content{margin-bottom:20px}.notice-content strong{display:block;margin-bottom:8px;color:#333}.content-box{padding:16px;border:1px solid #e0e0e0;border-radius:4px;white-space:pre-wrap;background:#fafafa;line-height:1.6;color:#333}.notice-meta{margin-top:20px;padding-top:16px;border-top:1px solid #e0e0e0}.meta-row{display:flex;gap:24px;margin-bottom:8px;font-size:13px;color:#666;flex-wrap:wrap}.meta-row strong{color:#333}.text-muted{color:#999;font-size:13px}@media (max-width: 1400px){.notices-table{font-size:12px}.notices-table th,.notices-table td{padding:10px 12px}}@media (max-width: 1024px){.notice-board-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:flex-start}.search-box input{width:200px}.form-row{flex-direction:column;gap:0}.checkbox-group{padding-top:0}}@media (max-width: 768px){.page-title{font-size:24px}.breadcrumb{font-size:12px}.notice-board-header{padding:16px 20px}.header-actions{flex-direction:column;align-items:stretch}.search-box,.search-box input,.filter-select{width:100%}.btn{justify-content:center;width:100%}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.notices-table{font-size:11px}.notices-table th,.notices-table td{padding:8px 10px}.table-footer{flex-direction:column;align-items:center;text-align:center}.modal-content{margin:10px}}@media (max-width: 480px){.page-title{font-size:20px}.notice-board-header{padding:14px 16px}.card-title{font-size:16px}.btn{font-size:13px;padding:8px 14px}.table-footer{padding:12px 16px}.modal-body,.modal-header,.modal-footer{padding:16px}}.manage-roles-page{padding:0}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn-link{background:none;border:none;color:#f26930;font-size:13px;cursor:pointer;padding:0}.btn-link:hover{text-decoration:underline}.btn-link-danger{color:#dc3545}.roles-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef}.table-container{padding:0}.roles-table{width:100%;border-collapse:collapse}.roles-table th{background-color:#f8f9fa;padding:14px 20px;text-align:left;font-size:12px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e9ecef}.roles-table td{padding:16px 20px;border-bottom:1px solid #e9ecef;font-size:14px;color:#495057}.roles-table tbody tr:hover{background-color:#f8f9fa}.role-name{font-weight:600;color:#212529}.badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:500;border-radius:20px}.badge-success{background-color:#d4edda;color:#155724}.badge-info{background-color:#d1ecf1;color:#0c5460}.badge-danger{background-color:#f8d7da;color:#721c24}.action-buttons{display:flex;gap:8px}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-icon:hover{background-color:#f8f9fa;border-color:#adb5bd}.btn-icon-danger{color:#dc3545}.btn-icon-danger:hover{background-color:#fff5f5;border-color:#dc3545}.empty-state{padding:60px 20px;text-align:center;color:#6c757d}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6c757d}.modal-large{max-width:720px}.modal-body{padding:24px;overflow-y:auto;flex:1;max-height:calc(90vh - 180px)}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:500;color:#495057;margin-bottom:8px}.form-label.required:after{content:" *";color:#dc3545}.form-group input[type=text],.form-group input[type=email],.form-group textarea,.form-group select{width:100%;padding:10px 14px;font-size:14px;border:1px solid #dee2e6;border-radius:8px;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.form-group textarea{resize:vertical;min-height:80px;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.module-selection-container{background-color:#f8f9fa;border-radius:8px;padding:16px;border:1px solid #e9ecef}.module-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e9ecef}.module-selection-header .form-label{margin-bottom:0;font-size:15px;font-weight:600;color:#212529}.module-actions{display:flex;gap:16px}.module-list{display:flex;flex-direction:column;gap:10px}.module-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;transition:border-color .2s ease,box-shadow .2s ease}.module-item:hover{border-color:#f26930;box-shadow:0 2px 4px #f269301a}.module-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background-color:#fff;border-radius:8px}.module-item.expanded .module-header{border-bottom:1px solid #e9ecef;border-radius:8px 8px 0 0}.checkbox-wrapper{display:flex;align-items:center;gap:12px;cursor:pointer}.checkbox-wrapper input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#F26930;flex-shrink:0}.module-name{font-weight:600;font-size:14px;color:#212529}.expand-btn{background:none;border:none;color:#6c757d;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.expand-btn:hover{background-color:#fff3ee;color:#f26930}.submodule-list{padding:12px 16px 16px;background-color:#fafbfc;border-radius:0 0 8px 8px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px}.submodule-checkbox{font-size:13px;color:#495057;padding:8px 12px;background:#fff;border:1px solid #e9ecef;border-radius:6px;transition:all .2s ease}.submodule-checkbox:hover{background-color:#fff3ee;border-color:#f26930}.submodule-checkbox input[type=checkbox]:checked+span{color:#f26930;font-weight:500}.selected-count{text-align:right;font-size:13px;color:#6c757d;margin-top:16px;padding-top:12px;border-top:1px solid #e9ecef;font-weight:500}.selected-count strong{color:#f26930}.module-list::-webkit-scrollbar{width:6px}.module-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.module-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.module-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 768px){.page-header{flex-direction:column;gap:16px}.header-right{width:100%}.card-header{flex-direction:column;gap:12px;align-items:flex-start}.modal-content{margin:16px}.roles-table th,.roles-table td{padding:12px 16px}.submodule-list{grid-template-columns:1fr;gap:8px}.module-selection-header{flex-direction:column;align-items:flex-start;gap:12px}}.role-permissions-page{padding:0}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.header-left{display:flex;flex-direction:column}.page-title{font-size:24px;font-weight:600;color:#212529;margin:0 0 8px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px}.breadcrumb-item{color:#6c757d;cursor:pointer;transition:color .2s ease}.breadcrumb-item:hover{color:#f26930}.breadcrumb-item.active{color:#212529;cursor:default}.breadcrumb-separator{color:#adb5bd}.header-right{display:flex;gap:12px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease}.btn-orange{background-color:#f26930;color:#fff}.btn-orange:hover{background-color:#d85a28}.btn-orange:disabled{background-color:#f5a884;cursor:not-allowed}.btn-outline{background-color:#fff;color:#495057;border:1px solid #dee2e6}.btn-outline:hover{background-color:#f8f9fa;border-color:#adb5bd}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.btn-secondary:disabled{background-color:#adb5bd;cursor:not-allowed}.permission-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background-color:#f8f9fa;border-bottom:1px solid #e9ecef}.header-info{display:flex;flex-direction:column;gap:4px}.card-title{font-size:16px;font-weight:600;color:#212529;margin:0}.card-description{font-size:13px;color:#6c757d;margin:0}.header-actions{display:flex;align-items:center;gap:12px}.unsaved-indicator{display:flex;align-items:center;gap:8px;font-size:13px;color:#f26930;font-weight:500}.unsaved-indicator .dot{width:8px;height:8px;background-color:#f26930;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.table-container{overflow-x:auto;max-height:calc(100vh - 320px);overflow-y:auto}.permission-table{width:100%;border-collapse:collapse;font-size:13px}.permission-table thead{position:sticky;top:0;z-index:10}.permission-table th{background-color:#f8f9fa;padding:16px 12px;font-weight:600;color:#495057;text-align:center;border-bottom:2px solid #dee2e6;white-space:nowrap}.module-header{width:160px;min-width:160px;text-align:left!important;position:sticky;left:0;z-index:11;background-color:#f8f9fa!important}.submodule-header{width:180px;min-width:180px;text-align:left!important;position:sticky;left:160px;z-index:11;background-color:#f8f9fa!important;border-left:1px solid #e9ecef}.role-header{min-width:130px;border-left:1px solid #e9ecef}.role-header-content{display:flex;flex-direction:column;align-items:center;gap:6px}.role-header-content .role-name{font-size:13px;font-weight:600;color:#212529}.role-count{font-size:11px;color:#6c757d;background-color:#e9ecef;padding:2px 8px;border-radius:10px}.toggle-all-checkbox{width:16px;height:16px;cursor:pointer;accent-color:#F26930;margin-top:4px}.permission-table tbody tr{transition:background-color .15s ease}.permission-table tbody tr:hover,.permission-table tbody tr:hover .module-cell,.permission-table tbody tr:hover .submodule-cell{background-color:#f8f9fa}.module-cell{background-color:#fff;padding:12px 16px;vertical-align:top;position:sticky;left:0;z-index:5;border-bottom:1px solid #e9ecef;border-right:1px solid #e9ecef}.module-info{display:flex;flex-direction:column;gap:4px}.module-info .module-name{font-weight:600;color:#212529;font-size:14px}.submodule-count{font-size:11px;color:#6c757d}.submodule-cell{background-color:#fff;padding:12px 16px;position:sticky;left:160px;z-index:5;border-bottom:1px solid #e9ecef;border-right:1px solid #e9ecef;color:#495057}.permission-cell{text-align:center;vertical-align:middle;padding:12px;border-bottom:1px solid #e9ecef;border-left:1px solid #f1f3f5;background-color:#fff}.permission-checkbox{width:20px;height:20px;cursor:pointer;accent-color:#F26930}.permission-table tbody tr:nth-child(2n) .module-cell,.permission-table tbody tr:nth-child(2n) .submodule-cell,.permission-table tbody tr:nth-child(2n) .permission-cell{background-color:#fafbfc}.card-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background-color:#f8f9fa;border-top:1px solid #e9ecef}.footer-info{display:flex;align-items:center;gap:8px;font-size:12px;color:#6c757d}.footer-stats{display:flex;align-items:center;gap:8px;font-size:12px;color:#495057}.footer-stats .divider{color:#dee2e6}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#6c757d}.spinner{width:40px;height:40px;border:3px solid #e9ecef;border-top-color:#f26930;border-radius:50%;animation:spin 1s linear infinite}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003}.modal-small{max-width:420px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef}.modal-header h2{font-size:18px;font-weight:600;color:#212529;margin:0}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:24px;background:none;border:none;color:#6c757d;cursor:pointer;border-radius:6px;transition:all .2s ease}.modal-close:hover{background-color:#f8f9fa;color:#212529}.modal-body{padding:24px;text-align:center}.confirm-icon{margin-bottom:16px}.modal-body p{margin:0 0 8px;color:#212529}.text-muted{color:#6c757d;font-size:13px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e9ecef;background-color:#f8f9fa}.table-container::-webkit-scrollbar{width:8px;height:8px}.table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.table-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.table-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 992px){.card-header{flex-direction:column;gap:16px;align-items:flex-start}.header-actions{width:100%;justify-content:flex-end}.card-footer{flex-direction:column;gap:12px;align-items:flex-start}.footer-stats{width:100%;justify-content:center}.module-header,.module-cell{width:120px;min-width:120px}.submodule-header,.submodule-cell{width:150px;min-width:150px;left:120px}}@media (max-width: 768px){.page-header{flex-direction:column;gap:16px}.header-right{width:100%}}.activity-log-page{padding:24px;max-width:1400px;margin:0 auto}.activity-log-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.header-content h1{font-size:24px;font-weight:600;color:#1a202c;margin:0 0 4px}.header-subtitle{font-size:14px;color:#718096;margin:0}.breadcrumb{display:flex;align-items:center;font-size:14px}.breadcrumb a{color:#f26930;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb .separator{margin:0 8px;color:#a0aec0}.breadcrumb .current{color:#718096}.activity-log-filters{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.filters-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:160px}.filter-group.search-group{flex:1;min-width:200px}.filter-group label{font-size:13px;font-weight:500;color:#4a5568}.filter-group input,.filter-group select{height:38px;padding:0 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1a202c;background:#fff;transition:border-color .2s,box-shadow .2s}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.search-input-wrapper{position:relative}.search-input-wrapper input{width:100%;padding-left:38px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#a0aec0}.filter-group.clear-group{min-width:auto}.clear-filters-btn{display:flex;align-items:center;gap:6px;height:38px;padding:0 14px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#4a5568;cursor:pointer;transition:all .2s}.clear-filters-btn:hover{background:#edf2f7;border-color:#cbd5e0}.clear-filters-btn svg{width:14px;height:14px}.activity-log-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8f0}.results-info{font-size:14px;color:#718096}.entries-selector{display:flex;align-items:center;gap:8px;font-size:14px;color:#4a5568}.entries-selector select{height:32px;padding:0 8px;border:1px solid #e2e8f0;border-radius:4px;font-size:14px}.table-container{overflow-x:auto}.activity-table{width:100%;border-collapse:collapse}.activity-table th,.activity-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #edf2f7}.activity-table th{background:#f7fafc;font-size:12px;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.05em}.activity-table tbody tr:hover{background:#f7fafc}.col-date{width:180px;white-space:nowrap;font-size:14px;color:#4a5568}.col-module{width:140px}.module-tag{display:inline-block;padding:4px 10px;background:#edf2f7;border-radius:4px;font-size:13px;font-weight:500;color:#4a5568}.col-activity{min-width:250px}.activity-text{font-size:14px;color:#1a202c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.col-status{width:100px}.activity-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:13px;font-weight:500}.activity-status-badge.success{background:#c6f6d5;color:#22543d}.activity-status-badge.error{background:#fed7d7;color:#822727}.status-icon{width:14px;height:14px}.col-performer{width:150px;font-size:14px;color:#4a5568}.col-actions{width:80px;text-align:center}.view-details-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s}.view-details-btn:hover{background:#f26930;border-color:#f26930;color:#fff}.view-details-btn svg{width:16px;height:16px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#f26930;border-radius:50%;animation:spin .8s linear infinite}.loading-state p{margin-top:16px;color:#718096;font-size:14px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#a0aec0}.empty-state svg{width:64px;height:64px;margin-bottom:16px}.empty-state h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#4a5568}.empty-state p{margin:0;font-size:14px}.pagination{display:flex;justify-content:center;align-items:center;gap:6px;padding:16px;border-top:1px solid #e2e8f0}.pagination-btn{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#4a5568;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.pagination-btn.active{background:#f26930;border-color:#f26930;color:#fff}.pagination-btn svg{width:16px;height:16px}.pagination-ellipsis{color:#a0aec0;padding:0 4px}.modal-content{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1a202c}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;color:#718096;cursor:pointer;transition:all .2s}.modal-close:hover{background:#f7fafc;color:#1a202c}.modal-close svg{width:20px;height:20px}.modal-body{padding:24px;overflow-y:auto}.detail-row{display:flex;padding:12px 0;border-bottom:1px solid #f7fafc}.detail-label{width:140px;flex-shrink:0;font-size:14px;font-weight:500;color:#718096}.detail-value{flex:1;font-size:14px;color:#1a202c}.detail-section{margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0}.detail-section h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#1a202c}.params-grid{display:flex;flex-direction:column;gap:8px}.param-item{display:flex;align-items:flex-start;gap:12px;padding:8px 12px;background:#f7fafc;border-radius:6px}.param-item.full-width{flex-direction:column;gap:8px}.param-key{font-size:13px;font-weight:500;color:#718096;min-width:100px}.param-value{font-size:13px;color:#1a202c;word-break:break-all}.param-image{max-width:200px;border-radius:4px}.param-json{margin:0;padding:8px;background:#edf2f7;border-radius:4px;font-size:12px;font-family:Monaco,Menlo,monospace;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.no-params{color:#a0aec0;font-size:14px;font-style:italic;margin:0}.modal-footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid #e2e8f0}.btn-secondary{padding:10px 20px;background:#edf2f7;border:none;border-radius:6px;font-size:14px;font-weight:500;color:#4a5568;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#e2e8f0}@media (max-width: 768px){.activity-log-page{padding:16px}.activity-log-header{flex-direction:column;gap:12px}.filters-row{flex-direction:column}.filter-group{width:100%}.filter-group.search-group{min-width:100%}.activity-table{font-size:13px}.activity-table th,.activity-table td{padding:10px 12px}.col-activity{min-width:200px}.modal-content{margin:10px;max-height:calc(100vh - 20px)}.detail-row{flex-direction:column;gap:4px}.detail-label{width:100%}}.superadmin-header{background:linear-gradient(135deg,#f26930,#fba91a);height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100;width:100%;max-width:100%;overflow:visible}.superadmin-header-left{display:flex;align-items:center;gap:20px}.superadmin-menu-toggle{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;transition:opacity .2s;color:#fff}.superadmin-menu-toggle:hover{opacity:.8}.superadmin-header-title{display:flex;flex-direction:column}.superadmin-badge{font-size:11px;font-weight:700;letter-spacing:1px;color:#fff;background:#fff3;padding:4px 10px;border-radius:4px;margin-bottom:2px}.superadmin-subtitle{font-size:13px;color:#ffffffe6}.superadmin-header-center{display:flex;align-items:center}.superadmin-datetime{display:flex;flex-direction:column;align-items:center;text-align:center}.superadmin-date{font-size:13px;color:#ffffffe6;font-weight:500}.superadmin-time{font-size:18px;font-weight:600;color:#fff;font-family:SF Mono,Monaco,monospace}.superadmin-header-right{display:flex;align-items:center;gap:16px;overflow:visible}.superadmin-profile-container{position:relative;z-index:1001}.superadmin-profile-button{display:flex;align-items:center;gap:10px;padding:6px 12px;border:none;border-radius:4px;background:#fff;color:#333;cursor:pointer;transition:all .2s ease}.superadmin-profile-button:hover{box-shadow:0 2px 4px #00000026;transform:scale(1.02)}.superadmin-avatar{width:32px;height:32px;border-radius:4px;background:linear-gradient(135deg,#f26930,#fba91a);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:12px}.superadmin-profile-name{font-size:14px;font-weight:500;color:#333}.superadmin-dropdown-arrow{transition:transform .2s ease;color:#666}.superadmin-dropdown-arrow.open{transform:rotate(180deg)}.superadmin-profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:4px;box-shadow:0 4px 12px #00000026;min-width:220px;padding:8px 0;z-index:10000;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.superadmin-dropdown-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #e0e0e0}.superadmin-dropdown-avatar{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#f26930,#fba91a);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600}.superadmin-dropdown-info{display:flex;flex-direction:column}.superadmin-dropdown-name{font-size:14px;font-weight:600;color:#333}.superadmin-dropdown-role{font-size:12px;color:#f26930;font-weight:500}.superadmin-dropdown-divider{height:1px;background:#e0e0e0;margin:8px 0}.superadmin-dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;background:transparent;color:#333;font-size:14px;cursor:pointer;transition:all .2s ease;text-align:left}.superadmin-dropdown-item:hover{background:#f5f5f5}.superadmin-dropdown-item.superadmin-logout{color:#f26930}.superadmin-dropdown-item.superadmin-logout:hover{background:#fff5f0}@media (max-width: 1024px){.superadmin-header{padding:0 16px}.superadmin-header-right{gap:12px}}@media (max-width: 768px){.superadmin-header{height:56px;padding:0 12px}.superadmin-header-center,.superadmin-header-title,.superadmin-profile-name{display:none}.superadmin-profile-button{padding:6px}}.superadmin-sidebar{width:240px;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:101;overflow-y:auto;transition:width .3s ease}.superadmin-sidebar.collapsed{width:70px}.superadmin-sidebar-logo{border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:center;padding:16px;gap:12px}.superadmin-logo-icon{width:40px;height:40px;background:linear-gradient(135deg,#f26930,#fba91a);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.superadmin-logo-text{display:flex;flex-direction:column}.superadmin-logo-title{font-size:16px;font-weight:700;color:#333;letter-spacing:-.5px}.superadmin-logo-subtitle{font-size:11px;color:#f26930;font-weight:500;letter-spacing:.5px}.superadmin-sidebar-user{padding:20px;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;gap:12px}.superadmin-user-avatar{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#f26930,#fba91a);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.superadmin-user-info{display:flex;flex-direction:column;overflow:hidden}.superadmin-user-name{font-size:14px;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.superadmin-user-role{font-size:12px;color:#f26930;font-weight:500}.superadmin-sidebar-nav{flex:1;padding:16px 0;overflow-y:auto}.superadmin-nav-item-wrapper{margin-bottom:4px}.superadmin-nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 24px;background:none;border:none;cursor:pointer;text-align:left;transition:all .2s;position:relative;color:#666;font-size:14px;font-weight:500}.superadmin-nav-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent;transition:background .2s}.superadmin-nav-item:hover{background:#f5f5f5}.superadmin-nav-item.active:before{background:linear-gradient(135deg,#f26930,#fba91a)}.superadmin-nav-item.active{background:#fff5f0}.superadmin-nav-item.active .superadmin-nav-label{color:#f26930;font-weight:600}.superadmin-nav-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#666}.superadmin-nav-item.active .superadmin-nav-icon{color:#f26930}.superadmin-nav-label{flex:1;font-size:14px;color:#666;font-weight:500}.superadmin-nav-arrow{width:12px;height:12px;display:flex;align-items:center;justify-content:center;color:#999;transition:transform .2s}.superadmin-nav-arrow.expanded{transform:rotate(90deg)}.superadmin-nav-item.active .superadmin-nav-arrow{color:#f26930}.superadmin-submenu{display:flex;flex-direction:column;background:transparent;margin-left:24px;margin-top:4px;margin-bottom:4px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.superadmin-submenu-item{width:100%;padding:10px 20px;background:none;border:none;cursor:pointer;text-align:left;font-size:14px;color:#666;transition:all .2s;position:relative;font-weight:400}.superadmin-submenu-item:hover{background:#f5f5f5;color:#f26930}.superadmin-submenu-item.active{background:transparent;color:#f26930;font-weight:500}.superadmin-sidebar-footer{padding:16px 24px;border-top:1px solid #e0e0e0}.superadmin-version{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#999}.superadmin-env-badge{padding:3px 8px;border-radius:4px;background:#fff5f0;color:#f26930;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 1024px){.superadmin-sidebar{transform:translate(-100%);transition:transform .3s ease;z-index:1000;box-shadow:2px 0 10px #0000001a}.superadmin-sidebar.open{transform:translate(0)}.superadmin-sidebar.collapsed{width:0;transform:translate(-100%)}}@media (max-width: 768px){.superadmin-sidebar{width:260px}.superadmin-sidebar-user{padding:16px}.superadmin-nav-item{padding:10px 20px}}@media (max-width: 480px){.superadmin-sidebar{width:100%;max-width:280px}}.superadmin-sidebar-nav::-webkit-scrollbar{width:6px}.superadmin-sidebar-nav::-webkit-scrollbar-track{background:transparent}.superadmin-sidebar-nav::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:3px}.superadmin-sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ccc}.superadmin-layout{display:flex;min-height:100vh;background-color:#f5f5f5;overflow-x:hidden;width:100%;max-width:100vw;position:relative}.superadmin-main-container{flex:1;display:flex;flex-direction:column;margin-left:240px;width:calc(100% - 240px);max-width:calc(100vw - 240px);overflow-x:hidden;transition:margin-left .3s ease,width .3s ease,max-width .3s ease}.superadmin-main-container.sidebar-collapsed{margin-left:70px;width:calc(100% - 70px);max-width:calc(100vw - 70px)}.superadmin-main-content{flex:1;padding:24px;overflow-y:auto;overflow-x:hidden;width:100%}.superadmin-sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 1024px){.superadmin-main-container,.superadmin-main-container.sidebar-collapsed{margin-left:0;width:100%;max-width:100vw}.superadmin-main-content{padding:20px}}@media (max-width: 768px){.superadmin-main-content{padding:16px}}@media (max-width: 480px){.superadmin-main-content{padding:12px}}.superadmin-dashboard{min-height:calc(100vh - 64px)}.superadmin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#666}.superadmin-spinner{width:48px;height:48px;border:4px solid #e0e0e0;border-top-color:#f26930;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.superadmin-dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.superadmin-welcome h1{font-size:24px;font-weight:600;color:#333;margin:0 0 4px}.superadmin-welcome p{font-size:14px;color:#666;margin:0}.superadmin-create-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:4px;background:linear-gradient(135deg,#f26930,#fba91a);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #f269304d}.superadmin-create-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f2693066}.superadmin-error-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff5f5;border:1px solid #fecaca;border-radius:4px;color:#dc2626;margin-bottom:24px}.superadmin-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.superadmin-stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;transition:all .2s ease}.superadmin-stat-card:hover{box-shadow:0 4px 12px #00000014}.superadmin-stat-icon{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.superadmin-stat-icon.tenants{background:linear-gradient(135deg,#f26930,#fba91a)}.superadmin-stat-icon.active{background:linear-gradient(135deg,#10b981,#059669)}.superadmin-stat-icon.users{background:linear-gradient(135deg,#3b82f6,#2563eb)}.superadmin-stat-icon.employees{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.superadmin-stat-content{display:flex;flex-direction:column}.superadmin-stat-value{font-size:24px;font-weight:700;color:#333;line-height:1.2}.superadmin-stat-label{font-size:13px;color:#666}.superadmin-section{margin-bottom:24px}.superadmin-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.superadmin-section-header h2{font-size:18px;font-weight:600;color:#333;margin:0}.superadmin-view-all-btn{display:flex;align-items:center;gap:4px;padding:8px 16px;border:1px solid #e0e0e0;border-radius:4px;background:#fff;color:#f26930;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.superadmin-view-all-btn:hover{background:#fff5f0;border-color:#f26930}.superadmin-table-container{background:#fff;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden}.superadmin-table{width:100%;border-collapse:collapse}.superadmin-table th{text-align:left;padding:14px 20px;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;background:#f9fafb;border-bottom:1px solid #e0e0e0}.superadmin-table td{padding:14px 20px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0}.superadmin-table tr:last-child td{border-bottom:none}.superadmin-table tr:hover td{background:#f9fafb}.superadmin-empty-row{text-align:center;color:#999;padding:40px!important}.superadmin-tenant-info{display:flex;flex-direction:column}.superadmin-tenant-name{font-weight:600;color:#333}.superadmin-tenant-subdomain{font-size:12px;color:#999}.superadmin-code{padding:4px 8px;background:#fff5f0;border-radius:4px;font-size:12px;font-family:SF Mono,Monaco,monospace;color:#f26930}.superadmin-status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.superadmin-actions{display:flex;gap:8px}.superadmin-action-btn{width:32px;height:32px;border:none;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.superadmin-action-btn.view{background:#eff6ff;color:#3b82f6}.superadmin-action-btn.view:hover{background:#dbeafe}.superadmin-action-btn.access{background:#fff5f0;color:#f26930}.superadmin-action-btn.access:hover{background:#ffedd5}.superadmin-quick-actions h2{font-size:18px;font-weight:600;color:#333;margin:0 0 16px}.superadmin-quick-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.superadmin-quick-action{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#333;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.superadmin-quick-action:hover{border-color:#f26930;background:#fff5f0}.superadmin-quick-action-icon{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.superadmin-quick-action-icon.create{background:linear-gradient(135deg,#f26930,#fba91a)}.superadmin-quick-action-icon.user{background:linear-gradient(135deg,#3b82f6,#2563eb)}.superadmin-quick-action-icon.logs{background:linear-gradient(135deg,#10b981,#059669)}.superadmin-quick-action-icon.settings{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}@media (max-width: 1200px){.superadmin-stats-grid,.superadmin-quick-actions-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.superadmin-dashboard-header{flex-direction:column;align-items:flex-start;gap:16px}.superadmin-stats-grid,.superadmin-quick-actions-grid{grid-template-columns:1fr}.superadmin-table-container{overflow-x:auto}.superadmin-table{min-width:800px}}.tenant-list-page{min-height:calc(100vh - 64px)}.tenant-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.tenant-list-title{display:flex;align-items:center;gap:16px;color:#f26930}.tenant-list-title h1{font-size:24px;font-weight:600;color:#333;margin:0}.tenant-list-title p{font-size:14px;color:#666;margin:0}.tenant-create-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:4px;background:linear-gradient(135deg,#f26930,#fba91a);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #f269304d}.tenant-create-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f2693066}.tenant-error-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff5f5;border:1px solid #fecaca;border-radius:4px;color:#dc2626;margin-bottom:24px}.tenant-error-banner button{margin-left:auto;background:transparent;border:1px solid #fecaca;color:#dc2626;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}.tenant-error-banner button:hover{background:#fef2f2}.tenant-filters{display:flex;gap:16px;margin-bottom:20px}.tenant-search{flex:1;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#666}.tenant-search:focus-within{border-color:#f26930}.tenant-search input{flex:1;background:transparent;border:none;color:#333;font-size:14px;outline:none}.tenant-search input::placeholder{color:#999}.tenant-status-filter{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#666}.tenant-status-filter select{background:transparent;border:none;color:#333;font-size:14px;outline:none;cursor:pointer}.tenant-refresh-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#f26930;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.tenant-refresh-btn:hover:not(:disabled){background:#fff5f0;border-color:#f26930}.tenant-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.tenant-refresh-btn .spinning{animation:spin 1s linear infinite}.tenant-stats-bar{display:flex;gap:24px;padding:16px 24px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:20px}.tenant-stat{display:flex;flex-direction:column}.tenant-stat .stat-value{font-size:24px;font-weight:700;color:#333}.tenant-stat .stat-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.tenant-table-container{background:#fff;border:1px solid #e0e0e0;border-radius:4px;overflow:visible}.tenant-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666}.tenant-spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#f26930;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.tenant-table{width:100%;border-collapse:collapse;overflow:visible}.tenant-table tbody{overflow:visible}.tenant-table tr{position:relative}.tenant-table th{text-align:left;padding:14px 20px;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;background:#f9fafb;border-bottom:1px solid #e0e0e0}.tenant-table td{padding:14px 20px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0}.tenant-table td:last-child{overflow:visible;position:static}.tenant-table tr:last-child td{border-bottom:none}.tenant-table tr:hover td{background:#f9fafb}.tenant-empty-row{text-align:center;color:#999;padding:60px 20px!important}.tenant-info-cell{display:flex;align-items:center;gap:14px}.tenant-icon{width:44px;height:44px;border-radius:8px;background:linear-gradient(135deg,#f26930,#fba91a);display:flex;align-items:center;justify-content:center;color:#fff}.tenant-details{display:flex;flex-direction:column}.tenant-name{font-weight:600;color:#333}.tenant-subdomain{font-size:12px;color:#999}.tenant-code{padding:4px 10px;background:#fff5f0;border-radius:4px;font-size:12px;font-family:SF Mono,Monaco,monospace;color:#f26930}.tenant-status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-suspended{background:#fef2f2;color:#dc2626}.status-maintenance{background:#fffbeb;color:#d97706}.tenant-count{display:flex;align-items:center;gap:6px;color:#666}.tenant-actions{display:flex;align-items:center;gap:6px}.action-btn.view{background:#eff6ff;color:#3b82f6}.action-btn.view:hover{background:#dbeafe}.action-btn.access{background:#fff5f0;color:#f26930}.action-btn.access:hover{background:#ffedd5}.tenant-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}@media (max-width: 1024px){.tenant-filters{flex-wrap:wrap}.tenant-search{flex:1 1 100%}.tenant-stats-bar{flex-wrap:wrap;gap:16px}.tenant-stat{flex:1 1 calc(50% - 8px)}}@media (max-width: 768px){.tenant-list-header{flex-direction:column;align-items:flex-start;gap:16px}.tenant-table-container{overflow-x:auto}.tenant-table{min-width:900px}}.create-tenant-page{max-width:900px;margin:0 auto}.create-tenant-header{margin-bottom:24px}.header-title{display:flex;align-items:center;gap:16px;color:#f26930}.header-title h1{font-size:24px;font-weight:600;color:#333;margin:0}.header-title p{font-size:14px;color:#666;margin:0}.create-tenant-alert{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:4px;margin-bottom:24px}.create-tenant-alert.error{background:#fff5f5;border:1px solid #fecaca;color:#dc2626}.create-tenant-alert.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#059669}.create-tenant-alert button{margin-left:auto;background:transparent;border:none;color:inherit;cursor:pointer;padding:4px;opacity:.7}.create-tenant-alert button:hover{opacity:1}.create-tenant-form{display:flex;flex-direction:column;gap:24px}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;color:#f26930}.section-header h2{font-size:18px;font-weight:600;color:#333;margin:0}.section-description{font-size:13px;color:#666;margin:-12px 0 20px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group.full-width{grid-column:span 2}.label-hint{display:inline-flex;align-items:center;gap:4px;margin-left:auto;color:#999;cursor:help;position:relative}.label-hint:hover .hint-text{opacity:1;visibility:visible;transform:translateY(0)}.hint-text{position:absolute;bottom:100%;right:0;margin-bottom:8px;padding:8px 12px;background:#333;border-radius:4px;font-size:12px;font-weight:400;color:#fff;white-space:nowrap;opacity:0;visibility:hidden;transform:translateY(4px);transition:all .2s ease;z-index:10;box-shadow:0 4px 12px #00000026}.form-group input,.form-group select,.form-group textarea{padding:12px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#333;font-size:14px;font-family:inherit;transition:all .2s ease}.form-group input::placeholder,.form-group textarea::placeholder{color:#999}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.form-group textarea{resize:vertical;min-height:80px}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:#dc2626}.form-group.has-error input:focus,.form-group.has-error select:focus,.form-group.has-error textarea:focus{box-shadow:0 0 0 3px #dc26261a}.input-with-suffix{display:flex;align-items:stretch}.input-with-suffix input{flex:1;border-top-right-radius:0;border-bottom-right-radius:0}.input-suffix{display:flex;align-items:center;padding:0 16px;background:#f9fafb;border:1px solid #e0e0e0;border-left:none;border-radius:0 4px 4px 0;font-size:13px;color:#666}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.form-actions{flex-direction:column}.form-actions button{width:100%;justify-content:center}}.tenant-details-page{min-height:calc(100vh - 64px)}.tenant-details-loading,.tenant-details-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#666;text-align:center}.detail-spinner{width:48px;height:48px;border:4px solid #e0e0e0;border-top-color:#f26930;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.tenant-details-error svg{color:#f26930;margin-bottom:16px}.tenant-details-error h2{font-size:24px;font-weight:600;color:#333;margin:0 0 8px}.tenant-details-error p{margin:0 0 24px}.tenant-details-error button{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#f26930;font-size:14px;cursor:pointer;transition:all .2s ease}.tenant-details-error button:hover{background:#fff5f0;border-color:#f26930}.tenant-details-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:20px}.header-left{display:flex;flex-direction:column;gap:16px}.back-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#f26930;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;width:fit-content}.tenant-identity{display:flex;align-items:center;gap:16px}.tenant-icon-large{width:64px;height:64px;border-radius:8px;background:linear-gradient(135deg,#f26930,#fba91a);display:flex;align-items:center;justify-content:center;color:#fff}.tenant-identity h1{font-size:24px;font-weight:600;color:#333;margin:0 0 6px}.tenant-meta{display:flex;align-items:center;gap:12px}.tenant-code-badge{padding:4px 10px;background:#fff5f0;border-radius:4px;font-size:12px;font-family:SF Mono,Monaco,monospace;color:#f26930}.detail-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.detail-status-badge.status-active{background:#ecfdf5;color:#059669}.detail-status-badge.status-inactive{background:#f3f4f6;color:#6b7280}.detail-status-badge.status-suspended{background:#fef2f2;color:#dc2626}.detail-status-badge.status-maintenance{background:#fffbeb;color:#d97706}.header-actions{display:flex;align-items:center;gap:10px}.header-actions .action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid;min-width:130px}.header-actions .action-btn.refresh{width:40px;height:40px;min-width:40px;padding:0;justify-content:center;background:#fff;border-color:#e0e0e0;color:#666}.header-actions .action-btn.refresh:hover{background:#f5f5f5}.header-actions .action-btn.refresh .spinning{animation:spin 1s linear infinite}.header-actions .action-btn.access{background:#fff5f0;border-color:#f26930;color:#f26930}.header-actions .action-btn.access:hover{background:#ffedd5}.header-actions .action-btn.add-admin{background:#f0fdf4;border-color:#22c55e;color:#16a34a}.header-actions .action-btn.add-admin:hover{background:#dcfce7}.header-actions .action-btn.edit{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.header-actions .action-btn.edit:hover{background:#dbeafe}.header-actions .action-btn.activate{background:#ecfdf5;border-color:#10b981;color:#059669}.header-actions .action-btn.activate:hover{background:#d1fae5}.header-actions .action-btn.deactivate{background:#fffbeb;border-color:#f59e0b;color:#d97706}.header-actions .action-btn.deactivate:hover{background:#fef3c7}.header-actions .action-btn.delete{background:#fef2f2;border-color:#dc2626;color:#dc2626}.header-actions .action-btn.delete:hover{background:#fee2e2}.header-actions .action-btn:disabled{opacity:.6;cursor:not-allowed}.detail-error-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff5f5;border:1px solid #fecaca;border-radius:4px;color:#dc2626;margin-bottom:24px}.detail-error-banner button{margin-left:auto;background:transparent;border:1px solid #fecaca;color:#dc2626;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}.detail-error-banner button:hover{background:#fef2f2}.detail-success-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:4px;color:#059669;margin-bottom:24px}.detail-success-banner button{margin-left:auto;background:transparent;border:1px solid #a7f3d0;color:#059669;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}.detail-success-banner button:hover{background:#d1fae5}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-content.delete-modal{max-width:550px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-header h2{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600;color:#333;margin:0}.modal-header h2 svg{color:#f26930}.modal-header.delete-header h2 svg{color:#dc2626}.modal-close{background:none;border:none;color:#999;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.modal-close:hover{color:#333}.modal-body{padding:24px}.modal-body .form-group{margin-bottom:20px}.modal-body .form-group:last-child{margin-bottom:0}.modal-body .form-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.modal-body .form-group input,.modal-body .form-group select{width:100%;padding:12px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#333;font-size:14px;font-family:inherit;transition:all .2s ease}.modal-body .form-group input:focus,.modal-body .form-group select:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.modal-body .form-group input::placeholder{color:#999}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e0e0e0;background:#f9fafb}.modal-footer .btn-cancel{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#666;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.modal-footer .btn-cancel:hover:not(:disabled){background:#f5f5f5;border-color:#999}.modal-footer .btn-cancel:disabled{opacity:.6;cursor:not-allowed}.modal-footer .btn-save{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#f26930,#fba91a);border:none;border-radius:4px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #f269304d}.modal-footer .btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f2693066}.modal-footer .btn-save:disabled{opacity:.7;cursor:not-allowed;transform:none}.modal-footer .btn-delete{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#dc2626;border:none;border-radius:4px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #dc26264d}.modal-footer .btn-delete:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 12px #dc262666}.modal-footer .btn-delete:disabled{opacity:.5;cursor:not-allowed}.delete-warning{text-align:center;padding:20px;background:#fef2f2;border-radius:8px;margin-bottom:24px}.delete-warning svg{color:#dc2626;margin-bottom:16px}.delete-warning h3{font-size:18px;font-weight:600;color:#dc2626;margin:0 0 12px}.delete-warning p{font-size:14px;color:#666;margin:0 0 16px}.delete-warning ul{text-align:left;margin:0;padding-left:20px}.delete-warning li{font-size:13px;color:#666;line-height:1.8}.spinning{animation:spin 1s linear infinite}.modal-content.add-admin-modal{max-width:600px}.add-admin-info{padding:16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:24px;text-align:center}.add-admin-info p{margin:0;font-size:14px;color:#166534}.modal-body .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}.modal-body .form-row:last-child{margin-bottom:0}.modal-body .form-group label{display:flex;align-items:center;gap:6px}.modal-body .form-group label svg{color:#f26930}.modal-body .form-group input.error{border-color:#dc2626}.modal-body .form-group input.error:focus{box-shadow:0 0 0 3px #dc26261a}.modal-body .error-text{font-size:12px;color:#dc2626;margin-top:4px}.modal-body .password-input-wrapper{position:relative;display:flex;align-items:center}.modal-body .password-input-wrapper input{padding-right:44px}.modal-body .toggle-password{position:absolute;right:12px;background:none;border:none;color:#999;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.modal-body .toggle-password:hover{color:#666}@media (max-width: 600px){.modal-body .form-row{grid-template-columns:1fr}.modal-content.add-admin-modal{max-width:100%}}.tenant-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.detail-card{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:24px}.detail-card.stats{grid-column:span 2}.detail-card h3{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:#333;margin:0 0 20px}.detail-card h3 svg{color:#f26930}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-item{display:flex;align-items:center;gap:14px;padding:16px;background:#f9fafb;border-radius:4px}.stat-icon{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.stat-icon.users{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-icon.employees{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-icon.database{background:linear-gradient(135deg,#f26930,#fba91a)}.stat-icon.activity{background:linear-gradient(135deg,#10b981,#059669)}.stat-content{display:flex;flex-direction:column;overflow:hidden}.stat-content .stat-value{font-size:18px;font-weight:700;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-content .stat-label{font-size:12px;color:#666}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item.full-width{grid-column:span 2}.info-label{display:flex;align-items:center;gap:6px;font-size:12px;color:#999;text-transform:uppercase;letter-spacing:.5px}.info-label svg{color:#f26930}.info-value{display:flex;align-items:center;gap:6px;font-size:14px;color:#333}.info-value.code{font-family:SF Mono,Monaco,monospace;color:#f26930}.info-value svg{color:#f26930}.timeline-items{display:flex;flex-direction:column;gap:16px}.timeline-item{display:flex;align-items:center;gap:14px}.timeline-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.timeline-icon.created{background:linear-gradient(135deg,#10b981,#059669)}.timeline-icon.updated{background:linear-gradient(135deg,#3b82f6,#2563eb)}.timeline-content{display:flex;flex-direction:column}.timeline-label{font-size:12px;color:#999}.timeline-value{font-size:14px;color:#333}.settings-content{background:#f9fafb;border-radius:4px;padding:16px}.settings-json{font-family:SF Mono,Monaco,monospace;font-size:12px;color:#666;margin:0;white-space:pre-wrap;word-break:break-word}.no-settings{font-size:14px;color:#999;text-align:center;margin:0;padding:16px}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.tenant-details-header{flex-direction:column;align-items:flex-start}.header-actions{flex-wrap:wrap;width:100%}.tenant-details-grid{grid-template-columns:1fr}.detail-card.stats{grid-column:span 1}.stats-grid,.info-grid{grid-template-columns:1fr}.info-item.full-width{grid-column:span 1}}.admin-list-page{min-height:calc(100vh - 64px)}.admin-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-list-title{display:flex;align-items:center;gap:16px;color:#f26930}.admin-list-title h1{font-size:24px;font-weight:600;color:#333;margin:0}.admin-list-title p{font-size:14px;color:#666;margin:0}.admin-create-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:4px;background:linear-gradient(135deg,#f26930,#fba91a);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #f269304d}.admin-create-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f2693066}.admin-error-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff5f5;border:1px solid #fecaca;border-radius:4px;color:#dc2626;margin-bottom:24px}.admin-error-banner button{margin-left:auto;background:transparent;border:1px solid #fecaca;color:#dc2626;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}.admin-error-banner button:hover{background:#fef2f2}.admin-filters{display:flex;gap:16px;margin-bottom:20px}.admin-search{flex:1;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#666}.admin-search:focus-within{border-color:#f26930}.admin-search input{flex:1;background:transparent;border:none;color:#333;font-size:14px;outline:none}.admin-search input::placeholder{color:#999}.admin-status-filter{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#666}.admin-status-filter select{background:transparent;border:none;color:#333;font-size:14px;outline:none;cursor:pointer}.admin-refresh-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#f26930;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.admin-refresh-btn:hover:not(:disabled){background:#fff5f0;border-color:#f26930}.admin-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.admin-refresh-btn .spinning{animation:spin 1s linear infinite}.admin-stats-bar{display:flex;gap:24px;padding:16px 24px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:20px}.admin-stat{display:flex;flex-direction:column}.admin-stat .stat-value{font-size:24px;font-weight:700;color:#333}.admin-stat .stat-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.admin-table-container{background:#fff;border:1px solid #e0e0e0;border-radius:4px;overflow:visible}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666}.admin-spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#f26930;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.admin-table{width:100%;border-collapse:collapse;overflow:visible}.admin-table tbody{overflow:visible}.admin-table tr{position:relative}.admin-table th{text-align:left;padding:14px 20px;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;background:#f9fafb;border-bottom:1px solid #e0e0e0}.admin-table td{padding:14px 20px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0}.admin-table td:last-child{overflow:visible;position:static}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#f9fafb}.admin-empty-row{text-align:center;color:#999;padding:60px 20px!important}.admin-info-cell{display:flex;align-items:center;gap:14px}.admin-avatar{width:44px;height:44px;border-radius:8px;background:linear-gradient(135deg,#f26930,#fba91a);display:flex;align-items:center;justify-content:center;color:#fff}.admin-avatar.master{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.admin-details{display:flex;flex-direction:column}.admin-name{font-weight:600;color:#333}.admin-username{font-size:12px;color:#999}.admin-email{display:flex;align-items:center;gap:8px;color:#666}.admin-email svg{color:#999}.admin-date{display:flex;align-items:center;gap:8px;color:#666;font-size:13px}.admin-date svg{color:#999}.admin-status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-active{background:#ecfdf5;color:#059669}.status-inactive{background:#f3f4f6;color:#6b7280}.status-master{background:#f3e8ff;color:#7c3aed}.admin-actions{display:flex;align-items:center;gap:6px}.action-btn{width:32px;height:32px;border:none;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.action-btn.more{background:#f3f4f6;color:#6b7280}.action-btn.more:hover{background:#e5e7eb}.action-dropdown-container{position:static}.action-dropdown{position:fixed;min-width:180px;background:#fff;border:1px solid #d0d0d0;border-radius:8px;box-shadow:0 10px 50px #00000040,0 4px 12px #00000026;z-index:99999;overflow:visible;animation:dropdownSlideIn .15s ease-out}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.action-dropdown button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border:none;background:transparent;color:#333;font-size:13px;cursor:pointer;text-align:left;transition:all .2s ease}.action-dropdown button:hover{background:#f5f5f5}.action-dropdown button.danger{color:#dc2626}.action-dropdown button.danger:hover{background:#fef2f2}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}@media (max-width: 1024px){.admin-filters{flex-wrap:wrap}.admin-search{flex:1 1 100%}.admin-stats-bar{flex-wrap:wrap;gap:16px}.admin-stat{flex:1 1 calc(50% - 8px)}}@media (max-width: 768px){.admin-list-header{flex-direction:column;align-items:flex-start;gap:16px}.admin-table-container{overflow-x:auto}.admin-table{min-width:800px}}.create-admin-page{max-width:800px;margin:0 auto}.create-admin-header{margin-bottom:24px}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#f26930;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:20px}.back-btn:hover{background:#fff5f0;border-color:#f26930}.create-admin-title{display:flex;align-items:center;gap:16px;color:#f26930}.create-admin-title h1{font-size:24px;font-weight:600;color:#333;margin:0}.create-admin-title p{font-size:14px;color:#666;margin:0}.create-admin-error{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff5f5;border:1px solid #fecaca;border-radius:4px;color:#dc2626;margin-bottom:24px}.create-admin-error button{margin-left:auto;background:transparent;border:1px solid #fecaca;color:#dc2626;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}.create-admin-error button:hover{background:#fef2f2}.create-admin-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;text-align:center}.success-icon{color:#059669;margin-bottom:20px}.create-admin-success h2{font-size:24px;font-weight:600;color:#333;margin:0 0 8px}.create-admin-success p{font-size:14px;color:#666;margin:0}.create-admin-form{display:flex;flex-direction:column;gap:24px}.form-group input.error{border-color:#dc2626}.form-group input.error:focus{box-shadow:0 0 0 3px #dc26261a}.password-input-wrapper input{width:100%;padding-right:48px}.form-checkbox{margin-top:8px}.checkbox-label{display:flex;align-items:flex-start;gap:14px;cursor:pointer;padding:16px;border:1px solid #e0e0e0;border-radius:4px;transition:all .2s ease}.checkbox-label:hover{border-color:#f26930;background:#fff5f0}.checkbox-label input{display:none}.checkbox-custom{width:24px;height:24px;min-width:24px;border:2px solid #e0e0e0;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s ease}.checkbox-label input:checked+.checkbox-custom{background:linear-gradient(135deg,#7c3aed,#a78bfa);border-color:#7c3aed}.checkbox-text{display:flex;flex-direction:column;gap:4px}.checkbox-title{font-size:14px;font-weight:600;color:#333}.checkbox-desc{font-size:13px;color:#666;line-height:1.4}.btn-cancel{display:flex;align-items:center;gap:8px;padding:14px 28px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#666;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel:hover:not(:disabled){background:#f5f5f5;border-color:#999}.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.btn-submit{display:flex;align-items:center;gap:8px;padding:14px 32px;border:none;border-radius:4px;background:linear-gradient(135deg,#f26930,#fba91a);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #f269304d}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f2693066}.btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-submit .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%;justify-content:center}.checkbox-label{flex-direction:column;align-items:flex-start}}.activity-logs-page{min-height:calc(100vh - 64px)}.activity-logs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.activity-logs-title{display:flex;align-items:center;gap:16px;color:#f26930}.activity-logs-title h1{font-size:24px;font-weight:600;color:#333;margin:0}.activity-logs-title p{font-size:14px;color:#666;margin:0}.view-toggle{display:flex;background:#fff;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden}.view-toggle button{padding:10px 20px;border:none;background:transparent;color:#666;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.view-toggle button:hover{background:#f5f5f5}.view-toggle button.active{background:linear-gradient(135deg,#f26930,#fba91a);color:#fff}.activity-error-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff5f5;border:1px solid #fecaca;border-radius:4px;color:#dc2626;margin-bottom:24px}.activity-error-banner button{margin-left:auto;background:transparent;border:1px solid #fecaca;color:#dc2626;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}.activity-error-banner button:hover{background:#fef2f2}.activity-filters{display:flex;gap:16px;margin-bottom:20px}.activity-search{flex:1;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#666}.activity-search:focus-within{border-color:#f26930}.activity-search input{flex:1;background:transparent;border:none;color:#333;font-size:14px;outline:none}.activity-search input::placeholder{color:#999}.activity-action-filter{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#666}.activity-action-filter select{background:transparent;border:none;color:#333;font-size:14px;outline:none;cursor:pointer}.activity-refresh-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#f26930;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.activity-refresh-btn:hover:not(:disabled){background:#fff5f0;border-color:#f26930}.activity-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.activity-refresh-btn .spinning{animation:spin 1s linear infinite}.activity-stats-bar{display:flex;gap:24px;padding:16px 24px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:20px}.activity-stat{display:flex;flex-direction:column}.activity-stat .stat-value{font-size:24px;font-weight:700;color:#333}.activity-stat .stat-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.activity-logs-container{background:#fff;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden}.activity-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666}.activity-spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#f26930;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.activity-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999;text-align:center}.activity-empty svg{color:#ddd;margin-bottom:16px}.activity-empty h3{font-size:16px;font-weight:600;color:#666;margin:0 0 8px}.activity-empty p{font-size:14px;color:#999;margin:0}.activity-list{display:flex;flex-direction:column}.activity-item{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;border-bottom:1px solid #f0f0f0;transition:background .2s ease}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#f9fafb}.activity-icon{width:40px;height:40px;min-width:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.activity-icon.action-login{background:linear-gradient(135deg,#059669,#34d399)}.activity-icon.action-logout{background:linear-gradient(135deg,#6b7280,#9ca3af)}.activity-icon.action-create{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.activity-icon.action-update{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.activity-icon.action-delete{background:linear-gradient(135deg,#dc2626,#f87171)}.activity-icon.action-default{background:linear-gradient(135deg,#f26930,#fba91a)}.activity-content{flex:1;display:flex;flex-direction:column;gap:6px}.activity-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.activity-action{font-weight:600;color:#333;font-size:14px}.activity-resource{color:#666;font-size:14px}.activity-tenant{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#f3f4f6;border-radius:4px;color:#666;font-size:12px}.activity-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.activity-admin{display:flex;align-items:center;gap:6px;color:#666;font-size:13px}.activity-admin svg{color:#999}.activity-ip{color:#999;font-size:12px;font-family:monospace}.activity-time{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:120px}.time-relative{font-size:13px;font-weight:500;color:#666}.time-absolute{display:flex;align-items:center;gap:8px;font-size:11px;color:#999}.time-absolute svg{width:12px;height:12px}.activity-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}.pagination-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#f26930;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#fff5f0;border-color:#f26930}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:14px;color:#666}@media (max-width: 1024px){.activity-filters{flex-wrap:wrap}.activity-search{flex:1 1 100%}.activity-stats-bar{flex-wrap:wrap;gap:16px}.activity-stat{flex:1 1 calc(50% - 8px)}}@media (max-width: 768px){.activity-logs-header{flex-direction:column;align-items:flex-start;gap:16px}.activity-item{flex-direction:column;gap:12px}.activity-time{align-items:flex-start;width:100%}.time-absolute{justify-content:flex-start}}.settings-profile-page{max-width:800px;margin:0 auto}.form-section h3{font-size:16px;font-weight:600;color:#333;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.form-group input{padding:12px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#333;font-size:14px;font-family:inherit;transition:all .2s ease}.form-group input::placeholder{color:#999}.form-group input:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.form-group input.disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.account-badge{display:flex;align-items:center;height:46px}.account-badge .badge{display:inline-block;padding:8px 16px;border-radius:4px;font-size:13px;font-weight:600}.account-badge .badge.master{background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff}.account-badge .badge.admin{background:linear-gradient(135deg,#f26930,#fba91a);color:#fff}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%;justify-content:center}}.settings-security-page{max-width:800px;margin:0 auto}.password-form{display:flex;flex-direction:column;gap:20px}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{width:100%;padding:12px 48px 12px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#333;font-size:14px;font-family:inherit;transition:all .2s ease}.password-input-wrapper input::placeholder{color:#999}.password-input-wrapper input:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.password-input-wrapper input.error{border-color:#dc2626}.password-input-wrapper input.error:focus{box-shadow:0 0 0 3px #dc26261a}.toggle-password{position:absolute;right:12px;background:none;border:none;color:#999;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.toggle-password:hover{color:#666}.error-text{font-size:12px;color:#dc2626}.password-strength{display:flex;align-items:center;gap:12px}.strength-bar{flex:1;height:4px;background:#e0e0e0;border-radius:2px;overflow:hidden}.strength-fill{height:100%;border-radius:2px;transition:width .3s ease,background-color .3s ease}.password-strength span{font-size:12px;font-weight:500;min-width:60px}.security-info-section{display:flex;flex-direction:column;gap:24px;margin-top:24px}.session-info{display:flex;gap:24px}.session-item{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#f9fafb;border-radius:4px;flex:1}.session-item svg{color:#f26930}.session-item .label{display:block;font-size:12px;color:#666;margin-bottom:2px}.session-item .value{display:block;font-size:14px;font-weight:500;color:#333}.security-tips ul{margin:0;padding-left:20px}.security-tips li{font-size:14px;color:#666;line-height:1.8}.security-tips li::marker{color:#f26930}@media (max-width: 768px){.session-info,.form-actions{flex-direction:column}.form-actions button{width:100%;justify-content:center}}.settings-system-page{max-width:800px;margin:0 auto}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.settings-title{display:flex;align-items:center;gap:16px;color:#f26930}.settings-title h1{font-size:24px;font-weight:600;color:#333;margin:0}.settings-title p{font-size:14px;color:#666;margin:0}.master-badge{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#7c3aed,#a78bfa);border-radius:4px;color:#fff;font-size:12px;font-weight:600}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#666}.settings-spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#f26930;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;text-align:center}.access-denied svg{color:#dc2626;margin-bottom:20px}.access-denied h2{font-size:24px;font-weight:600;color:#333;margin:0 0 8px}.access-denied p{font-size:14px;color:#666;margin:0}.settings-error-banner,.settings-success-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:4px;margin-bottom:24px}.settings-error-banner{background:#fff5f5;border:1px solid #fecaca;color:#dc2626}.settings-success-banner{background:#ecfdf5;border:1px solid #a7f3d0;color:#059669}.settings-error-banner button,.settings-success-banner button{margin-left:auto;background:transparent;border:1px solid currentColor;color:inherit;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;opacity:.7}.settings-error-banner button:hover,.settings-success-banner button:hover{opacity:1}.settings-form{display:flex;flex-direction:column;gap:24px}.form-section{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:24px}.section-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.section-header svg{color:#f26930;margin-top:2px}.section-header h3{font-size:16px;font-weight:600;color:#333;margin:0 0 4px}.section-header p{font-size:13px;color:#666;margin:0}.config-options{display:flex;flex-direction:column;gap:16px}.toggle-option{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f9fafb;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .2s ease}.toggle-option:hover{border-color:#f26930;background:#fff5f0}.option-info{display:flex;flex-direction:column;gap:4px}.option-title{font-size:14px;font-weight:600;color:#333}.option-desc{font-size:13px;color:#666}.toggle-switch{position:relative;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:26px}.toggle-switch .slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.slider{background:linear-gradient(135deg,#f26930,#fba91a)}.toggle-switch input:checked+.slider:before{transform:translate(22px)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#333}.form-group label svg{color:#f26930}.form-group input,.form-group select{padding:12px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#333;font-size:14px;font-family:inherit;transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#f26930;box-shadow:0 0 0 3px #f269301a}.form-group select{cursor:pointer}.field-hint{font-size:12px;color:#999}.info-banner{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;color:#1d4ed8}.info-banner svg{flex-shrink:0;margin-top:2px}.info-banner span{font-size:13px;line-height:1.5}.form-actions{display:flex;justify-content:flex-end;gap:16px;margin-top:8px}.btn-reset{display:flex;align-items:center;gap:8px;padding:14px 28px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#666;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-reset:hover:not(:disabled){background:#f5f5f5;border-color:#999}.btn-reset:disabled{opacity:.6;cursor:not-allowed}.btn-save{display:flex;align-items:center;gap:8px;padding:14px 32px;border:none;border-radius:4px;background:linear-gradient(135deg,#f26930,#fba91a);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #f269304d}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f2693066}.btn-save:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-save .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.settings-header{flex-direction:column;align-items:flex-start;gap:16px}.form-row{grid-template-columns:1fr}.toggle-option{flex-direction:column;align-items:flex-start;gap:16px}.form-actions{flex-direction:column}.form-actions button{width:100%;justify-content:center}}*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Roboto,sans-serif!important}html,body{font-family:-apple-system,BlinkMacSystemFont,Roboto,sans-serif!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;overflow-x:hidden;width:100%;max-width:100vw}#root{min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}table{width:100%;border-collapse:collapse;font-size:13px}table thead{background:#f9f9f9;border-bottom:2px solid #e0e0e0}table th{padding:4px 10px;text-align:left;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s}table tbody tr:hover{background:#f9f9f9}table td{padding:4px 10px;color:#666;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-container{overflow-x:hidden;width:100%}.action-buttons{display:flex;gap:8px;align-items:center;justify-content:flex-start}.action-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:transform .2s;flex-shrink:0}.action-btn:hover{transform:scale(1.1)}.action-btn.edit-btn:hover{background:#fff5f0;border-radius:4px}.action-btn.delete-btn:hover{background:#ffebee;border-radius:4px}.action-btn.view-btn:hover{background:#f5f5f5;border-radius:4px}.table-footer{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;align-items:center;justify-content:center}.pagination{display:flex;align-items:center;gap:12px}.pagination-btn{width:32px;height:32px;border:1px solid #e0e0e0;background:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:#666;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#f26930;color:#f26930}.pagination-btn:disabled{cursor:not-allowed;opacity:.4}.pagination-info{font-size:14px;color:#666;display:flex;align-items:center;gap:8px}.page-input{width:50px;height:32px;text-align:center;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;outline:none;transition:border-color .2s}.page-input:focus{border-color:#f26930}.page-input::-webkit-outer-spin-button,.page-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.page-input[type=number]{-moz-appearance:textfield}@media (max-width: 1400px){table{font-size:12px}table th,table td{padding:3px 8px}}@media (max-width: 768px){.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}table{font-size:11px}table th,table td{padding:3px 6px}}.tabs-container{display:flex;gap:4px;margin-bottom:0;background-color:#fafafa;padding:4px;border-bottom:1px solid #e0e0e0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tabs-container::-webkit-scrollbar{display:none}.tab-btn{padding:12px 28px;border:none;background-color:transparent;color:#666;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease;border-radius:6px;position:relative;white-space:nowrap}.tab-btn:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:3px;background:linear-gradient(135deg,#f26930,#ff8c5a);border-radius:3px 3px 0 0;transition:width .3s ease}.tab-btn:hover:not(.active){background-color:#f2693014;color:#f26930}.tab-btn.active{background-color:#fff;color:#f26930;font-weight:600;box-shadow:0 2px 8px #0000000f}.tab-btn.active:after{width:60%}.tab-content{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-tabs{display:flex;gap:4px;padding:12px 24px;background-color:#fafafa;border-bottom:1px solid #e0e0e0}.modal-tab{padding:10px 20px;border:none;background-color:transparent;color:#666;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;border-radius:6px;position:relative}.modal-tab:after{content:"";position:absolute;bottom:-14px;left:50%;transform:translate(-50%);width:0;height:3px;background:linear-gradient(135deg,#f26930,#ff8c5a);border-radius:3px 3px 0 0;transition:width .3s ease}.modal-tab:hover:not(.active){background-color:#f2693014;color:#f26930}.modal-tab.active{background-color:#fff;color:#f26930;font-weight:600;box-shadow:0 2px 8px #0000000f}.modal-tab.active:after{width:60%}.calculator-tabs{display:flex;gap:4px;background-color:#fafafa;padding:4px;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;margin-bottom:0}@media (max-width: 768px){.tabs-container,.modal-tabs,.calculator-tabs{gap:2px;padding:4px}.tab-btn,.modal-tab{padding:10px 16px;font-size:13px}}@media (max-width: 576px){.tab-btn,.modal-tab{padding:8px 12px;font-size:12px}}
