:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{min-width:320px;background-color:#f8f9fa}a{font-weight:500;color:#4a90e2;text-decoration:none}a:hover{text-decoration:underline}button{border-radius:8px;border:1px solid transparent;font-family:inherit;cursor:pointer;transition:border-color .25s}.data-table-container{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:20px}.data-table{width:100%;border-collapse:collapse;min-width:600px}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e5e5;color:#333!important;background-color:#fff!important}.data-table th{background-color:#f8f9fa!important;font-weight:600;color:#495057!important;border-bottom:2px solid #dee2e6}.clickable-row{cursor:pointer;transition:background-color .2s}.clickable-row:hover{background-color:#f8f9fa!important}.search-results-page{width:100%;margin:0;padding:0}.search-results-page h1{color:#333;margin:0 0 20px;font-size:28px;padding:0 17px}.loading,.no-results,.error{text-align:center;padding:40px;font-size:18px}.no-results{color:#666}.search-results-container{width:100%}.search-section-divider{padding:20px 17px 10px;border-top:2px solid #e9ecef;margin-top:20px}.search-section-divider:first-of-type{border-top:none;margin-top:0;padding-top:0}.search-section-divider h2{margin:0;font-size:20px;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.5px}.search-results-list{display:flex;flex-direction:column;gap:0;width:100%;margin:0;padding:0}.search-result-card{background:#fff;border-bottom:1px solid #e9ecef;border-left:none;border-right:none;border-top:none;border-radius:0;padding:17px;text-decoration:none;color:inherit;transition:all .2s;width:100%;margin:0;box-shadow:none;display:block}.search-result-card:first-child{border-top:1px solid #e9ecef}.search-result-card:hover{background:#f8f9fa;text-decoration:none;color:inherit}.search-result-card:last-child{border-bottom:1px solid #e9ecef}.search-result-card.client-card .client-info h3{margin:0 0 9px;color:#333;font-size:18px}.search-result-card.client-card .client-number{color:#666;font-size:14px;margin:4px 0}.search-result-card.client-card .company{color:#4a90e2;font-weight:500;margin:4px 0}.search-result-card.client-card .job-count{color:#28a745;font-size:14px;margin:9px 0 0}.search-result-card.job-card .job-info h3{margin:0 0 9px;color:#333;font-size:18px}.search-result-card.job-card .job-number{color:#666;font-size:14px;margin:4px 0}.search-result-card.job-card .client-name{color:#4a90e2;font-weight:500;margin:4px 0}.search-result-card.job-card .job-address{margin-top:13px;padding-top:13px;border-top:1px solid #e9ecef}.search-result-card.job-card .job-address p{margin:2px 0;color:#495057;font-size:14px}.search-result-card.employee-card{display:flex;flex-direction:column}.search-result-card.employee-card .employee-card-link{text-decoration:none;color:inherit;flex:1}.search-result-card.employee-card .employee-info h3{margin:0 0 9px;color:#333;font-size:18px}.search-result-card.employee-card .employee-id{color:#666;font-size:14px;margin:4px 0}.search-result-card.employee-card .employee-email{color:#4a90e2;font-size:14px;margin:4px 0}.search-result-card.employee-card .employee-phone-wrapper{margin-top:9px;padding-top:9px;border-top:1px solid #f0f0f0}.search-result-card.employee-card .phone-link{color:#4a90e2;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:5px;transition:all .2s;cursor:pointer;font-size:14px}.search-result-card.employee-card .phone-link:hover{color:#357abd;text-decoration:underline;transform:scale(1.05)}.layout{height:100vh;height:100dvh;display:flex;flex-direction:column}.top-nav{background:#1a1a1a;color:#fff;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:60px;box-shadow:0 2px 4px #0000001a;flex-shrink:0;z-index:1200;position:relative}.nav-left{display:flex;align-items:center;gap:12px;min-width:0}.nav-left .logo{font-size:24px;font-weight:700;margin:0;color:#4a90e2}.menu-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#fff;padding:8px;margin:0;cursor:pointer;border-radius:6px;line-height:0}.menu-toggle:hover{background:#ffffff1a}.hamburger{display:flex;flex-direction:column;justify-content:space-between;width:22px;height:16px}.hamburger span{display:block;height:2px;width:100%;background:currentColor;border-radius:1px;transition:transform .2s ease,opacity .2s ease}.hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.is-open span:nth-child(2){opacity:0}.hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-right{display:flex;align-items:center;gap:12px;min-width:0}.auth-controls{display:flex;align-items:center;gap:12px}.data-mode-btn{background:#4a90e2;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s;white-space:nowrap}.data-mode-btn:hover{background:#357abd}.data-mode-btn.active{background:#28a745}.data-mode-btn.active:hover{background:#218838}.data-mode-short{display:none}.account-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid #ced4da;background:#fff;color:#495057;text-decoration:none;transition:background .2s,border-color .2s,color .2s}.account-btn:hover{background:#f8f9fa;border-color:#adb5bd;color:#212529}.account-btn.active{background:#e7f1fb;border-color:#4a90e2;color:#357abd}.logout-btn{background:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:background .2s;white-space:nowrap}.logout-btn:hover{background:#c82333}.login-link{color:#4a90e2;text-decoration:none;padding:6px 12px;border-radius:4px;font-size:14px;transition:background .2s}.login-link:hover{background:#4a90e21a}.search-container{display:flex;align-items:center;gap:8px}.search-input{background:#ffffff1a;border:none;border-bottom:2px solid white;color:#fff;padding:6px 8px;font-size:14px;outline:none;min-width:160px;max-width:300px;transition:all .2s;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.search-input::placeholder{color:#ffffffb3}.search-input:focus{background:#ffffff26;border-bottom-color:#4a90e2}.search-btn{background:none;border:none;color:#fff;cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s;display:flex;align-items:center}.search-btn:hover{background-color:#ffffff1a}.main-content{flex:1;display:flex;overflow:hidden;min-height:0}.sidebar{width:250px;flex-shrink:0;background:#f8f9fa;border-right:1px solid #e9ecef;overflow-y:auto;overflow-x:hidden;transition:width .2s ease,border-color .2s ease,opacity .2s ease}.layout.sidebar-collapsed .sidebar{width:0;min-width:0;border-right-color:transparent;opacity:0;pointer-events:none;overflow:hidden}.sidebar-mobile-header{display:none}.nav-menu{list-style:none;padding:0;margin:0}.nav-menu li{border-bottom:1px solid #e9ecef}.nav-link{display:block;padding:16px 24px;text-decoration:none;color:#495057;font-weight:500;transition:all .2s}.nav-link:hover{background-color:#e9ecef;color:#212529}.nav-link.active{background-color:#4a90e2;color:#fff}.content{flex:1;min-width:0;padding:20px;overflow-y:auto;overflow-x:hidden;background:#fff;-webkit-overflow-scrolling:touch}.mobile-nav-backdrop{display:none}@media(max-width:768px){.menu-toggle{display:flex;align-items:center;justify-content:center}.layout.sidebar-collapsed .sidebar{width:min(100vw,100%);opacity:1;pointer-events:auto;border-right-color:transparent}.top-nav{padding:0 12px}.nav-left .logo{font-size:20px}.nav-right,.auth-controls{gap:6px}.data-mode-full{display:none}.data-mode-short{display:inline}.data-mode-btn,.logout-btn{padding:6px 8px;font-size:11px}.search-input{min-width:0;width:min(42vw,160px);max-width:160px;font-size:13px}.main-content{flex-direction:row}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(100vw,100%);max-width:100%;z-index:1300;border-right:none;transform:translate(-105%);transition:transform .25s ease;background:#fff;box-shadow:none;display:flex;flex-direction:column;overflow:hidden}.sidebar.sidebar-open{transform:translate(0);box-shadow:0 0 0 9999px #00000073}.sidebar-mobile-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e9ecef;background:#1a1a1a;color:#fff;flex-shrink:0}.sidebar-mobile-title{font-size:18px;font-weight:600}.sidebar-close-btn{background:none;border:none;color:#fff;font-size:32px;line-height:1;cursor:pointer;padding:0 4px}.sidebar .nav-menu{display:block;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar .nav-menu li{border-bottom:1px solid #e9ecef;border-right:none}.sidebar .nav-link{padding:18px 24px;font-size:17px;text-align:left}.mobile-nav-backdrop{display:block;position:fixed;inset:0;z-index:1250;background:transparent;border:none;padding:0;margin:0;cursor:pointer}.content{width:100%;padding:12px}}@media(max-width:420px){.search-input{width:min(36vw,120px)}.data-mode-btn{display:none}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;padding:40px;width:100%;max-width:420px;box-sizing:border-box}.login-title{font-size:28px;font-weight:600;color:#333;text-align:center;margin:0 0 32px;letter-spacing:-.5px}.login-form{display:flex;flex-direction:column;gap:20px}.form-label{font-size:14px;font-weight:500;color:#555;margin-bottom:8px;letter-spacing:.25px}.form-input{width:100%;padding:14px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:all .3s ease;box-sizing:border-box;background:#fafbfc}.form-input:focus{outline:none;border-color:#4a90e2;background:#fff;box-shadow:0 0 0 3px #4a90e21a}.form-input:hover{border-color:#c5c9d0}.error-message{background:#fff5f5;border:1px solid #feb2b2;border-radius:6px;color:#c53030;padding:12px 16px;font-size:14px;margin-top:8px;text-align:center}.login-button{width:100%;padding:14px 20px;background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:12px;letter-spacing:.5px}.login-button:hover{transform:translateY(-1px);box-shadow:0 6px 20px #4a90e24d;background:linear-gradient(135deg,#357abd,#2968a3)}.login-button:active{transform:translateY(0);box-shadow:0 3px 10px #4a90e233}@media(max-width:480px){.login-container{padding:16px}.login-card{padding:32px 24px;max-width:90%;border-radius:8px}.login-title{font-size:24px;margin-bottom:24px}.form-input{padding:12px 14px;font-size:16px}.login-button{padding:12px 18px;font-size:16px}}@media(max-width:320px){.login-card{padding:24px 20px}.login-title{font-size:22px}}.clients-page{width:100%;margin:0;padding:0}.clients-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;padding:0 17px}.clients-page h1{color:#333;margin:0;font-size:28px}.sort-buttons{display:flex;gap:8px}.clients-list{display:flex;flex-direction:column;gap:0;width:100%;margin:0;padding:0}.client-card{background:#fff;border-bottom:1px solid #e9ecef;border-left:none;border-right:none;border-top:none;border-radius:0;padding:17px;text-decoration:none;color:inherit;transition:all .2s;width:100%;margin:0;box-shadow:none;display:block}.client-card:first-child{border-top:1px solid #e9ecef}.client-card:hover{background:#f8f9fa;text-decoration:none;color:inherit}.client-card:last-child{border-bottom:1px solid #e9ecef}.client-info h3{margin:0 0 9px;color:#333;font-size:18px}.client-number{color:#666;font-size:14px;margin:4px 0}.company{color:#4a90e2;font-weight:500;margin:4px 0}.job-count{color:#28a745;font-size:14px;margin:9px 0 0}@media(max-width:768px){.clients-header{flex-direction:column;align-items:flex-start;gap:13px;padding:0 4px}.clients-page h1{font-size:22px}.sort-buttons{align-self:stretch;flex-wrap:wrap}.sort-btn{flex:1 1 auto;justify-content:center}}.client-profile{max-width:1200px;margin:0 auto}.profile-header h1{color:#333;margin:10px 0 20px;font-size:32px}.client-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.client-header-row h1{margin-bottom:8px}.activate-btn,.deactivate-btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:600}.error-banner{background:#f8d7da;color:#842029;border:1px solid #f5c2c7;border-radius:4px;padding:8px 12px;margin-bottom:12px}.client-details{background:#f8f9fa;padding:20px;border-radius:8px;border:1px solid #e9ecef}.detail-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e9ecef}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.client-details p{margin:10px 0;color:#495057}.client-details a{color:#4a90e2;text-decoration:none}.client-details a:hover{text-decoration:underline}.contact-section{margin-top:20px;padding-top:20px;border-top:1px solid #e9ecef}.contact-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.contact-section h3{margin:0 0 15px;color:#333;font-size:18px;font-weight:600}.billing-section{background:#fff3cd;padding:15px;border-radius:4px;border:1px solid #ffc107}.jobs-section h2{color:#333;margin-bottom:20px;font-size:24px}.jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.job-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:20px;text-decoration:none;color:inherit;transition:all .2s;box-shadow:0 2px 4px #0000001a}.job-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026;text-decoration:none;color:inherit}.job-info h3{margin:0 0 10px;color:#333;font-size:18px}.job-number{color:#666;font-size:14px;margin:5px 0}.job-address{margin-top:15px;padding-top:15px;border-top:1px solid #e9ecef}@media(max-width:768px){.jobs-grid{grid-template-columns:1fr}.profile-header h1{font-size:24px}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #dee2e6;flex-shrink:0}.add-job-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:720px;width:95%;max-height:90vh;display:flex;flex-direction:column}.add-job-modal .modal-body{overflow-y:auto;padding:20px 24px 24px}.add-job-hint{margin:0 0 16px;font-size:13px;color:#666;line-height:1.5}.add-job-section{margin-bottom:20px}.add-job-section h4{margin:0 0 12px;font-size:15px;color:#333;border-bottom:1px solid #e9ecef;padding-bottom:8px}.client-mode-options{display:flex;gap:20px;margin-bottom:14px}.client-mode-options label{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.add-job-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 16px}.add-job-field{display:flex;flex-direction:column;gap:4px}.add-job-field.full-width{grid-column:1 / -1}.add-job-field label{font-size:12px;font-weight:500;color:#555}.add-job-field .required{color:#c53030;margin-left:2px}.add-job-field input,.add-job-field select,.add-job-field textarea{padding:8px 10px;border:1px solid #dee2e6;border-radius:4px;font-size:14px;font-family:inherit}.add-job-field input:focus,.add-job-field select:focus,.add-job-field textarea:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e226}.add-job-field textarea{resize:vertical;min-height:72px}.inherited-client-banner{display:flex;flex-wrap:wrap;gap:12px 20px;background:#f0f7ff;border:1px solid #c5ddf8;border-radius:6px;padding:10px 14px;margin-bottom:20px;font-size:13px;color:#333}.add-job-error{background:#fff5f5;border:1px solid #feb2b2;color:#c53030;padding:10px 14px;border-radius:6px;font-size:14px;margin-bottom:16px}.add-job-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:8px;border-top:1px solid #e9ecef}.add-job-actions .btn-primary,.add-job-actions .btn-secondary{padding:10px 18px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;border:none}.add-job-actions .btn-primary{background:#4a90e2;color:#fff}.add-job-actions .btn-primary:hover:not(:disabled){background:#357abd}.add-job-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.add-job-actions .btn-secondary{background:#fff;color:#666;border:1px solid #dee2e6}.add-job-actions .btn-secondary:hover:not(:disabled){background:#f8f9fa}@media(max-width:600px){.add-job-fields{grid-template-columns:1fr}.inherited-client-banner{flex-direction:column;gap:6px}}.jobs-page{width:100%;margin:0;padding:0}.jobs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;padding:0 17px}.jobs-page h1{color:#333;margin:0;font-size:28px}.filter-sort-buttons{display:flex;gap:8px;align-items:center}.add-new-btn{padding:6px 14px;border:none;border-radius:4px;background:#28a745;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.add-new-btn:hover{background:#218838}.filter-btn.filter-all{background:#4a90e2;color:#fff;border-color:#4a90e2}.jobs-list{display:flex;flex-direction:column;gap:0;width:100%;margin:0;padding:0}.job-card{background:#fff;border-bottom:1px solid #e9ecef;border-left:none;border-right:none;border-top:none;border-radius:0;padding:17px;text-decoration:none;color:inherit;transition:all .2s;width:100%;margin:0;box-shadow:none;display:block}.job-card:first-child{border-top:1px solid #e9ecef}.job-card:hover{background:#f8f9fa;text-decoration:none;color:inherit}.job-card:last-child{border-bottom:1px solid #e9ecef}.job-info h3{margin:0 0 9px;color:#333;font-size:18px}.job-number{color:#666;font-size:14px;margin:4px 0}.client-name{color:#4a90e2;font-weight:500;margin:4px 0}.job-address{margin-top:13px;padding-top:13px;border-top:1px solid #e9ecef}.job-address p{margin:2px 0;color:#495057;font-size:14px}@media(max-width:768px){.jobs-header{flex-direction:column;align-items:flex-start;gap:13px}.filter-sort-buttons{align-self:flex-end;flex-wrap:wrap}}.job-profile{max-width:1000px;margin:0 auto}.profile-header{margin-bottom:40px}.back-link{color:#4a90e2;text-decoration:none;margin-bottom:20px;display:inline-block;font-weight:500}.back-link:hover{text-decoration:underline}.header-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.header-actions h1{color:#333;margin:0;font-size:32px;flex-grow:1}.edit-btn,.save-btn,.cancel-btn,.activate-btn,.deactivate-btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:600}.activate-btn{background:#d1e7dd;color:#0f5132}.deactivate-btn{background:#f8d7da;color:#842029}.status-badge{display:inline-block;margin-left:12px;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:600;vertical-align:middle}.status-badge.active{background:#d1e7dd;color:#0f5132}.status-badge.inactive{background:#f8d7da;color:#842029}.edit-btn{background:#4a90e2;color:#fff}.edit-btn:hover{background:#357abd}.save-btn{background:#28a745;color:#fff}.save-btn:hover{background:#218838}.cancel-btn{background:#6c757d;color:#fff;margin-left:10px}.cancel-btn:hover{background:#545b62}.job-details{display:flex;flex-direction:column;gap:30px}.detail-section{background:#f8f9fa;padding:25px;border-radius:8px;border:1px solid #e9ecef}.detail-section h2{color:#333;margin:0 0 20px;font-size:20px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.detail-item{display:flex;flex-direction:column;gap:5px}.detail-item label{font-weight:600;color:#495057;font-size:14px}.detail-item span{color:#333;font-size:16px}.address-info p{margin:5px 0;color:#333;font-size:16px}.description-text,.notes-text,.security-text{color:#333;font-size:16px;line-height:1.5;margin:0;white-space:pre-wrap}.edit-textarea{width:100%;min-height:100px;padding:12px;border:1px solid #ced4da;border-radius:4px;font-family:inherit;font-size:14px;resize:vertical}.edit-textarea:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.error-banner{background:#fff3cd;color:#856404;padding:12px;border-radius:4px;border:1px solid #ffeaa7;margin:20px 0}.contact-section{margin-top:20px}.contact-info p{margin:10px 0;color:#495057}.contact-info a{color:#4a90e2;text-decoration:none}.contact-info a:hover{text-decoration:underline}@media(max-width:768px){.header-actions{flex-direction:column;align-items:flex-start}.header-actions h1{font-size:24px}.detail-grid{grid-template-columns:1fr}}.ukg-employee-combobox{position:relative;width:100%;max-width:260px}.ukg-employee-combobox-input-wrap{position:relative;display:flex;align-items:center}.ukg-employee-combobox-input{width:100%;padding:6px 28px 6px 8px;font-size:14px;border:1px solid #ced4da;border-radius:4px;background:#fff;box-sizing:border-box}.ukg-employee-combobox-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff33}.ukg-employee-combobox-input:disabled{background:#e9ecef;color:#6c757d}.ukg-employee-combobox-clear{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:26px;height:26px;padding:0;border:none;background:transparent;cursor:pointer;font-size:18px;line-height:1;color:#666;border-radius:4px}.ukg-employee-combobox-clear:hover{background:#f0f0f0;color:#333}.ukg-employee-combobox-list{position:absolute;z-index:50;left:0;right:0;top:100%;margin:2px 0 0;padding:4px 0;list-style:none;max-height:220px;overflow-y:auto;background:#fff;border:1px solid #ced4da;border-radius:4px;box-shadow:0 4px 12px #0000001f}.ukg-employee-combobox-option{display:block;width:100%;padding:8px 10px;border:none;background:none;text-align:left;font-size:14px;cursor:pointer}.ukg-employee-combobox-option:hover,.ukg-employee-combobox-option:focus{background:#e7f1ff;outline:none}.ukg-employee-combobox-none{color:#666;font-style:italic}.ukg-employee-combobox-empty{padding:10px;font-size:13px;color:#888;text-align:center}.inspections-page{max-width:1200px;margin:0 auto;padding:20px}.inspections-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:12px}.inspections-page .page-header h1{color:#333;margin:0;font-size:28px;line-height:1.25}.page-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn-danger-outline{background-color:transparent;color:#b42318;border:1px solid #b42318}.btn-danger-outline:hover{background-color:#fff5f5}.btn-danger{background-color:#b42318;color:#fff}.btn-danger:hover:not(:disabled){background-color:#912018}.btn-danger:disabled{opacity:.65;cursor:not-allowed}.btn-small{padding:6px 12px;font-size:13px}.delete-mode-banner{margin:-10px 0 20px;padding:10px 14px;border-radius:6px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;font-size:14px}.delete-error{margin-bottom:16px}.inspection-actions-cell{white-space:nowrap}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.stat-card h3{margin:0 0 10px;color:#666;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:6px}.scoring-info-btn{background:none;border:none;cursor:pointer;padding:2px 4px;font-size:14px;opacity:.7;line-height:1}.scoring-info-btn:hover{opacity:1}.stat-value{margin:0;font-size:32px;font-weight:700;color:#333}.inspections-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.inspections-table-container h2{margin:0;padding:20px;background:#f8f9fa;border-bottom:1px solid #dee2e6;font-size:18px;color:#333}.inspections-table{width:100%;border-collapse:collapse}.inspections-table th,.inspections-table td{padding:12px;text-align:left;border-bottom:1px solid #dee2e6}.inspections-table th{background:#f8f9fa;font-weight:600;color:#333}.inspections-table tbody tr:hover{background:#f8f9fa}.clickable-row{cursor:pointer}.clickable-row:hover{background:#e9ecef!important}.inspection-employee-cell{vertical-align:middle;min-width:180px}.score{padding:4px 8px;border-radius:4px;font-weight:500;font-size:12px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content.scoring-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:480px;width:90%}.modal-header h2{margin:0;font-size:18px;color:#333}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;line-height:1;padding:0 4px}.modal-close:hover{color:#333}.modal-body p{margin:0 0 12px;color:#555;font-size:14px;line-height:1.5}.modal-body h4{margin:16px 0 8px;font-size:14px;color:#333}.modal-body li{margin-bottom:4px;font-size:14px;color:#555}@media(max-width:768px){.inspections-page{padding:12px 4px}.inspections-page .page-header h1{font-size:22px}.stats-grid{grid-template-columns:1fr 1fr;gap:12px}}.create-inspection-page{max-width:800px;margin:0 auto;padding:20px}.create-inspection-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:12px}.create-inspection-page .page-header h1{color:#333;margin:0;font-size:28px;line-height:1.25}.btn-primary:disabled{background-color:#6c757d;cursor:not-allowed}.inspection-form{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.form-section{padding:30px;border-bottom:1px solid #dee2e6}.form-section:last-child{border-bottom:none}.form-section h2{margin:0 0 20px;color:#333;font-size:20px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:5px;color:#333;font-weight:500}.form-group input,.form-group select{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-group select:disabled{background-color:#e9ecef;color:#6c757d}.form-hint{margin:6px 0 0;font-size:12px;color:#666;line-height:1.35}.form-group .ukg-employee-combobox{max-width:none}.checklist{display:flex;flex-direction:column;gap:15px}.checklist-item{display:flex;flex-direction:column;gap:15px;padding:20px;border:1px solid #dee2e6;border-radius:5px;background:#f8f9fa}.item-header{display:flex;justify-content:space-between;align-items:center}.item-name{font-weight:500;color:#333}.toggle-switch{display:flex;align-items:center;gap:10px}.image-section{display:flex;flex-direction:column;gap:10px}.image-upload-btn{display:inline-block;padding:8px 16px;background:#007bff;color:#fff;border-radius:4px;cursor:pointer;font-size:14px;text-align:center;transition:background-color .3s ease;width:fit-content}.image-upload-btn:hover{background:#0056b3}.images-preview{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.image-preview{position:relative;display:inline-block;width:fit-content}.image-preview img{max-width:200px;max-height:150px;border-radius:4px;box-shadow:0 2px 4px #0000001a}.upload-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;color:#fff;padding:5px 10px;border-radius:4px;font-size:12px}.remove-image-btn{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:#dc3545;color:#fff;border:none;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003}.remove-image-btn:hover{background:#c82333}.pending-badge{position:absolute;bottom:4px;left:4px;background:#ffc107e6;color:#856404;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;z-index:1}.toggle-switch input[type=checkbox]{display:none}.toggle-label{display:flex;align-items:center;gap:10px;cursor:pointer}.toggle-slider{position:relative;width:60px;height:30px;background:#dc3545;border-radius:15px;transition:background-color .3s ease}.toggle-slider:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;background:#fff;border-radius:50%;transition:transform .3s ease;box-shadow:0 2px 4px #0003}.toggle-switch input[type=checkbox]:checked+.toggle-label .toggle-slider{background:#28a745}.toggle-switch input[type=checkbox]:checked+.toggle-label .toggle-slider:after{transform:translate(30px)}.toggle-text{font-size:14px;font-weight:500;min-width:35px}.toggle-switch input[type=checkbox]:checked+.toggle-label .toggle-text{color:#28a745}.toggle-switch input[type=checkbox]:not(:checked)+.toggle-label .toggle-text{color:#dc3545}.form-actions{padding:30px;background:#f8f9fa;display:flex;justify-content:flex-end}.error-message{margin:20px 30px 0;padding:15px;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px}.error{text-align:center;padding:40px;color:#dc3545;font-size:16px}.inspection-details-page{max-width:900px;margin:0 auto;padding:20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-header h1{color:#333;margin:0;font-size:28px}.btn{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;text-decoration:none;font-size:14px;font-weight:500;transition:background-color .3s ease}.btn-secondary:hover{background-color:#545b62}.inspection-info{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:25px;margin-bottom:30px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.info-item{display:flex;flex-direction:column;gap:5px}.info-item label{font-weight:600;color:#666;font-size:14px}.info-item span{color:#333;font-size:16px}.score{padding:4px 8px;border-radius:4px;font-weight:600;width:fit-content}.score.good{background:#d4edda;color:#155724}.score.fair{background:#fff3cd;color:#856404}.score.poor{background:#f8d7da;color:#721c24}.status{text-transform:capitalize;font-weight:500}.slideshow-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.slideshow-container h2{margin:0;padding:20px;background:#f8f9fa;border-bottom:1px solid #dee2e6;font-size:18px;color:#333}.slideshow-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#f8f9fa;border-bottom:1px solid #dee2e6}.slideshow-header h2{margin:0;padding:0;font-size:18px;color:#333}.progress-info{display:flex;align-items:center;gap:10px}.progress-text{font-size:14px;color:#666;white-space:nowrap}.progress-bar{width:100px;height:6px;background:#e9ecef;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:#007bff;transition:width .3s ease}.slideshow{padding:30px}.slide{margin-bottom:30px}.slide-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.slide-header h3{margin:0;color:#333;font-size:20px}.result{padding:8px 16px;border-radius:20px;font-weight:700;font-size:14px}.result.pass{background:#28a745;color:#fff}.fail-details{margin-top:15px;padding:15px;background:#fff3cd;border-radius:4px;border-left:4px solid #ffc107}.fail-details h4{margin:0 0 10px;color:#856404;font-size:14px;font-weight:600}.fail-details ul{margin:0;padding-left:20px;list-style-type:disc}.fail-details li{color:#856404;font-size:14px;margin:5px 0}.result.fail{background:#dc3545;color:#fff}.slide-images{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.slide-image{text-align:center;flex:0 1 auto}.slide-image img{max-width:100%;max-height:400px;border-radius:8px;box-shadow:0 4px 8px #0000001a}.no-image{display:flex;align-items:center;justify-content:center;height:200px;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#666;font-style:italic}.slideshow-controls{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding:0 20px;gap:30px}.nav-btn{padding:12px 24px;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .3s ease;min-width:100px}.nav-btn:hover{background:#0056b3}.slide-indicators{display:flex;gap:12px;flex-wrap:nowrap;overflow-x:hidden;padding:15px 10px;max-width:100%;flex:1;justify-content:center}.indicator{position:relative;width:24px;height:24px;border-radius:50%;border:2px solid #dee2e6;background:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;font-size:0}.indicator.pass{border-color:#28a745;background:#d4edda}.indicator.fail{border-color:#dc3545;background:#f8d7da}.indicator.active{border-color:#007bff;background:#007bff;box-shadow:0 0 0 4px #007bff40;transform:scale(1.1)}.camera-icon{width:14px;height:14px;background-color:#333;mask:url(/icons/camera_icon.svg) center / contain no-repeat;-webkit-mask:url(/icons/camera_icon.svg) center / contain no-repeat}@media(max-width:768px){.slideshow-controls{flex-direction:column;gap:20px}.nav-btn{width:100%;max-width:200px;align-self:center}.slide-indicators{order:-1;justify-content:center}.indicator{width:20px;height:20px}.camera-icon{width:10px;height:10px}}.deficiencies-page{max-width:1200px;margin:0 auto;padding:20px}.deficiencies-page .page-header{margin-bottom:30px}.deficiencies-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:30px;flex-wrap:wrap}.deficiencies-page-header h1{color:#333;margin:0;font-size:28px;line-height:1.25}.close-all-error{margin-bottom:16px}.close-all-btn{flex-shrink:0;padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid #6c757d;background:#fff;color:#333}.close-all-btn:hover:not(:disabled){background:#f8f9fa}.close-all-btn:disabled{opacity:.6;cursor:not-allowed}.deficiencies-page .page-header h1{color:#333;margin:0;font-size:28px}.deficiencies-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.deficiencies-table{width:100%;border-collapse:collapse}.deficiencies-table th,.deficiencies-table td{padding:12px;text-align:left;border-bottom:1px solid #dee2e6}.deficiencies-table th{background:#f8f9fa;font-weight:600;color:#333}.deficiencies-table tbody tr:hover{background:#f8f9fa}.camera-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .3s ease}.camera-btn:hover{background:#f0f0f0}.photo-btn{background:none;border:1px solid #dee2e6;font-size:14px;cursor:pointer;padding:6px 10px;border-radius:4px;transition:background-color .3s ease}.photo-btn:hover{background:#f0f0f0}.no-photo{color:#999;font-size:16px}.image-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.image-modal-content{position:relative;max-width:90%;max-height:90%;display:flex;align-items:center;justify-content:center}.carousel-image-container{position:relative;max-width:100%;max-height:90vh;display:flex;align-items:center;justify-content:center}.carousel-image-container img{max-width:100%;max-height:90vh;border-radius:8px;object-fit:contain}.image-placeholder{padding:40px;color:#fff;font-size:16px}.carousel-counter{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:6px 12px;border-radius:4px;font-size:14px;font-weight:500}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;border-radius:50%;width:48px;height:48px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.carousel-btn:hover{background:#fff;transform:translateY(-50%) scale(1.1)}.carousel-btn.carousel-prev{left:10px}.carousel-btn.carousel-next{right:10px}@media(max-width:768px){.deficiencies-page{padding:12px 4px}.deficiencies-page-header h1{font-size:22px}.deficiencies-page-header .close-all-btn{width:100%}.deficiencies-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.deficiencies-table{min-width:700px}.carousel-btn{width:40px;height:40px;font-size:20px}.carousel-btn.carousel-prev{left:5px}.carousel-btn.carousel-next{right:5px}.carousel-counter{font-size:12px;padding:4px 8px}.carousel-indicators{bottom:-30px}.carousel-indicator{width:8px;height:8px}}.carousel-indicators{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10}.carousel-indicator{width:10px;height:10px;border-radius:50%;border:2px solid white;background:#ffffff80;cursor:pointer;transition:all .3s ease;padding:0}.carousel-indicator:hover{background:#fffc;transform:scale(1.2)}.carousel-indicator.active{background:#fff;transform:scale(1.3)}.close-modal{position:absolute;top:-40px;right:0;background:#fff;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}.close-modal:hover{background:#f0f0f0}.status-btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;min-width:80px}.status-btn.status-open{background:#dc3545;color:#fff}.status-btn.status-open:hover{background:#c82333}.status-btn.status-closed{background:#90ee90;color:#155724}.status-btn.status-closed:hover{background:#7dd87d}.employees-page{width:100%;margin:0;padding:0}.employees-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;padding:0 17px}.employees-page h1{color:#333;margin:0;font-size:28px}.filter-sort-buttons{display:flex;gap:8px}.filter-btn{padding:6px 12px;border:1px solid #e9ecef;border-radius:4px;background:#fff;color:#666;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.filter-btn:hover{background:#f8f9fa;border-color:#4a90e2;color:#4a90e2}.filter-btn.active,.filter-btn.filter-all{background:#4a90e2;color:#fff;border-color:#4a90e2}.filter-btn.filter-all:hover{background:#357abd;border-color:#357abd}.filter-btn.filter-3PC{background:#00bfff;color:#fff;border-color:#00bfff}.filter-btn.filter-3PC:hover{background:#09c;border-color:#09c}.filter-btn.filter-CWS{background:#90ee90;color:#fff;border-color:#90ee90}.filter-btn.filter-CWS:hover{background:#7cd87c;border-color:#7cd87c}.sort-btn{padding:6px 12px;border:1px solid #e9ecef;border-radius:4px;background:#fff;color:#666;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.sort-btn:hover{background:#f8f9fa;border-color:#4a90e2;color:#4a90e2}.sort-btn.active{background:#4a90e2;color:#fff;border-color:#4a90e2}.sort-btn.active:hover{background:#357abd;border-color:#357abd}.employees-list{display:flex;flex-direction:column;gap:0;width:100%;margin:0;padding:0}.employee-card{background:#fff;border-bottom:1px solid #e9ecef;border-left:none;border-right:none;border-top:none;border-radius:0;padding:17px;transition:all .2s;width:100%;margin:0;box-shadow:none;display:flex;flex-direction:column}.employee-card:first-child{border-top:1px solid #e9ecef}.employee-card:hover{background:#f8f9fa}.employee-card:last-child{border-bottom:1px solid #e9ecef}.employee-card-link{text-decoration:none;color:inherit;flex:1}.employee-card-link:hover{text-decoration:none;color:inherit}.employee-info h3{margin:0 0 9px;color:#333;font-size:18px}.employee-id{color:#666;font-size:14px;margin:4px 0}.employee-status{color:#666;font-size:13px;margin:4px 0}.employee-email{color:#4a90e2;font-size:14px;margin:4px 0}.employee-phone-wrapper{margin-top:9px;padding-top:9px;border-top:1px solid #f0f0f0}.employee-phone{color:#666;font-size:14px;margin:5px 0}.phone-link{color:#4a90e2;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:5px;transition:all .2s;cursor:pointer;font-size:14px}@media(max-width:768px){.employees-header{flex-direction:column;align-items:flex-start;gap:13px}.filter-sort-buttons{align-self:flex-end;flex-wrap:wrap}}.employee-profile{max-width:1200px;margin:0 auto}.profile-header{background:#fff;border-radius:8px;padding:30px;margin-bottom:30px;box-shadow:0 2px 4px #0000001a}.back-link{display:inline-block;color:#4a90e2;text-decoration:none;margin-bottom:20px;font-size:14px;transition:color .2s}.back-link:hover{color:#357abd;text-decoration:underline}.profile-header h1{color:#333;margin:0 0 20px;font-size:32px}.employee-details{display:flex;flex-direction:column;gap:15px;margin-top:20px}.detail-row{display:flex;align-items:baseline;gap:15px;padding:10px 0;border-bottom:1px solid #f0f0f0}.detail-row:last-child{border-bottom:none}.detail-row strong{min-width:150px;color:#666;font-weight:600}.detail-row span{color:#333;flex:1}.phone-link{color:#4a90e2;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:5px;transition:all .2s;cursor:pointer}.phone-link:hover{color:#357abd;text-decoration:underline;transform:scale(1.05)}.phone-link:active{transform:scale(.98)}.loading,.error{text-align:center;padding:40px;font-size:18px}.applicants-page{width:100%;margin:0;padding:0 0 24px}.applicants-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:0 17px;flex-wrap:wrap}.applicants-dropzone{margin:0 17px 14px;padding:22px 18px;border:2px dashed #c5d0db;border-radius:8px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.applicants-dropzone:hover,.applicants-dropzone.is-dragover{border-color:#4a90e2;background:#eef6ff;box-shadow:inset 0 0 0 1px #4a90e240}.applicants-dropzone.is-busy{opacity:.7;cursor:progress;pointer-events:none}.applicants-dropzone-title{font-size:15px;font-weight:600;color:#334155}.applicants-dropzone-hint{margin-top:4px;font-size:13px;color:#64748b}.applicant-multi-badge{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;background:#e8eef5;color:#475569;font-size:11px;font-weight:600;vertical-align:middle}.applicant-applications{display:flex;flex-direction:column;gap:6px}.applicant-application{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}.applicant-application-date{font-weight:600;color:#1e293b;min-width:110px}.applicant-application-job{color:#475569}.applicants-page h1{color:#333;margin:0;font-size:28px}.applicants-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.applicants-search{min-width:220px;padding:8px 12px;border:1px solid #e9ecef;border-radius:5px;font-size:14px}.applicants-page .btn{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;text-decoration:none;font-size:14px;font-weight:500;transition:background-color .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:4px}.applicants-page .btn:disabled,.applicants-page .btn.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.applicants-page .btn-primary{background-color:#007bff;color:#fff}.applicants-page .btn-primary:hover:not(:disabled){background-color:#0056b3}.applicants-page .btn-secondary{background-color:#6c757d;color:#fff}.applicants-page .btn-secondary:hover:not(:disabled){background-color:#545b62}.applicants-page .btn-sm{padding:6px 10px;font-size:12px;white-space:nowrap}.applicants-notice{margin:0 17px 12px;padding:10px 14px;background:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32;border-radius:4px;font-size:14px}.applicants-zoom-hint,.applicants-legend{margin:0 17px 10px;color:#666;font-size:13px}.applicants-empty{padding:40px 17px;color:#666;text-align:center}.applicants-table-wrap{margin:0 17px;overflow-x:auto;background:#fff;border:1px solid #e9ecef;border-radius:6px}.applicants-table{width:100%;border-collapse:collapse;min-width:1100px;font-size:13px}.applicants-table th,.applicants-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #eef1f4;vertical-align:middle;color:#333}.applicants-table thead th{position:sticky;top:0;z-index:2;background:#f8f9fa;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;white-space:nowrap}.applicants-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.applicants-table th.sortable:hover{color:#007bff}.applicants-table th.num,.applicants-table td.num{text-align:center;font-variant-numeric:tabular-nums}.applicants-table td.nowrap{white-space:nowrap}.call-stamp.is-connected{color:#2e7d32;font-weight:600}.call-stamp.is-missed{color:#c62828;font-weight:600}.call-staff{font-size:12px;font-weight:500;margin-top:2px}.applicants-table .applicant-name-cell{font-weight:600;min-width:140px}.applicants-table .actions-col{min-width:150px}.applicants-table .asana-col{min-width:88px;white-space:nowrap}.asana-links{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.asana-links a{color:#4a90e2;text-decoration:none;font-weight:500;font-size:12px}.asana-links a:hover{text-decoration:underline}.applicants-table tbody tr.clickable-row{cursor:pointer}.applicants-table tbody tr.clickable-row:hover td,.applicants-table tbody tr.clickable-row.is-open td{background:#f8f9fa}.applicant-actions{display:flex;gap:6px}.applicant-detail{display:flex;flex-direction:column;gap:6px;padding:4px 0}.applicant-detail-row{display:grid;grid-template-columns:160px 1fr;gap:8px;font-size:14px;color:#333}.applicant-label{color:#666;font-weight:500}.applicant-detail a{color:#4a90e2;text-decoration:none}.applicant-detail a:hover{text-decoration:underline}.applicant-detail-row-wrap td{background:#fbfcfd}.applicant-syncing{color:#888;font-size:13px}.zoom-dots{display:inline-flex;align-items:center;gap:5px;padding:0 6px;min-height:28px}.zoom-dots span{width:7px;height:7px;border-radius:50%;background:#4a90e2;animation:zoom-dot-bounce .9s infinite ease-in-out}.zoom-dots span:nth-child(2){animation-delay:.15s}.zoom-dots span:nth-child(3){animation-delay:.3s}.stats-spinner{display:inline-block;width:11px;height:11px;margin-right:7px;border:2px solid #c5d4e8;border-top-color:#4a90e2;border-radius:50%;vertical-align:-1px;animation:stats-spin .7s linear infinite}@keyframes stats-spin{to{transform:rotate(360deg)}}.applicants-table td.num.is-stats-pending{color:#94a3b8}@keyframes zoom-dot-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}.jobs-filter,.export-menu{position:relative}.jobs-filter-btn{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jobs-filter-menu,.export-menu-list{position:absolute;top:calc(100% + 6px);left:0;z-index:20;background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 8px 20px #0000001f;min-width:260px;max-height:360px;overflow:auto}.export-menu-list{left:auto;right:0;min-width:140px}.jobs-filter-actions{display:flex;gap:8px;padding:8px 10px;border-bottom:1px solid #eee}.jobs-filter-actions button,.export-menu-list button{background:none;border:none;color:#007bff;cursor:pointer;font-size:13px;padding:6px 10px;text-align:left;width:100%}.jobs-filter-actions button{width:auto}.jobs-filter-actions button:hover,.export-menu-list button:hover{background:#f8f9fa}.jobs-filter-list{padding:6px 0}.jobs-filter-list label{display:flex;align-items:flex-start;gap:8px;padding:6px 12px;font-size:13px;cursor:pointer}.jobs-filter-list label:hover{background:#f8f9fa}.jobs-filter-empty{margin:0;padding:12px;color:#888;font-size:13px}.applicant-history{margin-top:14px;padding-top:12px;border-top:1px solid #eee}.applicant-history h4{margin:0 0 8px;font-size:14px}.applicant-history-status{margin:0;color:#666;font-size:13px;display:flex;align-items:center;gap:8px}.applicant-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.history-item{background:#fff;border:1px solid #eef1f4;border-radius:6px;padding:8px 10px}.history-item.is-connected .history-staff,.history-item.is-connected .history-meta{color:#2e7d32}.history-item.is-missed .history-staff,.history-item.is-missed .history-meta{color:#c62828}.history-meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:13px;font-weight:600}.history-staff,.history-result{font-weight:500}.history-preview{margin:6px 0 0;font-size:13px;color:#444;white-space:pre-wrap;line-height:1.4}.applicants-page .loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:20px}.applicants-page .spinner,.loading .spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #4a90e2;border-radius:50%;animation:applicants-spin 1s linear infinite}@keyframes applicants-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.applicants-header{flex-direction:column;align-items:flex-start}.applicant-detail-row{grid-template-columns:1fr;gap:2px}}.users-page{max-width:1400px;margin:0 auto;padding:20px}.users-page .page-header{margin-bottom:30px}.users-page .page-header-flex{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.users-page .page-header-actions{display:flex;gap:8px;flex-wrap:wrap}.add-user-form{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:20px;margin-bottom:20px}.add-user-form h3{margin:0 0 16px;font-size:18px}.add-user-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 24px;margin-bottom:16px}.form-row{display:flex;flex-direction:column;gap:4px}.form-row label{font-size:12px;font-weight:500;color:#333}.add-user-actions{display:flex;gap:8px}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c82333}.users-page .page-header h1{color:#333;margin:0;font-size:28px;line-height:1.25}.error-message{background-color:#f8d7da;color:#721c24;padding:12px 16px;border-radius:5px;margin-bottom:20px;border:1px solid #f5c6cb}.users-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:12px;text-align:left;border-bottom:1px solid #dee2e6}.users-table th{background:#f8f9fa;font-weight:600;color:#333;position:sticky;top:0;z-index:1}.users-table tbody tr:hover{background:#f8f9fa}.users-table tbody tr.editing{background:#fff3cd}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.muted-text{color:#6c757d;font-style:italic}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.inactive{background-color:#f8d7da;color:#721c24}.edit-input,.edit-select{width:100%;padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.edit-input:focus,.edit-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.edit-checkbox{width:18px;height:18px;cursor:pointer}.password-field{display:flex;flex-direction:column;gap:5px}.password-field label{font-size:12px;color:#666;font-weight:500}.action-buttons{display:flex;gap:8px}.btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .3s ease}.btn-secondary:hover:not(:disabled){background-color:#545b62}.btn-sm{padding:4px 8px;font-size:12px}.error{text-align:center;padding:40px;font-size:18px;color:#dc3545;background-color:#f8d7da;border-radius:8px;margin:20px}@media(max-width:768px){.users-page{padding:12px 4px}.users-page .page-header h1{font-size:22px}.users-page .page-header-actions{width:100%}.add-user-fields{grid-template-columns:1fr}.users-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.users-table{min-width:800px}.action-buttons{flex-direction:column}}.user-roles-page{max-width:1400px;margin:0 auto;padding:20px}.user-roles-page .page-header{margin-bottom:24px}.user-roles-page .page-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.user-roles-page .page-header-actions{display:flex;gap:8px;align-items:center}.user-roles-page .back-link{color:#007bff;text-decoration:none;font-size:14px;display:inline-block;margin-bottom:8px}.user-roles-page .back-link:hover{text-decoration:underline}.user-roles-page .page-header h1{color:#333;margin:0 0 8px;font-size:28px}.user-roles-page .page-subtitle{color:#666;margin:0;font-size:14px;max-width:720px;line-height:1.45}@media(max-width:768px){.user-roles-page{padding:12px 4px}.user-roles-page .page-header h1{font-size:22px}.user-roles-page .page-header-actions{width:100%}}.roles-error{background:#f8d7da;color:#721c24;padding:10px 14px;border-radius:6px;margin-bottom:16px}.roles-success{background:#d4edda;color:#155724;padding:10px 14px;border-radius:6px;margin-bottom:16px}.add-role-section .add-role-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.add-role-input{min-width:240px;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.roles-section{margin-bottom:40px}.roles-section h2{font-size:18px;color:#333;margin:0 0 8px}.roles-section .section-desc{color:#666;font-size:13px;margin:0 0 16px}.roles-matrix-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.roles-matrix-table{width:100%;border-collapse:collapse}.roles-matrix-table th,.roles-matrix-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #dee2e6;vertical-align:middle}.roles-matrix-table th{background:#f8f9fa;font-weight:600;color:#333;white-space:nowrap}.roles-matrix-table .role-cell{font-weight:500;white-space:nowrap}.role-locked-badge{display:inline-block;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#6c757d;background:#e9ecef;border-radius:3px}.roles-matrix-table .access-cell{text-align:center}.roles-matrix-table .access-cell input[type=checkbox]{width:16px;height:16px;cursor:pointer}.role-actions-col{width:140px}.role-actions-cell{white-space:nowrap}.remove-role-confirm{display:inline-flex;gap:6px}.access-yes{display:inline-block;padding:4px 10px;background:#d4edda;color:#155724;border-radius:4px;font-size:12px;font-weight:500}.access-no{color:#adb5bd}.loading{padding:40px;text-align:center;color:#666}.reports-page{max-width:1200px;margin:0 auto;padding:20px}.reports-page .page-header{margin-bottom:30px}.reports-page .page-header h1{color:#333;margin:0;font-size:28px}.reports-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.report-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:25px;display:flex;flex-direction:column;gap:15px;min-width:0}.report-card h2{margin:0;color:#333;font-size:20px}.report-card p{margin:0;color:#666;font-size:14px;line-height:1.5;flex-grow:1}.reports-page .btn{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;text-decoration:none;font-size:14px;font-weight:500;transition:background-color .3s ease;display:inline-block;text-align:center;width:fit-content}.reports-page .btn-primary{background-color:#007bff;color:#fff}.reports-page .btn-primary:hover{background-color:#0056b3}@media(max-width:768px){.reports-page{padding:12px 4px}.reports-page .page-header h1{font-size:22px}.reports-list{grid-template-columns:1fr;gap:14px}.report-card{padding:18px}}.employee-scorecard-page{max-width:1400px;margin:0 auto;padding:20px}.employee-scorecard-page .page-header{margin-bottom:30px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.employee-scorecard-page .header-left{display:flex;flex-direction:column;gap:10px;flex:1;min-width:0}.employee-scorecard-page .header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.employee-scorecard-page .back-link{color:#007bff;text-decoration:none;font-size:14px;width:fit-content}.employee-scorecard-page .back-link:hover{text-decoration:underline}.employee-scorecard-page .page-header h1{color:#333;margin:0;font-size:28px;line-height:1.25}.scorecard-callout-range{display:flex;align-items:center;gap:8px;font-size:14px;color:#555}.scorecard-role-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.scorecard-role-filters-label{font-size:14px;font-weight:600;color:#555}.role-filter-chip{border:none;border-radius:16px;padding:6px 14px;font-size:13px;cursor:pointer;font-weight:500;transition:background-color .2s ease,color .2s ease}.role-filter-chip.active{background:#007bff;color:#fff}.role-filter-chip.inactive{background:#e9ecef;color:#6c757d}.role-filter-chip.inactive:hover{background:#dee2e6}.scorecard-callout-range select{padding:6px 10px;border-radius:4px;border:1px solid #ced4da;font-size:14px;background:#fff}.scorecard-title-row{display:flex;align-items:center;gap:8px}.scorecard-title-row h1{margin:0}.scorecard-info-btn{background:none;border:none;cursor:pointer;padding:4px;font-size:18px;opacity:.75;line-height:1}.scorecard-info-btn:hover{opacity:1}.ukg-connection-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:#555}.ukg-status-label{font-weight:600}.ukg-status-item{padding:2px 8px;border-radius:12px;background:#f1f3f5}.ukg-status-item.connected{color:#155724;background:#d4edda;font-weight:600}.ukg-status-item.disconnected{color:#721c24;background:#f8d7da}.scorecard-data-source{color:#666;font-style:italic}.scorecard-warning{margin-bottom:16px;padding:10px 14px;background:#fff3cd;color:#856404;border-radius:4px;font-size:14px}.upload-backup-note{margin:0;font-size:13px;color:#666}.modal-content.scorecard-info-modal,.modal-content.scorecard-email-modal,.modal-content.scorecard-batch-modal{background:#fff;border-radius:8px;max-width:560px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 8px 24px #0003}.modal-content.scorecard-batch-modal{max-width:780px}.modal-header h2{margin:0;font-size:20px}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;line-height:1}.modal-body h4{margin:16px 0 8px}.modal-body ul{margin:0 0 12px;padding-left:20px}.modal-body li{margin-bottom:6px}.email-recipient-label{display:flex;flex-direction:column;gap:6px;font-weight:500;margin-bottom:12px}.email-recipient-label select,.email-recipient-label input[type=email]{padding:8px 10px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.email-quick-picks{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 14px}.email-quick-pick{border:1px solid #ced4da;background:#f8f9fa;border-radius:16px;padding:4px 10px;font-size:12px;cursor:pointer;color:#495057}.email-quick-pick:hover:not(:disabled){background:#e9ecef}.email-quick-pick.active{background:#e7f1ff;border-color:#007bff;color:#004085}.email-period-note{font-size:13px;color:#666;margin:0 0 16px}.batch-summary{margin:0 0 14px;font-size:14px;color:#555;line-height:1.45}.batch-table-wrap{max-height:48vh;overflow:auto;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:14px}.batch-review-table{width:100%;border-collapse:collapse;font-size:14px}.batch-review-table th,.batch-review-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #eee;vertical-align:middle}.batch-review-table thead th{position:sticky;top:0;background:#f8f9fa;font-weight:600;z-index:1}.batch-check-col{width:40px}.batch-name-btn{background:none;border:none;padding:0;color:#0d6efd;font:inherit;cursor:pointer;text-align:left}.batch-name-btn:hover{text-decoration:underline}.batch-row-missing{background:#fff8f8}.batch-email-missing{color:#b02a37;font-style:italic}.batch-row-expanded{background:#f3f8ff}.batch-detail-row td{background:#f8fbff;padding:0 12px 12px}.batch-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px 12px;padding-top:4px}.batch-detail-grid div{display:flex;flex-direction:column;gap:2px;font-size:13px}.batch-detail-grid span{color:#6c757d;font-size:11px;text-transform:uppercase;letter-spacing:.02em}.batch-detail-grid em{font-style:normal;font-weight:600}.batch-modal-actions{margin-top:4px;flex-wrap:wrap}.batch-test-panel{margin-bottom:12px;padding:12px;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:6px}.batch-test-panel input[type=email]{padding:8px 10px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.batch-test-note{margin:0;font-size:13px;color:#666;line-height:1.4}.email-modal-actions{display:flex;gap:10px;justify-content:flex-end}.scorecard-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.scorecard-table{width:100%;border-collapse:collapse}.scorecard-table th,.scorecard-table td{padding:12px;text-align:left;border-bottom:1px solid #dee2e6}.scorecard-table th{background:#f8f9fa;font-weight:600;color:#333;position:sticky;top:0;z-index:1}.scorecard-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.scorecard-table th.sortable:hover{background:#e9ecef}.scorecard-table tbody tr:hover{background:#f8f9fa}.score-low{color:#dc3545;font-weight:600}.score-good{color:#007bff;font-weight:600}.upload-btn,.email-btn{white-space:nowrap}.email-success,.email-error{padding:8px 12px;border-radius:4px;font-size:14px;white-space:nowrap;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.email-success{background:#d4edda;color:#155724}.email-error{background:#f8d7da;color:#721c24}.upload-section{display:flex;flex-direction:column;gap:15px;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;min-width:400px}.upload-files{display:flex;flex-direction:column;gap:12px}.upload-file-item{display:flex;flex-direction:column;gap:5px}.upload-file-item label{font-size:14px;font-weight:500;color:#333}.upload-file-item input[type=file]{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px;cursor:pointer}.upload-file-item input[type=file]:hover{border-color:#007bff}.upload-filename{font-size:12px;color:#666;word-break:break-all}.upload-error{padding:10px;background:#f8d7da;color:#721c24;border-radius:4px;font-size:14px}.upload-success{padding:10px;background:#d4edda;color:#155724;border-radius:4px;font-size:14px}.upload-actions{display:flex;gap:10px;justify-content:flex-end}.btn-secondary{background-color:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .3s ease}.btn-secondary:disabled{background-color:#ccc;cursor:not-allowed}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}@media(max-width:768px){.employee-scorecard-page{padding:12px 4px}.employee-scorecard-page .page-header{flex-direction:column}.employee-scorecard-page .page-header h1{font-size:22px}.employee-scorecard-page .header-right{width:100%}.employee-scorecard-page .header-right .btn{flex:1 1 calc(50% - 10px);text-align:center}.scorecard-role-filters{gap:6px}.role-filter-chip{font-size:12px;padding:6px 10px}.upload-section{min-width:auto;width:100%}.scorecard-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.scorecard-table{min-width:800px}}.header-right .scorecard-info-btn{font-size:16px;font-weight:700;width:28px;height:28px;border-radius:50%;border:1px solid #ced4da;background:#f8f9fa;display:inline-flex;align-items:center;justify-content:center}.asana-report-page{max-width:1400px;margin:0 auto;padding:20px}.asana-report-page .page-header{margin-bottom:30px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.asana-report-page .header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.asana-report-page .header-left{display:flex;flex-direction:column;gap:10px;flex:1;min-width:0}.asana-report-page .back-link{color:#007bff;text-decoration:none;font-size:14px;width:fit-content}.asana-report-page .back-link:hover{text-decoration:underline}.asana-report-page .page-header h1{color:#333;margin:0;font-size:28px;line-height:1.25}.report-meta{margin:0;font-size:14px;color:#666}.rm-assets-table th{white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.rm-assets-table td{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-assets-th--editing{position:relative;padding-right:28px;cursor:default}.rm-assets-th--editing:hover{background:#f8f9fa}.rm-assets-col-remove{position:absolute;top:50%;right:6px;transform:translateY(-50%);border:none;background:transparent;color:#6c757d;font-size:18px;line-height:1;padding:0 4px;cursor:pointer;border-radius:3px}.rm-assets-col-remove:hover{color:#dc3545;background:#f8d7da}.rm-assets-columns-toggle--active{background-color:#495057;box-shadow:inset 0 0 0 2px #343a40}.rm-assets-columns-toggle--active:hover{background-color:#343a40}.rm-assets-hidden-bar{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 12px;margin-bottom:12px;padding:12px 14px;background:#fff8e6;border:1px solid #ffe08a;border-radius:8px;box-shadow:0 2px 6px #0000000f}.rm-assets-hidden-bar-label{flex:0 0 100%;font-size:13px;font-weight:600;color:#856404}.rm-assets-hidden-chips{display:flex;flex-wrap:wrap;gap:8px}.rm-assets-col-chip{border:1px dashed #007bff;background:#fff;color:#007bff;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-assets-col-chip:hover{background:#e7f1ff;border-style:solid}.rm-assets-edit-hint{margin:0 0 10px;font-size:13px;color:#666}.report-table-container--column-edit{border:2px solid #ffe08a}.rm-assets-table-empty{margin:0;padding:32px 16px;text-align:center;color:#666;font-style:italic}.rm-assets-loading-hint{font-size:14px;color:#888;max-width:320px;text-align:center}.rm-assets-inline-error{margin-bottom:16px}.rm-assets-no-columns{text-align:center;padding:48px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.rm-assets-no-columns p{margin:0 0 16px;color:#666}.report-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.report-table{width:100%;border-collapse:collapse}.report-table th,.report-table td{padding:12px;text-align:left;border-bottom:1px solid #dee2e6}.report-table th{background:#f8f9fa;font-weight:600;color:#333;position:sticky;top:0;z-index:1}.report-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.report-table th.sortable:hover{background:#e9ecef}.sort-indicator{margin-left:5px;color:#007bff;font-weight:700}.name-mismatch{background-color:#ffe6e6;color:#c00}.report-table tbody tr:hover{background:#f8f9fa}.no-data{text-align:center;padding:40px!important;color:#666;font-style:italic}.gid-cell{font-family:monospace;font-size:13px;color:#666}.loading,.error{text-align:center;padding:40px;font-size:16px}.loading-ukg{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:20px;font-size:18px;color:#666}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #4a90e2;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{color:#dc3545}.btn{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;text-decoration:none;font-size:14px;font-weight:500;transition:background-color .3s ease;display:inline-block;text-align:center;white-space:nowrap}.btn-primary:hover{background-color:#0056b3}.btn-secondary:hover{background-color:#5a6268}.asana-link{color:#007bff;text-decoration:none;font-weight:500}.asana-link:hover{text-decoration:underline}.status-ok{color:#28a745;font-weight:500}.status-warning{color:#ffc107;font-weight:500}.status-info{color:#17a2b8;font-weight:500}.status-error{color:#dc3545;font-weight:500}.status-na{color:#6c757d;font-weight:500}.past-due{color:#dc3545;font-weight:600}.strip-wax-badge{display:inline-block;padding:4px 10px;border-radius:999px;background-color:#28a745;color:#fff;font-weight:600;font-size:12px}.report-filter-input{padding:8px 12px;border:1px solid #dee2e6;border-radius:5px;font-size:14px;min-width:200px}.report-meta{margin-bottom:16px;font-size:14px;color:#666}.cell-description,.cell-subtasks{max-width:280px;white-space:pre-wrap;word-break:break-word}@media(max-width:768px){.asana-report-page{padding:12px 4px}.asana-report-page .page-header{flex-direction:column}.asana-report-page .page-header h1{font-size:22px}.asana-report-page .header-right{width:100%}.report-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.report-table{min-width:500px}.asana-report-page .report-table{min-width:1000px}}.monday-report-page{max-width:none;width:100%;margin:0;padding:8px 4px 16px}.content:has(.monday-report-page){padding-left:10px;padding-right:10px;overflow-x:auto}.monday-report-page .page-header{margin-bottom:20px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.monday-report-page .header-left{display:flex;flex-direction:column;gap:10px;flex:1}.monday-report-page .header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.monday-report-page .back-link{color:#007bff;text-decoration:none;font-size:14px;width:fit-content}.monday-report-page .back-link:hover{text-decoration:underline}.monday-report-page .page-header h1{color:#333;margin:0;font-size:28px}.monday-week-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px}.monday-week-label{font-size:13px;color:#555;font-weight:600}.monday-week-select{padding:6px 10px;border:1px solid #ced4da;border-radius:6px;font-size:13px;background:#fff;min-width:220px}.monday-approval-summary{font-size:13px;color:#333;font-weight:500}.monday-approval-progress{display:flex;flex-direction:column;gap:6px;max-width:360px;margin-top:4px}.monday-approval-bar{height:8px;width:100%;background:#e9ecef;border-radius:999px;overflow:hidden}.monday-approval-bar-fill{height:100%;width:0;background:#0d6efd;border-radius:999px;transition:width .25s ease,background-color .25s ease}.monday-approval-bar-fill.complete{background:#198754}.monday-live-badge{font-size:12px;font-weight:600;color:#664d03;background:#fff3cd;border:1px solid #ffc107;border-radius:999px;padding:3px 10px}.monday-snapshot-hint{background:#e7f1ff;border:1px solid #b6d4fe;color:#084298;border-radius:6px;padding:10px 14px;margin-bottom:14px;font-size:13px}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-approve{background:#cfe2ff;color:#084298;border:1px solid #9ec5fe;border-radius:4px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.btn-approve:hover:not(:disabled){background:#9ec5fe;color:#052c65}.btn-approve:disabled{opacity:.55;cursor:not-allowed}.approval-badge{display:inline-block;background:#d1e7dd;color:#0f5132;font-size:11px;font-weight:700;padding:5px 10px;border-radius:4px;cursor:default}.approval-na{color:#adb5bd}.comment-col{min-width:140px;max-width:220px;vertical-align:middle}.monday-comment-cell{min-width:120px}.monday-comment-input{width:100%;min-height:44px;resize:vertical;font-size:12px;padding:4px 6px;border:1px solid #ced4da;border-radius:4px;box-sizing:border-box;font-family:inherit;color:#212529;background:#fff}.monday-comment-input:disabled{opacity:.6;cursor:not-allowed;background:#f8f9fa}.monday-section-title{margin:8px 0 10px;font-size:16px;font-weight:700;color:#333}.monday-manager-groups{display:flex;flex-direction:column;gap:22px}.monday-manager-groups .monday-tab-panel{margin-bottom:0}.asana-col{min-width:220px;max-width:320px;vertical-align:middle;position:sticky;right:0;background:#fff;z-index:2;box-shadow:-6px 0 8px -6px #0000001f}.monday-table th.asana-col{background:#f8f9fa;z-index:3}.asana-col-compact{min-width:170px;max-width:230px}.asana-task-create{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:200px}.asana-task-create.compact{min-width:150px}.asana-task-create-row{display:flex;align-items:center;gap:6px}.asana-task-create-row .asana-task-select{flex:1;min-width:0}.asana-task-select,.asana-task-input{font-size:12px;padding:4px 6px;border:1px solid #ced4da;border-radius:4px;background:#fff;color:#212529;width:100%;box-sizing:border-box}.asana-task-select:disabled,.asana-task-input:disabled{opacity:.6;cursor:not-allowed}.btn-asana-create{background:#e7f1ff;color:#084298;border:1px solid #9ec5fe;border-radius:4px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;align-self:flex-start}.btn-asana-create:hover:not(:disabled){background:#cfe2ff}.btn-asana-create:disabled{opacity:.55;cursor:not-allowed}.asana-task-link{color:#0d6efd;font-size:13px;font-weight:600;text-decoration:underline;white-space:nowrap}.asana-task-link:hover{color:#0a58ca}.monday-report-page .btn-primary{background-color:#007bff;color:#fff}.monday-source-status{display:flex;flex-wrap:wrap;gap:12px;font-size:13px}.monday-source-status .ok{color:#198754}.monday-source-status .bad{color:#dc3545}.monday-warnings{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:10px 14px;font-size:13px;color:#856404}.monday-warnings p{margin:0 0 4px}.monday-warnings p:last-child{margin-bottom:0}.monday-notes{margin-top:16px;font-size:12px;color:#666}.monday-notes p{margin:0 0 4px}.error-message{color:#dc3545;background:#f8d7da;border:1px solid #f5c2c7;border-radius:4px;padding:12px 14px;margin-bottom:16px}.loading{text-align:center;padding:40px;color:#666}.monday-loading{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:24px 0}.monday-loading-dot{width:8px;height:8px;border-radius:50%;background:#6c757d;animation:monday-dot-pulse 1.2s ease-in-out infinite}.monday-loading-dot:nth-child(2){animation-delay:.2s}.monday-loading-dot:nth-child(3){animation-delay:.4s}@keyframes monday-dot-pulse{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.monday-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid #dee2e6;margin-bottom:16px}.monday-tab{appearance:none;border:none;background:transparent;padding:10px 16px;font-size:14px;font-weight:500;color:#555;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px}.monday-tab:hover{color:#007bff;background:#f8f9fa}.monday-tab.active{color:#007bff;border-bottom-color:#007bff}.monday-stats-bar{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin-bottom:16px}.monday-stat{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.monday-stat-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.02em}.monday-stat-value{font-size:18px;font-weight:600;color:#222}.monday-stat-pct{font-size:14px;font-weight:500;color:#555}.score-good{background-color:#d1e7dd!important;color:#0f5132;font-weight:600}.score-warn{background-color:#fff3cd!important;color:#664d03;font-weight:600}.score-bad,.inspection-date-stale{background-color:#f8d7da!important;color:#842029;font-weight:600}.teamwork-cell{text-align:center;color:#198754;font-weight:700;font-size:16px}.monday-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.monday-table{width:100%;border-collapse:collapse}.monday-table th,.monday-table td{padding:8px;text-align:left;border-bottom:1px solid #dee2e6;font-size:12px}.monday-table th{background:#f8f9fa;font-weight:600;color:#333;position:sticky;top:0;z-index:1;white-space:nowrap}.monday-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.monday-table th.sortable:hover{background:#e9ecef}.monday-table .sort-indicator{margin-left:5px;color:#007bff;font-weight:700}.monday-table .var-percent-alert{background-color:#fcc!important}.monday-table tbody tr:hover{background:#f8f9fa}.monday-table .no-data{text-align:center;padding:40px;color:#666;font-style:italic}.monday-table .cleaners-cell{min-width:100px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accordion-parent{cursor:pointer}.accordion-parent td.asana-col{background:#fff}.accordion-parent:hover td.asana-col,.monday-table tbody tr:hover td.asana-col{background:#f8f9fa}.accordion-parent.open{background:#eef5ff}.expand-caret{color:#666;font-size:12px;text-align:center}.accordion-detail-row>td{padding:0;background:#fafbfc}.monday-nested-table{width:100%;border-collapse:collapse;margin:0}.monday-nested-table th,.monday-nested-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #e9ecef;font-size:12px}.monday-nested-table th{background:#eef1f4;font-weight:600}.drive-hours-warn{background-color:#ffe0b2!important;color:#e65100;font-weight:600}.drive-hours-high{background-color:#f8d7da!important;color:#842029;font-weight:600}.drive-hours-severe{background-color:#dc3545!important;color:#fff;font-weight:700}.clickable-punch{cursor:pointer}.clickable-punch:hover{background:#e9ecef}.overlap-panel{padding:10px 14px 14px;background:#fff;border-top:1px solid #dee2e6}.overlap-title{font-size:12px;font-weight:600;color:#444;margin-bottom:8px}.expand-empty{padding:12px 16px;color:#666;font-style:italic;font-size:13px}.btn{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:500}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:900px){.monday-stats-bar{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.monday-report-page{padding:12px 4px}.monday-report-page .page-header{flex-direction:column}.monday-report-page .page-header h1{font-size:22px}.monday-stats-bar{grid-template-columns:1fr}.monday-table-container{-webkit-overflow-scrolling:touch}.monday-table{min-width:900px}.accordion-table{min-width:480px}}.price-analysis-report-page{max-width:1400px;margin:0 auto;padding:20px}.price-analysis-report-page .page-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.price-analysis-report-page .back-link{color:#007bff;text-decoration:none}.price-analysis-report-page .back-link:hover{text-decoration:underline}.price-analysis-report-page h1{margin:0;font-size:24px}.report-config{background:#f8f9fa;border-radius:8px;padding:24px;margin-bottom:24px}.config-section{margin-bottom:24px}.config-section h2{margin:0 0 8px;font-size:16px}.config-section .hint{margin:0 0 12px;font-size:13px;color:#666}.job-select-actions{margin-bottom:12px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px}.job-list-sort{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;font-size:14px}.job-list-sort-label{font-weight:500;color:#444}.job-list-sort-option{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:400}.job-list-sort-option input{margin:0}.job-list-search{display:flex;align-items:center;gap:8px;margin-left:auto}.job-list-search-label{font-size:14px;font-weight:500;color:#444}.job-list-search-input{min-width:200px;padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.job-billing-badge{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;vertical-align:middle}.job-billing-badge.monthly{background:#e7f1ff;color:#084298}.job-billing-badge.hourly{background:#fff3cd;color:#664d03}.job-billing-badge.inactive-badge{background:#f8d7da;color:#842029}.job-meta{color:#6c757d;font-size:12px}.selection-mode-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:12px}.mode-toggle{padding:6px 12px;border:1px solid #ced4da;border-radius:6px;background:#fff;color:#333;font-size:13px;font-weight:600;cursor:pointer}.mode-toggle.active{background:#0d6efd;border-color:#0d6efd;color:#fff}.status-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;font-size:14px}.job-list{max-height:200px;overflow-y:auto;border:1px solid #dee2e6;border-radius:4px;padding:12px;background:#fff}.job-check{display:block;padding:6px 0;cursor:pointer;font-size:14px}.job-check input{margin-right:8px}.no-jobs{color:#666;font-style:italic}.date-inputs{display:flex;flex-wrap:wrap;gap:20px}.date-input{display:flex;flex-direction:column;gap:6px}.date-input label{font-weight:500;font-size:14px}.date-input input[type=date]{padding:8px 12px;font-size:14px;border:1px solid #dee2e6;border-radius:4px}.file-uploads{display:flex;flex-wrap:wrap;gap:24px}.file-upload{display:flex;flex-direction:column;gap:6px}.file-upload label{font-weight:500;font-size:14px}.file-upload input[type=file]{font-size:14px}.file-name{font-size:13px;color:#666}.process-actions{margin-top:20px}.report-table-container{margin-top:24px}.report-results-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-bottom:12px}.report-results-header h2{margin:0;font-size:18px}.report-export-actions{display:flex;flex-wrap:wrap;gap:8px}.report-results-header .export-hint{flex-basis:100%;margin:8px 0 0;font-size:12px;color:#666}.table-scroll{overflow-x:auto}.price-analysis-table{width:100%;border-collapse:collapse;font-size:13px}.price-analysis-table th,.price-analysis-table td{padding:8px 10px;text-align:left;border-bottom:1px solid #dee2e6;white-space:nowrap}.price-analysis-table th{background:#f8f9fa;font-weight:600}.price-analysis-table th.sortable{cursor:pointer}.price-analysis-table th.sortable:hover{background:#e9ecef}.sort-indicator{margin-left:4px;color:#666}.price-analysis-table tbody tr:hover{background:#f8f9fa}.master-budget-live,.timekeeping-live{margin-bottom:20px;padding:14px 16px;background:#f0f7ff;border:1px solid #c5ddf8;border-radius:6px}.master-budget-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:6px}.master-budget-live strong,.timekeeping-live strong{color:#333}.sheet-status{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px}.sheet-status.checking{color:#666;background:#e9ecef}.sheet-status.connected{color:#155724;background:#d4edda;border:1px solid #28a745}.sheet-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#28a745;color:#fff;font-size:12px;font-weight:700;line-height:1}.sheet-status.error{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb}.sheet-status.override{color:#856404;background:#fff3cd;border:1px solid #ffeeba}.sheet-error-detail{margin:0 0 8px;font-size:13px;color:#c53030}.master-budget-status{margin:8px 0;font-size:14px;color:#2c5282;font-weight:500}.sheet-link{display:inline-block;margin-bottom:12px;font-size:14px;color:#4a90e2}.sheet-link:hover{text-decoration:underline}.sheet-warning{color:#c05621}.master-budget-live .optional-override,.timekeeping-live .optional-override{margin-top:12px;padding-top:12px;border-top:1px solid #c5ddf8}.master-budget-live .hint.inline-hint,.file-upload .inline-hint{margin:4px 0 8px}.price-analysis-report-page .error{color:#dc3545;padding:12px;background:#f8d7da;border-radius:4px;margin-bottom:16px}.price-analysis-report-page .rm-data-warning{color:#856404;padding:12px;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-bottom:16px}.last-refreshed{font-size:12px;color:#666}.price-analysis-table .cell-green{background-color:#d4edda;color:#155724}.price-analysis-table .cell-red{background-color:#f8d7da;color:#721c24}.price-analysis-header-left{display:flex;flex-direction:column;gap:8px}.price-analysis-title-row{display:flex;align-items:center;gap:10px}.price-analysis-info-btn{width:22px;height:22px;border-radius:50%;border:1px solid #6c757d;background:#fff;color:#333;font-size:13px;font-weight:600;font-style:italic;cursor:pointer;line-height:1;padding:0}.price-analysis-info-btn:hover{background:#f0f7ff;border-color:#007bff;color:#007bff}.modal-content.price-analysis-info-modal{background:#fff;border-radius:8px;max-width:640px;width:100%;max-height:85vh;overflow:auto;box-shadow:0 8px 32px #0003}.modal-content.price-analysis-info-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #dee2e6}.modal-content.price-analysis-info-modal .modal-header h2{margin:0;font-size:1.15rem}.modal-content.price-analysis-info-modal .modal-close{background:none;border:none;font-size:1.4rem;cursor:pointer;color:#666;line-height:1}.modal-content.price-analysis-info-modal .modal-body{padding:16px 20px 20px}.modal-content.price-analysis-info-modal .modal-body h4{margin:16px 0 8px;font-size:.95rem}.modal-content.price-analysis-info-modal .modal-body ul{margin:0 0 8px;padding-left:1.25rem}.modal-content.price-analysis-info-modal .modal-body li{margin-bottom:6px}.last-refreshed-inline{font-size:12px;color:#666;margin:4px 0 0}@media(max-width:768px){.price-analysis-report-page{padding:12px 4px}.price-analysis-report-page .page-header{flex-wrap:wrap;align-items:flex-start}.price-analysis-report-page h1{font-size:22px}.report-config{padding:16px}}.employee-pay-analysis-page .config-section .file-uploads{display:flex;flex-direction:column;gap:16px}.employee-pay-analysis-page .required-label:after{content:" *";color:#dc3545}.employee-pay-analysis-legend{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px;font-size:13px;color:#555}.employee-pay-analysis-legend span{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.1)}.legend-swatch.green{background:#d4edda}.legend-swatch.red{background:#f8d7da}.employee-pay-analysis-table-wrap{overflow-x:auto}.employee-pay-analysis-table{min-width:1200px}.employee-pay-analysis-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.employee-pay-analysis-table th.sortable:hover{background:#e9ecef}.employee-pay-analysis-table .sort-indicator{margin-left:4px;color:#007bff}.report-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px}.report-actions .report-meta{font-size:14px;color:#666}.wcw-report-page{padding:1.5rem 2rem;max-width:1200px}.wcw-report-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.wcw-report-page .back-link{display:inline-block;margin-bottom:.5rem;color:var(--link-color, #2563eb);text-decoration:none}.wcw-report-page .page-subtitle{margin:.5rem 0 0;color:#555;max-width:52rem}.wcw-meta-line{color:#666;font-size:.9rem;margin:0 0 1rem}.wcw-toolbar{margin-bottom:1rem}.wcw-search{width:100%;max-width:420px;padding:.5rem .75rem;border:1px solid #ccc;border-radius:4px}.wcw-status{color:#666}.wcw-error{color:#b91c1c}.wcw-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.wcw-table{width:100%;border-collapse:collapse}.wcw-table th,.wcw-table td{padding:.65rem 1rem;text-align:left;border-bottom:1px solid #eee}.wcw-table th{background:#f9fafb;font-weight:600}.wcw-row-expanded td{background:#f8fafc}.wcw-job-toggle{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit;text-align:left}.wcw-job-toggle:hover{color:#2563eb}.wcw-chevron{font-size:.7rem;color:#666}.wcw-empty{text-align:center;color:#888;padding:2rem!important}.wcw-detail-row td{background:#f8fafc;padding-top:.25rem;padding-bottom:1rem}.wcw-cleaner-panel{padding:1rem 1.25rem 1.25rem;border-top:1px solid #e5e7eb;background:#f8fafc}.wcw-cleaner-panel h3{margin:0 0 .75rem;font-size:1rem}.wcw-panel-empty{margin:0;color:#666}.wcw-cleaner-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.wcw-cleaner-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .75rem;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.wcw-cleaner-name{font-weight:500}.wcw-cleaner-id{color:#666;font-size:.875rem}@media(max-width:768px){.wcw-report-page{padding:12px 8px}.wcw-report-page .page-header{flex-direction:column}.wcw-report-page h1{font-size:22px;margin:0}.wcw-search{max-width:none}}.email-activity-page{max-width:1200px;margin:0 auto;padding:20px}.email-activity-page .page-header{margin-bottom:8px}.email-activity-page .page-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.email-activity-page .page-header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}@media(min-width:769px){.email-activity-page .page-header-actions{margin-top:28px}}.email-activity-page .success{background:#d4edda;color:#155724;padding:10px 14px;border-radius:6px;margin-bottom:12px}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content.email-modal{background:#fff;border-radius:8px;max-width:480px;width:100%;box-shadow:0 8px 24px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #dee2e6}.modal-header h2{margin:0;font-size:18px}.modal-close{background:none;border:none;font-size:22px;cursor:pointer;color:#666;line-height:1}.modal-body{padding:20px}.email-modal-note{margin:0 0 12px;font-size:13px;color:#666;line-height:1.4}.email-recipient-label{display:flex;flex-direction:column;gap:6px;font-weight:500;margin-bottom:12px;font-size:14px}.email-recipient-label input{padding:8px 10px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.email-activity-page .back-link{color:#007bff;text-decoration:none;font-size:14px;display:inline-block;margin-bottom:8px}.email-activity-page .back-link:hover{text-decoration:underline}.email-activity-page h1{margin:0 0 8px;font-size:28px;color:#333}.email-activity-page .page-subtitle{margin:0 0 20px;color:#666;font-size:14px;max-width:720px;line-height:1.45}.email-activity-page .access-denied{color:#721c24;background:#f8d7da;padding:12px 14px;border-radius:6px}.filters-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px}.filters-bar label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:500;color:#555}.filters-bar select,.filters-bar input[type=date]{padding:8px 10px;border:1px solid #ced4da;border-radius:4px;font-size:14px;min-width:140px}.meta-bar{font-size:13px;color:#555;margin-bottom:10px}.warnings{font-size:12px;color:#856404;background:#fff3cd;padding:8px 12px;border-radius:4px;margin-bottom:12px}.email-activity-page .error{background:#f8d7da;color:#721c24;padding:10px 14px;border-radius:6px;margin-bottom:12px}.table-wrap{background:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014;overflow-x:auto}.email-activity-table{width:100%;border-collapse:collapse;font-size:14px}.email-activity-table th,.email-activity-table td{padding:10px 14px;text-align:left;border-bottom:1px solid #eee;white-space:nowrap}.email-activity-table th{background:#f8f9fa;font-weight:600;color:#333;padding:0}.email-activity-table .sort-header{display:block;width:100%;background:none;border:none;padding:10px 14px;font:inherit;font-weight:600;color:#333;text-align:left;cursor:pointer;white-space:nowrap}.email-activity-table .sort-header:hover{background:#eef1f4;color:#0d6efd}.email-activity-table .sort-header.active{color:#0d6efd}.email-activity-table .empty{text-align:center;color:#888;padding:28px}@media(max-width:768px){.email-activity-page{padding:12px 4px}.email-activity-page h1{font-size:22px}.email-activity-page .page-header-actions{width:100%;margin-top:0}.email-activity-page .page-header-actions .btn{width:100%}.email-activity-page .page-subtitle{margin-bottom:12px}.filters-bar label{flex:1 1 100%}.email-activity-table{min-width:720px}}.chr-report-page{margin:-20px;padding:1rem .75rem 1.5rem;width:calc(100% + 40px);max-width:none;box-sizing:border-box}.chr-report-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.chr-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chr-report-page .back-link{display:inline-block;margin-bottom:.5rem;color:var(--link-color, #2563eb);text-decoration:none}.chr-report-page .page-subtitle{margin:.5rem 0 0;color:#555;max-width:52rem}.chr-meta-line{color:#666;font-size:.9rem;margin:0 0 1rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 0}.chr-meta-line strong{color:#1e293b;font-weight:700}.chr-meta-sep{margin:0 .45rem;color:#cbd5e1}.chr-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:1rem}.chr-mode-toggles{display:flex;gap:8px}.chr-report-page .mode-toggle{padding:6px 12px;border:1px solid #ced4da;border-radius:6px;background:#fff;color:#333;font-size:13px;font-weight:600;cursor:pointer}.chr-report-page .mode-toggle.active{background:#0d6efd;border-color:#0d6efd;color:#fff}.chr-assign-hint{margin:0;color:#64748b;font-size:13px}.chr-assign-table{min-width:720px;table-layout:auto;width:max(100%,720px)}.chr-assign-table th.num,.chr-assign-table td.num{width:auto}.chr-assign-table th:nth-child(1),.chr-assign-table td:nth-child(1),.chr-assign-table th:nth-child(2),.chr-assign-table td:nth-child(2),.chr-assign-table th:nth-child(3),.chr-assign-table td:nth-child(3),.chr-assign-table th:nth-child(4),.chr-assign-table td:nth-child(4){width:auto}.chr-assign-cell{min-width:320px}.chr-assign-controls{display:flex;gap:8px;align-items:flex-start}.chr-job-suggest{position:relative;flex:1;min-width:0}.chr-job-input{width:100%;padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:13px}.chr-job-suggest-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px 0;list-style:none;background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 8px 20px #0000001f;max-height:240px;overflow:auto}.chr-job-suggest-list button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;border:none;background:none;text-align:left;padding:8px 10px;cursor:pointer;font-size:13px}.chr-job-suggest-list button:hover{background:#f1f5f9}.chr-job-suggest-name{font-weight:600;color:#0f172a}.chr-job-suggest-client{font-size:12px;color:#64748b}.chr-assign-error{margin-top:4px;color:#b91c1c;font-size:12px}.chr-assign-hint-inline{margin-top:4px;font-size:11px;color:#94a3b8}.chr-assign-row td a{color:#2563eb;text-decoration:none;font-weight:500}.chr-assign-row td a:hover{text-decoration:underline}.chr-report-page .btn-sm{padding:6px 10px;font-size:12px;white-space:nowrap}.chr-search{flex:1;min-width:200px;max-width:420px;padding:.5rem .75rem;border:1px solid #ccc;border-radius:4px}.chr-status{color:#666}.chr-error{color:#b91c1c;margin-bottom:1rem}.chr-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto;width:100%;max-width:100%}.chr-table{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed;font-size:11px}.chr-table th,.chr-table td{padding:.35rem .28rem;text-align:left;border-bottom:1px solid #eee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chr-table th{background:#f9fafb;font-weight:600;line-height:1.2}.chr-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.chr-table th.sortable:hover{background:#f1f5f9}.chr-table th.num,.chr-table td.num{text-align:right;font-variant-numeric:tabular-nums;padding-left:.2rem;padding-right:.28rem;width:3.25%}.chr-table th.chr-date-col,.chr-table td.chr-date-col{width:4.5%;max-width:4.5rem;text-align:right;font-variant-numeric:tabular-nums;padding-left:.15rem;padding-right:.25rem}.chr-table th.chr-datetime-col,.chr-table td.chr-datetime-col{width:7%;max-width:6.5rem;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.chr-table td.nowrap{white-space:nowrap}.chr-table th:nth-child(1),.chr-table td:nth-child(1){width:12%}.chr-table th:nth-child(2),.chr-table td:nth-child(2){width:4.5%}.chr-table th:nth-child(3),.chr-table td:nth-child(3){width:3.5%}.chr-count-zero{color:#cbd5e1}.chr-count-severe{color:#b91c1c;font-weight:700}.chr-count-med{color:#c2410c;font-weight:600}.chr-count-mild{color:#a16207;font-weight:600}.chr-count-specialRequest{color:#1d4ed8;font-weight:600}.chr-count-internal{color:#6d28d9;font-weight:600}.chr-count-unknown{color:#64748b;font-weight:600}.chr-name-cell{font-weight:600;white-space:normal;overflow:hidden;text-overflow:ellipsis}.chr-row{cursor:pointer}.chr-row:hover td,.chr-row.is-open td{background:#f8fafc}.chr-detail-row td{background:#fbfcfd;padding:.75rem 1rem 1rem}.chr-detail h4{margin:0 0 .5rem;font-size:13px;color:#334155}.chr-empty-detail{margin:0;color:#64748b;font-size:13px}.chr-complaint-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.chr-complaint-list li{padding:8px 10px;border:1px solid #e8edf3;border-radius:6px;background:#fff}.chr-complaint-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:#64748b;margin-bottom:4px}.chr-complaint-type{font-weight:600;color:#b45309}.chr-complaint-done{color:#15803d}.chr-complaint-name a{color:#2563eb;text-decoration:none;font-weight:500}.chr-complaint-name a:hover{text-decoration:underline}.chr-complaint-notes{margin:4px 0 0;font-size:12px;line-height:1.35;color:#64748b;max-width:42rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:help}.env-diagnostics{margin-top:0}.env-diagnostics h2{margin:0 0 6px;font-size:1.05rem}.env-diag-desc{margin:0 0 14px;color:#6c757d;font-size:.88rem;line-height:1.45}.env-diag-subtitle{margin:14px 0 8px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6c757d}.env-diag-list{margin:0}.env-diag-row{display:grid;grid-template-columns:9.5rem 1fr;gap:10px;padding:7px 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:.92rem}.env-diag-row:last-child{border-bottom:0}.env-diag-row dt{margin:0;color:#6c757d;font-weight:600}.env-diag-row dd{margin:0;word-break:break-word}.env-diag-muted{margin:0;color:#6c757d;font-size:.88rem}.env-diag-error{margin:0;color:#b42318;font-size:.88rem}.env-diag-footnote{margin:14px 0 0;padding-top:10px;border-top:1px solid rgba(0,0,0,.06);color:#6c757d;font-size:.82rem;line-height:1.45}.env-diag-footnote code{font-size:.8rem}.field-profile .env-diagnostics{background:#1a2430;border:1px solid #2a3747;border-radius:14px;padding:14px 16px;margin-bottom:14px}.field-profile .env-diagnostics h2{color:#f4f7fb}.field-profile .env-diag-desc,.field-profile .env-diag-subtitle,.field-profile .env-diag-row dt,.field-profile .env-diag-muted,.field-profile .env-diag-footnote{color:#a8b3c0}.field-profile .env-diag-row{border-bottom-color:#2a3747}.field-profile .env-diag-row dd{color:#f4f7fb}.field-profile .env-diag-error{color:#ffb4b4}.field-profile .env-diag-footnote{border-top-color:#2a3747}.field-profile .env-diag-footnote code{color:#c5d0dc}.user-profile-page .env-diagnostics.profile-card,.profile-card.env-diagnostics{margin-bottom:20px}.user-profile-page{max-width:640px;margin:0 auto;padding:20px}.user-profile-page .page-header{margin-bottom:24px}.user-profile-page .page-header h1{margin:0 0 6px}.user-profile-page .page-subtitle{margin:0;color:#666;font-size:14px}.profile-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px 24px;margin-bottom:20px}.profile-card h2{margin:0 0 16px;font-size:18px}.profile-card .section-desc{margin:-8px 0 16px;color:#666;font-size:13px;line-height:1.5}.profile-details{margin:0}.profile-detail-row{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #f0f0f0}.profile-detail-row:last-child{border-bottom:none}.profile-detail-row dt{margin:0;font-size:13px;font-weight:500;color:#666}.profile-detail-row dd{margin:0;font-size:14px;color:#222}.profile-role-badge{display:inline-block;background:#e9ecef;color:#333;padding:2px 10px;border-radius:12px;font-size:13px;font-weight:500}.password-form{display:flex;flex-direction:column;gap:14px;max-width:360px}.password-form .form-row{display:flex;flex-direction:column;gap:4px}.password-form label{font-size:12px;font-weight:500;color:#333}.password-form input{padding:8px 10px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.password-form input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e226}.password-form .btn{align-self:flex-start;margin-top:4px}.profile-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;padding:10px 14px;margin-bottom:16px;font-size:14px}.profile-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb;border-radius:4px;padding:10px 14px;margin-bottom:16px;font-size:14px}@media(max-width:480px){.profile-detail-row{grid-template-columns:1fr;gap:4px}}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa}#root{height:100%;min-height:100vh;min-height:100dvh}.loading{text-align:center;padding:40px;font-size:18px;color:#666}.error{text-align:center;padding:40px;font-size:18px;color:#dc3545;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin:20px}@media(max-width:768px){.page-header h1,.deficiencies-page-header h1{font-size:22px;line-height:1.25;word-break:break-word}.page-header,.page-header-flex,.page-header-row,.deficiencies-page-header{flex-wrap:wrap;gap:12px}.page-header-actions,.header-right{width:100%}.page-header-actions .btn,.header-right .btn{flex:1 1 auto;text-align:center;min-width:0}.filters-bar{width:100%}.filters-bar label{flex:1 1 140px;min-width:0}.filters-bar select,.filters-bar input[type=date]{width:100%;min-width:0}}
