@charset "UTF-8";.cpn-authstatusmodal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cpn-authstatusmodal{background:rgba(255,255,255,.95);border-radius:12px;padding:2rem;max-width:400px;width:90%;box-shadow:0 12px 48px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);animation:fadeIn .3s ease}.cpn-authstatusmodal-content{text-align:center;padding:2rem}.cpn-authstatusmodal-header{text-align:center;margin-bottom:1.5rem}.cpn-authstatusmodal-title{color:#2c3e50;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.cpn-authstatusmodal-subtitle{color:#6c757d;font-size:.95rem}.cpn-authstatusmodal-body{margin-bottom:1.5rem}.cpn-authstatusmodal-footer{display:flex;gap:1rem;justify-content:flex-end}.cpn-authstatusmodal-message{color:#495057;font-size:1rem;margin:1rem 0}.cpn-authstatusmodal-countdown{color:#6c757d;font-size:.875rem;margin-top:1rem}.cpn-authstatusmodal-icon-success{width:64px;height:64px;color:#28a745;margin:0 auto 1rem}.cpn-authstatusmodal-icon-success svg{width:100%;height:100%}.cpn-authstatusmodal-icon-error{width:64px;height:64px;color:#dc3545;margin:0 auto 1rem}.cpn-authstatusmodal-icon-error svg{width:100%;height:100%}.cpn-authstatusmodal-icon-loading{width:64px;height:64px;margin:0 auto 1rem}.cpn-authstatusmodal-loading-spinner{animation:spin 1s linear infinite;color:#667eea}.cpn-authstatusmodal-loading-spinner svg{width:64px;height:64px}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.cpn-authstatusmodal{margin:1rem;padding:1.5rem}.cpn-authstatusmodal-content{padding:1.5rem}}.cpn-vendorwelcome{max-width:800px;margin:2rem auto;padding:2rem;background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(118,75,162,.1));border-radius:16px;border:1px solid rgba(102,126,234,.2);box-shadow:0 8px 32px #0000001a}.cpn-vendorwelcome-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;text-align:center}.cpn-vendorwelcome-header h2{color:#667eea;margin:0;font-size:1.75rem;font-weight:600}.cpn-vendorwelcome-icon{color:#667eea;background:rgba(102,126,234,.1);padding:.5rem;border-radius:50%;flex-shrink:0}.cpn-vendorwelcome-info-card{background:white;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 16px #0000000d;border:1px solid rgba(102,126,234,.1)}.cpn-vendorwelcome-info-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.cpn-vendorwelcome-info-item:last-child{margin-bottom:0}.cpn-vendorwelcome-info-icon{color:#667eea;margin-top:2px;flex-shrink:0}.cpn-vendorwelcome-info-item p{margin:0;color:#374151;line-height:1.5}.cpn-vendorwelcome-info-item strong{color:#667eea;font-weight:600}.cpn-vendorwelcome-actions{display:flex;flex-direction:column;gap:1rem;align-items:stretch}.cpn-vendorwelcome-action-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:500;transition:all .3s ease;border:none;cursor:pointer;font-size:1rem}.cpn-vendorwelcome-action-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 16px #667eea4d}.cpn-vendorwelcome-action-button.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.cpn-vendorwelcome-action-button.secondary{background:white;color:#667eea;border:2px solid #667eea;box-shadow:0 4px 16px #0000001a}.cpn-vendorwelcome-action-button.secondary:hover{background:#667eea;color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #667eea4d}@media (max-width: 768px){.cpn-vendorwelcome{margin:1rem;padding:1.5rem}.cpn-vendorwelcome-header{flex-direction:column;text-align:center}.cpn-vendorwelcome-header h2{font-size:1.5rem}.cpn-vendorwelcome-info-card{padding:1rem}.cpn-vendorwelcome-action-button{width:100%;justify-content:center}}.confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease-out}.confirm-modal-content{background:white;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:450px;width:100%;padding:30px;animation:slideUp .3s ease-out;position:relative}.confirm-modal-icon{display:flex;align-items:center;justify-content:center;margin-bottom:20px}.confirm-modal-warning .confirm-modal-icon{color:#f39c12}.confirm-modal-danger .confirm-modal-icon{color:#e74c3c}.confirm-modal-success .confirm-modal-icon{color:#27ae60}.confirm-modal-info .confirm-modal-icon{color:#3498db}.confirm-modal-body{text-align:center;margin-bottom:25px}.confirm-modal-title{font-size:20px;font-weight:600;color:#2c3e50;margin:0 0 10px}.confirm-modal-message{font-size:15px;color:#7f8c8d;line-height:1.5;margin:0}.confirm-modal-footer{display:flex;gap:12px;justify-content:center}.confirm-modal-btn{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:100px}.confirm-modal-btn:focus{outline:none;box-shadow:0 0 0 3px #3498db33}.confirm-modal-btn-cancel{background:#ecf0f1;color:#7f8c8d}.confirm-modal-btn-cancel:hover{background:#bdc3c7;color:#2c3e50}.confirm-modal-btn-confirm{color:#fff}.confirm-modal-btn-warning{background:#f39c12}.confirm-modal-btn-warning:hover{background:#e67e22;transform:translateY(-1px);box-shadow:0 4px 12px #f39c124d}.confirm-modal-btn-danger{background:#e74c3c}.confirm-modal-btn-danger:hover{background:#c0392b;transform:translateY(-1px);box-shadow:0 4px 12px #e74c3c4d}.confirm-modal-btn-success{background:#27ae60}.confirm-modal-btn-success:hover{background:#229954;transform:translateY(-1px);box-shadow:0 4px 12px #27ae604d}.confirm-modal-btn-info{background:#3498db}.confirm-modal-btn-info:hover{background:#2980b9;transform:translateY(-1px);box-shadow:0 4px 12px #3498db4d}@media (max-width: 768px){.confirm-modal-content{padding:24px;max-width:90%}.confirm-modal-title{font-size:18px}.confirm-modal-message{font-size:14px}.confirm-modal-footer{flex-direction:column-reverse}.confirm-modal-btn{width:100%}}.cpn-loadingspinner-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.cpn-loadingspinner-wrapper.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.9);z-index:9998;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cpn-loadingspinner-wrapper.overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.9);z-index:100}.cpn-loadingspinner{width:48px;height:48px;border:4px solid rgba(102,126,234,.2);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.cpn-loadingspinner.small{width:24px;height:24px;border-width:3px}.cpn-loadingspinner.large{width:64px;height:64px;border-width:5px}.cpn-loadingspinner.inline{display:inline-block;vertical-align:middle;margin:0}.cpn-loadingspinner-text{font-size:1.1rem;font-weight:500;color:#667eea;margin:0}.cpn-loadingspinner-text.small{font-size:.9rem}.cpn-loadingspinner-text.large{font-size:1.3rem}.dashboard-page{height:calc(100vh - 50px);width:100%;background:#ffffff;padding:0;margin:0;overflow:hidden}.dashboard-container{width:100%;height:100%;margin:0;padding:0;display:flex;flex-direction:column;overflow:hidden}.dashboard-header{display:flex;justify-content:space-between;align-items:center;background:white;padding:24px 32px;border-radius:16px;box-shadow:0 4px 12px #0000001a;border:1px solid #e2e8f0}.header-title{display:flex;align-items:center;gap:12px}.title-icon{color:#3b82f6}.header-title h1{margin:0;font-size:28px;font-weight:700;color:#1e293b}.header-info{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.welcome-text{font-size:16px;font-weight:600;color:#374151}.user-role{font-size:14px;color:#6b7280;padding:4px 12px;background:#f3f4f6;border-radius:20px}.quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.stat-card{background:white;padding:24px;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid #e2e8f0;display:flex;align-items:center;gap:16px;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.stat-icon{padding:12px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center}.stat-content{flex:1}.stat-value{font-size:28px;font-weight:700;color:#1e293b;line-height:1;margin-bottom:4px}.stat-label{font-size:14px;color:#6b7280;font-weight:500}.dashboard-content{flex:1;height:100%;width:100%;overflow:hidden}.dashboard-panel{background:white;border-radius:0;box-shadow:none;border:none;overflow:hidden;height:100%;width:100%;display:flex;flex-direction:column;flex-shrink:0}.panel-header{padding:8px 16px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;background:#f8fafc;min-height:50px}.panel-header h2{margin:0;font-size:20px;font-weight:600;color:#1e293b}.panel-controls{display:flex;gap:8px}.control-btn{padding:8px 12px;border:1px solid #d1d5db;background:white;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#6b7280}.control-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af;color:#374151}.control-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-btn .spinning{animation:spin 1s linear infinite}.dashboard-iframe.loading{opacity:0}.iframe-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:white;z-index:10}.loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.iframe-loading p{color:#6b7280;font-size:16px;margin:0}.iframe-placeholder{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:white;z-index:5}.placeholder-content{text-align:center;max-width:600px;padding:40px}.placeholder-icon{color:#9ca3af;margin-bottom:24px}.placeholder-content h3{font-size:24px;font-weight:600;color:#1e293b;margin:0 0 16px}.placeholder-content p{color:#6b7280;font-size:16px;margin-bottom:24px;line-height:1.6}.placeholder-content ol{text-align:left;color:#374151;font-size:14px;line-height:1.6;margin-bottom:24px}.placeholder-content li{margin-bottom:8px}.placeholder-content code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:13px;color:#dc2626}.placeholder-note{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:16px;text-align:left;font-size:14px;color:#92400e}.placeholder-note strong{color:#78350f}.dashboard-footer{text-align:center;padding:16px;color:#6b7280;font-size:14px}@media (max-width: 768px){.dashboard-page{padding:16px}.dashboard-header{flex-direction:column;gap:16px;text-align:center;padding:20px}.header-info{align-items:center}.quick-stats{grid-template-columns:1fr}.stat-card{padding:20px}.panel-header{padding:16px 20px;flex-direction:column;gap:12px}.dashboard-content.fullscreen{padding:12px}.placeholder-content{padding:24px 20px}.placeholder-content h3{font-size:20px}}@media (max-width: 480px){.header-title h1{font-size:22px}.stat-value{font-size:24px}.dashboard-panel{min-height:500px}}.dashboard-content,.stat-card,.control-btn{transition:all .2s ease}.control-btn:focus,.dashboard-iframe:focus{outline:2px solid #3b82f6;outline-offset:2px}.lego-reporting-view .embedding-footer{display:none!important;visibility:hidden!important;height:0!important;z-index:-1!important}.embedding-footer{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important}.embedding-footer.layout-align-end-end.layout-row.show-navigation{display:none!important;visibility:hidden!important;height:0!important;max-height:0!important}[class*=embedding-footer]{display:none!important;visibility:hidden!important;height:0!important}[class*=show-navigation]{display:none!important;visibility:hidden!important}.iframe-container{flex:1;position:relative;background:#ffffff;height:calc(100% + 60px);width:100%;overflow:hidden;margin-bottom:-60px}.dashboard-iframe{width:100%;height:100%;border:none;transition:opacity .3s ease;display:block;margin:0;padding:0}.iframe-container .footer-overlay{position:absolute;bottom:0;left:0;right:0;height:50px;background:white;pointer-events:none;z-index:10;display:none}.toast-container{position:fixed;top:80px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:400px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:14px 16px;background:white;border-radius:8px;box-shadow:0 4px 12px #00000026;pointer-events:auto;animation:slideInRight .3s ease-out;border-left:4px solid;min-width:300px}.toast.toast-closing{animation:slideOutRight .3s ease-out forwards}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.toast-success{border-left-color:#27ae60}.toast-success .toast-icon{color:#27ae60}.toast-error{border-left-color:#e74c3c}.toast-error .toast-icon{color:#e74c3c}.toast-warning{border-left-color:#f39c12}.toast-warning .toast-icon{color:#f39c12}.toast-info{border-left-color:#3498db}.toast-info .toast-icon{color:#3498db}.toast-icon{display:flex;align-items:center;flex-shrink:0}.toast-message{flex:1;font-size:14px;color:#2c3e50;line-height:1.4}.toast-close{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#7f8c8d;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;flex-shrink:0}.toast-close:hover{background:#ecf0f1;color:#2c3e50}@media (max-width: 768px){.toast-container{top:70px;right:10px;left:10px;max-width:none}.toast{min-width:auto;padding:12px 14px}.toast-message{font-size:13px}}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden}html body{font-family:Times New Roman,Times,serif!important}.printcard-page body,bo.preview-wrap{width:600px!important;min-width:320px!important;max-width:600px!important;flex-shrink:0!important;display:flex!important;flex-direction:column!important;background:#fafafa!important;border-left:1px solid #e0e0e0!important;margin:0!important;padding:0!important;position:relative!important;height:calc(100vh - 50px)!important;font-family:Times New Roman,Times,serif!important}age,html body .printcard-page{font-family:Times New Roman,Times,serif!important}#root{width:100%;height:100vh;margin:0;padding:0}.printcard-page-wrapper .container,.printcard-page-wrapper .container-fluid,.printcard-page-wrapper .container-sm,.printcard-page-wrapper .container-md,.printcard-page-wrapper .container-lg,.printcard-page-wrapper .container-xl,.printcard-page-wrapper .container-xxl{max-width:none;width:100%;margin:0;padding:0}.row{margin:0!important;padding:0!important}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12{padding:0!important;margin:0!important}.printcard-page-wrapper .shell *{max-width:none}.printcard-page-wrapper .shell .container,.printcard-page-wrapper .shell .container-fluid{max-width:none;width:100%;margin:0;padding:0}.printcard-page-wrapper .printcard-page{width:100%;height:100%;overflow:hidden;font-family:Times New Roman,Times,serif!important}.printcard-page-wrapper .printcard-page,.printcard-page *{font-family:Times New Roman,Times,serif!important}.printcard-page-wrapper .shell{display:flex!important;height:calc(100vh - 50px)!important;width:100%!important;background:#f5f5f5!important;overflow:hidden!important;margin:0!important;padding:0!important;position:relative!important}.printcard-page-wrapper .left{flex:1!important;display:flex!important;flex-direction:column!important;background:#fff!important;min-width:0!important;margin:0!important;padding:0!important;width:calc(100% - 600px)!important}.printcard-page-wrapper .right{width:400px;display:flex;flex-direction:column;background:#fafafa}.printcard-page-wrapper .pane{display:flex;flex-direction:column;height:100%}.pane.list{flex:1;display:flex;flex-direction:column;height:100%}.printcard-page-wrapper .pane-title{padding:0 16px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-bottom:1px solid #e0e0e0;font-weight:600;font-size:16px;height:50px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-shrink:0;box-sizing:border-box}.printcard-page-wrapper .title-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.printcard-page-wrapper .title-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.title-left label{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer;white-space:nowrap}.title-left input[type=checkbox]{margin:0;cursor:pointer}.title-left input[type=text]{padding:8px 12px;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:rgba(255,255,255,.1);color:#fff;font-size:14px;flex:1;min-width:200px;max-width:none}.title-left input[type=text]::-moz-placeholder{color:#ffffffb3}.title-left input[type=text]::placeholder{color:#ffffffb3}.title-left input[type=text]:focus{outline:none;background:rgba(255,255,255,.2);border-color:#ffffff80}.title-left button{padding:8px 16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.title-left button:hover{background:rgba(255,255,255,.2);border-color:#ffffff80}.title-left button:disabled{opacity:.5;cursor:not-allowed}.title-right button{padding:8px 16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease;white-space:nowrap}.title-right button:hover{background:rgba(255,255,255,.2);border-color:#ffffff80}.title-right button:disabled{opacity:.5;cursor:not-allowed}.printcard-page-wrapper .pane-footer{padding:12px 16px;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;align-items:center;justify-content:space-between;gap:16px;height:50px;flex-shrink:0;box-sizing:border-box;min-width:0}.printcard-page-wrapper .footer-left,.printcard-page-wrapper .footer-right{flex:0 0 auto;white-space:nowrap;font-size:13px}.printcard-page-wrapper .footer-center{flex:1;display:flex;justify-content:center;min-width:0}.printcard-page-wrapper .cell-person{display:flex;align-items:center;gap:12px}.printcard-page-wrapper .thumb{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #e9ecef}.printcard-page-wrapper .meta{flex:1}.printcard-page-wrapper .name{font-weight:500;color:#333;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.printcard-page-wrapper .sub{font-size:12px;color:#6c757d}.printcard-page-wrapper .table-wrap{flex:1;overflow:auto;background:white;width:100%;min-width:0;height:calc(100vh - 150px);position:relative}.printcard-page-wrapper .grid{width:100%;min-width:100%;border-collapse:collapse;font-size:14px;table-layout:auto}.grid th{background:#f8f9fa;border-bottom:2px solid #e9ecef;padding:0;position:sticky;top:0;z-index:10;vertical-align:middle;min-width:80px}.grid th:first-child{min-width:36px;max-width:36px;width:36px}.grid th span{display:block;padding:12px 8px;font-weight:600;color:#495057;text-align:left}.printcard-page-wrapper .th-cell{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;min-height:48px;white-space:nowrap;position:relative}.th-cell span{flex:1;text-align:center;font-weight:600;color:#495057;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 24px)}.grid td{padding:2px 5px;text-align:center;border-bottom:1px solid #e9ecef;vertical-align:middle}.grid tr:hover{background:#4d8ec4}.grid tr.selected{background:#3fc56c!important}.grid tr.selected:hover{background:#4d8ec4!important}.printcard-page-wrapper .filter-btn{background:lavender;border:none;cursor:pointer;padding:4px 6px;color:#6c757d;font-size:12px;line-height:1;border-radius:3px;transition:all .2s ease;flex-shrink:0;margin-left:4px}.filter-btn:hover{background:rgba(108,117,125,.1);color:#495057}.filter-btn:focus{outline:none;background:rgba(108,117,125,.15)}.printcard-page-wrapper .filter-menu{position:absolute;top:100%;right:0;background:white;border:1px solid #e9ecef;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:300px;max-width:500px;padding:12px;display:none}.th-cell:first-child .filter-menu{right:auto;left:0}.th-cell:last-child .filter-menu{right:0;left:auto;transform:translate(0)}.th-cell:nth-last-child(-n+2) .filter-menu{right:0;max-width:280px}.filter-menu.show{display:block;max-height:80vh;overflow:visible}.printcard-page-wrapper .filter-search{width:100%;padding:8px 12px;border:1px solid #e9ecef;border-radius:4px;font-size:13px;margin-bottom:8px}.filter-search:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.printcard-page-wrapper .filter-options{max-height:calc(70vh - 120px);overflow-y:auto;border:1px solid #e9ecef;border-radius:4px;margin-bottom:12px}.printcard-page-wrapper .filter-option{display:flex;align-items:center;padding:6px 10px;font-size:13px;cursor:pointer;border-bottom:1px solid #f8f9fa}.filter-option input[type=checkbox]{margin-right:8px}.printcard-page-wrapper .filter-option-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left!important}.printcard-page-wrapper .filter-option-count{color:#6c757d;font-size:11px;margin-left:4px;flex-shrink:0;text-align:right!important;min-width:30px;padding-left:8px}.printcard-page-wrapper .filter-actions{display:flex;gap:8px;justify-content:flex-end}.filter-actions button{padding:6px 12px;border:1px solid #e9ecef;background:white;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s ease}.filter-actions button:first-child{background:#667eea;color:#fff;border-color:#667eea}.filter-actions button:first-child:hover{background:#5a6fd8;border-color:#5a6fd8}.filter-actions button:last-child:hover{background:#f8f9fa}.printcard-page-wrapper .select-all-option{background:#f8f9fa;font-weight:500;border-bottom:2px solid #e9ecef!important}.printcard-page-wrapper .menu-actions{display:flex;gap:8px}.menu-actions button{flex:1;padding:6px 12px;border:1px solid #e9ecef;background:white;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s ease}.menu-actions button:first-child{background:#667eea;color:#fff;border-color:#667eea}.menu-actions button:first-child:hover{background:#5a6fd8}.menu-actions button:last-child:hover{background:#f8f9fa}.filter-menu{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:400px;display:flex;flex-direction:column;font-size:14px}.filter-values{flex:1;overflow-y:auto;max-height:250px;padding:4px 0}.filter-value-text{flex:1;line-height:1.4;word-break:break-word;cursor:pointer;margin-right:8px}.filter-value-count{font-size:11px;color:#666;background-color:#e9ecef;padding:2px 6px;border-radius:10px;font-weight:500;flex-shrink:0;min-width:-moz-fit-content;min-width:fit-content}.menu-actions{padding:8px;border-top:1px solid #eee;display:flex;gap:8px;background:#f9f9f9}.menu-actions button{flex:1;padding:6px 12px;border:1px solid #ddd;border-radius:3px;background:white;cursor:pointer;font-size:12px}.menu-actions button:hover{background:#f5f5f5}.menu-actions button:first-child{background:#007bff;color:#fff;border-color:#007bff;font-weight:500}.menu-actions button:first-child:hover{background:#0056b3;border-color:#0056b3}.menu-actions button:last-child{background:#6c757d;color:#fff;border-color:#6c757d}.menu-actions button:last-child:hover{background:#545b62;border-color:#545b62}.filter-values::-webkit-scrollbar{width:6px}.filter-values::-webkit-scrollbar-track{background:#f1f1f1}.filter-values::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.printcard-page-wrapper .pagination{display:flex;justify-content:center;align-items:center;gap:10px;background:transparent;position:static;border:none;box-shadow:none;border-radius:0;padding:0;height:auto;z-index:auto;flex-shrink:0}.printcard-page-wrapper .pagination button{padding:8px 16px;border:1px solid #667eea;background:white;cursor:pointer;border-radius:6px;font-size:14px;font-weight:600;color:#667eea;transition:all .3s ease;min-width:70px;position:relative;z-index:101;pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center}.printcard-page-wrapper .pagination button:enabled:hover{background:#667eea;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.printcard-page-wrapper .pagination button:disabled{opacity:.4;cursor:not-allowed;background:#f8f9fa!important;color:#6c757d!important;border-color:#dee2e6!important;pointer-events:none;transform:none!important;box-shadow:none!important}.printcard-page-wrapper #pageInfo{font-size:14px;font-weight:600;color:#333;background:#f8f9fa;border-radius:6px;padding:8px 16px;white-space:nowrap}.printcard-page-wrapper .preview-wrap{width:560px!important;min-width:320px!important;max-width:600px!important;flex-shrink:0!important;display:flex!important;flex-direction:column!important;background:#fafafa!important;border-left:1px solid #e0e0e0!important;margin:0!important;padding:0!important;position:relative!important;height:100vh!important;font-family:Times New Roman,Times,serif!important}.printcard-page-wrapper .preview-header{padding:0 12px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-bottom:1px solid #e0e0e0;height:50px;display:flex;align-items:center;flex-shrink:0;box-sizing:border-box;font-family:Times New Roman,Times,serif!important}.preview-header>div{display:flex;flex-direction:row;gap:12px;align-items:center;width:100%;justify-content:space-between}.printcard-page-wrapper .selected-count{color:#000;font-size:12px;text-align:center;flex:1}.selected-count span{font-size:18px;font-weight:700;color:#3700ff}.printcard-page-wrapper .selected-table-controls{display:flex;flex-direction:row;gap:8px}.selected-table-controls button{padding:6px 12px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-family:inherit!important;transition:all .2s ease;width:auto;min-width:100px;white-space:nowrap}.selected-table-controls button:hover{background:#5a6268;transform:translateY(-1px)}.actions button.primary{padding:8px;background:linear-gradient(135deg,#28a745 0%,#20c997 100%);color:#fff;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:600;font-family:inherit!important;transition:all .2s ease;box-shadow:0 2px 8px #28a74533;width:100%}.actions button.primary:hover:not(:disabled){background:linear-gradient(135deg,#218838 0%,#1ba085 100%);transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.actions button.primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.printcard-page-wrapper .pages{flex:1;overflow:auto;padding:12px;background:#ececec;font-family:Times New Roman,Times,serif!important;min-height:0}.printcard-page-wrapper .preview-page{background:#fff;width:210mm;height:297mm;padding:10mm;box-shadow:0 4px 8px #0000001a;border-radius:15px;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,1fr);gap:5mm;transform:scale(.67);transform-origin:top center;position:relative;margin-bottom:-360px}.printcard-page-wrapper .preview-card-container{display:flex;align-items:center;justify-content:center;position:relative}.printcard-page-wrapper .empty-state{text-align:center;padding:40px 20px;color:#6c757d;font-family:inherit!important}.printcard-page-wrapper .preview-cards{display:flex;flex-direction:column;gap:8px;align-items:center;width:100%}.printcard-page-wrapper .preview-navigation{display:flex;justify-content:center;align-items:center;gap:12px}.printcard-page-wrapper .preview-nav-btn{padding:8px 16px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;transition:all .2s ease;pointer-events:auto;position:relative;z-index:10}.preview-nav-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8 0%,#6a4190 100%);transform:translateY(-1px)}.preview-nav-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.printcard-page-wrapper .preview-page-info{color:#6c757d;font-size:14px;font-weight:500}.printcard-page-wrapper .preview-footer{padding:12px 16px;background:#f8f9fa;border-top:1px solid #e9ecef;color:#6c757d;font-size:14px;bottom:50px;font-family:Times New Roman,Times,serif!important;height:50px;flex-shrink:0;box-sizing:border-box;display:flex!important;align-items:center;justify-content:space-between;gap:16px;position:relative;z-index:10}.printcard-page-wrapper .footer-info{display:flex;align-items:center}.printcard-page .preview-footer .footer-info{text-align:center!important;display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important}.printcard-page .preview-footer .footer-info span{text-align:center!important;display:block!important;width:100%!important}.background-blur{position:absolute;left:50%;top:52%;width:8cm;height:auto;transform:translate(-50%,-50%);-o-object-fit:contain;object-fit:contain;opacity:.2;z-index:0;pointer-events:none;max-width:135%;max-height:135%}.card-slot{width:8.5cm;height:5.4cm;box-sizing:border-box;display:flex;align-items:center;justify-content:center;margin:.5cm .3cm;float:left;border:none;border-radius:2mm;background:transparent}.card-slot.has-card{border:1.5px dashed #333;position:relative}.card-font-controls{position:absolute;top:100px;left:5px;right:5px;display:flex!important;justify-content:space-between;align-items:center;z-index:999;width:calc(100% - 117px);pointer-events:auto!important;height:25px;background:rgba(255,255,255,.1);border-radius:4px}.card-font-controls button{pointer-events:auto!important;cursor:pointer!important}.card-remove-btn{position:absolute;top:0;right:0;width:30px;height:30px;border:2px solid #dc3545;background:rgba(220,53,69,.9);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;line-height:1;box-shadow:0 2px 6px #0000004d;transition:all .2s ease;z-index:1001;pointer-events:auto}.card-remove-btn:hover{background:rgba(185,28,28,.95);transform:scale(1.1);border-color:#b91c1c}.card-remove-btn:active{transform:scale(.95)}.card-font-controls .font-control-btn{pointer-events:auto}@media print{.card-font-controls,.card-remove-btn{display:none!important}}.font-control-btn{width:24px!important;height:24px!important;border:2px solid #333!important;background:rgba(255,255,255,.95)!important;border-radius:50%!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:14px!important;font-weight:700!important;color:#333!important;line-height:1!important;box-shadow:0 2px 6px #0000004d!important;transition:all .2s ease!important;z-index:1000!important;pointer-events:auto!important;position:relative!important}.font-control-btn:hover{background:rgba(240,240,240,.95);transform:scale(1.1);border-color:#000}.font-control-btn:active{transform:scale(.95);background:rgba(220,220,220,.95)}.id-card-container{width:8.3cm;height:5.2cm;box-sizing:border-box;padding:2mm;border:1.2px solid #333;border-radius:2mm;background:#fff;position:relative;overflow:hidden;display:flex;flex-direction:row;align-items:stretch;justify-content:space-between;margin:0 auto;font-family:Times New Roman,Times,serif!important}.id-left,.id-center,.id-right{position:absolute;top:0;bottom:0}.id-left{left:0;width:16%;height:100%}.id-right{right:0;width:35%;height:100%;align-items:center}.qr-cccd{position:static;width:50px;height:50px;margin:0 auto 2px;display:block}.label-cccd{position:static;font-size:1em;color:#b71c1c;font-weight:500;text-align:center;margin-top:2px}.qr-msnv{position:static;width:50px;height:50px;margin:0 auto 2px;display:block}.msnv-label{position:static;font-size:1em;color:#b71c1c;font-weight:500;text-align:center;margin-top:2px}.field-name{position:absolute;top:45%;left:0;width:calc(72% - 20px);padding:0 10px;transform:translateY(-50%);text-align:center;font-size:1.2em;font-weight:700;letter-spacing:.1px;color:#181818;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.field-name span.name-fit{display:inline-block;width:100%;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:inherit;text-align:center}.field-id{position:absolute;top:62%;left:0;width:calc(72% - 20px);padding:0 10px;transform:translateY(-50%);text-align:center;font-size:1.5em;font-weight:400;letter-spacing:.5px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.field-id span{display:inline-block;width:100%;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:inherit;text-align:center}.dept{position:absolute;bottom:18px;left:11%;width:calc(65% - 20px);padding:0 10px;text-align:center;font-size:1.2em;color:#222;font-weight:500;line-height:1.2}.company-logo{position:absolute;top:-5px;right:25px;width:60px;height:auto;-webkit-text-emphasis:center;text-emphasis:center;-o-object-fit:contain;object-fit:contain}.company-name{position:absolute;top:45px;right:0;width:108px;height:18px;background:#1565c0;color:#fff;font-size:.5em;font-weight:700;letter-spacing:.1px;text-align:center;border-radius:6px;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 8px #e3eaf7}.avatar{position:absolute;bottom:2px;right:2px;width:2.76cm;height:3.37cm;-o-object-fit:cover;object-fit:cover;border-radius:2mm;border:1px solid #aaa;background:#eee}.qr-cccd-wrap{padding:2px;margin:3px;display:flex;flex-direction:column;align-items:center;width:-moz-fit-content;width:fit-content}.qr-msnv-wrap{padding:2px;margin:3px;display:flex;flex-direction:column;align-items:center;width:-moz-fit-content;width:fit-content;position:absolute;left:0;bottom:-4px}.qr-cccd-wrap img,.qr-msnv-wrap img{border:1px solid #888;border-radius:6px;display:block;margin:0;padding:2px;width:1cm;height:1cm}.label-cccd,.msnv-label{text-align:center;margin-top:2px;font-size:.8em}.printcard-page-wrapper .print-preview-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;display:flex;align-items:center;justify-content:center;font-family:Times New Roman,Times,serif!important}.printcard-page-wrapper .print-preview-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.printcard-page-wrapper .print-preview-container{position:relative;width:90vw;height:90vh;max-width:1200px;background:white;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;overflow:hidden}.printcard-page-wrapper .print-preview-header{padding:16px 24px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.print-preview-header h3{margin:0;font-size:18px;font-weight:600}.printcard-page-wrapper .close-btn{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s ease}.close-btn:hover{background:rgba(255,255,255,.2)}.printcard-page-wrapper .print-preview-content{flex:1;overflow:auto;background:#ececec;padding:20px}.printcard-page-wrapper .print-preview-pages{display:flex;flex-direction:column;gap:20px;align-items:center}.print-preview-modal .preview-page{transform:scale(.8);margin-bottom:-200px}.printcard-page-wrapper .print-preview-footer{padding:16px 24px;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.printcard-page-wrapper .print-info{color:#6c757d;font-size:14px}.printcard-page-wrapper .print-actions{display:flex;gap:12px}.printcard-page-wrapper .cancel-btn{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.cancel-btn:hover{background:#5a6268}.printcard-page-wrapper .print-btn{padding:10px 20px;background:linear-gradient(135deg,#28a745 0%,#20c997 100%);color:#fff;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;transition:all .2s ease;box-shadow:0 2px 8px #28a74533}.print-btn:hover{background:linear-gradient(135deg,#218838 0%,#1ba085 100%);transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}.printcard-page-wrapper .print-preview-modal{animation:modalFadeIn .3s ease-out}.printcard-page-wrapper .print-preview-container{animation:modalSlideIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.printcard-page-wrapper .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.printcard-page-wrapper .modal-content{background:white;border-radius:8px;box-shadow:0 10px 30px #0000004d;max-width:500px;width:90%;max-height:90vh;overflow:hidden;animation:modalAppear .2s ease-out}@keyframes modalAppear{0%{opacity:0;transform:scale(.9) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.printcard-page-wrapper .modal-header{padding:20px 24px 16px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.printcard-page-wrapper .modal-body{padding:24px;color:#374151;line-height:1.5}.modal-body p{margin:0 0 16px}.modal-body p:last-child{margin-bottom:0}.modal-body .text-secondary{font-size:14px;color:#6b7280}.printcard-page-wrapper .modal-footer{padding:16px 24px 24px;display:flex;gap:12px;justify-content:flex-end;background:#f9fafb;border-top:1px solid #e5e7eb}.printcard-page-wrapper .btn-secondary{padding:8px 16px;border:1px solid #d1d5db;background:white;color:#374151;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f3f4f6;border-color:#9ca3af}.printcard-page-wrapper .btn-primary{padding:8px 16px;border:1px solid #3b82f6;background:#3b82f6;color:#fff;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{background:#2563eb;border-color:#2563eb}.printcard-page-wrapper .loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.empty-state svg{opacity:.3;margin-bottom:16px}.empty-state p{margin:0;font-size:16px;font-family:inherit!important}.printcard-page-wrapper .text-center{text-align:center}.printcard-page-wrapper .text-left{text-align:left}.printcard-page-wrapper .text-right{text-align:right}.printcard-page-wrapper .font-bold{font-weight:700}.printcard-page-wrapper .font-medium{font-weight:500}.printcard-page-wrapper .font-normal{font-weight:400}.printcard-page-wrapper .text-primary{color:#667eea}.printcard-page-wrapper .text-secondary{color:#6c757d}.printcard-page-wrapper .text-success{color:#28a745}.printcard-page-wrapper .text-danger{color:#dc3545}.printcard-page-wrapper .text-warning{color:#ffc107}.printcard-page-wrapper .text-info{color:#17a2b8}.printcard-page-wrapper .bg-primary{background-color:#667eea}.printcard-page-wrapper .bg-secondary{background-color:#6c757d}.printcard-page-wrapper .bg-success{background-color:#28a745}.printcard-page-wrapper .bg-danger{background-color:#dc3545}.printcard-page-wrapper .bg-warning{background-color:#ffc107}.printcard-page-wrapper .bg-info{background-color:#17a2b8}.printcard-page-wrapper .mb-0{margin-bottom:0}.printcard-page-wrapper .mb-1{margin-bottom:4px}.printcard-page-wrapper .mb-2{margin-bottom:8px}.printcard-page-wrapper .mb-3{margin-bottom:12px}.printcard-page-wrapper .mb-4{margin-bottom:16px}.printcard-page-wrapper .mb-5{margin-bottom:20px}.printcard-page-wrapper .mt-0{margin-top:0}.printcard-page-wrapper .mt-1{margin-top:4px}.printcard-page-wrapper .mt-2{margin-top:8px}.printcard-page-wrapper .mt-3{margin-top:12px}.printcard-page-wrapper .mt-4{margin-top:16px}.printcard-page-wrapper .mt-5{margin-top:20px}.printcard-page-wrapper .p-0{padding:0}.printcard-page-wrapper .p-1{padding:4px}.printcard-page-wrapper .p-2{padding:8px}.printcard-page-wrapper .p-3{padding:12px}.printcard-page-wrapper .p-4{padding:16px}.printcard-page-wrapper .p-5{padding:20px}@media (max-width: 1400px){.th-cell span{font-size:12px}.printcard-page-wrapper .filter-btn{font-size:10px;padding:2px 4px}.printcard-page-wrapper .preview-page{transform:scale(.5);margin-bottom:-70px}.printcard-page-wrapper .preview-wrap{width:500px!important}.printcard-page-wrapper .left{width:calc(100% - 500px)!important}}@media (max-width: 1200px){.printcard-page-wrapper .th-cell{padding:6px 8px;min-height:40px}.th-cell span{font-size:11px}.printcard-page-wrapper .filter-menu{min-width:200px}.printcard-page-wrapper .preview-page{transform:scale(.45);margin-bottom:-80px}.printcard-page-wrapper .preview-wrap{width:450px!important}.printcard-page-wrapper .left{width:calc(100% - 450px)!important}}@media (max-width: 1024px){.printcard-page-wrapper .th-cell{padding:4px 6px;min-height:36px}.th-cell span{font-size:10px}.printcard-page-wrapper .filter-btn{padding:1px 3px}.printcard-page-wrapper .filter-menu{min-width:180px;max-width:250px}.printcard-page-wrapper .filter-menu{right:auto!important;left:0!important;transform:none!important}.printcard-page-wrapper .shell{flex-direction:column!important;height:auto!important}.printcard-page-wrapper .left{width:100%!important;height:60vh!important}.printcard-page-wrapper .preview-wrap{width:100%!important;height:40vh!important}.printcard-page-wrapper .preview-page{transform:scale(.3);margin-bottom:-120px}.printcard-page-wrapper .pages{height:calc(40vh - 100px)!important}}@media (max-width: 768px){.printcard-page-wrapper .font-control-btn{width:20px!important;height:20px!important;font-size:12px!important}.printcard-page-wrapper .card-remove-btn{width:18px!important;height:18px!important;font-size:10px!important}.printcard-page-wrapper .preview-navigation{flex-wrap:wrap;gap:8px}.printcard-page-wrapper .preview-nav-btn{padding:6px 12px;font-size:11px}.printcard-page-wrapper .print-preview-container{width:95vw;height:95vh}.print-preview-modal .preview-page{transform:scale(.4);margin-bottom:-300px}.printcard-page-wrapper .print-actions{flex-direction:column;gap:8px}.printcard-page-wrapper .cancel-btn,.printcard-page-wrapper .print-btn{width:100%;justify-content:center}.printcard-page-wrapper .pane-footer{flex-direction:column;height:auto;gap:8px;padding:8px}.printcard-page-wrapper .footer-left,.printcard-page-wrapper .footer-right,.printcard-page-wrapper .footer-center{flex:none;width:100%;justify-content:center;text-align:center}.printcard-page-wrapper .pagination{gap:8px}.printcard-page-wrapper .pagination button{padding:6px 12px;font-size:12px;min-width:60px}.printcard-page-wrapper #pageInfo{font-size:12px;padding:6px 12px}}.printcard-page-wrapper .mobile-tab-switcher{display:none}@media (max-width: 1024px){.printcard-page-wrapper .mobile-tab-switcher{display:flex!important;position:sticky;top:0;z-index:100;background:white;border-bottom:2px solid #e0e0e0;height:51px;flex-shrink:0}.printcard-page-wrapper .tab-btn{flex:1;padding:12px;background:#f5f5f5;border:none;border-bottom:3px solid transparent;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease}.printcard-page-wrapper .tab-btn.active{background:white;color:#667eea;border-bottom-color:#667eea}.printcard-page-wrapper .left,.printcard-page-wrapper .preview-wrap{display:none!important}.printcard-page-wrapper .left.active,.printcard-page-wrapper .preview-wrap.active{display:flex!important}.printcard-page-wrapper .left.active{width:100%!important;height:calc(100vh - 101px)!important;overflow:hidden!important;flex-direction:column!important}.printcard-page-wrapper .left.active .pane.list{flex-direction:column!important;height:100%!important;overflow:hidden!important}.printcard-page-wrapper .left.active .pane-title{position:sticky!important;top:0!important;z-index:200!important;flex-wrap:wrap!important}.printcard-page-wrapper .left.active .table-wrap{flex:1!important;overflow-x:auto!important;overflow-y:auto!important;z-index:1!important}.printcard-page-wrapper .left.active .table-wrap .filter-menu{z-index:10000!important}.printcard-page-wrapper .left.active .pane-footer{position:sticky!important;bottom:0!important;z-index:200!important;background:#f8f9fa!important}.printcard-page-wrapper .preview-wrap.active{width:100%!important;height:calc(100vh - 101px)!important;overflow:visible!important}.printcard-page-wrapper .preview-wrap.active .preview-header{flex-direction:column!important;height:auto!important;padding:12px!important;align-items:stretch!important}.printcard-page-wrapper .preview-wrap.active .preview-header>div{flex-direction:column!important;gap:px!important;width:100%!important;align-items:stretch!important;justify-content:flex-start!important}.printcard-page-wrapper .preview-wrap.active .selected-count{order:1!important;width:100%!important;text-align:center!important;font-size:16px!important;font-weight:600!important;flex:none!important}.printcard-page-wrapper .preview-wrap.active .selected-table-controls{order:2!important;width:100%!important;display:flex!important;flex-direction:row!important;justify-content:center!important;gap:8px!important;flex-wrap:nowrap!important;flex:none!important}.printcard-page-wrapper .preview-wrap.active .selected-table-controls button{flex:1!important;max-width:200px!important}.printcard-page-wrapper .preview-wrap.active .actions{order:3!important;width:100%!important;flex:none!important}.printcard-page-wrapper .preview-wrap.active .actions button{width:100%!important}.printcard-page-wrapper .preview-wrap.active .preview-page{transform:scale(.45)!important;margin-bottom:-80px!important}.printcard-page-wrapper .preview-wrap.active .pages{height:calc(100vh - 221px)!important;overflow-y:auto!important}}@media (max-width: 768px){.printcard-page-wrapper .left.active .pane-title{height:auto!important;padding:8px 12px!important}.printcard-page-wrapper .left.active .title-left{order:1!important;width:100%!important;margin-bottom:8px!important}.printcard-page-wrapper .left.active .title-right{order:2!important;width:100%!important;justify-content:flex-start!important}.printcard-page-wrapper .preview-wrap.active .preview-page{transform:scale(.38)!important}.printcard-page-wrapper .grid th:nth-child(4),.printcard-page-wrapper .grid td:nth-child(4),.printcard-page-wrapper .grid th:nth-child(5),.printcard-page-wrapper .grid td:nth-child(5){display:none!important}}@media (max-width: 480px){.printcard-page-wrapper .preview-wrap.active .preview-page{transform:scale(.56)!important}.printcard-page-wrapper .preview-footer{bottom:0!important}}.ac-wrapper,.ac-header,.ac-stats-bar{position:relative;z-index:1!important}.ac-filter-panel{position:relative;z-index:10!important}.ac-data-table-container,.ac-attendance-table,.ac-attendance-table thead,.ac-attendance-table tbody,.ac-loading-overlay{position:relative;z-index:1!important}body{overflow:visible!important;position:relative!important;z-index:auto!important}.ac-wrapper{min-height:100vh;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);padding:10px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:visible}.ac-header{display:flex;justify-content:space-between;align-items:center;background:white;padding:20px 30px;border-radius:15px;box-shadow:0 4px 20px #0000001a;margin-bottom:10px;border:1px solid #e1e5e9}.ac-header-left{display:flex;flex-direction:column;gap:10px}.ac-page-title{display:flex;align-items:center;gap:12px}.ac-title-icon{color:#2563eb;width:28px;height:28px;flex-shrink:0}.ac-page-title h1{font-size:28px;font-weight:700;color:#1f2937;margin:0;background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ac-update-info{display:flex;align-items:center;gap:15px}.ac-last-update{font-size:14px;color:#6b7280;font-weight:500}.ac-auto-refresh-indicator{display:flex;align-items:center;gap:6px;font-size:13px;color:#059669;font-weight:500}.ac-refresh-dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:ac-pulse 2s infinite}@keyframes ac-pulse{0%,to{opacity:1}50%{opacity:.5}}.ac-header-controls{display:flex;align-items:center;gap:15px}.ac-date-picker,.ac-date-range-picker{display:flex;align-items:center;gap:8px;background:#f8fafc;padding:10px 15px;border-radius:10px;border:2px solid #e2e8f0;transition:all .3s ease;box-sizing:border-box}.ac-date-picker:focus-within,.ac-date-range-picker:focus-within{border-color:#2563eb;background:white;box-shadow:0 0 0 3px #2563eb1a}.ac-date-inputs{display:flex;gap:15px;align-items:center;flex:1;min-width:0;box-sizing:border-box}.ac-date-input-group{display:flex;flex-direction:column;gap:4px}.ac-date-input-group label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.ac-calendar-icon{color:#64748b;width:18px;height:18px}.ac-date-input{border:none;background:transparent;font-size:14px;font-weight:500;outline:none;box-sizing:border-box;flex-shrink:1}.ac-filter-toggle-btn,.ac-auto-refresh-btn,.ac-manual-refresh-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;background:white}.ac-mobile-filter-btn{display:none}.ac-filter-toggle-btn{border-color:#7c3aed;color:#7c3aed}.ac-filter-toggle-btn:hover{background:#7c3aed;color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #7c3aed4d}.ac-auto-refresh-btn{border-color:#059669;color:#059669}.ac-auto-refresh-btn.active{background:#059669;color:#fff;box-shadow:0 4px 15px #0596694d}.ac-auto-refresh-btn:hover:not(.active){background:#059669;color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #0596694d}.ac-manual-refresh-btn{border-color:#2563eb;color:#2563eb}.ac-manual-refresh-btn:hover:not(:disabled){background:#2563eb;color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #2563eb4d}.ac-manual-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.ac-spinning{animation:ac-spin 1s linear infinite}@keyframes ac-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ac-filter-panel{background:white;padding:20px 30px;border-radius:15px;box-shadow:0 4px 20px #0000001a;margin-bottom:10px;border:1px solid #e1e5e9;position:relative;z-index:10!important;overflow:visible!important;width:100%;box-sizing:border-box}.ac-filter-grid{display:flex;align-items:end;gap:20px;flex-wrap:wrap;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.ac-filter-row{display:contents}.ac-filter-item{display:flex;flex-direction:column;gap:1px;flex:1;min-width:200px;max-width:100%;box-sizing:border-box}.ac-filter-item label{font-weight:600;font-size:14px}.ac-filter-item input{padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;background:#f9fafb;transition:all .3s ease}.ac-filter-item input:focus{outline:none;border-color:#2563eb;background:white;box-shadow:0 0 0 3px #2563eb1a}.ac-filter-select{padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;background:#f9fafb;transition:all .3s ease;cursor:pointer}.ac-filter-select:focus{outline:none;border-color:#2563eb;background:white;box-shadow:0 0 0 3px #2563eb1a}.ac-multi-select-container{position:relative;width:100%;z-index:1000!important;isolation:isolate}.ac-multi-select-container.dropdown-open{z-index:999999999!important}.ac-multi-select-display{min-height:42px;padding:8px 12px;border:2px solid #e5e7eb;border-radius:8px;background:#f9fafb;cursor:pointer;transition:all .3s ease;position:relative;z-index:1;display:flex;align-items:center;gap:8px;font-size:14px;overflow:hidden}.ac-multi-select-container.dropdown-active .ac-multi-select-display{z-index:-1}.ac-multi-select-container.dropdown-active .ac-multi-select-dropdown{z-index:999999999!important}.ac-multi-select-display:hover{border-color:#d1d5db;background:white}.ac-multi-select-display:focus-within{border-color:#2563eb;background:white;box-shadow:0 0 0 3px #2563eb1a}.ac-placeholder{color:#9ca3af;font-style:italic;display:flex;align-items:center;min-height:24px;font-size:14px}.ac-selected-items{display:flex;flex-wrap:nowrap;gap:6px;min-height:24px;align-items:center;overflow:hidden;max-width:100%}.ac-selected-item{display:inline-flex;align-items:center;gap:6px;background:#dbeafe;border:1px solid #2563eb;color:#1e40af;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.ac-selected-more{display:inline-flex;align-items:center;background:#f3f4f6;border:1px solid #d1d5db;color:#6b7280;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:background-color .2s ease}.ac-selected-more:hover{background:#e5e7eb;color:#374151}.ac-remove-item{background:none;border:none;color:#ef4444;font-size:16px;font-weight:700;cursor:pointer;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.ac-remove-item:hover{background-color:#fee2e2}.ac-multi-select-wrapper{position:relative;z-index:999999!important;isolation:isolate}.ac-multi-select-container .ac-multi-select-dropdown,.ac-multi-select-wrapper .ac-multi-select-dropdown{z-index:999999!important}.ac-multi-select-dropdown{position:absolute!important;top:calc(100% + 2px)!important;left:0!important;right:0!important;background:white!important;border:2px solid #e5e7eb!important;border-radius:8px!important;max-height:300px!important;overflow-y:auto!important;z-index:999999999!important;opacity:0!important;visibility:hidden!important;transform:translateY(-10px) translateZ(0)!important;transition:all .3s ease!important;min-width:180px!important;pointer-events:auto!important;box-shadow:0 8px 25px #00000026!important;will-change:transform,opacity!important}.ac-multi-select-wrapper,.ac-filter-row-1,.ac-filter-row-2,.ac-filter-row-3,.ac-filter-grid{overflow:visible!important}.ac-multi-select-dropdown:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;pointer-events:none}.ac-multi-select-dropdown.ac-show{opacity:1!important;visibility:visible!important;transform:translateY(0) translateZ(0)!important;z-index:999999999!important}@media (max-width: 768px){.ac-multi-select-container,.ac-multi-select-wrapper{position:relative!important;z-index:999999!important}.ac-selected-item{max-width:120px;font-size:11px;padding:3px 6px}.ac-selected-more{font-size:11px;padding:3px 6px}.ac-multi-select-display{min-height:36px;padding:6px 8px;font-size:13px}.ac-multi-select-dropdown{position:absolute!important;top:100%!important;left:0!important;right:0!important;max-height:40vh!important;border-radius:12px!important;margin-top:4px!important;box-shadow:0 10px 40px #00000040!important;z-index:999999999!important}.ac-multi-select-dropdown.ac-show{transform:translateY(0)!important}.ac-multi-select-dropdown.ac-position-below{top:var(--dropdown-top, 50%)!important}.ac-multi-select-dropdown.ac-position-above{bottom:var(--dropdown-bottom, 50%)!important;top:auto!important}.ac-multi-select-dropdown.ac-position-center{top:50%!important;transform:translateY(-50%)!important}.ac-multi-select-dropdown:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);z-index:-1;pointer-events:none}.ac-filter-panel,.ac-filter-grid,.ac-filter-row-1,.ac-filter-row-2,.ac-filter-row-3{overflow:visible!important;position:relative!important}}.ac-checkbox-item{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid #f3f4f6;background-color:transparent!important;background:none!important}.ac-checkbox-item,.ac-checkbox-item:link,.ac-checkbox-item:visited,.ac-checkbox-item:focus,.ac-checkbox-item:active,.ac-checkbox-item:target,.ac-checkbox-item[style]{background:transparent!important;background-color:transparent!important;background-image:none!important}.ac-checkbox-item:last-child{border-bottom:none}.ac-checkbox-item:hover{background-color:#f9fafb!important;background:#f9fafb!important}.ac-checkbox-item input[type=checkbox]{margin:0;cursor:pointer;accent-color:#2563eb}.ac-checkbox-item span{flex:1;font-size:14px}.ac-select-all{background-color:transparent!important;background:none!important;border-bottom:2px solid #e5e7eb;font-weight:600}.ac-select-all,.ac-select-all:link,.ac-select-all:visited,.ac-select-all:focus,.ac-select-all:active,.ac-select-all:target,.ac-select-all[style]{background:transparent!important;background-color:transparent!important;background-image:none!important}.ac-select-all:hover{background-color:#f1f5f9!important;background:#f1f5f9!important}.ac-select-all span{color:#1f2937}.ac-dropdown-divider{height:1px;background-color:#e5e7eb;margin:4px 0}.ac-empty-option{background-color:transparent!important;background:none!important;border-top:1px solid #f59e0b;border-bottom:1px solid #f59e0b}.ac-empty-option,.ac-empty-option:link,.ac-empty-option:visited,.ac-empty-option:focus,.ac-empty-option:active,.ac-empty-option:target,.ac-empty-option[style]{background:transparent!important;background-color:transparent!important;background-image:none!important}.ac-empty-option:hover{background-color:#fef3c7!important;background:#fef3c7!important}.ac-empty-option span{color:#92400e;font-style:italic}.ac-multi-select-dropdown .ac-checkbox-item,.ac-multi-select-dropdown .ac-select-all,.ac-multi-select-dropdown .ac-empty-option,.ac-multi-select-dropdown label,.ac-multi-select-dropdown .ac-checkbox-item *,.ac-multi-select-dropdown .ac-select-all *,.ac-multi-select-dropdown .ac-empty-option *{background-color:transparent!important;background:none!important;background-image:none!important}.ac-multi-select-dropdown label{background-color:transparent!important;background:transparent!important;background-image:none!important;color:inherit!important}.ac-multi-select-dropdown *[class]{background-color:transparent!important;background:none!important}.ac-multi-select-dropdown .ac-checkbox-item:before,.ac-multi-select-dropdown .ac-checkbox-item:after,.ac-multi-select-dropdown .ac-select-all:before,.ac-multi-select-dropdown .ac-select-all:after,.ac-multi-select-dropdown .ac-empty-option:before,.ac-multi-select-dropdown .ac-empty-option:after,.ac-multi-select-dropdown label:before,.ac-multi-select-dropdown label:after{background-color:transparent!important;background:none!important;content:none!important;display:none!important}.ac-multi-select-dropdown .ac-checkbox-item:active,.ac-multi-select-dropdown .ac-checkbox-item:focus,.ac-multi-select-dropdown .ac-checkbox-item:visited,.ac-multi-select-dropdown .ac-select-all:active,.ac-multi-select-dropdown .ac-select-all:focus,.ac-multi-select-dropdown .ac-select-all:visited,.ac-multi-select-dropdown .ac-empty-option:active,.ac-multi-select-dropdown .ac-empty-option:focus,.ac-multi-select-dropdown .ac-empty-option:visited,.ac-multi-select-dropdown label:active,.ac-multi-select-dropdown label:focus,.ac-multi-select-dropdown label:visited{background-color:transparent!important;background:none!important}.ac-multi-select-dropdown .ac-checkbox-item:hover,.ac-multi-select-dropdown .ac-select-all:hover{background-color:#f9fafb!important;background:#f9fafb!important}.ac-loading-option{padding:10px 12px;text-align:center;color:#9ca3af;font-style:italic;font-size:14px}.ac-multi-select-dropdown *,.ac-multi-select-dropdown *:before,.ac-multi-select-dropdown *:after{background-color:transparent!important;background:transparent!important;background-image:none!important}.ac-multi-select-dropdown{background-color:#fff!important;background:white!important}.ac-multi-select-dropdown>*,.ac-multi-select-dropdown label,.ac-multi-select-dropdown .ac-checkbox-item,.ac-multi-select-dropdown .ac-select-all,.ac-multi-select-dropdown .ac-empty-option{background-color:transparent!important;background:none!important;background-image:none!important}.ac-multi-select-dropdown *:not(:hover),.ac-multi-select-dropdown *:not(.ac-checkbox-item:hover),.ac-multi-select-dropdown *:not(.ac-select-all:hover),.ac-multi-select-dropdown *:not(.ac-empty-option:hover){background:none!important;background-color:transparent!important}.ac-multi-select-dropdown [style*=background]{background:transparent!important;background-color:transparent!important}.ac-multi-select-dropdown *:nth-child(odd),.ac-multi-select-dropdown *:nth-child(2n),.ac-multi-select-dropdown *:nth-of-type(odd),.ac-multi-select-dropdown *:nth-of-type(2n){background-color:transparent!important;background:none!important}.ac-multi-select-dropdown .ac-checkbox-item:hover{background-color:#f9fafb!important;background:#f9fafb!important}.ac-multi-select-dropdown .ac-select-all:hover{background-color:#f1f5f9!important;background:#f1f5f9!important}.ac-multi-select-dropdown .ac-empty-option:hover{background-color:#fef3c7!important;background:#fef3c7!important}.ac-pagination-container{display:flex;justify-content:space-between;align-items:center;padding:20px;background:white;border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:15px}.ac-pagination-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:white;border:1px solid #e1e5e9;border-top:none;border-radius:0 0 15px 15px;box-shadow:0 4px 20px #0000001a;flex-wrap:wrap;gap:15px;max-width:100%;box-sizing:border-box}.ac-pagination-info{display:flex;align-items:center;gap:15px;font-size:14px;color:#6b7280}.ac-items-per-page{display:flex;align-items:center;gap:8px}.ac-page-size-select{padding:8px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;background:white;cursor:pointer;min-width:120px;transition:all .2s ease}.ac-page-size-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.ac-page-size-select:hover{border-color:#9ca3af}.ac-pagination-controls{display:flex;align-items:center;gap:8px;max-width:100%;box-sizing:border-box}.ac-pagination-btn{padding:8px 12px;border:1px solid #d1d5db;background:white;font-size:14px;border-radius:6px;cursor:pointer;transition:all .2s ease;min-width:40px;display:flex;align-items:center;justify-content:center}.ac-pagination-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.ac-pagination-btn:disabled{opacity:.5;cursor:not-allowed;background:#f9fafb;color:#9ca3af}.ac-pagination-active{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important}.ac-pagination-active:hover{background:#1d4ed8!important}.ac-pagination-pages{display:flex;align-items:center;gap:4px;max-width:100%;flex-wrap:wrap;justify-content:center}.ac-pagination-ellipsis{padding:8px 4px;color:#9ca3af;font-size:14px}.ac-pagination-jump{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280}.ac-page-jump-input{width:60px;padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;text-align:center;font-size:14px}.ac-page-jump-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.ac-pagination-footer.ac-single-page{justify-content:space-between}.ac-single-page-info{display:flex;align-items:center;font-size:14px;color:#6b7280;font-weight:500}.ac-unknown-machine{color:#f59e0b!important;font-style:italic}.ac-machine-status{font-size:11px;color:#ef4444;font-weight:500;margin-left:4px}.ac-employee-avatar{width:28px;height:28px;border-radius:50%;-o-object-fit:cover;object-fit:cover;margin-right:8px;border:2px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;transition:all .2s ease}.ac-employee-avatar:hover{border-color:#2563eb;transform:scale(1.1);box-shadow:0 2px 8px #2563eb33}@media (max-width: 768px){.ac-pagination-container,.ac-pagination-footer{flex-direction:column;gap:15px;padding:15px 20px;max-width:100%;box-sizing:border-box}.ac-pagination-controls{flex-wrap:wrap;justify-content:center;max-width:100%}.ac-pagination-pages{order:3;flex-wrap:wrap;justify-content:center;max-width:100%}.ac-pagination-info{flex-direction:column;text-align:center;gap:10px;width:100%}.ac-items-per-page{justify-content:center;flex-wrap:wrap}}.ac-filter-actions{display:flex;align-items:end;justify-content:flex-end;margin-left:auto;flex-shrink:0;gap:10px}.ac-clear-filters-btn{padding:10px 16px;background:#ef4444;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.ac-clear-filters-btn:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 15px #ef44444d}.ac-export-excel-btn{padding:10px 16px;background:#059669;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px}.ac-export-excel-btn:hover{background:#047857;transform:translateY(-2px);box-shadow:0 4px 15px #0596694d}.ac-export-excel-btn:active{transform:translateY(0)}.ac-stats-bar{display:flex;gap:20px;background:white;padding:20px 30px;border-radius:15px;box-shadow:0 4px 20px #0000001a;margin-bottom:10px;border:1px solid #e1e5e9;align-items:center;width:100%;box-sizing:border-box;overflow:hidden}.ac-stats-desktop{display:flex;flex-wrap:nowrap;justify-content:space-between}.ac-stats-desktop .ac-stat-item{flex:1;min-width:0;max-width:none}.ac-stats-desktop .ac-stat-date-picker{flex:1.5;min-width:300px}.ac-stats-desktop .ac-stat-filter{flex:0 0 auto;margin-left:20px}.ac-stats-mobile{display:none}@media (max-width: 768px){.ac-stats-desktop{display:none}.ac-stats-mobile{display:flex;flex-direction:column;gap:15px}}.ac-stats-mobile-row{display:contents}.ac-stat-item{display:flex;flex-direction:column;gap:5px;text-align:center;flex:1;min-width:0;max-width:100%;box-sizing:border-box}.ac-stat-label{font-size:14px;color:#6b7280;font-weight:500}.ac-stat-value{font-size:24px;font-weight:700;color:#1f2937;background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ac-stat-filter{flex:none!important;margin-left:auto;text-align:right}.ac-stat-filter .ac-filter-toggle-btn{padding:12px;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;font-size:0}.ac-stat-filter .ac-filter-toggle-btn:hover{transform:translateY(-2px) scale(1.05)}.ac-stat-date-picker{flex:1.5!important;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;max-width:100%;box-sizing:border-box;justify-content:center}.ac-stat-date-picker .ac-stat-label{margin-bottom:8px}.ac-stat-date-picker .ac-date-range-picker{padding:8px 12px;border-radius:10px;transition:all .3s ease;display:flex;align-items:center;gap:8px;justify-content:center;width:auto;max-width:400px;min-width:280px;box-sizing:border-box}.ac-stat-date-picker .ac-calendar-icon{color:#6b7280;width:16px;height:16px;flex-shrink:0}.ac-stat-date-picker .ac-date-inputs{display:flex;gap:8px;align-items:center;flex:1;min-width:0}.ac-stat-date-picker .ac-date-separator{font-size:16px;font-weight:700;color:#1f2937;background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 4px;flex-shrink:0}.ac-stat-date-picker .ac-date-input{padding:4px 6px;border:none;border-radius:6px;font-size:14px;font-weight:700;color:#1f2937;background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-color:transparent;transition:all .2s ease;flex:1;min-width:90px;max-width:120px;text-align:center;box-sizing:border-box}.ac-stat-date-picker .ac-date-input::-moz-selection{background:rgba(37,99,235,.3);color:#1f2937;-webkit-text-fill-color:#1f2937}.ac-stat-date-picker .ac-date-input::selection{background:rgba(37,99,235,.3);color:#1f2937;-webkit-text-fill-color:#1f2937}.ac-stat-date-picker .ac-date-input::-moz-selection{background:rgba(37,99,235,.3);color:#1f2937}.ac-stat-date-picker .ac-date-input:focus{outline:none}.ac-data-table-container{background:white;border-radius:15px 15px 0 0;box-shadow:0 4px 20px #0000001a;overflow:hidden;border:1px solid #e1e5e9;position:relative;display:flex;flex-direction:column;max-height:74vh;z-index:1!important}.ac-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.9);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;z-index:1}.ac-loading-spinner{width:40px;height:40px;color:#2563eb;animation:ac-spin 1s linear infinite}.ac-attendance-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;position:relative;display:flex;flex-direction:column;height:100%}.ac-attendance-table thead{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;display:block;width:100%;padding-right:8px;box-sizing:border-box;z-index:1;position:relative}.ac-attendance-table thead tr{display:table;width:100%;table-layout:fixed}.ac-attendance-table th{padding:12px 8px;text-align:center;font-weight:600;font-size:13px;white-space:nowrap;border-right:1px solid rgba(255,255,255,.2);background:linear-gradient(135deg,#2563eb,#7c3aed);position:relative;box-sizing:border-box}.ac-attendance-table th:last-child{border-right:none}.ac-th-stt{min-width:60px;width:4%;text-align:center}.ac-th-employee-code{min-width:120px;width:8%;text-align:center}.ac-th-name{min-width:250px;width:20%;text-align:center}.ac-th-department{min-width:120px;width:10%;text-align:center}.ac-th-workshop{min-width:100px;width:8%;text-align:center}.ac-th-machine{min-width:130px;width:12%;text-align:center}.ac-th-date{min-width:100px;width:8%;text-align:center}.ac-th-count{min-width:80px;width:6%;text-align:center}.ac-th-time-1,.ac-th-time-2,.ac-th-time-3,.ac-th-time-4,.ac-th-time-5,.ac-th-time-6,.ac-th-time-7,.ac-th-time-8,.ac-th-time-9{min-width:90px;width:4.4%;text-align:center}.ac-th-time-10{min-width:82px;width:4.4%;text-align:center}.ac-attendance-table tbody{display:block;overflow-y:auto;flex:1;max-height:calc(74vh - 60px);width:100%}.ac-attendance-table tbody::-webkit-scrollbar{width:8px}.ac-attendance-table tbody::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.ac-attendance-table tbody::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.ac-attendance-table tbody::-webkit-scrollbar-thumb:hover{background:#94a3b8}.ac-attendance-table tbody tr{display:table;width:100%;table-layout:fixed;border-bottom:1px solid #f1f5f9;transition:all .3s ease}.ac-attendance-table tbody tr:hover{background:#f8fafc}.ac-attendance-table tbody tr:nth-child(2n){background:rgba(248,250,252,.5)}.ac-attendance-table tbody tr:nth-child(2n):hover{background:#f1f5f9}.ac-attendance-table td{padding:10px 6px;vertical-align:middle;border-right:1px solid #f1f5f9;box-sizing:border-box}.ac-attendance-table td:last-child{border-right:none}.ac-td-stt{min-width:60px;width:4%;text-align:center;font-weight:600;color:#6b7280}.ac-fingerprint-code{display:inline-block;background:#ddd6fe;color:#7c3aed;padding:4px 8px;border-radius:6px;font-weight:600;font-size:12px}.td-name{min-width:250px;width:20%;text-align:left;padding-left:10px!important;padding-right:6px!important}.ac-employee-info{display:flex;align-items:center;gap:8px}.ac-employee-info svg{color:#64748b}.ac-employee-name{font-weight:600;color:#1f2937}.td-employee-code{min-width:120px;width:8%;text-align:center}.ac-employee-code{display:inline-block;background:#bfdbfe;color:#2563eb;padding:4px 8px;border-radius:6px;font-weight:600;font-size:12px}.td-department{min-width:120px;width:10%;text-align:center}.td-workshop{min-width:100px;width:8%;text-align:center}.td-machine{min-width:130px;width:12%;text-align:center}.td-count{min-width:80px;width:6%;text-align:center}.ac-latest-time{font-weight:600;color:#059669;background:#d1fae5;padding:4px 8px;border-radius:6px;font-size:12px}.ac-check-count{display:inline-block;padding:4px 8px;border-radius:6px;font-weight:600;font-size:12px;min-width:30px;text-align:center}.ac-check-count.low{background:#fecaca;color:#dc2626}.ac-check-count.medium{background:#fed7aa;color:#ea580c}.ac-check-count.high{background:#bbf7d0;color:#059669}.ac-td-time{min-width:90px;width:4.4%;text-align:center}.ac-td-time-10{min-width:82px;width:4.4%;text-align:center}.ac-td-date{min-width:100px;width:8%;text-align:center;background-color:#f8fafc}.ac-check-time{display:inline-block;background:#e0f2fe;color:#0369a1;padding:3px 6px;border-radius:4px;font-weight:500;font-size:11px;white-space:nowrap}.ac-check-date{display:inline-block;background:#fef3c7;color:#92400e;padding:4px 6px;border-radius:4px;font-weight:600;font-size:11px}.ac-no-check{color:#9ca3af;font-weight:500}.ac-no-data{text-align:center;padding:40px;color:#6b7280;font-style:italic;font-size:16px}.ac-machine-ip{font-family:Courier New,monospace;font-size:12px;background:rgba(76,175,80,.1);border:1px solid rgba(76,175,80,.3);border-radius:4px;padding:4px 8px;color:#2e7d32;font-weight:500;display:inline-block}@media (max-width: 1400px){.ac-filter-grid{flex-wrap:nowrap}.ac-filter-item{min-width:220px}.ac-stats-bar{flex-wrap:wrap;gap:15px}.ac-stats-desktop .ac-stat-date-picker{min-width:250px}.ac-stat-item{min-width:150px}}@media (max-width: 1024px){.ac-header{flex-direction:column;align-items:stretch;gap:20px}.ac-header-controls{justify-content:space-between}.ac-filter-grid{flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px}.ac-filter-row{display:contents}.ac-filter-item{min-width:200px}.ac-stats-bar{flex-wrap:wrap;justify-content:center;gap:15px}.ac-stat-item{min-width:180px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;padding:15px;transition:all .3s ease}.ac-stat-item:hover:not(.ac-stat-filter){background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 10px #0000001a}.ac-stats-desktop{display:none}.ac-stats-mobile{display:flex;flex-direction:column;gap:15px}.ac-stats-mobile .ac-stat-date-picker{flex:1 1 100%;order:1;min-width:100%}.ac-stats-mobile .ac-stats-mobile-row{display:flex;gap:15px;order:2}.ac-attendance-table th{padding:10px 6px;font-size:12px}.ac-attendance-table td{padding:8px 4px;font-size:12px}.td-name{padding-left:8px!important;padding-right:4px!important}.ac-data-table-container{overflow-x:auto;max-height:60vh}.ac-attendance-table{min-width:1000px}}@media (max-width: 768px){.ac-wrapper{padding:8px}.ac-header,.ac-filter-panel,.ac-stats-bar{padding:15px 18px;width:100%;box-sizing:border-box}.ac-page-title h1{font-size:24px}.ac-header-controls{flex-wrap:wrap;gap:10px}.ac-mobile-filter-btn{display:flex!important}.ac-filter-grid{display:flex;flex-direction:column;gap:12px;align-items:stretch;width:100%;box-sizing:border-box}.ac-filter-row{display:flex!important;gap:12px;width:100%;box-sizing:border-box}.ac-filter-row-1{display:flex;gap:8px}.ac-filter-row-1 .ac-filter-item{flex:1;min-width:0;max-width:50%}.ac-filter-row-2{display:flex;gap:8px}.ac-filter-row-2 .ac-filter-item{flex:1;min-width:0;max-width:50%}.ac-filter-row-3{display:flex;gap:8px;align-items:end}.ac-filter-row-3 .ac-filter-item{flex:2;min-width:0}.ac-filter-row-3 .ac-filter-actions{flex:1;display:flex;align-items:end;min-width:0}.ac-filter-row-3 .ac-clear-filters-btn{padding:12px 16px;font-size:14px;white-space:nowrap;min-height:44px;width:100%;display:flex;align-items:center;justify-content:center}.ac-filter-item{min-width:0;max-width:100%;box-sizing:border-box}.ac-filter-actions{margin-left:unset;margin-top:0;max-width:100%;box-sizing:border-box}.ac-stats-bar{flex-direction:column;gap:1px;padding:18px;width:100%;box-sizing:border-box}.ac-stats-mobile-row{display:flex!important;width:100%;gap:10px;box-sizing:border-box}.ac-stat-date-picker{order:1;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:15px;border-bottom:1px solid #e5e7eb;background:none!important;border:none!important}.ac-stat-date-picker .ac-stat-label{margin-bottom:10px;font-size:15px;font-weight:600}.ac-stat-date-picker .ac-date-range-picker{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:8px 12px;width:100%;max-width:350px;min-width:280px;justify-content:center;box-sizing:border-box}.ac-stat-date-picker .ac-date-input{max-width:100px;min-width:80px;font-size:13px;font-weight:600;text-align:center;box-sizing:border-box}.ac-stat-date-picker .ac-date-separator{font-size:16px;margin:0 6px}.ac-stats-mobile-row .ac-stat-item{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:12px 6px;transition:all .3s ease;min-width:0;box-sizing:border-box}.ac-stats-mobile-row .ac-stat-item:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.ac-stats-mobile-row .ac-stat-item .ac-stat-label{font-size:12px;font-weight:600;color:#6b7280;margin-bottom:6px;line-height:1.3}.ac-stats-mobile-row .ac-stat-item .ac-stat-value{font-size:20px;font-weight:700;line-height:1.2}.ac-stat-filter{display:none}.ac-data-table-container{max-height:50vh;overflow-x:auto;overflow-y:hidden;display:block}.ac-attendance-table{min-width:1200px;display:table;width:auto}.ac-attendance-table thead{display:table-header-group;position:sticky;top:0;z-index:10;padding-right:0}.ac-attendance-table thead tr{display:table-row;width:auto}.ac-attendance-table tbody{display:table-row-group;overflow:visible;max-height:none;width:auto}.ac-attendance-table tbody tr{display:table-row;width:auto}.ac-attendance-table th,.ac-attendance-table td{padding:6px 3px;font-size:11px;width:auto;min-width:unset}.td-name{padding-left:6px!important;padding-right:3px!important}.ac-th-stt,.ac-td-stt{width:50px}.ac-th-employee-code,.td-employee-code{width:100px}.ac-th-name,.td-name{width:200px}.ac-th-department,.td-department{width:100px}.ac-th-workshop,.td-workshop{width:80px}.ac-th-machine,.td-machine{width:120px}.ac-th-date,.ac-td-date{width:80px}.ac-th-count,.td-count{width:60px}.ac-th-time-1,.ac-th-time-2,.ac-th-time-3,.ac-th-time-4,.ac-th-time-5,.ac-th-time-6,.ac-th-time-7,.ac-th-time-8,.ac-th-time-9,.ac-th-time-10,.ac-td-time,.ac-td-time-10{width:70px}}@media (max-width: 480px){.ac-wrapper{padding:5px}.ac-page-title{flex-direction:row;align-items:center;gap:6px}.ac-page-title h1{font-size:18px}.ac-update-info{flex-direction:column;align-items:flex-start;gap:8px}.ac-header-controls{flex-direction:column;align-items:stretch}.ac-stats-bar{padding:15px;gap:12px}.ac-stats-desktop{display:none}.ac-stats-mobile{display:flex;flex-direction:column;gap:12px}.ac-stat-date-picker .ac-date-range-picker{display:flex;align-items:center;max-width:320px;min-width:260px;padding:8px 12px;gap:8px}.ac-stat-date-picker .ac-calendar-icon{width:16px;height:16px;flex-shrink:0;color:#6b7280}.ac-stat-date-picker .ac-date-inputs{display:flex;align-items:center;gap:8px;flex:1}.ac-stat-date-picker .ac-date-input{flex:1;max-width:none;min-width:80px;font-size:12px;text-align:center}.ac-stat-date-picker .ac-date-separator{font-size:14px;margin:0;flex-shrink:0}.ac-stats-mobile-row{gap:8px}.ac-pagination-footer{flex-direction:column;gap:12px;padding:12px 15px;max-width:100%;box-sizing:border-box}.ac-pagination-info{flex-direction:column;text-align:center;gap:8px;width:100%}.ac-items-per-page{justify-content:center;flex-wrap:wrap}.ac-page-size-select{min-width:100px;font-size:12px}.ac-pagination-controls{flex-direction:column;gap:10px;width:100%;align-items:center}.ac-pagination-pages{flex-wrap:wrap;justify-content:center;gap:4px}.ac-pagination-btn{padding:6px 10px;font-size:12px;min-width:36px}.ac-pagination-jump{justify-content:center;font-size:12px}.ac-page-jump-input{width:50px;font-size:12px}.ac-stats-mobile-row .ac-stat-item{padding:10px 6px}.ac-stats-mobile-row .ac-stat-item .ac-stat-label{font-size:11px;margin-bottom:4px}.ac-stats-mobile-row .ac-stat-item .ac-stat-value{font-size:18px}.ac-filter-row-1,.ac-filter-row-2{gap:8px}.ac-filter-row-3{flex-direction:column;gap:8px;align-items:stretch}.ac-filter-row-3 .ac-filter-item{flex:none;width:100%}.ac-filter-row-3 .ac-filter-actions{flex:none;width:100%;flex-direction:column;gap:6px}.ac-clear-filters-btn,.ac-export-excel-btn{width:100%;justify-content:center;padding:10px 14px;min-height:42px;font-size:13px}.ac-filter-toggle-btn,.ac-auto-refresh-btn,.ac-manual-refresh-btn{justify-content:center}.ac-attendance-table th,.ac-attendance-table td{padding:4px 2px;font-size:10px}.td-name{padding-left:4px!important;padding-right:2px!important}.ac-employee-code,.ac-fingerprint-code,.ac-check-count,.ac-check-time,.ac-check-date,.ac-machine-ip{padding:2px 4px;font-size:9px}}@media (max-width: 460px){.ac-wrapper{padding:5px}.ac-header,.ac-filter-panel,.ac-stats-bar{padding:12px;margin-bottom:8px;width:100%;box-sizing:border-box}.ac-stats-desktop{display:none}.ac-stats-mobile{display:flex;flex-direction:column;gap:8px}.ac-page-title{flex-direction:row;align-items:center;gap:6px}.ac-page-title h1{font-size:20px}.ac-title-icon{width:24px;height:24px;flex-shrink:0}.ac-stats-bar{gap:8px}.ac-stat-date-picker .ac-date-range-picker{display:flex;align-items:center;width:100%;max-width:280px;min-width:240px;padding:6px 10px;gap:6px;box-sizing:border-box}.ac-stat-date-picker .ac-calendar-icon{width:14px;height:14px;flex-shrink:0;color:#6b7280}.ac-stat-date-picker .ac-date-inputs{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.ac-stat-date-picker .ac-date-input{flex:1;min-width:60px;font-size:10px;text-align:center;padding:2px}.ac-stat-date-picker .ac-date-separator{font-size:10px;margin:0;flex-shrink:0}.ac-pagination-footer{flex-direction:column;gap:10px;padding:10px 12px;max-width:100%;box-sizing:border-box}.ac-pagination-info{flex-direction:column;text-align:center;gap:6px;width:100%;font-size:12px}.ac-items-per-page{justify-content:center;flex-wrap:wrap;gap:6px}.ac-page-size-select{min-width:90px;font-size:11px;padding:6px 8px}.ac-pagination-controls{flex-direction:column;gap:8px;width:100%;align-items:center}.ac-pagination-pages{flex-wrap:wrap;justify-content:center;gap:2px;max-width:100%}.ac-pagination-btn{padding:5px 8px;font-size:11px;min-width:32px}.ac-pagination-jump{justify-content:center;font-size:11px;gap:6px}.ac-page-jump-input{width:45px;font-size:11px;padding:4px 6px}.ac-filter-grid{gap:6px}.ac-filter-row-1,.ac-filter-row-2{gap:4px}.ac-filter-row-3{gap:4px;flex-direction:column;align-items:stretch}.ac-filter-row-3 .ac-filter-item,.ac-filter-row-3 .ac-filter-actions{flex:none;width:100%;max-width:100%;box-sizing:border-box}.ac-filter-row-3 .ac-filter-actions{flex-direction:column;gap:4px}.ac-clear-filters-btn,.ac-export-excel-btn{padding:8px 10px;min-height:36px;font-size:12px;width:100%;box-sizing:border-box}}@media (max-width: 380px){.ac-page-title{flex-direction:row;align-items:center;gap:4px}.ac-page-title h1{font-size:16px}.ac-title-icon{width:20px;height:20px;flex-shrink:0}.ac-stats-desktop{display:none}.ac-stats-mobile{display:flex;flex-direction:column;gap:6px}.ac-stat-date-picker .ac-date-range-picker{display:flex;align-items:center;max-width:260px;min-width:220px;padding:6px 8px;gap:4px}.ac-stat-date-picker .ac-calendar-icon{width:12px;height:12px;flex-shrink:0}.ac-stat-date-picker .ac-date-inputs{display:flex;align-items:center;gap:4px;flex:1}.ac-stat-date-picker .ac-date-input{flex:1;min-width:60px;font-size:10px;text-align:center;padding:2px}.ac-stat-date-picker .ac-date-separator{font-size:10px;margin:0;flex-shrink:0}.ac-pagination-footer{flex-direction:column;gap:8px;padding:8px 10px;max-width:100%;box-sizing:border-box}.ac-pagination-info{flex-direction:column;text-align:center;gap:4px;width:100%;font-size:11px}.ac-items-per-page{justify-content:center;flex-wrap:wrap;gap:4px}.ac-items-per-page label{font-size:10px}.ac-page-size-select{min-width:80px;font-size:10px;padding:4px 6px}.ac-pagination-controls{flex-direction:column;gap:6px;width:100%;align-items:center}.ac-pagination-pages{flex-wrap:wrap;justify-content:center;gap:1px;max-width:100%}.ac-pagination-btn{padding:4px 6px;font-size:10px;min-width:28px}.ac-pagination-jump{justify-content:center;font-size:10px;gap:4px}.ac-page-jump-input{width:40px;font-size:10px;padding:3px 4px}.ac-filter-grid{gap:6px}.ac-filter-row-1,.ac-filter-row-2{gap:4px}.ac-filter-row-3{gap:4px;flex-direction:column;align-items:stretch}.ac-filter-row-3 .ac-filter-item,.ac-filter-row-3 .ac-filter-actions{flex:none;width:100%;max-width:100%;box-sizing:border-box}.ac-filter-row-3 .ac-filter-actions{flex-direction:column;gap:4px}.ac-clear-filters-btn,.ac-export-excel-btn{padding:8px 10px;min-height:36px;font-size:12px;width:100%;box-sizing:border-box}}.ie-import-export-container{height:calc(100vh - 60px);width:100%;margin:5px;max-width:calc(100vw - 70px);background-color:#f9fafb;overflow:hidden;box-sizing:border-box;display:flex;flex-direction:column}.ie-import-export-wrapper{margin:0 auto;max-width:100vw;width:100%;box-sizing:border-box;flex:1;display:flex;flex-direction:column;overflow:hidden}.ie-main-content{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;width:100%;max-width:100%;box-sizing:border-box;flex:1;overflow-y:auto}.ie-export-mode .ie-import-export-wrapper{overflow:hidden}.ie-export-mode .ie-main-content{overflow:hidden;padding:0}@media (max-width: 768px){.ie-import-export-wrapper{max-width:100vw}.ie-main-content{padding:1rem}}.ie-export-layout{display:flex;flex-direction:row;gap:.5rem;width:100%;max-width:100%;box-sizing:border-box;flex:1;overflow:hidden}.ie-export-sidebar{width:300px;min-width:300px;flex-shrink:0;display:flex;flex-direction:column;height:100%}.ie-export-content{flex:1;display:flex;flex-direction:column;min-width:0;height:100%;overflow:hidden}.ie-export-sidebar-card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:.5rem;height:100%;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.ie-export-sidebar .ie-form-grid,.ie-export-sidebar .ie-date-range-container{grid-template-columns:1fr;gap:1rem}.ie-export-sidebar .ie-date-range-container.ie-extended-filters{grid-template-columns:1fr}.ie-preview-header-actions{display:flex;gap:.5rem;align-items:flex-start;flex-shrink:0}.ie-preview-header-content{flex:1;min-width:0}.ie-preview-header-actions .ie-action-button{width:auto;min-width:120px;padding:.5rem 1rem;font-size:.875rem;white-space:nowrap}@media (max-width: 1024px){.ie-export-layout{flex-direction:column;height:auto;min-height:calc(100vh - 200px)}.ie-export-sidebar{width:100%;min-width:auto;height:auto}.ie-export-sidebar-card{height:auto;overflow:visible}.ie-export-content,.ie-data-preview{height:auto}.ie-preview-header{flex-direction:column;align-items:stretch;gap:1rem}.ie-preview-header-actions{width:100%;justify-content:flex-start}.ie-preview-header-actions .ie-action-button{flex:1;min-width:auto}}@media (max-width: 768px){.ie-export-layout{height:auto;padding:.5rem}.ie-data-table-wrapper{overflow-x:auto;overflow-y:visible}.ie-preview-header-actions{flex-direction:column}.ie-preview-header-actions .ie-action-button{width:100%}}.ie-export-mode,.ie-export-mode body,.ie-export-mode html,.ie-export-mode .ie-import-export-wrapper,.ie-export-mode .ie-export-layout,.ie-export-mode .ie-main-content{overflow:hidden!important}body:has(.ie-export-mode),html:has(.ie-export-mode){overflow:hidden!important}.page-header{margin-bottom:2rem}.page-title{font-size:1.875rem;font-weight:700;color:#111827;margin-bottom:.5rem}.page-description{color:#6b7280}.ie-message-container{margin-bottom:1.5rem;padding:1rem;border-radius:.5rem;border:1px solid}.ie-error-message{background-color:#fef2f2;border-color:#fecaca;color:#dc2626}.ie-success-message{background-color:#f0fdf4;border-color:#bbf7d0;color:#166534}.ie-message-content{display:flex;align-items:center}.ie-message-icon{width:1.25rem;height:1.25rem;margin-right:.5rem}.ie-tab-navigation{display:flex;width:100%;background:#f8fafc;border-bottom:2px solid #e2e8f0;flex-shrink:0}.ie-tab-button{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem 2rem;font-size:1rem;font-weight:600;color:#64748b;background:transparent;border:none;cursor:pointer;transition:all .3s ease;position:relative}.ie-tab-button:hover{background:#f1f5f9;color:#475569}.ie-tab-button.active{color:#2563eb;background:#ffffff;border-bottom:3px solid #2563eb}.ie-tab-button.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background:#2563eb}.ie-tab-icon{width:1.25rem;height:1.25rem;margin-right:.5rem}@media (max-width: 640px){.ie-tab-button{padding:.75rem 1rem;font-size:.875rem}.ie-tab-icon{width:1rem;height:1rem}}.mode-selector{margin-bottom:1.5rem}.mode-buttons{display:flex;gap:1rem}.mode-button{display:flex;align-items:center;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;transition:all .2s;cursor:pointer;border:none;outline:none}.mode-button-icon{width:1.25rem;height:1.25rem;margin-right:.5rem}.mode-button.active-import{background-color:#2563eb;color:#fff}.mode-button.active-export{background-color:#059669;color:#fff}.mode-button.inactive{background-color:#f3f4f6;color:#374151}.mode-button.inactive:hover{background-color:#e5e7eb}@media (max-width: 768px){.mode-buttons{flex-direction:column}}.ie-table-selector{width:100%;max-width:100%}.ie-form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.ie-form-select,.ie-form-input{width:100%;max-width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;outline:none;transition:all .2s;box-sizing:border-box}.ie-form-select:focus,.ie-form-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.ie-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;width:100%;max-width:100%;box-sizing:border-box}.ie-date-filter-section{margin:0;padding:1rem;background-color:#f8fafc;border-radius:.5rem;border:1px solid #e5e7eb;width:100%;max-width:100%;box-sizing:border-box}.ie-filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.ie-filter-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.ie-preview-limit-control{display:flex;align-items:center;gap:.5rem}.ie-inline-label{margin-bottom:0;font-size:.875rem;white-space:nowrap}.ie-compact-select{min-width:120px;padding:.5rem;font-size:.875rem}.ie-filter-title{font-size:1rem;font-weight:600;color:#374151;margin:0}.ie-filter-indicator{font-size:.75rem;font-weight:500;color:#059669;opacity:.8}.ie-clear-filters-button{display:flex;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#374151;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;transition:all .2s}.ie-clear-filters-button:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.ie-clear-filters-button:disabled{opacity:.5;cursor:not-allowed}.ie-checkbox-container{margin-bottom:1rem;width:100%}.ie-checkbox-label{display:flex;align-items:center;cursor:pointer;font-weight:500;color:#374151;flex-wrap:wrap}.ie-checkbox-input{width:1.125rem;height:1.125rem;margin-right:.5rem;cursor:pointer;accent-color:#2563eb;flex-shrink:0}.ie-checkbox-text{font-size:.875rem;flex:1}.ie-date-range-container{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;width:100%;max-width:100%}.ie-date-range-container.ie-extended-filters{grid-template-columns:1fr;gap:1rem}@media (min-width: 1024px){.ie-date-range-container.ie-extended-filters:not(.ie-export-sidebar .ie-date-range-container){grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.ie-date-range-container.ie-extended-filters:not(.ie-export-sidebar .ie-date-range-container){grid-template-columns:repeat(4,1fr)}}.ie-date-input-group{display:flex;flex-direction:column;width:100%;max-width:100%}.ie-date-input{font-size:.875rem;box-sizing:border-box}.ie-filter-count{font-size:.75rem;color:#6b7280;font-weight:400;opacity:.8}@media (max-width: 768px){.ie-form-grid,.ie-date-range-container{grid-template-columns:1fr}.ie-date-filter-section{margin:0;padding:.75rem}.ie-filter-header{flex-direction:column;align-items:flex-start;gap:.75rem}.ie-filter-controls{width:100%;flex-direction:column;align-items:stretch}.ie-preview-limit-control{width:100%;justify-content:space-between}.ie-compact-select{flex:1;max-width:140px}.ie-clear-filters-button{width:100%;justify-content:center}.ie-checkbox-label{align-items:flex-start}.ie-checkbox-input{margin-top:.125rem}}.ie-section-card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;width:100%;max-width:100%;box-sizing:border-box;padding:1.5rem}.ie-section-header{font-size:1.25rem;font-weight:700;color:#111827;margin-bottom:1rem;display:flex;align-items:center;word-wrap:break-word}.ie-section-icon{width:1.5rem;height:1.5rem;margin-right:.5rem;flex-shrink:0}.ie-section-icon.ie-import{color:#2563eb}.ie-section-icon.ie-export{color:#059669}.ie-file-upload-area{border:2px dashed #d1d5db;border-radius:.5rem;padding:1.5rem;text-align:center;transition:border-color .2s;margin-bottom:1rem;cursor:pointer}.ie-file-upload-area:hover{border-color:#3b82f6}.ie-file-input{display:none}.ie-file-select-button{display:inline-flex;align-items:center;padding:.5rem 1rem;background-color:#2563eb;color:#fff;border-radius:.375rem;border:none;cursor:pointer;transition:background-color .2s}.ie-file-select-button:hover{background-color:#1d4ed8}.ie-file-info{margin-top:1rem;font-size:.875rem;color:#6b7280}.ie-file-name{font-weight:500}.ie-action-button{width:100%;display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:.375rem;font-weight:500;border:none;cursor:pointer;transition:all .2s;outline:none}.ie-action-button:disabled{opacity:.5;cursor:not-allowed}.ie-action-button.ie-import{background-color:#059669;color:#fff}.ie-action-button.ie-import:hover:not(:disabled){background-color:#047857}.ie-action-button.ie-export{background-color:#059669;color:#fff}.ie-action-button.ie-export:hover:not(:disabled){background-color:#047857}.ie-action-button.ie-secondary{background-color:#6b7280;color:#fff}.ie-action-button.ie-secondary:hover:not(:disabled){background-color:#4b5563}.ie-loading-spinner{width:1.25rem;height:1.25rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:ie-spin 1s linear infinite;margin-right:.5rem}@keyframes ie-spin{to{transform:rotate(360deg)}}.ie-data-preview{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;width:100%;max-width:100%;box-sizing:border-box;height:100%;display:flex;flex-direction:column;overflow:hidden}.ie-preview-header{padding:1rem;border-bottom:1px solid #e5e7eb;box-sizing:border-box;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-shrink:0}.ie-preview-title{font-size:1.125rem;font-weight:600;color:#111827;display:flex;align-items:center;margin-bottom:.5rem;word-wrap:break-word}.ie-preview-description{color:#6b7280;font-size:.875rem;width:100%;max-width:100%}.ie-preview-description p{margin:.25rem 0;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.ie-preview-description strong{color:#374151;font-weight:600}.ie-data-table-wrapper{overflow-x:auto;overflow-y:auto;max-width:100%;width:100%;flex:1}.ie-data-preview-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.ie-data-table{width:100%;border-collapse:collapse;table-layout:auto}.ie-export-content .ie-data-preview{max-height:100%}.ie-table-header{background-color:#f9fafb}.ie-table-header th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.ie-table-body{background-color:#fff}.ie-table-body td{padding:.75rem 1rem;font-size:.875rem;color:#111827;border-bottom:1px solid #e5e7eb}.ie-table-body tr:hover{background-color:#f9fafb}.ie-pagination-container{padding:1rem 1.5rem;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;background-color:#fff}.ie-pagination-info{display:flex;align-items:center;gap:.5rem}.ie-pagination-text{font-size:.875rem;color:#374151}.ie-pagination-select{padding:.25rem .5rem;border:1px solid #d1d5db;border-radius:.25rem;font-size:.875rem}.ie-pagination-controls{display:flex;align-items:center;gap:.5rem}.ie-pagination-button{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.25rem;font-size:.875rem;cursor:pointer;transition:all .2s}.ie-pagination-button:hover:not(:disabled){background-color:#f9fafb}.ie-pagination-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.ie-pagination-container{flex-direction:column;gap:1rem}}.cpn-imagecropmodal-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cpn-imagecropmodal-modal-container{background:white;border-radius:12px;width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 12px 48px #0000004d}.cpn-imagecropmodal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #dee2e6}.cpn-imagecropmodal-header h3{margin:0;color:#2c3e50;font-size:1.25rem;font-weight:600}.cpn-imagecropmodal-close-btn{background:none;border:none;font-size:2rem;color:#6c757d;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.cpn-imagecropmodal-close-btn:hover{background:#f8f9fa;color:#dc3545}.cpn-imagecropmodal-image-container{position:relative;flex:1;overflow:hidden;background:#f8f9fa;min-height:400px;display:flex;align-items:center;justify-content:center}.cpn-imagecropmodal-image{max-width:100%;max-height:100%;display:block}.cpn-imagecropmodal-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#667eea}.cpn-imagecropmodal-spinner{width:48px;height:48px;border:4px solid rgba(102,126,234,.2);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.cpn-imagecropmodal-loading p{margin:0;font-size:.95rem;font-weight:500}.cpn-imagecropmodal-footer{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-top:1px solid #dee2e6;gap:1rem;flex-wrap:wrap}.cpn-imagecropmodal-controls{display:flex;gap:.5rem}.cpn-imagecropmodal-controls button{background:white;border:1px solid #dee2e6;border-radius:6px;padding:.5rem 1rem;cursor:pointer;color:#495057;font-size:.95rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.cpn-imagecropmodal-controls button:hover:not(:disabled){background:#f8f9fa;border-color:#667eea;color:#667eea}.cpn-imagecropmodal-controls button:disabled{opacity:.5;cursor:not-allowed}.cpn-imagecropmodal-actions{display:flex;gap:.5rem}.cpn-imagecropmodal-actions button{border:none;border-radius:6px;padding:.5rem 1.5rem;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease}#cpn-imagecropmodal-confirm{background:#667eea;color:#fff}#cpn-imagecropmodal-confirm:hover:not(:disabled){background:#5568d3}#cpn-imagecropmodal-confirm:disabled{opacity:.5;cursor:not-allowed}#cpn-imagecropmodal-cancel{background:white;color:#6c757d;border:1px solid #dee2e6}#cpn-imagecropmodal-cancel:hover{background:#f8f9fa;border-color:#dc3545;color:#dc3545}@media (max-width: 768px){.cpn-imagecropmodal-modal-container{width:95%;max-height:95vh}.cpn-imagecropmodal-header{padding:1rem}.cpn-imagecropmodal-header h3{font-size:1.1rem}.cpn-imagecropmodal-image-container{min-height:300px}.cpn-imagecropmodal-footer{flex-direction:column;padding:1rem}.cpn-imagecropmodal-controls,.cpn-imagecropmodal-actions{width:100%}.cpn-imagecropmodal-controls button{flex:1;justify-content:center}.cpn-imagecropmodal-actions button{flex:1}}@media screen{._printModal_1i8m4_5{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}._printContainer_1i8m4_35{background:white;width:auto;min-width:210mm;max-width:none;max-height:90vh;display:flex;flex-direction:column;box-shadow:none;border-radius:0;border:none;overflow:hidden}._printHeader_1i8m4_63{flex-shrink:0;background:#f8f9fa;padding:15px 20px;border-bottom:2px solid #dee2e6;z-index:10;display:flex;justify-content:space-between;align-items:center;border-radius:8px 8px 0 0}._printHeader_1i8m4_63 h3{margin:0;font-size:18px;color:#333}._printActions_1i8m4_99{display:flex;gap:10px}._btnPrint_1i8m4_109{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:background .3s}._btnPrint_1i8m4_109:hover{background:#0056b3}._btnClose_1i8m4_141{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .3s}._btnClose_1i8m4_141:hover{background:#545b62}._printContent_1i8m4_171{flex:1;overflow-y:auto;overflow-x:auto;padding:20px;background:transparent}._loading_1i8m4_187{text-align:center;padding:40px;font-size:16px;color:#666}}@media screen and (max-width: 900px){._printModal_1i8m4_5{padding:10px}._printContainer_1i8m4_35{min-width:auto;width:100%}._printHeader_1i8m4_63{padding:10px 15px;flex-direction:column;gap:10px;align-items:flex-start}._printHeader_1i8m4_63 h3{font-size:16px}._printActions_1i8m4_99{width:100%;justify-content:flex-end}._printContent_1i8m4_171{padding:10px}}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}body *{visibility:hidden!important}._printModal_1i8m4_5,._printModal_1i8m4_5 *{visibility:visible!important}._printModal_1i8m4_5{position:absolute!important;left:0!important;top:0!important;width:100%!important;height:auto!important;background:none!important;padding:0!important;overflow:visible!important;display:block!important}._printContainer_1i8m4_35{width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;box-shadow:none!important;border-radius:0!important;display:block!important}._printHeader_1i8m4_63{display:none!important}._printContent_1i8m4_171{padding:0!important;background:white!important;overflow:visible!important}._printActions_1i8m4_99,._btnPrint_1i8m4_109,._btnClose_1i8m4_141{display:none!important}@page{size:A4 portrait;margin:5mm 5mm 5mm 8mm}body{margin:0!important;padding:0!important}._sheet_1i8m4_417,._sheet2_1i8m4_419{page-break-after:always;page-break-inside:avoid}._sheet_1i8m4_417:last-child,._sheet2_1i8m4_419:last-child{page-break-after:auto}}._printFormContainer_1fr3f_3{all:initial;display:block}._printFormContainer_1fr3f_3 *{box-sizing:border-box;font-family:Times New Roman,Times,serif}._printFormContainer_1fr3f_3 ._sheet_1fr3f_29,._printFormContainer_1fr3f_3 ._sheet2_1fr3f_31{top:0;width:199mm;min-height:288mm;background:#fff;border:1px solid #000;padding:10mm;box-sizing:border-box;position:relative}._printFormContainer_1fr3f_3 ._container_1fr3f_53{padding:10mm}._printFormContainer_1fr3f_3 ._logo_1fr3f_61{position:absolute;top:10px;left:10px;width:100px;height:auto;z-index:10}._printFormContainer_1fr3f_3 ._tieude_1fr3f_79{top:0;left:20px;line-height:18px;width:100%;position:absolute}._printFormContainer_1fr3f_3 ._tieudecongty_1fr3f_95{top:5px;left:316px;position:absolute;font-size:12px;text-align:center;letter-spacing:.1px}._printFormContainer_1fr3f_3 ._diachivasdt_1fr3f_113{top:40px;left:100px;position:absolute;font-weight:initial;font-size:12px;text-align:center;letter-spacing:.1px}._printFormContainer_1fr3f_3 ._phanloai_1fr3f_133{top:90px;left:240px;position:absolute;font-size:25px;font-weight:700;text-align:center;letter-spacing:.1px}._printFormContainer_1fr3f_3 ._vitridutuyen_1fr3f_153{top:170px;left:10px;position:absolute;font-size:15px;font-weight:700;text-align:center;letter-spacing:.3px}._printFormContainer_1fr3f_3 ._chucvudutuyen_1fr3f_173{top:200px;left:10px;position:absolute;font-size:15px;font-weight:700;text-align:center;letter-spacing:.3px}._printFormContainer_1fr3f_3 ._avatar_1fr3f_193{position:absolute;left:150mm;top:79px;width:135px;height:170px;border-radius:6px;border:.1px solid #0a0000;-o-object-fit:cover;object-fit:cover;background:#f7f7f7;box-shadow:0 1px 8px #eee}._printFormContainer_1fr3f_3 ._chimuc-cha_1fr3f_219{left:5px;top:230px;position:absolute;font-size:15px;font-weight:700;text-decoration:underline}._printFormContainer_1fr3f_3 ._chimuc-cha2_1fr3f_237{left:5px;top:5px;position:absolute;font-size:15px;font-weight:700;text-decoration:underline}._printFormContainer_1fr3f_3 ._table_1fr3f_255{left:10px;top:250px;position:absolute}._printFormContainer_1fr3f_3 ._table2_1fr3f_267{left:10px;top:20px;position:absolute}._printFormContainer_1fr3f_3 ._table_1fr3f_255 table,._printFormContainer_1fr3f_3 ._table2_1fr3f_267 table{width:193mm;font-size:13px;padding:3px;margin-top:5px}._printFormContainer_1fr3f_3 ._table_1fr3f_255 table tr._title_1fr3f_295 th,._printFormContainer_1fr3f_3 ._table2_1fr3f_267 table tr._title_1fr3f_295 th{font-style:normal;text-align:left;border:none}._printFormContainer_1fr3f_3 ._table_1fr3f_255 table tr._header_1fr3f_309 th,._printFormContainer_1fr3f_3 ._table2_1fr3f_267 table tr._header_1fr3f_309 th{font-weight:700;font-style:italic;text-align:center;border:1px solid #000;padding:3px 6px}._printFormContainer_1fr3f_3 ._table_1fr3f_255 table tr._row_1fr3f_327 th,._printFormContainer_1fr3f_3 ._table2_1fr3f_267 table tr._row_1fr3f_327 th{height:21px;border:1px solid #000;font-weight:400;text-align:left;padding:3px;font-style:italic}._printFormContainer_1fr3f_3 ._table_1fr3f_255 table tr._rows_1fr3f_347 th,._printFormContainer_1fr3f_3 ._table2_1fr3f_267 table tr._rows_1fr3f_347 th{height:21px;font-weight:400;border:1px solid #000;padding:3px;font-style:italic;text-align:center}._printFormContainer_1fr3f_3 ._circle_1fr3f_367{display:inline-flex;width:21px;height:21px;border:2px solid black;border-radius:50%;vertical-align:middle;margin-right:4px;justify-content:center;align-items:center;font-size:25px;position:relative}._printFormContainer_1fr3f_3 ._circle_1fr3f_367.checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);font-size:35px}._printFormContainer_1fr3f_3 ._option_1fr3f_413{display:inline-flex;align-items:center}._pageBreakAfter_1fr3f_425{page-break-after:always;-moz-column-break-after:always;break-after:always}@media print{._printFormContainer_1fr3f_3{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}._printFormContainer_1fr3f_3 img{filter:none;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;border:none!important;box-shadow:none!important}._printFormContainer_1fr3f_3 ._sheet_1fr3f_29,._printFormContainer_1fr3f_3 ._sheet2_1fr3f_31{background:white!important}._printFormContainer_1fr3f_3 ._sheet2_1fr3f_31:last-child{border:none!important}}._printFormContainer_7s0ci_3{all:initial;display:block}._printFormContainer_7s0ci_3 *{box-sizing:border-box;font-family:Times New Roman,Times,serif}._printFormContainer_7s0ci_3 ._sheet_7s0ci_29,._printFormContainer_7s0ci_3 ._sheet2_7s0ci_31{top:0;width:199mm;min-height:288mm;background:#fff;border:1px solid #000;padding:10mm;box-sizing:border-box;position:relative}._printFormContainer_7s0ci_3 ._container_7s0ci_53{padding:10mm}._printFormContainer_7s0ci_3 ._logo_7s0ci_61{position:absolute;top:10px;left:10px;width:100px;height:auto;z-index:10}._printFormContainer_7s0ci_3 ._tieude_7s0ci_79{top:0;left:20px;line-height:18px;width:100%;position:absolute}._printFormContainer_7s0ci_3 ._tieudecongty_7s0ci_95{top:5px;left:316px;position:absolute;font-size:12px;text-align:center;letter-spacing:.1px}._printFormContainer_7s0ci_3 ._diachivasdt_7s0ci_113{top:40px;left:100px;position:absolute;font-weight:initial;font-size:12px;text-align:center;letter-spacing:.1px}._printFormContainer_7s0ci_3 ._phanloai_7s0ci_133{top:90px;left:120px;position:absolute;font-size:25px;font-weight:700;text-align:center;letter-spacing:.1px}._printFormContainer_7s0ci_3 ._vitridutuyen_7s0ci_153{top:190px;left:10px;position:absolute;font-size:15px;font-weight:700;text-align:center;letter-spacing:.3px}._printFormContainer_7s0ci_3 ._chucvudutuyen_7s0ci_173{top:200px;left:10px;position:absolute;font-size:15px;font-weight:700;text-align:center;letter-spacing:.3px}._printFormContainer_7s0ci_3 ._avatar_7s0ci_193{position:absolute;left:150mm;top:79px;width:135px;height:170px;border-radius:6px;border:.1px solid #0a0000;-o-object-fit:cover;object-fit:cover;background:#f7f7f7;box-shadow:0 1px 8px #eee}._printFormContainer_7s0ci_3 ._table_7s0ci_219{left:10px;top:250px;position:absolute;font-size:13px}._printFormContainer_7s0ci_3 ._table2_7s0ci_233{left:10px;top:10px;position:absolute;font-size:13px}._printFormContainer_7s0ci_3 ._table_7s0ci_219 table,._printFormContainer_7s0ci_3 ._table2_7s0ci_233 table{width:193mm;font-size:13px;margin-top:5px}._printFormContainer_7s0ci_3 ._tr1_7s0ci_261 td,._printFormContainer_7s0ci_3 ._tr1_7s0ci_261 th{padding:3px 0 0;font-size:13px;font-style:italic;text-align:left}._printFormContainer_7s0ci_3 ._tr2_7s0ci_277 td,._printFormContainer_7s0ci_3 ._tr2_7s0ci_277 th{font-size:13px;line-height:22px;height:24px;padding:7px;font-style:italic;border:1px solid black}._printFormContainer_7s0ci_3 ._circle_7s0ci_297{display:inline-flex;width:21px;height:21px;border:2px solid black;border-radius:50%;vertical-align:middle;margin-right:4px;justify-content:center;align-items:center;font-size:25px;position:relative}._printFormContainer_7s0ci_3 ._circle_7s0ci_297._checked_7s0ci_325:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);font-size:35px}._printFormContainer_7s0ci_3 ._option_7s0ci_343{display:inline-flex;align-items:center}._pageBreakAfter_7s0ci_355{page-break-after:always;-moz-column-break-after:always;break-after:always}@media print{._printFormContainer_7s0ci_3{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}._printFormContainer_7s0ci_3 img{filter:none;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;border:none!important;box-shadow:none!important}._printFormContainer_7s0ci_3 ._sheet_7s0ci_29,._printFormContainer_7s0ci_3 ._sheet2_7s0ci_31{background:white!important}._printFormContainer_7s0ci_3 ._sheet2_7s0ci_31:last-child{border:none!important}}._printFormContainer_s4pkx_3{all:initial;display:block}._printFormContainer_s4pkx_3 *{box-sizing:border-box;font-family:Times New Roman,Times,serif}._printFormContainer_s4pkx_3 ._sheet_s4pkx_29,._printFormContainer_s4pkx_3 ._sheet2_s4pkx_31{top:0;width:199mm;min-height:288mm;background:#fff;border:1px solid #000;padding:10mm;box-sizing:border-box;position:relative}._printFormContainer_s4pkx_3 ._container_s4pkx_53{padding:10mm}._printFormContainer_s4pkx_3 ._logo_s4pkx_61{position:absolute;top:10px;left:10px;width:100px;height:auto;z-index:10}._printFormContainer_s4pkx_3 ._tieude_s4pkx_79{top:0;left:20px;line-height:18px;width:100%;position:absolute}._printFormContainer_s4pkx_3 ._tieudecongty_s4pkx_95{top:5px;left:316px;position:absolute;font-size:12px;text-align:center;letter-spacing:.1px}._printFormContainer_s4pkx_3 ._diachivasdt_s4pkx_113{top:40px;left:100px;position:absolute;font-weight:initial;font-size:12px;text-align:center;letter-spacing:.1px}._printFormContainer_s4pkx_3 ._phanloai_s4pkx_133{top:90px;left:120px;position:absolute;font-size:25px;font-weight:700;text-align:center;letter-spacing:.1px}._printFormContainer_s4pkx_3 ._vitridutuyen_s4pkx_153{top:180px;left:10px;position:absolute;font-size:15px;font-weight:700;text-align:center;letter-spacing:.3px}._printFormContainer_s4pkx_3 ._chucvudutuyen_s4pkx_173{top:200px;left:10px;position:absolute;font-size:15px;font-weight:700;text-align:center;letter-spacing:.3px}._printFormContainer_s4pkx_3 ._avatar_s4pkx_193{position:absolute;left:150mm;top:79px;width:135px;height:170px;border-radius:6px;border:.1px solid #0a0000;-o-object-fit:cover;object-fit:cover;background:#f7f7f7;box-shadow:0 1px 8px #eee}._printFormContainer_s4pkx_3 ._table_s4pkx_219{left:10px;top:250px;position:absolute;font-size:13px}._printFormContainer_s4pkx_3 ._table2_s4pkx_233{left:10px;top:10px;position:absolute;font-size:13px}._printFormContainer_s4pkx_3 ._table_s4pkx_219 table,._printFormContainer_s4pkx_3 ._table2_s4pkx_233 table{width:193mm;font-size:13px;margin-top:5px}._printFormContainer_s4pkx_3 ._tr1_s4pkx_261 td,._printFormContainer_s4pkx_3 ._tr1_s4pkx_261 th{padding:3px 0 0;font-size:13px;font-style:italic;text-align:left}._printFormContainer_s4pkx_3 ._tr2_s4pkx_277 td,._printFormContainer_s4pkx_3 ._tr2_s4pkx_277 th{font-size:13px;line-height:21px;height:22px;padding:4px;font-style:italic;border:1px solid black}._printFormContainer_s4pkx_3 ._circle_s4pkx_297{display:inline-flex;width:21px;height:21px;border:2px solid black;border-radius:50%;vertical-align:middle;margin-right:4px;justify-content:center;align-items:center;font-size:25px;position:relative}._printFormContainer_s4pkx_3 ._circle_s4pkx_297._checked_s4pkx_325:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);font-size:35px}._printFormContainer_s4pkx_3 ._option_s4pkx_343{display:inline-flex;align-items:center}._pageBreakAfter_s4pkx_355{page-break-after:always;-moz-column-break-after:always;break-after:always}@media print{._printFormContainer_s4pkx_3{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}._printFormContainer_s4pkx_3 img{filter:none;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;border:none!important;box-shadow:none!important}._printFormContainer_s4pkx_3 ._sheet_s4pkx_29,._printFormContainer_s4pkx_3 ._sheet2_s4pkx_31{background:white!important}._printFormContainer_s4pkx_3 ._sheet2_s4pkx_31:last-child{border:none!important}}.dktv-page .dktv-container{max-width:100%;margin:0 auto;background:#f8f9fa;height:calc(100vh - 50px);display:flex;flex-direction:column;overflow:hidden}.dktv-page .dktv-loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:16px;color:#6c757d}.dktv-page .dktv-error{padding:20px;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:6px;margin:20px;text-align:center}.dktv-page .results-info{flex-shrink:0;background:white;padding:15px 20px;border-radius:6px;font-size:14px;color:#6c757d;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;justify-content:space-between;gap:15px}.dktv-page .results-text{flex:1}.dktv-page .search-results-indicator{color:#007bff;font-weight:600;margin-right:5px}.dktv-page .contract-type{margin:4px 0}.dktv-page .contract-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.dktv-page .contract-seasonal{background-color:#e3f2fd;color:#1976d2;border:1px solid #bbdefb}.dktv-page .contract-intern{background-color:#f3e5f5;color:#7b1fa2;border:1px solid #ce93d8}.dktv-page .candidate-avatar{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #dee2e6}.dktv-page .no-avatar{width:40px;height:40px;border-radius:50%;background:#e9ecef;display:flex;align-items:center;justify-content:center;font-size:10px;color:#6c757d;border:2px solid #dee2e6;margin:0 auto}.dktv-page .large-avatar{width:120px;height:180px;border-radius:8px;-o-object-fit:cover;object-fit:cover;border:2px solid #dee2e6}.dktv-page .no-large-avatar{width:120px;height:180px;background:#e9ecef;border:2px solid #dee2e6;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#6c757d}.dktv-page .text-center{text-align:center!important;justify-content:center!important}.dktv-page .candidate-name{font-weight:600;color:#495057}.dktv-page .candidate-info{font-size:13px;line-height:1.4}.dktv-page .candidate-info>div{margin-bottom:4px}.dktv-page .candidate-info>div:last-child{margin-bottom:0}.dktv-page .register-time{font-size:12px;color:#6c757d;font-style:italic;text-align:right;width:100%}.dktv-page .status-badge{padding:6px 12px;border-radius:4px;font-size:16px;font-weight:500;text-align:left;display:inline-block;width:auto;max-width:-moz-fit-content;max-width:fit-content}.dktv-page .status-pending{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.dktv-page .status-approved{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.dktv-page .status-rejected{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.dktv-page .readonly-input{background-color:#f8f9fa!important;cursor:not-allowed!important;color:#6c757d;border:1px solid #dee2e6;font-weight:500}.dktv-page .readonly-input:focus{outline:none;box-shadow:0 0 0 2px #667eea40;border-color:#667eea}.dktv-page .desktop-table{display:table}@media (max-width: 768px){.dktv-page .results-info{flex-direction:column;align-items:flex-start;gap:10px}.dktv-page .results-text{width:100%}.dktv-page .clear-all-filters-btn{font-size:12px!important;padding:6px 10px!important}}.dktv-page .dktv-header{flex-shrink:0;background:white;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.dktv-page .header-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.dktv-page .dktv-header h2{margin:0;color:#2c3e50;font-size:24px;font-weight:600;flex-shrink:0}.dktv-page .page-switch-buttons{display:flex;gap:0;align-items:center;background:#f1f3f5;padding:4px;border-radius:8px;box-shadow:inset 0 1px 3px #0000001a;position:relative}.dktv-page .dktv-controls{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.dktv-page .page-switch-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 30px;flex:1;min-width:0;background:transparent;color:#495057;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative;z-index:1}.dktv-page .page-switch-btn svg{flex-shrink:0;transition:transform .3s ease}.dktv-page .page-switch-btn:hover:not(:disabled){color:#667eea}.dktv-page .page-switch-btn:hover:not(:disabled) svg{transform:scale(1.1)}.dktv-page .page-switch-btn:active:not(:disabled){transform:scale(.98)}.dktv-page .page-switch-btn.active{background:white;color:#667eea;font-weight:600;cursor:default;box-shadow:0 2px 12px #667eea26}.dktv-page .page-switch-btn.active svg{color:#667eea}.dktv-page .add-candidate-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#28a745;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s;white-space:nowrap}.dktv-page .add-candidate-btn:hover{background:#218838}.dktv-page .clear-all-filters-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .3s;white-space:nowrap}.dktv-page .clear-all-filters-btn:hover{background:#c82333}@media (max-width: 768px){.dktv-page .header-title-row{flex-direction:column;align-items:flex-start;gap:12px}.dktv-page .page-switch-buttons{width:100%}.dktv-page .page-switch-btn{flex:1;justify-content:center;font-size:13px;padding:8px 12px}.dktv-page .dktv-header{padding:12px 16px!important;box-shadow:none;border-radius:0;background:white}.dktv-page .dktv-header h2{display:block!important;font-size:16px!important;margin:0 0 12px!important;line-height:1.4!important;color:#2c3e50!important}.dktv-page .dktv-controls{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;width:100%!important;padding:0!important;justify-content:space-between!important}.dktv-page .add-candidate-btn{min-width:40px!important;max-width:40px!important;height:40px!important;padding:0!important;justify-content:center!important;background:#28a745!important;border-radius:6px!important;color:transparent!important;display:flex!important;align-items:center!important;gap:0!important;flex-shrink:0!important;overflow:hidden!important;white-space:nowrap!important;position:relative!important}.dktv-page .add-candidate-btn>svg{width:24px!important;height:24px!important;color:#fff!important;flex-shrink:0!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.dktv-page .nha-thoi-vu-filter-mobile-btn{display:flex!important;min-width:40px!important;max-width:40px!important;height:40px!important;background:#fff!important;border:1px solid #ddd!important;border-radius:6px!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;margin-left:0!important;color:#667eea!important;transition:all .3s ease!important;flex-shrink:0!important}.dktv-page .nha-thoi-vu-filter-mobile-btn:hover{background:rgba(102,126,234,.1)!important;border-color:#667eea!important}.dktv-page .nha-thoi-vu-filter-mobile-btn>svg{width:22px!important;height:22px!important;color:#667eea!important}.dktv-page .desktop-date-filter{display:none!important}.dktv-page .date-filter-mobile-btn{display:flex!important;min-width:40px!important;max-width:40px!important;height:40px!important;background:#fff!important;border:1px solid #ddd!important;border-radius:6px!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;color:#667eea!important;transition:all .3s ease!important;flex-shrink:0!important}.dktv-page .date-filter-mobile-btn:hover{background:rgba(102,126,234,.1)!important;border-color:#667eea!important}.dktv-page .date-filter-mobile-btn>svg{width:22px!important;height:22px!important;color:#667eea!important}}.dktv-page .date-filter-container{display:flex;align-items:center;gap:8px;flex-shrink:0}.dktv-page .date-filter-inputs{display:flex;align-items:center;gap:8px;padding:6px 10px;background:white;border:1px solid #ddd;border-radius:6px;min-width:280px}.dktv-page .date-filter-input{border:none;outline:none;font-size:13px;color:#333;background:transparent;min-width:100px}.dktv-page .date-separator{font-size:12px;color:#666;margin:0 4px;white-space:nowrap}.dktv-page .clear-date-filter-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#dc3545;color:#fff;border:none;border-radius:3px;cursor:pointer;transition:background-color .2s;margin-left:4px}.dktv-page .clear-date-filter-btn:hover{background:#c82333}.dktv-page .today-filter-btn{display:flex;align-items:center;justify-content:center;padding:0 12px;height:32px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;font-size:13px;font-weight:500;white-space:nowrap;margin-left:4px}.dktv-page .today-filter-btn:hover{background:#218838}.dktv-page .all-filter-btn{display:flex;align-items:center;justify-content:center;padding:0 12px;height:32px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;font-size:13px;font-weight:500;white-space:nowrap;margin-left:4px}.dktv-page .all-filter-btn:hover{background:#0056b3}.dktv-page .date-filter-mobile-btn{display:none;position:relative;align-items:center;justify-content:center;width:40px;height:40px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s;flex-shrink:0}.dktv-page .date-filter-mobile-btn:hover{background:#0056b3}.dktv-page .date-filter-mobile-btn.has-filter{background:#28a745}.dktv-page .filter-indicator{position:absolute;top:6px;right:6px;width:8px;height:8px;background:#ffc107;border-radius:50%}.dktv-page .date-filter-modal-mobile{z-index:1000}.dktv-page .date-filter-modal-content-mobile{background:white;border-radius:8px;max-width:350px;width:90%;max-height:90vh;overflow:hidden;box-shadow:0 4px 20px #00000026}.dktv-page .date-filter-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee;background:#f8f9fa}.dktv-page .date-filter-modal-header h4{margin:0;font-size:16px;color:#333;font-weight:600}.dktv-page .date-filter-modal-close-mobile{background:none;border:none;font-size:20px;color:#666;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.dktv-page .date-filter-modal-body{padding:20px}.dktv-page .date-filter-mobile-inputs{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.dktv-page .date-input-group{display:flex;flex-direction:column;gap:6px}.dktv-page .date-input-group label{font-size:14px;font-weight:500;color:#333}.dktv-page .date-filter-input-mobile{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;outline:none}.dktv-page .date-filter-input-mobile:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.dktv-page .date-filter-mobile-actions{display:flex;gap:10px;justify-content:space-between}.dktv-page .today-date-mobile-btn{flex:1;padding:10px 16px;background:#28a745;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.dktv-page .today-date-mobile-btn:hover{background:#218838}.dktv-page .clear-date-mobile-btn{flex:1;padding:10px 16px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.dktv-page .clear-date-mobile-btn:hover{background:#5a6268}.dktv-page .apply-date-mobile-btn{flex:1;padding:10px 16px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.dktv-page .apply-date-mobile-btn:hover{background:#0056b3}.dktv-page .search-container{position:relative;flex:1;min-width:300px}.dktv-page .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#6c757d;transition:all .3s ease}.dktv-page .search-input{width:100%;padding:10px 60px 10px 40px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s}.dktv-page .search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.dktv-page .search-button{position:absolute;right:35px;top:50%;transform:translateY(-50%);background:#007bff;color:#fff;border:none;border-radius:4px;padding:6px 8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:28px;height:28px}.dktv-page .search-button:hover:not(:disabled){background:#0056b3;transform:translateY(-50%) scale(1.05)}.dktv-page .search-button:disabled{background:#6c757d;cursor:not-allowed}.dktv-page .search-button.searching{background:#28a745}.dktv-page .search-spinner{width:14px;height:14px;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.dktv-page .clear-search-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:#dc3545;color:#fff;border:none;border-radius:50%;padding:4px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:12px;line-height:1}.dktv-page .clear-search-button:hover{background:#c82333;transform:translateY(-50%) scale(1.1)}.dktv-page .nha-thoi-vu-filter{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:white;min-width:200px;transition:border-color .3s}.dktv-page .nha-thoi-vu-filter:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.dktv-page .nha-thoi-vu-modal-mobile{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:rgba(0,0,0,.3)!important;z-index:2000!important;display:flex!important;align-items:center!important;justify-content:center!important}.dktv-page .nha-thoi-vu-modal-content-mobile{background:#fff!important;border-radius:10px!important;box-shadow:0 2px 12px #00000026!important;padding:16px!important;min-width:220px!important;max-width:90vw!important;max-height:80vh!important;overflow-y:auto!important;position:relative!important}.dktv-page .nha-thoi-vu-modal-content-mobile h4{font-size:1.1rem!important;margin-bottom:12px!important;color:#2c3e50!important}.dktv-page .nha-thoi-vu-modal-list-mobile{list-style:none!important;padding:0!important;margin:0!important}.dktv-page .nha-thoi-vu-modal-list-mobile li{padding:10px 0!important;border-bottom:1px solid #eee!important;cursor:pointer!important;color:#374151!important;font-size:1rem!important;transition:background .2s!important}.dktv-page .nha-thoi-vu-modal-list-mobile li:last-child{border-bottom:none!important}.dktv-page .nha-thoi-vu-modal-list-mobile li:hover,.dktv-page .nha-thoi-vu-modal-list-mobile li.selected{background:#f0f4ff!important;color:#667eea!important}.dktv-page .nha-thoi-vu-modal-close-mobile{position:absolute!important;top:10px!important;right:16px!important;background:none!important;border:none!important;font-size:1.5rem!important;color:#667eea!important;cursor:pointer!important}.dktv-page .nha-thoi-vu-filter-mobile-btn{display:none}@media (max-width: 768px){.dktv-page .app-container{width:100vw;max-width:100vw;margin:0;box-sizing:border-box;padding:0 8px}.dktv-page .nha-thoi-vu-filter-mobile-btn{display:flex!important;min-width:40px!important;max-width:40px!important;height:40px!important;background:#fff!important;border:1px solid #ddd!important;border-radius:6px!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;margin-left:0!important;color:#667eea!important;transition:all .3s ease!important;flex-shrink:0!important}.dktv-page .nha-thoi-vu-filter-mobile-btn:hover{background:rgba(102,126,234,.1)!important;border-color:#667eea!important}.dktv-page .nha-thoi-vu-filter-mobile-btn>svg{width:22px!important;height:22px!important;color:#667eea!important}.dktv-page .nha-thoi-vu-modal-mobile{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:rgba(0,0,0,.3)!important;z-index:2000!important;display:flex!important;align-items:center!important;justify-content:center!important}.dktv-page .nha-thoi-vu-modal-content-mobile{background:#fff!important;border-radius:10px!important;box-shadow:0 2px 12px #00000026!important;padding:16px!important;min-width:220px!important;max-width:90vw!important;max-height:80vh!important;overflow-y:auto!important;position:relative!important}.dktv-page .nha-thoi-vu-modal-content-mobile h4{font-size:1.1rem!important;margin-bottom:12px!important;color:#2c3e50!important}.dktv-page .nha-thoi-vu-modal-list-mobile{list-style:none!important;padding:0!important;margin:0!important}.dktv-page .nha-thoi-vu-modal-list-mobile li{padding:10px 0!important;border-bottom:1px solid #eee!important;cursor:pointer!important;color:#374151!important;font-size:1rem!important;transition:background .2s!important}.dktv-page .nha-thoi-vu-modal-list-mobile li:last-child{border-bottom:none!important}.dktv-page .nha-thoi-vu-modal-list-mobile li:hover,.dktv-page .nha-thoi-vu-modal-list-mobile li.selected{background:#f0f4ff!important;color:#667eea!important}.dktv-page .nha-thoi-vu-modal-close-mobile{position:absolute!important;top:10px!important;right:16px!important;background:none!important;border:none!important;font-size:1.5rem!important;color:#667eea!important;cursor:pointer!important}.dktv-page .search-container{flex:1!important;min-width:0!important;margin:0!important;max-width:calc(100% - 100px)!important}.dktv-page .search-input{font-size:14px!important;padding:8px 8px 8px 36px!important;border-radius:6px!important;width:100%!important}.dktv-page .nha-thoi-vu-filter{display:none!important}}@media (max-width: 992px){.dktv-page .search-container{min-width:auto}}.dktv-page .candidates-table-container{flex:1;display:flex;flex-direction:column;overflow-x:auto;overflow-y:hidden;background:white;border-radius:8px;box-shadow:0 2px 4px #0000001a}.dktv-page .candidates-table-container::-webkit-scrollbar{height:8px}.dktv-page .candidates-table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.dktv-page .candidates-table-container::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.dktv-page .candidates-table-container::-webkit-scrollbar-thumb:hover{background:#555}.dktv-page .candidates-table{border-collapse:collapse;font-size:16px}.dktv-page .candidates-table.desktop-table{min-width:-moz-max-content;min-width:max-content;border-collapse:collapse;display:flex;flex-direction:column;height:100%;overflow:visible}.dktv-page .candidates-table.desktop-table thead{flex-shrink:0;background:#6c757d;color:#fff;padding-right:17px;box-sizing:border-box}.dktv-page .candidates-table.desktop-table thead tr{display:flex}.dktv-page .candidates-table.desktop-table thead th{padding:10px 6px;text-align:center;font-weight:600;font-size:14px;border-right:1px solid rgba(255,255,255,.2);height:42px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dktv-page .candidates-table.desktop-table thead th:last-child{border-right:none}.dktv-page .candidates-table.desktop-table:has(tbody::-webkit-scrollbar) thead{padding-right:17px}@supports not (selector(:has(*))){.dktv-page .candidates-table.desktop-table thead{padding-right:17px}}.dktv-page .candidates-table.desktop-table thead th.col-stt,.dktv-page .candidates-table.desktop-table tbody td.col-stt{flex:0 0 40px;width:40px}.dktv-page .candidates-table.desktop-table thead th.col-diem-danh,.dktv-page .candidates-table.desktop-table tbody td.col-diem-danh{flex:0 0 130px;width:130px}.dktv-page .candidates-table.desktop-table thead th.col-ho-va-ten,.dktv-page .candidates-table.desktop-table tbody td.col-ho-va-ten{flex:0 0 220px;width:220px}.dktv-page .candidates-table.desktop-table thead th.col-ngay-sinh,.dktv-page .candidates-table.desktop-table tbody td.col-ngay-sinh,.dktv-page .candidates-table.desktop-table thead th.col-gioi-tinh,.dktv-page .candidates-table.desktop-table tbody td.col-gioi-tinh{flex:0 0 120px;width:120px}.dktv-page .candidates-table.desktop-table thead th.col-so-cccd,.dktv-page .candidates-table.desktop-table tbody td.col-so-cccd{flex:0 0 150px;width:150px}.dktv-page .candidates-table.desktop-table thead th.col-nha-thoi-vu,.dktv-page .candidates-table.desktop-table tbody td.col-nha-thoi-vu,.dktv-page .candidates-table.desktop-table thead th.col-nguoi-gioi-thieu,.dktv-page .candidates-table.desktop-table tbody td.col-nguoi-gioi-thieu{flex:0 0 170px;width:170px}.dktv-page .candidates-table.desktop-table thead th.col-so-dien-thoai,.dktv-page .candidates-table.desktop-table tbody td.col-so-dien-thoai{flex:0 0 140px;width:140px}.dktv-page .candidates-table.desktop-table thead th.col-trang-thai,.dktv-page .candidates-table.desktop-table tbody td.col-trang-thai{flex:0 0 180px;width:180px}.dktv-page .candidates-table.desktop-table thead th.col-thao-tac,.dktv-page .candidates-table.desktop-table tbody td.col-thao-tac{flex:0 0 160px;width:160px}.dktv-page .candidates-table.desktop-table thead th.col-so-cmt,.dktv-page .candidates-table.desktop-table tbody td.col-so-cmt{flex:0 0 150px;width:150px}.dktv-page .candidates-table.desktop-table thead th.col-ngay-cap,.dktv-page .candidates-table.desktop-table tbody td.col-ngay-cap,.dktv-page .candidates-table.desktop-table thead th.col-noi-cap,.dktv-page .candidates-table.desktop-table tbody td.col-noi-cap{flex:0 0 120px;width:120px}.dktv-page .candidates-table.desktop-table thead th.col-dia-chi,.dktv-page .candidates-table.desktop-table tbody td.col-dia-chi{flex:0 0 250px;width:250px}.dktv-page .candidates-table.desktop-table thead th.col-email,.dktv-page .candidates-table.desktop-table tbody td.col-email{flex:0 0 200px;width:200px}.dktv-page .candidates-table.desktop-table thead th.col-lam-them-gio,.dktv-page .candidates-table.desktop-table tbody td.col-lam-them-gio{flex:0 0 150px;width:150px}.dktv-page .candidates-table.desktop-table thead th.col-nguyen-vong-ca,.dktv-page .candidates-table.desktop-table tbody td.col-nguyen-vong-ca{flex:0 0 210px;width:210px}.dktv-page .candidates-table.desktop-table thead th.col-ly-do-ca,.dktv-page .candidates-table.desktop-table tbody td.col-ly-do-ca{flex:0 0 200px;width:200px}.dktv-page .candidates-table.desktop-table thead th.col-ky-tuc,.dktv-page .candidates-table.desktop-table tbody td.col-ky-tuc{flex:0 0 150px;width:150px}.dktv-page .candidates-table.desktop-table thead th.col-cam-ket-lv,.dktv-page .candidates-table.desktop-table tbody td.col-cam-ket-lv{flex:0 0 170px;width:170px}.dktv-page .candidates-table.desktop-table tbody{flex:1;overflow-y:scroll;overflow-x:visible;display:block;max-height:calc(100vh - 280px);padding-right:0;box-sizing:content-box;scrollbar-gutter:stable;min-height:calc(100vh - 350px)}.dktv-page .candidates-table.desktop-table tbody tr{display:flex;border-bottom:1px solid #dee2e6;transition:background-color .2s;min-width:-moz-max-content;min-width:max-content;box-sizing:border-box}.dktv-page .candidates-table.desktop-table tbody tr:hover{background-color:#f8f9fa}.dktv-page .candidates-table.desktop-table tbody td{padding:8px 6px;text-align:center;vertical-align:middle;border-right:1px solid #dee2e6;word-wrap:break-word;display:flex;align-items:center;justify-content:center;line-height:1.2;flex-shrink:0}.dktv-page .candidates-table.desktop-table tbody td:last-child{border-right:none}.dktv-page .mobile-table{display:none}.dktv-page .candidates-table.mobile-table{width:100%;border-collapse:collapse;table-layout:fixed}.dktv-page .candidates-table.mobile-table thead{background:#6c757d;color:#fff}.dktv-page .candidates-table.mobile-table thead th{padding:10px 8px;text-align:center;font-weight:600;font-size:13px;border-right:1px solid rgba(255,255,255,.2)}.dktv-page .candidates-table.mobile-table thead th:last-child{border-right:none}.dktv-page .candidates-table.mobile-table tbody{display:table-row-group}.dktv-page .candidates-table.mobile-table tbody tr{border-bottom:1px solid #dee2e6;transition:background-color .2s}.dktv-page .candidates-table.mobile-table tbody tr:hover{background-color:#f8f9fa}.dktv-page .candidates-table.mobile-table tbody td{padding:10px 8px;vertical-align:middle;border-right:1px solid #dee2e6;font-size:13px}.dktv-page .candidates-table.mobile-table tbody td:last-child{border-right:none}.dktv-page .mobile-table th:nth-child(1),.dktv-page .mobile-table td:nth-child(1){width:40px;text-align:center}.dktv-page .mobile-table th:nth-child(2),.dktv-page .mobile-table td:nth-child(2){width:80px;text-align:center}.dktv-page .mobile-table th:nth-child(3),.dktv-page .mobile-table td:nth-child(3){width:120px}.dktv-page .mobile-table th:nth-child(4),.dktv-page .mobile-table td:nth-child(4){width:auto}.dktv-page .mobile-table th:nth-child(5),.dktv-page .mobile-table td:nth-child(5){width:80px;text-align:center}.dktv-page .mobile-info-cell{font-size:12px;line-height:1.3;padding:8px 12px!important}.dktv-page .mobile-info-line{margin-bottom:3px;display:flex;justify-content:space-between;align-items:center}.dktv-page .mobile-info-line:last-child{margin-bottom:0}.dktv-page .info-left{font-weight:500;color:#2c3e50;flex:1}.dktv-page .info-right{font-weight:500;color:#6c757d;text-align:right;flex:1}.dktv-page .phone-cell{padding:8px 12px!important}.dktv-page .phone-container{display:flex;align-items:center;justify-content:center;gap:8px}.dktv-page .phone-number{flex:1;font-weight:500;text-align:center}.dktv-page .edit-phone-btn{padding:4px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s}.dktv-page .edit-phone-btn:hover{background:#0056b3}.dktv-page .status-container{overflow:hidden;position:relative;display:inline-block;max-width:100%;white-space:nowrap}.dktv-page .status-marquee{display:inline-block;white-space:nowrap;animation:smooth-marquee 10s linear infinite}.dktv-page .status-container:hover .status-marquee{animation-play-state:paused}.dktv-page .mobile-candidate-cell{padding:8px!important;vertical-align:top;width:100%;max-width:0;overflow:hidden;word-wrap:break-word;white-space:normal}.dktv-page .mobile-row{padding:5px;border-radius:6px;width:100%;max-width:100%;overflow:hidden;word-wrap:break-word;box-sizing:border-box}.dktv-page .mobile-row:last-child{margin-bottom:0}.dktv-page .mobile-row-left{text-align:left}.dktv-page .mobile-row-right{text-align:right}.dktv-page .mobile-row-1{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;max-width:100%;overflow:hidden}.dktv-page .mobile-row-2{display:flex;gap:5px;align-items:flex-start;width:100%;max-width:100%;overflow:hidden}.dktv-page .mobile-info-column{padding:2px}.dktv-page .mobile-info-item{margin-bottom:6px;font-size:13px;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;max-width:100%}.dktv-page .mobile-info-item:last-child{margin-bottom:0}.dktv-page .mobile-info-item strong{color:#2c3e50;margin-right:5px}.dktv-page .mobile-avatar-info-row{display:flex;gap:12px;align-items:flex-start;width:100%;max-width:100%;overflow:hidden}.dktv-page .mobile-avatar-container{flex-shrink:0;width:40px;height:60px}.dktv-page .mobile-candidate-avatar{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:8px;border:2px solid #e9ecef}.dktv-page .mobile-no-avatar{width:100%;height:100%;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:9px;color:#6c757d;text-align:center;line-height:1.1}.dktv-page .mobile-basic-info{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:60px;min-width:0;overflow:hidden;word-wrap:break-word}.dktv-page .mobile-status-left{display:flex;justify-content:flex-start;align-items:center;gap:8px;flex:1;min-width:0;width:100%}.dktv-page .mobile-status-left strong{color:#2c3e50;font-size:12px}.dktv-page .mobile-status-left .status-container{max-width:100%;overflow:hidden;position:relative;white-space:nowrap}.dktv-page .mobile-status-left .status-marquee{animation:smooth-marquee 10s linear infinite;white-space:nowrap;display:inline-block}.dktv-page .mobile-delete-right{display:flex;justify-content:flex-end;align-items:center;flex-shrink:0;width:auto}.dktv-page .mobile-delete-btn{width:28px;height:28px;border-radius:50%;border:2px solid #dc3545;background:#dc3545;color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0;line-height:1}.dktv-page .mobile-delete-btn:hover:not(:disabled){background:#c82333;border-color:#c82333;transform:scale(1.1)}.dktv-page .mobile-nha-thoi-vu{background:#27beec;border:1px solid #5a6fd8;border-radius:8px;padding:4px;margin-bottom:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px;box-shadow:0 2px 6px #5a6fd84d;position:relative;overflow:hidden;text-align:right;width:auto;max-width:75px}.dktv-page .mobile-nha-thoi-vu:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s infinite}.dktv-page .mobile-nha-thoi-vu-row{display:flex;justify-content:flex-end;align-items:center;width:100%;margin-bottom:8px}.dktv-page .mobile-action-buttons-row{display:flex;justify-content:center;align-items:center;width:100%}.dktv-page .mobile-row-3{display:flex;justify-content:flex-end;align-items:center}@media (max-width: 1024px) and (min-width: 769px){.dktv-page .desktop-table th,.dktv-page .desktop-table td{padding:7px 5px;font-size:13px}.dktv-page .candidates-table.desktop-table tbody{max-height:calc(100vh - 280px)}.dktv-page .candidates-table.desktop-table thead th:nth-child(3),.dktv-page .candidates-table.desktop-table tbody td:nth-child(3){flex:0 0 16%;min-width:130px}.dktv-page .candidates-table.desktop-table thead th:nth-child(7),.dktv-page .candidates-table.desktop-table tbody td:nth-child(7){flex:0 0 11%;min-width:95px}.dktv-page .candidates-table.desktop-table thead th:nth-child(9),.dktv-page .candidates-table.desktop-table tbody td:nth-child(9){flex:0 0 14%;min-width:130px}}@media (max-width: 768px){.dktv-page .candidates-table.desktop-table{display:none!important}.dktv-page .candidates-table.mobile-table{display:table!important;width:100%;table-layout:fixed}.dktv-page .candidates-table-container{overflow-x:hidden;overflow-y:auto!important;width:100%;max-width:100vw;max-height:calc(100vh - 200px)!important;flex:1!important}.dktv-page .mobile-table{display:table!important;width:100%!important;table-layout:auto!important}.dktv-page .mobile-table tbody{display:table-row-group!important}.dktv-page .mobile-table tr{display:table-row!important;border-bottom:1px solid #ddd!important}.dktv-page .mobile-table .mobile-candidate-cell{display:table-cell!important;width:100%!important;padding:12px!important;vertical-align:top!important}.dktv-page .mobile-info-cell{font-size:13px!important;line-height:1.4!important;padding:12px 15px!important}.dktv-page .mobile-info-line{margin-bottom:8px!important;display:block!important;word-wrap:break-word!important}.dktv-page .mobile-info-line:last-child{margin-bottom:0!important}.dktv-page .mobile-line-1{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;flex-wrap:wrap!important;border-bottom:1px solid #e9ecef!important;padding-bottom:6px!important;margin-bottom:10px!important}.mobile-line-1 .info-left{flex:1!important;text-align:left!important;color:#2c3e50!important;font-size:13px!important}.mobile-line-1 .info-right{flex:0 0 auto!important;text-align:right!important;color:#2c3e50!important;font-size:13px!important}.mobile-line-1 .status-badge{font-size:11px!important;padding:3px 8px!important;margin-left:5px!important}.dktv-page .mobile-line-2,.dktv-page .mobile-line-3,.dktv-page .mobile-line-4,.dktv-page .mobile-line-5,.dktv-page .mobile-line-6{text-align:left!important}.mobile-line-2 .info-left,.mobile-line-3 .info-left,.mobile-line-4 .info-left,.mobile-line-5 .info-left,.mobile-line-6 .info-left{color:#2c3e50!important;font-size:13px!important;display:block!important}.dktv-page .mobile-line-7{text-align:right!important;border-top:1px solid #e9ecef!important;padding-top:6px!important;margin-top:8px!important}.mobile-line-7 .info-right{color:#6c757d!important;font-style:italic!important;font-size:12px!important}.dktv-page .mobile-action-buttons{display:flex!important;flex-direction:column!important;gap:20px!important;align-items:center!important;vertical-align:middle!important}.mobile-action-buttons .action-btn{width:100%!important;max-width:120px!important;padding:12px!important;font-size:11px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px;border-radius:4px!important;transition:all .2s ease!important}.mobile-action-buttons .action-btn svg{width:12px!important;height:24px!important;flex-shrink:0!important}.mobile-action-buttons .action-btn span{font-size:10px!important;font-weight:500!important}.dktv-page .attendance-btn{background:#17a2b8!important;color:#fff!important}.dktv-page .attendance-btn:hover{background:#138496!important}.dktv-page .attendance-btn:disabled{background:#6c757d!important;cursor:not-allowed!important;opacity:.7}.dktv-page .attendance-status-present{display:flex!important;align-items:center!important;gap:4px!important;padding:8px!important;background:#caeeda!important;color:#330303!important;border-radius:6px!important;font-size:12px!important;font-weight:500!important;border:none!important;cursor:default!important;max-width:180px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.dktv-page .attendance-status-present svg{width:12px!important;height:12px!important;flex-shrink:0!important}.dktv-page .edit-btn{background:#007bff!important;color:#fff!important}.dktv-page .edit-btn:hover{background:#0056b3!important}.dktv-page .delete-btn{background:#dc3545!important;color:#fff!important}.dktv-page .delete-btn:hover{background:#c82333!important}.dktv-page .mobile-info-line strong{font-weight:600!important;color:#495057!important}.dktv-page .status-container{max-width:100%}.dktv-page .status-marquee{animation:smooth-marquee 10s linear infinite;display:inline-block;white-space:nowrap}.dktv-page .permanent-empty-content{padding:40px 15px}.dktv-page .permanent-empty-content svg{width:40px;height:40px}.dktv-page .permanent-empty-content h3{font-size:16px}.dktv-page .permanent-empty-content p{font-size:13px}}@media (max-width: 480px){.dktv-page .mobile-table th,.dktv-page .mobile-table td{padding:8px 6px;font-size:12px}.dktv-page .mobile-info-cell{font-size:11px;padding:6px 8px!important}.dktv-page .mobile-info-line{margin-bottom:4px}.dktv-page .mobile-info-line:first-child{border-bottom:1px solid #eee;padding-bottom:3px;margin-bottom:6px}.dktv-page .info-left,.dktv-page .info-right{font-size:11px}}.dktv-page .attendance-status-present{text-align:center;padding:3px 6px}.dktv-page .attendance-status-text{font-size:14px;font-weight:600;color:#28a745;margin-bottom:1px}.dktv-page .attendance-time-text{font-size:12px;color:#666;line-height:1.1}.dktv-page .attendance-btn{padding:4px 8px!important;font-size:11px!important;white-space:nowrap;min-width:70px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:3px;transition:background-color .2s}.dktv-page .attendance-btn:hover:not(:disabled){background:#0056b3}.dktv-page .attendance-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.7}.dktv-page .attendance-btn span{font-size:11px}@media (max-width: 1200px){.dktv-page .attendance-btn{padding:4px 8px!important;font-size:11px!important;min-width:70px}.dktv-page .attendance-btn span,.dktv-page .attendance-status-text{font-size:11px}.dktv-page .attendance-time-text{font-size:9px}}@media (max-width: 992px){.dktv-page .attendance-btn{padding:3px 6px!important;font-size:10px!important;min-width:60px}.dktv-page .attendance-btn span{font-size:10px}}.dktv-page .candidate-name-with-avatar{padding:6px 4px!important;justify-content:flex-start!important;text-align:left!important}.dktv-page .name-avatar-container{display:flex;align-items:center;gap:20px;justify-content:flex-start;width:100%}.dktv-page .avatar-container-inline{flex-shrink:0}.dktv-page .candidate-avatar-inline{width:32px;height:48px;-o-object-fit:cover;object-fit:cover;border-radius:4px;border:1px solid #ddd;box-shadow:0 1px 3px #0000001a}.dktv-page .no-avatar-inline{width:32px;height:48px;background:#f8f9fa;border:1px solid #ddd;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:9px;color:#666;text-align:center;line-height:1.1}.dktv-page .candidate-name-text{flex:1;min-width:0;font-weight:500;color:#333;line-height:1.2;word-break:break-word;text-align:left;font-size:16px}.dktv-page .cccd-cell{display:flex;align-items:center;gap:8px;justify-content:flex-start}.dktv-page .cccd-images{display:flex;flex-direction:column;gap:4px;flex-shrink:0;margin:0;padding:0}.dktv-page .cccd-thumbnail{width:40px;height:25px;-o-object-fit:cover;object-fit:cover;border-radius:4px;border:1px solid #dee2e6;cursor:pointer;transition:transform .2s}.dktv-page .cccd-thumbnail:hover{transform:scale(1.1);border-color:#007bff}.dktv-page .cccd-number{font-weight:500;font-size:13px;white-space:nowrap}.dktv-page .lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;cursor:pointer}.dktv-page .lightbox-content{position:relative;max-width:95vw;max-height:95vh;display:flex;align-items:center;justify-content:center}.dktv-page .lightbox-image{max-width:100%;max-height:95vh;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 4px 30px #00000080}.dktv-page .lightbox-close{position:absolute;top:-50px;right:0;background:rgba(255,255,255,.2);border:none;color:#fff;font-size:36px;cursor:pointer;width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.dktv-page .lightbox-close:hover{background:rgba(255,255,255,.3)}.dktv-page .permanent-empty-state{text-align:center;padding:0;flex:1!important;width:100%!important;max-width:100%!important;border-right:none!important}.dktv-page .permanent-empty-content{padding:60px 20px;color:#666;width:100%}.dktv-page .permanent-empty-content svg{color:#ccc;margin-bottom:16px}.dktv-page .permanent-empty-content h3{margin:0 0 8px;color:#333;font-size:18px}.dktv-page .permanent-empty-content p{margin:0;color:#666;font-size:14px}.dktv-page .candidates-table.desktop-table tbody tr:has(.permanent-empty-state){display:flex!important;width:100%!important}.dktv-page .candidates-table.desktop-table tbody tr:has(.permanent-empty-state) td{flex:1!important;width:100%!important;max-width:100%!important;border-right:none!important}.dktv-page .candidates-table.mobile-table tbody tr:has(.permanent-empty-state) td{width:100%!important}.filter-search{padding:8px;border-bottom:1px solid #eee}.filter-option input[type=checkbox]{margin-right:10px;margin-left:0;width:16px;height:16px;cursor:pointer;accent-color:#007bff}.dktv-page .filter-menu{position:absolute;top:100%;left:0;background:white;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:1000;width:300px;max-height:400px;display:none;flex-direction:column;font-size:14px}.dktv-page .filter-menu.show{display:flex}.dktv-page .filter-values{flex:1;overflow-y:auto;max-height:250px;padding:4px 0}.dktv-page .filter-values::-webkit-scrollbar{width:8px}.dktv-page .filter-values::-webkit-scrollbar-track{background:#f8f9fa;border-radius:4px}.dktv-page .filter-values::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px;border:1px solid #f8f9fa}.dktv-page .filter-values::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.dktv-page .filter-values{scrollbar-width:thin;scrollbar-color:#c1c1c1 #f8f9fa}.dktv-page .th-cell{position:relative;padding:12px 8px;background:#6c757d;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dktv-page .th-cell:hover{background:#6c757d}.dktv-page .th-cell span{display:flex;align-items:center;justify-content:space-between;gap:4px;font-weight:600;color:#fff;width:100%;position:relative;min-height:24px}.dktv-page .th-cell .header-text{flex:1;text-align:center;display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff}.dktv-page .filter-menu span,.dktv-page .filter-value-text,.dktv-page .filter-option-text{color:#333!important}.dktv-page .filter-menu,.dktv-page .filter-menu *{color:inherit}.dktv-page .filter-menu input::-moz-placeholder{color:#333!important}.dktv-page .filter-menu .filter-value-text,.dktv-page .filter-menu .filter-option-text,.dktv-page .filter-menu input::placeholder,.dktv-page .filter-menu .no-values{color:#333!important}.dktv-page .filter-btn{background:none;border:none;color:#fffc;cursor:pointer;padding:2px;margin-left:auto;border-radius:3px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dktv-page .filter-btn:hover{background:rgba(255,255,255,.2);color:#fff}.dktv-page .filter-btn:focus{outline:none;background:rgba(255,255,255,.3);color:#fff}.dktv-page .th-cell:first-child .filter-menu{left:0;transform:none}.dktv-page .th-cell:last-child .filter-menu,.dktv-page .th-cell:nth-last-child(-n+2) .filter-menu{left:auto;right:0;transform:none}.dktv-page .th-cell:not(:first-child):not(:last-child):not(:nth-last-child(2)) .filter-menu{left:50%;transform:translate(-50%)}.dktv-page .filter-menu{max-width:90vw;min-width:250px}@media (max-width: 768px){.dktv-page .filter-menu{width:280px;left:50%!important;right:auto!important;transform:translate(-50%)!important}}.dktv-page .filter-controls{padding:10px 12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee;background:#f8f9fa;font-size:12px}.dktv-page .select-all-btn{background:none;border:none;color:#007bff!important;cursor:pointer;font-size:12px;padding:4px 8px;border-radius:3px;font-weight:500;transition:background-color .15s ease}.dktv-page .select-all-btn:hover{background:rgba(0,123,255,.1);text-decoration:none}.dktv-page .selected-count{font-size:12px;color:#666!important;font-weight:500;background:#e9ecef;padding:3px 8px;border-radius:12px}.dktv-page .filter-search{padding:8px;border-bottom:1px solid #eee}.dktv-page .filter-search .col-filter{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:3px;font-size:13px}.dktv-page .menu-actions{padding:8px;border-top:1px solid #eee;display:flex;gap:8px;background:#f9f9f9}.dktv-page .menu-actions button{flex:1;padding:6px 12px;border:1px solid #ddd;border-radius:3px;background:white;cursor:pointer;font-size:12px}.dktv-page .menu-actions button:hover{background:#f5f5f5}.dktv-page .menu-actions button:first-child{background:#007bff;color:#fff;border-color:#007bff;font-weight:500}.dktv-page .menu-actions button:first-child:hover{background:#0056b3;border-color:#0056b3}.dktv-page .menu-actions button:last-child{background:#6c757d;color:#fff;border-color:#6c757d}.dktv-page .menu-actions button:last-child:hover{background:#545b62;border-color:#545b62}.dktv-page .no-values{padding:12px;text-align:center;color:#999;font-style:italic;font-size:13px}.dktv-page .filter-option{display:flex;align-items:center;padding:8px 12px;cursor:pointer;margin:0;font-size:13px;border-bottom:1px solid #f0f0f0;transition:background-color .15s ease}.dktv-page .filter-option:hover{background:#f8f9fa}.dktv-page .filter-option:last-child{border-bottom:none}.dktv-page .filter-option input[type=checkbox]{margin-right:10px;margin-left:0;width:16px;height:16px;cursor:pointer;accent-color:#007bff}.dktv-page .filter-option-text{flex:1;line-height:1.4;word-break:break-word;cursor:pointer;margin-right:8px;text-align:left;overflow:hidden;text-overflow:ellipsis}.dktv-page .filter-option-count{flex:0 0 auto!important;font-size:11px!important;color:#666!important;background-color:#e9ecef!important;padding:4px 8px!important;border-radius:10px!important;font-weight:500!important;text-align:center!important;min-width:28px!important;max-width:60px!important;white-space:nowrap!important;display:flex!important;align-items:center!important;justify-content:center!important}.dktv-page .select-all-option{background:#f8f9fa;border-bottom:2px solid #ddd;font-weight:500}.dktv-page .select-all-option:hover{background:#e9ecef}.dktv-page .filter-value-item{display:flex;align-items:center;padding:8px 12px;cursor:pointer;margin:0;font-size:13px;border-bottom:1px solid #f0f0f0;transition:background-color .15s ease}.dktv-page .filter-value-item:hover{background:#f8f9fa}.dktv-page .filter-value-item:last-child{border-bottom:none}.dktv-page .filter-value-item input[type=checkbox]{margin-right:10px;margin-left:0;width:16px;height:16px;cursor:pointer;accent-color:#007bff}.dktv-page .filter-value-text{flex:1;line-height:1.4;word-break:break-word;cursor:pointer;margin-right:8px;text-align:left;overflow:hidden;text-overflow:ellipsis}.dktv-page .filter-value-count{flex:0 0 auto!important;font-size:11px!important;color:#666!important;background-color:#e9ecef!important;padding:4px 8px!important;border-radius:10px!important;font-weight:500!important;text-align:center!important;min-width:28px!important;max-width:60px!important;white-space:nowrap!important;display:flex!important;align-items:center!important;justify-content:center!important}.dktv-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dktv-page .modal-content{background:white;border-radius:12px;max-width:800px;width:95%;max-height:95vh;box-shadow:0 12px 48px #0003;display:flex;flex-direction:column;overflow:hidden}.dktv-page .add-candidate-modal{display:flex;flex-direction:column;height:90vh;max-height:90vh}.dktv-page .modal-header-fixed{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef;background:white;flex-shrink:0;position:relative;z-index:10}.dktv-page .modal-header-fixed h3{margin:0;font-size:20px;font-weight:600;color:#2c3e50}.dktv-page .modal-header-actions{display:flex;gap:12px;align-items:center}.dktv-page .print-form-header-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;margin-right:20px;background:linear-gradient(135deg,#17a2b8 0%,#138496 100%);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap}.dktv-page .print-form-header-btn:hover{background:linear-gradient(135deg,#138496 0%,#117a8b 100%);transform:translateY(-1px);box-shadow:0 4px 12px #17a2b84d}.dktv-page .print-form-header-btn .print-btn-text{display:inline}.dktv-page .modal-close-btn{background:none;border:none;font-size:45px;color:#6c757d;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0}.dktv-page .modal-close-btn:hover{background:#f8f9fa;color:#343a40}.dktv-page .modal-container-scrollable{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px;background:white}.dktv-page .modal-container-scrollable::-webkit-scrollbar{width:6px}.dktv-page .modal-container-scrollable::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.dktv-page .modal-container-scrollable::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.dktv-page .modal-container-scrollable::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.dktv-page .modal-footer-fixed{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid #e9ecef;background:#f8f9fa;flex-shrink:0;flex-wrap:wrap}.dktv-page .footer-left-actions{display:flex;gap:12px;align-items:center}.dktv-page .footer-right-actions{display:flex;gap:12px;align-items:center;margin-left:auto}.dktv-page .modal-footer-fixed .delete-btn{padding:10px 20px;background:linear-gradient(135deg,#dc3545 0%,#c82333 100%);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;min-width:120px}.dktv-page .modal-footer-fixed .delete-btn:hover{background:linear-gradient(135deg,#c82333 0%,#bd2130 100%);transform:translateY(-2px);box-shadow:0 4px 12px #dc35454d}.dktv-page .modal-footer-fixed .delete-btn.disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.dktv-page .modal-footer-fixed .delete-btn.disabled:hover{transform:none;box-shadow:none}.dktv-page .modal-footer-fixed .print-form-btn{padding:10px 20px;background:linear-gradient(135deg,#17a2b8 0%,#138496 100%);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;min-width:140px}.dktv-page .modal-footer-fixed .print-form-btn:hover{background:linear-gradient(135deg,#138496 0%,#117a8b 100%);transform:translateY(-2px);box-shadow:0 4px 12px #17a2b84d}.dktv-page .modal-footer-fixed .approve-btn{padding:10px 20px;background:linear-gradient(135deg,#28a745 0%,#20c997 100%);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;min-width:130px}.dktv-page .modal-footer-fixed .approve-btn:hover{background:linear-gradient(135deg,#20c997 0%,#17a2b8 100%);transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.dktv-page .modal-footer-fixed .update-btn{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;min-width:100px}.dktv-page .modal-footer-fixed .update-btn:hover:not(:disabled){background:#5a6268;transform:translateY(-2px);box-shadow:0 4px 12px #6c757d4d}.dktv-page .modal-footer-fixed .update-btn.has-changes{background:linear-gradient(135deg,#007bff 0%,#0056b3 100%);animation:pulse 2s ease-in-out infinite}.dktv-page .modal-footer-fixed .update-btn.has-changes:hover{background:linear-gradient(135deg,#0056b3 0%,#004085 100%)}.dktv-page .modal-footer-fixed .update-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes pulse{0%,to{box-shadow:0 0 #007bffb3}50%{box-shadow:0 0 0 8px #007bff00}}.dktv-page .candidate-info-modal-new{max-width:700px;max-height:100vh;width:95%;display:flex;flex-direction:column;overflow:hidden}.dktv-page .info-frame-1{margin-bottom:10px;padding:25px;background:linear-gradient(135deg,#f8fbff 0%,#e8f4fd 100%);border-radius:12px;border:2px solid #e3f2fd;box-shadow:0 2px 8px #007bff1a}.dktv-page .desktop-layout{display:grid;grid-template-columns:140px 1fr;gap:20px}.dktv-page .mobile-layout{display:none}.dktv-page .avatar-col{display:flex;justify-content:center;align-items:center}.dktv-page .basic-info-col{display:flex;flex-direction:column;gap:10px}.dktv-page .info-line{display:flex;justify-content:space-between;align-items:flex-start;min-height:32px;flex-wrap:wrap;gap:10px;max-width:100%;overflow:hidden}.dktv-page .name-text{font-size:22px;font-weight:600;color:#2c3e50;flex:1;max-width:60%;word-wrap:break-word;overflow-wrap:break-word}.dktv-page .nha-thoi-vu-select{padding:6px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:white;min-width:200px}.dktv-page .nha-thoi-vu-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.dktv-page .nha-thoi-vu-display{display:flex;align-items:center;gap:8px;background:#f8f9fa;padding:8px 12px;border-radius:6px;border:1px solid #e9ecef;transition:all .2s ease}.dktv-page .nha-thoi-vu-display:hover{background:#e9ecef;border-color:#007bff}.dktv-page .nha-thoi-vu-text{font-size:13px;color:#495057;font-weight:500;margin:0}.dktv-page .edit-nha-thoi-vu-btn{background:#007bff;color:#fff;border:none;border-radius:4px;width:24px;height:24px;min-width:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #007bff33}.dktv-page .edit-nha-thoi-vu-btn:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 8px #007bff4d}.dktv-page .edit-nha-thoi-vu-btn:active{transform:translateY(0);box-shadow:0 1px 3px #007bff33}.dktv-page .mobile-row-1{display:flex;justify-content:space-between;align-items:center}.dktv-page .mobile-row-2{display:flex;justify-content:center;align-items:center;padding:10px 0}.dktv-page .mobile-row-3{display:flex;justify-content:center;align-items:center}.dktv-page .mobile-row-4{display:flex;justify-content:center;align-items:center;padding:8px 0}.dktv-page .mobile-row-5{display:flex;justify-content:flex-end;align-items:center}.dktv-page .info-frame-2{margin-bottom:20px;padding:20px;border-radius:8px;border:1px solid #e9ecef}.dktv-page .detail-row{display:flex;gap:20px;margin-bottom:15px;flex-wrap:nowrap}.dktv-page .detail-group{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.dktv-page .info-line .status-container{max-width:300px;width:300px;overflow:hidden;position:relative}.dktv-page .info-line .status-marquee{animation:marquee-pingpong-modal 8s ease-in-out infinite;white-space:nowrap;display:inline-block;width:-moz-max-content;width:max-content}.dktv-page .basic-info-col .status-container{max-width:400px;width:400px;overflow:hidden;position:relative}.dktv-page .basic-info-col .status-marquee{animation:marquee-pingpong-modal-full 8s ease-in-out infinite;white-space:nowrap;display:inline-block;width:-moz-max-content;width:max-content}.dktv-page .info-line .status-container:hover .status-marquee,.dktv-page .basic-info-col .status-container:hover .status-marquee{animation-play-state:paused}.dktv-page .detail-group label{font-weight:600;color:#495057;font-size:14px}.dktv-page .detail-group span{color:#2c3e50;font-size:15px;padding:8px 12px;background:#f8f9fa;border-radius:4px;border:1px solid #e9ecef;min-height:38px;display:flex;align-items:center}.dktv-page .edit-input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s;min-height:38px}.dktv-page .edit-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.dktv-page .cccd-images{margin:0;padding:0}.dktv-page .cccd-images h5{margin:0 0 15px;font-size:16px;font-weight:600;color:#2c3e50}.dktv-page .avatar-container,.dktv-page .cccd-image-container{position:relative;display:inline-block}.dktv-page .edit-image-btn{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.7);color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.dktv-page .edit-image-btn:hover{background:rgba(0,0,0,.9);transform:scale(1.1)}.dktv-page .hidden-file-input{display:none!important}.dktv-page .no-cccd-image{width:165px;height:120px;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6c757d;font-style:italic;text-align:center;padding:10px;box-sizing:border-box}.dktv-page .no-cccd-image span{font-size:12px;line-height:1.4}.dktv-page .cccd-image-item img{max-width:200px;max-height:120px;-o-object-fit:cover;object-fit:cover;border-radius:6px;cursor:pointer;transition:transform .2s ease}.dktv-page .info-frame-cccd{margin-bottom:20px;padding:20px;background:white;border-radius:8px;border:1px solid #e9ecef}.dktv-page .cccd-images-row:not(.mobile-cccd-row){display:flex;gap:20px;justify-content:center}.dktv-page .cccd-images-row:not(.mobile-cccd-row) .cccd-image-item{text-align:center}.dktv-page .cccd-image-item img:hover{transform:scale(1.02)}.dktv-page .mobile-cccd-row{display:flex!important;flex-direction:row!important;gap:10px!important;flex-wrap:nowrap!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.dktv-page .mobile-cccd-row .cccd-image-item img,.dktv-page .mobile-cccd-row .cccd-image-container img{max-width:200px!important;max-height:200px!important;width:auto!important;height:auto!important;-o-object-fit:contain!important;object-fit:contain!important;border-radius:6px!important}.dktv-page .notification-modal-overlay{background:rgba(0,0,0,.7);animation:fadeIn .2s ease;z-index:10000!important}.dktv-page .notification-modal{max-width:400px;width:90%;max-height:none;border-radius:12px;overflow:hidden;animation:slideInDown .3s ease;z-index:10001!important}.dktv-page .notification-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;background:white;border-bottom:1px solid #e9ecef}.dktv-page .notification-title-section{display:flex;align-items:center;gap:16px;flex:1}.dktv-page .notification-title{margin:0;font-size:18px;font-weight:600;color:#2c3e50}.dktv-page .notification-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;flex-shrink:0}.dktv-page .notification-body{padding:20px 24px;background:white;text-align:center}.dktv-page .notification-body p{margin:0;font-size:16px;color:#2c3e50;line-height:1.5}.dktv-page .notification-footer{padding:16px 24px 20px;background:white;text-align:center}.dktv-page .notification-ok-btn{background:#007bff;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s;min-width:80px}.dktv-page .notification-ok-btn:hover{background:#0056b3}.dktv-page .confirm-modal-overlay{background:rgba(0,0,0,.7);animation:fadeIn .2s ease}.dktv-page .confirm-modal{max-width:400px;width:90%;max-height:none;border-radius:12px;overflow:hidden;animation:slideInDown .3s ease}.dktv-page .confirm-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;background:white;border-bottom:1px solid #e9ecef}.dktv-page .confirm-icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#ffc107,#fd7e14);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff}.dktv-page .confirm-body{padding:20px 24px;background:white;text-align:center}.dktv-page .confirm-body p{margin:0;font-size:16px;color:#2c3e50;line-height:1.5}.dktv-page .confirm-footer{padding:16px 24px 20px;background:white;display:flex;gap:12px;justify-content:center}.dktv-page .confirm-yes-btn{background:#dc3545;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s;min-width:80px}.dktv-page .confirm-yes-btn:hover{background:#c82333}.dktv-page .confirm-no-btn{background:#6c757d;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s;min-width:80px}.dktv-page .confirm-no-btn:hover{background:#5a6268}@media (min-width: 769px){.dktv-page .basic-info-col{min-width:0;overflow:hidden}.dktv-page .info-line{min-width:0}.dktv-page .info-line .nha-thoi-vu-display{max-width:300px;min-width:150px}}@media (max-width: 1024px) and (min-width: 769px){.dktv-page .info-line{flex-direction:column;align-items:flex-start;gap:8px}.dktv-page .info-line .nha-thoi-vu-display,.dktv-page .info-line .status-container,.dktv-page .info-line .register-time{max-width:100%;width:100%}}@media (max-width: 768px){.dktv-page .desktop-layout{display:none}.dktv-page .mobile-layout{display:block;padding:20px;background:white;border-radius:8px;border:1px solid #e9ecef}.mobile-row-3.text-center,.mobile-row-4.text-center{display:flex;justify-content:center;align-items:center}.dktv-page .modal-container-scrollable{padding:10px}.dktv-page .info-frame-1{padding:15px}.dktv-page .modal-header-fixed{padding:16px 20px}.dktv-page .modal-header-fixed h3{font-size:18px}.dktv-page .modal-header-actions{gap:8px}.dktv-page .print-form-header-btn{padding:8px;margin-right:20px;min-width:40px}.dktv-page .print-form-header-btn .print-btn-text{display:none}.dktv-page .modal-footer-fixed{flex-direction:row;gap:8px;padding:12px 16px;flex-wrap:nowrap}.dktv-page .footer-left-actions,.dktv-page .footer-right-actions{flex:1;margin-left:0}.dktv-page .footer-left-actions{order:1}.dktv-page .footer-right-actions{order:2}.dktv-page .modal-footer-fixed .delete-btn,.dktv-page .modal-footer-fixed .update-btn{width:100%;padding:8px 12px;font-size:13px;min-width:auto;white-space:nowrap}.dktv-page .info-line .approve-btn,.dktv-page .mobile-row-4 .approve-btn{width:auto;min-width:auto;padding:8px 16px;font-size:13px}.dktv-page .detail-row{gap:10px;margin-bottom:12px}.dktv-page .detail-group label{font-size:12px}.dktv-page .detail-group span,.dktv-page .edit-input{font-size:13px;padding:6px 10px;min-height:34px}.dktv-page .mobile-cccd-row{gap:8px!important}.dktv-page .edit-image-btn{width:28px;height:28px;top:6px;right:6px}.mobile-cccd-row .cccd-image-container{max-width:none!important;min-height:100px!important;width:100%!important}.dktv-page .mobile-cccd-row .cccd-image-item img,.dktv-page .mobile-cccd-row .cccd-image-container img{max-width:100px!important;max-height:100px!important;width:auto!important;height:auto!important;-o-object-fit:contain!important;object-fit:contain!important;border-radius:6px!important}.dktv-page .nha-thoi-vu-modal{width:95%;max-height:70vh}.dktv-page .nha-thoi-vu-item{padding:12px 16px}.dktv-page .nha-thoi-vu-info h4{font-size:15px}.dktv-page .nha-thoi-vu-details{display:flex;justify-content:space-between;align-items:center;width:100%;gap:8px}.dktv-page .nha-thoi-vu-code,.dktv-page .contract-badge{font-size:11px;padding:3px 6px}.dktv-page .manager-info{font-size:12px}}@media (max-width: 480px){.dktv-page .notification-modal,.dktv-page .confirm-modal{width:95%;margin:20px}.dktv-page .notification-header,.dktv-page .confirm-header{padding:16px 20px 12px}.dktv-page .notification-title-section{gap:12px}.dktv-page .notification-title{font-size:16px}.dktv-page .notification-body,.dktv-page .confirm-body{padding:16px 20px}.dktv-page .notification-footer,.dktv-page .confirm-footer{padding:12px 20px 16px}.dktv-page .notification-icon,.dktv-page .confirm-icon{width:40px;height:40px;font-size:20px}.dktv-page .confirm-footer{flex-direction:column}.dktv-page .detail-row{gap:8px;margin-bottom:10px}.dktv-page .detail-group label{font-size:11px}.dktv-page .detail-group span,.dktv-page .edit-input{font-size:12px;padding:5px 8px;min-height:32px}.dktv-page .confirm-yes-btn,.dktv-page .confirm-no-btn,.dktv-page .notification-ok-btn{width:100%}.dktv-page .edit-image-btn{width:24px;height:24px;top:4px;right:4px}.mobile-cccd-row .cccd-image-container{max-width:none!important;min-height:80px!important;width:100%!important}.dktv-page .mobile-cccd-row .cccd-image-item img,.dktv-page .mobile-cccd-row .cccd-image-container img{max-width:120px!important;max-height:120px!important;width:auto!important;height:auto!important;-o-object-fit:contain!important;object-fit:contain!important;border-radius:6px!important}.dktv-page .mobile-cccd-row{gap:5px!important}.dktv-page .nha-thoi-vu-modal{width:98%;max-height:60vh}.dktv-page .nha-thoi-vu-item{padding:10px 12px}.dktv-page .nha-thoi-vu-info h4{font-size:14px}.dktv-page .nha-thoi-vu-details{display:flex;justify-content:space-between;align-items:center;width:100%;gap:6px}.dktv-page .nha-thoi-vu-code,.dktv-page .contract-badge{font-size:10px;padding:2px 5px;flex-shrink:0}.dktv-page .manager-info{font-size:11px}.dktv-page .selection-indicator{width:28px;height:28px}.dktv-page .checkmark{font-size:18px}}.dktv-page .fullscreen-image-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:99999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease}.dktv-page .fullscreen-image-container{position:relative;max-width:95vw;max-height:95vh;display:flex;align-items:center;justify-content:center}.dktv-page .fullscreen-close-btn{position:absolute;top:-50px;right:-10px;background:rgba(255,255,255,.9);color:#333;border:none;font-size:32px;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:100000}.dktv-page .fullscreen-close-btn:hover{background:white;transform:scale(1.1)}.dktv-page .fullscreen-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #0000004d}.dktv-page .nha-thoi-vu-modal{max-width:600px;width:90%;max-height:80vh;border-radius:12px;overflow:hidden;animation:slideInDown .3s ease}.dktv-page .nha-thoi-vu-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef;background:white}.dktv-page .nha-thoi-vu-modal .modal-header h3{margin:0;font-size:20px;font-weight:600;color:#2c3e50}.dktv-page .nha-thoi-vu-list{max-height:60vh;overflow-y:auto;padding:0;margin:0}.dktv-page .nha-thoi-vu-list::-webkit-scrollbar{width:6px}.dktv-page .nha-thoi-vu-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.dktv-page .nha-thoi-vu-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.dktv-page .nha-thoi-vu-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.dktv-page .nha-thoi-vu-item{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e9ecef;cursor:pointer;transition:all .2s ease;background:white}.dktv-page .nha-thoi-vu-item:hover{background:#f8f9fa;border-left:4px solid #007bff;padding-left:16px}.dktv-page .nha-thoi-vu-item.selected{background:#e3f2fd;border-left:4px solid #007bff;padding-left:16px}.dktv-page .nha-thoi-vu-item:last-child{border-bottom:none}.dktv-page .nha-thoi-vu-info{flex:1;display:flex;flex-direction:column;gap:8px}.dktv-page .nha-thoi-vu-info h4{margin:0;font-size:16px;font-weight:600;color:#2c3e50;line-height:1.3}.dktv-page .nha-thoi-vu-details{display:flex;justify-content:space-between;align-items:center;width:100%}.dktv-page .nha-thoi-vu-code{font-size:12px;color:#6c757d;background:#f8f9fa;padding:4px 8px;border-radius:4px;border:1px solid #e9ecef;flex-shrink:0}.dktv-page .manager-info{margin:4px 0 0;font-size:13px;color:#495057;line-height:1.4}.dktv-page .selection-indicator{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;margin-left:12px}.dktv-page .checkmark{color:#007bff;font-size:20px;font-weight:700}@media (max-width: 480px){.dktv-page .nha-thoi-vu-modal{width:98%;max-height:60vh}.dktv-page .nha-thoi-vu-item{padding:10px 12px}.dktv-page .nha-thoi-vu-info h4{font-size:14px}.dktv-page .nha-thoi-vu-details{display:flex;justify-content:space-between;align-items:center;width:100%;gap:6px}.dktv-page .nha-thoi-vu-code,.dktv-page .contract-badge{font-size:10px;padding:2px 5px;flex-shrink:0}.dktv-page .manager-info{font-size:11px}.dktv-page .selection-indicator{width:28px;height:28px}.dktv-page .checkmark{font-size:18px}}.dktv-page .modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dktv-page .modal .modal-content{background:white;padding:30px;border-radius:12px;max-width:500px;width:90%;box-shadow:0 12px 48px #0003}.dktv-page .modal .modal-content h3{margin:0 0 20px;font-size:22px;font-weight:600;color:#2c3e50;text-align:center}.dktv-page .modal .modal-content p{margin:0 0 10px;font-size:16px;color:#495057;line-height:1.6;text-align:center}.dktv-page .modal-buttons{display:flex;justify-content:center;gap:20px;margin-top:30px}.dktv-page .btn-confirm,.dktv-page .btn-cancel{padding:15px 30px;border:none;border-radius:8px;font-size:20px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px}.dktv-page .btn-confirm{background:linear-gradient(135deg,#28a745 0%,#20c997 100%);color:#fff}.dktv-page .btn-confirm:hover{background:linear-gradient(135deg,#20c997 0%,#17a2b8 100%);transform:translateY(-2px);box-shadow:0 4px 15px #28a7454d}.dktv-page .btn-cancel{background:linear-gradient(135deg,#6c757d 0%,#495057 100%);color:#fff}.dktv-page .btn-cancel:hover{background:linear-gradient(135deg,#495057 0%,#343a40 100%);transform:translateY(-2px);box-shadow:0 4px 15px #6c757d4d}.cropper-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:10000}.cropper-modal-container{width:98%;height:98%;background:white;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d;position:relative}.cropper-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb;background:white}.cropper-header h3{margin:0;font-size:18px;font-weight:600;color:#1f2937}.cropper-close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:5px;line-height:1;transition:color .2s}.cropper-close-btn:hover{color:#ef4444}.cropper-image-container{flex:1;display:flex;align-items:center;justify-content:center;padding:10px;background:#f9fafb;position:relative;overflow:hidden;min-height:0}.cropper-image-container,.cropper-image-container *{pointer-events:auto!important}.cropper-image-container .cropper-container{pointer-events:auto!important;touch-action:none!important}.cropper-wrap-box,.cropper-canvas{overflow:visible!important}.cropper-image{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 4px 20px #00000080;-o-object-fit:contain;object-fit:contain;pointer-events:auto}.cropper-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#374151;font-size:18px;text-align:center;z-index:10}.cropper-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #6366f1;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 10px}.cropper-footer{display:flex;gap:0;padding:0;border-top:1px solid #e5e7eb;background:white}.cropper-controls,.cropper-actions{display:contents}.cropper-controls button,.cropper-actions button{flex:1;height:70px;border:1px solid #d1d5db;color:#fff;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s;margin:0;outline:none;min-width:0;border-radius:0;border-right:none}.cropper-controls button:disabled,.cropper-actions button:disabled{opacity:.6;cursor:not-allowed}#cropper-cancel{border-right:1px solid #d1d5db}#cropper-rotate-left{background:#6366f1;border-color:#6366f1;font-size:16px;border-right:1px solid #5b21b6}#cropper-rotate-right{background:#6366f1;border-color:#6366f1;font-size:16px;border-left:none}#cropper-rotate-left:hover,#cropper-rotate-right:hover{background:#5b21b6;border-color:#5b21b6}#cropper-confirm{background:#10b981;border-color:#10b981;border-right:1px solid #059669}#cropper-confirm:hover{background:#059669;border-color:#059669}#cropper-cancel{background:#ef4444;border-color:#ef4444;border-left:none}#cropper-cancel:hover{background:#dc2626;border-color:#dc2626}.cropper-modal-fullscreen .cropper-modal{background-color:transparent!important}.cropper-image-container .cropper-wrap-box,.cropper-image-container .cropper-canvas,.cropper-image-container .cropper-drag-box,.cropper-image-container .cropper-crop-box,.cropper-image-container .cropper-modal{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-wrap-box,.cropper-canvas{overflow:visible}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:calc(100% / 3);left:0;top:calc(100% / 3);width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:calc(100% / 3);top:0;width:calc(100% / 3)}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:before,.cropper-center:after{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-modal-container .cropper-point{display:block!important;position:absolute!important;background-color:#39f!important;height:30px!important;width:30px!important;opacity:1!important;border-radius:50%!important;border:3px solid #fff!important;box-shadow:0 4px 12px #0006!important}.cropper-modal-container .cropper-point.point-e{cursor:ew-resize!important;margin-top:-15px!important;right:-15px!important;top:50%!important;width:30px!important;height:30px!important}.cropper-modal-container .cropper-point.point-n{cursor:ns-resize!important;left:50%!important;margin-left:-15px!important;top:-15px!important;width:30px!important;height:30px!important}.cropper-modal-container .cropper-point.point-w{cursor:ew-resize!important;left:-15px!important;margin-top:-15px!important;top:50%!important;width:30px!important;height:30px!important}.cropper-modal-container .cropper-point.point-s{bottom:-15px!important;cursor:ns-resize!important;left:50%!important;margin-left:-15px!important;width:30px!important;height:30px!important}.cropper-modal-container .cropper-point.point-ne{cursor:nesw-resize!important;right:-15px!important;top:-15px!important;width:30px!important;height:30px!important}.cropper-modal-container .cropper-point.point-nw{cursor:nwse-resize!important;left:-15px!important;top:-15px!important;width:30px!important;height:30px!important}.cropper-modal-container .cropper-point.point-sw{bottom:-15px!important;cursor:nesw-resize!important;left:-15px!important;width:30px!important;height:30px!important}.cropper-modal-container .cropper-point.point-se{bottom:-15px!important;cursor:nwse-resize!important;right:-15px!important;width:30px!important;height:30px!important}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.cropper-modal-overlay{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background:rgba(0,0,0,.8)!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:10000!important;padding:1vw!important}.image-crop-modal{background:white!important;border-radius:12px!important;width:98vw!important;height:98vh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;box-shadow:0 20px 60px #0000004d!important;position:relative!important}.image-crop-modal .cropper-header{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:20px!important;border-bottom:1px solid #e5e7eb!important;background:#f9fafb!important;position:relative!important;z-index:1!important}.image-crop-modal .cropper-header h3{margin:0!important;font-size:18px!important;font-weight:600!important;color:#1f2937!important}.image-crop-modal .cropper-close-btn{background:none!important;border:none!important;font-size:24px!important;cursor:pointer!important;color:#6b7280!important;padding:5px!important;line-height:1!important;transition:color .2s!important}.image-crop-modal .cropper-close-btn:hover{color:#ef4444!important}.image-crop-modal .cropper-body{flex:1!important;position:relative!important;overflow:hidden!important;background:#f3f4f6!important;height:calc(100% - 140px)!important}.image-crop-modal .cropper-loading{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.9)!important;z-index:1000!important;color:#1f2937!important;font-size:16px!important}.image-crop-modal .cropper-spinner{border:4px solid #f3f3f3!important;border-top:4px solid #3b82f6!important;border-radius:50%!important;width:40px!important;height:40px!important;animation:cropper-spin 1s linear infinite!important;margin-bottom:15px!important}@keyframes cropper-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.image-crop-modal .cropper-container{width:100%!important;height:100%!important;display:block!important;padding:5px!important;min-height:300px!important;max-height:calc(100vh - 200px)!important}.image-crop-modal .cropper-container img{display:block!important;max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important}.cropper-drag-box,.cropper-crop,.cropper-modal{width:auto!important;height:auto!important}.image-crop-modal .cropper-container .cropper-container{width:100%!important;height:100%!important;position:relative!important}.image-crop-modal .cropper-view-box{outline:2px solid #39f!important;outline-color:#3399ffe6!important}.image-crop-modal .cropper-crop-box{border:2px solid #39f!important}.image-crop-modal .cropper-point{background-color:#39f!important;opacity:1!important;width:30px!important;height:30px!important;border-radius:50%!important;border:2px solid #fff!important;box-shadow:0 2px 6px #0000004d!important}.image-crop-modal .cropper-line{background-color:#39f!important;opacity:.6!important}.image-crop-modal .cropper-footer{display:flex!important;justify-content:center!important;align-items:center!important;padding:15px 20px!important;border-top:1px solid #e5e7eb!important;background:#000!important}.image-crop-modal .cropper-controls{display:flex!important;gap:0!important;width:100%!important}.image-crop-modal .cropper-control-btn{flex:1!important;background:#6366f1!important;border:1px solid #4f46e5!important;padding:15px 10px!important;cursor:pointer!important;font-size:16px!important;color:#fff!important;font-weight:500!important;transition:all .2s!important;border-radius:0!important;margin:0!important}.image-crop-modal .cropper-control-btn:first-child{border-top-left-radius:8px!important;border-bottom-left-radius:8px!important}.image-crop-modal .cropper-control-btn:last-child{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.image-crop-modal .cropper-control-btn:hover{background:#5b21b6!important;border-color:#5b21b6!important}.image-crop-modal .cropper-crop-btn{background:#10b981!important;border-color:#059669!important}.image-crop-modal .cropper-crop-btn:hover{background:#059669!important;border-color:#047857!important}.image-crop-modal .cropper-cancel-btn{background:#ef4444!important;border-color:#dc2626!important}.image-crop-modal .cropper-cancel-btn:hover{background:#dc2626!important;border-color:#b91c1c!important}@media (max-width: 768px){.image-crop-modal{width:98vw!important;height:98vh!important}.image-crop-modal .cropper-actions{width:100%!important;justify-content:center!important}.image-crop-modal .cropper-header{padding:15px!important}.image-crop-modal .cropper-container{padding:10px!important}.image-crop-modal .cropper-body{height:calc(100% - 160px)!important}.cropper-modal-container{width:95vw;height:95vh;border-radius:12px}.cropper-header{padding:15px}.cropper-header h3{font-size:16px}.cropper-image-container{padding:5px}.cropper-controls button,.cropper-actions button{height:60px;font-size:16px}#cropper-rotate-left,#cropper-rotate-right{font-size:24px}}@media (max-width: 480px){.cropper-modal-container{width:98vw;height:98vh;border-radius:12px}.cropper-header{padding:10px}.cropper-header h3{font-size:14px}.cropper-controls button,.cropper-actions button{height:50px;font-size:14px}#cropper-rotate-left,#cropper-rotate-right{font-size:20px}}.cropper-image-container .cropper-canvas img,.cropper-image-container .cropper-canvas canvas{transform-origin:center center!important}.cropper-image-container .cropper-wrap-box{transform-origin:center center!important}.cropper-image-container .cropper-container{width:100%!important;height:100%!important;position:relative!important}.dktv-page .candidate-form{display:flex;flex-direction:column;gap:20px}.dktv-page .form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.dktv-page .form-group label{display:block;margin-bottom:6px;font-weight:500;color:#495057;font-size:14px}.dktv-page .required{color:#dc3545}.dktv-page .form-group input,.dktv-page .form-group select,.dktv-page .form-group textarea{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;transition:border-color .3s,box-shadow .3s;box-sizing:border-box}.dktv-page .form-group input:focus,.dktv-page .form-group select:focus,.dktv-page .form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.dktv-page .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.dktv-page .file-input{padding:8px 12px!important;background:white;cursor:pointer;margin-bottom:10px}.dktv-page .file-input::-webkit-file-upload-button{background:#007bff;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;margin-right:10px;font-size:13px}.dktv-page .file-input::-webkit-file-upload-button:hover{background:#0056b3}.dktv-page .avatar-preview{margin-top:10px;text-align:center;display:flex;align-items:center;justify-content:center;height:140px}.dktv-page .avatar-preview img{height:120px;width:auto;border-radius:8px;border:1px solid #dee2e6;-o-object-fit:contain;object-fit:contain}.dktv-page .avatar-preview img,.dktv-page .image-preview img{max-width:100%;max-height:150px;border-radius:6px;border:1px solid #ddd}.dktv-page .upload-section{margin:20px 0;padding:20px;background:#f8f9fa;border-radius:8px;border:2px dashed #dee2e6}.dktv-page .upload-section h4{margin:0 0 20px;color:#495057;font-size:16px;font-weight:600}.dktv-page .upload-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.upload-row .dktv-page .form-group label{display:block;margin-bottom:10px;font-weight:500;color:#495057;flex-shrink:0}.dktv-page .avatar-preview,.dktv-page .image-preview{width:100%;height:140px;margin:10px auto 0;border-radius:6px;overflow:hidden;flex:1;display:flex;align-items:center;justify-content:center}.dktv-page .qr-input{font-family:monospace;font-size:13px;resize:vertical;height:40px;max-height:80px;min-height:80px}.dktv-page .qr-parsed-info{margin-top:10px;padding:12px;background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;font-size:13px}.dktv-page .qr-parsed-info h4{margin:0 0 8px;color:#155724;font-size:14px;font-weight:600}.dktv-page .qr-parsed-info>div{margin-bottom:4px;color:#155724}.dktv-page .qr-parsed-info>div:last-child{margin-bottom:0}.dktv-page .address-mode-container{display:flex;align-items:center;gap:15px;margin-bottom:8px}.dktv-page .address-mode-container label{margin:0;font-weight:500;color:#2c3e50}.dktv-page .address-mode-radios{display:flex;gap:20px;margin-top:8px}.dktv-page .radio-label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:400!important;color:#495057!important;cursor:pointer}.dktv-page .radio-label input[type=radio]{margin:0;width:auto;height:auto}.dktv-page .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #dee2e6}@media (max-width: 768px){.dktv-page .form-row,.dktv-page .form-actions{flex-direction:column}.dktv-page .address-mode-container{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 576px){.dktv-page .upload-row{grid-template-columns:1fr}.upload-row .form-group{min-height:auto}.dktv-page .avatar-preview,.dktv-page .image-preview{max-width:200px}}.dktv-page .actions-cell{display:flex;justify-content:center;align-items:center}.dktv-page .action-btn{padding:6px 8px;border:none;border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.dktv-page .action-btn.delete-btn{background:#dc3545;color:#fff}.dktv-page .action-btn.delete-btn:hover:not(:disabled){background:#c82333;transform:scale(1.05)}.dktv-page .action-btn.delete-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.5}.dktv-page .action-btn.print-btn{background:#17a2b8;color:#fff}.dktv-page .action-btn.print-btn:hover:not(:disabled){background:#138496;transform:scale(1.05)}.dktv-page .submit-btn{background:#28a745;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s;min-width:120px}.dktv-page .submit-btn:hover:not(:disabled){background:#218838}.dktv-page .submit-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.dktv-page .cancel-btn{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s;min-width:80px}.dktv-page .cancel-btn:hover{background:#5a6268}.dktv-page .update-btn{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:not-allowed;transition:all .3s;opacity:.6}.dktv-page .delete-btn{padding:10px 20px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s}.dktv-page .delete-btn:hover{background:#c82333}.dktv-page .attendance-status-present{display:flex;flex-direction:column;align-items:center;gap:2px;background:#caeeda;color:#020f05;padding:4px 8px;border-radius:4px;font-size:12px;border:1px solid #c3e6cb;max-width:100%;min-height:32px;text-align:center}.dktv-page .attendance-line-1{display:flex;align-items:center;gap:4px;font-weight:600;margin-bottom:2px;color:#0e709e}.dktv-page .attendance-line-2{font-size:12px;opacity:.9;text-align:center;color:#0e709e}.dktv-page .edit-btn{background:#007bff!important;color:#fff!important}.dktv-page .edit-btn:hover{background:#0056b3!important}.dktv-page .approve-btn{background:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.dktv-page .approve-btn:hover{background:#218838;transform:scale(1.02)}.dktv-page .approve-btn:active{transform:scale(.98)}.dktv-page .mobile-table .approve-btn{padding:10px 20px;font-size:15px}.dktv-page .mobile-actions-cell{display:flex;justify-content:center;align-items:center}.mobile-actions-cell .dktv-page .action-btn svg{width:14px;height:14px}.dktv-page .mobile-actions-column{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;height:100%;padding:2px}.mobile-actions-column .mobile-action-buttons .dktv-page .action-btn svg{width:12px;height:12px;flex-shrink:0}.mobile-actions-column .mobile-action-buttons .dktv-page .action-btn span{font-size:10px;font-weight:500}@media (max-width: 768px){.dktv-page .submit-btn,.dktv-page .cancel-btn{width:100%}.dktv-page .attendance-status-present{flex-direction:column;align-items:center;gap:1px;padding:3px 6px;min-height:auto;text-align:center}.attendance-status-present .attendance-full-text{max-width:100px;font-size:9px;line-height:1.5;align-items:center}.dktv-page .attendance-line-1{font-size:11px;font-weight:600;margin-bottom:0;gap:2px}.dktv-page .attendance-line-2{font-size:9px;opacity:.9;text-align:center}.action-btn.attendance-btn{font-size:12px;padding:5px 10px}}@media (max-width: 480px){.dktv-page .mobile-actions-cell{padding:6px 4px!important}.mobile-actions-cell .action-btn{padding:3px;margin:1px}}.dktv-page .batch-action-buttons{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:8px 0;justify-content:flex-end;margin-left:auto}.dktv-page .batch-row{display:contents}.dktv-page .exit-selection-btn{background:#6c757d;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;white-space:nowrap}.dktv-page .exit-selection-btn:hover{background:#5a6268;transform:translateY(-1px)}.dktv-page .selected-count{background:#a0c0e2;color:#fff;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;white-space:nowrap}.dktv-page .select-all-btn{background:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;white-space:nowrap}.dktv-page .select-all-btn:hover{background:#218838;transform:translateY(-1px)}.dktv-page .deselect-all-btn{background:#ffc107;color:#000;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;white-space:nowrap}.dktv-page .deselect-all-btn:hover:not(:disabled){background:#e0a800;transform:translateY(-1px)}.dktv-page .deselect-all-btn:disabled{background:#6c757d;color:#fff;cursor:not-allowed;opacity:.5}.dktv-page .batch-print-btn{background:#17a2b8;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;white-space:nowrap}.dktv-page .batch-print-btn:hover:not(:disabled){background:#138496;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.dktv-page .batch-print-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.5}.dktv-page .batch-approve-btn{background:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;white-space:nowrap}.dktv-page .batch-approve-btn:hover:not(:disabled){background:#218838;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.dktv-page .batch-approve-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.5}.dktv-page .batch-delete-btn{background:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;white-space:nowrap}.dktv-page .batch-delete-btn:hover:not(:disabled){background:#c82333;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.dktv-page .batch-delete-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.5}.dktv-page .selection-checkbox{width:20px;height:20px;cursor:pointer;accent-color:#007bff}.dktv-page .selected-row{background-color:#e7f3ff!important;border-left:3px solid #007bff}.dktv-page .selected-row:hover{background-color:#d0e9ff!important}@media (max-width: 768px){.dktv-page .batch-action-buttons{flex-direction:column;gap:8px;width:100%;align-items:stretch}.dktv-page .batch-row{display:flex;gap:8px;width:100%}.dktv-page .batch-row>*{flex:1;min-width:0}.dktv-page .exit-selection-btn,.dktv-page .select-all-btn,.dktv-page .deselect-all-btn,.dktv-page .batch-approve-btn,.dktv-page .batch-print-btn,.dktv-page .batch-delete-btn{padding:8px 12px;font-size:13px;gap:4px}.dktv-page .selected-count{padding:8px 12px;font-size:13px}}.dktv-page .column-selector-container{position:relative;display:inline-block}.dktv-page .column-selector-btn{background:linear-gradient(135deg,#6c5ce7,#5b4cdb);color:#fff;border:none;padding:8px 45px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:center;box-shadow:0 2px 8px #6c5ce74d;white-space:nowrap;display:flex;align-items:center;gap:6px}.dktv-page .column-selector-btn:hover{background:linear-gradient(135deg,#5a4fcf,#4834d4);box-shadow:0 4px 12px #6c5ce766;transform:translateY(-1px)}.dktv-page .column-selector-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:white;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:250px;max-height:400px;overflow-y:auto}.dktv-page .column-selector-header{padding:12px 16px;border-bottom:1px solid #dee2e6;background:#f8f9fa;border-radius:8px 8px 0 0}.dktv-page .column-selector-header h4{margin:0;font-size:16px;font-weight:600;color:#2c3e50}.dktv-page .column-selector-body{padding:8px 0}.dktv-page .column-option{display:flex;align-items:center;padding:10px 16px;cursor:pointer;transition:background-color .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dktv-page .column-option:hover{background:#f8f9fa}.dktv-page .column-option.required{cursor:not-allowed;opacity:.7}.dktv-page .column-option input[type=checkbox]{margin-right:10px;cursor:pointer;width:16px;height:16px}.dktv-page .column-option.required input[type=checkbox]{cursor:not-allowed}.dktv-page .column-name{flex:1;font-size:14px;color:#495057}.dktv-page .required-label{font-size:12px;color:#6c757d;font-style:italic}.dktv-page .column-selector-dropdown::-webkit-scrollbar{width:6px}.dktv-page .column-selector-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.dktv-page .column-selector-dropdown::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.dktv-page .column-selector-dropdown::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width: 768px){.dktv-page .column-selector-container{display:none!important}}.dktv-page .pagination-container{flex-shrink:0;border-radius:6px;box-shadow:0 2px 4px #0000001a;display:flex;padding:8px 15px;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;background:white;margin-top:auto;min-height:50px;max-height:50px}.dktv-page .pagination-info-left{display:flex;flex-direction:row;gap:15px;align-items:center}.dktv-page .pagination-info{font-size:13px;color:#495057;font-weight:600;white-space:nowrap}.dktv-page .results-text{font-size:12px;color:#6c757d;font-weight:400;white-space:nowrap}.dktv-page .pagination-controls{display:flex;gap:4px;align-items:center;margin-left:auto}.dktv-page .pagination-btn{padding:6px 10px;border:1px solid #dee2e6;background:white;color:#495057;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s;min-width:36px;font-weight:500}.dktv-page .pagination-btn:hover:not(:disabled){background:#f8f9fa;border-color:#6c757d}.dktv-page .pagination-btn.active{background:#007bff;color:#fff;border-color:#007bff;font-weight:600}.dktv-page .pagination-btn:disabled{background:#e9ecef;color:#adb5bd;cursor:not-allowed;opacity:.6}@media (max-width: 992px){.dktv-page .pagination-container{gap:12px}.dktv-page .pagination-controls{flex-wrap:wrap}}@media (max-width: 768px){.dktv-page .pagination-container{padding:10px 12px;gap:10px}.dktv-page .pagination-info,.dktv-page .results-text{width:100%;text-align:left}.dktv-page .pagination-controls{width:100%;justify-content:center;margin-left:0}.dktv-page .pagination-btn{padding:6px 10px;font-size:13px;min-width:35px}}@media (max-width: 480px){.dktv-page .pagination-container{padding:8px 10px;gap:8px}.dktv-page .pagination-info{font-size:13px}.dktv-page .results-text{font-size:12px}.dktv-page .pagination-controls{gap:2px}.dktv-page .pagination-btn{padding:5px 8px;font-size:12px;min-width:32px}}@media (max-width: 1200px){.dktv-page .candidates-table th:nth-child(4),.dktv-page .candidates-table td:nth-child(4){width:250px}}@media (max-width: 992px){.dktv-page .dktv-controls{flex-direction:column;align-items:stretch}.dktv-page .search-container{min-width:auto}.dktv-page .form-row{flex-direction:column}.dktv-page .pagination-container{flex-direction:column;gap:10px;text-align:center}}@media (max-width: 768px){.dktv-page .dktv-container{max-width:100vw;overflow-x:hidden;overflow-y:auto;height:calc(100vh - 50px);padding:10px;display:flex;flex-direction:column}.dktv-page .app-container{width:100vw;max-width:100vw;margin:0;box-sizing:border-box;padding:0 8px}.dktv-page .dktv-header{padding:12px 16px!important;box-shadow:none;border-radius:0;background:white}.dktv-page .dktv-header h2{display:block!important;font-size:16px!important;margin:0 0 12px!important;line-height:1.4!important;color:#2c3e50!important;text-align:center!important}.dktv-page .dktv-controls{display:flex!important;flex-direction:row!important;align-items:center!important;width:100%!important;padding:0!important;justify-content:space-between!important;flex-direction:column;gap:10px}.dktv-page .search-container{flex:1!important;min-width:0!important;margin:0!important;max-width:calc(100% - 100px)!important;min-width:100%}.dktv-page .search-input{font-size:14px!important;padding:8px 8px 8px 36px!important;border-radius:6px!important;width:100%!important}.dktv-page .nha-thoi-vu-filter{display:none!important;width:100%}.dktv-page .add-candidate-btn{min-width:40px!important;max-width:40px!important;height:40px!important;padding:0!important;background:#28a745!important;border-radius:6px!important;color:transparent!important;display:flex!important;align-items:center!important;gap:0!important;flex-shrink:0!important;overflow:hidden!important;white-space:nowrap!important;position:relative!important;width:100%;justify-content:center}.dktv-page .add-candidate-btn>svg{width:24px!important;height:24px!important;color:#fff!important;flex-shrink:0!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.dktv-page .results-info{padding:12px 15px;font-size:13px}.dktv-page .candidates-table-container{overflow-x:auto;margin-bottom:15px;flex:1;display:flex;flex-direction:column;overflow:hidden}.dktv-page .desktop-table{display:none!important}.dktv-page .mobile-table{display:table!important}.dktv-page .form-actions{flex-direction:column}.dktv-page .submit-btn,.dktv-page .cancel-btn{width:100%}.dktv-page .address-mode-container{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 576px){.dktv-page .modal-content{margin:10px;max-height:calc(100vh - 20px)}.dktv-page .modal-header,.dktv-page .candidate-form{padding:15px}.dktv-page .dktv-header h2{font-size:18px}.dktv-page .upload-row{grid-template-columns:1fr}.upload-row .form-group{min-height:auto}.dktv-page .avatar-preview,.dktv-page .image-preview{max-width:200px}}@media (max-width: 480px){.dktv-page .dktv-container{padding:10px}.dktv-page .dktv-header{padding:15px}.dktv-page .results-info{padding:10px 15px;font-size:13px}.dktv-page .pagination-container{padding:10px}.dktv-page .pagination-controls{gap:1px}.dktv-page .pagination-btn{padding:6px 10px;font-size:12px}.dktv-page .status-badge{font-size:10px;padding:3px 6px;min-width:60px}.dktv-page .candidate-name{font-size:13px;font-weight:600}}.cpn-searchableselect-wrapper{display:flex;flex-direction:column;gap:5px;width:100%}.cpn-searchableselect-label{font-weight:500;font-size:14px;color:#333}.cpn-searchableselect-container{position:relative;width:100%}.cpn-searchableselect-input{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px solid #ddd;border-radius:4px;background-color:#fff;cursor:pointer;transition:border-color .2s;min-height:38px}.cpn-searchableselect-input:hover{border-color:#999}.cpn-searchableselect-input .placeholder{color:#999}.cpn-searchableselect-input .arrow{font-size:10px;transition:transform .2s;color:#666}.cpn-searchableselect-input .arrow.up{transform:rotate(180deg)}.cpn-searchableselect-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:white;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 6px #0000001a;z-index:1000;max-height:300px;display:flex;flex-direction:column}.cpn-searchableselect-search{padding:8px 12px;border:none;border-bottom:1px solid #eee;font-size:14px;outline:none}.cpn-searchableselect-search:focus{border-bottom-color:#007bff}.cpn-searchableselect-options{overflow-y:auto;max-height:250px}.cpn-searchableselect-option{padding:8px 12px;cursor:pointer;font-size:14px;transition:background-color .15s}.cpn-searchableselect-option:hover{background-color:#f5f5f5}.cpn-searchableselect-option.selected{background-color:#007bff;color:#fff}.cpn-searchableselect-option.no-results{color:#999;text-align:center;cursor:default}.cpn-searchableselect-option.no-results:hover{background-color:transparent}.cpn-searchableselect-options::-webkit-scrollbar{width:6px}.cpn-searchableselect-options::-webkit-scrollbar-track{background:#f1f1f1}.cpn-searchableselect-options::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.cpn-searchableselect-options::-webkit-scrollbar-thumb:hover{background:#555}.candidate-list-page .candidate-list-container{max-width:100%;margin:0 auto;background:#f8f9fa;height:calc(100vh - 50px);display:flex;flex-direction:column;overflow:hidden}.candidate-list-page .candidate-list-loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:16px;color:#6c757d}.candidate-list-page .candidate-list-error{padding:20px;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:6px;margin:20px;text-align:center}.candidate-list-page .results-info{flex-shrink:0;background:white;padding:15px 20px;border-radius:6px;font-size:14px;color:#6c757d;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;justify-content:space-between;gap:15px}.candidate-list-page .results-text{flex:1}.candidate-list-page .search-results-indicator{color:#007bff;font-weight:600;margin-right:5px}.candidate-list-page .contract-type{margin:4px 0}.candidate-list-page .contract-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.candidate-list-page .contract-official{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.candidate-list-page .candidate-avatar{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #dee2e6}.candidate-list-page .no-avatar{width:40px;height:40px;border-radius:50%;background:#e9ecef;display:flex;align-items:center;justify-content:center;font-size:10px;color:#6c757d;border:2px solid #dee2e6;margin:0 auto}.candidate-list-page .large-avatar{width:120px;height:180px;border-radius:8px;-o-object-fit:cover;object-fit:cover;border:2px solid #dee2e6}.candidate-list-page .no-large-avatar{width:120px;height:180px;background:#e9ecef;border:2px solid #dee2e6;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#6c757d}.candidate-list-page .text-center{text-align:center!important;justify-content:center!important}.candidate-list-page .candidate-name{font-weight:600;color:#495057}.candidate-list-page .candidate-info{font-size:13px;line-height:1.4}.candidate-list-page .candidate-info>div{margin-bottom:4px}.candidate-list-page .candidate-info>div:last-child{margin-bottom:0}.candidate-list-page .status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-align:center}.candidate-list-page .status-pending{background-color:#fff3cd;color:#856404;border:1px solid #ffeeba}.candidate-list-page .status-approved{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.candidate-list-page .status-rejected{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.candidate-list-page .status-processing{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.candidate-list-page .name-cell{display:flex;align-items:center;gap:10px;justify-content:flex-start;padding-left:8px}.candidate-list-page .avatar-small{width:32px;height:48px;border-radius:4px;-o-object-fit:cover;object-fit:cover;border:1px solid #dee2e6;flex-shrink:0;box-shadow:0 1px 3px #0000001a}.candidate-list-page .cccd-cell{display:flex;align-items:center;gap:8px;justify-content:flex-start}.candidate-list-page .cccd-images{display:flex;flex-direction:column;gap:4px;flex-shrink:0;margin:0;padding:0}.candidate-list-page .cccd-thumbnail{width:40px;height:25px;-o-object-fit:cover;object-fit:cover;border-radius:4px;border:1px solid #dee2e6;cursor:pointer;transition:transform .2s}.candidate-list-page .cccd-thumbnail:hover{transform:scale(1.1);border-color:#007bff}.candidate-list-page .cccd-number{font-weight:500;font-size:13px;white-space:nowrap}.candidate-list-page .attendance-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.candidate-list-page .attendance-badge.attended{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.candidate-list-page .attendance-btn{padding:6px 12px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .3s}.candidate-list-page .attendance-btn:disabled{background:#6c757d;cursor:not-allowed}.candidate-list-page .lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;cursor:pointer}.candidate-list-page .lightbox-content{position:relative;max-width:95vw;max-height:95vh;display:flex;align-items:center;justify-content:center}.candidate-list-page .lightbox-image{max-width:100%;max-height:95vh;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 4px 30px #00000080}.candidate-list-page .lightbox-close{position:absolute;top:-50px;right:0;background:rgba(255,255,255,.2);border:none;color:#fff;font-size:36px;cursor:pointer;width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.candidate-list-page .lightbox-close:hover{background:rgba(255,255,255,.3)}.candidate-list-page .candidate-list-header{flex-shrink:0;background:white;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.candidate-list-page .header-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.candidate-list-page .candidate-list-header h2{margin:0;color:#2c3e50;font-size:24px;font-weight:600;flex-shrink:0}.candidate-list-page .page-switch-buttons{display:flex;gap:0;align-items:center;background:#f1f3f5;padding:4px;border-radius:8px;box-shadow:inset 0 1px 3px #0000001a;position:relative}.candidate-list-page .candidate-list-controls{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.candidate-list-page .page-switch-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 30px;flex:1;min-width:0;background:transparent;color:#495057;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative;z-index:1}.candidate-list-page .page-switch-btn svg{flex-shrink:0;transition:transform .3s ease}.candidate-list-page .page-switch-btn:hover:not(:disabled){color:#667eea}.candidate-list-page .page-switch-btn:hover:not(:disabled) svg{transform:scale(1.1)}.candidate-list-page .page-switch-btn:active:not(:disabled){transform:scale(.98)}.candidate-list-page .page-switch-btn.active{background:white;color:#667eea;font-weight:600;cursor:default;box-shadow:0 2px 12px #667eea26}.candidate-list-page .page-switch-btn.active svg{color:#667eea}.candidate-list-page .add-candidate-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#28a745;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s;white-space:nowrap}.candidate-list-page .add-candidate-btn:hover{background:#218838}.candidate-list-page .clear-all-filters-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .3s;white-space:nowrap}.candidate-list-page .clear-all-filters-btn:hover{background:#c82333}.candidate-list-page .date-filter-container{display:flex;align-items:center;gap:8px;flex-shrink:0}.candidate-list-page .date-filter-inputs{display:flex;align-items:center;gap:8px;padding:6px 10px;background:white;border:1px solid #ddd;border-radius:6px;min-width:280px}.candidate-list-page .date-filter-input{border:none;outline:none;font-size:13px;color:#333;background:transparent;min-width:100px}.candidate-list-page .date-separator{font-size:12px;color:#666;margin:0 4px;white-space:nowrap}.candidate-list-page .clear-date-filter-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#dc3545;color:#fff;border:none;border-radius:3px;cursor:pointer;transition:background-color .2s;margin-left:4px}.candidate-list-page .clear-date-filter-btn:hover{background:#c82333}.candidate-list-page .today-filter-btn{display:flex;align-items:center;justify-content:center;padding:0 12px;height:32px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;font-size:13px;font-weight:500;white-space:nowrap;margin-left:4px}.candidate-list-page .today-filter-btn:hover{background:#218838}.candidate-list-page .all-filter-btn{display:flex;align-items:center;justify-content:center;padding:0 12px;height:32px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;font-size:13px;font-weight:500;white-space:nowrap;margin-left:4px}.candidate-list-page .all-filter-btn:hover{background:#0056b3}.candidate-list-page .desktop-date-filter{display:flex}.candidate-list-page .date-filter-mobile-btn{display:none;position:relative;align-items:center;justify-content:center;width:40px;height:40px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s;flex-shrink:0}.candidate-list-page .date-filter-mobile-btn:hover{background:#0056b3}.candidate-list-page .date-filter-mobile-btn.has-filter{background:#28a745}.candidate-list-page .filter-indicator{position:absolute;top:6px;right:6px;width:8px;height:8px;background:#ffc107;border-radius:50%}.candidate-list-page .date-filter-modal-mobile{z-index:1000}.candidate-list-page .date-filter-modal-content-mobile{background:white;border-radius:8px;max-width:350px;width:90%;max-height:90vh;overflow:hidden;box-shadow:0 4px 20px #00000026}.candidate-list-page .date-filter-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee;background:#f8f9fa}.candidate-list-page .date-filter-modal-header h4{margin:0;font-size:16px;color:#333;font-weight:600}.candidate-list-page .date-filter-modal-close-mobile{background:none;border:none;font-size:20px;color:#666;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.candidate-list-page .date-filter-modal-body{padding:20px}.candidate-list-page .date-filter-mobile-inputs{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.candidate-list-page .date-input-group{display:flex;flex-direction:column;gap:6px}.candidate-list-page .date-input-group label{font-size:14px;font-weight:500;color:#333}.candidate-list-page .date-filter-input-mobile{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;outline:none}.candidate-list-page .date-filter-input-mobile:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.candidate-list-page .date-filter-mobile-actions{display:flex;gap:10px;justify-content:space-between}.candidate-list-page .today-date-mobile-btn{flex:1;padding:10px 16px;background:#28a745;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.candidate-list-page .today-date-mobile-btn:hover{background:#218838}.candidate-list-page .clear-date-mobile-btn{flex:1;padding:10px 16px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.candidate-list-page .clear-date-mobile-btn:hover{background:#5a6268}.candidate-list-page .apply-date-mobile-btn{flex:1;padding:10px 16px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.candidate-list-page .apply-date-mobile-btn:hover{background:#0056b3}@media (max-width: 768px){.candidate-list-page .desktop-date-filter{display:none!important}.candidate-list-page .date-filter-mobile-btn{display:flex!important}}@media (max-width: 768px){.candidate-list-page .header-title-row{flex-direction:column;align-items:flex-start;gap:12px}.candidate-list-page .candidate-list-header{padding:12px 16px!important;box-shadow:none;border-radius:0;background:white}.candidate-list-page .candidate-list-header h2{display:block!important;font-size:16px!important;margin:0 0 12px!important;line-height:1.4!important;color:#2c3e50!important}.candidate-list-page .page-switch-buttons{width:100%}.candidate-list-page .page-switch-btn{flex:1;justify-content:center;font-size:13px;padding:8px 12px}.candidate-list-page .candidate-list-controls{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;width:100%!important;padding:0!important;justify-content:space-between!important}.candidate-list-page .add-candidate-btn{min-width:40px!important;max-width:40px!important;height:40px!important;padding:0!important;justify-content:center!important;background:#28a745!important;border-radius:6px!important;color:transparent!important;display:flex!important;align-items:center!important;gap:0!important;flex-shrink:0!important;overflow:hidden!important;white-space:nowrap!important;position:relative!important}.candidate-list-page .add-candidate-btn>svg{width:24px!important;height:24px!important;color:#fff!important;flex-shrink:0!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.candidate-list-page .clear-all-filters-btn{font-size:12px!important;padding:6px 10px!important}}.candidate-list-page .search-container{position:relative;flex:1;min-width:300px}.candidate-list-page .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#6c757d;transition:all .3s ease}.search-icon.searching{color:#007bff;animation:searching-pulse 1.5s infinite}@keyframes searching-pulse{0%,to{opacity:.5;transform:translateY(-50%) scale(1)}50%{opacity:1;transform:translateY(-50%) scale(1.1)}}.candidate-list-page .search-input{width:100%;padding:10px 60px 10px 40px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s}.candidate-list-page .search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.candidate-list-page .search-button{position:absolute;right:35px;top:50%;transform:translateY(-50%);background:#007bff;color:#fff;border:none;border-radius:4px;padding:6px 8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:28px;height:28px}.candidate-list-page .search-button:hover:not(:disabled){background:#0056b3;transform:translateY(-50%) scale(1.05)}.candidate-list-page .search-button:disabled{background:#6c757d;cursor:not-allowed}.candidate-list-page .search-button.searching{background:#28a745}.candidate-list-page .search-spinner{width:14px;height:14px;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.candidate-list-page .clear-search-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:#dc3545;color:#fff;border:none;border-radius:50%;padding:4px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:12px;line-height:1}.candidate-list-page .clear-search-button:hover{background:#c82333;transform:translateY(-50%) scale(1.1)}.candidate-list-page .nha-thoi-vu-filter{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:white;min-width:200px;transition:border-color .3s}.candidate-list-page .nha-thoi-vu-filter:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.candidate-list-page .nha-thoi-vu-modal-mobile{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:rgba(0,0,0,.3)!important;z-index:2000!important;display:flex!important;align-items:center!important;justify-content:center!important}.candidate-list-page .nha-thoi-vu-modal-content-mobile{background:#fff!important;border-radius:10px!important;box-shadow:0 2px 12px #00000026!important;padding:16px!important;min-width:220px!important;max-width:90vw!important;max-height:80vh!important;overflow-y:auto!important;position:relative!important}.candidate-list-page .nha-thoi-vu-modal-content-mobile h4{font-size:1.1rem!important;margin-bottom:12px!important;color:#2c3e50!important}.candidate-list-page .nha-thoi-vu-modal-list-mobile{list-style:none!important;padding:0!important;margin:0!important}.candidate-list-page .nha-thoi-vu-modal-list-mobile li{padding:10px 0!important;border-bottom:1px solid #eee!important;cursor:pointer!important;color:#374151!important;font-size:1rem!important;transition:background .2s!important}.candidate-list-page .nha-thoi-vu-modal-list-mobile li:last-child{border-bottom:none!important}.candidate-list-page .nha-thoi-vu-modal-list-mobile li:hover,.candidate-list-page .nha-thoi-vu-modal-list-mobile li.selected{background:#f0f4ff!important;color:#667eea!important}.candidate-list-page .nha-thoi-vu-modal-close-mobile{position:absolute!important;top:10px!important;right:16px!important;background:none!important;border:none!important;font-size:1.5rem!important;color:#667eea!important;cursor:pointer!important}.candidate-list-page .nha-thoi-vu-filter-mobile-btn{display:none}@media (max-width: 768px){.candidate-list-page .app-container{width:100vw;max-width:100vw;margin:0;box-sizing:border-box;padding:0 8px}.candidate-list-page .nha-thoi-vu-filter-mobile-btn{display:flex!important;min-width:40px!important;max-width:40px!important;height:40px!important;background:#fff!important;border:1px solid #ddd!important;border-radius:6px!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;margin-left:0!important;color:#667eea!important;transition:all .3s ease!important;flex-shrink:0!important}.candidate-list-page .nha-thoi-vu-filter-mobile-btn:hover{background:rgba(102,126,234,.1)!important;border-color:#667eea!important}.candidate-list-page .nha-thoi-vu-filter-mobile-btn>svg{width:22px!important;height:22px!important;color:#667eea!important}.candidate-list-page .nha-thoi-vu-modal-mobile{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:rgba(0,0,0,.3)!important;z-index:2000!important;display:flex!important;align-items:center!important;justify-content:center!important}.candidate-list-page .nha-thoi-vu-modal-content-mobile{background:#fff!important;border-radius:10px!important;box-shadow:0 2px 12px #00000026!important;padding:16px!important;min-width:220px!important;max-width:90vw!important;max-height:80vh!important;overflow-y:auto!important;position:relative!important}.candidate-list-page .nha-thoi-vu-modal-content-mobile h4{font-size:1.1rem!important;margin-bottom:12px!important;color:#2c3e50!important}.candidate-list-page .nha-thoi-vu-modal-list-mobile{list-style:none!important;padding:0!important;margin:0!important}.candidate-list-page .nha-thoi-vu-modal-list-mobile li{padding:10px 0!important;border-bottom:1px solid #eee!important;cursor:pointer!important;color:#374151!important;font-size:1rem!important;transition:background .2s!important}.candidate-list-page .nha-thoi-vu-modal-list-mobile li:last-child{border-bottom:none!important}.candidate-list-page .nha-thoi-vu-modal-list-mobile li:hover,.candidate-list-page .nha-thoi-vu-modal-list-mobile li.selected{background:#f0f4ff!important;color:#667eea!important}.candidate-list-page .nha-thoi-vu-modal-close-mobile{position:absolute!important;top:10px!important;right:16px!important;background:none!important;border:none!important;font-size:1.5rem!important;color:#667eea!important;cursor:pointer!important}.candidate-list-page .search-container{flex:1!important;min-width:0!important;margin:0!important;max-width:calc(100% - 100px)!important}.candidate-list-page .search-input{font-size:14px!important;padding:8px 8px 8px 36px!important;border-radius:6px!important;width:100%!important}.candidate-list-page .nha-thoi-vu-filter{display:none!important}}@media (max-width: 992px){.candidate-list-page .search-container{min-width:auto}}.candidate-list-page .candidates-table-container{flex:1;display:flex;flex-direction:column;overflow:auto;background:white;border-radius:8px;box-shadow:0 2px 4px #0000001a;scrollbar-gutter:stable}.candidate-list-page .candidates-table{width:100%;border-collapse:collapse;font-size:16px}.candidate-list-page .candidates-table.desktop-table{min-width:-moz-max-content;min-width:max-content;border-collapse:collapse;display:flex;flex-direction:column;height:100%;overflow:visible}.candidate-list-page .candidates-table.desktop-table thead{flex-shrink:0;background:#6c757d;color:#fff;box-sizing:border-box;position:sticky;top:0;z-index:10}.candidate-list-page .candidates-table.desktop-table thead tr{display:flex}.candidate-list-page .candidates-table.desktop-table thead th{padding:10px 6px;text-align:center;font-weight:600;font-size:14px;border-right:1px solid rgba(255,255,255,.2);height:42px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.candidate-list-page .candidates-table.desktop-table thead th:first-child{border-top-left-radius:8px}.candidate-list-page .candidates-table.desktop-table thead th:last-child{border-right:none;border-top-right-radius:8px}.candidate-list-page .candidates-table.desktop-table thead th.col-stt{flex:0 0 40px;width:40px}.candidate-list-page .candidates-table.desktop-table thead th.col-diem-danh{flex:0 0 130px;width:130px}.candidate-list-page .candidates-table.desktop-table thead th.col-ho-va-ten{flex:0 0 220px;width:220px}.candidate-list-page .candidates-table.desktop-table thead th.col-ngay-sinh,.candidate-list-page .candidates-table.desktop-table thead th.col-gioi-tinh{flex:0 0 120px;width:120px}.candidate-list-page .candidates-table.desktop-table thead th.col-so-cccd,.candidate-list-page .candidates-table.desktop-table thead th.col-so-cmt{flex:0 0 150px;width:150px}.candidate-list-page .candidates-table.desktop-table thead th.col-ngay-cap,.candidate-list-page .candidates-table.desktop-table thead th.col-noi-cap{flex:0 0 120px;width:120px}.candidate-list-page .candidates-table.desktop-table thead th.col-so-dien-thoai{flex:0 0 140px;width:140px}.candidate-list-page .candidates-table.desktop-table thead th.col-email{flex:0 0 200px;width:200px}.candidate-list-page .candidates-table.desktop-table thead th.col-dia-chi-thuong-tru{flex:0 0 240px;width:240px}.candidate-list-page .candidates-table.desktop-table thead th.col-dan-toc,.candidate-list-page .candidates-table.desktop-table thead th.col-ton-giao{flex:0 0 130px;width:130px}.candidate-list-page .candidates-table.desktop-table thead th.col-tinh-trang-ket-hon,.candidate-list-page .candidates-table.desktop-table thead th.col-tien-su-benh-ban-than{flex:0 0 190px;width:190px}.candidate-list-page .candidates-table.desktop-table thead th.col-trinh-do-hoc-van{flex:0 0 180px;width:180px}.candidate-list-page .candidates-table.desktop-table thead th.col-kha-nang-ngoai-ngu,.candidate-list-page .candidates-table.desktop-table thead th.col-trinh-do-ngoai-ngu{flex:0 0 190px;width:190px}.candidate-list-page .candidates-table.desktop-table thead th.col-phuong-thuc-tim-viec{flex:0 0 200px;width:200px}.candidate-list-page .candidates-table.desktop-table thead th.col-vi-tri-du-tuyen{flex:0 0 160px;width:160px}.candidate-list-page .candidates-table.desktop-table thead th.col-chuc-vu-du-tuyen{flex:0 0 170px;width:170px}.candidate-list-page .candidates-table.desktop-table thead th.col-muc-luong-de-nghi{flex:0 0 180px;width:180px}.candidate-list-page .candidates-table.desktop-table thead th.col-lam-them-gio{flex:0 0 150px;width:150px}.candidate-list-page .candidates-table.desktop-table thead th.col-nguyen-vong-chuyen-ca{flex:0 0 210px;width:210px}.candidate-list-page .candidates-table.desktop-table thead th.col-ly-do-chuyen-ca{flex:0 0 200px;width:200px}.candidate-list-page .candidates-table.desktop-table thead th.col-nhu-cau-ky-tuc{flex:0 0 150px;width:150px}.candidate-list-page .candidates-table.desktop-table thead th.col-trang-thai{flex:0 0 180px;width:180px}.candidate-list-page .candidates-table.desktop-table thead th.col-thao-tac{flex:0 0 130px;width:130px}.candidate-list-page .candidates-table.desktop-table tbody td.col-stt{flex:0 0 40px;width:40px}.candidate-list-page .candidates-table.desktop-table tbody td.col-diem-danh{flex:0 0 130px;width:130px}.candidate-list-page .candidates-table.desktop-table tbody td.col-ho-va-ten{flex:0 0 220px;width:220px}.candidate-list-page .candidates-table.desktop-table tbody td.col-ngay-sinh,.candidate-list-page .candidates-table.desktop-table tbody td.col-gioi-tinh{flex:0 0 120px;width:120px}.candidate-list-page .candidates-table.desktop-table tbody td.col-so-cccd,.candidate-list-page .candidates-table.desktop-table tbody td.col-so-cmt{flex:0 0 150px;width:150px}.candidate-list-page .candidates-table.desktop-table tbody td.col-ngay-cap,.candidate-list-page .candidates-table.desktop-table tbody td.col-noi-cap{flex:0 0 120px;width:120px}.candidate-list-page .candidates-table.desktop-table tbody td.col-so-dien-thoai{flex:0 0 140px;width:140px}.candidate-list-page .candidates-table.desktop-table tbody td.col-email{flex:0 0 200px;width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.candidate-list-page .candidates-table.desktop-table tbody td.col-dia-chi-thuong-tru{flex:0 0 240px;width:240px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.candidate-list-page .candidates-table.desktop-table tbody td.col-dan-toc,.candidate-list-page .candidates-table.desktop-table tbody td.col-ton-giao{flex:0 0 130px;width:130px}.candidate-list-page .candidates-table.desktop-table tbody td.col-tinh-trang-ket-hon{flex:0 0 190px;width:190px}.candidate-list-page .candidates-table.desktop-table tbody td.col-tien-su-benh-ban-than{flex:0 0 190px;width:190px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.candidate-list-page .candidates-table.desktop-table tbody td.col-trinh-do-hoc-van{flex:0 0 180px;width:180px}.candidate-list-page .candidates-table.desktop-table tbody td.col-kha-nang-ngoai-ngu{flex:0 0 190px;width:190px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.candidate-list-page .candidates-table.desktop-table tbody td.col-trinh-do-ngoai-ngu{flex:0 0 190px;width:190px}.candidate-list-page .candidates-table.desktop-table tbody td.col-phuong-thuc-tim-viec{flex:0 0 200px;width:200px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.candidate-list-page .candidates-table.desktop-table tbody td.col-vi-tri-du-tuyen{flex:0 0 160px;width:160px}.candidate-list-page .candidates-table.desktop-table tbody td.col-chuc-vu-du-tuyen{flex:0 0 170px;width:170px}.candidate-list-page .candidates-table.desktop-table tbody td.col-muc-luong-de-nghi{flex:0 0 180px;width:180px}.candidate-list-page .candidates-table.desktop-table tbody td.col-lam-them-gio{flex:0 0 150px;width:150px}.candidate-list-page .candidates-table.desktop-table tbody td.col-nguyen-vong-chuyen-ca{flex:0 0 210px;width:210px}.candidate-list-page .candidates-table.desktop-table tbody td.col-ly-do-chuyen-ca{flex:0 0 200px;width:200px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.candidate-list-page .candidates-table.desktop-table tbody td.col-nhu-cau-ky-tuc{flex:0 0 150px;width:150px}.candidate-list-page .candidates-table.desktop-table tbody td.col-trang-thai{flex:0 0 180px;width:180px}.candidate-list-page .candidates-table.desktop-table tbody td.col-thao-tac{flex:0 0 130px;width:130px;border-top-right-radius:8px}.candidate-list-page .candidates-table.desktop-table tbody{flex:1;overflow-y:auto;overflow-x:hidden;display:block;max-height:calc(100vh - 280px);padding-right:0;box-sizing:content-box;scrollbar-gutter:stable;min-height:calc(100vh - 350px)}.candidate-list-page .candidates-table.desktop-table tbody tr{display:flex;border-bottom:1px solid #dee2e6;transition:background-color .2s;box-sizing:border-box}.candidate-list-page .candidates-table.desktop-table tbody tr:hover{background-color:#f8f9fa}.candidate-list-page .candidates-table.desktop-table tbody td{padding:8px 6px;text-align:center;vertical-align:middle;border-right:1px solid #dee2e6;word-wrap:break-word;display:flex;align-items:center;justify-content:center;line-height:1.2;box-sizing:border-box}.candidate-list-page .candidates-table.desktop-table tbody td:last-child{border-right:none}.candidate-list-page .candidates-table.desktop-table tbody td.col-ho-va-ten{justify-content:flex-start!important;text-align:left!important}.candidate-list-page .mobile-table{display:none}.candidate-list-page .candidates-table.mobile-table{width:100%;border-collapse:collapse;table-layout:fixed}.candidate-list-page .candidates-table.mobile-table thead{background:#6c757d;color:#fff}.candidate-list-page .candidates-table.mobile-table thead th{padding:10px 8px;text-align:center;font-weight:600;font-size:13px;border-right:1px solid rgba(255,255,255,.2)}.candidate-list-page .candidates-table.mobile-table thead th:first-child{border-top-left-radius:8px}.candidate-list-page .candidates-table.mobile-table thead th:last-child{border-right:none;border-top-right-radius:8px}.candidate-list-page .candidates-table.mobile-table tbody{display:table-row-group}.candidate-list-page .candidates-table.mobile-table tbody tr{border-bottom:1px solid #dee2e6;transition:background-color .2s}.candidate-list-page .candidates-table.mobile-table tbody tr:hover{background-color:#f8f9fa}.candidate-list-page .candidates-table.mobile-table tbody td{padding:10px 8px;vertical-align:middle;border-right:1px solid #dee2e6;font-size:13px}.candidate-list-page .candidates-table.mobile-table tbody td:last-child{border-right:none}.candidate-list-page .mobile-table th:nth-child(1),.candidate-list-page .mobile-table td:nth-child(1){width:40px;text-align:center}.candidate-list-page .mobile-table th:nth-child(2),.candidate-list-page .mobile-table td:nth-child(2){width:80px;text-align:center}.candidate-list-page .mobile-table th:nth-child(3),.candidate-list-page .mobile-table td:nth-child(3){width:120px}.candidate-list-page .mobile-table th:nth-child(4),.candidate-list-page .mobile-table td:nth-child(4){width:auto}.candidate-list-page .mobile-table th:nth-child(5),.candidate-list-page .mobile-table td:nth-child(5){width:80px;text-align:center}.candidate-list-page .mobile-info-cell{font-size:12px;line-height:1.3;padding:8px 12px!important}.candidate-list-page .mobile-info-line{margin-bottom:3px;display:flex;justify-content:space-between;align-items:center}.candidate-list-page .mobile-info-line:last-child{margin-bottom:0}.candidate-list-page .info-left{font-weight:500;color:#2c3e50;flex:1}.candidate-list-page .info-right{font-weight:500;color:#6c757d;text-align:right;flex:1}.candidate-list-page .phone-cell{padding:8px 12px!important}.candidate-list-page .phone-container{display:flex;align-items:center;justify-content:center;gap:8px}.candidate-list-page .phone-number{flex:1;font-weight:500;text-align:center}.candidate-list-page .edit-phone-btn{padding:4px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s}.candidate-list-page .edit-phone-btn:hover{background:#0056b3}.candidate-list-page .mobile-candidate-cell{padding:8px!important;vertical-align:top;width:100%;max-width:0;overflow:hidden;word-wrap:break-word;white-space:normal}.candidate-list-page .mobile-row{padding:5px;border-radius:6px;width:100%;max-width:100%;overflow:hidden;word-wrap:break-word;box-sizing:border-box}.candidate-list-page .mobile-row:last-child{margin-bottom:0}.candidate-list-page .mobile-row-left{text-align:left}.candidate-list-page .mobile-row-right{text-align:right}.candidate-list-page .mobile-row-1{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;max-width:100%;overflow:hidden}.mobile-row-1 .mobile-row-left{flex:1;min-width:0;overflow:hidden}.mobile-row-1 .mobile-row-right{flex:0 0 auto;font-weight:500;color:#495057}.candidate-list-page .mobile-row-2{display:flex;gap:5px;align-items:flex-start;width:100%;max-width:100%;overflow:hidden}.mobile-row-2 .mobile-row-left{flex:1;min-width:0;overflow:hidden;word-wrap:break-word}.mobile-row-2 .mobile-row-right{flex:0 0 90px;min-width:90px;max-width:90px;display:flex;justify-content:flex-end;align-items:flex-start}.candidate-list-page .mobile-info-column{padding:2px}.candidate-list-page .mobile-info-item{margin-bottom:6px;font-size:13px;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;max-width:100%}.candidate-list-page .mobile-info-item:last-child{margin-bottom:0}.candidate-list-page .mobile-info-item strong{color:#2c3e50;margin-right:5px}.candidate-list-page .mobile-avatar-info-row{display:flex;gap:12px;align-items:flex-start;width:100%;max-width:100%;overflow:hidden}.candidate-list-page .mobile-avatar-container{flex-shrink:0;width:40px;height:60px}.candidate-list-page .mobile-candidate-avatar{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:8px;border:2px solid #e9ecef}.candidate-list-page .mobile-no-avatar{width:100%;height:100%;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:9px;color:#6c757d;text-align:center;line-height:1.1}.candidate-list-page .mobile-basic-info{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:60px;min-width:0;overflow:hidden;word-wrap:break-word}.candidate-list-page .mobile-status-left{display:flex;justify-content:flex-start;align-items:center;gap:8px;flex:1;min-width:0;width:100%}.candidate-list-page .mobile-status-left strong{color:#2c3e50;font-size:12px}.mobile-status-left .status-container{flex:1;width:auto;max-width:none!important;display:flex;justify-content:flex-start}.mobile-status-left .status-badge{font-size:11px;padding:4px 8px;width:auto;max-width:-moz-fit-content;max-width:fit-content;text-align:left}.mobile-status-left .status-marquee{animation:marquee-scroll-mobile-status 6s ease-in-out infinite}.candidate-list-page .mobile-delete-right{display:flex;justify-content:flex-end;align-items:center;flex-shrink:0;width:auto}.candidate-list-page .mobile-delete-btn{width:28px;height:28px;border-radius:50%;border:2px solid #dc3545;background:#dc3545;color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0;line-height:1}.candidate-list-page .mobile-delete-btn:hover:not(:disabled){background:#c82333;border-color:#c82333;transform:scale(1.1)}.mobile-delete-btn.disabled{background:#6c757d;border-color:#6c757d;cursor:not-allowed;opacity:.6}.candidate-list-page .mobile-nha-thoi-vu{background:#27beec;border:1px solid #5a6fd8;border-radius:8px;padding:4px;margin-bottom:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px;box-shadow:0 2px 6px #5a6fd84d;position:relative;overflow:hidden;text-align:right;width:auto;max-width:75px}.candidate-list-page .mobile-nha-thoi-vu:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.mobile-nha-thoi-vu .nha-thoi-vu-label{font-size:8px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;text-shadow:0 1px 2px rgba(0,0,0,.2);text-align:right;width:100%}.mobile-nha-thoi-vu .nha-thoi-vu-value{font-size:9px;font-weight:500;color:#fff;text-align:right;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.2);word-break:break-word;-webkit-hyphens:auto;hyphens:auto;width:100%}.candidate-list-page .mobile-nha-thoi-vu-row{display:flex;justify-content:flex-end;align-items:center;width:100%;margin-bottom:8px}.candidate-list-page .mobile-action-buttons-row{display:flex;justify-content:center;align-items:center;width:100%}.candidate-list-page .mobile-row-3{display:flex;justify-content:flex-end;align-items:center}.mobile-row-3 .mobile-row-right{font-size:11px;color:#6c757d;font-style:italic}@media (max-width: 1024px) and (min-width: 769px){.candidate-list-page .desktop-table th,.candidate-list-page .desktop-table td{padding:7px 5px;font-size:13px}.candidate-list-page .candidates-table.desktop-table tbody{max-height:calc(100vh - 280px)}}@media (max-width: 768px){.candidate-list-page .candidates-table.desktop-table{display:none!important}.candidate-list-page .candidates-table.mobile-table{display:table!important;width:100%;table-layout:fixed}.candidate-list-page .candidates-table-container{overflow-x:hidden;overflow-y:auto!important;width:100%;max-width:100vw;max-height:calc(100vh - 200px)!important;flex:1!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:0!important}.candidate-list-page .mobile-table{display:table!important;width:100%!important;table-layout:auto!important}.candidate-list-page .mobile-table tbody{display:table-row-group!important}.candidate-list-page .mobile-table tr{display:table-row!important;border-bottom:1px solid #ddd!important}.candidate-list-page .mobile-table .mobile-candidate-cell{display:table-cell!important;width:100%!important;padding:12px!important;vertical-align:top!important}.candidate-list-page .mobile-info-cell{font-size:13px!important;line-height:1.4!important;padding:12px 15px!important}.candidate-list-page .mobile-info-line{margin-bottom:8px!important;display:block!important;word-wrap:break-word!important}.candidate-list-page .mobile-info-line:last-child{margin-bottom:0!important}.candidate-list-page .mobile-line-1{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;flex-wrap:wrap!important;border-bottom:1px solid #e9ecef!important;padding-bottom:6px!important;margin-bottom:10px!important}.mobile-line-1 .info-left{flex:1!important;text-align:left!important;color:#2c3e50!important;font-size:13px!important}.mobile-line-1 .info-right{flex:0 0 auto!important;text-align:right!important;color:#2c3e50!important;font-size:13px!important}.mobile-line-1 .status-badge{font-size:11px!important;padding:3px 8px!important;margin-left:5px!important}.candidate-list-page .mobile-line-2,.candidate-list-page .mobile-line-3,.candidate-list-page .mobile-line-4,.candidate-list-page .mobile-line-5,.candidate-list-page .mobile-line-6{text-align:left!important}.mobile-line-2 .info-left,.mobile-line-3 .info-left,.mobile-line-4 .info-left,.mobile-line-5 .info-left,.mobile-line-6 .info-left{color:#2c3e50!important;font-size:13px!important;display:block!important}.candidate-list-page .mobile-line-7{text-align:right!important;border-top:1px solid #e9ecef!important;padding-top:6px!important;margin-top:8px!important}.mobile-line-7 .info-right{color:#6c757d!important;font-style:italic!important;font-size:12px!important}.candidate-list-page .mobile-action-buttons{display:flex!important;flex-direction:column!important;gap:20px!important;align-items:center!important;vertical-align:middle!important}.mobile-action-buttons .action-btn{width:100%!important;max-width:120px!important;padding:12px!important;font-size:11px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px;border-radius:4px!important;transition:all .2s ease!important}.mobile-action-buttons .action-btn svg{width:12px!important;height:24px!important;flex-shrink:0!important}.mobile-action-buttons .action-btn span{font-size:10px!important;font-weight:500!important}.candidate-list-page .attendance-btn{background:#17a2b8!important;color:#fff!important}.candidate-list-page .attendance-btn:hover{background:#138496!important}.candidate-list-page .attendance-btn:disabled{background:#6c757d!important;cursor:not-allowed!important;opacity:.7}.candidate-list-page .attendance-status-present{display:flex!important;flex-direction:column!important;align-items:center!important;gap:4px!important;padding:8px!important;background:#caeeda!important;color:#330303!important;border-radius:6px!important;font-size:12px!important;font-weight:500!important;border:none!important;cursor:default!important;max-width:180px!important;width:100%!important}.candidate-list-page .attendance-status-present svg{width:12px!important;height:12px!important;flex-shrink:0!important}.candidate-list-page .attendance-full-text{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}.candidate-list-page .attendance-line-1{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:#155724}.candidate-list-page .attendance-line-1 svg{width:14px;height:14px;flex-shrink:0;color:#155724}.candidate-list-page .attendance-line-2{font-size:9px;font-weight:500;color:#155724;text-align:center;line-height:1.2}.candidate-list-page .edit-btn{background:#007bff!important;color:#fff!important}.candidate-list-page .edit-btn:hover{background:#0056b3!important}.candidate-list-page .delete-btn{background:#dc3545!important;color:#fff!important}.candidate-list-page .delete-btn:hover{background:#c82333!important}.candidate-list-page .mobile-info-line strong{font-weight:600!important;color:#495057!important}.candidate-list-page .status-container{max-width:150px}.candidate-list-page .status-marquee{animation:marquee-pingpong-mobile 10s ease-in-out infinite}.candidate-list-page .permanent-empty-content{padding:40px 15px}.candidate-list-page .permanent-empty-content svg{width:40px;height:40px}.candidate-list-page .permanent-empty-content h3{font-size:16px}.candidate-list-page .permanent-empty-content p{font-size:13px}}@keyframes marquee-pingpong-mobile{45%{transform:translate(calc(-100% + 150px))}55%{transform:translate(calc(-100% + 150px))}}@media (max-width: 480px){.candidate-list-page .mobile-table th,.candidate-list-page .mobile-table td{padding:8px 6px;font-size:12px}.candidate-list-page .mobile-info-cell{font-size:11px;padding:6px 8px!important}.candidate-list-page .mobile-info-line{margin-bottom:4px}.candidate-list-page .mobile-info-line:first-child{border-bottom:1px solid #eee;padding-bottom:3px;margin-bottom:6px}.candidate-list-page .info-left,.candidate-list-page .info-right{font-size:11px}}.candidate-list-page .attendance-status-present{text-align:center;padding:3px 6px}.candidate-list-page .attendance-status-text{font-size:14px;font-weight:600;color:#28a745;margin-bottom:1px}.candidate-list-page .attendance-time-text{font-size:12px;color:#666;line-height:1.1}.candidate-list-page .attendance-btn{padding:4px 8px!important;font-size:11px!important;white-space:nowrap;min-width:70px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:3px;transition:background-color .2s}.candidate-list-page .attendance-btn:hover:not(:disabled){background:#0056b3}.candidate-list-page .attendance-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.7}.candidate-list-page .attendance-btn span{font-size:11px}@media (max-width: 1200px){.candidate-list-page .attendance-btn{padding:4px 8px!important;font-size:11px!important;min-width:70px}.candidate-list-page .attendance-btn span,.candidate-list-page .attendance-status-text{font-size:11px}.candidate-list-page .attendance-time-text{font-size:9px}}@media (max-width: 992px){.candidate-list-page .attendance-btn{padding:3px 6px!important;font-size:10px!important;min-width:60px}.candidate-list-page .attendance-btn span{font-size:10px}}.candidate-list-page .status-container{overflow:hidden;max-width:100%;position:relative;display:inline-block;width:100%;white-space:nowrap}.candidate-list-page .status-marquee{display:inline-block;animation:marquee-scroll 6s ease-in-out infinite;white-space:nowrap;min-width:100%}@keyframes marquee-scroll{0%{transform:translate(0)}25%{transform:translate(0)}50%{transform:translate(calc(-100% + 140px))}75%{transform:translate(calc(-100% + 140px))}to{transform:translate(0)}}.desktop-table .status-container{overflow:hidden;max-width:100%;display:inline-block;width:100%}.candidate-list-page .permanent-empty-state{text-align:center;padding:0;flex:1!important;width:100%!important;max-width:100%!important;border-right:none!important}.candidate-list-page .permanent-empty-content{padding:60px 20px;color:#666;width:100%}.candidate-list-page .permanent-empty-content svg{color:#ccc;margin-bottom:16px}.candidate-list-page .permanent-empty-content h3{margin:0 0 8px;color:#333;font-size:18px}.candidate-list-page .permanent-empty-content p{margin:0;color:#666;font-size:14px}.candidate-list-page .candidates-table.desktop-table tbody tr:has(.permanent-empty-state){display:flex!important;width:100%!important}.candidate-list-page .candidates-table.desktop-table tbody tr:has(.permanent-empty-state) td{flex:1!important;width:100%!important;max-width:100%!important;border-right:none!important}.filter-menu{position:absolute;top:100%;left:0;background:white;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:1000;width:300px;max-height:400px;display:none;flex-direction:column;font-size:14px}.filter-menu.show{display:flex}.filter-search{padding:8px;border-bottom:1px solid #eee;width:100%;box-sizing:border-box;border:none;outline:none;font-size:13px}.filter-search:focus{outline:none}.filter-search .col-filter{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:3px;font-size:13px}.filter-controls{padding:10px 12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee;background:#f8f9fa;font-size:12px}.select-all-btn{background:none;border:none;color:#007bff;cursor:pointer;font-size:12px;padding:4px 8px;border-radius:3px;font-weight:500;transition:background-color .15s ease}.select-all-btn:hover{background:rgba(0,123,255,.1);text-decoration:none}.selected-count{font-size:12px;color:#666;font-weight:500;padding:3px 8px;border-radius:12px}.filter-values,.filter-options{flex:1;overflow-y:auto;max-height:250px;padding:4px 0}.filter-option{display:flex;align-items:center;padding:8px 12px;cursor:pointer;margin:0;font-size:13px;border-bottom:1px solid #f0f0f0;transition:background-color .15s ease}.filter-option:hover{background:#f8f9fa}.filter-option:last-child{border-bottom:none}.filter-option input[type=checkbox],.filter-option input[type=radio]{margin-right:10px;margin-left:0;width:16px;height:16px;cursor:pointer;accent-color:#007bff}.filter-option-text{flex:1;line-height:1.4;word-break:break-word;cursor:pointer;margin-right:8px;text-align:left;overflow:hidden;text-overflow:ellipsis}.filter-option-count{flex:0 0 auto!important;font-size:11px!important;color:#666!important;background-color:#e9ecef!important;padding:4px 8px!important;border-radius:10px!important;font-weight:500!important;text-align:center!important;min-width:28px!important;max-width:60px!important;white-space:nowrap!important;display:flex!important;align-items:center!important;justify-content:center!important}.filter-value-item{display:flex;align-items:center;padding:8px 12px;cursor:pointer;margin:0;font-size:13px;border-bottom:1px solid #f0f0f0;transition:background-color .15s ease}.filter-value-item:hover{background:#f8f9fa}.filter-value-item:last-child{border-bottom:none}.filter-value-item input[type=checkbox]{margin-right:10px;margin-left:0;width:16px;height:16px;cursor:pointer;accent-color:#007bff}.filter-value-text{flex:1;line-height:1.4;word-break:break-word;cursor:pointer;margin-right:8px;text-align:left;overflow:hidden;text-overflow:ellipsis}.filter-value-count{flex:0 0 auto!important;font-size:11px!important;color:#666!important;background-color:#e9ecef!important;padding:4px 8px!important;border-radius:10px!important;font-weight:500!important;text-align:center!important;min-width:28px!important;max-width:60px!important;white-space:nowrap!important;display:flex!important;align-items:center!important;justify-content:center!important}.filter-value-item input[type=checkbox]:checked{background-color:#007bff;border-color:#007bff}.no-values{padding:12px;text-align:center;color:#999;font-style:italic;font-size:13px}.filter-actions{padding:8px;border-top:1px solid #eee;display:flex;gap:8px;background:#f9f9f9}.filter-actions button{flex:1;padding:6px 12px;border:1px solid #ddd;border-radius:3px;background:white;cursor:pointer;font-size:12px}.filter-actions button:hover{background:#f5f5f5}.filter-actions button:first-child{background:#007bff;color:#fff;border-color:#007bff;font-weight:500}.filter-actions button:first-child:hover{background:#0056b3;border-color:#0056b3}.filter-actions button:last-child{background:#6c757d;color:#fff;border-color:#6c757d}.filter-actions button:last-child:hover{background:#545b62;border-color:#545b62}.filter-values::-webkit-scrollbar{width:8px}.filter-values::-webkit-scrollbar-track{background:#f8f9fa;border-radius:4px}.filter-values::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px;border:1px solid #f8f9fa}.filter-values::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.filter-values{scrollbar-width:thin;scrollbar-color:#c1c1c1 #f8f9fa}.candidate-list-page .filter-menu{position:absolute;top:100%;left:0;background:white;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:1000;width:300px;max-height:400px;display:none;flex-direction:column;font-size:14px}.candidate-list-page .filter-menu.show{display:flex}.candidate-list-page .filter-values{flex:1;overflow-y:auto;max-height:250px;padding:4px 0}.candidate-list-page .filter-values::-webkit-scrollbar{width:8px}.candidate-list-page .filter-values::-webkit-scrollbar-track{background:#f8f9fa;border-radius:4px}.candidate-list-page .filter-values::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px;border:1px solid #f8f9fa}.candidate-list-page .filter-values::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.candidate-list-page .filter-values{scrollbar-width:thin;scrollbar-color:#c1c1c1 #f8f9fa}.candidate-list-page .th-cell{position:relative;padding:12px 8px;background:#6c757d;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.candidate-list-page .th-cell:hover{background:#6c757d}.candidate-list-page .th-cell span{display:flex;align-items:center;justify-content:space-between;gap:4px;font-weight:600;color:#fff;width:100%;position:relative;min-height:24px}.candidate-list-page .th-cell .header-text{flex:1;text-align:center;display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff}.candidate-list-page .filter-menu span,.candidate-list-page .filter-value-text,.candidate-list-page .filter-option-text{color:#333!important}.candidate-list-page .filter-menu,.candidate-list-page .filter-menu *{color:#000}.candidate-list-page .filter-menu input::-moz-placeholder{color:#333!important}.candidate-list-page .filter-menu .filter-value-text,.candidate-list-page .filter-menu .filter-option-text,.candidate-list-page .filter-menu input::placeholder,.candidate-list-page .filter-menu .no-values{color:#333!important}.candidate-list-page .filter-btn{background:none;border:none;color:#fffc;cursor:pointer;padding:2px;margin-left:auto;border-radius:3px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.candidate-list-page .filter-btn:hover{background:rgba(255,255,255,.2);color:#fff}.candidate-list-page .filter-btn:focus{outline:none;background:rgba(255,255,255,.3);color:#fff}.candidate-list-page .th-cell:first-child .filter-menu{left:0;transform:none}.candidate-list-page .th-cell:last-child .filter-menu,.candidate-list-page .th-cell:nth-last-child(-n+2) .filter-menu{left:auto;right:0;transform:none}.candidate-list-page .th-cell:not(:first-child):not(:last-child):not(:nth-last-child(2)) .filter-menu{left:50%;transform:translate(-50%)}.candidate-list-page .filter-menu{max-width:90vw;min-width:250px}@media (max-width: 768px){.candidate-list-page .filter-menu{width:280px;left:50%!important;right:auto!important;transform:translate(-50%)!important}}.candidate-list-page .filter-controls{padding:10px 12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee;background:#f8f9fa;font-size:12px}.candidate-list-page .select-all-btn{background:none;border:none;color:#007bff!important;cursor:pointer;font-size:12px;padding:4px 8px;border-radius:3px;font-weight:500;transition:background-color .15s ease}.candidate-list-page .select-all-btn:hover{background:rgba(0,123,255,.1);text-decoration:none}.candidate-list-page .selected-count{font-size:12px;color:#666!important;font-weight:500;background:#e9ecef;padding:3px 8px;border-radius:12px}.candidate-list-page .filter-search{padding:8px;border-bottom:1px solid #eee}.candidate-list-page .filter-search .col-filter{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:3px;font-size:13px}.candidate-list-page .menu-actions{padding:8px;border-top:1px solid #eee;display:flex;gap:8px;background:#f9f9f9}.candidate-list-page .menu-actions button{flex:1;padding:6px 12px;border:1px solid #ddd;border-radius:3px;background:white;cursor:pointer;font-size:12px}.candidate-list-page .menu-actions button:hover{background:#f5f5f5}.candidate-list-page .menu-actions button:first-child{background:#007bff;color:#fff;border-color:#007bff;font-weight:500}.candidate-list-page .menu-actions button:first-child:hover{background:#0056b3;border-color:#0056b3}.candidate-list-page .menu-actions button:last-child{background:#6c757d;color:#fff;border-color:#6c757d}.candidate-list-page .menu-actions button:last-child:hover{background:#545b62;border-color:#545b62}.candidate-list-page .no-values{padding:12px;text-align:center;color:#999;font-style:italic;font-size:13px}.candidate-list-page .filter-option{display:flex;align-items:center;padding:8px 12px;cursor:pointer;margin:0;font-size:13px;border-bottom:1px solid #f0f0f0;transition:background-color .15s ease}.candidate-list-page .filter-option:hover{background:#f8f9fa}.candidate-list-page .filter-option:last-child{border-bottom:none}.candidate-list-page .filter-option input[type=checkbox],.candidate-list-page .filter-option input[type=radio]{margin-right:10px;margin-left:0;width:16px;height:16px;cursor:pointer;accent-color:#007bff}.candidate-list-page .filter-option-text{flex:1;line-height:1.4;word-break:break-word;cursor:pointer;margin-right:8px;text-align:left;overflow:hidden;text-overflow:ellipsis}.candidate-list-page .filter-option-count{flex:0 0 auto!important;font-size:11px!important;color:#666!important;background-color:#e9ecef!important;padding:4px 8px!important;border-radius:10px!important;font-weight:500!important;text-align:center!important;min-width:28px!important;max-width:60px!important;white-space:nowrap!important;display:flex!important;align-items:center!important;justify-content:center!important}.candidate-list-page .select-all-option{background:#f8f9fa;border-bottom:2px solid #ddd;font-weight:500}.candidate-list-page .select-all-option:hover{background:#e9ecef}.candidate-list-page .filter-value-item{display:flex;align-items:center;padding:8px 12px;cursor:pointer;margin:0;font-size:13px;border-bottom:1px solid #f0f0f0;transition:background-color .15s ease}.candidate-list-page .filter-value-item:hover{background:#f8f9fa}.candidate-list-page .filter-value-item:last-child{border-bottom:none}.candidate-list-page .filter-value-item input[type=checkbox]{margin-right:10px;margin-left:0;width:16px;height:16px;cursor:pointer;accent-color:#007bff}.candidate-list-page .filter-value-text{flex:1;line-height:1.4;word-break:break-word;cursor:pointer;margin-right:8px;text-align:left;overflow:hidden;text-overflow:ellipsis}.candidate-list-page .filter-value-count{flex:0 0 auto!important;font-size:11px!important;color:#666!important;background-color:#e9ecef!important;padding:4px 8px!important;border-radius:10px!important;font-weight:500!important;text-align:center!important;min-width:28px!important;max-width:60px!important;white-space:nowrap!important;display:flex!important;align-items:center!important;justify-content:center!important}.column-selector-container{position:relative;display:inline-block}.column-selector-btn{background:linear-gradient(135deg,#6c5ce7,#5b4cdb);color:#fff;border:none;padding:8px 45px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:center;box-shadow:0 2px 8px #6c5ce74d;white-space:nowrap}.column-selector-btn:hover{background:linear-gradient(135deg,#5a4fcf,#4834d4);box-shadow:0 4px 12px #6c5ce766;transform:translateY(-1px)}.column-selector-dropdown{position:absolute;top:calc(100% + 5px);right:0;background:white;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 8px 25px #00000026;z-index:1000;min-width:250px;max-height:400px;overflow-y:auto}.column-selector-header{padding:15px 20px;background:#f8f9fa;border-bottom:1px solid #e1e5e9;border-radius:8px 8px 0 0}.column-selector-header h4{margin:0;color:#2c3e50;font-size:14px;font-weight:600}.column-selector-content{padding:10px 0;max-height:300px;overflow-y:auto}.column-selector-item{display:flex;align-items:center;padding:8px 20px;cursor:pointer;transition:background-color .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.column-selector-item:hover{background:#f8f9fa}.column-selector-item input[type=checkbox]{margin-right:10px;cursor:pointer}.column-selector-item span{font-size:14px;color:#2c3e50}.required-column{color:#7f8c8d;font-style:italic}@media (max-width: 768px){.column-selector-container{display:none!important}}.candidate-list-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.candidate-list-page .modal-content{background:white;border-radius:12px;max-width:800px;width:95%;max-height:95vh;box-shadow:0 12px 48px #0003;display:flex;flex-direction:column;overflow:hidden}.candidate-list-page .add-candidate-modal{display:flex;flex-direction:column;height:90vh;max-height:90vh}.candidate-list-page .modal-header-fixed{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef;background:white;flex-shrink:0;position:relative;z-index:10}.candidate-list-page .modal-header-fixed h3{margin:0;font-size:20px;font-weight:600;color:#2c3e50}.candidate-list-page .modal-header-actions{display:flex;align-items:center;gap:12px}.candidate-list-page .print-form-header-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#17a2b8 0%,#138496 100%);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap}.candidate-list-page .print-form-header-btn:hover{background:linear-gradient(135deg,#138496 0%,#117a8b 100%);transform:translateY(-1px);box-shadow:0 4px 12px #17a2b84d}.candidate-list-page .print-form-header-btn:disabled{background:linear-gradient(135deg,#6c757d 0%,#5a6268 100%);cursor:not-allowed;opacity:.6;transform:none}.candidate-list-page .print-form-header-btn .print-btn-text{display:inline}.candidate-list-page .modal-close-btn{background:none;border:none;font-size:45px;color:#6c757d;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;line-height:1;padding:0}.candidate-list-page .modal-close-btn:hover{background:#f8f9fa;color:#343a40}.candidate-list-page .modal-container-scrollable{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px;background:white}.candidate-list-page .modal-container-scrollable::-webkit-scrollbar{width:6px}.candidate-list-page .modal-container-scrollable::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.candidate-list-page .modal-container-scrollable::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.candidate-list-page .modal-container-scrollable::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.candidate-list-page .modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.candidate-list-page .modal .modal-content{background:white;padding:30px;border-radius:12px;max-width:500px;width:90%;box-shadow:0 12px 48px #0003}.candidate-list-page .modal .modal-content h3{margin:0 0 20px;font-size:22px;font-weight:600;color:#2c3e50;text-align:center}.candidate-list-page .modal .modal-content p{margin:0 0 10px;font-size:16px;color:#495057;line-height:1.6;text-align:center}.candidate-list-page .modal-buttons{display:flex;justify-content:center;gap:20px;margin-top:30px}.candidate-list-page .btn-confirm,.candidate-list-page .btn-cancel{padding:15px 30px;border:none;border-radius:8px;font-size:20px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px}.candidate-list-page .btn-confirm{background:linear-gradient(135deg,#28a745 0%,#20c997 100%);color:#fff}.candidate-list-page .btn-confirm:hover{background:linear-gradient(135deg,#20c997 0%,#17a2b8 100%);transform:translateY(-2px);box-shadow:0 4px 15px #28a7454d}.candidate-list-page .btn-cancel{background:linear-gradient(135deg,#6c757d 0%,#495057 100%);color:#fff}.candidate-list-page .btn-cancel:hover{background:linear-gradient(135deg,#495057 0%,#343a40 100%);transform:translateY(-2px);box-shadow:0 4px 15px #6c757d4d}.candidate-list-page .modal-footer-fixed{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e9ecef;background:#f8f9fa;flex-shrink:0}.candidate-list-page .candidate-info-modal-new{max-width:700px;max-height:100vh;width:95%;display:flex;flex-direction:column;overflow:hidden}.candidate-list-page .info-frame-1{margin-bottom:10px;padding:25px;background:linear-gradient(135deg,#f8fbff 0%,#e8f4fd 100%);border-radius:12px;border:2px solid #e3f2fd;box-shadow:0 2px 8px #007bff1a}.candidate-list-page .desktop-layout{display:grid;grid-template-columns:140px 1fr;gap:20px}.candidate-list-page .mobile-layout{display:none}.candidate-list-page .avatar-col{display:flex;justify-content:center;align-items:center}.candidate-list-page .basic-info-col{display:flex;flex-direction:column;gap:10px}.candidate-list-page .info-line{display:flex;justify-content:space-between;align-items:flex-start;min-height:32px;flex-wrap:nowrap;gap:10px;max-width:100%;overflow:hidden}.candidate-list-page .name-text{font-size:22px;font-weight:600;color:#2c3e50;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.candidate-list-page .nha-thoi-vu-select{padding:6px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:white;min-width:200px}.candidate-list-page .nha-thoi-vu-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.candidate-list-page .nha-thoi-vu-display{display:flex;align-items:center;gap:8px;background:#f8f9fa;padding:8px 12px;border-radius:6px;border:1px solid #e9ecef;transition:all .2s ease}.candidate-list-page .nha-thoi-vu-display:hover{background:#e9ecef;border-color:#007bff}.candidate-list-page .nha-thoi-vu-text{font-size:13px;color:#495057;font-weight:500;margin:0}.candidate-list-page .edit-nha-thoi-vu-btn{background:#007bff;color:#fff;border:none;border-radius:4px;width:24px;height:24px;min-width:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #007bff33}.candidate-list-page .edit-nha-thoi-vu-btn:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 8px #007bff4d}.candidate-list-page .edit-nha-thoi-vu-btn:active{transform:translateY(0);box-shadow:0 1px 3px #007bff33}.candidate-list-page .mobile-row-1{display:flex;justify-content:space-between;align-items:center}.mobile-row-1 .left-side{display:flex;align-items:center;flex:0 0 auto}.mobile-row-1 .right-side{display:flex;align-items:center;flex:1;justify-content:flex-end}.candidate-list-page .mobile-row-2{display:flex;justify-content:center;align-items:center;padding:10px 0}.candidate-list-page .mobile-row-3{display:flex;justify-content:center;align-items:center}.candidate-list-page .mobile-row-4{display:flex;justify-content:center;align-items:center;padding:8px 0}.candidate-list-page .mobile-row-5{display:flex;justify-content:flex-end;align-items:center}.mobile-row-1 .contract-badge{margin:0;font-size:12px;padding:4px 8px}.mobile-row-1 .nha-thoi-vu-display{display:flex;align-items:center;gap:6px;background:#f8f9fa;padding:6px 10px;border-radius:6px;border:1px solid #e9ecef;max-width:200px;transition:all .2s ease}.mobile-row-1 .nha-thoi-vu-display:hover{background:#e9ecef;border-color:#007bff}.mobile-row-1 .nha-thoi-vu-text{font-size:12px;color:#495057;font-weight:500;margin:0}.mobile-row-1 .edit-nha-thoi-vu-btn{background:#007bff;color:#fff;border:none;border-radius:4px;width:20px;height:20px;min-width:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #007bff33}.mobile-row-1 .edit-nha-thoi-vu-btn:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 6px #007bff4d}.mobile-row-1 .edit-nha-thoi-vu-btn:active{transform:translateY(0);box-shadow:0 1px 3px #007bff33}.mobile-row-3 .name-text{font-size:25px;font-weight:600;color:#2c3e50;text-align:center}.mobile-row-4 .status-badge{font-size:12px;padding:4px 8px;min-width:auto;width:auto;max-width:-moz-fit-content;max-width:fit-content;text-align:left}.mobile-row-5 .register-time{font-size:11px;color:#6c757d;font-style:italic}.candidate-list-page .info-frame-2{margin-bottom:20px;padding:20px;border-radius:8px;border:1px solid #e9ecef}.candidate-list-page .detail-row{display:flex;gap:20px;margin-bottom:15px;flex-wrap:wrap}.candidate-list-page .detail-group{flex:1;min-width:200px;display:flex;flex-direction:column;gap:5px}.detail-group.full-width{flex:100%;min-width:100%}.candidate-list-page .detail-group span,.candidate-list-page .detail-group .edit-input{min-height:38px;display:flex;align-items:center}.candidate-list-page .info-line .status-container{max-width:300px;width:300px;overflow:hidden;position:relative}.candidate-list-page .info-line .status-marquee{animation:marquee-pingpong-modal 8s ease-in-out infinite;white-space:nowrap;display:inline-block;width:-moz-max-content;width:max-content}.candidate-list-page .basic-info-col .status-container{max-width:400px;width:400px;overflow:hidden;position:relative}.candidate-list-page .basic-info-col .status-marquee{animation:marquee-pingpong-modal-full 8s ease-in-out infinite;white-space:nowrap;display:inline-block;width:-moz-max-content;width:max-content}@keyframes marquee-pingpong-modal{0%{transform:translate(0)}20%{transform:translate(0)}50%{transform:translate(calc(300px - 100%))}80%{transform:translate(calc(300px - 100%))}to{transform:translate(0)}}@keyframes marquee-pingpong-modal-full{0%{transform:translate(0)}20%{transform:translate(0)}50%{transform:translate(calc(400px - 100%))}80%{transform:translate(calc(400px - 100%))}to{transform:translate(0)}}.candidate-list-page .info-line .status-container:hover .status-marquee,.candidate-list-page .basic-info-col .status-container:hover .status-marquee{animation-play-state:paused}.candidate-list-page .detail-group label{font-weight:600;color:#495057;font-size:14px}.candidate-list-page .detail-group span{color:#2c3e50;font-size:15px;padding:8px 12px;background:#f8f9fa;border-radius:4px;border:1px solid #e9ecef}.candidate-list-page .edit-input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s}.candidate-list-page .edit-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.candidate-list-page .cccd-images{margin:0;padding:0}.candidate-list-page .cccd-images h5{margin:0 0 15px;font-size:16px;font-weight:600;color:#2c3e50}.candidate-list-page .avatar-container,.candidate-list-page .cccd-image-container{position:relative;display:inline-block}.candidate-list-page .edit-image-btn{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.7);color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.candidate-list-page .edit-image-btn:hover{background:rgba(0,0,0,.9);transform:scale(1.1)}.candidate-list-page .hidden-file-input{display:none!important}.candidate-list-page .no-cccd-image{width:165px;height:120px;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6c757d;font-style:italic;text-align:center;padding:10px;box-sizing:border-box}.candidate-list-page .no-cccd-image span{font-size:12px;line-height:1.4}.candidate-list-page .cccd-image-item img{max-width:200px;max-height:120px;-o-object-fit:cover;object-fit:cover;border-radius:6px;cursor:pointer;transition:transform .2s ease}.candidate-list-page .info-frame-cccd{margin-bottom:20px;padding:20px;background:white;border-radius:8px;border:1px solid #e9ecef}.candidate-list-page .cccd-images-row:not(.mobile-cccd-row){display:flex;gap:20px;justify-content:center}.candidate-list-page .cccd-images-row:not(.mobile-cccd-row) .cccd-image-item{text-align:center}.candidate-list-page .cccd-image-item img:hover{transform:scale(1.02)}.avatar-col .avatar-container,.mobile-row-2 .avatar-container{position:relative;display:inline-block}.candidate-list-page .mobile-cccd-row{display:flex!important;flex-direction:row!important;gap:10px!important;flex-wrap:nowrap!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.mobile-cccd-row .cccd-image-item{flex:1!important;min-width:0!important;text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}.mobile-cccd-row .cccd-image-item label{display:block!important;text-align:center!important;margin-bottom:8px!important;font-weight:600!important;color:#495057!important;font-size:14px!important;width:100%!important}.mobile-cccd-row .cccd-image-container{flex:0 0 auto!important;max-width:none!important;display:flex!important;justify-content:center!important;align-items:center!important;position:relative!important;box-sizing:border-box!important;min-height:120px!important;width:100%!important}.candidate-list-page .mobile-cccd-row .cccd-image-item img,.candidate-list-page .mobile-cccd-row .cccd-image-container img{max-width:200px!important;max-height:200px!important;width:auto!important;height:auto!important;-o-object-fit:contain!important;object-fit:contain!important;border-radius:6px!important}.candidate-list-page .notification-modal-overlay{background:rgba(0,0,0,.7);animation:fadeIn .2s ease}.candidate-list-page .notification-modal{max-width:400px;width:90%;max-height:none;border-radius:12px;overflow:hidden;animation:slideInDown .3s ease}.candidate-list-page .notification-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;background:white;border-bottom:1px solid #e9ecef}.candidate-list-page .notification-title-section{display:flex;align-items:center;gap:16px;flex:1}.candidate-list-page .notification-title{margin:0;font-size:18px;font-weight:600;color:#2c3e50}.candidate-list-page .notification-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;flex-shrink:0}.notification-icon.success{background:linear-gradient(135deg,#28a745,#20c997)}.notification-icon.error{background:linear-gradient(135deg,#dc3545,#e83e8c)}.notification-icon.info{background:linear-gradient(135deg,#007bff,#6f42c1)}.candidate-list-page .notification-body{padding:20px 24px;background:white;text-align:center}.candidate-list-page .notification-body p{margin:0;font-size:16px;color:#2c3e50;line-height:1.5}.candidate-list-page .notification-footer{padding:16px 24px 20px;background:white;text-align:center}.candidate-list-page .notification-ok-btn{background:#007bff;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s;min-width:80px}.candidate-list-page .notification-ok-btn:hover{background:#0056b3}.candidate-list-page .confirm-modal-overlay{background:rgba(0,0,0,.7);animation:fadeIn .2s ease}.candidate-list-page .confirm-modal{max-width:400px;width:90%;max-height:none;border-radius:12px;overflow:hidden;animation:slideInDown .3s ease}.candidate-list-page .confirm-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;background:white;border-bottom:1px solid #e9ecef}.candidate-list-page .confirm-icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#ffc107,#fd7e14);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff}.candidate-list-page .confirm-body{padding:20px 24px;background:white;text-align:center}.candidate-list-page .confirm-body p{margin:0;font-size:16px;color:#2c3e50;line-height:1.5}.candidate-list-page .confirm-footer{padding:16px 24px 20px;background:white;display:flex;gap:12px;justify-content:center}.candidate-list-page .confirm-yes-btn{background:#dc3545;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s;min-width:80px}.candidate-list-page .confirm-yes-btn:hover{background:#c82333}.candidate-list-page .confirm-no-btn{background:#6c757d;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s;min-width:80px}.candidate-list-page .confirm-no-btn:hover{background:#5a6268}@media (min-width: 769px){.candidate-list-page .basic-info-col{min-width:0;overflow:hidden}.candidate-list-page .info-line{min-width:0}.candidate-list-page .info-line .nha-thoi-vu-display{max-width:300px;min-width:150px}}@media (max-width: 1024px) and (min-width: 769px){.candidate-list-page .info-line{flex-direction:column;align-items:flex-start;gap:8px}.candidate-list-page .info-line .nha-thoi-vu-display,.candidate-list-page .info-line .status-container,.candidate-list-page .info-line .register-time{max-width:100%;width:100%}}@media (max-width: 768px){.candidate-list-page .desktop-layout{display:none}.candidate-list-page .mobile-layout{display:block}.mobile-row-3.text-center,.mobile-row-4.text-center{display:flex;justify-content:center;align-items:center}.candidate-list-page .mobile-cccd-row{gap:8px!important}.candidate-list-page .edit-image-btn{width:28px;height:28px;top:6px;right:6px}.mobile-cccd-row .cccd-image-container{max-width:none!important;min-height:100px!important;width:100%!important}.candidate-list-page .mobile-cccd-row .cccd-image-item img,.candidate-list-page .mobile-cccd-row .cccd-image-container img{max-width:100px!important;max-height:100px!important;width:auto!important;height:auto!important;-o-object-fit:contain!important;object-fit:contain!important;border-radius:6px!important}.candidate-list-page .nha-thoi-vu-modal{width:95%;max-height:70vh}.candidate-list-page .nha-thoi-vu-item{padding:12px 16px}.candidate-list-page .nha-thoi-vu-info h4{font-size:15px}.candidate-list-page .nha-thoi-vu-details{display:flex;justify-content:space-between;align-items:center;width:100%;gap:8px}.candidate-list-page .nha-thoi-vu-code,.candidate-list-page .contract-badge{font-size:11px;padding:3px 6px}.candidate-list-page .manager-info{font-size:12px}}@media (max-width: 480px){.candidate-list-page .notification-modal,.candidate-list-page .confirm-modal{width:95%;margin:20px}.candidate-list-page .notification-header,.candidate-list-page .confirm-header{padding:16px 20px 12px}.candidate-list-page .notification-title-section{gap:12px}.candidate-list-page .notification-title{font-size:16px}.candidate-list-page .notification-body,.candidate-list-page .confirm-body{padding:16px 20px}.candidate-list-page .notification-footer,.candidate-list-page .confirm-footer{padding:12px 20px 16px}.candidate-list-page .notification-icon,.candidate-list-page .confirm-icon{width:40px;height:40px;font-size:20px}.candidate-list-page .confirm-footer{flex-direction:column}.candidate-list-page .confirm-yes-btn,.candidate-list-page .confirm-no-btn,.candidate-list-page .notification-ok-btn{width:100%}.candidate-list-page .edit-image-btn{width:24px;height:24px;top:4px;right:4px}.mobile-cccd-row .cccd-image-container{max-width:none!important;min-height:80px!important;width:100%!important}.candidate-list-page .mobile-cccd-row .cccd-image-item img,.candidate-list-page .mobile-cccd-row .cccd-image-container img{max-width:120px!important;max-height:120px!important;width:auto!important;height:auto!important;-o-object-fit:contain!important;object-fit:contain!important;border-radius:6px!important}.candidate-list-page .mobile-cccd-row{gap:5px!important}}.candidate-list-page .fullscreen-image-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:99999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease}.candidate-list-page .fullscreen-image-container{position:relative;max-width:95vw;max-height:95vh;display:flex;align-items:center;justify-content:center}.candidate-list-page .fullscreen-close-btn{position:absolute;top:-50px;right:-10px;background:rgba(255,255,255,.9);color:#333;border:none;font-size:32px;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:100000}.candidate-list-page .fullscreen-close-btn:hover{background:white;transform:scale(1.1)}.candidate-list-page .fullscreen-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #0000004d}@keyframes slideInDown{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.candidate-list-page .nha-thoi-vu-modal{max-width:600px;width:90%;max-height:80vh;border-radius:12px;overflow:hidden;animation:slideInDown .3s ease}.candidate-list-page .nha-thoi-vu-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef;background:white}.candidate-list-page .nha-thoi-vu-modal .modal-header h3{margin:0;font-size:20px;font-weight:600;color:#2c3e50}.candidate-list-page .nha-thoi-vu-list{max-height:60vh;overflow-y:auto;padding:0;margin:0}.candidate-list-page .nha-thoi-vu-list::-webkit-scrollbar{width:6px}.candidate-list-page .nha-thoi-vu-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.candidate-list-page .nha-thoi-vu-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.candidate-list-page .nha-thoi-vu-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.candidate-list-page .nha-thoi-vu-item{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e9ecef;cursor:pointer;transition:all .2s ease;background:white}.candidate-list-page .nha-thoi-vu-item:hover{background:#f8f9fa;border-left:4px solid #007bff;padding-left:16px}.candidate-list-page .nha-thoi-vu-item.selected{background:#e3f2fd;border-left:4px solid #007bff;padding-left:16px}.candidate-list-page .nha-thoi-vu-item:last-child{border-bottom:none}.candidate-list-page .nha-thoi-vu-info{flex:1;display:flex;flex-direction:column;gap:8px}.candidate-list-page .nha-thoi-vu-info h4{margin:0;font-size:16px;font-weight:600;color:#2c3e50;line-height:1.3}.candidate-list-page .nha-thoi-vu-details{display:flex;justify-content:space-between;align-items:center;width:100%}.candidate-list-page .nha-thoi-vu-code{font-size:12px;color:#6c757d;background:#f8f9fa;padding:4px 8px;border-radius:4px;border:1px solid #e9ecef;flex-shrink:0}.candidate-list-page .manager-info{margin:4px 0 0;font-size:13px;color:#495057;line-height:1.4}.candidate-list-page .selection-indicator{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;margin-left:12px}.candidate-list-page .checkmark{color:#007bff;font-size:20px;font-weight:700}@media (max-width: 768px){.candidate-list-page .desktop-layout{display:none}.candidate-list-page .mobile-layout{display:block;padding:20px;background:white;border-radius:8px;border:1px solid #e9ecef}.mobile-row-3.text-center,.mobile-row-4.text-center{display:flex;justify-content:center;align-items:center}.candidate-list-page .modal-container-scrollable{padding:10px}.candidate-list-page .info-frame-1{padding:15px}.candidate-list-page .modal-header-fixed{padding:16px 20px}.candidate-list-page .modal-header-fixed h3{font-size:18px}.candidate-list-page .modal-header-actions{gap:8px}.candidate-list-page .print-form-header-btn{padding:8px;margin-right:20px;min-width:40px}.candidate-list-page .print-form-header-btn .print-btn-text{display:none}.candidate-list-page .detail-row{display:flex;gap:10px;margin-bottom:12px;flex-wrap:nowrap}.candidate-list-page .detail-group{flex:1;min-width:0}.candidate-list-page .detail-group.full-width{flex:100%;min-width:100%}.candidate-list-page .detail-group label,.candidate-list-page .detail-group span,.candidate-list-page .detail-group input{font-size:13px}.candidate-list-page .modal-footer-fixed{flex-direction:row;gap:8px;padding:12px 16px;flex-wrap:nowrap}.candidate-list-page .footer-left-actions,.candidate-list-page .footer-right-actions{flex:1;margin-left:0}.candidate-list-page .footer-left-actions{order:1}.candidate-list-page .footer-right-actions{order:2}.candidate-list-page .modal-footer-fixed .delete-btn,.candidate-list-page .modal-footer-fixed .update-btn{width:100%;padding:8px 12px;font-size:13px;min-width:auto;white-space:nowrap}}@media (max-width: 480px){.candidate-list-page .nha-thoi-vu-modal{width:98%;max-height:60vh}.candidate-list-page .nha-thoi-vu-item{padding:10px 12px}.candidate-list-page .nha-thoi-vu-info h4{font-size:14px}.candidate-list-page .nha-thoi-vu-details{display:flex;justify-content:space-between;align-items:center;width:100%;gap:6px}.candidate-list-page .nha-thoi-vu-code,.candidate-list-page .contract-badge{font-size:10px;padding:2px 5px;flex-shrink:0}.candidate-list-page .manager-info{font-size:11px}.candidate-list-page .selection-indicator{width:28px;height:28px}.candidate-list-page .checkmark{font-size:18px}.candidate-list-page .print-form-header-btn{padding:6px 12px;font-size:13px;gap:6px}.candidate-list-page .print-form-header-btn .print-btn-text{display:none}.candidate-list-page .modal-close-btn{font-size:45px;width:45px;height:30px}.candidate-list-page .detail-row{gap:8px;margin-bottom:10px}.candidate-list-page .detail-group label,.candidate-list-page .detail-group span,.candidate-list-page .detail-group input{font-size:12px}}.candidate-list-page .rejected-status-container{display:flex;flex-direction:column;gap:12px;align-items:flex-start;width:100%;max-width:400px}.candidate-list-page .rejection-reason{display:flex;flex-direction:column;gap:6px;padding:12px;background:linear-gradient(135deg,#fff5f5 0%,#ffe6e6 100%);border:1px solid #ffcccc;border-radius:8px;width:100%;box-shadow:0 2px 6px #dc35451a}.candidate-list-page .rejection-label{font-size:12px;font-weight:600;color:#dc3545;text-transform:uppercase;letter-spacing:.5px}.candidate-list-page .rejection-text{font-size:14px;color:#721c24;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word}.candidate-list-page .approve-btn,.candidate-list-page .reapprove-btn{padding:10px 20px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #00000026;white-space:nowrap}.candidate-list-page .approve-btn{background:linear-gradient(135deg,#28a745 0%,#20c997 100%);color:#fff}.candidate-list-page .approve-btn:hover{background:linear-gradient(135deg,#20c997 0%,#17a2b8 100%);transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.candidate-list-page .approve-btn:active{transform:translateY(0);box-shadow:0 2px 6px #28a7454d}.candidate-list-page .reapprove-btn{background:linear-gradient(135deg,#ff9800 0%,#ffc107 100%);color:#fff}.candidate-list-page .reapprove-btn:hover{background:linear-gradient(135deg,#ffc107 0%,#ffeb3b 100%);transform:translateY(-2px);box-shadow:0 4px 12px #ff98004d}.candidate-list-page .reapprove-btn:active{transform:translateY(0);box-shadow:0 2px 6px #ff98004d}.candidate-list-page .candidate-form{display:flex;flex-direction:column;gap:20px}.candidate-list-page .form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.candidate-list-page .form-group label{display:block;margin-bottom:6px;font-weight:500;color:#495057;font-size:14px}.candidate-list-page .required{color:#dc3545}.candidate-list-page .form-group input,.candidate-list-page .form-group select,.candidate-list-page .form-group textarea{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;transition:border-color .3s,box-shadow .3s;box-sizing:border-box}.candidate-list-page .form-group input:focus,.candidate-list-page .form-group select:focus,.candidate-list-page .form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.candidate-list-page .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.candidate-list-page .file-input{padding:8px 12px!important;background:white;cursor:pointer;margin-bottom:10px}.candidate-list-page .file-input::-webkit-file-upload-button{background:#007bff;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;margin-right:10px;font-size:13px}.candidate-list-page .file-input::-webkit-file-upload-button:hover{background:#0056b3}.candidate-list-page .avatar-preview{margin-top:10px;text-align:center;display:flex;align-items:center;justify-content:center;height:140px}.candidate-list-page .avatar-preview img{height:120px;width:auto;border-radius:8px;border:1px solid #dee2e6;-o-object-fit:contain;object-fit:contain}.candidate-list-page .avatar-preview img,.candidate-list-page .image-preview img{max-width:100%;max-height:150px;border-radius:6px;border:1px solid #ddd}.candidate-list-page .upload-section{margin:20px 0;padding:20px;background:#f8f9fa;border-radius:8px;border:2px dashed #dee2e6}.candidate-list-page .upload-section h4{margin:0 0 20px;color:#495057;font-size:16px;font-weight:600}.candidate-list-page .upload-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.upload-row .form-group{text-align:center;display:flex;flex-direction:column;min-height:200px}.upload-row .candidate-list-page .form-group label{display:block;margin-bottom:10px;font-weight:500;color:#495057;flex-shrink:0}.upload-row .file-input{margin-bottom:15px;flex-shrink:0}.candidate-list-page .avatar-preview,.candidate-list-page .image-preview{width:100%;height:140px;margin:10px auto 0;border-radius:6px;overflow:hidden;flex:1;display:flex;align-items:center;justify-content:center}.candidate-list-page .qr-input{font-family:monospace;font-size:13px;resize:vertical;height:40px;max-height:80px;min-height:80px}.candidate-list-page .qr-parsed-info{margin-top:10px;padding:12px;background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;font-size:13px}.candidate-list-page .qr-parsed-info h4{margin:0 0 8px;color:#155724;font-size:14px;font-weight:600}.candidate-list-page .qr-parsed-info>div{margin-bottom:4px;color:#155724}.candidate-list-page .qr-parsed-info>div:last-child{margin-bottom:0}.candidate-list-page .address-mode-container{display:flex;align-items:center;gap:15px;margin-bottom:8px}.candidate-list-page .address-mode-container label{margin:0;font-weight:500;color:#2c3e50}.candidate-list-page .address-mode-radios{display:flex;gap:20px;margin-top:8px}.candidate-list-page .radio-label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:400!important;color:#495057!important;cursor:pointer}.candidate-list-page .radio-label input[type=radio]{margin:0;width:auto;height:auto}.candidate-list-page .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #dee2e6}@media (max-width: 768px){.candidate-list-page .form-row,.candidate-list-page .form-actions{flex-direction:column}.candidate-list-page .address-mode-container{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 576px){.candidate-list-page .upload-row{grid-template-columns:1fr}.upload-row .form-group{min-height:auto}.candidate-list-page .avatar-preview,.candidate-list-page .image-preview{max-width:200px}}.candidate-list-page .status-badge{padding:6px 12px;border-radius:4px;font-size:14px;font-weight:500;white-space:nowrap;text-align:center}.candidate-list-page .status-badge.status-pending{background:#ffc107;color:#856404;border:1px solid #ffeeba}.candidate-list-page .status-badge.status-approved{background:#28a745;color:#fff}.candidate-list-page .status-badge.status-rejected{background:#dc3545;color:#fff}.candidate-list-page .status-badge.status-processing{background:#17a2b8;color:#fff}.candidate-list-page .status-container{overflow:hidden;position:relative;display:inline-block;max-width:100%;white-space:nowrap}.candidate-list-page .status-marquee{display:inline-block;white-space:nowrap;animation:smooth-marquee 10s linear infinite}.candidate-list-page .status-container:hover .status-marquee{animation-play-state:paused}@keyframes smooth-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.candidate-list-page .actions-cell{display:flex;justify-content:center;align-items:center}.candidate-list-page .action-btn{padding:6px 8px;border:none;border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.candidate-list-page .action-btn.delete-btn{background:#dc3545;color:#fff}.candidate-list-page .action-btn.delete-btn:hover:not(:disabled){background:#c82333;transform:scale(1.05)}.candidate-list-page .action-btn.delete-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.5}.delete-btn.disabled{background:#6c757d!important;color:#fff!important;opacity:.5;cursor:not-allowed!important}.delete-btn.disabled:hover{background:#6c757d!important}.candidate-list-page .submit-btn{background:#28a745;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s;min-width:120px}.candidate-list-page .submit-btn:hover:not(:disabled){background:#218838}.candidate-list-page .submit-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.candidate-list-page .cancel-btn{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s;min-width:80px}.candidate-list-page .cancel-btn:hover{background:#5a6268}.candidate-list-page .update-btn{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:not-allowed;transition:all .3s;opacity:.6}.update-btn.has-changes{background:#28a745;cursor:pointer;opacity:1}.update-btn.has-changes:hover{background:#218838}.candidate-list-page .delete-btn{padding:10px 20px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s}.candidate-list-page .delete-btn:hover{background:#c82333}.candidate-list-page .print-btn{padding:10px 20px;background:#17a2b8;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s,transform .2s;display:inline-flex;align-items:center;justify-content:center}.candidate-list-page .print-btn:hover{background:#138496;transform:scale(1.05)}.candidate-list-page .print-btn:active{transform:scale(.95)}.candidate-list-page .attendance-status-present{display:flex;flex-direction:column;align-items:center;gap:2px;background:#caeeda;color:#020f05;padding:4px 8px;border-radius:4px;font-size:12px;border:1px solid #c3e6cb;max-width:100%;min-height:32px;text-align:center}.attendance-status-present .attendance-full-text{display:flex;flex-direction:column;align-items:center;line-height:1.2;max-width:200px}.candidate-list-page .attendance-line-1{display:flex;align-items:center;gap:4px;font-weight:600;margin-bottom:2px;color:#0e709e}.candidate-list-page .attendance-line-2{font-size:12px;opacity:.9;text-align:center;color:#0e709e}.action-btn.attendance-btn{background:#007bff;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background-color .2s}.action-btn.attendance-btn:hover{background:#0056b3}.action-btn.attendance-btn:disabled{background:#6c757d;cursor:not-allowed}.candidate-list-page .edit-btn{background:#007bff!important;color:#fff!important}.candidate-list-page .edit-btn:hover{background:#0056b3!important}.candidate-list-page .approve-btn{background:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.candidate-list-page .approve-btn:hover{background:#218838;transform:scale(1.02)}.candidate-list-page .approve-btn:active{transform:scale(.98)}.candidate-list-page .mobile-actions-cell{display:flex;justify-content:center;align-items:center}.mobile-actions-cell .action-btn{padding:4px;margin-right:2px;margin-bottom:2px;display:inline-flex}.mobile-actions-cell .candidate-list-page .action-btn svg{width:14px;height:14px}.candidate-list-page .mobile-actions-column{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;height:100%;padding:2px}.mobile-actions-column .mobile-action-buttons{display:flex;flex-direction:column;gap:6px;align-items:center;width:100%}.mobile-actions-column .mobile-action-buttons .action-btn{width:100%;max-width:75px;padding:5px 4px;font-size:10px;display:flex;align-items:center;justify-content:center;gap:3px;border-radius:4px;border:none;cursor:pointer;transition:all .2s ease;text-align:center}.mobile-actions-column .mobile-action-buttons .candidate-list-page .action-btn svg{width:12px;height:12px;flex-shrink:0}.mobile-actions-column .mobile-action-buttons .candidate-list-page .action-btn span{font-size:10px;font-weight:500}@media (max-width: 768px){.candidate-list-page .submit-btn,.candidate-list-page .cancel-btn{width:100%}.candidate-list-page .attendance-status-present{flex-direction:column;align-items:center;gap:1px;padding:3px 6px;min-height:auto;text-align:center}.attendance-status-present .attendance-full-text{max-width:100px;font-size:9px;line-height:1.5;align-items:center}.candidate-list-page .attendance-line-1{font-size:11px;font-weight:600;margin-bottom:0;gap:2px}.candidate-list-page .attendance-line-2{font-size:9px;opacity:.9;text-align:center}.action-btn.attendance-btn{font-size:12px;padding:5px 10px}}@media (max-width: 480px){.candidate-list-page .mobile-actions-cell{padding:6px 4px!important}.mobile-actions-cell .action-btn{padding:3px;margin:1px}}.candidate-list-page .batch-action-buttons{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:8px 0;justify-content:flex-end;margin-left:auto}.candidate-list-page .batch-row{display:contents}.candidate-list-page .exit-selection-btn{background:#6c757d;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;white-space:nowrap}.candidate-list-page .exit-selection-btn:hover{background:#5a6268;transform:translateY(-1px)}.candidate-list-page .selected-count{background:#a0c0e2;color:#fff;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;white-space:nowrap}.candidate-list-page .select-all-btn{background:#6bbb7e;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;white-space:nowrap}.candidate-list-page .select-all-btn:hover{background:#35da58;transform:translateY(-1px)}.candidate-list-page .deselect-all-btn{background:#ffc107;color:#000;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;white-space:nowrap}.candidate-list-page .deselect-all-btn:hover:not(:disabled){background:#e0a800;transform:translateY(-1px)}.candidate-list-page .deselect-all-btn:disabled{background:#6c757d;color:#fff;cursor:not-allowed;opacity:.5}.candidate-list-page .batch-print-btn{background:#17a2b8;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;white-space:nowrap}.candidate-list-page .batch-print-btn:hover:not(:disabled){background:#138496;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.candidate-list-page .batch-print-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.5}.candidate-list-page .batch-approve-btn{background:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;white-space:nowrap}.candidate-list-page .batch-approve-btn:hover:not(:disabled){background:#218838;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.candidate-list-page .batch-approve-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.5}.candidate-list-page .batch-delete-btn{background:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;white-space:nowrap}.candidate-list-page .batch-delete-btn:hover:not(:disabled){background:#c82333;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.candidate-list-page .batch-delete-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.5}.candidate-list-page .selection-checkbox{width:20px;height:20px;cursor:pointer;accent-color:#007bff}.candidate-list-page .selected-row{background-color:#e7f3ff!important;border-left:3px solid #007bff}.candidate-list-page .selected-row:hover{background-color:#d0e9ff!important}@media (max-width: 768px){.candidate-list-page .batch-action-buttons{flex-direction:column;gap:8px;width:100%;align-items:stretch}.candidate-list-page .batch-row{display:flex;gap:8px;width:100%}.candidate-list-page .batch-row>*{flex:1;min-width:0}.candidate-list-page .exit-selection-btn,.candidate-list-page .select-all-btn,.candidate-list-page .deselect-all-btn,.candidate-list-page .batch-approve-btn,.candidate-list-page .batch-print-btn,.candidate-list-page .batch-delete-btn{padding:8px 12px;font-size:13px;gap:4px}.candidate-list-page .selected-count{padding:8px 12px;font-size:13px}.candidate-list-page .print-btn{background:#007bff;color:#fff;border:none;padding:10px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;width:100%;max-width:120px;transition:all .2s ease}.candidate-list-page .print-btn:hover{background:#0056b3;transform:scale(1.05)}.candidate-list-page .attendance-btn{background:#17a2b8;color:#fff;border:none;padding:10px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;width:100%;max-width:120px;transition:all .2s ease}.candidate-list-page .attendance-btn:hover:not(:disabled){background:#138496}.candidate-list-page .attendance-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.7}.candidate-list-page .attendance-status-present{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:#caeeda;color:#330303;border-radius:6px;font-size:12px;font-weight:500;border:none;cursor:default;max-width:180px;width:100%}}.candidate-list-page .pagination-container{flex-shrink:0;border-radius:6px;box-shadow:0 2px 4px #0000001a;display:flex;padding:8px 15px;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;background:white;margin-top:auto;min-height:50px;max-height:50px}.candidate-list-page .pagination-info-left{display:flex;flex-direction:row;gap:15px;align-items:center}.candidate-list-page .pagination-info{font-size:13px;color:#495057;font-weight:600;white-space:nowrap}.candidate-list-page .results-text{font-size:12px;color:#6c757d;font-weight:400;white-space:nowrap}.candidate-list-page .pagination-controls{display:flex;gap:4px;align-items:center;margin-left:auto}.candidate-list-page .pagination-btn{padding:6px 10px;border:1px solid #dee2e6;background:white;color:#495057;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s;min-width:36px;font-weight:500}.candidate-list-page .pagination-btn:hover:not(:disabled){background:#f8f9fa;border-color:#6c757d}.candidate-list-page .pagination-btn.active{background:#007bff;color:#fff;border-color:#007bff;font-weight:600}.candidate-list-page .pagination-btn:disabled{background:#e9ecef;color:#adb5bd;cursor:not-allowed;opacity:.6}@media (max-width: 992px){.candidate-list-page .pagination-container{gap:12px}.candidate-list-page .pagination-controls{flex-wrap:wrap}}@media (max-width: 768px){.candidate-list-page .pagination-container{padding:10px 12px;gap:10px}.candidate-list-page .pagination-info-left{width:100%;text-align:left}.candidate-list-page .pagination-controls{width:100%;justify-content:center;margin-left:0}.candidate-list-page .pagination-btn{padding:6px 10px;font-size:13px;min-width:35px}}@media (max-width: 480px){.candidate-list-page .pagination-container{padding:8px 10px;gap:8px}.candidate-list-page .pagination-info{font-size:13px}.candidate-list-page .results-text{font-size:12px}.candidate-list-page .pagination-controls{gap:2px}.candidate-list-page .pagination-btn{padding:5px 8px;font-size:12px;min-width:32px}}@media (min-width: 769px){.candidate-list-page .mobile-view{display:none!important}.candidate-list-page .desktop-table{display:flex!important}}@media (max-width: 1200px){.candidate-list-page .candidates-table th:nth-child(4),.candidate-list-page .candidates-table td:nth-child(4){width:250px}}@media (max-width: 992px){.candidate-list-page .candidate-list-controls{flex-direction:column;align-items:stretch}.candidate-list-page .search-container{min-width:auto}.candidate-list-page .form-row{flex-direction:column}.candidate-list-page .pagination-container{flex-direction:column;gap:10px;text-align:center}}@media (max-width: 768px){.candidate-list-page .desktop-date-filter{display:none!important}.candidate-list-page .date-filter-mobile-btn{display:flex!important;min-width:40px!important;max-width:40px!important;height:40px!important;background:#fff!important;border:1px solid #ddd!important;border-radius:6px!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;color:#667eea!important;transition:all .3s ease!important;flex-shrink:0!important}.candidate-list-page .date-filter-mobile-btn:hover{background:rgba(102,126,234,.1)!important;border-color:#667eea!important}.candidate-list-page .date-filter-mobile-btn>svg{width:22px!important;height:22px!important;color:#667eea!important}.candidate-list-page .candidate-list-container{max-width:100vw;overflow-x:hidden;overflow-y:auto;height:calc(100vh - 50px);padding:10px;display:flex;flex-direction:column}.candidate-list-page .app-container{width:100vw;max-width:100vw;margin:0;box-sizing:border-box;padding:0 8px}.candidate-list-page .candidate-list-header{padding:12px 16px!important;box-shadow:none;border-radius:0;background:white}.candidate-list-page .candidate-list-header h2{display:block!important;font-size:16px!important;margin:0 0 12px!important;line-height:1.4!important;color:#2c3e50!important;text-align:center!important}.candidate-list-page .candidate-list-controls{display:flex!important;flex-direction:row!important;align-items:center!important;width:100%!important;padding:0!important;justify-content:space-between!important;flex-direction:column;gap:10px}.candidate-list-page .search-container{flex:1!important;min-width:0!important;margin:0!important;max-width:calc(100% - 100px)!important;min-width:100%}.candidate-list-page .search-input{font-size:14px!important;padding:8px 8px 8px 36px!important;border-radius:6px!important;width:100%!important}.candidate-list-page .nha-thoi-vu-filter{display:none!important;width:100%}.candidate-list-page .add-candidate-btn{min-width:40px!important;max-width:40px!important;height:40px!important;padding:0!important;background:#28a745!important;border-radius:6px!important;color:transparent!important;display:flex!important;align-items:center!important;gap:0!important;flex-shrink:0!important;overflow:hidden!important;white-space:nowrap!important;position:relative!important;width:100%;justify-content:center}.candidate-list-page .add-candidate-btn>svg{width:24px!important;height:24px!important;color:#fff!important;flex-shrink:0!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.candidate-list-page .results-info{padding:12px 15px;font-size:13px}.candidate-list-page .candidates-table-container{overflow-x:auto;margin-bottom:15px;flex:1;display:flex;flex-direction:column;overflow:hidden}.candidate-list-page .desktop-table{display:none!important}.candidate-list-page .mobile-table{display:table!important;width:100%;background:white;border-radius:8px}.candidate-list-page .form-actions{flex-direction:column}.candidate-list-page .submit-btn,.candidate-list-page .cancel-btn{width:100%}.candidate-list-page .address-mode-container{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 576px){.candidate-list-page .modal-content{margin:10px;max-height:calc(100vh - 20px)}.candidate-list-page .modal-header,.candidate-list-page .candidate-form{padding:15px}.candidate-list-page .candidate-list-header h2{font-size:18px}.candidate-list-page .upload-row{grid-template-columns:1fr}.upload-row .form-group{min-height:auto}.candidate-list-page .avatar-preview,.candidate-list-page .image-preview{max-width:200px}}@media (max-width: 480px){.candidate-list-page .candidate-list-container{padding:10px}.candidate-list-page .candidate-list-header{padding:15px}.candidate-list-page .results-info{padding:10px 15px;font-size:13px}.candidate-list-page .pagination-container{padding:10px}.candidate-list-page .pagination-controls{gap:1px}.candidate-list-page .pagination-btn{padding:6px 10px;font-size:12px}.candidate-list-page .status-badge{font-size:10px;padding:3px 6px;min-width:60px}.candidate-list-page .candidate-name{font-size:13px;font-weight:600}}.vendor-candidate-list{margin:0;padding:0;height:calc(100vh - 50px);max-height:calc(100vh - 50px);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.vendor-loading-state{text-align:center;padding:60px 20px}.vendor-loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:vendor-spin 1s linear infinite;margin:0 auto 16px}@keyframes vendor-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vendor-error-state,.vendor-access-denied{text-align:center;padding:60px 20px}.vendor-retry-btn{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;margin-top:16px}.vendor-empty-state{text-align:center;padding:0}.vendor-empty-content{padding:60px 20px;color:#666}.vendor-empty-content svg{color:#ccc;margin-bottom:16px}.vendor-empty-content h3{margin:0 0 8px;color:#333}.vendor-empty-content p{margin:0 0 20px}.vendor-add-candidate-link{display:inline-block;padding:10px 20px;background:#667eea;color:#fff;text-decoration:none;border-radius:6px;font-weight:500;transition:background .2s}.vendor-add-candidate-link:hover{background:#5a6fd8}.vendor-page-header{flex-shrink:0;background:white;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.vendor-header-content{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.vendor-header-left{display:flex;align-items:center;gap:12px;color:#2c3e50}.vendor-header-left svg{flex-shrink:0}.vendor-header-left h1{margin:0;color:#2c3e50;font-size:24px;font-weight:600;flex-shrink:0}.vendor-header-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.vendor-header-search-form{margin:0}.vendor-header-search-input-group{display:flex;align-items:center;gap:6px;background:#f8f9fa;border-radius:8px;padding:4px;border:1px solid #dee2e6}.vendor-header-search-input-group svg{color:#6c757d;margin-left:8px;flex-shrink:0}.vendor-header-search-input{flex:1;min-width:250px;padding:8px 12px;border:none;border-radius:4px;font-size:14px;background:white;color:#333}.vendor-header-search-input::-moz-placeholder{color:#999}.vendor-header-search-input::placeholder{color:#999}.vendor-header-search-input:focus{outline:none;box-shadow:0 0 0 2px #667eea33}.vendor-header-search-btn{padding:8px 14px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s;white-space:nowrap}.vendor-header-search-btn:hover{background:#5568d3}.vendor-filters-section{background:white}.vendor-filter-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.vendor-filter-select,.vendor-date-input{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:140px}.vendor-clear-filters-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;color:#666;transition:background .2s}.vendor-clear-filters-btn:hover{background:#e9e9e9}.vendor-column-selector-container{position:relative;display:inline-block}.vendor-column-selector-btn{background:linear-gradient(135deg,#6c5ce7,#5b4cdb);color:#fff;border:none;padding:8px 45px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:center;box-shadow:0 2px 8px #6c5ce74d;white-space:nowrap}.vendor-column-selector-btn:hover{background:linear-gradient(135deg,#5a4fcf,#4834d4);box-shadow:0 4px 12px #6c5ce766;transform:translateY(-1px)}.vendor-column-selector-dropdown{position:absolute;top:calc(100% + 5px);right:0;background:white;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 8px 25px #00000026;z-index:1000;min-width:250px;max-height:400px;overflow-y:auto}.vendor-column-selector-header{padding:15px 20px;background:#f8f9fa;border-bottom:1px solid #e1e5e9;border-radius:8px 8px 0 0}.vendor-column-selector-header h4{margin:0;color:#2c3e50;font-size:14px;font-weight:600}.vendor-column-selector-content{padding:10px 0;max-height:300px;overflow-y:auto}.vendor-column-selector-item{display:flex;align-items:center;padding:8px 20px;cursor:pointer;transition:background-color .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vendor-column-selector-item:hover{background:#f8f9fa}.vendor-column-selector-item input[type=checkbox]{margin-right:10px;cursor:pointer}.vendor-column-selector-item input[type=checkbox]:disabled{cursor:not-allowed}.vendor-column-selector-item span{font-size:14px;color:#2c3e50}.vendor-column-selector-item .vendor-required-column{color:#7f8c8d;font-style:italic}.vendor-column-selector-item input[type=checkbox]:disabled+.vendor-required-column{opacity:.7}.vendor-th-cell{position:relative;padding:8px 4px;overflow:visible}.vendor-table-header-content{display:flex;align-items:center;justify-content:center;gap:4px}.vendor-header-text{font-weight:600;font-size:14px}.vendor-filter-btn{background:none;border:none;cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:all .2s ease}.vendor-filter-btn:hover{opacity:1;background-color:#f0f0f0}.vendor-filter-menu{position:fixed;top:100%;left:0;background:white;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:9999!important;min-width:250px;max-width:300px;max-width:calc(100vw - 20px);text-align:left}.vendor-filter-header{padding:12px;border-bottom:1px solid #eee}.vendor-filter-search{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.vendor-filter-search:focus{outline:none;border-color:#007bff}.vendor-filter-actions{padding:8px 12px;display:flex;justify-content:space-between;border-bottom:1px solid #eee}.vendor-filter-select-all,.vendor-filter-clear{background:none;border:none;cursor:pointer;font-size:12px;color:#007bff;padding:4px 8px;border-radius:3px;transition:all .2s ease}.vendor-filter-select-all:hover,.vendor-filter-clear:hover{background-color:#f8f9fa}.vendor-filter-list{max-height:200px;overflow-y:auto;padding:4px 0}.vendor-filter-item{display:flex;align-items:center;padding:6px 12px;cursor:pointer;transition:background-color .2s ease}.vendor-filter-item:hover{background-color:#f8f9fa}.vendor-filter-item input[type=checkbox]{margin-right:8px;cursor:pointer}.vendor-filter-text{flex:1;font-size:14px;margin-right:8px;color:#000}.vendor-filter-count{font-size:12px;color:#666;font-weight:500}.vendor-filter-empty{padding:16px 12px;text-align:center;color:#666;font-size:14px}.vendor-filter-footer{padding:8px 12px;border-top:1px solid #eee}.vendor-filter-apply{width:100%;background-color:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s ease}.vendor-filter-apply:hover{background-color:#0056b3}.vendor-filter-apply:disabled{background-color:#ccc;cursor:not-allowed}.vendor-filter-list::-webkit-scrollbar{width:6px}.vendor-filter-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.vendor-filter-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.vendor-filter-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 768px){.vendor-filter-menu{left:auto;right:0;min-width:200px;max-width:calc(100vw - 20px)}}.vendor-candidates-table-container{background:white;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;position:relative;flex:1;display:flex;flex-direction:column;overflow-x:auto;overflow-y:visible}.vendor-table-wrapper{overflow-x:auto;overflow-y:auto;position:relative;flex:1;min-height:0}.vendor-candidates-table{width:100%;border-collapse:collapse;position:relative;min-width:100%}.vendor-candidates-table thead{position:sticky;top:0;z-index:10}.vendor-candidates-table thead th{position:relative;white-space:nowrap}.vendor-candidates-table th{background:#6c757d;padding:12px;text-align:center;font-weight:600;color:#fff;position:relative;border-bottom:2px solid #5568d3;border-right:1px solid rgba(255,255,255,.2);font-size:14px;white-space:normal;min-width:100px;max-width:500px}.vendor-candidates-table th:last-child{border-right:none}.vendor-candidates-table td{padding:2px 12px;border-bottom:1px solid #e9ecef;border-right:1px solid #e9ecef;font-size:14px;vertical-align:middle;white-space:normal;min-width:100px;max-width:500px;word-wrap:break-word}.vendor-candidates-table td:last-child{border-right:none}.vendor-candidates-table tr:hover{background:#f8f9fa}.vendor-sortable-th{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .2s}.vendor-sortable-th:hover{background:#5568d3!important}.vendor-sort-icon{margin-left:4px;opacity:.5}.vendor-sortable-th:hover .vendor-sort-icon{opacity:1}.vendor-avatar-cell{display:flex;justify-content:center;align-items:center}.vendor-candidate-avatar{width:45px;height:60px;border-radius:6px;-o-object-fit:cover;object-fit:cover;border:1px solid #ddd}.vendor-avatar-placeholder{width:45px;height:60px;border-radius:6px;background:#667eea;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;text-transform:uppercase}.vendor-candidates-table .vendor-name-cell{font-weight:500;color:#333;min-width:180px;white-space:nowrap!important}.vendor-name-with-avatar{display:flex;align-items:center;gap:12px}.vendor-name-with-avatar .vendor-avatar-cell{flex-shrink:0}.vendor-candidate-name{font-weight:500;color:#333;flex:1}.vendor-candidates-table .vendor-address-cell,.vendor-candidates-table .vendor-notes-cell{min-width:300px;max-width:500px;white-space:normal}.vendor-cccd-cell{font-family:monospace;font-size:13px}.vendor-cccd-cell-content{display:flex;align-items:center;gap:8px}.vendor-cccd-images{display:flex;flex-direction:column;gap:4px}.vendor-cccd-thumb{width:40px;height:25px;-o-object-fit:cover;object-fit:cover;border-radius:4px;border:1px solid #dee2e6;cursor:pointer;transition:transform .2s}.vendor-cccd-thumb:hover{transform:scale(1.1);border-color:#0d6efd}.vendor-employee-id-cell{font-family:monospace;font-size:13px;font-weight:600;color:#555;text-align:center;min-width:80px;max-width:100px}.vendor-contract-type-cell{text-align:center;min-width:90px}.vendor-contract-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;display:inline-block;white-space:nowrap}.vendor-contract-seasonal{background:#e3f2fd;color:#1565c0;border:1px solid #90caf9}.vendor-contract-intern{background:#f3e5f5;color:#6a1b9a;border:1px solid #ce93d8}.vendor-work-status-cell{text-align:center;min-width:100px}.vendor-work-status-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;display:inline-block;white-space:nowrap}.vendor-work-status-working{background:#d4edda;color:#155724;border:1px solid #a3d977}.vendor-work-status-resigned{background:#f8d7da;color:#721c24;border:1px solid #f1969c}.vendor-work-status-temporary{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.vendor-work-status-applying{background:#e2e3e5;color:#383d41;border:1px solid #c6c8ca}.vendor-work-status-unknown{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.vendor-referrer-cell{font-weight:500;color:#333;text-align:center;min-width:100px}.vendor-gender-cell{text-align:center}.vendor-attendance-present{color:#28a745;font-weight:500}.vendor-attendance-present small{display:block;font-size:11px;color:#666;margin-top:2px}.vendor-attendance-absent{color:#6c757d}.vendor-action-cell{text-align:center;vertical-align:middle;padding:8px!important}.vendor-action-buttons{display:flex;gap:8px;justify-content:center;align-items:center}.vendor-nha-thoi-vu-cell{max-width:100px;text-align:center}.vendor-nha-thoi-vu-info{display:flex;justify-content:center;align-items:center;cursor:help;position:relative}.vendor-nha-thoi-vu-code{font-weight:600;color:#2980b9;font-size:13px;padding:4px 8px;background:rgba(41,128,185,.1);border-radius:4px;border:1px solid rgba(41,128,185,.2);transition:all .2s ease}.vendor-nha-thoi-vu-info:hover .vendor-nha-thoi-vu-code{background:rgba(41,128,185,.15);border-color:#2980b94d;transform:scale(1.05)}.vendor-nha-thoi-vu-name{font-weight:500;color:#2c3e50}.vendor-status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase;display:inline-block}.vendor-status-pending{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.vendor-status-approved{background:#d4edda;color:#155724;border:1px solid #a3d977}.vendor-status-rejected{background:#f8d7da;color:#721c24;border:1px solid #f1969c}.vendor-lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000e6;display:flex;justify-content:center;align-items:center;z-index:9999;cursor:pointer}.vendor-lightbox-content{position:relative;max-width:90vw;max-height:90vh}.vendor-lightbox-image{max-width:100%;max-height:90vh;-o-object-fit:contain;object-fit:contain;border-radius:4px;box-shadow:0 4px 12px #00000080;cursor:default}.vendor-lightbox-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:30px;cursor:pointer;padding:5px;line-height:1;transition:color .2s}.vendor-lightbox-close:hover{color:#ff4d4f}.vendor-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .2s ease-out}.vendor-modal-content{background:white;border-radius:8px;min-width:400px;max-width:500px;box-shadow:0 4px 20px #0003;animation:scaleIn .2s ease-out}.vendor-modal-header{padding:16px 20px;border-bottom:1px solid #e0e0e0}.vendor-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#2c3e50}.vendor-modal-body{padding:20px}.vendor-modal-body p{margin:0;font-size:14px;line-height:1.6;color:#555}.vendor-modal-footer{padding:16px 20px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:12px}.vendor-candidate-list .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;box-sizing:border-box}.vendor-candidate-list .modal-content{background:white;border-radius:12px;padding:0;box-shadow:0 4px 20px #00000026;position:relative;max-width:90vw;max-height:90vh;overflow:hidden}.vendor-candidate-list .vendor-candidate-info-modal{max-width:700px;max-height:100vh;width:95%;display:flex;flex-direction:column;overflow:hidden}.vendor-candidate-list .modal-header-fixed{padding:20px 25px;border-bottom:2px solid #e9ecef;background:linear-gradient(135deg,#007bff 0%,#0056b3 100%);color:#fff;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.vendor-candidate-list .modal-header-fixed h3{margin:0;font-size:20px;font-weight:600}.vendor-candidate-list .modal-header-actions{display:flex;gap:10px;align-items:center}.vendor-candidate-list .print-form-header-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:white;color:#007bff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.vendor-candidate-list .print-form-header-btn:hover{background:#f8f9fa;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.vendor-candidate-list .modal-close-btn{background:rgba(255,255,255,.2);color:#fff;border:none;font-size:28px;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1;padding:0}.vendor-candidate-list .modal-close-btn:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}.vendor-candidate-list .modal-container-scrollable{flex:1;overflow-y:auto;padding:25px;background:#f8f9fa}.vendor-candidate-list .info-frame-1{margin-bottom:10px;padding:25px;background:linear-gradient(135deg,#f8fbff 0%,#e8f4fd 100%);border-radius:12px;border:2px solid #e3f2fd;box-shadow:0 2px 8px #007bff1a}.vendor-candidate-list .desktop-layout{display:grid;grid-template-columns:140px 1fr;gap:20px}.vendor-candidate-list .mobile-layout{display:none}.vendor-candidate-list .avatar-col{display:flex;justify-content:center;align-items:center}.vendor-candidate-list .basic-info-col{display:flex;flex-direction:column;gap:10px}.vendor-candidate-list .info-line{display:flex;justify-content:space-between;align-items:flex-start;min-height:32px;flex-wrap:wrap;gap:10px;max-width:100%;overflow:hidden}.vendor-candidate-list .name-text{font-size:22px;font-weight:600;color:#2c3e50;flex:1;max-width:60%;word-wrap:break-word;overflow-wrap:break-word}.vendor-candidate-list .contract-badge{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500}.vendor-candidate-list .contract-seasonal{background:#d1ecf1;color:#0c5460}.vendor-candidate-list .contract-intern{background:#fff3cd;color:#856404}.vendor-candidate-list .status-badge{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;min-width:100px;text-align:center}.vendor-candidate-list .status-approved{background:#d4edda;color:#155724}.vendor-candidate-list .status-pending{background:#fff3cd;color:#856404}.vendor-candidate-list .status-rejected{background:#f8d7da;color:#721c24}.vendor-candidate-list .register-time{font-size:13px;color:#6c757d;font-style:italic}.vendor-candidate-list .avatar-container{position:relative;display:inline-block}.vendor-candidate-list .large-avatar{width:140px;height:140px;border-radius:12px;-o-object-fit:cover;object-fit:cover;border:3px solid white;box-shadow:0 4px 12px #00000026;cursor:pointer;transition:transform .2s ease}.vendor-candidate-list .large-avatar:hover{transform:scale(1.05)}.vendor-candidate-list .no-large-avatar{width:140px;height:140px;border-radius:12px;background:#e9ecef;display:flex;align-items:center;justify-content:center;color:#6c757d;font-size:14px;border:3px solid white;box-shadow:0 4px 12px #00000026}.vendor-candidate-list .info-frame-cccd{margin-bottom:20px;padding:20px;background:white;border-radius:8px;border:1px solid #e9ecef}.vendor-candidate-list .cccd-images-row{display:flex;gap:20px;justify-content:center}.vendor-candidate-list .cccd-image-item{text-align:center}.vendor-candidate-list .cccd-image-item label{display:block;margin-bottom:8px;font-weight:600;color:#495057;font-size:14px}.vendor-candidate-list .cccd-image-container{position:relative;display:inline-block}.vendor-candidate-list .cccd-image-container img{max-width:200px;max-height:120px;-o-object-fit:cover;object-fit:cover;border-radius:6px;cursor:pointer;transition:transform .2s ease}.vendor-candidate-list .cccd-image-container img:hover{transform:scale(1.02)}.vendor-candidate-list .no-cccd-image{width:165px;height:120px;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6c757d;font-style:italic;text-align:center;padding:10px}.vendor-candidate-list .no-cccd-image span{font-size:12px;line-height:1.4}.vendor-candidate-list .info-frame-2{margin-bottom:20px;padding:20px;border-radius:8px;border:1px solid #e9ecef;background:white}.vendor-candidate-list .detail-row{display:flex;gap:20px;margin-bottom:15px;flex-wrap:nowrap}.vendor-candidate-list .detail-group{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.vendor-candidate-list .detail-group.full-width{flex:100%;min-width:100%}.vendor-candidate-list .detail-group label{font-weight:600;color:#495057;font-size:14px}.vendor-candidate-list .detail-group span{color:#2c3e50;font-size:15px;padding:8px 12px;background:#f8f9fa;border-radius:4px;border:1px solid #e9ecef;min-height:38px;display:flex;align-items:center}.vendor-candidate-list .edit-input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s;min-height:38px}.vendor-candidate-list .edit-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.vendor-candidate-list .modal-footer-fixed{padding:20px 25px;border-top:2px solid #e9ecef;background:white;display:flex;justify-content:flex-end;align-items:center;flex-shrink:0}.vendor-candidate-list .footer-actions{display:flex;gap:10px}.vendor-candidate-list .close-btn-footer{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.vendor-candidate-list .close-btn-footer:hover{background:#5a6268;transform:translateY(-1px);box-shadow:0 2px 8px #6c757d4d}@media (max-width: 768px){.vendor-candidate-list .vendor-candidate-info-modal{max-width:100%;width:100%;max-height:100vh}.vendor-candidate-list .modal-container-scrollable{padding:15px}.vendor-candidate-list .desktop-layout{display:none!important}.vendor-candidate-list .mobile-layout{display:block!important}.vendor-candidate-list .mobile-row-1,.vendor-candidate-list .mobile-row-2,.vendor-candidate-list .mobile-row-3,.vendor-candidate-list .mobile-row-4,.vendor-candidate-list .mobile-row-5{margin-bottom:10px}.vendor-candidate-list .mobile-row-1{display:flex;justify-content:space-between;align-items:center}.vendor-candidate-list .mobile-row-2{display:flex;justify-content:center}.vendor-candidate-list .mobile-row-3,.vendor-candidate-list .mobile-row-4{text-align:center}.vendor-candidate-list .mobile-row-5{text-align:right}.vendor-candidate-list .detail-row{flex-direction:column;gap:15px}.vendor-candidate-list .cccd-images-row{flex-direction:column;align-items:center}.vendor-candidate-list .print-btn-text{display:none}}.vendor-candidate-list .fullscreen-image-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px}.vendor-candidate-list .fullscreen-image-container{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.vendor-candidate-list .fullscreen-image{max-width:100%;max-height:85vh;-o-object-fit:contain;object-fit:contain;border-radius:8px}.vendor-candidate-list .fullscreen-image-title{color:#fff;margin-bottom:15px;font-size:18px;font-weight:500}.vendor-candidate-list .fullscreen-close-btn{position:absolute;top:-40px;right:0;background:white;color:#333;border:none;font-size:24px;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.vendor-candidate-list .fullscreen-close-btn:hover{background:#f8f9fa;transform:rotate(90deg)}.vendor-pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background-color:#fff;border-top:1px solid #e1e5e9;border-radius:0 0 12px 12px;flex-wrap:wrap;gap:15px;flex-shrink:0}.vendor-pagination-left,.vendor-pagination-right{display:flex;align-items:center}.vendor-items-per-page{display:flex;align-items:center;gap:10px;color:#64748b;font-size:14px}.vendor-items-per-page-select{padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;background-color:#fff;color:#1e293b;font-size:14px;cursor:pointer;transition:all .2s ease;outline:none}.vendor-items-per-page-select:hover{border-color:#cbd5e1}.vendor-items-per-page-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.vendor-pagination-center{display:flex;align-items:center;gap:15px}.vendor-pagination-btn{padding:8px 16px;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.vendor-pagination-btn:hover:not(:disabled){background-color:#f8fafc;color:#3b82f6;border-color:#cbd5e1}.vendor-pagination-btn:disabled{opacity:.5;cursor:not-allowed;background-color:#f1f5f9}.vendor-page-info{font-size:14px;color:#475569;font-weight:500}.vendor-total-records{font-size:14px;color:#64748b;font-weight:500}.vendor-pagination-info{font-size:14px;color:#666;font-weight:500}.vendor-print-btn,.vendor-delete-btn{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:14px}.vendor-print-btn{background-color:#007bff;color:#fff}.vendor-print-btn:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 2px 4px #007bff4d}.vendor-delete-btn{background-color:#dc3545;color:#fff}.vendor-delete-btn:hover{background-color:#c82333;transform:translateY(-1px);box-shadow:0 2px 4px #dc35454d}.vendor-print-btn:active,.vendor-delete-btn:active{transform:translateY(0)}.vendor-modal-btn{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.vendor-modal-btn-cancel{background-color:#6c757d;color:#fff}.vendor-modal-btn-cancel:hover{background-color:#5a6268}.vendor-modal-btn-confirm{background-color:#dc3545;color:#fff}.vendor-modal-btn-confirm:hover{background-color:#c82333}.vendor-modal-btn:active{transform:translateY(1px)}.vendor-export-excel-btn{background-color:#10b981;border:1px solid #10b981;padding:8px 14px;border-radius:6px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s cubic-bezier(.4,0,.2,1);color:#fff;font-weight:500;box-shadow:0 1px 2px #0000000d;white-space:nowrap}.vendor-export-excel-btn:hover{background-color:#059669;border-color:#059669;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.vendor-export-excel-btn:active{transform:translateY(0)}@media (min-width: 769px){.vendor-th-cell:nth-last-child(-n+4) .vendor-filter-menu{left:auto;right:0;transform:translate(10px)}.vendor-th-cell:last-child .vendor-filter-menu{left:auto;right:0;transform:translate(20px)}.vendor-th-cell:nth-last-child(2) .vendor-filter-menu{left:auto;right:0;transform:translate(15px)}.vendor-th-cell:nth-last-child(3) .vendor-filter-menu{left:auto;right:0;transform:translate(5px)}}@media (max-width: 768px){.vendor-page-header{padding:20px}.vendor-header-content{flex-direction:column;align-items:stretch;gap:16px}.vendor-header-left{justify-content:center;text-align:center}.vendor-header-left h1{font-size:1.25rem}.vendor-header-right{align-self:center}.vendor-header-search-input-group{background:rgba(255,255,255,.2)}.vendor-header-search-input{min-width:unset;flex:1}.vendor-filter-controls{display:flex;flex-wrap:wrap;gap:12px}.vendor-filter-controls .vendor-filter-select{display:none}.vendor-filter-controls .vendor-header-search-form{order:1;flex-basis:100%;width:100%}.vendor-filter-controls .vendor-date-input:nth-of-type(1){order:2;flex:1 1 45%;min-width:120px}.vendor-filter-controls .vendor-date-input:nth-of-type(2){order:2;flex:1 1 45%;min-width:120px}.vendor-filter-controls .vendor-column-selector-container,.vendor-filter-controls .vendor-export-excel-btn,.vendor-filter-controls .vendor-clear-filters-btn{order:3;flex:1 1 30%;min-width:90px}.vendor-candidates-table-container{overflow-x:auto}.vendor-candidates-table{min-width:800px}.vendor-candidates-table th,.vendor-candidates-table td{padding:8px 6px;font-size:13px}.vendor-column-selector-dropdown{position:fixed!important;top:50%!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important;max-width:90vw;max-height:80vh}.vendor-filter-menu{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:90%;max-width:320px;max-height:70vh;overflow:hidden;display:flex;flex-direction:column;right:auto!important}.vendor-filter-list{flex:1;overflow-y:auto}.vendor-filter-btn{padding:4px}.vendor-header-text{font-size:12px}.vendor-pagination{flex-direction:column;gap:2px}.vendor-pagination-left,.vendor-pagination-center,.vendor-pagination-right{width:100%;justify-content:center}}@media (max-width: 1024px) and (min-width: 769px){.vendor-header-search-input{min-width:200px}.vendor-header-left h1{font-size:1.35rem}}@media (max-width: 480px){.vendor-nha-thoi-vu-cell{display:none}.vendor-empty-state{font-size:12px}}.working-staff-candidate-list{margin:0;padding:0;height:calc(100vh - 50px);max-height:calc(100vh - 50px);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.working-staff-loading-state{text-align:center;padding:60px 20px}.working-staff-loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:working-staff-spin 1s linear infinite;margin:0 auto 16px}@keyframes working-staff-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.working-staff-error-state,.working-staff-access-denied{text-align:center;padding:60px 20px}.working-staff-retry-btn{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;margin-top:16px}.working-staff-empty-state{text-align:center;padding:0}.working-staff-empty-content{padding:60px 20px;color:#666}.working-staff-empty-content svg{color:#ccc;margin-bottom:16px}.working-staff-empty-content h3{margin:0 0 8px;color:#333}.working-staff-empty-content p{margin:0 0 20px}.working-staff-add-candidate-link{display:inline-block;padding:10px 20px;background:#667eea;color:#fff;text-decoration:none;border-radius:6px;font-weight:500;transition:background .2s}.working-staff-add-candidate-link:hover{background:#5a6fd8}.working-staff-page-header{flex-shrink:0;background:white;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.working-staff-header-content{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.working-staff-header-left{display:flex;align-items:center;gap:12px;color:#2c3e50}.working-staff-header-left svg{flex-shrink:0}.working-staff-header-left h1{margin:0;color:#2c3e50;font-size:24px;font-weight:600;flex-shrink:0}.working-staff-header-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.working-staff-header-search-form{margin:0}.working-staff-header-search-input-group{display:flex;align-items:center;gap:6px;background:#f8f9fa;border-radius:8px;padding:4px;border:1px solid #dee2e6}.working-staff-header-search-input-group svg{color:#6c757d;margin-left:8px;flex-shrink:0}.working-staff-header-search-input{flex:1;min-width:250px;padding:8px 12px;border:none;border-radius:4px;font-size:14px;background:white;color:#333}.working-staff-header-search-input::-moz-placeholder{color:#999}.working-staff-header-search-input::placeholder{color:#999}.working-staff-header-search-input:focus{outline:none;box-shadow:0 0 0 2px #667eea33}.working-staff-header-search-btn{padding:8px 14px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s;white-space:nowrap}.working-staff-header-search-btn:hover{background:#5568d3}.working-staff-filters-section{background:white}.working-staff-filter-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.working-staff-filter-select,.working-staff-date-input{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:140px}.working-staff-clear-filters-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;color:#666;transition:background .2s}.working-staff-clear-filters-btn:hover{background:#e9e9e9}.working-staff-column-selector-container{position:relative;display:inline-block}.working-staff-column-selector-btn{background:linear-gradient(135deg,#6c5ce7,#5b4cdb);color:#fff;border:none;padding:8px 45px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:center;box-shadow:0 2px 8px #6c5ce74d;white-space:nowrap}.working-staff-column-selector-btn:hover{background:linear-gradient(135deg,#5a4fcf,#4834d4);box-shadow:0 4px 12px #6c5ce766;transform:translateY(-1px)}.working-staff-column-selector-dropdown{position:absolute;top:calc(100% + 5px);right:0;background:white;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 8px 25px #00000026;z-index:1000;min-width:250px;max-height:400px;overflow-y:auto}.working-staff-column-selector-header{padding:15px 20px;background:#f8f9fa;border-bottom:1px solid #e1e5e9;border-radius:8px 8px 0 0}.working-staff-column-selector-header h4{margin:0;color:#2c3e50;font-size:14px;font-weight:600}.working-staff-column-selector-content{padding:10px 0;max-height:300px;overflow-y:auto}.working-staff-column-selector-item{display:flex;align-items:center;padding:8px 20px;cursor:pointer;transition:background-color .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.working-staff-column-selector-item:hover{background:#f8f9fa}.working-staff-column-selector-item input[type=checkbox]{margin-right:10px;cursor:pointer}.working-staff-column-selector-item input[type=checkbox]:disabled{cursor:not-allowed}.working-staff-column-selector-item span{font-size:14px;color:#2c3e50}.working-staff-column-selector-item .working-staff-required-column{color:#7f8c8d;font-style:italic}.working-staff-column-selector-item input[type=checkbox]:disabled+.working-staff-required-column{opacity:.7}.working-staff-th-cell{position:relative;padding:8px 4px;overflow:visible}.working-staff-table-header-content{display:flex;align-items:center;justify-content:center;gap:4px}.working-staff-header-text{font-weight:600;font-size:14px}.working-staff-filter-btn{background:none;border:none;cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:all .2s ease}.working-staff-filter-btn:hover{opacity:1;background-color:#f0f0f0}.working-staff-filter-menu{position:absolute;top:100%;left:0;margin-top:5px;background:white;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:9999!important;min-width:250px;max-width:300px;max-width:calc(100vw - 20px);text-align:left}.working-staff-filter-header{padding:12px;border-bottom:1px solid #eee}.working-staff-filter-search{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.working-staff-filter-search:focus{outline:none;border-color:#007bff}.working-staff-filter-actions{padding:8px 12px;display:flex;justify-content:space-between;border-bottom:1px solid #eee}.working-staff-filter-select-all,.working-staff-filter-clear{background:none;border:none;cursor:pointer;font-size:12px;color:#007bff;padding:4px 8px;border-radius:3px;transition:all .2s ease}.working-staff-filter-select-all:hover,.working-staff-filter-clear:hover{background-color:#f8f9fa}.working-staff-filter-list{max-height:200px;overflow-y:auto;padding:4px 0}.working-staff-filter-item{display:flex;align-items:center;padding:6px 12px;cursor:pointer;transition:background-color .2s ease}.working-staff-filter-item:hover{background-color:#f8f9fa}.working-staff-filter-item input[type=checkbox]{margin-right:8px;cursor:pointer}.working-staff-filter-text{flex:1;font-size:14px;margin-right:8px;color:#000}.working-staff-filter-count{font-size:12px;color:#666;font-weight:500}.working-staff-filter-empty{padding:16px 12px;text-align:center;color:#666;font-size:14px}.working-staff-filter-footer{padding:8px 12px;border-top:1px solid #eee}.working-staff-filter-apply{width:100%;background-color:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s ease}.working-staff-filter-apply:hover{background-color:#0056b3}.working-staff-filter-apply:disabled{background-color:#ccc;cursor:not-allowed}.working-staff-filter-list::-webkit-scrollbar{width:6px}.working-staff-filter-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.working-staff-filter-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.working-staff-filter-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 768px){.working-staff-filter-menu{left:auto;right:0;min-width:200px;max-width:calc(100vw - 20px)}}.working-staff-candidates-table-container{background:white;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;position:relative;flex:1;display:flex;flex-direction:column;overflow-x:auto;overflow-y:visible}.working-staff-table-wrapper{overflow-x:auto;overflow-y:auto;position:relative;flex:1;min-height:0}.working-staff-candidates-table{width:100%;border-collapse:collapse;position:relative;min-width:100%}.working-staff-candidates-table thead{position:sticky;top:0;z-index:10}.working-staff-candidates-table thead th{position:relative;white-space:nowrap}.working-staff-candidates-table th{background:#6c757d;padding:12px;text-align:center;font-weight:600;color:#fff;position:relative;border-bottom:2px solid #5568d3;border-right:1px solid rgba(255,255,255,.2);font-size:14px;white-space:normal;min-width:100px;max-width:500px}.working-staff-candidates-table th:last-child{border-right:none}.working-staff-candidates-table td{padding:2px 12px;border-bottom:1px solid #e9ecef;border-right:1px solid #e9ecef;font-size:14px;vertical-align:middle;white-space:normal;min-width:100px;max-width:500px;word-wrap:break-word}.working-staff-candidates-table td:last-child{border-right:none}.working-staff-candidates-table tr:hover{background:#f8f9fa}.working-staff-sortable-th{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .2s}.working-staff-sortable-th:hover{background:#5568d3!important}.working-staff-sort-icon{margin-left:4px;opacity:.5}.working-staff-sortable-th:hover .working-staff-sort-icon{opacity:1}.working-staff-avatar-cell{display:flex;justify-content:center;align-items:center}.working-staff-candidate-avatar{width:45px;height:60px;border-radius:6px;-o-object-fit:cover;object-fit:cover;border:1px solid #ddd}.working-staff-avatar-placeholder{width:45px;height:60px;border-radius:6px;background:#667eea;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;text-transform:uppercase}.working-staff-candidates-table .working-staff-name-cell{font-weight:500;color:#333;min-width:180px;white-space:nowrap!important}.working-staff-name-with-avatar{display:flex;align-items:center;gap:12px}.working-staff-name-with-avatar .working-staff-avatar-cell{flex-shrink:0}.working-staff-candidate-name{font-weight:500;color:#333;flex:1}.working-staff-candidates-table .working-staff-address-cell,.working-staff-candidates-table .working-staff-notes-cell{min-width:300px;max-width:500px;white-space:normal}.working-staff-cccd-cell{font-family:monospace;font-size:13px}.working-staff-cccd-cell-content{display:flex;align-items:center;gap:8px}.working-staff-cccd-images{display:flex;flex-direction:column;gap:4px}.working-staff-cccd-thumb{width:40px;height:25px;-o-object-fit:cover;object-fit:cover;border-radius:4px;border:1px solid #dee2e6;cursor:pointer;transition:transform .2s}.working-staff-cccd-thumb:hover{transform:scale(1.1);border-color:#0d6efd}.working-staff-employee-id-cell{font-family:monospace;font-size:13px;font-weight:600;color:#555;text-align:center;min-width:80px;max-width:100px}.working-staff-contract-type-cell{text-align:center;min-width:90px}.working-staff-contract-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;display:inline-block;white-space:nowrap}.working-staff-contract-seasonal{background:#e3f2fd;color:#1565c0;border:1px solid #90caf9}.working-staff-contract-intern{background:#f3e5f5;color:#6a1b9a;border:1px solid #ce93d8}.working-staff-work-status-cell{text-align:center;min-width:100px}.working-staff-work-status-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;display:inline-block;white-space:nowrap}.working-staff-work-status-working{background:#d4edda;color:#155724;border:1px solid #a3d977}.working-staff-work-status-resigned{background:#f8d7da;color:#721c24;border:1px solid #f1969c}.working-staff-work-status-temporary{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.working-staff-work-status-applying{background:#e2e3e5;color:#383d41;border:1px solid #c6c8ca}.working-staff-work-status-unknown{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.working-staff-referrer-cell{font-weight:500;color:#333;text-align:center;min-width:100px}.working-staff-gender-cell{text-align:center}.working-staff-attendance-present{color:#28a745;font-weight:500}.working-staff-attendance-present small{display:block;font-size:11px;color:#666;margin-top:2px}.working-staff-attendance-absent{color:#6c757d}.working-staff-action-cell{text-align:center;vertical-align:middle;padding:8px!important}.working-staff-action-buttons{display:flex;gap:8px;justify-content:center;align-items:center}.working-staff-nha-thoi-vu-cell{max-width:100px;text-align:center}.working-staff-nha-thoi-vu-info{display:flex;justify-content:center;align-items:center;cursor:help;position:relative}.working-staff-nha-thoi-vu-code{font-weight:600;color:#2980b9;font-size:13px;padding:4px 8px;background:rgba(41,128,185,.1);border-radius:4px;border:1px solid rgba(41,128,185,.2);transition:all .2s ease}.working-staff-nha-thoi-vu-info:hover .working-staff-nha-thoi-vu-code{background:rgba(41,128,185,.15);border-color:#2980b94d;transform:scale(1.05)}.working-staff-nha-thoi-vu-name{font-weight:500;color:#2c3e50}.working-staff-status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase;display:inline-block}.working-staff-status-pending{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.working-staff-status-approved{background:#d4edda;color:#155724;border:1px solid #a3d977}.working-staff-status-rejected{background:#f8d7da;color:#721c24;border:1px solid #f1969c}.working-staff-attendance-yes{color:#28a745;font-weight:500;display:inline-flex;align-items:center;gap:4px}.working-staff-attendance-no{color:#dc3545;font-weight:500;display:inline-flex;align-items:center;gap:4px}.working-staff-notes-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.working-staff-lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000e6;display:flex;justify-content:center;align-items:center;z-index:9999;cursor:pointer}.working-staff-lightbox-content{position:relative;max-width:90vw;max-height:90vh}.working-staff-lightbox-image{max-width:100%;max-height:90vh;-o-object-fit:contain;object-fit:contain;border-radius:4px;box-shadow:0 4px 12px #00000080;cursor:default}.working-staff-lightbox-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:30px;cursor:pointer;padding:5px;line-height:1;transition:color .2s}.working-staff-lightbox-close:hover{color:#ff4d4f}.working-staff-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .2s ease-out}.working-staff-modal-content{background:white;border-radius:8px;min-width:400px;max-width:500px;box-shadow:0 4px 20px #0003;animation:scaleIn .2s ease-out}.working-staff-modal-header{padding:16px 20px;border-bottom:1px solid #e0e0e0}.working-staff-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#2c3e50}.working-staff-modal-body{padding:20px}.working-staff-modal-body p{margin:0;font-size:14px;line-height:1.6;color:#555}.working-staff-modal-footer{padding:16px 20px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:12px}.notification{position:fixed;top:80px;right:20px;min-width:300px;max-width:400px;padding:16px 20px;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:10000;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.notification-content{display:flex;flex-direction:column;gap:4px}.notification-content strong{font-size:16px;font-weight:600;margin-bottom:4px}.notification-content p{margin:0;font-size:14px;line-height:1.4}.working-staff-list .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;box-sizing:border-box}.working-staff-list .modal-content{background:white;border-radius:12px;padding:0;box-shadow:0 4px 20px #00000026;position:relative;max-width:90vw;max-height:90vh;overflow:hidden}.working-staff-list .vendor-working-info-modal{max-width:700px;max-height:100vh;width:95%;display:flex;flex-direction:column;overflow:hidden}.working-staff-list .modal-header-fixed{padding:20px 25px;border-bottom:2px solid #e9ecef;background:linear-gradient(135deg,#007bff 0%,#0056b3 100%);color:#fff;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.working-staff-list .modal-header-fixed h3{margin:0;font-size:20px;font-weight:600}.working-staff-list .modal-header-actions{display:flex;gap:10px;align-items:center}.working-staff-list .print-form-header-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:white;color:#007bff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.working-staff-list .print-form-header-btn:hover{background:#f8f9fa;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.working-staff-list .modal-close-btn{background:rgba(255,255,255,.2);color:#fff;border:none;font-size:28px;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1;padding:0}.working-staff-list .modal-close-btn:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}.working-staff-list .modal-container-scrollable{flex:1;overflow-y:auto;padding:25px;background:#f8f9fa}.working-staff-list .info-frame-1{margin-bottom:10px;padding:25px;background:linear-gradient(135deg,#f8fbff 0%,#e8f4fd 100%);border-radius:12px;border:2px solid #e3f2fd;box-shadow:0 2px 8px #007bff1a}.working-staff-list .desktop-layout{display:grid;grid-template-columns:140px 1fr;gap:20px}.working-staff-list .mobile-layout{display:none}.working-staff-list .avatar-col{display:flex;justify-content:center;align-items:center}.working-staff-list .basic-info-col{display:flex;flex-direction:column;gap:10px}.working-staff-list .info-line{display:flex;justify-content:space-between;align-items:flex-start;min-height:32px;flex-wrap:wrap;gap:10px;max-width:100%;overflow:hidden}.working-staff-list .name-text{font-size:22px;font-weight:600;color:#2c3e50;flex:1;max-width:60%;word-wrap:break-word;overflow-wrap:break-word}.working-staff-list .contract-badge{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500}.working-staff-list .contract-seasonal{background:#d1ecf1;color:#0c5460}.working-staff-list .contract-intern{background:#fff3cd;color:#856404}.working-staff-list .status-badge{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;min-width:100px;text-align:center}.working-staff-list .status-approved{background:#d4edda;color:#155724}.working-staff-list .status-pending{background:#fff3cd;color:#856404}.working-staff-list .status-rejected{background:#f8d7da;color:#721c24}.working-staff-list .register-time{font-size:13px;color:#6c757d;font-style:italic}.working-staff-list .avatar-container{position:relative;display:inline-block}.working-staff-list .large-avatar{width:140px;height:140px;border-radius:12px;-o-object-fit:cover;object-fit:cover;border:3px solid white;box-shadow:0 4px 12px #00000026;cursor:pointer;transition:transform .2s ease}.working-staff-list .large-avatar:hover{transform:scale(1.05)}.working-staff-list .no-large-avatar{width:140px;height:140px;border-radius:12px;background:#e9ecef;display:flex;align-items:center;justify-content:center;color:#6c757d;font-size:14px;border:3px solid white;box-shadow:0 4px 12px #00000026}.working-staff-list .info-frame-cccd{margin-bottom:20px;padding:20px;background:white;border-radius:8px;border:1px solid #e9ecef}.working-staff-list .cccd-images-row{display:flex;gap:20px;justify-content:center}.working-staff-list .cccd-image-item{text-align:center}.working-staff-list .cccd-image-item label{display:block;margin-bottom:8px;font-weight:600;color:#495057;font-size:14px}.working-staff-list .cccd-image-container{position:relative;display:inline-block}.working-staff-list .cccd-image-container img{max-width:200px;max-height:120px;-o-object-fit:cover;object-fit:cover;border-radius:6px;cursor:pointer;transition:transform .2s ease}.working-staff-list .cccd-image-container img:hover{transform:scale(1.02)}.working-staff-list .no-cccd-image{width:165px;height:120px;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6c757d;font-style:italic;text-align:center;padding:10px}.working-staff-list .no-cccd-image span{font-size:12px;line-height:1.4}.working-staff-list .info-frame-2{margin-bottom:20px;padding:20px;border-radius:8px;border:1px solid #e9ecef;background:white}.working-staff-list .detail-row{display:flex;gap:20px;margin-bottom:15px;flex-wrap:nowrap}.working-staff-list .detail-group{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.working-staff-list .detail-group.full-width{flex:100%;min-width:100%}.working-staff-list .detail-group label{font-weight:600;color:#495057;font-size:14px}.working-staff-list .detail-group span{color:#2c3e50;font-size:15px;padding:8px 12px;background:#f8f9fa;border-radius:4px;border:1px solid #e9ecef;min-height:38px;display:flex;align-items:center}.working-staff-list .edit-input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s;min-height:38px}.working-staff-list .edit-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.working-staff-list .modal-footer-fixed{padding:20px 25px;border-top:2px solid #e9ecef;background:white;display:flex;justify-content:flex-end;align-items:center;flex-shrink:0}.working-staff-list .footer-actions{display:flex;gap:10px}.working-staff-list .close-btn-footer{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.working-staff-list .close-btn-footer:hover{background:#5a6268;transform:translateY(-1px);box-shadow:0 2px 8px #6c757d4d}@media (max-width: 768px){.working-staff-list .vendor-working-info-modal{max-width:100%;width:100%;max-height:100vh}.working-staff-list .modal-container-scrollable{padding:15px}.working-staff-list .desktop-layout{display:none!important}.working-staff-list .mobile-layout{display:block!important}.working-staff-list .mobile-row-1,.working-staff-list .mobile-row-2,.working-staff-list .mobile-row-3,.working-staff-list .mobile-row-4,.working-staff-list .mobile-row-5{margin-bottom:10px}.working-staff-list .mobile-row-1{display:flex;justify-content:space-between;align-items:center}.working-staff-list .mobile-row-2{display:flex;justify-content:center}.working-staff-list .mobile-row-3,.working-staff-list .mobile-row-4{text-align:center}.working-staff-list .mobile-row-5{text-align:right}.working-staff-list .detail-row{flex-direction:column;gap:15px}.working-staff-list .cccd-images-row{flex-direction:column;align-items:center}.working-staff-list .print-btn-text{display:none}}.working-staff-list .fullscreen-image-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px}.working-staff-list .fullscreen-image-container{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.working-staff-list .fullscreen-image{max-width:100%;max-height:85vh;-o-object-fit:contain;object-fit:contain;border-radius:8px}.working-staff-list .fullscreen-image-title{color:#fff;margin-bottom:15px;font-size:18px;font-weight:500}.working-staff-list .fullscreen-close-btn{position:absolute;top:-40px;right:0;background:white;color:#333;border:none;font-size:24px;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.working-staff-list .fullscreen-close-btn:hover{background:#f8f9fa;transform:rotate(90deg)}.working-staff-pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background-color:#fff;border-top:1px solid #e1e5e9;border-radius:0 0 12px 12px;flex-wrap:wrap;gap:15px;flex-shrink:0}.working-staff-pagination-left,.working-staff-pagination-right{display:flex;align-items:center}.working-staff-items-per-page{display:flex;align-items:center;gap:10px;color:#64748b;font-size:14px}.working-staff-items-per-page-select{padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;background-color:#fff;color:#1e293b;font-size:14px;cursor:pointer;transition:all .2s ease;outline:none}.working-staff-items-per-page-select:hover{border-color:#cbd5e1}.working-staff-items-per-page-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.working-staff-pagination-center{display:flex;align-items:center;gap:15px}.working-staff-pagination-btn{padding:8px 16px;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.working-staff-pagination-btn:hover:not(:disabled){background-color:#f8fafc;color:#3b82f6;border-color:#cbd5e1}.working-staff-pagination-btn:disabled{opacity:.5;cursor:not-allowed;background-color:#f1f5f9}.working-staff-page-info{font-size:14px;color:#475569;font-weight:500}.working-staff-total-records{font-size:14px;color:#64748b;font-weight:500}.working-staff-pagination-info{font-size:14px;color:#666;font-weight:500}.working-staff-print-btn,.working-staff-delete-btn{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:14px}.working-staff-print-btn{background-color:#007bff;color:#fff}.working-staff-print-btn:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 2px 4px #007bff4d}.working-staff-delete-btn{background-color:#dc3545;color:#fff}.working-staff-delete-btn:hover{background-color:#c82333;transform:translateY(-1px);box-shadow:0 2px 4px #dc35454d}.working-staff-print-btn:active,.working-staff-delete-btn:active{transform:translateY(0)}.working-staff-modal-btn{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.working-staff-modal-btn-cancel{background-color:#6c757d;color:#fff}.working-staff-modal-btn-cancel:hover{background-color:#5a6268}.working-staff-modal-btn-confirm{background-color:#dc3545;color:#fff}.working-staff-modal-btn-confirm:hover{background-color:#c82333}.working-staff-modal-btn:active{transform:translateY(1px)}.working-staff-export-excel-btn{background-color:#10b981;border:1px solid #10b981;padding:8px 14px;border-radius:6px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s cubic-bezier(.4,0,.2,1);color:#fff;font-weight:500;box-shadow:0 1px 2px #0000000d;white-space:nowrap}.working-staff-export-excel-btn:hover{background-color:#059669;border-color:#059669;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.working-staff-export-excel-btn:active{transform:translateY(0)}@media (min-width: 769px){.working-staff-th-cell:nth-last-child(-n+4) .working-staff-filter-menu{left:auto;right:0;transform:translate(10px)}.working-staff-th-cell:last-child .working-staff-filter-menu{left:auto;right:0;transform:translate(20px)}.working-staff-th-cell:nth-last-child(2) .working-staff-filter-menu{left:auto;right:0;transform:translate(15px)}.working-staff-th-cell:nth-last-child(3) .working-staff-filter-menu{left:auto;right:0;transform:translate(5px)}}@media (max-width: 768px){.working-staff-page-header{padding:20px}.working-staff-header-content{flex-direction:column;align-items:stretch;gap:16px}.working-staff-header-left{justify-content:center;text-align:center}.working-staff-header-left h1{font-size:1.25rem}.working-staff-header-right{align-self:center}.working-staff-header-search-input-group{background:rgba(255,255,255,.2)}.working-staff-header-search-input{min-width:unset;flex:1}.working-staff-filter-controls{display:flex;flex-wrap:wrap;gap:12px}.working-staff-filter-controls .working-staff-filter-select{display:none}.working-staff-filter-controls .working-staff-header-search-form{order:1;flex-basis:100%;width:100%}.working-staff-filter-controls .working-staff-date-input:nth-of-type(1){order:2;flex:1 1 45%;min-width:120px}.working-staff-filter-controls .working-staff-date-input:nth-of-type(2){order:2;flex:1 1 45%;min-width:120px}.working-staff-filter-controls .working-staff-column-selector-container,.working-staff-filter-controls .working-staff-export-excel-btn,.working-staff-filter-controls .working-staff-clear-filters-btn{order:3;flex:1 1 30%;min-width:90px}.working-staff-candidates-table-container{overflow-x:auto}.working-staff-candidates-table{min-width:800px}.working-staff-candidates-table th,.working-staff-candidates-table td{padding:8px 6px;font-size:13px}.working-staff-column-selector-dropdown{position:fixed!important;top:50%!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important;max-width:90vw;max-height:80vh}.working-staff-filter-menu{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:90%;max-width:320px;max-height:70vh;overflow:hidden;display:flex;flex-direction:column;right:auto!important}.working-staff-filter-list{flex:1;overflow-y:auto}.working-staff-filter-btn{padding:4px}.working-staff-header-text{font-size:12px}.working-staff-pagination{flex-direction:column;gap:2px}.working-staff-pagination-left,.working-staff-pagination-center,.working-staff-pagination-right{width:100%;justify-content:center}}@media (max-width: 1024px) and (min-width: 769px){.working-staff-header-search-input{min-width:200px}.working-staff-header-left h1{font-size:1.35rem}}@media (max-width: 480px){.working-staff-candidates-table th,.working-staff-candidates-table td{padding:6px 4px;font-size:11px}.working-staff-header-text{font-size:11px}.working-staff-candidate-avatar,.working-staff-avatar-placeholder{width:30px;height:30px;font-size:14px}.working-staff-cccd-thumb{width:25px;height:20px}.working-staff-empty-state{font-size:12px}}.permanent-staff-list{margin:0;padding:0;height:calc(100vh - 50px);max-height:calc(100vh - 50px);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.permanent-loading-state{text-align:center;padding:60px 20px}.permanent-loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:permanent-spin 1s linear infinite;margin:0 auto 16px}@keyframes permanent-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.permanent-error-state,.permanent-access-denied{text-align:center;padding:60px 20px}.permanent-retry-btn{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;margin-top:16px}.permanent-empty-state{text-align:center;padding:0}.permanent-empty-content{padding:60px 20px;color:#666}.permanent-empty-content svg{color:#ccc;margin-bottom:16px}.permanent-empty-content h3{margin:0 0 8px;color:#333}.permanent-empty-content p{margin:0 0 20px}.permanent-add-candidate-link{display:inline-block;padding:10px 20px;background:#667eea;color:#fff;text-decoration:none;border-radius:6px;font-weight:500;transition:background .2s}.permanent-add-candidate-link:hover{background:#5a6fd8}.permanent-page-header{flex-shrink:0;background:white;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.permanent-header-content{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.permanent-header-left{display:flex;align-items:center;gap:12px;color:#2c3e50}.permanent-header-left svg{flex-shrink:0}.permanent-header-left h1{margin:0;color:#2c3e50;font-size:24px;font-weight:600;flex-shrink:0}.permanent-header-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.permanent-header-search-form{margin:0}.permanent-header-search-input-group{display:flex;align-items:center;gap:6px;background:#f8f9fa;border-radius:8px;padding:4px;border:1px solid #dee2e6}.permanent-header-search-input-group svg{color:#6c757d;margin-left:8px;flex-shrink:0}.permanent-header-search-input{flex:1;min-width:250px;padding:8px 12px;border:none;border-radius:4px;font-size:14px;background:white;color:#333}.permanent-header-search-input::-moz-placeholder{color:#999}.permanent-header-search-input::placeholder{color:#999}.permanent-header-search-input:focus{outline:none;box-shadow:0 0 0 2px #667eea33}.permanent-header-search-btn{padding:8px 14px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s;white-space:nowrap}.permanent-header-search-btn:hover{background:#5568d3}.page-switch-buttons{display:flex;gap:0;align-items:center;background:#f1f3f5;padding:4px;border-radius:8px;box-shadow:inset 0 1px 3px #0000001a;position:relative}.page-switch-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 30px;flex:1;min-width:0;background:transparent;color:#495057;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative;z-index:1;text-decoration:none}.page-switch-btn svg{flex-shrink:0;transition:transform .3s ease}.page-switch-btn:hover:not(.active){color:#667eea}.page-switch-btn:hover:not(.active) svg{transform:scale(1.1)}.page-switch-btn:active:not(.active){transform:scale(.98)}.page-switch-btn.active{background:white;color:#667eea;font-weight:600;cursor:default;box-shadow:0 2px 12px #667eea26}.page-switch-btn.active svg{color:#667eea}.permanent-filters-section{background:white}.permanent-filter-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.permanent-filter-select,.permanent-date-input{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:140px}.permanent-clear-filters-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;color:#666;transition:background .2s}.permanent-clear-filters-btn:hover{background:#e9e9e9}.permanent-column-selector-container{position:relative;display:inline-block}.permanent-column-selector-btn{background:linear-gradient(135deg,#6c5ce7,#5b4cdb);color:#fff;border:none;padding:8px 45px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:center;box-shadow:0 2px 8px #6c5ce74d;white-space:nowrap}.permanent-column-selector-btn:hover{background:linear-gradient(135deg,#5a4fcf,#4834d4);box-shadow:0 4px 12px #6c5ce766;transform:translateY(-1px)}.permanent-column-selector-dropdown{position:absolute;top:calc(100% + 5px);right:0;background:white;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 8px 25px #00000026;z-index:1000;min-width:250px;max-height:400px;overflow-y:auto}.permanent-column-selector-header{padding:15px 20px;background:#f8f9fa;border-bottom:1px solid #e1e5e9;border-radius:8px 8px 0 0}.permanent-column-selector-header h4{margin:0;color:#2c3e50;font-size:14px;font-weight:600}.permanent-column-selector-content{padding:10px 0;max-height:300px;overflow-y:auto}.permanent-column-selector-item{display:flex;align-items:center;padding:8px 20px;cursor:pointer;transition:background-color .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.permanent-column-selector-item:hover{background:#f8f9fa}.permanent-column-selector-item input[type=checkbox]{margin-right:10px;cursor:pointer}.permanent-column-selector-item span{font-size:14px;color:#2c3e50}.permanent-required-column{color:#7f8c8d;font-style:italic}.permanent-th-cell{position:relative;padding:8px 4px;overflow:visible}.permanent-table-header-content{display:flex;align-items:center;justify-content:center;gap:4px}.permanent-header-text{font-weight:600;font-size:14px}.permanent-filter-btn{background:none;border:none;cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:all .2s ease}.permanent-filter-btn:hover{opacity:1;background-color:#f0f0f0}.permanent-filter-menu{position:fixed;top:100%;left:0;background:white;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:9999!important;min-width:250px;max-width:300px;max-width:calc(100vw - 20px);text-align:left}.permanent-filter-header{padding:12px;border-bottom:1px solid #eee}.permanent-filter-search{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.permanent-filter-search:focus{outline:none;border-color:#007bff}.permanent-filter-actions{padding:8px 12px;display:flex;justify-content:space-between;border-bottom:1px solid #eee}.permanent-filter-select-all,.permanent-filter-clear{background:none;border:none;cursor:pointer;font-size:12px;color:#007bff;padding:4px 8px;border-radius:3px;transition:all .2s ease}.permanent-filter-select-all:hover,.permanent-filter-clear:hover{background-color:#f8f9fa}.permanent-filter-list{max-height:200px;overflow-y:auto;padding:4px 0}.permanent-filter-item{display:flex;align-items:center;padding:6px 12px;cursor:pointer;transition:background-color .2s ease}.permanent-filter-item:hover{background-color:#f8f9fa}.permanent-filter-item input[type=checkbox]{margin-right:8px;cursor:pointer}.permanent-filter-text{flex:1;font-size:14px;margin-right:8px;color:#000}.permanent-filter-count{font-size:12px;color:#666;font-weight:500}.permanent-filter-empty{padding:16px 12px;text-align:center;color:#666;font-size:14px}.permanent-filter-footer{padding:8px 12px;border-top:1px solid #eee}.permanent-filter-apply{width:100%;background-color:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s ease}.permanent-filter-apply:hover{background-color:#0056b3}.permanent-filter-apply:disabled{background-color:#ccc;cursor:not-allowed}.permanent-filter-list::-webkit-scrollbar{width:6px}.permanent-filter-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.permanent-filter-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.permanent-filter-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 768px){.permanent-filter-menu{left:auto;right:0;min-width:200px;max-width:calc(100vw - 20px)}}.permanent-candidates-table-container{background:white;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;position:relative;flex:1;display:flex;flex-direction:column}.permanent-table-wrapper{overflow-x:auto;overflow-y:auto;position:relative;flex:1;min-height:0}.permanent-candidates-table{width:100%;border-collapse:collapse;position:relative;min-width:100%}.permanent-candidates-table thead{position:sticky;top:0;z-index:10}.permanent-candidates-table thead th{position:relative;white-space:nowrap}.permanent-candidates-table th{background:#6c757d;padding:12px;text-align:center;font-weight:600;color:#fff;position:relative;border-bottom:2px solid #5568d3;border-right:1px solid rgba(255,255,255,.2);font-size:14px;white-space:normal;min-width:100px;max-width:500px}.permanent-candidates-table th:last-child{border-right:none}.permanent-candidates-table td{padding:2px 12px;border-bottom:1px solid #e9ecef;border-right:1px solid #e9ecef;font-size:14px;vertical-align:middle;white-space:normal;min-width:100px;max-width:500px;word-wrap:break-word}.permanent-candidates-table td:last-child{border-right:none}.permanent-candidates-table tr:hover{background:#f8f9fa}.permanent-sortable-th{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .2s}.permanent-sortable-th:hover{background:#5568d3!important}.permanent-sort-icon{margin-left:4px;opacity:.5}.permanent-sortable-th:hover .permanent-sort-icon{opacity:1}.permanent-avatar-cell{display:flex;justify-content:center;align-items:center}.permanent-candidate-avatar{width:45px;height:60px;border-radius:6px;-o-object-fit:cover;object-fit:cover;border:1px solid #ddd}.permanent-avatar-placeholder{width:45px;height:60px;border-radius:6px;background:#667eea;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;text-transform:uppercase}.permanent-candidates-table .permanent-name-cell{font-weight:500;color:#333;min-width:180px;white-space:nowrap!important}.permanent-name-with-avatar{display:flex;align-items:center;gap:12px}.permanent-name-with-avatar .permanent-avatar-cell{flex-shrink:0}.permanent-candidate-name{font-weight:500;color:#333;flex:1}.permanent-candidates-table .permanent-address-cell,.permanent-candidates-table .permanent-notes-cell{min-width:300px;max-width:500px;white-space:normal}.permanent-cccd-cell{font-family:monospace;font-size:13px}.permanent-cccd-cell-content{display:flex;align-items:center;gap:8px}.permanent-cccd-images{display:flex;flex-direction:column;gap:4px}.permanent-cccd-thumb{width:40px;height:25px;-o-object-fit:cover;object-fit:cover;border-radius:4px;border:1px solid #dee2e6;cursor:pointer;transition:transform .2s}.permanent-cccd-thumb:hover{transform:scale(1.1);border-color:#0d6efd}.permanent-employee-id-cell{font-family:monospace;font-size:13px;font-weight:600;color:#555;text-align:center;min-width:80px;max-width:100px}.permanent-contract-type-cell{text-align:center;min-width:90px}.permanent-contract-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;display:inline-block;white-space:nowrap}.permanent-contract-permanent{background:#d1f2eb;color:#0e6251;border:1px solid #76d7c4}.permanent-work-status-cell{text-align:center;min-width:100px}.permanent-work-status-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;display:inline-block;white-space:nowrap}.permanent-work-status-working{background:#d4edda;color:#155724;border:1px solid #a3d977}.permanent-work-status-resigned{background:#f8d7da;color:#721c24;border:1px solid #f1969c}.permanent-work-status-temporary{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.permanent-work-status-applying{background:#e2e3e5;color:#383d41;border:1px solid #c6c8ca}.permanent-work-status-unknown{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.permanent-referrer-cell{font-weight:500;color:#333;text-align:center;min-width:100px}.permanent-gender-cell{text-align:center}.permanent-attendance-present{color:#28a745;font-weight:500}.permanent-attendance-present small{display:block;font-size:11px;color:#666;margin-top:2px}.permanent-attendance-absent{color:#6c757d}.permanent-action-cell{text-align:center;padding:8px!important}.permanent-status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase;display:inline-block}.permanent-status-pending{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.permanent-status-approved{background:#d4edda;color:#155724;border:1px solid #a3d977}.permanent-status-rejected{background:#f8d7da;color:#721c24;border:1px solid #f1969c}.permanent-lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000e6;display:flex;justify-content:center;align-items:center;z-index:9999;cursor:pointer}.permanent-lightbox-content{position:relative;max-width:90vw;max-height:90vh}.permanent-lightbox-image{max-width:100%;max-height:90vh;-o-object-fit:contain;object-fit:contain;border-radius:4px;box-shadow:0 4px 12px #00000080;cursor:default}.permanent-lightbox-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:30px;cursor:pointer;padding:5px;line-height:1;transition:color .2s}.permanent-lightbox-close:hover{color:#ff4d4f}.permanent-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:9999;animation:fadeIn .2s ease}.permanent-modal-content{background:white;padding:24px;border-radius:8px;max-width:500px;width:90%;box-shadow:0 4px 20px #0003;animation:scaleIn .2s ease}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.permanent-modal-content h3{margin:0 0 16px;color:#2c3e50;font-size:20px}.permanent-modal-content p{margin:0 0 20px;color:#555;line-height:1.5}.permanent-modal-actions{display:flex;gap:12px;justify-content:flex-end}.notification{position:fixed;top:80px;right:20px;min-width:300px;max-width:500px;padding:16px 20px;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:10000;animation:slideInRight .3s ease}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-success{background-color:#d4edda;border-left:4px solid #28a745;color:#155724}.notification-error{background-color:#f8d7da;border-left:4px solid #dc3545;color:#721c24}.notification-info{background-color:#d1ecf1;border-left:4px solid #17a2b8;color:#0c5460}.notification-content strong{display:block;margin-bottom:4px;font-size:14px;font-weight:600}.notification-content p{margin:0;font-size:13px}.permanent-staff-list .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;box-sizing:border-box}.permanent-staff-list .modal-content{background:white;border-radius:12px;padding:0;box-shadow:0 4px 20px #00000026;position:relative;max-width:90vw;max-height:90vh;overflow:hidden}.permanent-staff-list .permanent-staff-info-modal{max-width:700px;max-height:100vh;width:95%;display:flex;flex-direction:column;overflow:hidden}.permanent-staff-list .modal-header-fixed{padding:20px 25px;border-bottom:2px solid #e9ecef;background:linear-gradient(135deg,#007bff 0%,#0056b3 100%);color:#fff;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.permanent-staff-list .modal-header-fixed h3{margin:0;font-size:20px;font-weight:600}.permanent-staff-list .modal-header-actions{display:flex;gap:10px;align-items:center}.permanent-staff-list .print-form-header-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:white;color:#007bff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.permanent-staff-list .print-form-header-btn:hover{background:#f8f9fa;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.permanent-staff-list .modal-close-btn{background:rgba(255,255,255,.2);color:#fff;border:none;font-size:28px;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1;padding:0}.permanent-staff-list .modal-close-btn:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}.permanent-staff-list .modal-container-scrollable{flex:1;overflow-y:auto;padding:25px;background:#f8f9fa}.permanent-staff-list .info-frame-1{margin-bottom:10px;padding:25px;background:linear-gradient(135deg,#f8fbff 0%,#e8f4fd 100%);border-radius:12px;border:2px solid #e3f2fd;box-shadow:0 2px 8px #007bff1a}.permanent-staff-list .desktop-layout{display:grid;grid-template-columns:140px 1fr;gap:20px}.permanent-staff-list .mobile-layout{display:none}.permanent-staff-list .avatar-col{display:flex;justify-content:center;align-items:center}.permanent-staff-list .basic-info-col{display:flex;flex-direction:column;gap:10px}.permanent-staff-list .info-line{display:flex;justify-content:space-between;align-items:flex-start;min-height:32px;flex-wrap:wrap;gap:10px;max-width:100%;overflow:hidden}.permanent-staff-list .name-text{font-size:22px;font-weight:600;color:#2c3e50;flex:1;max-width:60%;word-wrap:break-word;overflow-wrap:break-word}.permanent-staff-list .contract-badge{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500}.permanent-staff-list .contract-seasonal{background:#d1ecf1;color:#0c5460}.permanent-staff-list .contract-intern{background:#fff3cd;color:#856404}.permanent-staff-list .status-badge{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;min-width:100px;text-align:center}.permanent-staff-list .status-approved{background:#d4edda;color:#155724}.permanent-staff-list .status-pending{background:#fff3cd;color:#856404}.permanent-staff-list .status-rejected{background:#f8d7da;color:#721c24}.permanent-staff-list .register-time{font-size:13px;color:#6c757d;font-style:italic}.permanent-staff-list .avatar-container{position:relative;display:inline-block}.permanent-staff-list .large-avatar{width:140px;height:140px;border-radius:12px;-o-object-fit:cover;object-fit:cover;border:3px solid white;box-shadow:0 4px 12px #00000026;cursor:pointer;transition:transform .2s ease}.permanent-staff-list .large-avatar:hover{transform:scale(1.05)}.permanent-staff-list .no-large-avatar{width:140px;height:140px;border-radius:12px;background:#e9ecef;display:flex;align-items:center;justify-content:center;color:#6c757d;font-size:14px;border:3px solid white;box-shadow:0 4px 12px #00000026}.permanent-staff-list .info-frame-cccd{margin-bottom:20px;padding:20px;background:white;border-radius:8px;border:1px solid #e9ecef}.permanent-staff-list .cccd-images-row{display:flex;gap:20px;justify-content:center}.permanent-staff-list .cccd-image-item{text-align:center}.permanent-staff-list .cccd-image-item label{display:block;margin-bottom:8px;font-weight:600;color:#495057;font-size:14px}.permanent-staff-list .cccd-image-container{position:relative;display:inline-block}.permanent-staff-list .cccd-image-container img{max-width:200px;max-height:120px;-o-object-fit:cover;object-fit:cover;border-radius:6px;cursor:pointer;transition:transform .2s ease}.permanent-staff-list .cccd-image-container img:hover{transform:scale(1.02)}.permanent-staff-list .no-cccd-image{width:165px;height:120px;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6c757d;font-style:italic;text-align:center;padding:10px}.permanent-staff-list .no-cccd-image span{font-size:12px;line-height:1.4}.permanent-staff-list .info-frame-2{margin-bottom:20px;padding:20px;border-radius:8px;border:1px solid #e9ecef;background:white}.permanent-staff-list .detail-row{display:flex;gap:20px;margin-bottom:15px;flex-wrap:nowrap}.permanent-staff-list .detail-group{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.permanent-staff-list .detail-group.full-width{flex:100%;min-width:100%}.permanent-staff-list .detail-group label{font-weight:600;color:#495057;font-size:14px}.permanent-staff-list .detail-group span{color:#2c3e50;font-size:15px;padding:8px 12px;background:#f8f9fa;border-radius:4px;border:1px solid #e9ecef;min-height:38px;display:flex;align-items:center}.permanent-staff-list .edit-input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s;min-height:38px}.permanent-staff-list .edit-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.permanent-staff-list .modal-footer-fixed{padding:20px 25px;border-top:2px solid #e9ecef;background:white;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.permanent-staff-list .footer-left-actions,.permanent-staff-list .footer-right-actions{display:flex;gap:10px}.permanent-staff-list .delete-btn{padding:10px 20px;background:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.permanent-staff-list .delete-btn:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 2px 8px #dc35454d}.permanent-staff-list .delete-btn.disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.permanent-staff-list .delete-btn.disabled:hover{background:#6c757d;transform:none;box-shadow:none}.permanent-staff-list .update-btn{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.permanent-staff-list .update-btn.has-changes{background:#28a745}.permanent-staff-list .update-btn.has-changes:hover{background:#218838;transform:translateY(-1px);box-shadow:0 2px 8px #28a7454d}.permanent-staff-list .update-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width: 768px){.permanent-staff-list .permanent-staff-info-modal{max-width:100%;width:100%;max-height:100vh}.permanent-staff-list .modal-container-scrollable{padding:15px}.permanent-staff-list .desktop-layout{display:none!important}.permanent-staff-list .mobile-layout{display:block!important}.permanent-staff-list .mobile-row-1,.permanent-staff-list .mobile-row-2,.permanent-staff-list .mobile-row-3,.permanent-staff-list .mobile-row-4,.permanent-staff-list .mobile-row-5{margin-bottom:10px}.permanent-staff-list .mobile-row-1{display:flex;justify-content:space-between;align-items:center}.permanent-staff-list .mobile-row-2{display:flex;justify-content:center}.permanent-staff-list .mobile-row-3,.permanent-staff-list .mobile-row-4{text-align:center}.permanent-staff-list .mobile-row-5{text-align:right}.permanent-staff-list .detail-row{flex-direction:column;gap:15px}.permanent-staff-list .cccd-images-row{flex-direction:column;align-items:center}.permanent-staff-list .print-btn-text{display:none}.permanent-staff-list .modal-footer-fixed{flex-direction:column;gap:10px}.permanent-staff-list .footer-left-actions,.permanent-staff-list .footer-right-actions{width:100%;justify-content:center}}.permanent-staff-list .fullscreen-image-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px}.permanent-staff-list .fullscreen-image-container{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.permanent-staff-list .fullscreen-image{max-width:100%;max-height:85vh;-o-object-fit:contain;object-fit:contain;border-radius:8px}.permanent-staff-list .fullscreen-image-title{color:#fff;margin-bottom:15px;font-size:18px;font-weight:500}.permanent-staff-list .fullscreen-close-btn{position:absolute;top:-40px;right:0;background:white;color:#333;border:none;font-size:24px;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.permanent-staff-list .fullscreen-close-btn:hover{background:#f8f9fa;transform:rotate(90deg)}.permanent-pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background-color:#fff;border-top:1px solid #e1e5e9;border-radius:0 0 12px 12px;flex-wrap:wrap;gap:15px;flex-shrink:0}.permanent-pagination-left,.permanent-pagination-right{display:flex;align-items:center}.permanent-items-per-page{display:flex;align-items:center;gap:10px;color:#64748b;font-size:14px}.permanent-items-per-page-select{padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;background-color:#fff;color:#1e293b;font-size:14px;cursor:pointer;transition:all .2s ease;outline:none}.permanent-items-per-page-select:hover{border-color:#cbd5e1}.permanent-items-per-page-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.permanent-pagination-center{display:flex;align-items:center;gap:15px}.permanent-page-info{font-size:14px;color:#475569;font-weight:500}.permanent-total-records{font-size:14px;color:#64748b;font-weight:500}.permanent-pagination-btn{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.permanent-pagination-btn:hover:not(:disabled){background:#5a6fd8}.permanent-pagination-btn:disabled{background:#ccc;cursor:not-allowed}.permanent-pagination-info{font-size:14px;color:#666;font-weight:500}.permanent-print-btn,.permanent-delete-btn{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.permanent-print-btn{background-color:#3498db;color:#fff}.permanent-print-btn:hover{background-color:#2980b9;transform:translateY(-1px)}.permanent-delete-btn{background-color:#e74c3c;color:#fff}.permanent-delete-btn:hover{background-color:#c0392b;transform:translateY(-1px)}.permanent-btn-cancel,.permanent-btn-confirm{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.permanent-btn-cancel{background-color:#6c757d;color:#fff}.permanent-btn-cancel:hover{background-color:#5a6268}.permanent-btn-confirm{background-color:#dc3545;color:#fff}.permanent-btn-confirm:hover{background-color:#c82333}.permanent-export-excel-btn{background-color:#10b981;border:1px solid #10b981;padding:8px 14px;border-radius:6px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s cubic-bezier(.4,0,.2,1);color:#fff;font-weight:500;box-shadow:0 1px 2px #0000000d;white-space:nowrap}.permanent-export-excel-btn:hover{background-color:#059669;border-color:#059669;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.permanent-export-excel-btn:active{transform:translateY(0)}@media (min-width: 769px){.permanent-th-cell:nth-last-child(-n+4) .permanent-filter-menu{left:auto;right:0;transform:translate(10px)}.permanent-th-cell:last-child .permanent-filter-menu{left:auto;right:0;transform:translate(20px)}.permanent-th-cell:nth-last-child(2) .permanent-filter-menu{left:auto;right:0;transform:translate(15px)}.permanent-th-cell:nth-last-child(3) .permanent-filter-menu{left:auto;right:0;transform:translate(5px)}}@media (max-width: 768px){.permanent-candidate-list{padding:16px}.permanent-page-header{padding:20px}.permanent-header-content{flex-direction:column;align-items:stretch;gap:16px}.permanent-header-left{justify-content:center;text-align:center}.permanent-header-left h1{font-size:1.25rem}.permanent-header-right{align-self:center}.permanent-header-search-input-group{background:rgba(255,255,255,.2)}.permanent-header-search-input{min-width:unset;flex:1}.permanent-filter-controls{display:flex;flex-wrap:wrap;gap:12px}.permanent-filter-controls .permanent-filter-select{display:none}.permanent-filter-controls .permanent-header-search-form{order:1;flex-basis:100%;width:100%}.permanent-filter-controls .permanent-date-input:nth-of-type(1){order:2;flex:1 1 45%;min-width:120px}.permanent-filter-controls .permanent-date-input:nth-of-type(2){order:2;flex:1 1 45%;min-width:120px}.permanent-filter-controls .permanent-column-selector-container,.permanent-filter-controls .permanent-export-excel-btn,.permanent-filter-controls .permanent-clear-filters-btn{order:3;flex:1 1 30%;min-width:90px}.permanent-candidates-table-container{overflow-x:auto}.permanent-candidates-table{min-width:800px}.permanent-candidates-table th,.permanent-candidates-table td{padding:8px 6px;font-size:13px}.permanent-column-selector-dropdown{position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%);max-width:90vw;max-height:80vh}.permanent-filter-menu{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:90%;max-width:320px;max-height:70vh;overflow:hidden;display:flex;flex-direction:column;right:auto!important}.permanent-filter-list{flex:1;overflow-y:auto}.permanent-filter-btn{padding:4px}.permanent-header-text{font-size:12px}.permanent-pagination{flex-direction:column;gap:2px}.permanent-pagination-left,.permanent-pagination-center,.permanent-pagination-right{width:100%;justify-content:center}}@media (max-width: 1024px) and (min-width: 769px){.permanent-header-search-input{min-width:200px}.permanent-header-left h1{font-size:1.35rem}.permanent-filter-menu{left:auto;right:0;min-width:200px;max-width:calc(100vw - 20px)}}.fingerprint-list-page *{margin:0;padding:0;box-sizing:border-box}.fingerprint-list-page{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#333}.fingerprint-list-page .container{margin:0 auto;background:white;height:calc(100vh - 50px);display:flex;flex-direction:column;overflow:hidden;border-radius:10px;box-shadow:0 4px 20px #0000001a}.fingerprint-list-page .layout-container{display:flex;flex-direction:row;gap:20px;height:calc(100vh - 50px);flex:1;overflow:hidden}.fingerprint-list-page .left-panel{flex:0 0 35%;display:flex;flex-direction:column;padding:20px;background:#f8f9fa;border-radius:10px 0 0 10px;height:calc(100vh - 50px);overflow:hidden}.fingerprint-list-page .right-panel{flex:1;display:flex;flex-direction:column;height:calc(100vh - 50px);overflow:hidden}.fingerprint-list-page .hidden{display:none!important}@media (min-width: 769px){.fingerprint-list-page .desktop-only{display:table-cell}.fingerprint-list-page .mobile-only{display:none}}@media (max-width: 768px){.fingerprint-list-page .desktop-only{display:none!important}.fingerprint-list-page .mobile-only{display:table-cell!important}}.fingerprint-list-page header{text-align:center;background:transparent;z-index:200;padding:0;box-shadow:none;flex-shrink:0}.fingerprint-list-page header h1{color:#333;font-size:clamp(24px,4vw,36px);font-weight:600}.fingerprint-list-page .search-container{display:flex;justify-content:center;align-items:center;gap:20px;max-width:90%;margin:0 auto 2px}.fingerprint-list-page .search-input-wrapper{position:relative;flex:1;display:flex;align-items:center}.fingerprint-list-page .search-container input{flex:1;width:100%;padding:12px 50px 12px 16px;border:2px solid #ddd;border-radius:10px;font-size:16px;transition:all .3s ease}.fingerprint-list-page .search-container input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.fingerprint-list-page .clear-search-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:#999;font-size:18px;font-weight:700;cursor:pointer;padding:5px;border-radius:50%;transition:all .2s ease;width:30px;height:30px;display:none;align-items:center;justify-content:center;line-height:1}.fingerprint-list-page .clear-search-btn:hover{background:rgba(220,53,69,.1);color:#dc3545}.fingerprint-list-page .clear-search-btn.show{display:flex}.fingerprint-list-page .statistics-container{display:flex;flex-direction:column;gap:15px;margin:10px 0;width:100%}.fingerprint-list-page .stat-card{flex:1;max-width:none;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border:2px solid #dee2e6;border-radius:15px;padding:10px;text-align:center;box-shadow:0 4px 15px #0000001a;transition:all .3s ease;gap:0px;cursor:pointer;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center}.fingerprint-list-page .stat-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.fingerprint-list-page .stat-card:hover:before{left:100%}.fingerprint-list-page .stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026;border-color:#667eea;background:linear-gradient(135deg,#ffffff 0%,#f8f9fa 100%)}.fingerprint-list-page .stat-label{font-size:25px;color:#666;font-weight:700}.fingerprint-list-page .stat-value{font-size:45px;font-weight:700;color:#333;line-height:1.2}.fingerprint-list-page .stat-remaining{font-size:30px;color:#888;font-weight:400}.fingerprint-list-page #cardStatistics:hover{border-color:#28a745}.fingerprint-list-page #cardStatistics .stat-value{color:#28a745}.fingerprint-list-page #fingerprintStatistics:hover{border-color:#007bff}.fingerprint-list-page #fingerprintStatistics .stat-value{color:#007bff}.fingerprint-list-page #tableContainer{flex:1;display:flex;flex-direction:column;height:calc(100vh - 90px);position:relative;overflow:hidden;border-radius:0 10px 10px 0;box-shadow:0 4px 8px #0000001a;margin-right:20px}.fingerprint-list-page .table-header{flex-shrink:0;background:#6b73ff;border-radius:20px 20px 0 0!important;overflow:hidden}.fingerprint-list-page .table-header table{width:100%;border-collapse:separate;border-spacing:0;border-radius:10px 10px 0 0;overflow:hidden}.fingerprint-list-page .table-header thead tr{display:table-row}.fingerprint-list-page .table-header th{background:#6b73ff;color:#fff;text-align:center;vertical-align:middle;font-weight:600;font-size:16px;padding:12px;border:none;height:45px}.fingerprint-list-page .table-header th:first-child{border-top-left-radius:10px!important;height:45px;width:120px;min-width:120px}.fingerprint-list-page .table-header th:last-child{border-top-right-radius:10px!important;width:80px;min-width:80px;height:60px}.fingerprint-list-page .table-header .fp-col-employee-code{width:140px;min-width:140px}.fingerprint-list-page .table-header .fp-col-full-name{width:200px;min-width:200px}.fingerprint-list-page .table-header .fp-col-birth-date{width:140px;min-width:140px}.fingerprint-list-page .table-header .fp-col-cccd{width:150px;min-width:150px}.fingerprint-list-page .table-header .fp-col-dormitory{width:100px;min-width:100px}.fingerprint-list-page .table-header .fp-col-skip{width:80px;min-width:80px}.fingerprint-list-page .table-header thead tr th{background:#6b73ff!important}.fingerprint-list-page .th-content{display:flex;justify-content:center;align-items:center;width:100%;position:relative}.th-content span{text-align:center;flex:1;padding-right:40px}.fingerprint-list-page .vendor-filter-icon{cursor:pointer;padding:5px;border-radius:8px;transition:all .3s ease;color:#fff;opacity:.8;position:absolute;right:10px}.fingerprint-list-page .vendor-filter-icon svg{width:20px;height:20px}.fingerprint-list-page .vendor-filter-icon .filter-icon{display:block!important}.fingerprint-list-page .vendor-filter-icon .filter-active-icon,.fingerprint-list-page .vendor-filter-icon.filtering .filter-icon{display:none!important}.fingerprint-list-page .vendor-filter-icon.filtering .filter-active-icon{display:block!important}.fingerprint-list-page .vendor-filter-icon:hover{opacity:1;background:rgba(255,255,255,.2);transform:scale(1.1)}.fingerprint-list-page .vendor-filter-icon.filtering{opacity:1!important}.fingerprint-list-page .vendor-filter-icon.filtering:hover{border:3px solid #ffc107!important;transform:scale(1.1);box-shadow:0 0 15px #ffc107}.fingerprint-list-page .table-body{flex:1;overflow-y:auto;overflow-x:hidden;background:white;min-height:0;max-height:calc(100vh - 155px)}.fingerprint-list-page .table-body table{width:100%;border-collapse:collapse}.fingerprint-list-page .table-body tbody tr{display:table-row}.fingerprint-list-page .table-body td{padding:0;vertical-align:middle;text-align:center;border-bottom:1px solid #eee;font-size:14px;min-height:50px;overflow:visible;word-wrap:break-word}.fingerprint-list-page .fp-col-status,.fingerprint-list-page .table-body td:nth-child(1){width:120px;min-width:120px;text-align:center;vertical-align:middle;padding:0}.fingerprint-list-page .fp-col-employee-code,.fingerprint-list-page .table-body td:nth-child(2){width:140px;min-width:140px;text-align:center;vertical-align:middle;padding:8px;font-weight:700;color:#333}.fingerprint-list-page .fp-col-full-name,.fingerprint-list-page .table-body td:nth-child(3){width:200px;min-width:200px;text-align:center;vertical-align:middle;padding:8px;font-weight:500;color:#333}.fingerprint-list-page .fp-col-birth-date,.fingerprint-list-page .table-body td:nth-child(4){width:140px;min-width:140px;text-align:center;vertical-align:middle;padding:8px;color:#666;font-size:13px;white-space:nowrap}.fingerprint-list-page .fp-col-cccd,.fingerprint-list-page .table-body td:nth-child(5){width:150px;min-width:150px;text-align:center;vertical-align:middle;padding:8px;color:#666;font-size:13px;font-style:italic}.fingerprint-list-page .fp-col-dormitory,.fingerprint-list-page .table-body td:nth-child(6){width:100px;min-width:100px;text-align:center;vertical-align:middle;padding:8px}.fingerprint-list-page .fp-col-skip,.fingerprint-list-page .table-body td:nth-child(7){width:80px;min-width:80px;text-align:center;vertical-align:middle;padding:8px}.fingerprint-list-page .table-body tr:nth-child(2n){background-color:#f8f9fa}.fingerprint-list-page .table-body tr:hover{background-color:#e3f2fd}.fingerprint-list-page .fp-col-status{text-align:center;padding:0}.fingerprint-list-page .fp-col-employee-info{padding:0;overflow:visible;word-wrap:break-word}.fingerprint-list-page .fp-col-dormitory{font-size:16px;color:#007bff;font-weight:700}.fingerprint-list-page .fp-col-skip .btn-skip-small{background:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:15px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:70px}.fingerprint-list-page .fp-col-skip .btn-skip-small:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 2px 8px #dc35454d}.fingerprint-list-page .fp-col-skip .skip-status{background:#f8d7da;color:#721c24;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;border:1px solid #f5c6cb}.fingerprint-list-page .vendor-dropdown{position:absolute;top:70px;right:20px;background:white;border:2px solid #667eea;border-radius:12px;box-shadow:0 10px 30px #0003;z-index:1000;min-width:500px;max-height:400px;overflow:hidden}.fingerprint-list-page .vendor-dropdown.hidden{display:none}.fingerprint-list-page .vendor-dropdown-header{background:#667eea;color:#fff;padding:15px 20px;font-weight:600;font-size:18px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.fingerprint-list-page .date-picker-container{display:flex;align-items:center;gap:10px;flex:1}.fingerprint-list-page .date-picker-container label{font-size:14px;font-weight:500;white-space:nowrap}.fingerprint-list-page .date-filter-input{padding:8px 12px;border:2px solid #fff;border-radius:6px;background:white;color:#333;font-size:14px;font-weight:500;min-width:150px;transition:all .3s ease}.fingerprint-list-page .date-filter-input:focus{outline:none;border-color:#ffc107;box-shadow:0 0 0 2px #ffc10733}.fingerprint-list-page .clear-date-btn{background:#dc3545;color:#fff;border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.fingerprint-list-page .clear-date-btn:hover{background:#c82333;transform:scale(1.1)}.fingerprint-list-page .clear-filter-btn{background:linear-gradient(135deg,#ffc107 0%,#e0a800 100%);color:#212529;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease}.fingerprint-list-page .clear-filter-btn:hover{background:linear-gradient(135deg,#e0a800 0%,#d39e00 100%);transform:translateY(-2px);box-shadow:0 4px 12px #ffc1074d}.fingerprint-list-page .close-dropdown{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .3s;font-weight:700}.fingerprint-list-page .close-dropdown:hover{background:rgba(255,255,255,.2)}.fingerprint-list-page .filter-tabs{display:flex;background:#f8f9fa;border-bottom:1px solid #dee2e6;height:45px}.fingerprint-list-page .tab-btn{flex:1;padding:10px 15px;background:none;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;color:#6c757d;border-bottom:2px solid transparent}.fingerprint-list-page .tab-btn:hover{background:#e9ecef;color:#495057}.fingerprint-list-page .tab-btn.active{background:white;color:#667eea;border-bottom-color:#667eea}.fingerprint-list-page .filter-tab-content{display:none}.fingerprint-list-page .filter-tab-content.active{display:block}.fingerprint-list-page .vendor-options,.fingerprint-list-page .evenodd-options,.fingerprint-list-page .category-options{max-height:300px;overflow-y:auto;padding:10px 0}.fingerprint-list-page .vendor-option,.fingerprint-list-page .evenodd-option,.fingerprint-list-page .category-option{display:flex;align-items:center;padding:10px 15px;cursor:pointer;transition:background .2s;border-bottom:1px solid #f0f0f0}.fingerprint-list-page .vendor-option:hover,.fingerprint-list-page .evenodd-option:hover,.fingerprint-list-page .category-option:hover{background:#f8f9fa}.fingerprint-list-page .vendor-option:last-child,.fingerprint-list-page .evenodd-option:last-child,.fingerprint-list-page .category-option:last-child{border-bottom:none}.fingerprint-list-page .vendor-option input[type=radio],.fingerprint-list-page .evenodd-option input[type=radio],.fingerprint-list-page .category-option input[type=checkbox]{margin-right:10px;transform:scale(1.2)}.fingerprint-list-page .vendor-option label,.fingerprint-list-page .evenodd-option label,.fingerprint-list-page .category-option label{flex:1;font-size:14px;font-weight:500;color:#333;cursor:pointer}.fingerprint-list-page .filtered-note{font-size:12px;color:#667eea;font-weight:400;font-style:italic}.fingerprint-list-page .no-vendors-message{padding:15px;text-align:center;color:#6c757d;font-style:italic;font-size:14px;background:#f8f9fa;border-radius:8px;margin:10px;border:1px solid #e9ecef}.fingerprint-list-page .vendor-option.selected,.fingerprint-list-page .evenodd-option.selected,.fingerprint-list-page .category-option.selected{background:#e3f2fd;border-left:4px solid #667eea}.fingerprint-list-page .table-body .mobile-only .employee-info-container .employee-details .employee-name,.fingerprint-list-page td.fp-col-employee-info .employee-info-container .employee-details .employee-name{font-size:23px!important;line-height:1.3!important;word-wrap:break-word!important;word-break:break-word!important;white-space:normal!important;overflow-wrap:break-word!important;text-overflow:none!important;overflow:visible!important;max-width:200px!important;width:auto!important;hyphens:auto!important;-webkit-hyphens:auto!important;-ms-hyphens:auto!important;display:block!important}.fingerprint-list-page .action-container{display:flex;justify-content:center;align-items:center;padding:8px;min-height:50px}.fingerprint-list-page .btn-fingerprint{background:#28a745;color:#fff;border:none;padding:8px 12px;border-radius:10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100px;height:35px;text-align:center;line-height:1;white-space:nowrap;display:flex;align-items:center;justify-content:center}.fingerprint-list-page .btn-fingerprint:hover{background:#218838;transform:translateY(-1px);box-shadow:0 2px 8px #28a7454d}.fingerprint-list-page .btn-fingerprint.completed{background:#6c757d;cursor:not-allowed}.fingerprint-list-page .employee-info-container{display:flex;flex-direction:column;padding:10px 15px;min-height:100px;gap:8px;overflow:visible;word-wrap:break-word}.fingerprint-list-page .info-row-1{display:flex;justify-content:space-between;align-items:center;gap:10px}.fingerprint-list-page .info-row-1 .employee-id{font-size:24px;font-weight:700;color:#333;text-align:left}.fingerprint-list-page .info-row-1 .skip-action{display:flex;justify-content:flex-end;align-items:center}.fingerprint-list-page .info-row-2{width:100%}.fingerprint-list-page .info-row-2 .employee-name{font-size:24px;color:#333;font-weight:500;line-height:1.3;text-align:left;word-wrap:break-word;word-break:break-word;white-space:normal;overflow-wrap:break-word}.fingerprint-list-page .info-row-3{display:flex;justify-content:space-between;align-items:center;gap:10px}.fingerprint-list-page .birth-cccd-col{flex:1;display:flex;flex-direction:column;gap:4px;text-align:left}.fingerprint-list-page .birth-cccd-col .employee-birth{font-size:14px;color:#666}.fingerprint-list-page .birth-cccd-col .employee-cccd{font-size:18px;color:#666;font-weight:400;font-style:italic}.fingerprint-list-page .vendor-col{flex:0 0 auto;display:flex;align-items:center}.fingerprint-list-page .vendor-col .vendor-code{font-size:16px;color:#007bff;font-weight:700;padding:4px 12px;background:#e7f3ff;border-radius:12px;border:1px solid #b3d7ff;text-align:center}.fingerprint-list-page .vendor-col .vendor-code:empty{display:none}.fingerprint-list-page .info-row-1 .btn-skip-small{background:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:15px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:70px}.fingerprint-list-page .info-row-1 .btn-skip-small:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 2px 8px #dc35454d}.fingerprint-list-page .info-row-1 .skip-status{background:#f8d7da;color:#721c24;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;border:1px solid #f5c6cb}.fingerprint-list-page .employee-details{flex:1;display:flex;flex-direction:column;gap:0px;text-align:left;overflow:visible;word-wrap:break-word;min-width:0}.fingerprint-list-page .employee-id{font-size:18px;font-weight:700;color:#333;margin-bottom:2px;text-align:left}.fingerprint-list-page .employee-name{font-size:23px;color:#333;font-weight:500;line-height:1.3;padding-bottom:5px;text-align:left;word-wrap:break-word;word-break:break-all;white-space:normal;overflow-wrap:break-word;text-overflow:unset;overflow:visible;max-width:none;width:auto;hyphens:auto;-webkit-hyphens:auto;-ms-hyphens:auto}.fingerprint-list-page .employee-birth{font-size:14px;color:#666;text-align:left}.fingerprint-list-page .employee-cccd{font-size:18px;color:#666;font-weight:400;font-style:italic;text-align:left}.fingerprint-list-page .employee-actions{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;min-height:100px;padding:5px 0;text-align:right}.fingerprint-list-page .skip-action{display:flex;justify-content:flex-end;margin-bottom:5px;text-align:right}.fingerprint-list-page .btn-skip-small{background:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:15px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:70px}.fingerprint-list-page .btn-skip-small:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 2px 8px #dc35454d}.fingerprint-list-page .skip-status{background:#f8d7da;color:#721c24;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;border:1px solid #f5c6cb}.fingerprint-list-page .vendor-code{font-size:16px;color:#007bff;font-weight:700;padding:4px 12px;background:#e7f3ff;border-radius:12px;border:1px solid #b3d7ff;margin-top:auto;text-align:center}.fingerprint-list-page .btn-action{background:linear-gradient(135deg,#28a745 0%,#20c997 100%);color:#fff;border:none;padding:12px 20px;border-radius:30px;cursor:pointer;font-size:40px;transition:all .2s;width:180px;height:140px;display:flex;align-items:center;justify-content:center}.fingerprint-list-page .btn-action:hover{transform:translateY(-1px);box-shadow:0 4px 8px #28a7454d}.fingerprint-list-page .btn-skip{background:linear-gradient(135deg,#ffc107 0%,#ffb300 100%);color:#333;border:none;padding:12px 20px;border-radius:8px;cursor:pointer;font-size:28px;transition:all .2s;font-weight:600;width:180px;height:80px;display:flex;align-items:center;justify-content:center}.fingerprint-list-page .btn-skip:hover{background:linear-gradient(135deg,#ffb300 0%,#ffa000 100%);transform:translateY(-1px);box-shadow:0 4px 8px #ffc10766}.fingerprint-list-page .btn-edit{background:linear-gradient(135deg,#6c757d 0%,#495057 100%);color:#fff;border:none;padding:6px 10px;border-radius:50%;cursor:pointer;font-size:20px;transition:all .2s;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.fingerprint-list-page .btn-edit:hover{background:linear-gradient(135deg,#495057 0%,#343a40 100%);transform:translateY(-1px) scale(1.1);box-shadow:0 4px 8px #6c757d66}.fingerprint-list-page .info-container{position:relative;width:100%}.fingerprint-list-page .status-container{display:flex;flex-direction:column;align-items:center;position:relative;gap:40px}.fingerprint-list-page .status-with-edit{display:flex;align-items:center;gap:10px}.fingerprint-list-page .da-lay-vantay,.fingerprint-list-page .da-bo-qua{font-weight:700;font-size:30px}.fingerprint-list-page .da-lay-vantay{color:#28a745}.fingerprint-list-page .da-bo-qua{color:#ff6b35}.fingerprint-list-page .pagination{display:flex;justify-content:center;align-items:center;gap:10px;background:white;position:sticky;bottom:0;z-index:100;border-top:1px solid #eee;box-shadow:0 -2px 10px #0000001a;flex-shrink:0;border-radius:0 0 10px 10px;padding:10px;height:60px}.fingerprint-list-page .pagination button{padding:8px 16px;border:1px solid #667eea;background:white;cursor:pointer;border-radius:6px;font-size:14px;font-weight:600;color:#667eea;transition:all .3s ease;min-width:70px;position:relative;z-index:101;pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fingerprint-list-page .pagination button:enabled:hover{background:#667eea;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.fingerprint-list-page .pagination button:disabled{opacity:.4;cursor:not-allowed;background:#f8f9fa!important;color:#6c757d!important;border-color:#dee2e6!important;pointer-events:none;transform:none!important;box-shadow:none!important}.fingerprint-list-page #pageInfo{font-size:14px;font-weight:600;color:#333;background:#f8f9fa;border-radius:6px;padding:8px 16px;border:1px solid #dee2e6}.fingerprint-list-page .loading{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.fingerprint-list-page .loading p{margin:0;font-size:16px;font-weight:500;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.fingerprint-list-page .spinner{border:4px solid rgba(255,255,255,.3);border-top:4px solid #fff;border-radius:50%;width:60px;height:60px;animation:spin 1s linear infinite;margin-bottom:20px;box-shadow:0 4px 8px #0000001a}.fingerprint-list-page .modal{position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#0006;display:flex;justify-content:center;align-items:center}.fingerprint-list-page .modal-content{background-color:#fefefe;margin:15% auto;padding:15px;border:none;width:95%;max-width:600px;border-radius:20px;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}.fingerprint-list-page .modal-content h3{color:#333;margin-bottom:20px;font-size:36px;text-align:center}.fingerprint-list-page .modal-content p{color:#666;margin-bottom:30px;font-size:24px;text-align:center;line-height:1.4}.fingerprint-list-page .modal-content .employee-code-highlight{font-size:42px;font-weight:700;color:#007bff;padding:0 16px;display:inline-block;margin:1px}.fingerprint-list-page .modal-buttons{display:flex;justify-content:center;gap:20px;margin-top:30px}.fingerprint-list-page .btn-confirm,.fingerprint-list-page .btn-cancel{padding:15px 30px;border:none;border-radius:8px;font-size:20px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px}.fingerprint-list-page .btn-confirm{background:linear-gradient(135deg,#28a745 0%,#20c997 100%);color:#fff}.fingerprint-list-page .btn-confirm:hover{background:linear-gradient(135deg,#20c997 0%,#17a2b8 100%);transform:translateY(-2px);box-shadow:0 4px 15px #28a7454d}.fingerprint-list-page .btn-cancel{background:linear-gradient(135deg,#6c757d 0%,#495057 100%);color:#fff}.fingerprint-list-page .btn-cancel:hover{background:linear-gradient(135deg,#495057 0%,#343a40 100%);transform:translateY(-2px);box-shadow:0 4px 15px #6c757d4d}.fingerprint-list-page .skip-input-group{margin:20px 0}.fingerprint-list-page .skip-input-group label{display:block;margin-bottom:15px;font-weight:600;color:#333;font-size:20px}.fingerprint-list-page .skip-input-group input{width:100%;padding:15px;border:2px solid #ddd;border-radius:8px;font-size:18px;transition:border-color .3s}.fingerprint-list-page .skip-input-group input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.fingerprint-list-page .skip-input-group input::-moz-placeholder{color:#999;font-style:italic}.fingerprint-list-page .skip-input-group input::placeholder{color:#999;font-style:italic}.fingerprint-list-page .quick-reason-buttons{display:flex;gap:10px;margin-bottom:15px;flex-wrap:wrap}.fingerprint-list-page .quick-reason-btn{padding:8px 16px;border:2px solid #667eea;background:white;color:#667eea;border-radius:20px;cursor:pointer;font-size:16px;font-weight:500;transition:all .3s ease}.fingerprint-list-page .quick-reason-btn:hover{background:#667eea;color:#fff;transform:translateY(-1px)}.fingerprint-list-page .quick-reason-btn.selected{background:#667eea;color:#fff}.fingerprint-list-page .quick-reason-btn.selected:hover{background:#5a67d8}@keyframes modalSlideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.fingerprint-list-page .modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1002;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fingerprint-list-page .employee-info-modal-new{background:white;width:90vw;max-width:800px;max-height:90vh;border-radius:16px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{transform:scale(.95) translateY(-20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.fingerprint-list-page .modal-header-fixed{padding:20px 24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;background:#f8fafc;border-radius:16px 16px 0 0}.fingerprint-list-page .modal-header-fixed h3{margin:0;font-size:20px;font-weight:600;color:#1f2937}.fingerprint-list-page .modal-close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.fingerprint-list-page .modal-close-btn:hover{background:#f3f4f6;color:#374151}.fingerprint-list-page .modal-container-scrollable{flex:1;overflow-y:auto;padding:24px;scrollbar-width:thin;scrollbar-color:#d1d5db #f9fafb}.fingerprint-list-page .modal-container-scrollable::-webkit-scrollbar{width:8px}.fingerprint-list-page .modal-container-scrollable::-webkit-scrollbar-track{background:#f9fafb}.fingerprint-list-page .modal-container-scrollable::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.fingerprint-list-page .modal-container-scrollable::-webkit-scrollbar-thumb:hover{background:#9ca3af}.fingerprint-list-page .info-frame-1{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:10px;margin-bottom:5px}.fingerprint-list-page .desktop-layout{display:flex;gap:24px;align-items:flex-start}.fingerprint-list-page .mobile-layout{display:none}.fingerprint-list-page .avatar-col{flex:0 0 120px;display:flex;justify-content:center}.fingerprint-list-page .avatar-container{position:relative;display:flex;flex-direction:column;align-items:center}.fingerprint-list-page .large-avatar{width:120px;height:160px;border-radius:12px;-o-object-fit:cover;object-fit:cover;border:3px solid #e5e7eb;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0000001a}.fingerprint-list-page .large-avatar:hover{border-color:#3b82f6;transform:scale(1.02);box-shadow:0 8px 20px #3b82f633}.fingerprint-list-page .no-large-avatar{width:120px;height:160px;border:2px dashed #d1d5db;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#6b7280;background:#f9fafb;text-align:center;padding:8px}.fingerprint-list-page .basic-info-col{flex:1;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.fingerprint-list-page .name-text{font-size:24px;font-weight:700;color:#1f2937}.fingerprint-list-page .employee-code{font-size:16px;font-weight:500;color:#6b7280}.fingerprint-list-page .status-badge{padding:6px 12px;border-radius:20px;font-size:14px;font-weight:500;display:inline-block}.fingerprint-list-page .status-pending{background:#fef3c7;color:#92400e;border:1px solid #f59e0b}.fingerprint-list-page .status-approved{background:#d1fae5;color:#065f46;border:1px solid #10b981}.fingerprint-list-page .status-rejected{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.fingerprint-list-page .fingerprint-time{font-size:14px;color:#6b7280}.fingerprint-list-page .info-frame-2{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.fingerprint-list-page .detail-row{display:flex;gap:20px;margin-bottom:16px;flex-wrap:wrap}.fingerprint-list-page .detail-group{flex:1;min-width:200px;display:flex;flex-direction:column;gap:4px}.fingerprint-list-page .detail-group.full-width{flex:1 1 100%}.fingerprint-list-page .detail-group label{font-size:14px;font-weight:600;color:#374151}.fingerprint-list-page .detail-group span{font-size:15px;color:#1f2937;word-break:break-word}.fingerprint-list-page .modal-footer-fixed{padding:20px 24px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px;flex-shrink:0;background:#f8fafc;border-radius:0 0 16px 16px}.fingerprint-list-page .update-btn{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.fingerprint-list-page .update-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.fingerprint-list-page .fullscreen-image-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.9);display:flex;justify-content:center;align-items:center;z-index:2000}.fingerprint-list-page .fullscreen-image-container{position:relative;max-width:95vw;max-height:95vh}.fingerprint-list-page .fullscreen-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:8px}.fingerprint-list-page .fullscreen-close-btn{position:absolute;top:-40px;right:0;background:white;color:#1f2937;border:none;width:40px;height:40px;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d}.fingerprint-list-page .info-frame-cccd{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:10px;margin-bottom:5px}.fingerprint-list-page .cccd-images-row{display:flex;gap:20px;justify-content:space-between}.fingerprint-list-page .cccd-image-item{flex:1;display:flex;flex-direction:column;gap:8px}.fingerprint-list-page .cccd-image-item label{font-size:14px;font-weight:600;color:#374151}.fingerprint-list-page .cccd-image-container{position:relative;width:100%;height:200px;border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#f9fafb;cursor:pointer;transition:all .3s ease}.fingerprint-list-page .cccd-image-container:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.fingerprint-list-page .cccd-image-container img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.fingerprint-list-page .no-cccd-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;color:#6b7280;font-size:14px;padding:16px}.fingerprint-list-page .basic-info-col .info-line{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e5e7eb}.fingerprint-list-page .basic-info-col .info-line:last-child{border-bottom:none}.fingerprint-list-page .basic-info-col .info-line .info-label{font-size:14px;font-weight:600;color:#374151;flex:0 0 120px}.fingerprint-list-page .basic-info-col .info-line .info-value{font-size:14px;color:#1f2937;flex:1;word-break:break-word}@media (max-width: 1024px) and (min-width: 769px){.left-panel{flex:0 0 40%}.stat-label{font-size:20px}.stat-value{font-size:36px}.stat-remaining{font-size:24px}.fingerprint-list-page .employee-info-modal-new{width:95vw;max-height:95vh;border-radius:12px}.fingerprint-list-page .desktop-layout{display:none}.fingerprint-list-page .mobile-layout{display:block}.fingerprint-list-page .mobile-layout .mobile-row-2{text-align:center;margin-bottom:16px}.fingerprint-list-page .mobile-layout .mobile-row-3.text-center,.fingerprint-list-page .mobile-layout .mobile-row-4.text-center{text-align:center;margin-bottom:12px}.fingerprint-list-page .mobile-layout .mobile-row-5{text-align:right;margin-top:8px}.fingerprint-list-page .mobile-layout .large-avatar{width:90px;height:120px}.fingerprint-list-page .mobile-layout .no-large-avatar{width:90px;height:120px;font-size:11px}.fingerprint-list-page .cccd-images-row{flex-direction:row;gap:8px}.fingerprint-list-page .cccd-image-item{flex:1;min-width:0}.fingerprint-list-page .cccd-image-item label{font-size:12px}.fingerprint-list-page .cccd-image-container{height:120px}.fingerprint-list-page .detail-row{flex-direction:column;gap:12px}.fingerprint-list-page .detail-group{min-width:unset}.fingerprint-list-page .modal-header-fixed{padding:16px 20px}.fingerprint-list-page .modal-header-fixed h3{font-size:18px}.fingerprint-list-page .modal-container-scrollable{padding:4px}.fingerprint-list-page .modal-footer-fixed{padding:16px 20px}}@media (max-width: 768px){.fingerprint-list-page .container{height:calc(100vh - 50px)}.fingerprint-list-page .layout-container{flex-direction:column;gap:10px;height:calc(100vh - 50px)}.fingerprint-list-page .left-panel{flex:0 0 auto;padding:15px 15px 0;background:white;border-radius:10px;height:auto;max-height:250px;overflow:hidden}.fingerprint-list-page .right-panel{flex:1;min-height:0;height:calc(100vh - 320px)}.fingerprint-list-page #tableContainer{border-radius:10px;margin-right:0;height:100%}.fingerprint-list-page .table-body{max-height:calc(100vh - 350px)}.fingerprint-list-page header{background:white;box-shadow:0 2px 10px #0000001a;border-radius:10px}.fingerprint-list-page header h1{font-size:28px}.fingerprint-list-page .search-container{flex-direction:column;gap:10px}.fingerprint-list-page .search-container input{font-size:18px;padding:8px 40px 8px 12px}.fingerprint-list-page .statistics-container{flex-direction:row;gap:10px}.fingerprint-list-page .stat-card{flex:1;min-height:100px}.fingerprint-list-page .stat-label{font-size:14px}.fingerprint-list-page .stat-value{font-size:28px}.fingerprint-list-page .stat-remaining{font-size:14px}.fingerprint-list-page .table-header th{font-size:20px;padding:10px 8px;height:50px}.fingerprint-list-page .vendor-filter-icon svg{width:24px;height:24px}.fingerprint-list-page .th-content span{padding-right:30px}.fingerprint-list-page .vendor-dropdown{min-width:92vw;max-width:92vw;right:18px;top:60px}.fingerprint-list-page .vendor-dropdown-header{padding:12px 15px;font-size:16px;flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.fingerprint-list-page .date-picker-container{flex-direction:row;align-items:center;gap:8px;flex:1;min-width:200px}.fingerprint-list-page .date-picker-container label{font-size:14px;min-width:auto}.fingerprint-list-page .date-filter-input{min-width:120px;font-size:14px;padding:8px 10px}.fingerprint-list-page .clear-date-btn{width:22px;height:22px;font-size:14px}.fingerprint-list-page .clear-filter-btn{padding:6px 10px;font-size:14px}.fingerprint-list-page .close-dropdown{width:25px;height:25px;font-size:25px}.fingerprint-list-page .filter-tabs{height:40px}.fingerprint-list-page .tab-btn{padding:8px 12px;font-size:12px}.fingerprint-list-page .vendor-option,.fingerprint-list-page .evenodd-option,.fingerprint-list-page .category-option{padding:10px 12px}.fingerprint-list-page .vendor-option label,.fingerprint-list-page .evenodd-option label,.fingerprint-list-page .category-option label{font-size:16px}.fingerprint-list-page .filtered-note{font-size:12px}.fingerprint-list-page .no-vendors-message{font-size:14px;padding:12px;margin:10px}.fingerprint-list-page .fp-col-status,.fingerprint-list-page .table-body td:nth-child(1){width:100px;min-width:100px}.fingerprint-list-page .fp-col-employee-info,.fingerprint-list-page .table-body td:nth-child(2){width:calc(100% - 100px)}.fingerprint-list-page .table-header th:first-child{width:100px;min-width:100px}.fingerprint-list-page .table-header th.mobile-only{width:calc(100% - 100px)}.fingerprint-list-page .btn-fingerprint{width:80px;height:60px;font-size:16px;padding:4px 8px}.fingerprint-list-page .action-container{padding:8px 4px;min-height:90px}.fingerprint-list-page .mobile-only .employee-info-container{display:flex!important;flex-direction:column!important;gap:1px!important;padding:2px 15px!important;min-height:100px!important;overflow:visible!important}.fingerprint-list-page .mobile-only .info-row-1{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important}.fingerprint-list-page .mobile-only .info-row-2{width:100%!important}.fingerprint-list-page .mobile-only .info-row-2 .employee-name{font-size:23px!important;line-height:1.3!important;word-wrap:break-word!important;word-break:break-word!important;white-space:normal!important;overflow-wrap:break-word!important}.fingerprint-list-page .mobile-only .info-row-3{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important;gap:10px!important}.fingerprint-list-page .mobile-only .birth-cccd-col{flex:1!important}.fingerprint-list-page .mobile-only .vendor-col{flex:0 0 auto!important}.fingerprint-list-page .mobile-only .table-body td,.fingerprint-list-page .table-body .mobile-only{height:auto!important;min-height:100px!important;overflow:visible!important;word-wrap:break-word!important}.fingerprint-list-page .btn-action{width:120px;height:80px;font-size:20px}.fingerprint-list-page .btn-skip{width:120px;height:50px;font-size:18px}.fingerprint-list-page .pagination{gap:8px;padding:8px}.fingerprint-list-page .pagination button{padding:6px 12px;font-size:12px;min-width:60px}.fingerprint-list-page #pageInfo{font-size:12px;padding:6px 12px}.fingerprint-list-page .btn-fingerprint{white-space:pre-line!important;line-height:1.1!important;height:55px!important;width:85px!important;font-size:13px!important}.fingerprint-list-page .action-container{height:auto!important;min-height:80px!important;padding:10px 0!important}.fingerprint-list-page .employee-info-modal-new{width:95vw;max-height:95vh;border-radius:12px}.fingerprint-list-page .desktop-layout{display:none}.fingerprint-list-page .mobile-layout{display:block}.fingerprint-list-page .mobile-layout .mobile-row-2{text-align:center;margin-bottom:16px}.fingerprint-list-page .mobile-layout .mobile-row-3.text-center,.fingerprint-list-page .mobile-layout .mobile-row-4.text-center{text-align:center;margin-bottom:12px}.fingerprint-list-page .mobile-layout .mobile-row-5{text-align:right;margin-top:8px}.fingerprint-list-page .mobile-layout .large-avatar{width:90px;height:120px}.fingerprint-list-page .mobile-layout .no-large-avatar{width:90px;height:120px;font-size:11px}.fingerprint-list-page .cccd-images-row{flex-direction:row;gap:8px}.fingerprint-list-page .cccd-image-item{flex:1;min-width:0}.fingerprint-list-page .cccd-image-item label{font-size:12px}.fingerprint-list-page .cccd-image-container{height:120px}.fingerprint-list-page .detail-row{flex-direction:column;gap:12px}.fingerprint-list-page .detail-group{min-width:unset}.fingerprint-list-page .modal-header-fixed{padding:16px 20px}.fingerprint-list-page .modal-header-fixed h3{font-size:18px}.fingerprint-list-page .modal-container-scrollable{padding:4px}.fingerprint-list-page .modal-footer-fixed{padding:16px 20px}}.staff-dispatch-page{background-color:#f5f5f5;height:calc(100vh - 50px);overflow:hidden;display:flex;flex-direction:column}.sd-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;z-index:1000}.sd-spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top-color:#3b82f6;border-radius:50%;animation:sd-spin .8s linear infinite}@keyframes sd-spin{to{transform:rotate(360deg)}}.sd-empty-state{padding:40px;text-align:center;color:#9ca3af}.sd-empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.sd-empty-state-text{font-size:14px}.sd-tab-navigation{display:flex;gap:0;background:#f9fafb;padding:4px;border-radius:10px;box-shadow:0 1px 3px #00000014;position:relative;flex-shrink:0}.sd-tab-button{flex:1;padding:10px 20px;background:transparent;border:none;border-radius:8px;font-size:15px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;position:relative;z-index:1}.sd-tab-button:hover:not(.sd-active){color:#374151}.sd-tab-button.sd-active{background:white;color:#3b82f6;box-shadow:0 2px 4px #00000014,0 1px 2px #0000000a;transform:scale(1.02)}.sd-tab-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.sd-tab-content:has(.sd-update-position-container){overflow:visible}.sd-tab-content.sd-slide-right{animation:sd-slideInFromRight .4s cubic-bezier(.4,0,.2,1)}.sd-tab-content.sd-slide-left{animation:sd-slideInFromLeft .4s cubic-bezier(.4,0,.2,1)}@keyframes sd-slideInFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes sd-slideInFromLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.sd-stats-panel{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 6px #0000001a;flex-shrink:0}.sd-stats-panel h2{margin:0 0 16px;font-size:20px;font-weight:600;display:flex;align-items:center;gap:8px}.sd-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.sd-stat-item{background:rgba(255,255,255,.1);padding:12px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sd-stat-item .sd-label{font-size:13px;opacity:.9;margin-bottom:4px}.sd-stat-item .sd-value{font-size:24px;font-weight:700}.sd-stat-item .sd-last-update{font-size:12px;opacity:.8;margin-top:8px}.sd-role-badge{display:inline-block;font-size:11px;padding:3px 8px;border-radius:4px;background:rgba(255,255,255,.2);margin-left:8px;font-weight:500;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sd-role-badge.sd-role-admin{background:rgba(255,87,34,.8);color:#fff;font-weight:600}.sd-user-position{display:inline-block;margin-left:4px}.sd-staff-dispatch-grid{display:grid;grid-template-columns:450px 1fr;gap:16px;flex:1;min-height:0;overflow:hidden}.sd-left-column{display:flex;flex-direction:column;gap:16px;min-height:0;overflow:hidden}.sd-pending-box,.sd-working-box{background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.sd-scanned-box{background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;min-height:0;overflow:hidden}.sd-box-header{padding:16px;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.sd-box-header h3{margin:0;font-size:16px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.sd-box-header .sd-count-badge{background:#3b82f6;color:#fff;padding:2px 10px;border-radius:12px;font-size:13px;font-weight:600}.sd-box-header-2-lines{flex-direction:column;align-items:flex-start;gap:12px}.sd-box-header-title{margin:0;width:100%}.sd-box-header-filter{display:flex;align-items:center;justify-content:flex-end;gap:10px;width:100%}.sd-box-content{flex:1 1 auto;overflow-y:auto;min-height:0}.sd-scan-input-area{padding:16px;background:#f0f9ff;border-bottom:2px solid #bfdbfe;flex-shrink:0}.sd-scan-input-row{display:flex;gap:12px;align-items:center}.sd-xuong-select{flex:0 0 200px;padding:10px 12px;border:2px solid #3b82f6;border-radius:6px;font-size:14px;background:white}.sd-xuong-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #3b82f61a}.sd-xuong-select:disabled{background:#f3f4f6;cursor:not-allowed}.sd-scan-input{flex:1;padding:10px 12px;border:2px solid #3b82f6;border-radius:6px;font-size:14px}.sd-scan-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #3b82f61a}.sd-scan-input:disabled{background:#f3f4f6;cursor:not-allowed}.sd-search-input{width:200px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.sd-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.sd-date-filter-label{font-size:14px;font-weight:500;white-space:nowrap}.sd-date-filter{padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:14px;cursor:pointer}.sd-date-filter:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.sd-btn-today{padding:6px 12px;background-color:#4caf50;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.sd-btn-today:hover{background-color:#45a049}.sd-btn-clear-filter{padding:6px 12px;background-color:#ff6b6b;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.sd-btn-clear-filter:hover{background-color:#ee5a52}.sd-table-container{flex:1;overflow:auto;position:relative}.sd-staff-table{width:100%;border-collapse:collapse}.sd-staff-table thead{position:sticky;top:0;background:#b5c3e2;z-index:10}.sd-staff-table th{padding:12px 8px;text-align:center;font-size:13px;font-weight:600;color:#070c18;border-bottom:2px solid #e5e7eb;border-right:1px solid #e5e7eb;border-left:1px solid #e5e7eb}.sd-staff-table th:first-child{border-left:none}.sd-staff-table th:last-child{border-right:none}.sd-staff-table td{padding:12px 8px;border-bottom:1px solid #e5e7eb;border-right:1px solid #f3f4f6;border-left:1px solid #f3f4f6;font-size:14px;vertical-align:middle}.sd-staff-table td:first-child{border-left:none}.sd-staff-table td:last-child{border-right:none}.sd-staff-table tbody tr:hover{background-color:#f9fafb}.sd-staff-table .sd-col-stt{width:50px;text-align:center;font-weight:500;color:#6b7280}.sd-no-data{padding:40px;text-align:center;color:#9ca3af;font-size:14px}.sd-staff-info{display:flex;align-items:center;gap:12px}.sd-staff-avatar{width:60px;height:80px;-o-object-fit:cover;object-fit:cover;border-radius:6px;border:1px solid #e5e7eb;flex-shrink:0}.sd-staff-avatar-placeholder{width:60px;height:80px;background:#e5e7eb;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:24px;flex-shrink:0}.sd-staff-details{flex:1;min-width:0}.sd-staff-name{font-weight:600;color:#1f2937;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-staff-code{color:#6b7280;font-size:13px}.sd-staff-position{color:#3b82f6;font-size:12px;margin-top:2px}.sd-edit-select,.sd-edit-input{width:100%;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.sd-edit-select:focus,.sd-edit-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.sd-scanned-item{padding:12px;background:#f9fafb;border-radius:8px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease}.sd-scanned-item:hover{background:#f3f4f6;transform:translate(-2px)}.sd-scanned-item-info{flex:1;min-width:0}.sd-scanned-item-name{font-weight:600;color:#1f2937;font-size:13px;margin-bottom:4px}.sd-scanned-item-details{font-size:11px;color:#6b7280}.sd-scanned-footer{padding:16px;border-top:2px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.sd-footer-info{display:flex;gap:12px;color:#6b7280;font-size:14px;font-weight:500}.sd-footer-info span{flex-shrink:0}.sd-footer-actions{display:flex;gap:12px;align-items:center}.sd-update-position-container{flex:1;display:flex;flex-direction:column;background:white;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;min-height:0;max-height:100%}.sd-update-position-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:10px 24px;border-bottom:3px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-shrink:0}.sd-update-position-title-wrapper{flex:1;display:flex;flex-direction:column;gap:4px;text-align:left;align-items:flex-start}.sd-update-position-header h2{margin:0;font-size:22px;font-weight:600;line-height:1.3;text-align:left}.sd-update-position-subtitle{margin:0;font-size:14px;opacity:.9;line-height:1.4;text-align:left}.sd-update-position-filter-controls{display:flex;gap:16px;flex-shrink:0}.sd-update-position-content{flex:1;overflow-y:auto;min-height:0;max-height:100%}.sd-update-position-content .sd-staff-table,.sd-update-position-content .sd-edit-input,.sd-update-position-content .sd-edit-select{width:100%}.sd-update-position-footer{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#f9fafb;border-top:2px solid #e5e7eb;gap:20px;flex-shrink:0}.sd-btn-select{padding:6px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.sd-btn-select:hover{background:#2563eb;transform:translateY(-1px)}.sd-btn-select:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.sd-btn-history{padding:6px 12px;background:#8b5cf6;color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;margin-left:8px;transition:all .2s}.sd-btn-history:hover{background:#7c3aed}.sd-btn-remove{padding:6px 12px;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.sd-btn-remove:hover{background:#dc2626}.sd-btn-confirm-scan{padding:10px 24px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.sd-btn-confirm-scan:hover{background:#059669}.sd-btn-confirm-scan:disabled{background:#d1d5db;cursor:not-allowed}.sd-btn-confirm-receive{padding:12px 32px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.sd-btn-confirm-receive:hover{background:#059669;transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.sd-btn-confirm-receive:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.sd-btn-filter{padding:12px 28px;background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.6);border-radius:10px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;min-width:180px;box-shadow:0 2px 8px #00000026}.sd-btn-filter:hover{background:rgba(255,255,255,.3);border-color:#fffc;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.sd-btn-filter.sd-active{background:white;color:#667eea;border-color:#fff;box-shadow:0 6px 16px #00000040;font-weight:700}.sd-btn-filter.sd-active:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.sd-btn-export-excel{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #3b82f64d}.sd-btn-export-excel:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.sd-btn-save-all{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #10b9814d}.sd-btn-save-all:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.sd-btn-save-all:disabled{background:#d1d5db;cursor:not-allowed;box-shadow:none}.sd-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;animation:sd-fadeIn .2s ease-out}@keyframes sd-fadeIn{0%{opacity:0}to{opacity:1}}.sd-modal-content{background:white;border-radius:12px;width:90%;max-width:900px;max-height:80vh;display:flex;flex-direction:column;animation:sd-slideUp .3s ease-out}@keyframes sd-slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.sd-modal-header{padding:20px;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.sd-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#1f2937}.sd-modal-close{background:none;border:none;font-size:28px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.sd-modal-close:hover{background:#f3f4f6;color:#6b7280}.sd-modal-body{padding:20px;overflow-y:auto;flex:1}.sd-toast{position:fixed;top:80px;right:20px;background:white;border-radius:8px;padding:16px 20px;box-shadow:0 4px 12px #00000026;z-index:9999;min-width:300px;animation:sd-slideIn .3s ease-out}@keyframes sd-slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.sd-toast.sd-success{border-left:4px solid #10b981}.sd-toast.sd-error{border-left:4px solid #ef4444}.sd-toast.sd-info{border-left:4px solid #3b82f6}.sd-toast-content{display:flex;align-items:flex-start;gap:12px}.sd-toast-icon{font-size:20px;margin-top:2px}.sd-toast-message{flex:1;font-size:14px;color:#1f2937}.sd-toast-close{background:none;border:none;color:#9ca3af;cursor:pointer;padding:0;font-size:18px}.sd-toast-close:hover{color:#6b7280}@media (max-width: 1200px){.sd-staff-dispatch-grid{grid-template-columns:400px 1fr}}@media (max-width: 992px){.sd-staff-dispatch-grid{display:flex;flex-direction:column;gap:16px;height:auto;overflow-y:visible}.sd-left-column{display:flex;flex-direction:column;gap:12px;order:2;min-height:auto;overflow-y:visible}.sd-scanned-box{order:1;height:auto;min-height:400px;overflow-y:visible}.sd-pending-box,.sd-working-box{height:auto;min-height:300px;max-height:500px;overflow-y:visible}.sd-box-content{overflow-y:auto;max-height:400px}}@media (max-width: 768px){.staff-dispatch-page{height:auto;min-height:100vh;overflow-y:auto}.sd-tab-navigation{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:4px;padding:4px}.sd-tab-navigation::-webkit-scrollbar{display:none}.sd-tab-button{flex:0 0 auto;white-space:nowrap;padding:14px 20px;font-size:16px;min-width:-moz-fit-content;min-width:fit-content}.sd-stats-panel{padding:16px}.sd-stats-grid{grid-template-columns:1fr;gap:12px}.sd-stat-item{padding:10px}.sd-staff-dispatch-grid{display:flex!important;flex-direction:column!important;gap:16px;height:auto!important;overflow-y:visible!important}.sd-left-column{display:flex!important;flex-direction:column!important;gap:12px;width:100%;order:2!important;overflow-y:visible}.sd-scanned-box{order:1!important;overflow-y:visible;min-height:300px;max-height:none;height:auto;width:100%}.sd-pending-box,.sd-working-box{overflow-y:visible;min-height:300px;max-height:500px;height:auto;width:100%}.sd-box-content{overflow-y:auto;max-height:400px;flex:1 1 auto}.sd-scan-input-row{flex-direction:column;gap:8px}.sd-xuong-select,.sd-scan-input,.sd-btn-confirm-scan{width:100%;flex:1 1 auto}.sd-staff-table{font-size:12px}.sd-staff-table th,.sd-staff-table td{padding:8px 4px}.sd-staff-avatar{width:50px;height:65px}.sd-staff-avatar-placeholder{width:50px;height:65px;font-size:20px}.sd-staff-name{font-size:13px}.sd-staff-code{font-size:11px}.sd-update-position-container{overflow-y:visible;min-height:auto}.sd-update-position-header{flex-direction:column;gap:8px;padding:10px 12px}.sd-update-position-header h2{font-size:14px!important;margin:0}.sd-update-position-subtitle{font-size:11px!important;margin-top:2px}.sd-update-position-filter-controls{width:100%;flex-direction:row!important;gap:6px;justify-content:space-between}.sd-btn-filter{flex:1;min-width:auto;padding:6px 8px;font-size:11px!important;white-space:nowrap}.sd-update-position-content{overflow-x:auto;overflow-y:auto;max-height:none}.sd-update-position-content .sd-staff-table{width:auto;min-width:1200px}.sd-update-position-content .sd-edit-input,.sd-update-position-content .sd-edit-select{min-width:180px}.sd-update-position-footer{flex-direction:column;gap:8px;padding:12px}.sd-footer-info{display:flex;flex-direction:row!important;flex-wrap:nowrap;gap:4px;font-size:11px;white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.sd-footer-actions{width:100%;flex-direction:row!important;gap:6px}.sd-btn-export-excel,.sd-btn-save-all{flex:1;padding:8px 10px;font-size:11px;white-space:nowrap}.sd-btn-select,.sd-btn-history,.sd-btn-remove{padding:4px 8px;font-size:11px}.sd-btn-confirm-receive{width:100%;justify-content:center}.sd-modal-content{width:95%;max-height:90vh}.sd-modal-header,.sd-modal-body{padding:16px}}.cpn-header{background:white;padding:10px 32px;border-bottom:2px solid #e5e7eb}.cpn-header-title-wrapper{display:flex;align-items:center;gap:16px}.cpn-header-icon{width:32px;height:32px;color:#2563eb}.cpn-header-title{margin:0;font-size:28px;font-weight:700;color:#1f2937}.cpn-header-badges{display:flex;gap:12px;margin-left:auto}.cpn-header-badge{padding:6px 16px;border-radius:20px;font-size:14px;font-weight:600}.cpn-header-badge-total{background:#dbeafe;color:#1e40af}.cpn-header-badge-filtered{background:#fef3c7;color:#92400e}@media (max-width: 768px){.cpn-header{padding:16px 20px}.cpn-header-title{font-size:20px}.cpn-header-badges{flex-direction:column;gap:8px}}.cpn-tabnavigation-container{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #e5e7eb;padding:0 32px;gap:16px}.cpn-tabnavigation-tabs{display:flex;gap:8px}.cpn-tabnavigation-right-controls{display:flex;gap:16px;margin-bottom:2px}.cpn-tabnavigation-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:15px;font-weight:500;color:#6b7280;transition:all .2s ease;position:relative;bottom:-2px}.cpn-tabnavigation-tab:hover{color:#1f2937;background:#f9fafb}.cpn-tabnavigation-tab.active{color:#2563eb;border-bottom-color:#2563eb;background:#eff6ff}.cpn-tabnavigation-tab svg{width:18px;height:18px}@media (max-width: 1024px){.cpn-tabnavigation-container{flex-direction:column;align-items:stretch;padding:0 16px;gap:12px}.cpn-tabnavigation-tabs{justify-content:flex-start;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.cpn-tabnavigation-tabs::-webkit-scrollbar{display:none}.cpn-tabnavigation-right-controls{flex-direction:column;margin-bottom:8px}}@media (max-width: 768px){.cpn-tabnavigation-container{padding:0 12px;gap:8px}.cpn-tabnavigation-tabs{gap:6px;scroll-behavior:smooth;flex-wrap:nowrap}.cpn-tabnavigation-tab{padding:10px 16px;font-size:14px;flex-shrink:0;white-space:nowrap}.cpn-tabnavigation-tab span{display:inline}.cpn-tabnavigation-tab svg{width:16px;height:16px}}.cpn-statisticstab-container{padding:10px;background:#f9fafb;min-height:600px}.cpn-statisticstab-tables-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.cpn-statisticstab-table-card{background:white;border-radius:12px;padding:16px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;max-height:730px;display:flex;flex-direction:column}.cpn-statisticstab-table-title{margin:0 0 20px;font-size:18px;font-weight:600;color:#1f2937;padding-bottom:16px;border-bottom:2px solid #e5e7eb;flex-shrink:0}.cpn-statisticstab-table-wrapper{overflow-y:auto;flex:1}.cpn-statisticstab-table{width:100%;border-collapse:collapse}.cpn-statisticstab-table thead{background:#f9fafb}.cpn-statisticstab-table thead th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:#4b5563;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}.cpn-statisticstab-table thead th:last-child{text-align:right}.cpn-statisticstab-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .2s ease}.cpn-statisticstab-table tbody tr:hover{background:#f9fafb}.cpn-statisticstab-table tbody td{padding:14px 16px;font-size:14px;color:#374151}.cpn-statisticstab-table tbody td:first-child{font-weight:500;color:#1f2937}.cpn-statisticstab-table tbody td:nth-child(2){font-weight:600;color:#2563eb}.cpn-statisticstab-table tbody td:last-child{text-align:right;font-weight:500;color:#059669}.cpn-statisticstab-chart-container{border-top:2px solid #e5e7eb}.cpn-statisticstab-chart-container .recharts-legend-wrapper{white-space:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important}.cpn-statisticstab-chart-container .recharts-legend-wrapper .recharts-default-legend{display:flex!important;flex-wrap:nowrap!important;justify-content:center!important;gap:8px!important}.cpn-statisticstab-chart-container .recharts-legend-wrapper .recharts-legend-item{flex-shrink:0!important}.cpn-statisticstab-chart-selector{display:flex;gap:8px;justify-content:center;padding:5px;background:#f9fafb;border-radius:8px}.cpn-statisticstab-chart-type-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:white;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .3s ease;color:#6b7280}.cpn-statisticstab-chart-type-btn:hover{border-color:#3b82f6;color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 8px #3b82f633}.cpn-statisticstab-chart-type-btn.active{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-color:#3b82f6;color:#fff;box-shadow:0 4px 12px #3b82f666}.cpn-statisticstab-chart-type-btn.active:hover{transform:translateY(-2px)}@media (max-width: 768px){.cpn-statisticstab-container{padding:16px 20px}.cpn-statisticstab-summary-cards,.cpn-statisticstab-tables-grid{grid-template-columns:1fr}}.cpn-activefilters-container{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:6px;background:#fffbeb;border:1px solid #fbbf24;border-radius:8px;margin-bottom:2px}.cpn-activefilters-label{font-size:13px;font-weight:600;color:#92400e}.cpn-activefilters-tag{display:flex;align-items:center;gap:6px;padding:6px 12px;background:white;border:1px solid #d1d5db;border-radius:6px;font-size:13px}.cpn-activefilters-tag-label{font-weight:500;color:#6b7280}.cpn-activefilters-tag-value{font-weight:600;color:#1f2937}.cpn-activefilters-tag-remove{background:#ef4444;border:none;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .2s ease}.cpn-activefilters-tag-remove:hover{background:#dc2626}.cpn-activefilters-clear-all-btn{padding:6px 16px;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.cpn-activefilters-clear-all-btn:hover{background:#dc2626}@media (max-width: 768px){.cpn-activefilters-container{font-size:12px}}.cpn-imagemodal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .2s ease}.cpn-imagemodal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;animation:zoomIn .3s ease}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.cpn-imagemodal-close{position:absolute;top:-40px;right:0;background:white;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10000;color:#1f2937}.cpn-imagemodal-close:hover{background:#ef4444;color:#fff;transform:scale(1.1)}.cpn-imagemodal-img{max-width:100%;max-height:calc(90vh - 60px);-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 10px 50px #00000080}.cpn-imagemodal-caption{margin-top:16px;padding:8px 16px;background:rgba(255,255,255,.95);border-radius:6px;color:#1f2937;font-size:14px;font-weight:500;text-align:center}@media (max-width: 768px){.cpn-imagemodal-overlay{padding:10px}.cpn-imagemodal-close{top:-50px;width:40px;height:40px}.cpn-imagemodal-img{max-height:calc(90vh - 80px)}.cpn-imagemodal-caption{font-size:13px;padding:6px 12px}}.cpn-columnfilter-container{position:relative;display:flex;align-items:center;flex-shrink:0}.cpn-columnfilter-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid #d1d5db;border-radius:4px;background:white;color:#6b7280;cursor:pointer;transition:all .2s ease;padding:0;position:relative}.cpn-columnfilter-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;background:#ef4444;color:#fff;font-size:10px;font-weight:600;border-radius:8px;display:flex;align-items:center;justify-content:center;line-height:1}.cpn-columnfilter-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.cpn-columnfilter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.cpn-columnfilter-btn.active:hover{background:#2563eb;border-color:#2563eb}.cpn-columnfilter-dropdown{min-width:250px;max-width:350px;background:white;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #00000026;animation:cpnColumnfilterSlideDown .2s ease}@keyframes cpnColumnfilterSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.cpn-columnfilter-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:8px 8px 0 0}.cpn-columnfilter-title{font-size:14px;font-weight:600;color:#1f2937}.cpn-columnfilter-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:4px;transition:all .2s ease}.cpn-columnfilter-close:hover{background:#e5e7eb;color:#374151}.cpn-columnfilter-body{padding:16px;max-height:300px;overflow-y:auto}.cpn-columnfilter-checkbox-list{display:flex;flex-direction:column;gap:8px}.cpn-columnfilter-checkbox-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;cursor:pointer;transition:background .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cpn-columnfilter-checkbox-item:hover{background:#f3f4f6}.cpn-columnfilter-checkbox-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.cpn-columnfilter-checkbox-label{flex:1;font-size:14px;color:#1f2937;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.cpn-columnfilter-count{margin-left:8px;font-size:12px;color:#6b7280;font-weight:500}.cpn-columnfilter-empty{padding:16px;text-align:center;color:#9ca3af;font-size:14px}.cpn-columnfilter-input,.cpn-columnfilter-select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1f2937;transition:all .2s ease}.cpn-columnfilter-input:focus,.cpn-columnfilter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.cpn-columnfilter-input::-moz-placeholder{color:#9ca3af}.cpn-columnfilter-input::placeholder{color:#9ca3af}.cpn-columnfilter-footer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 8px 8px}.cpn-columnfilter-action-btn{flex:1;padding:8px 16px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.cpn-columnfilter-clear-btn{background:white;color:#6b7280}.cpn-columnfilter-clear-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.cpn-columnfilter-apply-btn{background:#3b82f6;color:#fff;border-color:#3b82f6}.cpn-columnfilter-apply-btn:hover{background:#2563eb;border-color:#2563eb}@media (max-width: 768px){.cpn-columnfilter-dropdown{min-width:200px;right:auto;left:50%;transform:translate(-50%)}.cpn-columnfilter-btn{width:20px;height:20px}}.cpn-stafftable-wrapper{overflow:visible;border-radius:8px;border:2px solid #e5e7eb;width:100%;max-height:100%}.cpn-stafftable-table{width:-moz-max-content;width:max-content;min-width:100%;border-collapse:collapse;background:white}.cpn-stafftable-table thead{background:#e5e7eb;position:sticky;top:-6px;z-index:20}.cpn-stafftable-table th{padding:14px 12px;text-align:center;font-size:13px;font-weight:600;color:#1f2937;background:#e5e7eb;border-bottom:2px solid #d1d5db;border-left:1px solid #f3f4f6;border-right:1px solid #f3f4f6;white-space:nowrap;min-width:100px;position:relative}.cpn-stafftable-th-with-filter{padding:8px 12px!important}.cpn-stafftable-th-wrapper{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.cpn-stafftable-th-content{display:flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;flex:1;min-width:0}.cpn-stafftable-sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .2s ease}.cpn-stafftable-sortable:hover{background:#d1d5db;color:#1f2937}.cpn-stafftable-stt{width:50px!important;min-width:50px!important;max-width:50px!important;padding:14px 4px!important;text-align:center!important;background:#e5e7eb;border-right:1px solid #f3f4f6!important}.cpn-stafftable-table tbody .cpn-stafftable-stt{background:white}.cpn-stafftable-table tbody tr:hover .cpn-stafftable-stt{background:#f9fafb}.cpn-stafftable-actions{width:40px!important;min-width:40px!important;max-width:40px!important;text-align:center!important;padding:8px 2px!important;overflow:visible!important;position:relative}.cpn-stafftable-actions-sticky{position:sticky!important;left:-3px!important;z-index:16!important;background:#e5e7eb!important;border-right:2px solid #d1d5db!important;box-shadow:2px 0 4px #0000000d;overflow:visible!important}.cpn-stafftable-table tbody .cpn-stafftable-actions-sticky{background:white!important;overflow:visible!important;z-index:50!important}.cpn-stafftable-table tbody tr:hover .cpn-stafftable-actions-sticky{background:#f9fafb!important}.cpn-stafftable-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .2s ease;cursor:pointer;position:relative}.cpn-stafftable-table tbody tr:hover{background:#f9fafb}.cpn-stafftable-table td{padding:4px 10px;font-size:14px;color:#1f2937;text-align:center;min-width:100px;max-width:500px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid #f3f4f6}.cpn-stafftable-table td.allow-wrap{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.cpn-stafftable-name,.cpn-stafftable-address,.cpn-stafftable-note{text-align:left!important}.cpn-stafftable-name{font-weight:600;color:#2563eb}.cpn-stafftable-table td[title]{position:relative}.cpn-stafftable-table td[title]:hover{background:#f0f9ff;border-color:#3b82f6}.cpn-stafftable-name-with-avatar{display:inline-flex;align-items:center;gap:12px;max-width:500px;flex-wrap:nowrap;white-space:nowrap}.cpn-stafftable-avatar{width:36px;height:48px;-o-object-fit:cover;object-fit:cover;border-radius:4px;border:1px solid #e5e7eb;flex-shrink:0;cursor:pointer;transition:transform .2s ease,border-color .2s ease}.cpn-stafftable-avatar:hover{transform:scale(1.05);border-color:#3b82f6}.cpn-stafftable-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cpn-stafftable-cccd-with-images{display:inline-flex;align-items:center;gap:12px;max-width:500px}.cpn-stafftable-cccd-images{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.cpn-stafftable-cccd-image{width:45px;height:28px;-o-object-fit:cover;object-fit:cover;border-radius:3px;border:1px solid #e5e7eb;cursor:pointer;transition:transform .2s ease}.cpn-stafftable-cccd-image:hover{transform:scale(1.05);border-color:#3b82f6}.cpn-stafftable-cccd-number{font-family:Courier New,monospace;font-weight:500;white-space:nowrap}.cpn-stafftable-gender{display:inline-flex;align-items:center;gap:6px}.cpn-stafftable-gender-icon{font-size:16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%}.cpn-stafftable-gender-icon.male{color:#3b82f6;background:#dbeafe}.cpn-stafftable-gender-icon.female{color:#ec4899;background:#fce7f3}.cpn-stafftable-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.cpn-stafftable-badge-contract{background:#dbeafe;color:#1e40af}.cpn-stafftable-badge-status{background:#d1fae5;color:#065f46}.cpn-stafftable-badge-approval{background:#fef3c7;color:#92400e}.cpn-stafftable-action-dropdown{position:relative;display:inline-block;z-index:10}.cpn-stafftable-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #d1d5db;border-radius:6px;background:white;cursor:pointer;transition:all .2s ease;color:#6b7280}.cpn-stafftable-action-btn:hover,.cpn-stafftable-action-btn-settings:hover{background:#3b82f6;color:#fff;border-color:#3b82f6}.cpn-stafftable-action-menu{position:fixed;background:white;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 8px 24px #0003;min-width:200px;z-index:9999;padding:4px 0;animation:cpnStafftableActionMenuSlideIn .15s ease}@keyframes cpnStafftableActionMenuSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.cpn-stafftable-action-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;border:none;background:white;cursor:pointer;font-size:13px;color:#1f2937;text-align:left;transition:all .15s ease;white-space:nowrap}.cpn-stafftable-action-menu-item:hover{background:#f3f4f6;color:#3b82f6}.cpn-stafftable-action-menu-item svg{flex-shrink:0;color:#6b7280}.cpn-stafftable-action-menu-item:hover svg{color:#3b82f6}.cpn-stafftable-loading,.cpn-stafftable-empty{text-align:center;padding:60px 20px}.cpn-stafftable-loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:cpnStafftableSpin 1s linear infinite;margin:0 auto 16px}@keyframes cpnStafftableSpin{to{transform:rotate(360deg)}}.cpn-stafftable-empty p{font-size:16px;color:#9ca3af}@media (max-width: 1024px){.cpn-stafftable-table th,.cpn-stafftable-table td{padding:10px 8px;font-size:13px}.cpn-stafftable-avatar{width:30px;height:40px}.cpn-stafftable-name-with-avatar{gap:8px}.cpn-stafftable-cccd-image{width:38px;height:24px}.cpn-stafftable-cccd-with-images{gap:8px}}@media (max-width: 768px){.cpn-stafftable-table th,.cpn-stafftable-table td{padding:8px 6px;font-size:12px}.cpn-stafftable-badge{font-size:11px;padding:3px 8px}.cpn-stafftable-actions-sticky{left:-10px!important}.cpn-stafftable-avatar{width:24px;height:32px}.cpn-stafftable-name-with-avatar{gap:6px}.cpn-stafftable-cccd-image{width:32px;height:20px}.cpn-stafftable-cccd-with-images{gap:6px}.cpn-stafftable-table td{max-width:250px}}.cpn-pagination-container{display:flex;justify-content:space-between;align-items:center;padding:5px 20px;margin-top:2px;border-top:2px solid #e5e7eb}.cpn-pagination-info{font-size:14px;color:#6b7280;font-weight:500}.cpn-pagination-controls{display:flex;gap:8px;align-items:center}.cpn-pagination-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:2px solid #e5e7eb;border-radius:6px;background:white;cursor:pointer;transition:all .2s ease}.cpn-pagination-btn:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.cpn-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.cpn-pagination-current{padding:0 16px;font-size:14px;font-weight:600;color:#1f2937}.cpn-pagination-per-page{display:flex;align-items:center;gap:8px}.cpn-pagination-per-page label{font-size:14px;color:#6b7280;font-weight:500}.cpn-pagination-select{padding:6px 12px;border:2px solid #e5e7eb;border-radius:6px;font-size:14px;cursor:pointer}@media (max-width: 768px){.cpn-pagination-container{flex-wrap:wrap;padding:8px 12px;gap:8px;align-items:center}.cpn-pagination-info{flex:1 1 auto;font-size:12px;min-width:0;order:1}.cpn-pagination-per-page{flex:0 0 auto;order:2;gap:4px}.cpn-pagination-per-page label{font-size:12px}.cpn-pagination-select{padding:4px 8px;font-size:12px;min-width:50px}.cpn-pagination-controls{flex:1 0 100%;order:3;justify-content:center;gap:6px}.cpn-pagination-btn{width:32px;height:32px;border-width:1px}.cpn-pagination-btn svg{width:14px;height:14px}.cpn-pagination-current{padding:0 8px;font-size:12px}}.cpn-searchbar-container{position:relative;flex:1;max-width:500px}.cpn-searchbar-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.cpn-searchbar-input{width:100%;padding:10px 40px 10px 44px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;transition:all .2s ease}.cpn-searchbar-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.cpn-searchbar-clear-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:#ef4444;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .2s ease}.cpn-searchbar-clear-btn:hover{background:#dc2626}@media (max-width: 768px){.cpn-searchbar-container{max-width:100%}}.cpn-filtercontrols-container{display:flex;gap:12px;position:relative}.cpn-filtercontrols-filter-wrapper,.cpn-filtercontrols-column-wrapper{position:relative}.cpn-filtercontrols-filter-btn,.cpn-filtercontrols-column-selector-btn,.cpn-filtercontrols-export-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:2px solid #e5e7eb;border-radius:8px;background:white;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.cpn-filtercontrols-filter-btn:hover,.cpn-filtercontrols-column-selector-btn:hover{border-color:#3b82f6;color:#3b82f6}.cpn-filtercontrols-export-btn{background:#10b981;color:#fff;border-color:#10b981}.cpn-filtercontrols-export-btn:hover{background:#059669}.cpn-filtercontrols-filter-menu,.cpn-filtercontrols-column-selector-menu{position:absolute;top:100%;right:0;margin-top:8px;background:white;border:2px solid #e5e7eb;border-radius:8px;padding:16px;min-width:300px;max-height:500px;overflow-y:auto;box-shadow:0 4px 12px #00000026;z-index:100}.cpn-filtercontrols-filter-menu h4,.cpn-filtercontrols-column-selector-menu h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#1f2937}.cpn-filtercontrols-filter-item{margin-bottom:16px}.cpn-filtercontrols-filter-item label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#4b5563}.cpn-filtercontrols-filter-item select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.cpn-filtercontrols-column-checkbox{display:flex;align-items:center;gap:8px;padding:8px 0;cursor:pointer;transition:background .2s ease}.cpn-filtercontrols-column-checkbox:hover{background:#f3f4f6;padding-left:8px;padding-right:8px;border-radius:6px}.cpn-filtercontrols-column-checkbox input{cursor:pointer;width:16px;height:16px;accent-color:#3b82f6}.cpn-filtercontrols-column-checkbox input:disabled{cursor:not-allowed;opacity:.5}.cpn-filtercontrols-column-checkbox-all{border-bottom:2px solid #e5e7eb;padding-bottom:12px;margin-bottom:8px}.cpn-filtercontrols-column-checkbox-all:hover{background:#eff6ff}.cpn-filtercontrols-column-divider{height:1px;background:#e5e7eb;margin:8px 0}@media (max-width: 768px){.cpn-filtercontrols-container{flex-wrap:wrap;gap:8px}.cpn-filtercontrols-filter-btn,.cpn-filtercontrols-column-selector-btn,.cpn-filtercontrols-export-btn{padding:10px;min-width:auto}.cpn-filtercontrols-filter-btn span,.cpn-filtercontrols-column-selector-btn span,.cpn-filtercontrols-export-btn span{display:none}.cpn-filtercontrols-filter-menu,.cpn-filtercontrols-column-selector-menu{right:0;left:auto;min-width:280px;width:calc(100vw - 32px);max-width:300px;max-height:70vh}}@media (max-width: 480px){.cpn-filtercontrols-filter-btn,.cpn-filtercontrols-column-selector-btn,.cpn-filtercontrols-export-btn{padding:8px}}.cpn-staffdetailmodal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;z-index:999;display:flex;justify-content:flex-end;align-items:stretch;pointer-events:none}.cpn-staffdetailmodal-container{width:600px;max-width:100%;height:calc(100vh - 110px);margin-top:110px;border:1px solid #c8d6f1;background:white;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto}.cpn-staffdetailmodal-container.initial-open{animation:cpn-staffdetailmodal-slide-in .4s cubic-bezier(.4,0,.2,1)}@keyframes cpn-staffdetailmodal-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.cpn-staffdetailmodal-header{display:flex;align-items:center;justify-content:space-between;padding:3px 24px;border-bottom:2px solid #e5e7eb;background:#f9fafb;flex-shrink:0;height:53px}.cpn-staffdetailmodal-title-wrapper{flex:1}.cpn-staffdetailmodal-title{font-size:18px;font-weight:700;color:#1f2937;margin:0;line-height:1.2}.cpn-staffdetailmodal-subtitle{font-size:14px;color:#6b7280;margin:2px 0 0;line-height:1.2}.cpn-staffdetailmodal-header-actions{display:flex;gap:8px;align-items:center}.cpn-staffdetailmodal-header-btn{width:32px;height:32px;border:1px solid #d1d5db;border-radius:6px;background:white;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s ease;flex-shrink:0}.cpn-staffdetailmodal-header-btn svg{width:18px;height:18px}.cpn-staffdetailmodal-edit-btn:hover{background:#3b82f6;color:#fff;border-color:#3b82f6}.cpn-staffdetailmodal-close-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444}.cpn-staffdetailmodal-content{flex:1;overflow-y:auto;padding:24px;scroll-behavior:smooth}.cpn-staffdetailmodal-content::-webkit-scrollbar{width:8px}.cpn-staffdetailmodal-content::-webkit-scrollbar-track{background:#f3f4f6}.cpn-staffdetailmodal-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.cpn-staffdetailmodal-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.cpn-staffdetailmodal-footer{flex-shrink:0;padding:5px 20px;border-top:2px solid #e5e7eb;background:#f9fafb;height:51px;display:flex;align-items:center}.cpn-staffdetailmodal-footer-buttons{display:flex;gap:12px;justify-content:flex-end;width:100%;flex-wrap:nowrap}.cpn-staffdetailmodal-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;border:2px solid transparent;white-space:nowrap;height:36px;flex-shrink:0}.cpn-staffdetailmodal-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.cpn-staffdetailmodal-btn:active{transform:translateY(0)}.cpn-staffdetailmodal-btn-primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.cpn-staffdetailmodal-btn-primary:hover{background:#2563eb;border-color:#2563eb}.cpn-staffdetailmodal-btn-secondary{background:white;color:#6b7280;border-color:#d1d5db}.cpn-staffdetailmodal-btn-secondary:hover{background:#f9fafb;color:#1f2937;border-color:#9ca3af}.cpn-staffdetailmodal-btn svg{flex-shrink:0}.cpn-staffdetailmodal-section{margin-bottom:32px}.cpn-staffdetailmodal-section:last-child{margin-bottom:0}.cpn-staffdetailmodal-section-title{font-size:16px;font-weight:700;color:#1f2937;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #3b82f6;display:inline-block}.cpn-staffdetailmodal-subsection{margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.cpn-staffdetailmodal-subsection-title{font-size:14px;font-weight:600;color:#374151;margin-bottom:12px;padding-left:8px;border-left:3px solid #3b82f6}.cpn-staffdetailmodal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.cpn-staffdetailmodal-info-with-avatar{display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:start}.cpn-staffdetailmodal-avatar-column{display:flex;flex-direction:column;align-items:center}.cpn-staffdetailmodal-info-column{flex:1}.cpn-staffdetailmodal-info-list{display:flex;flex-direction:column;gap:12px}.cpn-staffdetailmodal-cccd-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.cpn-staffdetailmodal-table-container{overflow-x:auto;border-radius:6px;border:1px solid #e5e7eb}.cpn-staffdetailmodal-table{width:100%;border-collapse:collapse;font-size:13px;background:white}.cpn-staffdetailmodal-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.cpn-staffdetailmodal-table th{padding:10px 12px;text-align:left;font-weight:600;color:#374151;white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.cpn-staffdetailmodal-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .15s ease}.cpn-staffdetailmodal-table tbody tr:hover{background:#f9fafb}.cpn-staffdetailmodal-table tbody tr:last-child{border-bottom:none}.cpn-staffdetailmodal-table td{padding:10px 12px;color:#6b7280}.cpn-staffdetailmodal-table td:first-child{font-weight:500;color:#374151}.cpn-staffdetailmodal-item{display:flex;flex-direction:column;gap:6px}.cpn-staffdetailmodal-item.full-width{grid-column:1 / -1}.cpn-staffdetailmodal-label{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.cpn-staffdetailmodal-value{font-size:15px;color:#1f2937;padding:10px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;min-height:42px;display:flex;align-items:center;word-break:break-word}.cpn-staffdetailmodal-item-inline{display:flex;gap:8px;align-items:baseline;line-height:1.8}.cpn-staffdetailmodal-inline-label{font-size:15px;font-weight:600;color:#4b5563;min-width:-moz-fit-content;min-width:fit-content}.cpn-staffdetailmodal-inline-value{font-size:18px;color:#1f2937;font-weight:500}.cpn-staffdetailmodal-images-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.cpn-staffdetailmodal-image-item{display:flex;flex-direction:column;gap:8px}.cpn-staffdetailmodal-image-item label{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.cpn-staffdetailmodal-avatar{width:100%;max-width:190px;height:auto;aspect-ratio:3 / 4;-o-object-fit:cover;object-fit:cover;border-radius:8px;border:2px solid #e5e7eb;cursor:pointer;transition:transform .2s ease}.cpn-staffdetailmodal-avatar:hover{transform:scale(1.05);border-color:#3b82f6}.cpn-staffdetailmodal-cccd-image{width:100%;max-width:320px;height:auto;aspect-ratio:1.59 / 1;-o-object-fit:cover;object-fit:cover;border-radius:8px;border:2px solid #e5e7eb;cursor:pointer;transition:transform .2s ease}.cpn-staffdetailmodal-cccd-image:hover{transform:scale(1.05);border-color:#3b82f6}@media (max-width: 1024px){.cpn-staffdetailmodal-container{width:800px}.cpn-staffdetailmodal-grid{grid-template-columns:repeat(2,1fr)}.cpn-staffdetailmodal-header{padding:16px 20px}.cpn-staffdetailmodal-content{padding:20px}.cpn-staffdetailmodal-section{margin-bottom:28px}}@media (max-width: 768px){.cpn-staffdetailmodal-container{width:100%;height:calc(100vh - 96px);margin-top:96px}.cpn-staffdetailmodal-info-with-avatar{grid-template-columns:1fr;gap:16px}.cpn-staffdetailmodal-avatar-column{justify-content:center}.cpn-staffdetailmodal-cccd-grid{grid-template-columns:1fr}.cpn-staffdetailmodal-header{padding:10px 16px;min-height:50px}.cpn-staffdetailmodal-title{font-size:18px}.cpn-staffdetailmodal-subtitle{font-size:13px}.cpn-staffdetailmodal-close-btn{width:36px;height:36px}.cpn-staffdetailmodal-content{padding:16px}.cpn-staffdetailmodal-footer{padding:8px 12px}.cpn-staffdetailmodal-footer-buttons{gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.cpn-staffdetailmodal-footer-buttons::-webkit-scrollbar{display:none}.cpn-staffdetailmodal-btn{padding:8px 12px;font-size:12px;gap:4px;height:34px}.cpn-staffdetailmodal-btn svg{width:16px;height:16px}.cpn-staffdetailmodal-grid{grid-template-columns:1fr;gap:12px}.cpn-staffdetailmodal-section{margin-bottom:24px}.cpn-staffdetailmodal-section-title{font-size:15px;margin-bottom:12px}.cpn-staffdetailmodal-label{font-size:12px}.cpn-staffdetailmodal-value{font-size:14px;padding:8px 12px;min-height:38px}.cpn-staffdetailmodal-images-grid{grid-template-columns:1fr}.cpn-staffdetailmodal-avatar,.cpn-staffdetailmodal-cccd-image{max-width:100%}}@media (max-width: 480px){.cpn-staffdetailmodal-header{padding:8px 12px;min-height:45px}.cpn-staffdetailmodal-title{font-size:16px}.cpn-staffdetailmodal-content{padding:12px}.cpn-staffdetailmodal-footer{padding:6px 12px}.cpn-staffdetailmodal-section{margin-bottom:20px}}.cpn-staffdetailmodal-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1f2937;background:white;transition:all .2s ease}.cpn-staffdetailmodal-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.cpn-staffdetailmodal-input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.cpn-staffdetailmodal-inline-input{flex:1;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;color:#1f2937;background:white;transition:all .2s ease;min-width:0}.cpn-staffdetailmodal-inline-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.cpn-staffdetailmodal-edit-btn:hover{background:#eff6ff;color:#3b82f6;border-color:#3b82f6}.cpn-staffdetailmodal-save-btn{background:#10b981;color:#fff;border-color:#10b981}.cpn-staffdetailmodal-save-btn:hover{background:#059669;border-color:#059669}.cpn-staffdetailmodal-save-btn:disabled{background:#9ca3af;border-color:#9ca3af;cursor:not-allowed}.cpn-staffdetailmodal-btn-primary{background:#10b981;color:#fff;border-color:#10b981}.cpn-staffdetailmodal-btn-primary:hover:not(:disabled){background:#059669;border-color:#059669}.cpn-staffdetailmodal-btn-primary:disabled{background:#9ca3af;border-color:#9ca3af;cursor:not-allowed;opacity:.6}.cpn-staffdetailmodal-subsection-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cpn-staffdetailmodal-table-input{width:100%;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;color:#1f2937;background:white;transition:all .2s ease}.cpn-staffdetailmodal-table-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.cpn-staffdetailmodal-table-input::-moz-placeholder{color:#9ca3af;font-style:italic}.cpn-staffdetailmodal-table-input::placeholder{color:#9ca3af;font-style:italic}.cpn-staffdetailmodal-btn-add{padding:6px 12px;background:#10b981;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.cpn-staffdetailmodal-btn-add:hover{background:#059669;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.cpn-staffdetailmodal-btn-add:active{transform:translateY(0)}.cpn-staffdetailmodal-btn-delete{width:28px;height:28px;background:#fee;color:#dc2626;border:1px solid #fca5a5;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;margin:0 auto}.cpn-staffdetailmodal-btn-delete:hover{background:#dc2626;color:#fff;border-color:#dc2626;transform:scale(1.1)}.cpn-staffdetailmodal-btn-delete:active{transform:scale(1)}.staff-management-container{display:flex;flex-direction:column;height:calc(100vh - 50px);overflow:hidden;background:#f9fafb}.staff-management-fixed-header{position:sticky;top:0;z-index:100;background:white;box-shadow:0 2px 4px #0000000d}.staff-management-fixed-tabs{position:sticky;top:0;z-index:90;background:white;box-shadow:0 2px 4px #0000000d;transition:margin-right .3s ease}.staff-management-fixed-tabs.with-detail-modal{margin-right:600px}@media (max-width: 1024px){.staff-management-fixed-tabs.with-detail-modal{margin-right:800px}}@media (max-width: 768px){.staff-management-fixed-tabs.with-detail-modal{margin-right:0}}.staff-management-content{flex:1;overflow:hidden;padding:0;display:flex;flex-direction:column;min-height:0;transition:margin-right .3s ease}.staff-management-content.with-detail-modal{margin-right:600px}@media (max-width: 1024px){.staff-management-content.with-detail-modal{margin-right:800px}}@media (max-width: 768px){.staff-management-content.with-detail-modal{margin-right:0}}.staff-management-statistics-wrapper{flex:1;overflow-y:auto;padding:5px}.staff-management-list-wrapper{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.staff-management-fixed-filters{flex-shrink:0;background:white;padding:8px 16px;border-bottom:1px solid #e5e7eb}.staff-management-table-container{flex:1;overflow:auto;padding:0 0 4px 2px;min-height:0}.staff-management-fixed-pagination{flex-shrink:0;background:white;padding:0 16px;border-top:2px solid #e5e7eb;box-shadow:0 -2px 8px #0000000d}@media (max-width: 768px){.staff-management-table-container,.staff-management-fixed-filters,.staff-management-fixed-pagination{padding:8px}}.page-employee-quits{display:flex;flex-direction:column;height:calc(100vh - 50px);background-color:#f5f5f5;padding:0;margin:0;overflow:hidden}.employee-quits-header{background-color:#fff;padding:10px 32px;border-bottom:1px solid #e0e0e0;box-shadow:0 1px 3px #0000000d}.employee-quits-header-title-wrapper{display:flex;align-items:center;gap:16px}.employee-quits-header-icon{color:#1890ff;width:32px;height:32px}.employee-quits-header-title{margin:0;font-size:28px;font-weight:600;color:#333}.employee-quits-header-badges{display:flex;gap:8px;margin-left:auto}.employee-quits-header-badge{padding:6px 14px;border-radius:16px;font-size:13px;font-weight:500}.employee-quits-header-badge-total{background-color:#e6f7ff;color:#1890ff}.employee-quits-header-badge-filtered{background-color:#f0f5ff;color:#597ef7}.employee-quits-tabs-container{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #e5e7eb;padding:6px 32px 0;gap:16px;background-color:#fff;transition:margin-right .3s ease}.employee-quits-tabs-container.with-detail-modal{margin-right:600px}.employee-quits-tabs-wrapper{display:flex;align-items:center;flex:1;position:relative;gap:8px;min-width:0}.employee-quits-tabs{display:flex;gap:8px;flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding:0 35px 2px 30px;-webkit-overflow-scrolling:touch;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.employee-quits-tabs:active{cursor:grabbing}.employee-quits-tabs::-webkit-scrollbar{display:none}.employee-quits-tab-scroll-btn{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;border:1px solid #d1d5db;background:#ffffff;color:#374151;font-size:24px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;box-shadow:0 2px 4px #0000001a;transition:all .2s ease;flex-shrink:0}.employee-quits-tab-scroll-btn:hover{background:#f3f4f6;border-color:#9ca3af;box-shadow:0 4px 6px #00000026}.employee-quits-tab-scroll-btn:active{background:#e5e7eb;transform:translateY(-50%) scale(.95)}.employee-quits-tab-scroll-left{left:0}.employee-quits-tab-scroll-right{right:0}.employee-quits-controls{display:flex;gap:16px;margin-bottom:2px;flex-shrink:0;min-width:-moz-fit-content;min-width:fit-content}.employee-quits-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:15px;font-weight:500;color:#6b7280;transition:all .2s ease;position:relative;bottom:-2px;flex-shrink:0;white-space:nowrap}.employee-quits-tab:hover{color:#1f2937;background:#f9fafb}.employee-quits-tab.active{color:#2563eb;border-bottom-color:#2563eb;background:#eff6ff}.employee-quits-tab-icon{display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.employee-quits-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background-color:#ff4d4f;color:#fff;font-size:12px;font-weight:600;border-radius:10px;margin-left:4px}.employee-quits-tab.active .employee-quits-tab-badge{background-color:#2563eb}.employee-quits-btn-export,.employee-quits-btn-column{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #d0d0d0;background-color:#fff;color:#333;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease}.employee-quits-btn-export:hover,.employee-quits-btn-column:hover{background-color:#f0f0f0;border-color:#1890ff;color:#1890ff}.employee-quits-btn-export .icon,.employee-quits-btn-column .icon{font-size:16px}.employee-quits-tab-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:0;transition:margin-right .3s ease}.with-detail-modal .employee-quits-tab-content{margin-right:600px}.employee-quits-table-wrapper{flex:1;overflow-y:auto;overflow-x:auto;transition:all .35s cubic-bezier(.25,.46,.45,.94);padding:0 0 4px 2px;margin-bottom:70px}.employee-quits-pagination-wrapper{position:fixed;bottom:0;left:50px;right:0;background-color:#fff;border-top:1px solid #e0e0e0;box-shadow:0 -2px 8px #00000014;z-index:100;overflow:hidden;transition:margin-right .3s ease}.employee-quits-pagination-wrapper.with-detail-modal{margin-right:600px}@media (max-width: 768px){.employee-quits-pagination-wrapper{left:0}}.employee-quits-placeholder,.employee-quits-statistics-placeholder{padding:40px;text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-radius:12px;box-shadow:0 4px 15px #667eea66}.employee-quits-placeholder h3,.employee-quits-statistics-placeholder h3{margin:0 0 16px;font-size:24px;font-weight:600}.employee-quits-placeholder p,.employee-quits-statistics-placeholder p{margin:0 0 24px;font-size:16px;opacity:.95}.employee-quits-placeholder ul,.employee-quits-statistics-placeholder ul{list-style:none;padding:0;text-align:left;max-width:600px;margin:0 auto}.employee-quits-placeholder li,.employee-quits-statistics-placeholder li{padding:12px 16px;margin-bottom:8px;background-color:#ffffff26;border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:14px;transition:transform .2s ease}.employee-quits-placeholder li:hover,.employee-quits-statistics-placeholder li:hover{transform:translate(8px);background-color:#ffffff40}.employee-quits-placeholder li:before,.employee-quits-statistics-placeholder li:before{content:"✓ ";margin-right:8px;font-weight:700}@media (max-width: 1024px){.employee-quits-tabs-container{flex-direction:column;align-items:stretch;padding:0 16px;gap:12px}.employee-quits-tabs-container.with-detail-modal,.with-detail-modal .employee-quits-tab-content,.employee-quits-pagination-wrapper.with-detail-modal{margin-right:800px}.employee-quits-tabs{justify-content:flex-start;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.employee-quits-controls{flex-direction:row;flex-wrap:wrap;gap:8px;margin-bottom:8px;align-items:center}}@media screen and (max-width: 768px){.employee-quits-header{padding:16px}.employee-quits-header-title{font-size:20px}.employee-quits-tabs-container{padding:0 12px;gap:8px}.employee-quits-tabs-container.with-detail-modal,.with-detail-modal .employee-quits-tab-content,.employee-quits-pagination-wrapper.with-detail-modal{margin-right:0}.employee-quits-tabs{gap:6px;scroll-behavior:smooth;flex-wrap:nowrap}.employee-quits-tab{padding:10px 16px;font-size:14px;flex-shrink:0;white-space:nowrap}.employee-quits-tab span{display:inline}.employee-quits-tab-icon{width:16px;height:16px}.employee-quits-controls{flex-direction:row;flex-wrap:wrap;gap:6px;width:100%;justify-content:flex-start}.employee-quits-btn-export .text,.employee-quits-btn-column .text{display:none}.employee-quits-tab-content{margin:8px;padding:12px}.employee-quits-table-wrapper{overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;margin-bottom:80px}.employee-quits-placeholder,.employee-quits-statistics-placeholder{padding:24px 16px}.employee-quits-placeholder h3,.employee-quits-statistics-placeholder h3{font-size:20px}.employee-quits-placeholder p,.employee-quits-statistics-placeholder p{font-size:14px}}.employee-quits-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.employee-quits-empty{text-align:center;padding:60px 20px;color:#999}.employee-quits-empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.employee-quits-empty-text{font-size:16px;color:#666;margin-bottom:8px}.employee-quits-empty-hint{font-size:14px;color:#999}.cpn-staffdetailmodal-header{header:54px!important}.nghi-viec-input-section{background:#ffffff;border-radius:8px;padding:10px;box-shadow:0 2px 4px #0000000d}.nghi-viec-input-container{margin-bottom:15px}.nghi-viec-input-row{display:flex;align-items:center;gap:10px;justify-content:flex-end;scrollbar-width:none;-ms-overflow-style:none}.nghi-viec-input-row::-webkit-scrollbar{display:none}.nghi-viec-input-wrapper{flex:1;display:flex;align-items:center;gap:10px;border:2px solid #e0e0e0;border-radius:8px;padding:10px 15px;background:#f9f9f9;transition:all .3s ease;margin-right:auto}.nghi-viec-input-wrapper:focus-within{border-color:#3498db;background:#ffffff;box-shadow:0 0 0 3px #3498db1a}.nghi-viec-input-icon{display:flex;align-items:center;color:#7f8c8d}.nghi-viec-input{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:#2c3e50;padding:5px 0}.nghi-viec-input::-moz-placeholder{color:#95a5a6}.nghi-viec-input::placeholder{color:#95a5a6}.nghi-viec-input.error{color:#e74c3c}.nghi-viec-input:disabled{opacity:.6;cursor:not-allowed}.nghi-viec-input-btn-search{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;flex-shrink:0}.nghi-viec-input-btn-search:hover:not(:disabled){background:#2980b9;transform:translateY(-1px);box-shadow:0 2px 8px #3498db4d}.nghi-viec-input-btn-search:active:not(:disabled){transform:translateY(0)}.nghi-viec-input-btn-search:disabled{opacity:.5;cursor:not-allowed}.nghi-viec-input-error{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 15px;background:#fee;border-left:4px solid #e74c3c;border-radius:4px;animation:shake .3s ease}.nghi-viec-input-error .error-icon{font-size:16px}.nghi-viec-input-error .error-text{color:#c0392b;font-size:13px;font-weight:500}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.nghi-viec-toggle-guide-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:10px 15px;background:#ffffff;color:#3498db;border:2px solid #3498db;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap;min-width:50px;height:100%}.nghi-viec-toggle-guide-btn:hover{background:#3498db;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #3498db33}.nghi-viec-toggle-guide-btn:active{transform:translateY(0)}.nghi-viec-btn-edit-all{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:#ffffff;color:#f39c12;border:2px solid #f39c12;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap;height:100%}.nghi-viec-btn-edit-all:hover:not(:disabled){background:#f39c12;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #f39c124d}.nghi-viec-btn-edit-all:active:not(:disabled){transform:translateY(0)}.nghi-viec-btn-edit-all:disabled{opacity:.5;cursor:not-allowed}.nghi-viec-btn-cancel-all{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:#ffffff;color:#e74c3c;border:2px solid #e74c3c;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap;height:100%}.nghi-viec-btn-cancel-all:hover:not(:disabled){background:#e74c3c;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #e74c3c4d}.nghi-viec-btn-cancel-all:active:not(:disabled){transform:translateY(0)}.nghi-viec-btn-cancel-all:disabled{opacity:.5;cursor:not-allowed}.nghi-viec-btn-save-all{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:#27ae60;color:#fff;border:2px solid #27ae60;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;height:100%;box-shadow:0 2px 6px #27ae6033}.nghi-viec-btn-save-all:hover:not(:disabled){background:#229954;border-color:#229954;transform:translateY(-1px);box-shadow:0 4px 12px #27ae6066}.nghi-viec-btn-save-all:active:not(:disabled){transform:translateY(0)}.nghi-viec-btn-save-all:disabled{opacity:.5;cursor:not-allowed}.nghi-viec-input-hint{padding:15px;background:#f0f8ff;border-left:4px solid #3498db;border-radius:4px;margin-top:15px;overflow:hidden;animation:slideDownFromTop .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes slideDownFromTop{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.nghi-viec-input-hint.closing{animation:slideUpToTop .3s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes slideUpToTop{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}.nghi-viec-input-hint p{margin:0 0 10px;color:#2c3e50;font-size:14px}.nghi-viec-input-hint ul{margin:0;padding-left:20px;list-style-type:disc}.nghi-viec-input-hint li{color:#34495e;font-size:13px;margin-bottom:5px;line-height:1.5}.nghi-viec-input-hint code{background:#e8f4f8;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:12px;color:#2980b9;font-weight:600}.nghi-viec-input-hint kbd{background:#ffffff;border:1px solid #d0d0d0;border-radius:3px;padding:2px 6px;font-family:Courier New,monospace;font-size:12px;box-shadow:0 1px 2px #0000001a}@media (max-width: 768px){.nghi-viec-input-section{padding:12px}.nghi-viec-input-row{flex-wrap:nowrap;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}.nghi-viec-input-wrapper{flex:1;min-width:150px;padding:8px 10px;gap:6px}.nghi-viec-input{font-size:13px}.nghi-viec-input::-moz-placeholder{font-size:12px}.nghi-viec-input::placeholder{font-size:12px}.nghi-viec-input-btn-search{padding:8px;min-width:40px;width:40px;height:40px}.nghi-viec-input-btn-search span{display:none}.nghi-viec-input-btn-search svg{margin:0}.nghi-viec-toggle-guide-btn{width:auto;min-width:40px;padding:8px;justify-content:center}.nghi-viec-toggle-guide-btn .btn-text{display:none}.nghi-viec-btn-edit-all,.nghi-viec-btn-save-all,.nghi-viec-btn-cancel-all{width:auto;min-width:40px;padding:8px;justify-content:center;flex-shrink:0}.nghi-viec-btn-edit-all .btn-text,.nghi-viec-btn-save-all .btn-text,.nghi-viec-btn-cancel-all .btn-text{display:none}.nghi-viec-input-hint{padding:10px}.nghi-viec-input-hint li{font-size:12px}}@media (max-width: 480px){.nghi-viec-input-wrapper{padding:6px 8px;min-width:120px}.nghi-viec-input{font-size:12px}.nghi-viec-input::-moz-placeholder{font-size:11px}.nghi-viec-input::placeholder{font-size:11px}.nghi-viec-input-btn-search,.nghi-viec-toggle-guide-btn,.nghi-viec-btn-edit-all,.nghi-viec-btn-save-all,.nghi-viec-btn-cancel-all{padding:6px;min-width:36px}.nghi-viec-input-row{gap:4px}}.nghi-viec-table-wrapper{background:#ffffff;border-radius:8px;box-shadow:0 2px 4px #0000000d;overflow:hidden}.tinh-trang-cell-wrapper{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.tinh-trang-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.tinh-trang-chờ-duyệt{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.tinh-trang-chua-luu{background:#95a5a6;color:#fff;border:1px solid #7f8c8d}.tinh-trang-đang-xử-lý{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.tinh-trang-đã-duyệt{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.tinh-trang-từ-chối{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.tinh-trang-đã-hoàn-tất{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.tinh-trang-đã-quay-lại-làm-việc{background:#e8daef;color:#6c3483;border:1px solid #d7bde2}.tinh-trang-tạm-nghỉ,.tinh-trang-nghỉ-thai-san{background:#e2e3e5;color:#383d41;border:1px solid #d6d8db}.tinh-trang-actions{display:flex;gap:6px;margin-top:4px}.tinh-trang-save-notice{display:inline-block;margin-top:4px;padding:4px 8px;background:#fff3cd;color:#856404;border:1px solid #ffeaa7;border-radius:4px;font-size:11px;font-style:italic}.btn-approve,.btn-reject,.btn-confirm-quit,.btn-back-to-work{display:flex;align-items:center;gap:4px;padding:6px 12px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-approve{background:#27ae60;color:#fff}.btn-approve:hover{background:#229954;transform:translateY(-1px);box-shadow:0 2px 6px #27ae604d}.btn-reject{background:#e74c3c;color:#fff}.btn-reject:hover{background:#c0392b;transform:translateY(-1px);box-shadow:0 2px 6px #e74c3c4d}.btn-confirm-quit{background:#3498db;color:#fff}.btn-confirm-quit:hover{background:#2980b9;transform:translateY(-1px);box-shadow:0 2px 6px #3498db4d}.btn-back-to-work{background:#9b59b6;color:#fff}.btn-back-to-work:hover{background:#8e44ad;transform:translateY(-1px);box-shadow:0 2px 6px #9b59b64d}.cpn-stafftable-name-cell{display:flex;align-items:center;gap:10px}.cpn-stafftable-avatar-3x4{width:36px;height:48px;-o-object-fit:cover;object-fit:cover;border:2px solid #e0e0e0;border-radius:4px;flex-shrink:0;cursor:pointer;transition:all .2s ease}.cpn-stafftable-avatar-3x4:hover{border-color:#3498db;transform:scale(1.05);box-shadow:0 2px 8px #3498db4d}.cpn-stafftable-avatar-placeholder{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px;cursor:default}.cpn-stafftable-avatar-placeholder:hover{transform:none;box-shadow:none}.nghi-viec-table-actions{padding:15px 20px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:10px}.btn-save-all{display:flex;align-items:center;gap:6px;padding:10px 20px;background:#27ae60;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-save-all:hover{background:#229954;transform:translateY(-1px);box-shadow:0 2px 8px #27ae604d}.nghi-viec-table-container{overflow-x:auto;max-height:calc(100vh - 400px);overflow-y:auto}.nghi-viec-table{width:100%;border-collapse:collapse;font-size:13px}.nghi-viec-table thead{position:sticky;top:0;z-index:10;background:#34495e;color:#fff}.nghi-viec-table th{padding:12px 8px;text-align:left;font-weight:600;white-space:nowrap;border-right:1px solid rgba(255,255,255,.1)}.nghi-viec-table th:last-child{border-right:none}.col-stt{width:50px!important;min-width:50px!important;max-width:50px!important;text-align:center;padding:12px 2px!important}.col-actions{width:120px}.col-ma-nv{width:100px}.col-ho-ten{min-width:180px}.col-ngay-sinh{width:110px}.col-gioi-tinh{width:80px}.col-chuc-vu,.col-bo-phan{min-width:150px}.col-xuong{min-width:120px}.col-loai-don{width:120px}.col-ngay-viet-don,.col-ngay-nghi-viec{width:130px}.col-ly-do,.col-ghi-chu{min-width:200px}.col-tinh-trang{width:150px}.col-ngay-lam-thu-tuc,.col-ngay-tra-luong{width:130px}.col-thoi-gian-nghi{width:120px}.col-ngay-rut-don{width:130px}.col-files{width:150px}.col-nguoi-duyet,.col-ngay-duyet{min-width:150px;max-width:200px}.col-ly-do-tu-choi{min-width:200px;max-width:300px;white-space:normal;word-wrap:break-word}.col-ngay-du-kien-quay-lai,.col-nguoi-tao,.col-ngay-tao,.col-nguoi-cap-nhat,.col-ngay-cap-nhat{min-width:150px;max-width:200px}.nghi-viec-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s ease}.nghi-viec-table tbody tr:hover{background:#f8f9fa}.nghi-viec-table tbody tr.editing{background:#fffacd}.nghi-viec-table td{padding:10px 8px;vertical-align:middle;border-right:1px solid #f0f0f0}.nghi-viec-table td:last-child{border-right:none}.table-cell-readonly{display:block;color:#2c3e50}.table-cell-input,.table-cell-textarea{width:100%;padding:6px 8px;border:1px solid #d0d0d0;border-radius:4px;font-size:13px;font-family:inherit;background:white;transition:all .2s ease}.table-cell-input:focus,.table-cell-textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db1a}.table-cell-textarea{resize:vertical;min-height:50px}select.table-cell-input{cursor:pointer}.action-buttons{display:flex;gap:5px;flex-wrap:wrap}.btn-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-action:hover{transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.btn-edit{background:#3498db;color:#fff}.btn-edit:hover{background:#2980b9}.btn-cancel{background:#95a5a6;color:#fff}.btn-cancel:hover{background:#7f8c8d}.btn-view{background:#9b59b6;color:#fff}.btn-view:hover{background:#8e44ad}.btn-move{background:#f39c12;color:#fff}.btn-move:hover{background:#e67e22}.btn-delete{background:#e74c3c;color:#fff}.btn-delete:hover{background:#c0392b}.file-actions{display:flex;align-items:center;gap:8px}.file-count{color:#27ae60;font-weight:500}.file-none{color:#95a5a6;font-style:italic}.btn-upload{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#16a085;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-upload:hover{background:#138d75;transform:translateY(-1px);box-shadow:0 2px 4px #16a0854d}.nghi-viec-table-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:white;border-radius:8px;box-shadow:0 2px 4px #0000000d}.spinner{width:50px;height:50px;border:4px solid #f0f0f0;border-top-color:#3498db;border-radius:50%;animation:spin 1s linear infinite}.nghi-viec-table-loading p{margin-top:15px;color:#7f8c8d;font-size:14px}.nghi-viec-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:white;border-radius:8px;box-shadow:0 2px 4px #0000000d}.nghi-viec-table-empty p{margin:5px 0;color:#7f8c8d;font-size:14px}.nghi-viec-table-empty p:first-child{font-size:24px;color:#34495e}.nghi-viec-table-empty .hint{color:#95a5a6;font-style:italic;font-size:13px}@media (max-width: 1200px){.nghi-viec-table{font-size:12px}.nghi-viec-table th,.nghi-viec-table td{padding:8px 6px}.col-ho-ten,.col-chuc-vu,.col-bo-phan,.col-xuong{min-width:120px}.col-ly-do,.col-ghi-chu{min-width:150px}}@media (max-width: 768px){.btn-save-all{width:100%;justify-content:center}.action-buttons{flex-direction:column}.btn-action{width:24px;height:24px}.nghi-viec-modal-content{width:95%;margin:10px}.nghi-viec-modal-header,.nghi-viec-modal-body{padding:15px}.nghi-viec-modal-footer{padding:12px 15px}}.action-approve{color:#27ae60!important}.action-approve:hover{background:#e8f5e9!important}.action-reject{color:#e74c3c!important}.action-reject:hover{background:#ffebee!important}.nghi-viec-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.nghi-viec-modal-content{background:white;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:500px;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.nghi-viec-modal-header{padding:20px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.nghi-viec-modal-header h3{margin:0;font-size:18px;color:#2c3e50;font-weight:600}.nghi-viec-modal-close{background:none;border:none;font-size:28px;color:#95a5a6;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.nghi-viec-modal-close:hover{background:#ecf0f1;color:#2c3e50}.nghi-viec-modal-body{padding:20px}.nghi-viec-modal-body label{display:block;margin-bottom:8px;font-weight:500;color:#2c3e50;font-size:14px}.nghi-viec-modal-body .required{color:#e74c3c;margin-left:2px}.nghi-viec-modal-textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .2s ease}.nghi-viec-modal-textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.nghi-viec-modal-footer{padding:15px 20px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:10px}.nghi-viec-modal-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.nghi-viec-modal-btn-cancel{background:#ecf0f1;color:#2c3e50}.nghi-viec-modal-btn-cancel:hover{background:#d5dbdb}.nghi-viec-modal-btn-reject{background:#e74c3c;color:#fff}.nghi-viec-modal-btn-reject:hover{background:#c0392b}.nghi-viec-modal-btn-reject:disabled{background:#bdc3c7;cursor:not-allowed;opacity:.6}.file-upload-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:file-upload-modal-fade-in .2s ease-out}@keyframes file-upload-modal-fade-in{0%{opacity:0}to{opacity:1}}.file-upload-modal-container{background:white;border-radius:12px;width:90%;max-width:700px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;animation:file-upload-modal-slide-up .3s ease-out;position:relative}@keyframes file-upload-modal-slide-up{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.file-upload-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.file-upload-modal-header-left{display:flex;align-items:center;gap:12px}.file-upload-modal-icon{width:24px;height:24px;opacity:.9}.file-upload-modal-title{font-size:18px;font-weight:600;margin:0;line-height:1.3}.file-upload-modal-subtitle{font-size:13px;margin:4px 0 0;opacity:.9}.file-upload-modal-close{background:rgba(255,255,255,.2);border:none;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:#fff}.file-upload-modal-close:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}.file-upload-modal-error{margin:16px 24px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;display:flex;align-items:center;gap:8px}.file-upload-modal-upload-area{margin:24px 24px 16px;position:relative}.file-upload-modal-input{display:none}.file-upload-modal-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;border:2px dashed #d1d5db;border-radius:12px;background:#f9fafb;cursor:pointer;transition:all .3s}.file-upload-modal-label:hover{border-color:#667eea;background:#f0f4ff}.file-upload-modal-upload-icon{color:#667eea;margin-bottom:12px}.file-upload-modal-upload-text{font-size:15px;font-weight:500;color:#374151;margin:0 0 8px}.file-upload-modal-upload-hint{font-size:13px;color:#6b7280;margin:0;text-align:center}.file-upload-modal-files{flex:1;overflow-y:auto;padding:0 24px 24px}.file-upload-modal-files-title{font-size:14px;font-weight:600;color:#374151;margin:0 0 12px;display:flex;align-items:center;gap:8px}.file-upload-modal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#9ca3af}.file-upload-modal-empty-icon{margin-bottom:12px;opacity:.5}.file-upload-modal-empty p{margin:0;font-size:14px}.file-upload-modal-files-list{display:flex;flex-direction:column;gap:8px}.file-upload-modal-file-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.file-upload-modal-file-item:hover{background:#f3f4f6;border-color:#d1d5db}.file-upload-modal-file-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.file-upload-modal-file-icon{font-size:24px;flex-shrink:0}.file-upload-modal-file-details{flex:1;min-width:0}.file-upload-modal-file-name{font-size:14px;font-weight:500;color:#374151;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload-modal-file-meta{font-size:12px;color:#6b7280;margin:0}.file-upload-modal-file-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.file-upload-modal-file-action{background:white;border:1px solid #e5e7eb;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:#6b7280}.file-upload-modal-file-action:hover{background:#f3f4f6;border-color:#d1d5db;color:#374151}.file-upload-modal-file-action-delete:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.file-upload-modal-file-action:disabled{opacity:.5;cursor:not-allowed}.file-upload-modal-footer{padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;display:flex;justify-content:flex-end;gap:12px}.file-upload-modal-btn{padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.file-upload-modal-btn:disabled{opacity:.5;cursor:not-allowed}.file-upload-modal-btn-secondary{background:white;border:1px solid #d1d5db;color:#374151}.file-upload-modal-btn-secondary:hover:not(:disabled){background:#f3f4f6}.file-upload-modal-loading{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:10}.file-upload-modal-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:file-upload-modal-spin .8s linear infinite}@keyframes file-upload-modal-spin{to{transform:rotate(360deg)}}.file-upload-modal-loading p{font-size:14px;color:#6b7280;margin:0}.file-upload-modal-files::-webkit-scrollbar{width:8px}.file-upload-modal-files::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.file-upload-modal-files::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.file-upload-modal-files::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width: 640px){.file-upload-modal-container{width:95%;max-height:95vh}.file-upload-modal-header{padding:16px 20px}.file-upload-modal-title{font-size:16px}.file-upload-modal-upload-area{margin:20px 20px 16px}.file-upload-modal-label{padding:30px 16px}.file-upload-modal-files{padding:0 20px 20px}.file-upload-modal-footer{padding:12px 20px}}.nghi-viec-statistics{padding:20px;background:#f8f9fa;min-height:calc(100vh - 200px);max-height:calc(100vh - 160px);overflow-y:auto;overflow-x:hidden}.nghi-viec-statistics-loading,.nghi-viec-statistics-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.nghi-viec-statistics-error{color:#ef4444}.nghi-viec-statistics-error h3{margin:0;font-size:20px;font-weight:600}.nghi-viec-statistics-error p{margin:0;color:#6b7280}.btn-retry{margin-top:16px;padding:10px 24px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-retry:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.kpi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.kpi-card{background:white;border-radius:12px;padding:20px;display:flex;gap:16px;box-shadow:0 1px 3px #0000001a;transition:all .2s}.kpi-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.kpi-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-content{flex:1;display:flex;flex-direction:column;gap:4px}.kpi-label{font-size:13px;color:#6b7280;font-weight:500}.kpi-value{font-size:32px;font-weight:700;color:#111827;line-height:1}.kpi-trend{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;margin-top:4px}.kpi-trend.trend-up{color:#ef4444}.kpi-trend.trend-down{color:#10b981}.kpi-trend.trend-stable{color:#6b7280}.kpi-sub{font-size:12px;color:#9ca3af;margin-top:4px}.charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:20px;margin-bottom:24px}.chart-card{background:white;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.chart-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.chart-header h3{margin:0;font-size:16px;font-weight:600;color:#111827}.chart-content{min-height:300px;display:flex;align-items:center;justify-content:center}.chart-empty{color:#9ca3af;font-size:14px;text-align:center}.recent-quits-card{background:white;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.recent-quits-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.recent-quits-header h3{margin:0;font-size:16px;font-weight:600;color:#111827}.recent-quits-table-wrapper{overflow-x:auto}.recent-quits-table{width:100%;border-collapse:collapse;font-size:14px}.recent-quits-table thead{background:#f9fafb}.recent-quits-table th{padding:12px 16px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;white-space:nowrap}.recent-quits-table td{padding:12px 16px;border-bottom:1px solid #e5e7eb;color:#6b7280;white-space:nowrap}.recent-quits-table tbody tr:hover{background:#f9fafb}.recent-quits-table tbody tr:last-child td{border-bottom:none}.table-empty{padding:40px;text-align:center;color:#9ca3af;font-size:14px}.loai-don-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;background:#e5e7eb;color:#374151}.tinh-trang-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}@media (max-width: 1200px){.charts-row{grid-template-columns:1fr}}@media (max-width: 768px){.nghi-viec-statistics{padding:12px}.kpi-cards{grid-template-columns:1fr;gap:12px}.kpi-card{padding:16px}.kpi-value{font-size:28px}.charts-row{gap:12px;margin-bottom:12px}.chart-card,.recent-quits-card{padding:16px}.recent-quits-table{font-size:13px}.recent-quits-table th,.recent-quits-table td{padding:8px 12px}}@media (max-width: 480px){.kpi-card{flex-direction:column;text-align:center}.kpi-icon{margin:0 auto}.kpi-trend{justify-content:center}}.settings-page{padding:20px;margin:0 auto}.settings-header{margin-bottom:30px}.settings-header h1{display:flex;align-items:center;gap:10px;font-size:28px;color:#333;margin-bottom:8px}.settings-header p{color:#666;font-size:14px}.settings-no-permission{text-align:center;padding:60px 20px;color:#999}.settings-content{background:white;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.settings-content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.settings-content-header h2{font-size:20px;color:#333}.settings-loading{text-align:center;padding:40px;color:#999}.settings-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #eee;overflow-x:auto}.settings-tab-button{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:15px;font-weight:500;color:#666;transition:all .2s;white-space:nowrap}.settings-tab-button:hover{color:#007bff;background:#f8f9fa}.settings-tab-button.active{color:#007bff;border-bottom-color:#007bff}.settings-data-table{width:100%;border-collapse:collapse;font-size:14px}.settings-data-table thead{background:#f8f9fa}.settings-data-table th{padding:12px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6}.settings-data-table td{padding:12px;border-bottom:1px solid #dee2e6}.settings-data-table tbody tr:hover{background:#f8f9fa}.settings-data-table tbody tr.inactive{opacity:.6;background:#f5f5f5}.settings-status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.settings-status-badge.active{background:#d4edda;color:#155724}.settings-status-badge.inactive{background:#f8d7da;color:#721c24}.settings-btn-add{display:flex;align-items:center;gap:6px;padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.settings-btn-add:hover{background:#218838}.settings-action-buttons{display:flex;gap:8px;justify-content:center}.settings-btn-edit,.settings-btn-delete,.settings-btn-permanent-delete{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.settings-btn-edit{background:#007bff;color:#fff}.settings-btn-edit:hover{background:#0056b3;transform:translateY(-1px)}.settings-btn-delete{background:#ffc107;color:#333}.settings-btn-delete:hover{background:#e0a800;transform:translateY(-1px)}.settings-btn-permanent-delete{background:#dc3545;color:#fff}.settings-btn-permanent-delete:hover{background:#a71d2a;transform:translateY(-1px);box-shadow:0 2px 8px #dc354566}.settings-btn-cancel,.settings-btn-save{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.settings-btn-cancel{background:#6c757d;color:#fff}.settings-btn-cancel:hover{background:#5a6268}.settings-btn-save{background:#28a745;color:#fff}.settings-btn-save:hover{background:#218838}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.settings-modal-content{background:white;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow:auto;box-shadow:0 4px 20px #00000026}.settings-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #dee2e6}.settings-modal-header h3{font-size:18px;color:#333;margin:0}.settings-modal-close{background:none;border:none;cursor:pointer;color:#999;padding:4px;display:flex;align-items:center}.settings-modal-close:hover{color:#333}.settings-modal-body{padding:20px}.settings-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #dee2e6}.settings-form-group{margin-bottom:16px}.settings-form-group label{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-weight:500;font-size:14px;color:#495057}.settings-form-group .required{color:#dc3545}.settings-readonly-badge{display:inline-block;padding:2px 8px;background-color:#ffc107;color:#000;font-size:11px;font-weight:600;border-radius:3px;text-transform:uppercase}.settings-form-group input,.settings-form-group textarea,.settings-form-group select{width:100%;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;font-family:inherit}.settings-form-group input:disabled,.settings-form-group textarea:disabled,.settings-form-group select:disabled,.settings-form-group input.readonly{background-color:#e9ecef;cursor:not-allowed;opacity:.7}.settings-form-group input:focus,.settings-form-group textarea:focus,.settings-form-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.settings-notification{position:fixed;top:20px;right:20px;padding:16px 24px;border-radius:4px;font-size:14px;font-weight:500;box-shadow:0 4px 12px #00000026;animation:settings-slideIn .3s ease-out;z-index:2000}.settings-notification.success{background:#d4edda;color:#155724;border-left:4px solid #28a745}.settings-notification.error{background:#f8d7da;color:#721c24;border-left:4px solid #dc3545}@keyframes settings-slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.settings-page{padding:10px}.settings-tabs{gap:5px}.settings-tab-button{padding:10px 16px;font-size:13px}.settings-data-table{font-size:12px}.settings-data-table th,.settings-data-table td{padding:8px}.settings-modal-content{width:95%;max-height:95vh}}.not-found-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:2rem}.not-found-content{text-align:center;background:rgba(255,255,255,.95);padding:3rem;border-radius:12px;box-shadow:0 8px 32px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);max-width:500px;width:100%}.not-found-icon{width:64px;height:64px;color:#ffc107;margin:0 auto 1rem}.not-found-title{font-size:4rem;font-weight:800;color:#dc3545;margin-bottom:.5rem;line-height:1}.not-found-subtitle{font-size:1.5rem;font-weight:600;color:#2c3e50;margin-bottom:1rem}.not-found-message{color:#6c757d;margin-bottom:2rem;line-height:1.6}.not-found-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}@media (max-width: 768px){.not-found-content{margin:1rem;padding:2rem}.not-found-title{font-size:3rem}.not-found-actions{flex-direction:column}.not-found-actions button,.not-found-actions a{width:100%}}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.app-loading-spinner{width:64px;height:64px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite}.app-redirect-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.app-redirect-content{text-align:center;color:#fff}.app-redirect-spinner{width:64px;height:64px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.app-redirect-text{font-size:1.1rem;font-weight:500;margin:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;line-height:1.6;color:#333;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.4;margin-bottom:.5rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:1rem}.app-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;white-space:nowrap}.app-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.app-btn-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.app-btn-primary:hover{background:linear-gradient(135deg,#5a6fd8 0%,#6a4190 100%)}.app-btn-secondary{background:rgba(255,255,255,.9);color:#667eea;border:1px solid rgba(102,126,234,.3)}.app-btn-secondary:hover{background:white;border-color:#667eea}.btn-success{background:linear-gradient(135deg,#28a745 0%,#20c997 100%);color:#fff}.btn-success:hover{background:linear-gradient(135deg,#218838 0%,#1c9c7a 100%)}.btn-danger{background:linear-gradient(135deg,#dc3545 0%,#e83e8c 100%);color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#c82333 0%,#d91a72 100%)}.btn-warning{background:linear-gradient(135deg,#ffc107 0%,#fd7e14 100%);color:#212529}.btn-warning:hover{background:linear-gradient(135deg,#e0a800 0%,#e8690b 100%)}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.form-control{width:100%;padding:.75rem 1rem;font-size:1rem;line-height:1.5;color:#495057;background:rgba(255,255,255,.9);border:1px solid #ced4da;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background:rgba(255,255,255,.95)}.form-control::-moz-placeholder{color:#6c757d}.form-control::placeholder{color:#6c757d}.app-card{background:rgba(255,255,255,.95);border-radius:12px;padding:1.5rem;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.app-card:hover{transform:translateY(-4px);box-shadow:0 12px 48px #00000026}.card-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.1)}.card-title{font-size:1.25rem;font-weight:600;margin:0}.card-body{padding:0}.card-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-block{display:block}.d-inline{display:inline}.d-none{display:none}.align-items-center{align-items:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.fade-in{animation:fadeIn .3s ease}.slide-down{animation:slideDown .3s ease}@media (max-width: 768px){body{font-size:14px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}.btn{padding:.6rem 1.2rem;font-size:.9rem}.card{padding:1rem}}.main-layout{display:flex;min-height:100vh;background:#f8fafc;--sidebar-width: 50px}@media (min-width: 769px){.main-layout:has(.sidebar:not(.collapsed)){--sidebar-width: 50px}}.sidebar{position:fixed;left:0;top:0;height:100vh;width:50px;background:#ffffff;color:#2d3748;box-shadow:2px 0 10px #0000000d;border-right:1px solid #e2e8f0;transition:width .3s cubic-bezier(.4,0,.2,1);z-index:1001;display:flex;flex-direction:column;overflow:hidden}.sidebar:not(.collapsed){width:280px;box-shadow:2px 0 20px #0003;z-index:1002}.sidebar.collapsed{width:50px}.sidebar.open{width:280px}.sidebar-header{border-bottom:1px solid #e2e8f0;display:flex;align-items:center;min-height:50px;padding:0}.sidebar-toggle{background:none;border:none;color:#4a5568;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s ease;width:50px;height:50px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-toggle:hover{background-color:#f7fafc}.sidebar-logo{display:flex;align-items:center;font-weight:700;font-size:1.125rem;min-height:50px;flex:1;padding-right:1rem}.logo-text{font-size:1.25rem;font-weight:600;white-space:nowrap;opacity:1;max-width:200px;overflow:hidden;padding-right:1rem;transition:all .4s cubic-bezier(.4,0,.2,1);transform:translate(0)}.sidebar.collapsed .logo-text{opacity:0;max-width:0;padding-right:0;transform:translate(-10px)}.hamburger{display:flex;flex-direction:column;gap:3px;width:18px;height:12px;position:relative}.hamburger span{width:100%;height:2px;background-color:#4a5568;border-radius:1px;transition:all .3s ease}.sidebar.collapsed .hamburger span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.sidebar.collapsed .hamburger span:nth-child(2){opacity:0;transform:scale(0)}.sidebar.collapsed .hamburger span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.sidebar-backdrop{position:fixed;top:0;left:50px;width:calc(100% - 50px);height:100vh;background-color:transparent;z-index:999;opacity:1;visibility:visible;transition:all .3s ease;pointer-events:auto}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto;min-height:0}.sidebar.collapsed .sidebar-nav{overflow-y:hidden!important;overflow-x:hidden!important}.nav-item{position:relative;display:flex;align-items:center;color:#4a5568;text-decoration:none;transition:all .2s ease;min-height:44px;height:44px;margin-bottom:.125rem}.nav-item:hover{background-color:#f7fafc;color:#2d3748}.nav-item.active{background-color:#6f5fbe;color:#fff}.nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:#4299e1}.nav-icon{width:50px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;transition:none;min-width:50px;max-width:50px}.nav-text,.menu-label{font-weight:500;white-space:nowrap;padding:.625rem 1rem .625rem 0;opacity:1;max-width:200px;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);transform:translate(0)}.sidebar.collapsed .nav-text,.sidebar.collapsed .menu-label{opacity:0;max-width:0;padding-left:0;padding-right:0;transform:translate(-10px);transition-delay:0s}.nav-tooltip,.menu-tooltip{position:absolute;left:55px;top:50%;transform:translateY(-50%);background-color:#333;color:#fff;padding:.5rem .75rem;border-radius:4px;font-size:.75rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;z-index:1001;pointer-events:none}.nav-tooltip:before,.menu-tooltip:before{content:"";position:absolute;top:50%;left:-5px;transform:translateY(-50%);border-right:5px solid #333;border-top:5px solid transparent;border-bottom:5px solid transparent}.sidebar.collapsed .nav-item:hover .nav-tooltip,.sidebar.collapsed .nav-item:hover .menu-tooltip{opacity:1;visibility:visible}.sidebar-footer{padding:1rem;border-top:1px solid #e2e8f0;text-align:center;transition:all .3s ease;flex-shrink:0;margin-top:auto}.footer-info{transition:all .4s cubic-bezier(.4,0,.2,1);opacity:1;max-height:60px;overflow:hidden;transform:translateY(0)}.footer-text{font-size:.75rem;color:#718096;margin-bottom:.25rem}.footer-version{font-size:.7rem;color:#a0aec0}.sidebar.collapsed .sidebar-footer{padding:.25rem 0}.sidebar.collapsed .footer-info{opacity:0;max-height:0;transform:translateY(-10px)}.user-section{border-top:1px solid #e2e8f0}.logout-btn{background:none;border:none;color:#718096;cursor:pointer;padding:0;border-radius:6px;transition:background-color .3s ease;display:flex;align-items:center;width:100%;min-height:48px}.logout-btn:hover{background:#fee2e2;color:#e53e3e}.logout-icon{width:50px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:50px;max-width:50px}.logout-text{font-weight:500;white-space:nowrap;padding:.75rem 1rem .75rem 0;opacity:1;max-width:200px;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);transform:translate(0)}.sidebar.collapsed .logout-text{opacity:0;max-width:0;transform:translate(-10px)}.main-content{flex:1;min-height:100vh;display:flex;flex-direction:column;background:transparent}.main-header{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:0;height:50px;box-shadow:0 2px 20px #0000001a;border-bottom:1px solid rgba(255,255,255,.2);position:sticky;top:0;z-index:1000;width:100%}.header-content{margin:0 auto;padding:0 5px;height:50px;display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0;overflow:hidden}.header-logo{height:65px;width:auto;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.header-menu-toggle{background:none;border:none;color:#667eea;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0}.header-menu-toggle:hover{background:rgba(102,126,234,.1)}.page-title{font-size:1.5rem;font-weight:600;color:#2c3e50;margin:0}.header-right{display:flex;align-items:center;margin-right:20px;gap:1rem}.header-actions{display:flex;align-items:center;gap:.5rem}.header-title{font-size:1.25rem;font-weight:600;color:#2c3e50;margin:0}.user-greeting{color:#6c757d;font-size:.875rem;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.user-avatar-header{width:32px;height:32px;border-radius:50%;background:#667eea;color:#fff;font-weight:600;font-size:.875rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.user-avatar-header:hover{background:#5a67d8;transform:scale(1.05)}.mobile-avatar{display:none;width:32px;height:32px;border-radius:50%;background:#667eea;color:#fff;font-weight:600;font-size:.875rem;align-items:center;justify-content:center}.app-container{margin:0 auto;width:100%;box-sizing:border-box}.nha-thoi-vu-filter-mobile-btn,.mobile-overlay{display:none}.content-area{flex:1;background:transparent;box-sizing:border-box}@media (min-width: 769px){.content-area{margin-left:var(--sidebar-width);transition:margin-left .3s ease;max-width:calc(100vw - var(--sidebar-width))}}@media (min-width: 769px){.sidebar:not(.collapsed)+.main-content .content-area{margin-left:50px}}.main-content{flex:1;display:flex;flex-direction:column;min-height:100vh}@media (max-width: 768px){.sidebar{transform:translate(-100%);width:280px;top:0;height:100vh;z-index:2000}.sidebar.open{transform:translate(0);box-shadow:2px 0 20px #00000080}.sidebar.open .nav-text,.sidebar.open .logout-text,.sidebar.open .logo-text,.sidebar.open .footer-info{opacity:1!important;max-width:200px!important;transform:none!important;display:block!important;visibility:visible!important;padding-right:1rem!important}.sidebar.open .sidebar-footer{padding:1rem!important}.content-area{margin-left:0!important;max-width:100vw!important}.main-layout{--sidebar-width: 0px}.header-menu-toggle{display:flex}.mobile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999;display:block}.header-content{padding:0 .75rem;justify-content:space-between;width:100%}.header-left{gap:.4rem;flex:1;min-width:0;width:100%}.header-logo{height:45px}.nav-tooltip{display:none}.header-title{font-size:calc(12px + 2vw);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;max-font-size:18px}@media (max-width: 768px){.header-title{font-size:clamp(12px,calc(8px + 3vw),20px)}}@media (max-width: 480px){.header-title{font-size:clamp(11px,calc(6px + 4vw),18px)}}@media (max-width: 360px){.header-title{font-size:clamp(10px,calc(4px + 5vw),16px)}}@media (min-width: 769px){.header-title{font-size:1.25rem}}@supports (container-type: inline-size){.header-left{container-type:inline-size}@container (max-width: 400px){.header-title{font-size:clamp(10px,4cqw,16px)}}@container (max-width: 300px){.header-title{font-size:clamp(9px,5cqw,14px)}}}.header-title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;flex:1;min-width:0}.header-menu-toggle{flex-shrink:0;width:40px;height:40px}.header-logo{flex-shrink:0}.user-greeting,.user-avatar-header,.mobile-avatar{display:none}.user-info-mobile{display:flex}.app-container{width:100vw;max-width:100vw;margin:0;box-sizing:border-box}.dktv-header{padding:8px 0;box-shadow:none;border-radius:0}.dktv-header h2{display:none}.dktv-controls{display:flex;flex-direction:row;align-items:center;gap:8px;width:100%;padding:0;justify-content:space-between}.add-candidate-btn{min-width:40px;max-width:40px;height:40px;padding:0;justify-content:center;background:#28a745;border-radius:6px;color:#fff;font-size:0;display:flex;align-items:center;gap:0}.add-candidate-btn>svg{width:24px;height:24px;color:#fff}.search-container{flex:1;min-width:0;margin:0;max-width:calc(100% - 100px)}.search-input{font-size:14px;padding:8px 8px 8px 36px;border-radius:6px;width:100%}.nha-thoi-vu-filter{display:none!important}.nha-thoi-vu-filter-mobile-btn{display:flex;min-width:40px;max-width:40px;height:40px;background:#fff;border:1px solid #ddd;border-radius:6px;align-items:center;justify-content:center;cursor:pointer;margin-left:0;color:#667eea;transition:all .3s ease}.nha-thoi-vu-filter-mobile-btn:hover{background:rgba(102,126,234,.1);border-color:#667eea}.nha-thoi-vu-filter-mobile-btn>svg{width:22px;height:22px;color:#667eea}.nha-thoi-vu-modal-mobile{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);z-index:2000;display:flex;align-items:center;justify-content:center}.nha-thoi-vu-modal-content-mobile{background:#fff;border-radius:10px;box-shadow:0 2px 12px #00000026;padding:16px;min-width:220px;max-width:90vw;max-height:80vh;overflow-y:auto;position:relative}.nha-thoi-vu-modal-content-mobile h4{font-size:1.1rem;margin-bottom:12px;color:#2c3e50}.nha-thoi-vu-modal-list-mobile{list-style:none;padding:0;margin:0}.nha-thoi-vu-modal-list-mobile li{padding:10px 0;border-bottom:1px solid #eee;cursor:pointer;color:#374151;font-size:1rem;transition:background .2s}.nha-thoi-vu-modal-list-mobile li:last-child{border-bottom:none}.nha-thoi-vu-modal-list-mobile li:hover,.nha-thoi-vu-modal-list-mobile li.selected{background:#f0f4ff;color:#667eea}.nha-thoi-vu-modal-close-mobile{position:absolute;top:10px;right:16px;background:none;border:none;font-size:1.5rem;color:#667eea;cursor:pointer}}.user-info-mobile{display:none;align-items:center;padding:.75rem 1rem;margin-bottom:.5rem;border-bottom:1px solid rgba(0,0,0,.1);gap:.75rem}@media (min-width: 769px){.user-greeting{display:block!important}.user-avatar-header{display:flex!important}.mobile-avatar,.user-info-mobile{display:none!important}}.user-avatar-sidebar{width:32px;height:32px;border-radius:50%;background:#667eea;color:#fff;font-weight:600;font-size:.875rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-greeting-sidebar{color:#374151;font-size:.875rem;font-weight:500;white-space:nowrap;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:left center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.user-greeting-sidebar.visible{opacity:1;transform:translate(0) scaleX(1);width:auto}.user-greeting-sidebar.hidden{opacity:0;transform:translate(-20px) scaleX(0);width:0;overflow:hidden}.sidebar-nav:has(.nav-item:only-child){justify-content:flex-start}@media (max-width: 768px){.sidebar.vendor-mode{background:rgba(102,126,234,.98)}.sidebar.vendor-mode .nav-item{color:#fff;font-weight:500}.sidebar.vendor-mode .nav-item:hover{background:rgba(255,255,255,.2)}.sidebar.vendor-mode .nav-item.active{background:rgba(255,255,255,.3)}.user-info-mobile{display:flex}.sidebar.vendor-mode .user-info-mobile{background:rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.2)}.sidebar.vendor-mode .user-avatar-sidebar{background:rgba(255,255,255,.9);color:#667eea}.sidebar.vendor-mode .user-greeting-sidebar{color:#fff}}
