*{box-sizing:border-box}html{height:100%;overflow-y:scroll!important;overflow-x:hidden}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-height:100%;background-color:#f5f5f5;color:#1a1a1a;overflow-y:auto!important}button,input,select,textarea{font-family:inherit}.thank-you-overlay{position:fixed;inset:0;width:100vw;height:100vh;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:999999}.thank-you-content{background:#fff;border-radius:16px;padding:48px 40px;max-width:500px;width:90%;text-align:center;box-shadow:0 8px 32px #0000004d;animation:slideUp .3s ease-out}.success-icon{width:80px;height:80px;margin:0 auto 24px;color:#22c55e}.success-icon svg{width:100%;height:100%}.thank-you-title{font-size:28px;font-weight:700;color:#1a1a1a;margin:0 0 16px}.thank-you-message{font-size:16px;line-height:1.6;color:#666;margin:0 0 24px}.next-steps{background:#f8f9fa;border-radius:12px;padding:20px 24px;margin-bottom:24px;text-align:left}.next-steps-title{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.next-steps-list{margin:0;padding-left:20px}.next-steps-list li{font-size:14px;color:#555;margin-bottom:8px;line-height:1.5}.next-steps-list li:last-child{margin-bottom:0}.contact-info{font-size:14px;color:#666;margin:0 0 28px}.contact-info strong{color:#fe5000}.close-button{background:#fe5000;color:#fff;border:none;padding:16px 64px;font-size:17px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #ff6b004d}.close-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff6b0066}.close-button:active{transform:translateY(0)}@media(max-width:768px){.thank-you-content{padding:36px 24px}.success-icon{width:64px;height:64px}.thank-you-title{font-size:24px}.thank-you-message{font-size:15px}.next-steps{padding:16px 20px}.close-button{padding:14px 48px;font-size:16px}}.otp-content{text-align:center}.otp-title{font-size:24px;font-weight:600;color:#1a1a1a;margin:0 0 16px}.otp-description{font-size:15px;color:#666;margin:0 0 32px;line-height:1.5}.otp-form{display:flex;flex-direction:column;gap:16px}.otp-input{width:100%;min-height:60px;padding:18px 24px;font-size:24px;text-align:center;border:2px solid #e0e0e0;border-radius:12px;outline:none;letter-spacing:8px;font-weight:600;transition:all .2s;background-color:#fff}.otp-input:focus{border-color:#08c;box-shadow:0 0 0 3px #0088cc1a}.verify-button{background:#fe5000;color:#fff;border:none;padding:16px 32px;font-size:16px;font-weight:600;border-radius:50px;cursor:pointer;transition:all .2s;margin-top:8px}.verify-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ff6b004d}.verify-button:disabled{opacity:.5;cursor:not-allowed}.resend-button{background:transparent;color:#08c;border:none;padding:12px 24px;font-size:15px;font-weight:500;cursor:pointer;text-decoration:underline;transition:all .2s}.resend-button:hover:not(:disabled){color:#069}.resend-button:disabled{opacity:.5;cursor:not-allowed}.cancel-button{background:transparent;color:#666;border:2px solid #e0e0e0;padding:12px 24px;font-size:15px;font-weight:500;border-radius:50px;cursor:pointer;transition:all .2s}.cancel-button:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.cancel-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.modal-content{padding:28px 20px}.otp-title{font-size:20px}.otp-description{font-size:14px}.otp-input{font-size:20px;letter-spacing:6px;padding:16px 20px}}.multi-select-container{position:relative;width:100%}.multi-select-input{width:100%;min-height:56px;padding:12px 48px 12px 24px;font-size:16px;border:2px solid #e0e0e0;border-radius:50px;background:#fff;cursor:pointer;display:flex;align-items:center;gap:8px;flex-wrap:wrap;transition:all .2s;position:relative}.multi-select-input:hover{border-color:#ccc}.multi-select-input.open,.multi-select-input:focus{border-color:#08c;box-shadow:0 0 0 3px #0088cc1a}.multi-select-input.error{border-color:#f44}.multi-select-placeholder{color:#999}.dropdown-arrow{position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:12px;color:#666;pointer-events:none}.multi-select-input.open .dropdown-arrow{transform:translateY(-50%) rotate(180deg)}.selected-chips{display:flex;flex-wrap:wrap;gap:8px;flex:1}.chip{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#08c,#09d);color:#fff;padding:6px 8px 6px 12px;border-radius:20px;font-size:14px;font-weight:500}.chip-remove{background:#ffffff4d;border:none;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;line-height:1;transition:background .2s;padding:0}.chip-remove:hover{background:#ffffff80}.multi-select-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 8px 24px #00000026;max-height:300px;overflow-y:auto;z-index:100;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.multi-select-option{display:flex;align-items:center;gap:12px;padding:14px 20px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f0f0f0}.multi-select-option:last-child{border-bottom:none}.multi-select-option:hover{background:#f8f9fa}.option-checkbox{width:20px;height:20px;cursor:pointer;flex-shrink:0}.option-label{flex:1;font-size:15px;color:#333;-webkit-user-select:none;user-select:none}.multi-select-dropdown::-webkit-scrollbar{width:8px}.multi-select-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:8px}.multi-select-dropdown::-webkit-scrollbar-thumb{background:#ccc;border-radius:8px}.multi-select-dropdown::-webkit-scrollbar-thumb:hover{background:#999}@media(max-width:768px){.multi-select-input{padding:10px 40px 10px 20px;min-height:52px}.chip{font-size:13px;padding:5px 7px 5px 10px}.multi-select-dropdown{max-height:180px}.multi-select-option{padding:12px 16px}.option-label{font-size:14px}}.registration-container{min-height:100vh;background-color:#f5f5f5;display:flex;justify-content:center;align-items:flex-start;padding:0}.registration-card{width:100%;max-width:1024px;background:#fff;margin:0;min-height:100vh}.registration-logo{display:flex;justify-content:center;align-items:center;padding:24px;background:#fff}.registration-logo img{max-width:320px;height:auto}.registration-title{background:#fe5000;color:#fff;padding:30px 40px;margin:0;font-size:32px;font-weight:600;letter-spacing:-.5px}.registration-form{padding:40px 60px;display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:16px;font-weight:600;color:#1a1a1a;margin-bottom:8px}.form-input,.form-select{width:100%;padding:18px 24px;font-size:16px;border:2px solid #e0e0e0;border-radius:50px;outline:none;transition:all .2s;background:#fff;color:#333}.form-input:focus,.form-select:focus{border-color:#08c;box-shadow:0 0 0 3px #0088cc1a}.form-input.error,.form-select.error{border-color:#f44}.phone-input-group{display:flex;gap:12px;align-items:stretch}.country-code-wrapper{position:relative;flex-shrink:0}.country-code-select{width:130px;height:60px;padding:0 24px;font-size:16px;border:2px solid #e0e0e0;border-radius:50px;outline:none;background:#fff;cursor:pointer;appearance:none;transition:all .2s;box-sizing:border-box}.country-code-select:focus{border-color:#08c;box-shadow:0 0 0 3px #0088cc1a}.phone-input{flex:1;height:60px;box-sizing:border-box}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 24px center;padding-right:48px}.form-select option[value=""]{color:#999}.checkbox-group{margin-top:12px}.checkbox-label{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.checkbox-input{width:20px;height:20px;margin-top:2px;cursor:pointer;flex-shrink:0}.checkbox-text{font-size:14px;line-height:1.6;color:#444;text-align:justify}.pdpa-link{color:#06c;text-decoration:underline;font-weight:500}.pdpa-link:hover{color:#049}.error-message{color:#d32f2f;font-size:14px;margin:0;padding-left:8px}.submit-error{text-align:center;font-size:15px;padding:12px;background:#ffebee;border-radius:8px}.submit-button{background:#fe5000;color:#fff;border:none;padding:18px 48px;font-size:18px;font-weight:600;border-radius:50px;cursor:pointer;transition:all .2s;margin-top:16px;box-shadow:0 4px 12px #ff6b004d}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #ff6b0066}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.registration-container{background-color:#fff}.registration-card{max-width:100%}.registration-logo{padding:16px}.registration-logo img{max-width:220px}.registration-title{padding:20px 16px;font-size:22px}.registration-form{padding:20px 16px;gap:16px}.phone-input-group{flex-direction:row;gap:8px}.country-code-select{width:100px;height:52px;padding:0 16px;font-size:15px}.form-input,.form-select{padding:14px 16px;font-size:16px}.phone-input-wrapper .phone-input{height:52px;padding:0 44px 0 16px}.submit-button{padding:16px 32px;font-size:16px;width:100%}.phone-input-wrapper{width:100%}.checkbox-text{font-size:13px;line-height:1.5;text-align:left}.checkbox-input{width:24px;height:24px;min-width:24px}.form-label{font-size:15px}}@media(max-width:380px){.registration-title{padding:16px 12px;font-size:20px}.registration-form{padding:16px 12px;gap:14px}.registration-logo img{max-width:180px}}.phone-input-wrapper{position:relative;flex:1;display:flex;align-items:stretch}.phone-input-wrapper .phone-input{width:100%;padding:0 50px 0 24px;height:60px;box-sizing:border-box}.form-input.valid{border-color:#4caf50}.form-input.valid:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf5014}.phone-validation-icon{position:absolute;right:18px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.phone-validation-icon.valid{background-color:#4caf50}.phone-validation-icon.valid svg{display:block}.phone-validation-message{font-size:13px;margin:10px 0 0;padding-left:24px;display:flex;align-items:center;gap:6px;font-weight:500}.phone-validation-message.typing{color:#666}.phone-validation-message.error{color:#d32f2f}.phone-validation-message.valid{color:#4caf50}.validation-x{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background-color:#d32f2f;color:#fff;border-radius:50%;font-size:10px;font-weight:700}.referral-input-wrapper{position:relative;display:flex;align-items:stretch}.referral-input-wrapper .form-input{width:100%;padding-right:50px}.referral-validation-icon{position:absolute;right:18px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.referral-validation-icon.valid{background-color:#4caf50;color:#fff}.referral-validation-icon.invalid{background-color:#d32f2f;color:#fff}.referral-validation-icon.loading{color:#08c}.referral-validation-icon .spinner{animation:spin 1s linear infinite}.referral-success-message{font-size:14px;color:#388e3c;margin:8px 0 0;padding-left:24px;font-weight:500}.referral-success-message strong{font-weight:600}.referral-error-message{font-size:14px;color:#d32f2f;margin:8px 0 0;padding-left:24px;font-weight:500}.registering-overlay{position:fixed;inset:0;width:100vw;height:100vh;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:999999}.registering-content{background:#fff;border-radius:16px;padding:48px 40px;max-width:420px;width:90%;text-align:center;box-shadow:0 8px 32px #0000004d}.registering-content img{max-width:180px;height:auto;margin-bottom:24px}.registering-message{font-size:18px;font-weight:600;color:#333;margin:0 0 24px}.progress-bar-container{width:100%;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.progress-bar{width:40%;height:100%;background:#fe5000;border-radius:3px;animation:progress-slide 1.4s ease-in-out infinite}@keyframes progress-slide{0%{transform:translate(-100%)}50%{transform:translate(150%)}to{transform:translate(150%)}}.login-container{min-height:100vh;background-image:url(/assets/jumbo_crab_background-BpRzcAoA.png);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;justify-content:center;align-items:center;padding:20px}.login-card{width:100%;max-width:480px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;overflow:hidden}.login-title{background:#fe5000;color:#fff;padding:30px 40px;margin:0;font-size:28px;font-weight:600;text-align:center}.login-form{padding:40px;display:flex;flex-direction:column;gap:20px}.login-form .form-group{display:flex;flex-direction:column;gap:8px}.login-form .form-input{width:100%;padding:16px 24px;font-size:16px;border:2px solid #e0e0e0;border-radius:50px;outline:none;transition:all .2s;background:#fff;color:#333;box-sizing:border-box}.login-form .form-input::placeholder{color:#999}.login-form .form-input:focus{border-color:#08c;box-shadow:0 0 0 3px #0088cc1a}.login-form .form-input.error{border-color:#f44}.login-form .error-message{color:#d32f2f;font-size:14px;margin:0;padding-left:16px}.login-form .submit-error{text-align:center;background:#ffebee;border-radius:8px;padding:12px}.login-form .remember-me{display:flex;align-items:center;gap:8px;cursor:pointer;color:#666;font-size:14px}.login-form .remember-me input{width:16px;height:16px;accent-color:#FE5000}.login-form .submit-button{background:#fe5000;color:#fff;border:none;padding:16px 48px;font-size:18px;font-weight:600;border-radius:50px;cursor:pointer;transition:all .2s;margin-top:8px;box-shadow:0 4px 12px #ff6b004d}.login-form .submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #ff6b0066}.login-form .submit-button:active:not(:disabled){transform:translateY(0)}.login-form .submit-button:disabled{opacity:.6;cursor:not-allowed}.forgot-password-link{display:block;text-align:right;font-size:.875rem;color:#6366f1;text-decoration:none;margin-top:4px}.forgot-password-link:hover{text-decoration:underline}.register-link{text-align:center;color:#666;font-size:14px;margin:0}.register-link+.register-link{margin-top:8px}.register-link a{color:#fe5000;text-decoration:none;font-weight:600}.register-link a:hover{text-decoration:underline}@media(max-width:768px){.login-container{padding:40px 16px 16px;align-items:flex-start}.login-title{padding:24px 20px;font-size:24px}.login-form{padding:24px 20px}.login-form .form-input{padding:14px 20px;font-size:15px}.login-form .submit-button{padding:14px 32px;font-size:16px}}.admin-layout{background-color:#f5f5f5;position:relative}.sidebar{width:240px;background:#fff;position:fixed;top:0;left:0;height:100vh;display:flex;flex-direction:column;border-right:1px solid #e0e0e0;z-index:100;transition:width .3s ease}.sidebar.collapsed{width:72px}.sidebar.collapsed .sidebar-logo .logo-image{max-width:40px}.sidebar.collapsed .menu-section-title{display:none}.sidebar.collapsed .menu-item{justify-content:center;padding:12px}.sidebar.collapsed .menu-item-text,.sidebar.collapsed .menu-item-arrow{display:none}.sidebar.collapsed .menu-item-icon{margin-right:0}.sidebar.collapsed .submenu{display:none}.sidebar-toggle{position:absolute;right:-12px;top:80px;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid #e0e0e0;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a;z-index:101;transition:all .2s}.sidebar-toggle:hover{background:#f5f5f5;border-color:#fe5000}.sidebar-toggle svg{width:14px;height:14px;color:#666}.sidebar-logo{padding:20px 24px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #f0f0f0}.sidebar-logo .logo-image{max-width:200px;height:auto}.sidebar-menu{flex:1;overflow-y:auto;padding:16px 0}.menu-section{margin-bottom:8px}.menu-section-title{padding:12px 24px 8px;font-size:11px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px}.menu-item{display:flex;align-items:center;padding:12px 24px;color:#666;text-decoration:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;background:none;width:100%;text-align:left}.menu-item:hover{background:#fff5f0;color:#fe5000}.menu-item.active{background:#fff5f0;color:#fe5000;border-right:3px solid #FE5000}.menu-item-icon{width:20px;height:20px;margin-right:12px;flex-shrink:0}.menu-item-text{flex:1}.menu-item-arrow{width:16px;height:16px;transition:transform .2s}.menu-item-arrow.expanded{transform:rotate(90deg)}.submenu{background:#fafafa;overflow:hidden;max-height:0;transition:max-height .3s ease}.submenu.open{max-height:300px}.submenu-item{display:block;padding:10px 24px 10px 56px;color:#666;text-decoration:none;font-size:13px;transition:all .2s}.submenu-item:hover{color:#fe5000;background:#fff5f0}.submenu-item.active{color:#fe5000}.topbar{height:60px;background:#fff;position:fixed;top:0;left:240px;right:0;display:flex;align-items:center;justify-content:flex-end;padding:0 24px;border-bottom:1px solid #e0e0e0;z-index:99;transition:left .3s ease}.user-menu{position:relative}.user-menu-button{display:flex;align-items:center;gap:12px;padding:8px 12px;border:none;background:none;cursor:pointer;border-radius:8px;transition:background .2s}.user-menu-button:hover{background:#f5f5f5}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600}.user-info{text-align:left}.user-name{font-size:14px;font-weight:600;color:#333}.user-menu-arrow{width:16px;height:16px;color:#666;transition:transform .2s}.user-menu-arrow.open{transform:rotate(180deg)}.user-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:180px;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s}.user-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.user-dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#666;font-size:14px;cursor:pointer;transition:all .2s;border:none;background:none;width:100%;text-align:left}.user-dropdown-item:hover{background:#f5f5f5;color:#333}.user-dropdown-item.danger{color:#d32f2f}.user-dropdown-item.danger:hover{background:#ffebee}.user-dropdown-item svg{width:18px;height:18px}.admin-main{margin-left:240px;margin-top:60px;padding:8px 24px 48px;box-sizing:border-box;transition:margin-left .3s ease}.admin-layout.sidebar-collapsed .admin-main{margin-left:72px}.admin-layout.sidebar-collapsed .topbar{left:72px}.placeholder-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014}.placeholder-page h1{font-size:28px;color:#333;margin:0 0 8px}.placeholder-page p{font-size:16px;color:#999;margin:0}@media(max-width:1024px){.sidebar{transform:translate(-100%);transition:transform .3s}.sidebar.open{transform:translate(0)}.topbar{left:0}.admin-main{margin-left:0}}.drp-container{position:relative;display:flex;flex-direction:column;gap:6px}.drp-trigger{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;color:#333;min-width:280px;transition:border-color .2s,box-shadow .2s}.drp-trigger:hover{border-color:#bbb}.drp-trigger:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.drp-trigger-icon{width:18px;height:18px;flex-shrink:0;color:#666}.drp-trigger-text{color:#333}.drp-trigger-placeholder{color:#999}.drp-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:100;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;padding:20px;width:320px}.drp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.drp-month-title{font-size:16px;font-weight:600;color:#1a1a1a}.drp-nav-btn{background:none;border:none;cursor:pointer;font-size:18px;color:#555;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s}.drp-nav-btn:hover{background:#f0f0f0}.drp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.drp-weekday{text-align:center;font-size:13px;font-weight:500;color:#888;padding:6px 0}.drp-day-empty{padding:8px}.drp-day{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:none;background:none;cursor:pointer;font-size:14px;color:#333;border-radius:8px;transition:background .12s,color .12s}.drp-day:hover{background:#f0f0f0}.drp-day-start,.drp-day-end{background:#1a3a3a!important;color:#fff!important;border-radius:8px;font-weight:600}.drp-day-in-range{background:#d0ddd8!important;color:#1a3a3a!important;border-radius:4px}.drp-day-hover-end{background:#2a5a5a!important;color:#fff!important;border-radius:8px}.drp-hint{text-align:center;margin-top:12px;font-size:12px;color:#999}.dashboard-page{display:flex;flex-direction:column;gap:24px;padding-bottom:40px}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:4px}.dashboard-title{margin:0 0 6px;font-size:28px;font-weight:700;color:#1a1a1a}.dashboard-subtitle{margin:0;font-size:15px;color:#666}.dashboard-filters-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 2px 8px #0000000f}.dashboard-filter-group{display:flex;flex-direction:column;gap:4px;min-width:160px}.dashboard-filter-select{height:36px;padding:0 10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#374151;background:#fff;cursor:pointer;outline:none;transition:border-color .15s}.dashboard-filter-select:focus{border-color:#fe5000}.dashboard-tabs{display:flex;gap:4px;background:#fff;border-radius:12px;padding:6px;box-shadow:0 2px 8px #0000000f;width:fit-content}.dashboard-tab{display:flex;align-items:center;gap:8px;padding:8px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#666;background:transparent;cursor:pointer;transition:all .15s}.dashboard-tab:hover{background:#f5f5f5;color:#1a1a1a}.dashboard-tab--active{background:#fe5000;color:#fff}.dashboard-tab--active:hover{background:#e04800;color:#fff}.dashboard-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.kpi-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f;border-left:4px solid #e5e7eb;transition:box-shadow .15s,transform .15s}.kpi-card--clickable{cursor:pointer}.kpi-card--clickable:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-1px)}.kpi-card--orange{border-left-color:#fe5000}.kpi-card--green{border-left-color:#22c55e}.kpi-card--red{border-left-color:#ef4444}.kpi-card--grey{border-left-color:#9ca3af}.kpi-card--blue{border-left-color:#3b82f6}.kpi-card__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.kpi-card__title{font-size:13px;font-weight:500;color:#6b7280;line-height:1.4}.kpi-card__icon{color:#9ca3af;flex-shrink:0;margin-left:8px}.kpi-card__value{font-size:30px;font-weight:700;color:#1a1a1a;line-height:1;margin-bottom:8px}.kpi-card__subtitle{font-size:12px;color:#9ca3af}.dashboard-charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.dashboard-chart-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column}.dashboard-chart-card.full-width{grid-column:1 / -1}.chart-title{margin:0 0 16px;font-size:15px;font-weight:600;color:#1a1a1a}.chart-subtitle{font-size:12px;color:#9ca3af;font-weight:400;margin-left:8px}.demographics-grid{display:grid;grid-template-columns:1fr 1.4fr 1.2fr;gap:24px;align-items:start}.demo-section{min-width:0;padding:12px 0;border-top:2px solid #f3f4f6}.demo-section-title{margin:0 0 10px;font-size:12px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em}.chart-empty{display:flex;align-items:center;justify-content:center;height:200px;font-size:14px;color:#9ca3af}.chart-empty--small{height:120px}.referral-conversion-row{display:flex;gap:24px;margin-top:12px;padding-top:12px;border-top:1px solid #f3f4f6;font-size:13px;color:#6b7280}.referral-conv-item strong{color:#374151}.funnel-stages{display:flex;align-items:center;gap:0;margin:16px 0 8px;flex-wrap:nowrap}.funnel-stage-group{display:flex;align-items:center;flex:1;min-width:0}.funnel-stage-card{flex:1;min-width:0;border-radius:10px;padding:14px 10px 10px;text-align:center;cursor:default;transition:box-shadow .15s}.funnel-stage-card:hover{box-shadow:0 2px 12px #0000001a}.funnel-stage-count{font-size:28px;font-weight:700;line-height:1;margin-bottom:4px}.funnel-stage-label{font-size:12px;font-weight:600;color:#374151;margin-bottom:2px;white-space:nowrap}.funnel-stage-pct{font-size:11px;font-weight:500;opacity:.75}.funnel-arrow-col{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 6px;flex-shrink:0}.funnel-conv-rate{font-size:10px;font-weight:600;color:#9ca3af;white-space:nowrap}.funnel-arrow{font-size:16px;color:#d1d5db;line-height:1}.performance-filters-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:12px 16px}.dashboard-charts-coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#fff;border-radius:12px;padding:48px 24px;box-shadow:0 2px 8px #0000000f;color:#9ca3af}.dashboard-charts-coming-soon p{margin:0;font-size:14px}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.dashboard-skeleton{display:flex;flex-direction:column;gap:20px}.skeleton-card{background:#e5e7eb;border-radius:12px}.skeleton-shimmer{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:800px 100%;animation:skeleton-shimmer 1.6s ease-in-out infinite}.skeleton-kpi{height:110px}.skeleton-chart{height:300px}.skeleton-table{height:360px}.dashboard-error{display:flex;align-items:center;gap:8px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:8px;padding:10px 16px;font-size:14px}.dashboard-table-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f}.dashboard-table-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.dashboard-table-search{height:34px;padding:0 10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;width:220px;transition:border-color .15s}.dashboard-table-search:focus{border-color:#fe5000}.dashboard-table{width:100%;border-collapse:collapse;font-size:14px}.dashboard-table th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #f3f4f6;background:#f9fafb;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.dashboard-table th:hover{background:#f3f4f6}.dashboard-table td{padding:12px;color:#374151;border-bottom:1px solid #f3f4f6;vertical-align:middle}.dashboard-table tr:last-child td{border-bottom:none}.dashboard-table tr:hover td{background:#f9fafb}.status-badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:11px;font-weight:600;text-transform:capitalize;letter-spacing:.03em}.status-badge--active{background:#dcfce7;color:#16a34a}.status-badge--inactive{background:#f3f4f6;color:#6b7280}.status-badge--pending{background:#fef9c3;color:#a16207}.status-badge--vetting{background:#dbeafe;color:#1d4ed8}.status-badge--approve{background:#ede9fe;color:#6d28d9}.status-badge--rejected{background:#fee2e2;color:#dc2626}.status-badge--banned{background:#fee2e2;color:#991b1b}.status-badge--blank{background:#f3f4f6;color:#6b7280}.source-badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:500}.source-badge--referral{background:#fef3c7;color:#d97706}.source-badge--direct{background:#f3f4f6;color:#6b7280}.dashboard-table-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px;font-size:13px;color:#6b7280}.pagination-btn{padding:6px 14px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:13px;cursor:pointer;transition:all .15s}.pagination-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.dash-ms-container{position:relative}.dash-ms-trigger{display:flex;align-items:center;justify-content:space-between;height:36px;padding:0 10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;cursor:pointer;min-width:160px;transition:border-color .15s;gap:8px}.dash-ms-trigger:hover{border-color:#9ca3af}.dash-ms-placeholder{color:#9ca3af}.dash-ms-count{color:#1a1a1a;font-weight:500}.dash-ms-arrow{font-size:10px;color:#9ca3af}.dash-ms-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;max-height:220px;overflow-y:auto;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 16px #0000001a;z-index:100}.dash-ms-option{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px;color:#374151;transition:background .1s}.dash-ms-option:hover{background:#f9fafb}.dash-ms-empty{padding:12px;font-size:13px;color:#9ca3af;text-align:center}.leaderboard-table{width:100%;border-collapse:collapse;font-size:14px}.leaderboard-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #f3f4f6}.leaderboard-table td{padding:10px 12px;color:#374151;border-bottom:1px solid #f3f4f6;vertical-align:middle}.leaderboard-table tr:last-child td{border-bottom:none}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:700}.rank-badge--1{background:#fef9c3;color:#a16207}.rank-badge--2{background:#f3f4f6;color:#374151}.rank-badge--3{background:#fef3c7;color:#d97706}.rank-badge--other{background:#f9fafb;color:#9ca3af}@media(max-width:1200px){.dashboard-charts-grid,.demographics-grid{grid-template-columns:1fr}}@media(max-width:768px){.dashboard-kpi-row{grid-template-columns:repeat(2,1fr)}.dashboard-filters-bar{flex-direction:column;align-items:stretch}.dashboard-filter-group,.dash-ms-trigger{min-width:unset;width:100%}.dashboard-tabs{width:100%}.dashboard-tab{flex:1;justify-content:center;padding:8px 12px}}@media(max-width:480px){.dashboard-kpi-row{grid-template-columns:1fr}.kpi-card__value{font-size:24px}}.chart-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.chart-header-row .chart-title{margin:0}.chart-export-btn{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:5px 10px;cursor:pointer;color:#374151;font-size:12px;font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s}.chart-export-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;color:#111827}.chart-export-btn:disabled{opacity:.6;cursor:not-allowed}.promo-card{display:flex;flex-direction:column;gap:0;justify-content:space-between}.promo-header{margin-bottom:16px}.promo-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}.promo-header-sub{margin:0;font-size:12px;color:#9ca3af}.promo-badges{display:flex;gap:6px;flex-wrap:wrap}.promo-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600}.promo-badge--active{background:#fff3ed;color:#fe5000;border:1px solid #FDDACC}.promo-badge--scheduled{background:#eff6ff;color:#2563eb;border:1px solid #BFDBFE}.promo-badge--expired{background:#f3f4f6;color:#6b7280;border:1px solid #D1D5DB}.promo-summary-stats{display:flex;gap:10px;margin-bottom:16px}.promo-stat{flex:1;display:flex;align-items:center;gap:10px;background:#f9fafb;border-radius:10px;padding:10px 12px;min-width:0}.promo-stat-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.promo-stat-icon--green{background:#d1fae5;color:#059669}.promo-stat-icon--orange{background:#fff3ed;color:#fe5000}.promo-stat-icon--blue{background:#dbeafe;color:#2563eb}.promo-stat-value{font-size:16px;font-weight:700;color:#111827;line-height:1.2}.promo-stat-label{font-size:11px;color:#6b7280;margin-top:1px}.promo-campaigns-list{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.promo-campaign-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px}.promo-campaign-item--active{border-left:3px solid #FE5000}.promo-campaign-item--expired{opacity:.75;border-left:3px solid #d1d5db}.promo-campaign-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.promo-campaign-name{font-size:13px;font-weight:600;color:#111827;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.promo-status-pill{font-size:10px;font-weight:600;padding:2px 7px;border-radius:99px;flex-shrink:0}.promo-status-pill--active{background:#fff3ed;color:#fe5000}.promo-status-pill--scheduled{background:#eff6ff;color:#2563eb}.promo-status-pill--expired{background:#f3f4f6;color:#6b7280}.promo-campaign-dates{font-size:11px;color:#9ca3af;margin-bottom:6px}.promo-campaign-reward{display:flex;align-items:center;gap:4px;font-size:12px;color:#374151;margin-bottom:8px}.promo-campaign-progress-label{font-size:11px;color:#6b7280;margin-bottom:4px}.promo-progress-track{position:relative;height:18px;background:#e5e7eb;border-radius:99px;overflow:hidden}.promo-progress-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#fe5000,#f97316);border-radius:99px;transition:width .4s ease}.promo-progress-label{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:600;color:#374151;z-index:1}.promo-campaign-paid{display:flex;align-items:center;gap:4px;font-size:11px;color:#059669;margin-top:6px;font-weight:500}.promo-qual-row{display:flex;gap:8px;margin-top:8px}.promo-qual-stat{flex:1;display:flex;align-items:center;gap:5px;font-size:12px;padding:5px 8px;border-radius:6px}.promo-qual-stat--qualified{background:#d1fae5;color:#059669}.promo-qual-stat--paid{background:#dbeafe;color:#2563eb}.promo-qual-stat--unpaid{background:#f3f4f6;color:#6b7280}.promo-view-all-btn{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:9px 0;background:none;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;color:#fe5000;font-size:13px;font-weight:500;transition:background .15s,border-color .15s;margin-top:auto}.promo-view-all-btn:hover{background:#fff3ed;border-color:#fddacc}.toast{position:fixed;top:20px;right:20px;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:10000;animation:slideIn .3s ease-out;max-width:400px}.toast-success{background:#e8f5e9;border:1px solid #81c784;color:#2e7d32}.toast-error{background:#ffebee;border:1px solid #e57373;color:#c62828}.toast-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-message{flex:1;font-size:14px;font-weight:500;line-height:1.4}.toast-close{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;opacity:.7;transition:opacity .2s,background-color .2s;flex-shrink:0}.toast-close:hover{opacity:1;background-color:#0000001a}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.shifts-page{display:flex;flex-direction:column;gap:0;max-width:100%}.page-title{margin:0;font-size:22px;font-weight:600;color:#1a1a1a}.create-btn{padding:10px 20px;background:#fe5000;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.create-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff6b004d}.create-btn svg{width:18px;height:18px}.filter-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #00000014;margin-bottom:8px}.filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;width:100%}.date-range-group{display:flex;gap:8px;align-items:center}.date-separator{color:#999;font-size:14px}.process-status-btn{padding:10px 16px;background:#fe5000;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s;display:flex;align-items:center;gap:6px}.process-status-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #ff6b354d}.process-status-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.process-status-btn svg{width:16px;height:16px}.table-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;max-width:100%}.shifts-table{width:100%;min-width:1400px;border-collapse:collapse}.shifts-table th{background:#f8f9fa;padding:14px 16px;text-align:center!important;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e0e0e0;white-space:nowrap}.shifts-table th.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.shifts-table th.sortable-header:hover{background:#f0f0f0}.sort-icon{margin-left:6px;font-size:12px;color:#999;transition:color .2s}.sort-icon.active{color:#fe5000}.shifts-table td{padding:14px 16px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0;text-align:center}.shifts-table td:nth-child(1),.shifts-table td:nth-child(2){text-align:left}.shifts-table th:nth-child(1),.shifts-table th:nth-child(2){text-align:left!important}.date-cell{white-space:nowrap}.shifts-table tr:hover{background:#fafafa}.status-badge{display:inline-block;padding:4px 12px;border-radius:50px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-open{background:#e8f5e9;color:#388e3c}.status-filled{background:#e3f2fd;color:#1976d2}.status-cancelled{background:#ffebee;color:#d32f2f}.status-in_progress,.status-in-progress{background:#fff3e0;color:#f57c00}.status-applied{background:#f3e5f5;color:#7b1fa2}.status-accepted{background:#e3f2fd;color:#1976d2}.status-started{background:#fff3e0;color:#f57c00}.status-completed{background:#e0f7fa;color:#00796b}.status-approved-by-om,.status-approved{background:#e8f5e9;color:#388e3c}.status-rejected{background:#ffebee;color:#d32f2f}.status-joined{background:#e8f5e9;color:#2e7d32}.status-no-show,.status-no_show{background:#ffebee;color:#c62828}.status-abandoned{background:#fff3e0;color:#c40}.status-unfilled{background:#fafafa;color:#757575}.employee-info{display:flex;align-items:center;gap:8px}.employee-count{font-weight:500}.slots-indicator{font-size:12px;color:#999}.duration-text{font-weight:500;color:#333}.payment-text{font-weight:600;color:#388e3c}.action-btn.details{background:#e3f2fd;color:#1976d2}.action-btn.details:hover{background:#bbdefb}.action-btn.assign{background:#e8f5e9;color:#388e3c}.action-btn.assign:hover{background:#c8e6c9}.action-btn.delete{background:#fee2e2;color:#dc2626}.action-btn.delete:hover{background:#fecaca;color:#b91c1c}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.modal-close{width:36px;height:36px;border:none;background:#f5f5f5;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close:hover{background:#e0e0e0}.modal-close svg{width:20px;height:20px;color:#666}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0;background:#fafafa}.details-grid{display:flex;flex-direction:column;gap:16px}.details-section{background:#f8f9fa;border-radius:12px;padding:20px;border:1px solid #e8e8e8}.info-row{display:flex;justify-content:space-between;align-items:center}.info-row .info-label{font-size:13px;color:#666}.info-row .info-value{font-size:14px;font-weight:500;color:#1a1a1a}.feedback-textarea{width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .2s,box-shadow .2s}.feedback-textarea:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.feedback-textarea::placeholder{color:#999}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff6b004d}.create-form{display:flex;flex-direction:column;gap:16px}.form-input{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;transition:border-color .2s,box-shadow .2s}.form-textarea{resize:vertical;min-height:100px;font-family:inherit}.slide-panel.wide{width:60%;max-width:800px}.worker-shifts-section{margin-top:24px;padding-top:24px;border-top:1px solid #e0e0e0}.worker-shifts-section>.section-title{margin-bottom:16px}.worker-shifts-list{display:flex;flex-direction:column;gap:16px}.worker-shift-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.worker-shift-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.worker-info{display:flex;align-items:center;justify-content:flex-start;gap:12px}.worker-avatar{width:40px;height:40px;border-radius:50%;background:#fe5000;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px;overflow:hidden}.worker-avatar img{width:100%;height:100%;object-fit:cover}.worker-details{display:flex;flex-direction:column;gap:2px}.worker-name{font-size:14px;font-weight:600;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;display:inline-block}.job-category-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.worker-contact{font-size:12px;color:#666}.worker-shift-details{padding:16px;display:flex;flex-direction:column;gap:16px}.detail-group{padding:12px;background:#f8f9fa;border-radius:8px}.detail-group h4{margin:0 0 12px;font-size:13px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-item.full-width{grid-column:span 2}.detail-label{font-size:12px;color:#666}.detail-value{font-size:14px;font-weight:500;color:#1a1a1a}.detail-value.earnings{font-size:18px}.feedback-grid{display:flex;flex-direction:column;gap:12px}.feedback-item{display:flex;flex-direction:column;gap:4px}.feedback-label{font-size:12px;color:#666;font-weight:500}.feedback-value{font-size:14px;color:#1a1a1a;padding:8px 12px;background:#fff;border-radius:6px;border:1px solid #e8e8e8;min-height:40px}.rating-stars{display:inline-flex;align-items:center;gap:2px}.star{font-size:16px}.star.filled{color:#ffc107}.star.half{color:#ffc107;opacity:.7}.star.empty{color:#ddd}.no-rating{color:#999;font-style:italic}.status-approved{background:#e8f5e9;color:#2e7d32}.loading-container.small,.empty-state.small{padding:24px}.loading-container.small .spinner{width:24px;height:24px;border-width:3px}.loading-container.small .loading-text,.empty-state.small p{font-size:13px;color:#666;margin:0}.feedback-item-inline{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.feedback-item-inline .info-label{flex-shrink:0;font-size:13px;color:#666}.feedback-item-inline .info-value{font-size:14px;color:#1a1a1a;text-align:right;word-break:break-word}.feedback-list{list-style:none;padding:0;margin:0}.feedback-list li{padding:6px 0;border-bottom:1px solid #e8e8e8;font-size:13px;color:#1a1a1a}.feedback-list li:last-child{border-bottom:none}.worker-shift-details-simple{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.worker-shift-details-simple .detail-row{display:flex;justify-content:space-between;align-items:center}.worker-shift-details-simple .detail-label{font-size:13px;color:#666}.worker-shift-details-simple .detail-value{font-size:14px;font-weight:500;color:#1a1a1a}.worker-shift-details-simple .detail-value.highlight{color:#388e3c;font-weight:600}.rating-display{display:flex;align-items:center;gap:8px}.rating-number{font-size:14px;font-weight:500;color:#666}.worker-shift-details-editable{padding:16px;display:flex;flex-direction:column;gap:16px}.timing-row{display:flex;gap:16px;padding:12px;background:#f8f9fa;border-radius:8px}.timing-item{display:flex;flex-direction:column;gap:4px;flex:1}.timing-label{font-size:12px;color:#666;font-weight:500}.timing-value{font-size:14px;font-weight:500;color:#1a1a1a}.timing-value.highlight{color:#388e3c;font-weight:600}.ratings-row{display:flex;gap:16px}.rating-input-group{flex:1;display:flex;flex-direction:column;gap:6px}.rating-label{font-size:13px;font-weight:500;color:#666}.rating-select{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}.rating-select:hover{border-color:#bbb}.rating-select:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.feedback-input-group{display:flex;flex-direction:column;gap:6px}.feedback-label{font-size:13px;font-weight:500;color:#666}.feedback-input{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;color:#333;background:#fff;resize:vertical;min-height:60px;transition:border-color .2s,box-shadow .2s}.feedback-input:hover{border-color:#bbb}.feedback-input:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.feedback-input::placeholder{color:#999}.worker-shift-actions{display:flex;justify-content:flex-end;padding-top:8px;border-top:1px solid #e8e8e8}.btn-save{padding:10px 20px;background:#fe5000;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.editable-box{border:1px solid #e0e0e0;border-radius:12px;padding:16px;background:#fff;margin-top:8px}.editable-box.gray{background:#f5f5f5;border:none}.editable-textarea{width:100%;border:none;outline:none;font-size:14px;font-family:inherit;color:#333;background:transparent;resize:none;min-height:60px}.editable-textarea::placeholder{color:#999}.no-worker-text{color:#999;font-size:14px;margin:0;font-style:italic}.section-header-with-rating{display:flex;justify-content:space-between;align-items:center;margin-bottom:0}.section-header-with-rating .section-title{margin:0}.star-rating-display{display:flex;align-items:center;gap:4px}.star-clickable{font-size:20px;cursor:pointer;transition:transform .1s,color .2s}.star-clickable:hover{transform:scale(1.2)}.star-clickable.filled{color:#ffc107}.star-clickable.empty{color:#ddd}.star-rating-display .star{font-size:14px}.star-rating-display .star.filled{color:#ffc107}.star-rating-display .star.half{background:linear-gradient(90deg,#ffc107 50%,#ddd 50%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.star-rating-display .star.empty{color:#ddd}.rating-value{font-size:14px;color:#666;margin-left:8px}.shift-save-actions{display:flex;justify-content:flex-end;margin-top:16px}.btn-save-shift{padding:12px 24px;background:#fe5000;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-save-shift:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff6b004d}.btn-save-shift:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:1200px){.shifts-table{display:block;overflow-x:auto}}@media(max-width:768px){.filter-row{flex-direction:column}.filter-group,.filter-select,.filter-input{width:100%}.date-range-group{flex-direction:column;width:100%}.date-separator{display:none}.pagination{flex-direction:column;gap:16px}.page-title{font-size:24px}.slide-panel{width:100%;max-width:100%}.modal-header{padding:16px 20px}.modal-body{padding:16px}.modal-footer{padding:12px 16px;flex-direction:column}.modal-footer button{width:100%}.form-grid{grid-template-columns:1fr}}.search-group{flex:1;min-width:200px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;width:18px;height:18px;color:#999;pointer-events:none}.search-input{padding-left:40px!important;width:100%}.search-input::placeholder{color:#aaa;font-size:13px}@media(max-width:768px){.search-group{min-width:100%;order:-1;margin-bottom:12px}.pagination-left{flex-direction:column;align-items:flex-start;gap:8px}.per-page-select{width:100%}}.transport-enabled-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:#4caf50;color:#fff;border-radius:50%;font-size:10px;margin-left:6px;vertical-align:middle}.editable-value{display:flex;align-items:center}.editable-text{cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px;transition:background .2s}.editable-text:hover{background:#f0f0f0}.edit-icon{opacity:.5;transition:opacity .2s}.editable-text:hover .edit-icon{opacity:1}.inline-edit{display:flex;align-items:center;gap:6px}.transport-input{width:80px;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;text-align:right}.transport-input:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 2px #ff6b001a}.save-btn,.cancel-btn{width:28px;height:28px;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s}.save-btn{background:#4caf50;color:#fff}.save-btn:hover:not(:disabled){background:#43a047}.cancel-btn{background:#f5f5f5;color:#666}.cancel-btn:hover:not(:disabled){background:#e0e0e0}.save-btn:disabled,.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.export-csv-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#2e7d32,#388e3c);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.export-csv-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2e7d324d}.export-csv-btn svg{width:18px;height:18px}.export-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.export-modal{background:#fff;border-radius:16px;width:95vw;max-width:95vw;max-height:95vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003;animation:slideUp .3s ease}.export-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e8e8e8;background:linear-gradient(135deg,#f8f9fa,#fff)}.export-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.export-modal-header .close-btn{width:36px;height:36px;border:none;background:#f5f5f5;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.export-modal-header .close-btn:hover{background:#e0e0e0}.export-modal-header .close-btn svg{width:20px;height:20px;color:#666}.export-modal-body{padding:0;overflow-y:auto;flex:1;display:flex;flex-direction:row}.export-templates-panel{width:240px;min-width:240px;background:#fafbfc;border-right:1px solid #e8e8e8;display:flex;flex-direction:column}.export-templates-header{padding:14px 16px;font-size:13px;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e8e8e8}.export-templates-list{flex:1;overflow-y:auto}.export-template-item{display:flex;align-items:flex-start;justify-content:space-between;padding:10px 16px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .15s}.export-template-item:hover{background:#f0f2f5}.export-template-item.active{background:#fff3ed;border-left:3px solid #FE5000;padding-left:13px}.export-template-name{font-size:13px;font-weight:500;color:#333;flex:1;margin-right:8px;min-width:0;word-break:break-word}.export-template-item.active .export-template-name{color:#fe5000;font-weight:600}.export-template-delete-btn{border:none;background:none;cursor:pointer;color:#bbb;padding:2px;border-radius:4px;display:flex;align-items:center;transition:color .15s}.export-template-delete-btn:hover{color:#e53e3e}.export-template-delete-confirm{display:flex;gap:4px}.export-template-confirm-yes,.export-template-confirm-no{border:none;padding:2px 8px;border-radius:4px;font-size:11px;cursor:pointer;font-weight:600}.export-template-confirm-yes{background:#e53e3e;color:#fff}.export-template-confirm-yes:hover{background:#c53030}.export-template-confirm-no{background:#e8e8e8;color:#666}.export-template-confirm-no:hover{background:#d0d0d0}.export-templates-actions{padding:12px;border-top:1px solid #e8e8e8;display:flex;flex-direction:column;gap:8px}.export-template-save-btn,.export-template-update-btn{width:100%;padding:8px 12px;border:1px solid #d0d0d0;border-radius:6px;background:#fff;color:#333;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.export-template-save-btn:hover{background:#f5f5f5;border-color:#bbb}.export-template-update-btn{background:#fe5000;border-color:#fe5000;color:#fff}.export-template-update-btn:hover{background:#e54800}.export-template-save-row{display:flex;gap:4px}.export-template-save-row input{flex:1;padding:6px 8px;border:1px solid #d0d0d0;border-radius:4px;font-size:12px;min-width:0}.export-template-save-row input:focus{outline:none;border-color:#fe5000}.export-template-save-row button{padding:4px 10px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;cursor:pointer;font-size:12px;font-weight:500;display:flex;align-items:center}.export-template-save-row button:first-of-type:not(:disabled){background:#fe5000;border-color:#fe5000;color:#fff}.export-template-save-row button:disabled{opacity:.5;cursor:not-allowed}.export-columns-panel{flex:1;padding:20px 24px;overflow-y:auto;min-width:0}.export-selection-controls{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#f0f4f8,#e8ecf0);border-radius:10px;margin-bottom:20px}.export-selected-count{font-size:14px;font-weight:600;color:#1a1a1a}.export-quick-actions{display:flex;gap:8px}.export-quick-actions button{padding:6px 12px;font-size:12px;font-weight:500;border:1px solid #d0d0d0;border-radius:6px;background:#fff;color:#555;cursor:pointer;transition:all .2s}.export-quick-actions button:hover{background:#f5f5f5;border-color:#bbb;color:#333}.export-sections-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}.export-section{margin-bottom:0;display:flex;flex-direction:column}.export-section-fields{display:flex;flex-direction:column;gap:8px;flex:1}.export-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#888;margin:0 0 10px 4px}.export-description{margin:0 0 20px;font-size:14px;color:#666;line-height:1.5}.export-field-groups{display:flex;flex-direction:column;gap:12px}.export-field-option{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#fafafa;border-radius:10px;cursor:pointer;transition:all .2s;border:2px solid transparent;border-left:3px solid transparent;min-height:90px}.export-field-option:hover{background:#f5f5f5;border-color:#e0e0e0;border-left-color:#ddd}.export-field-option.selected{background:#fff8f5;border-color:#ffe0d0;border-left-color:#fe5000}.export-field-option input[type=checkbox]{width:18px;height:18px;accent-color:#FE5000;cursor:pointer;flex-shrink:0}.export-field-option input[type=checkbox]:checked+.export-field-icon+.field-info strong,.export-field-option input[type=checkbox]:checked+.field-info strong{color:#fe5000}.export-field-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;flex-shrink:0;border:1px solid #e8e8e8}.export-field-icon svg{width:18px;height:18px;color:#666}.export-field-option.selected .export-field-icon{background:#fe5000;border-color:#fe5000}.export-field-option.selected .export-field-icon svg{color:#fff}.field-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.field-info strong{font-size:14px;font-weight:600;color:#1a1a1a;transition:color .2s}.field-info span{font-size:12px;color:#888;line-height:1.4}.export-preview{margin-top:20px;padding:16px;background:linear-gradient(135deg,#f5f7fa,#e8ecf0);border-radius:12px;border:1px solid #dde1e6}.export-preview-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#555;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.export-preview-title svg{color:#1976d2}.export-preview-table-wrapper{overflow-x:auto;border-radius:8px;background:#fff;border:1px solid #e0e0e0}.export-preview-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.export-preview-table th{padding:10px 12px;background:#f8f9fa;font-weight:600;color:#555;text-align:left;border-bottom:2px solid #e0e0e0;text-transform:uppercase;font-size:10px;letter-spacing:.5px}.export-preview-table td{padding:10px 12px;color:#333;border-bottom:1px solid #f0f0f0;vertical-align:middle}.export-preview-table td.earnings-cell{font-weight:600;color:#2e7d32}.export-preview-table td.feedback-cell,.export-preview-table td.address-cell{white-space:normal;word-wrap:break-word;line-height:1.4}.export-preview-table td.address-cell{min-width:250px;max-width:300px}.export-preview-table td.feedback-cell{max-width:200px;font-style:italic;color:#666}.export-preview-table .status-badge{font-size:10px;padding:3px 8px;text-align:center}.export-preview-note{margin:10px 0 0;font-size:12px;color:#888;text-align:center}.export-filters-info{margin-top:20px;padding:14px 16px;background:linear-gradient(135deg,#fffde7,#fff8e1);border-radius:10px;border:1px solid #ffe082;border-left:3px solid #ffc107}.export-filters-info strong{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#f57c00;margin-bottom:8px}.export-filters-info ul{margin:0;padding-left:18px;font-size:13px;color:#666}.export-filters-info li{margin-bottom:4px;line-height:1.5}.export-filters-info li:last-child{margin-bottom:0}.export-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e8e8e8;background:linear-gradient(135deg,#f8f9fa,#fff)}.export-modal-footer .btn-secondary{padding:10px 20px;background:#fff;color:#666;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.export-modal-footer .btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.export-modal-footer .btn-secondary:disabled{opacity:.6;cursor:not-allowed}.export-download-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#2e7d32,#43a047);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #2e7d3240}.export-download-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #2e7d3259;background:linear-gradient(135deg,#388e3c,#4caf50)}.export-download-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;background:#bdbdbd}.export-download-btn svg{width:18px;height:18px}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}@media(max-width:960px){.export-modal{max-width:95%}.export-sections-grid{grid-template-columns:1fr;gap:16px}.export-templates-panel{width:200px;min-width:200px}}@media(max-width:576px){.export-modal{max-width:100%;max-height:100vh;border-radius:0}.export-modal-header{padding:16px 20px}.export-modal-body{flex-direction:column}.export-templates-panel{width:100%;min-width:unset;max-height:180px;border-right:none;border-bottom:1px solid #e8e8e8}.export-columns-panel{padding:16px 20px}.export-selection-controls{flex-direction:column;gap:10px;align-items:stretch;text-align:center}.export-quick-actions{justify-content:center}.export-field-option{padding:10px 12px}.export-field-icon{width:28px;height:28px}.export-field-icon svg{width:14px;height:14px}.field-info strong{font-size:13px}.field-info span{font-size:11px}.export-modal-footer{flex-direction:column;padding:16px 20px}.export-modal-footer button{width:100%;justify-content:center}}.on-call-badge{background:#fe5000;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;margin-left:8px;text-transform:uppercase;display:inline-block;vertical-align:middle}.training-badge{background:#4caf50;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;margin-left:8px;text-transform:uppercase;display:inline-block;vertical-align:middle}.create-shift-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fe5000;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.create-shift-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff6b004d}.create-shift-btn svg{width:18px;height:18px}.modal-header-actions{display:flex;align-items:center;gap:12px}.edit-shift-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#f0f0f0;color:#333;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.edit-shift-btn:hover{background:#e8e8e8;border-color:#ccc}.edit-shift-btn svg{width:16px;height:16px}.edit-select,.edit-input{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;color:#333;background:#fff;min-width:200px;transition:border-color .2s,box-shadow .2s}.edit-select:hover,.edit-input:hover{border-color:#bbb}.edit-select:focus,.edit-input:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}@keyframes spin-refresh{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.refresh-btn-spinning svg{animation:spin-refresh .6s ease-in-out}.create-shift-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.create-shift-modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003;animation:slideUp .3s ease}.create-shift-modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #e8e8e8}.create-shift-modal-header h2{margin:0;font-size:17px;font-weight:600;color:#1a1a1a}.create-shift-modal-body{padding:16px 24px;overflow-y:auto;flex:1}.create-shift-form{display:flex;flex-direction:column;gap:10px}.create-shift-form .form-group{display:flex;flex-direction:column;gap:4px}.create-shift-form .form-label{font-size:13px;font-weight:500;color:#666}.create-shift-form .form-select,.create-shift-form .form-input{padding:8px 10px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;transition:border-color .2s,box-shadow .2s}.create-shift-form .form-select:hover,.create-shift-form .form-input:hover{border-color:#bbb}.create-shift-form .form-select:focus,.create-shift-form .form-input:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.create-shift-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.create-shift-form .form-textarea{padding:8px 10px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;font-family:inherit;resize:vertical;min-height:60px;transition:border-color .2s,box-shadow .2s}.create-shift-form .form-textarea:hover{border-color:#bbb}.create-shift-form .form-textarea:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.create-shift-form .form-textarea::placeholder{color:#999}.create-shift-form .checkbox-group{padding:2px 0}.create-shift-form .checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#333}.create-shift-form .checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#FE5000;cursor:pointer}.create-shift-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e8e8e8;background:#fafafa}@media(max-width:576px){.create-shift-modal{max-width:100%;max-height:100vh;border-radius:0}.create-shift-modal-header{padding:16px 20px}.create-shift-modal-body{padding:20px}.create-shift-form .form-row{grid-template-columns:1fr}.create-shift-modal-footer{flex-direction:column;padding:16px 20px}.create-shift-modal-footer button{width:100%}}.searchable-select{position:relative;width:100%}.searchable-select-input-wrapper{position:relative;display:flex;align-items:center}.searchable-select-input{width:100%;padding:10px 36px 10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;transition:border-color .2s,box-shadow .2s}.searchable-select-input:hover{border-color:#bbb}.searchable-select-input:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.searchable-select-input::placeholder{color:#666;font-weight:500}.searchable-select-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;background:#f0f0f0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;color:#666;transition:all .2s}.searchable-select-clear:hover{background:#e0e0e0;color:#333}.searchable-select-selected{position:absolute;top:100%;left:0;right:0;margin-top:4px;padding:8px 12px;background:#e8f5e9;border-radius:6px;font-size:13px;font-weight:500;color:#2e7d32}.searchable-select-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 8px 24px #00000026;z-index:1000;max-height:250px;overflow-y:auto}.searchable-select-option{display:flex;flex-direction:column;gap:2px;padding:10px 12px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f0f0f0}.searchable-select-option:last-child{border-bottom:none}.searchable-select-option:hover{background:#f8f9fa}.searchable-select-option.selected{background:#fff3e0}.searchable-select-option .option-name{font-size:14px;font-weight:500;color:#1a1a1a}.searchable-select-option .option-details{display:flex;gap:12px;font-size:12px;color:#666}.searchable-select-option .option-code{background:#e3f2fd;color:#1976d2;padding:2px 6px;border-radius:4px;font-weight:500}.searchable-select-option .option-phone{color:#999}.searchable-select-no-results{padding:16px 12px;text-align:center;color:#999;font-size:14px}.searchable-select-backdrop{position:fixed;inset:0;z-index:999}.edit-worker-row{flex-direction:column;align-items:flex-start;gap:8px}.edit-searchable-select{width:100%}.edit-searchable-select .searchable-select-selected{position:relative;margin-top:8px}@media(max-width:576px){.searchable-select-dropdown{max-height:200px}.searchable-select-option{padding:12px}}.validation-tick{color:#2e7d32;font-weight:600;margin-left:8px;font-size:14px}.searchable-select-input.has-value{color:#333;font-weight:500}.form-input-disabled{padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;background-color:#f5f5f5;color:#999;font-size:14px;font-style:italic}.btn-primary:disabled{background:#ccc;cursor:not-allowed;opacity:.7}.section-title-with-edit{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.section-edit-btn{margin-left:auto;padding:6px 14px;background:linear-gradient(135deg,#1976d2,#1565c0);border:none;border-radius:6px;cursor:pointer;color:#fff;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px #1976d233}.section-edit-btn:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);box-shadow:0 4px 8px #1976d24d;transform:translateY(-1px)}.section-edit-btn:active{transform:translateY(0);box-shadow:0 2px 4px #1976d233}.section-edit-btn svg{fill:#fff}.manager-approved-time-audit{color:#1565c0;font-size:.8rem;padding:10px 14px;background:linear-gradient(135deg,#e3f2fd,#bbdefb);margin-bottom:16px;margin-top:8px;display:flex;align-items:center;gap:10px;border-radius:8px;border-left:4px solid #1976d2;box-shadow:0 2px 4px #1976d21a}.manager-approved-time-audit svg{flex-shrink:0;color:#1976d2}.manager-approved-time-edit-mode{background:linear-gradient(135deg,#f5f9ff,#e8f4fd);border-radius:12px;padding:20px;margin-top:8px;border:1px solid #bbdefb;box-shadow:0 4px 12px #1976d214}.manager-approved-time-edit-mode .mat-form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.manager-approved-time-edit-mode .mat-form-group:last-of-type{margin-bottom:0}.manager-approved-time-edit-mode .mat-form-label{font-weight:600;color:#1565c0;font-size:.85rem;display:flex;align-items:center;gap:6px}.manager-approved-time-edit-mode .mat-form-label svg{color:#1976d2}.manager-approved-time-input{width:auto;max-width:240px;padding:10px 14px;border-radius:8px;border:2px solid #e0e0e0;font-size:14px;font-family:inherit;background-color:#fff;transition:all .2s ease;box-shadow:0 2px 4px #0000000a}.manager-approved-time-input:hover{border-color:#90caf9}.manager-approved-time-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d226,0 2px 4px #0000000a}.manager-approved-time-actions{margin-top:20px;display:flex;gap:12px;padding-top:16px;border-top:1px solid #e3f2fd;justify-content:flex-start}.mat-save-btn{padding:10px 24px;background:linear-gradient(135deg,#43a047,#388e3c);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;box-shadow:0 2px 6px #43a0474d;display:flex;align-items:center;gap:6px}.mat-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#388e3c,#2e7d32);box-shadow:0 4px 10px #43a04766;transform:translateY(-1px)}.mat-save-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #43a0474d}.mat-save-btn:disabled{cursor:not-allowed;opacity:.6;background:#bdbdbd;box-shadow:none}.mat-cancel-btn{padding:10px 24px;background-color:#fff;color:#616161;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.mat-cancel-btn:hover:not(:disabled){background-color:#f5f5f5;border-color:#bdbdbd;color:#424242}.mat-cancel-btn:disabled{cursor:not-allowed;opacity:.5}.validation-error{color:#c62828;font-size:.8rem;margin-top:12px;padding:10px 14px;background:linear-gradient(135deg,#ffebee,#ffcdd2);border-radius:8px;border-left:4px solid #d32f2f;display:flex;align-items:center;gap:8px;box-shadow:0 2px 4px #d32f2f1a}.table-header-right{display:flex;align-items:center;gap:16px}.selection-info{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#fff8f5;border:1px solid #FE5000;border-radius:6px}.selection-count{color:#fe5000;font-weight:600;font-size:13px}.clear-selection-btn{padding:4px 10px;background:transparent;color:#fe5000;border:none;font-size:12px;font-weight:500;cursor:pointer;border-radius:4px;transition:all .2s ease}.clear-selection-btn:hover{background:#fe5000;color:#fff}.shifts-table th.checkbox-column,.shifts-table td.checkbox-column{width:40px;min-width:40px;max-width:40px;text-align:center!important;padding:10px 8px!important}.shifts-table th.checkbox-column input[type=checkbox],.shifts-table td.checkbox-column input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#FE5000;margin:0}.shifts-table th.checkbox-column input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.shifts-table tbody tr.selected-row{background-color:#fff8f5!important}.shifts-table tbody tr.selected-row:hover{background-color:#fff0eb!important}.delete-shift-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#fee2e2;color:#dc2626;border:1px solid #fca5a5;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-shift-btn:hover{background:#fecaca;border-color:#f87171}.delete-shift-btn svg{width:16px;height:16px}.delete-confirm-overlay{position:fixed;inset:0;background:#00000080;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px}.delete-confirm-modal{background:#fff;border-radius:12px;width:100%;max-width:400px;overflow:hidden;box-shadow:0 20px 60px #0003}.delete-confirm-header{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid #e8e8e8}.delete-confirm-header .warning-icon{width:32px;height:32px;color:#dc2626}.delete-confirm-header h3{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.delete-confirm-body{padding:20px 24px}.delete-confirm-body>p{margin:0 0 12px;font-size:14px;color:#555}.shift-info-summary{background:#f8f9fa;border-radius:8px;padding:12px;margin:12px 0}.shift-info-summary p{margin:4px 0;font-size:13px;color:#555}.shift-info-summary p strong{color:#333}.delete-warning{color:#dc2626;font-weight:500;margin-top:16px!important}.delete-confirm-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e8e8e8;background:#fafafa}.btn-secondary{padding:10px 20px;background:#fff;color:#555;border:1px solid #ddd;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{padding:10px 20px;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-danger:hover:not(:disabled){background:#b91c1c}.export-categories-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto;padding:4px}.export-category-card{border:1px solid #e8e8e8;border-radius:10px;overflow:hidden;background:#fff}.export-category-header{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fafafa;transition:all .2s ease}.export-category-header.selected{background:#fff8f5;border-left:3px solid #FE5000;padding-left:13px}.export-category-checkbox{display:flex;align-items:center;gap:12px;flex:1;cursor:pointer;min-width:0}.export-category-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#FE5000;flex-shrink:0;margin:0}.export-category-checkbox .category-info{flex:1;min-width:0}.export-category-checkbox .category-info strong{display:block;font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:2px}.export-category-checkbox .category-info span{font-size:12px;color:#666}.export-category-header input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#FE5000;flex-shrink:0}.export-category-header .category-info{flex:1;min-width:0}.export-category-header .category-info strong{display:block;font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:2px}.export-category-header .category-info span{font-size:12px;color:#666}.category-reorder-btns{display:flex;flex-direction:column;gap:3px;flex-shrink:0}.category-reorder-btns button{width:28px;height:22px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s ease;font-size:12px;color:#666}.category-reorder-btns button:hover:not(:disabled){background:#f0f0f0;border-color:#fe5000;color:#fe5000}.category-reorder-btns button:disabled{opacity:.3;cursor:not-allowed;background:#f9f9f9}.category-reorder-btns button svg{width:14px;height:14px;color:#666}.expand-btn{width:32px;height:32px;border:2px solid #ddd;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:8px;border-radius:6px;transition:all .2s ease;font-size:18px;font-weight:700;color:#666;flex-shrink:0}.expand-btn:hover{background:#f5f5f5;border-color:#fe5000;color:#fe5000}.expand-btn.expanded{background:#fe5000;border-color:#fe5000;color:#fff}.expand-btn svg{width:18px;height:18px;color:#666;transition:transform .2s ease}.expand-btn.expanded svg{transform:rotate(180deg)}.sub-fields-container{padding:12px 16px 12px 48px;background:#f8f9fa;border-top:1px solid #e8e8e8;display:flex;flex-direction:column;gap:6px}.sub-field-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;transition:all .15s ease}.sub-field-row.selected{border-color:#fe5000;background:#fffaf8}.sub-field-row:hover{border-color:#ccc}.sub-field-row input[type=checkbox]{width:16px;height:16px;accent-color:#FE5000;cursor:pointer;flex-shrink:0}.sub-field-row .sub-field-label{flex:1;font-size:13px;color:#333;-webkit-user-select:none;user-select:none}.sub-field-row.unselected .sub-field-label{color:#999}.sub-field-reorder{display:flex;gap:4px;flex-shrink:0}.sub-field-reorder button{width:24px;height:22px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:11px;color:#666;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.sub-field-reorder button:hover:not(:disabled){background:#f5f5f5;border-color:#bbb;color:#333}.sub-field-reorder button:disabled{opacity:.3;cursor:not-allowed;background:#f9f9f9}.sub-field-checkbox{display:flex;align-items:center;gap:6px;font-size:13px;color:#555;cursor:pointer}.sub-field-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:#FE5000;cursor:pointer}.sub-field-checkbox span{-webkit-user-select:none;user-select:none}.sub-field-checkbox:hover span{color:#333}.import-csv-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#1565c0,#1976d2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.import-csv-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1565c04d}.import-csv-btn svg{width:18px;height:18px}.import-csv-modal{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.import-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.import-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1f2937}.import-modal-body{padding:20px 24px;overflow-y:auto;flex:1}.import-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb}.import-preview-title{font-size:13px;font-weight:600;color:#374151;margin-bottom:8px;display:block}.import-preview-table-wrapper{overflow-x:auto;overflow-y:auto;max-height:200px;border:1px solid #e5e7eb;border-radius:6px}.import-preview-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.import-preview-table th{background:#f9fafb;padding:7px 10px;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb;position:sticky;top:0}.import-preview-table td{padding:6px 10px;color:#4b5563;border-bottom:1px solid #f3f4f6}.import-preview-table tr:last-child td{border-bottom:none}.import-preview-empty{color:#d1d5db}.import-preview-notice{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;font-size:13px;color:#92400e;flex-wrap:wrap}.import-confirm-btn{margin-left:auto;padding:6px 14px!important;font-size:13px!important;white-space:nowrap}.import-preview-confirmed{display:flex;align-items:center;gap:6px;margin-top:12px;padding:8px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;font-size:13px;font-weight:500;color:#166534}.form-row .form-group{margin-bottom:20px}.job-categories-page{display:flex;flex-direction:column;gap:24px;height:calc(100vh - 100px)}.page-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.split-layout{display:flex;gap:24px;flex:1;min-height:0}.categories-panel{width:420px;flex-shrink:0;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;overflow:hidden}.panel-header-section{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;border-bottom:1px solid #e0e0e0;flex-shrink:0}.panel-title{margin:0;font-size:18px;font-weight:600;color:#333}.panel-subtitle{margin:4px 0 0;font-size:13px;color:#666}.category-instruction-preview{margin:8px 0;padding:10px 14px;background:#fff8f0;border-left:3px solid #FE5000;border-radius:0 8px 8px 0;font-size:13px;color:#555;line-height:1.5}.category-instruction-preview strong{color:#333;margin-right:6px}.panel-count{font-size:13px;color:#666;margin-top:4px}.add-category-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:#fe5000;color:#fff;cursor:pointer;transition:all .2s;flex-shrink:0}.add-category-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff6b004d}.add-category-btn svg{width:20px;height:20px}.search-box{display:flex;align-items:center;gap:10px;margin:16px;padding:10px 14px;background:#f5f5f5;border-radius:8px;flex-shrink:0}.search-box svg{width:20px;height:20px;color:#999;flex-shrink:0}.search-box input{flex:1;border:none;background:transparent;font-size:14px;color:#333;outline:none}.categories-list{flex:1;overflow-y:auto;padding:0 12px 12px}.category-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .2s;margin-bottom:2px;gap:8px}.category-item:hover{background:#f5f5f5}.category-item.selected{background:linear-gradient(135deg,#fff5eb,#ffede0);border-left:3px solid #FE5000}.category-content{flex:1;min-width:0;display:flex;align-items:center}.category-name{font-size:13px;font-weight:500;color:#333;flex:1;min-width:0}.category-right{display:flex;align-items:center;flex-shrink:0;position:relative}.category-meta{display:flex;gap:4px;align-items:center;opacity:1;transition:opacity .15s ease}.category-item:hover .category-meta{opacity:0;pointer-events:none}.meta-badge{display:inline-flex;align-items:center;justify-content:center;gap:3px;padding:3px 0;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap;min-width:42px;text-align:center}.meta-badge svg{width:11px;height:11px;flex-shrink:0}.skill-badge{background:#f3e8ff;color:#7c3aed}.default-badge{background:#dcfce7;color:#16a34a}.default-badge.empty{background:#f5f5f5;color:#bbb}.outlet-badge{background:#dbeafe;color:#2563eb}.code-badge{background:#fef3c7;color:#92400e;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;letter-spacing:.3px;font-weight:600}.hidden-badge{font-size:9px;background:#fef2f2;color:#dc2626;padding:2px 6px;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;margin-left:6px;flex-shrink:0}.category-item.is-hidden{opacity:.6}.category-item.is-hidden .category-name{color:#9ca3af}.category-actions{display:flex;gap:2px;position:absolute;right:0;opacity:0;transition:opacity .15s ease;pointer-events:none}.category-item:hover .category-actions{opacity:1;pointer-events:auto}.visibility-toggle-btn,.edit-category-btn,.delete-category-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:#f5f5f5;color:#666;cursor:pointer;transition:all .15s ease;flex-shrink:0}.visibility-toggle-btn svg,.edit-category-btn svg,.delete-category-btn svg{width:14px;height:14px}.visibility-toggle-btn:hover{background:#fef3c7;color:#d97706}.visibility-toggle-btn.hidden:hover{background:#d1fae5;color:#059669}.edit-category-btn:hover{background:#e0e7ff;color:#4f46e5}.delete-category-btn:hover{background:#fee2e2;color:#dc2626}.show-hidden-toggle{display:flex;align-items:center;gap:8px;margin:0 16px 12px;padding:8px 12px;background:#fff8e1;border:1px solid #ffcc80;border-radius:6px;font-size:13px;color:#f57c00;cursor:pointer}.show-hidden-toggle input{width:16px;height:16px;accent-color:#f57c00}.show-hidden-toggle:hover{background:#fff3e0}.outlets-section{border-top:1px solid #e0e0e0;padding-top:20px;margin-top:20px}.outlets-header{display:flex;justify-content:space-between;align-items:center}.outlets-count{font-size:13px;color:#666;font-weight:500}.outlets-actions{display:flex;gap:12px;margin:12px 0}.link-btn{background:none;border:none;color:#fe5000;font-size:13px;font-weight:500;cursor:pointer;padding:0}.link-btn:hover{text-decoration:underline}.outlet-checkbox-grid{display:grid;grid-template-columns:1fr;gap:4px;max-height:300px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px;padding:8px}.outlet-checkbox-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .2s}.outlet-checkbox-item:hover{background:#f5f5f5}.outlet-checkbox-item input{width:16px;height:16px;accent-color:#FE5000;flex-shrink:0}.outlet-checkbox-label{font-size:14px;color:#333}.skills-panel{flex:1;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;overflow:hidden}.skills-panel .panel-header-section{flex-wrap:wrap;gap:16px}.add-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fe5000;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;flex-shrink:0}.empty-skills,.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:40px;text-align:center;color:#666}.empty-skills svg{width:48px;height:48px;color:#bdbdbd;margin-bottom:16px}.empty-skills p{margin:4px 0;font-size:14px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:20px;overflow-y:auto;flex:1}.skill-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;padding:16px;transition:all .2s}.skill-card:hover{border-color:#ccc;box-shadow:0 2px 8px #00000014}.skill-card.is-default{background:linear-gradient(135deg,#e8f5e9,#e3f2fd);border-color:#4caf50}.skill-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.skill-name{font-size:15px;font-weight:600;color:#333}.skill-description{font-size:13px;color:#666;margin:0 0 12px;line-height:1.4}.skill-actions{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e0e0e0}.default-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.default-toggle input{width:16px;height:16px;accent-color:#4caf50}.toggle-label{font-weight:500;color:#333}.default-indicator{font-size:11px;color:#4caf50;background:#4caf501a;padding:2px 8px;border-radius:10px}.remove-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:#999;cursor:pointer;transition:all .2s}.remove-btn:hover{background:#ffebee;color:#f44336}.remove-btn svg{width:18px;height:18px}.grade-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.grade-badge.grade-1{background:#e3f2fd;color:#1565c0}.grade-badge.grade-2{background:#e8f5e9;color:#2e7d32}.grade-badge.grade-3{background:#fff3e0;color:#f57c00}.grade-badge.grade-4{background:#fce4ec;color:#c2185b}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:60px 20px;color:#666}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:60px 20px;text-align:center}.error-icon{width:48px;height:48px;color:#f44336;margin-bottom:16px}.error-title{margin:0 0 8px;font-size:18px;font-weight:600;color:#333}.error-description{margin:0;font-size:14px;color:#666}.form-textarea{min-height:100px;resize:vertical;font-family:inherit;line-height:1.5}.help-text{margin:8px 0 0;font-size:13px;color:#999}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#333}.checkbox-label input{width:18px;height:18px;accent-color:#FE5000}@media(max-width:992px){.split-layout{flex-direction:column}.categories-panel{width:100%;max-height:300px}.skills-panel{min-height:400px}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.slide-panel{width:100%;max-width:100%}.skills-grid{grid-template-columns:1fr}}.confirmation-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;z-index:1001;max-width:420px;width:90%;opacity:0;visibility:hidden;transition:all .3s ease}.confirmation-modal.active{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.confirmation-modal .modal-content{padding:24px;text-align:center}.modal-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.modal-icon.warning{background:#fff3e0}.modal-icon.warning svg{width:32px;height:32px;color:#f57c00}.modal-title{margin:0 0 12px;font-size:18px;font-weight:600;color:#333}.modal-message{margin:0 0 24px;font-size:14px;color:#666;line-height:1.6}.warning-text{display:block;background:#fff8e1;border:1px solid #ffcc80;border-radius:8px;padding:12px;color:#f57c00}.modal-actions{display:flex;gap:12px;justify-content:center}.btn-warning{padding:10px 20px;background:#f57c00;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-warning:hover:not(:disabled){background:#ef6c00;transform:translateY(-1px);box-shadow:0 4px 12px #f57c004d}.btn-warning:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.create-skill-option{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;font-size:14px;color:#6b7280}.create-skill-option .link-btn{color:#2563eb;text-decoration:underline;background:none;border:none;padding:0;font-size:14px;cursor:pointer;transition:color .2s}.create-skill-option .link-btn:hover{color:#1d4ed8}.loa-page{padding:24px}.loa-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.loa-header h1{font-size:24px;font-weight:600;color:#333;margin:0}.loa-status{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500}.loa-status.signed{background:#e8f5e9;color:#2e7d32}.loa-status.not-signed{background:#fff3e0;color:#f57c00}.loa-editor-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.loa-editor-toolbar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.toolbar-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #e0e0e0;border-radius:6px;background:#fff;cursor:pointer;font-size:14px;font-weight:600;color:#333;transition:all .2s}.toolbar-btn:hover:not(:disabled){background:#f0f0f0;border-color:#ccc}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.toolbar-btn.active{background:#fe5000;border-color:#fe5000;color:#fff}.toolbar-divider{width:1px;height:24px;background:#e0e0e0;margin:0 8px}.placeholder-dropdown{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:14px;color:#333;cursor:pointer;outline:none}.placeholder-dropdown:hover:not(:disabled){border-color:#ccc}.placeholder-dropdown:focus{border-color:#fe5000}.placeholder-dropdown:disabled{opacity:.5;cursor:not-allowed}.toolbar-readonly-notice{margin-left:auto;font-size:13px;color:#666;font-style:italic}.loa-editor-content{min-height:500px;padding:32px;font-size:15px;line-height:1.7;color:#333;outline:none}.loa-editor-content:focus{background:#fffbf5}.loa-editor-content[contenteditable=false]{background:#fafafa;cursor:default}.loa-editor-content h2{font-size:22px;font-weight:600;color:#333;margin:0 0 24px;text-align:center}.loa-editor-content h3{font-size:16px;font-weight:600;color:#333;margin:24px 0 12px}.loa-editor-content p{margin:0 0 12px}.placeholder-chip{display:inline-block;background:#fff3e0;border:1px solid #FE5000;border-radius:4px;padding:2px 10px;color:#fe5000;font-weight:500;font-size:13px;margin:0 2px;vertical-align:baseline}.placeholder-chip:before{content:""}.loa-editor-footer{display:flex;justify-content:flex-end;padding:16px;background:#f8f9fa;border-top:1px solid #e0e0e0}.btn-save{padding:10px 24px;background:#fe5000;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff6b004d}.btn-save:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.loa-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#666}.loa-loading-spinner{width:40px;height:40px;border:3px solid #f0f0f0;border-top-color:#fe5000;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loa-subtitle{font-size:14px;color:#666;margin:0}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:24px}.skill-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px 20px;cursor:pointer;transition:all .2s;text-align:center}.skill-card:hover{border-color:#fe5000;box-shadow:0 4px 12px #ff6b0026;transform:translateY(-2px)}.skill-card-icon{width:48px;height:48px;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.skill-card-icon svg{width:24px;height:24px;color:#fe5000}.skill-card-name{font-size:14px;font-weight:600;color:#333;line-height:1.4}.loa-editor-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.btn-back{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#666;font-size:14px;cursor:pointer;transition:all .2s}.btn-back:hover{background:#f5f5f5;border-color:#ccc;color:#333}.btn-back svg{width:16px;height:16px}.loa-editor-title{flex:1}.loa-editor-title h1{font-size:20px;font-weight:600;color:#333;margin:0}.loa-editor-title .skill-name{font-size:14px;color:#fe5000;font-weight:500}.inline-input{display:inline-block;border:none;border-bottom:2px solid #FE5000;background:#fff8f0;padding:4px 8px;font-size:inherit;font-family:inherit;color:#fe5000;font-weight:500;min-width:120px;text-align:center;outline:none;transition:all .2s}.inline-input:focus{background:#fff3e0;border-bottom-color:#c40}.inline-input:disabled{background:#f5f5f5;border-bottom-color:#ccc;color:#666;cursor:not-allowed}.inline-input::placeholder{color:#ffab91;font-style:italic}.inline-input.wide{min-width:150px}.inline-input.small{min-width:40px;width:40px}.annex-section{margin-top:32px;padding-top:24px;border-top:2px solid #e0e0e0}.annex-section h3{display:flex;align-items:center;gap:4px}.annex-section h4{font-size:15px;font-weight:600;color:#333;margin:20px 0 12px}.rate-table{width:100%;max-width:400px;border-collapse:collapse;margin:16px 0;border:1px solid #e0e0e0}.rate-table th,.rate-table td{border:1px solid #e0e0e0;padding:12px 16px;text-align:left}.rate-table th{background:#f8f9fa;font-weight:600;color:#333}.rate-table td{background:#fff}.rate-table .inline-input{min-width:100px}.inline-textarea{display:block;width:100%;min-height:100px;border:2px solid #FE5000;border-radius:8px;background:#fff8f0;padding:12px;font-size:inherit;font-family:inherit;color:#333;resize:vertical;outline:none;margin-top:16px;transition:all .2s}.inline-textarea:focus{background:#fff3e0;border-color:#c40}.inline-textarea:disabled{background:#f5f5f5;border-color:#ccc;color:#666;cursor:not-allowed}.inline-textarea::placeholder{color:#ffab91;font-style:italic}.slide-panel{position:fixed;top:0;right:0;width:50%;max-width:700px;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.panel-header-content h2{font-size:20px;font-weight:600;color:#333;margin:0}.panel-skill-name{font-size:14px;color:#fe5000;font-weight:500}.panel-close:hover{background:#e0e0e0;color:#333}.panel-body{flex:1;overflow-y:auto;padding:24px}.panel-body .loa-editor-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.panel-body .loa-editor-toolbar{position:sticky;top:0;z-index:10}.panel-body .loa-editor-content{min-height:auto;padding:24px}.panel-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0;background:#f8f9fa}.btn-secondary{padding:10px 24px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#666;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.loa-editor-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;margin-top:24px}.loa-variables-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px;height:fit-content;position:sticky;top:24px}.loa-variables-panel h3{font-size:16px;font-weight:600;color:#333;margin:0 0 8px}.loa-variables-panel .panel-description{font-size:13px;color:#666;margin:0 0 20px}.variable-group{margin-bottom:16px}.variable-group label{display:block;font-size:13px;font-weight:500;color:#666;margin-bottom:6px}.variable-group input{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;outline:none;transition:all .2s}.variable-group input:focus{border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.input-with-prefix{display:flex;align-items:center}.input-with-prefix .prefix{background:#f5f5f5;border:1px solid #e0e0e0;border-right:none;border-radius:8px 0 0 8px;padding:10px 12px;color:#666;font-weight:500}.input-with-prefix input{border-radius:0 8px 8px 0}.variable-info{margin-top:24px;padding-top:16px;border-top:1px solid #e0e0e0}.variable-info h4{font-size:13px;font-weight:600;color:#333;margin:0 0 12px}.variable-info ul{list-style:none;padding:0;margin:0}.variable-info li{font-size:12px;color:#666;margin-bottom:8px;display:flex;gap:8px}.variable-info code{background:#fff3e0;color:#fe5000;padding:2px 6px;border-radius:4px;font-size:11px;font-family:monospace}.section-editor{margin-bottom:24px}.section-editor label{display:block;font-size:13px;font-weight:500;color:#666;margin-bottom:8px}.section-editor textarea{width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;line-height:1.6;resize:vertical;outline:none;transition:all .2s}.section-editor textarea:focus{border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.loa-message{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.loa-message.error{background:#ffebee;color:#c62828;border:1px solid #ef9a9a}.loa-message.success{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.loa-empty-state{text-align:center;padding:60px 24px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.loa-empty-state p{color:#666;font-size:14px}.loa-header .btn-save{display:flex;align-items:center;gap:8px}.loa-header .btn-save svg{width:20px;height:20px}@media(max-width:1024px){.loa-editor-layout{grid-template-columns:1fr}.loa-variables-panel{position:static}}@media(max-width:768px){.slide-panel{width:100%;max-width:100%}.panel-body .loa-editor-content{padding:16px}.rate-table{max-width:100%}.loa-header{flex-direction:column;align-items:flex-start;gap:16px}.loa-header .btn-save{width:100%;justify-content:center}}.annex-rates-table{margin-bottom:20px}.annex-rates-table table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.annex-rates-table th{background:#f8f9fa;padding:10px 8px;text-align:center;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0;font-size:12px;line-height:1.3}.annex-rates-table th.col-category{text-align:left;width:45%}.annex-rates-table th.col-rate{width:20%}.annex-rates-table th.col-actions{width:15%}.annex-rates-table td{padding:10px 8px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.annex-rates-table tr:hover{background:#fafafa}.annex-rates-table .job-category-cell{font-weight:500;color:#333;font-size:12px;line-height:1.3}.annex-rates-table .rate-cell{color:#fe5000;font-weight:600;font-family:Monaco,Menlo,monospace;text-align:center;font-size:13px}.annex-rates-table .actions-cell{text-align:center}.rate-input-inline{display:flex;align-items:center;justify-content:center;gap:2px}.rate-input-inline span{color:#666;font-weight:500;font-size:12px}.rate-input-inline input{width:55px;padding:5px 6px;border:1px solid #e0e0e0;border-radius:6px;font-size:12px;font-family:Monaco,Menlo,monospace;outline:none;transition:all .2s;text-align:center}.rate-input-inline input:focus{border-color:#fe5000;box-shadow:0 0 0 2px #ff6b001a}.btn-edit-inline{padding:5px 10px;background:#fff3e0;border:none;border-radius:6px;color:#fe5000;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s}.btn-edit-inline:hover{background:#ffe0b2}.btn-save-inline{padding:5px 8px;background:#fe5000;border:none;border-radius:6px;color:#fff;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s;margin-right:4px}.btn-save-inline:hover:not(:disabled){background:#c40}.btn-save-inline:disabled{opacity:.5;cursor:not-allowed}.btn-cancel-inline{padding:5px 8px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;color:#666;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel-inline:hover:not(:disabled){background:#e0e0e0;color:#333}.btn-cancel-inline:disabled{opacity:.5;cursor:not-allowed}.annex-note{font-size:13px;color:#666;margin:8px 0 16px;font-style:italic}.annex-textarea-fixed{resize:none!important;min-height:200px}@media(min-width:1200px){.loa-editor-layout{grid-template-columns:420px 1fr}}.outlets-page{display:flex;flex-direction:column;gap:24px}.btn-create{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fe5000;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-create:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff6b004d}.btn-create svg{width:18px;height:18px}.outlets-table{width:100%;border-collapse:collapse}.outlets-table thead{position:sticky;top:0;z-index:10}.outlets-table th{background:#f8f9fa;padding:14px 16px;text-align:center;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e0e0e0;white-space:nowrap}.outlets-table td{padding:14px 16px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0;text-align:center}.outlets-table th:first-child,.outlets-table td:first-child{text-align:left}.outlets-table tr:hover{background:#fafafa}.outlets-table tr:last-child td{border-bottom:none}.outlet-code{display:inline-block;padding:4px 10px;background:#e3f2fd;color:#1976d2;border-radius:4px;font-size:13px;font-weight:500;font-family:Monaco,Menlo,monospace}.area-badge{display:inline-block;padding:4px 12px;background:#e8f5e9;color:#2e7d32;border-radius:50px;font-size:12px;font-weight:500}.no-area{color:#999;font-style:italic;font-size:13px}.action-btn{padding:8px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:none;display:flex;align-items:center;justify-content:center}.action-btn svg{width:18px;height:18px}.pagination{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid #e0e0e0;gap:16px}.form-section{background:#f8f9fa;border-radius:12px;padding:20px;border:1px solid #e8e8e8;margin-bottom:20px}.form-section:last-child{margin-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1 / -1}.form-label{font-size:13px;font-weight:500;color:#666}.form-input,.form-select{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;transition:border-color .2s,box-shadow .2s}.form-input:hover,.form-select:hover{border-color:#bbb}.form-input::placeholder{color:#999}.form-input:disabled,.form-select:disabled{background:#f5f5f5;color:#666;cursor:not-allowed;border-color:#e0e0e0}@media(max-width:768px){.slide-panel{width:100%;max-width:100%}.panel-header{padding:16px 20px}.panel-body{padding:16px}.panel-footer{padding:12px 16px;flex-direction:column}.panel-footer button{width:100%}.form-grid{grid-template-columns:1fr}.filter-row{flex-direction:column}.filter-group,.filter-select,.filter-input{width:100%}.pagination{flex-direction:column;gap:16px}.pagination-left{flex-direction:column;align-items:flex-start;gap:8px;width:100%}.per-page-select{width:100%}.page-title{font-size:24px}}.toggle-container{display:flex;align-items:center;gap:12px}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#4caf50}.toggle-label{font-size:14px;color:#666}.form-hint{font-size:12px;color:#888;margin-top:6px;display:block}.transport-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:500}.transport-badge.enabled{background:#e8f5e9;color:#2e7d32}.transport-badge.disabled{background:#f5f5f5;color:#999}.qr-code-section{display:flex;gap:24px;align-items:flex-start;padding:16px;background:#fafafa;border-radius:12px;border:1px dashed #ddd}.qr-code-container{flex-shrink:0;background:#fff;padding:8px;border-radius:8px;box-shadow:0 2px 8px #00000014}.qr-code-container svg{display:block}.qr-code-info{flex:1;display:flex;flex-direction:column;gap:12px}.qr-code-label{font-size:16px;color:#333;margin:0}.qr-code-label strong{color:#fe5000;font-family:monospace;font-size:18px}.qr-code-hint{font-size:13px;color:#666;line-height:1.5;margin:0}.btn-download-qr{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#fe5000;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease;width:fit-content}.btn-download-qr:hover{background:#e65c00}.btn-download-qr svg{width:18px;height:18px}.qr-code-unavailable{display:flex;align-items:center;gap:16px;padding:24px;background:#fff3e0;border-radius:12px;border:1px solid #ffcc80}.qr-code-unavailable svg{width:32px;height:32px;color:#ff9800;flex-shrink:0}.qr-code-unavailable p{margin:0;font-size:14px;color:#666}@media(max-width:600px){.qr-code-section{flex-direction:column;align-items:center;text-align:center}.qr-code-info{align-items:center}}.section-hint{font-size:13px;color:#666;margin:0 0 16px;padding-left:32px}.btn-lookup-coords{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#f5f5f5;color:#333;border:1px solid #ddd;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-lookup-coords:hover:not(:disabled){background:#e8e8e8;border-color:#ccc}.btn-lookup-coords:disabled{opacity:.5;cursor:not-allowed}.btn-lookup-coords svg{width:18px;height:18px}.spinner-small{width:16px;height:16px;border:2px solid #ddd;border-top-color:#fe5000;border-radius:50%;animation:spin .8s linear infinite}.confirm-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:#fff;border-radius:16px;width:90%;max-width:450px;box-shadow:0 20px 40px #0003;animation:slideUp .3s ease}.confirm-dialog-header{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid #eee}.confirm-dialog-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.confirm-icon{width:28px;height:28px}.confirm-icon.warning{color:#ff9800}.confirm-dialog-body{padding:24px}.confirm-dialog-body p{margin:0 0 16px;font-size:14px;color:#666}.coords-comparison{background:#f8f9fa;border-radius:8px;padding:16px;margin-bottom:16px}.coords-old,.coords-new{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.coords-old{border-bottom:1px dashed #ddd}.coords-old strong,.coords-new strong{font-size:13px;color:#666}.coords-old span{font-family:monospace;color:#999;text-decoration:line-through}.coords-new span{font-family:monospace;color:#4caf50;font-weight:600}.confirm-warning{background:#fff3e0;border-left:4px solid #ff9800;padding:12px;border-radius:0 8px 8px 0;font-size:13px!important;color:#c40!important;margin-bottom:0!important}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #eee;background:#fafafa;border-radius:0 0 16px 16px}.logo-upload-section{display:flex;flex-direction:column;gap:16px;padding:16px;background:#fafafa;border-radius:12px;border:1px dashed #ddd}.logo-preview-container{position:relative;display:inline-block;align-self:center}.logo-preview{width:150px;height:150px;object-fit:cover;border-radius:12px;border:2px solid #e0e0e0;box-shadow:0 2px 8px #0000001a}.remove-logo-btn{position:absolute;top:-8px;right:-8px;display:flex;align-items:center;gap:4px;padding:6px 10px;background:#d32f2f;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #d32f2f4d}.remove-logo-btn:hover{background:#b71c1c;transform:scale(1.05)}.remove-logo-btn svg{width:14px;height:14px}.logo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:150px;height:150px;background:#fff;border:2px dashed #ccc;border-radius:12px;align-self:center}.logo-placeholder svg{width:48px;height:48px;color:#ccc}.logo-placeholder span{font-size:13px;color:#999}.logo-input-container{display:flex;flex-direction:column;align-items:center;gap:8px}.logo-input-label{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#fe5000;color:#fff;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.logo-input-label:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff6b004d}.logo-input-label svg{width:18px;height:18px}.logo-file-input{display:none}.logo-hint{font-size:12px;color:#888}.logo-create-hint{font-size:12px;color:#ff9800;font-style:italic}.job-categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:12px}.checkbox-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;transition:all .2s}.checkbox-item:hover{background:#fff;border-color:#fe5000}.checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#FE5000}.checkbox-item input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.checkbox-item:has(input:disabled){cursor:not-allowed;opacity:.8}.checkbox-label{font-size:14px;color:#333;-webkit-user-select:none;user-select:none}.job-categories-summary{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid #e9ecef;font-size:13px;color:#666}.job-categories-actions{display:flex;gap:16px}.btn-text{background:none;border:none;color:#fe5000;font-size:13px;font-weight:500;cursor:pointer;padding:0;transition:color .2s}.btn-text:hover{color:#e04500;text-decoration:underline}.phone-warning-overlay{position:fixed;inset:0;width:100vw;height:100vh;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:999999}.phone-warning-content{background:#fff;border-radius:16px;padding:40px 36px;max-width:480px;width:90%;text-align:center;box-shadow:0 8px 32px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.phone-warning-icon{width:64px;height:64px;margin:0 auto 20px;color:#f59e0b}.phone-warning-icon svg{width:100%;height:100%}.phone-warning-title{font-size:22px;font-weight:700;color:#1a1a1a;margin:0 0 16px}.phone-warning-message{font-size:15px;line-height:1.6;color:#555;margin:0 0 20px;text-align:left}.phone-warning-message strong{color:#dc2626}.phone-warning-numbers{background:#fef3c7;border:1px solid #f59e0b;border-radius:10px;padding:14px 18px;margin-bottom:20px;text-align:left}.phone-warning-numbers p{margin:0 0 6px;font-size:14px;color:#78350f}.phone-warning-numbers p:last-child{margin-bottom:0}.phone-warning-numbers span.label{font-weight:600;min-width:48px;display:inline-block}.phone-warning-numbers span.value{font-family:monospace;font-size:15px;font-weight:600}.phone-warning-numbers span.value.new{color:#b45309}.phone-warning-double-check{font-size:14px;color:#78350f;background:#fef9c3;border-left:3px solid #f59e0b;padding:10px 14px;border-radius:4px;margin-bottom:28px;text-align:left}.phone-warning-actions{display:flex;gap:12px;justify-content:center}.phone-warning-btn-cancel{background:#fff;color:#374151;border:1.5px solid #d1d5db;padding:12px 28px;font-size:15px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;flex:1;max-width:180px}.phone-warning-btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.phone-warning-btn-confirm{background:#dc2626;color:#fff;border:none;padding:12px 28px;font-size:15px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;flex:1;max-width:220px}.phone-warning-btn-confirm:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.phone-warning-btn-confirm:active{transform:translateY(0)}.phone-warning-btn-confirm:disabled{background:#fca5a5;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:480px){.phone-warning-content{padding:32px 20px}.phone-warning-actions{flex-direction:column-reverse}.phone-warning-btn-cancel,.phone-warning-btn-confirm{max-width:none}}.delete-cl-overlay{position:fixed;inset:0;width:100vw;height:100vh;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:999999}.delete-cl-content{background:#fff;border-radius:16px;padding:40px 36px;max-width:520px;width:90%;text-align:center;box-shadow:0 8px 32px #0000004d;animation:deleteCLSlideUp .3s ease-out}@keyframes deleteCLSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.delete-cl-icon{width:64px;height:64px;margin:0 auto 20px;color:#dc2626}.delete-cl-icon svg{width:100%;height:100%}.delete-cl-title{font-size:20px;font-weight:700;color:#1a1a1a;margin:0 0 8px}.delete-cl-context{font-size:14px;color:#6b7280;margin:0 0 16px}.delete-cl-list{max-height:280px;overflow-y:auto;margin-bottom:16px;text-align:left}.delete-cl-card{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 14px;margin-bottom:8px}.delete-cl-card:last-child{margin-bottom:0}.delete-cl-card-name{font-weight:700;font-size:14px;color:#991b1b;margin-bottom:4px}.delete-cl-card-counts{font-size:13px;color:#7f1d1d;line-height:1.5}.delete-cl-warning{font-size:13px;color:#991b1b;background:#fef2f2;border-left:3px solid #dc2626;padding:10px 14px;border-radius:4px;margin-bottom:24px;text-align:left;font-weight:600}.delete-cl-actions{display:flex;gap:12px;justify-content:center}.delete-cl-btn-cancel{background:#fff;color:#374151;border:1.5px solid #d1d5db;padding:12px 28px;font-size:15px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;flex:1;max-width:180px}.delete-cl-btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.delete-cl-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.delete-cl-btn-confirm{background:#dc2626;color:#fff;border:none;padding:12px 28px;font-size:15px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;flex:1;max-width:220px}.delete-cl-btn-confirm:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.delete-cl-btn-confirm:active{transform:translateY(0)}.delete-cl-btn-confirm:disabled{background:#fca5a5;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:480px){.delete-cl-content{padding:32px 20px}.delete-cl-actions{flex-direction:column-reverse}.delete-cl-btn-cancel,.delete-cl-btn-confirm{max-width:none}}.casual-labour-page{display:flex;flex-direction:column;gap:24px}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.filter-label{font-size:14px;font-weight:500;color:#666}.table-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;max-height:calc(100vh - 240px)}.table-scroll-wrapper{flex:1;overflow-y:auto;overflow-x:auto}.casual-labour-table{width:100%;border-collapse:collapse}.casual-labour-table thead{position:sticky;top:0;z-index:10}.casual-labour-table th{background:#f8f9fa;padding:14px 16px;text-align:left;font-size:14px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e0e0e0;white-space:nowrap}.casual-labour-table td{padding:14px 16px;font-size:16px;color:#333;border-bottom:1px solid #f0f0f0;vertical-align:middle}.casual-labour-table tr:hover{background:#fafafa}.casual-labour-table tr:last-child td{border-bottom:none}.worker-name-cell{display:flex;align-items:center;gap:12px}.worker-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#e0e0e0;flex-shrink:0}.worker-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:#fe5000;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;flex-shrink:0}.worker-name{font-weight:500;color:#1a1a1a}.skills-container{font-size:14px;color:#333;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-badge{display:inline-block;padding:4px 12px;border-radius:50px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-active,.status-approved{background:#e8f5e9;color:#388e3c}.status-approved-signed{background:#e3f2fd;color:#1976d2}.status-inactive,.status-rejected,.status-banned{background:#ffebee;color:#d32f2f}.status-deleted{background:#f3f4f6;color:#6b7280}.status-new{background:#f3e5f5;color:#7b1fa2}.loa-badge{display:inline-block;padding:4px 12px;border-radius:50px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.loa-signed{background:#e8f5e9;color:#388e3c}.loa-uploaded{background:#e3f2fd;color:#1565c0}.loa-pending{background:#fff3e0;color:#f57c00}.loa-none{background:#f5f5f5;color:#999}.singpass-verified{display:inline-block;padding:4px 10px;background:#e3f2fd;color:#1565c0;border-radius:50px;font-size:13px;font-weight:600}.timesoft-needs-resync{display:inline-block;padding:4px 10px;background:#fff3e0;color:#e65100;border-radius:50px;font-size:13px;font-weight:600}.singpass-badge{display:inline-block;padding:2px 6px;background:#1a73e8;color:#fff;border-radius:4px;font-size:10px;font-weight:600;margin-left:8px;vertical-align:middle;text-transform:uppercase}.singpass-readonly{background-color:#f5f5f5!important;cursor:not-allowed!important;color:#666!important;border-color:#ddd!important}.singpass-readonly:disabled{opacity:.8}.date-cell{font-size:14px;color:#666;white-space:nowrap}.pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid #e0e0e0;background:#fff;flex-shrink:0;position:sticky;bottom:0;z-index:10}.pagination-info{font-size:15px;color:#666}.pagination-btn{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:15px;color:#333;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.page-number{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:15px;color:#333;cursor:pointer;transition:all .2s}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0;background:#fff}.profile-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e8e8e8}.profile-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;background:#e0e0e0}.profile-avatar-placeholder{width:80px;height:80px;border-radius:50%;background:#fe5000;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:32px}.profile-avatar-clickable{cursor:pointer;transition:opacity .2s}.profile-avatar-clickable:hover{opacity:.85}.profile-photo-container{position:relative;display:flex;flex-direction:column;align-items:center}.photo-upload-overlay{position:absolute;bottom:0;right:0;background:#fe5000;border:none;border-radius:50%;padding:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:opacity .2s,transform .2s;box-shadow:0 2px 4px #0003}.photo-upload-overlay:hover{opacity:.9;transform:scale(1.05)}.photo-upload-overlay svg{width:16px;height:16px}.photo-modal-overlay{position:fixed;inset:0;background:#0000008c;z-index:1100}.photo-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1101;background:#fff;border-radius:12px;width:420px;max-width:calc(100vw - 32px);box-shadow:0 8px 32px #0003;overflow:hidden;display:flex;flex-direction:column}.photo-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e8e8e8}.photo-modal-header h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.photo-modal-body{display:flex;align-items:center;justify-content:center;padding:28px 20px;background:#f8f8f8;min-height:240px}.photo-modal-img{width:200px;height:200px;border-radius:50%;object-fit:cover;box-shadow:0 4px 12px #00000026}.photo-modal-placeholder{width:200px;height:200px;border-radius:50%;background:#fe5000;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:72px;box-shadow:0 4px 12px #00000026}.photo-modal-actions{display:flex;gap:10px;padding:16px 20px;border-top:1px solid #e8e8e8;justify-content:flex-end}.photo-modal-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:opacity .2s,background .2s;white-space:nowrap}.photo-modal-btn:disabled{opacity:.55;cursor:not-allowed}.photo-modal-btn-primary{background:#fe5000;color:#fff}.photo-modal-btn-primary:hover:not(:disabled){opacity:.88}.photo-modal-btn-secondary{background:#f0f0f0;color:#333}.photo-modal-btn-secondary:hover:not(:disabled){background:#e0e0e0}.photo-upload-actions{display:flex;flex-direction:column;gap:4px;margin-top:8px;width:80px}.photo-upload-btn{width:100%;padding:6px 8px;background:#fe5000;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px;font-weight:500;text-align:center;transition:opacity .2s}.photo-upload-btn:hover:not(:disabled){opacity:.9}.photo-upload-btn:disabled{opacity:.6;cursor:not-allowed}.photo-cancel-btn{width:100%;padding:6px 8px;background:#e0e0e0;color:#333;border:none;border-radius:4px;cursor:pointer;font-size:11px;font-weight:500;text-align:center;transition:background .2s}.photo-cancel-btn:hover:not(:disabled){background:#d0d0d0}.photo-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.profile-info h3{margin:0 0 4px;font-size:20px;font-weight:600;color:#1a1a1a}.profile-info .phone{font-size:14px;color:#666;margin:0}.tier-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;margin-top:8px}.tier-badge.tier-1{background-color:#fef3c7;color:#92400e;border:1px solid #fcd34d}.tier-badge.tier-2{background-color:#e5e7eb;color:#374151;border:1px solid #d1d5db}.details-section{background:#f8f9fa;border-radius:12px;padding:20px;border:1px solid #e8e8e8;margin-bottom:20px}.section-content{display:flex;flex-direction:column;gap:12px}.info-row{display:flex;justify-content:space-between;align-items:flex-start}.info-row .info-label{font-size:13px;color:#666;flex-shrink:0}.info-row .info-value{font-size:14px;font-weight:500;color:#1a1a1a;text-align:right}.info-row .info-value.highlight{color:#388e3c;font-weight:600}.info-item{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;border-bottom:1px solid #f0f0f0}.info-item:last-child{border-bottom:none}.info-item .info-label{font-size:13px;color:#666;flex-shrink:0}.info-item .info-value{font-size:14px;font-weight:500;color:#1a1a1a;text-align:right}.info-item.full-width{flex-direction:column;gap:4px}.info-item.full-width .info-value{text-align:left}.info-grid{display:flex;flex-direction:column}.skills-list{display:flex;flex-wrap:wrap;gap:8px}.skill-item{display:inline-block;padding:6px 14px;background:#e8f4fd;color:#1976d2;border-radius:20px;font-size:13px;font-weight:500}.skill-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;background:#fff3e0;color:#c40;border:1px solid #ffcc80}.skill-grade-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:4px;font-size:10px;font-weight:700;background:#0000001a;color:inherit}.skill-tag.grade-a{background:#dcfce7;color:#166534;border-color:#86efac}.skill-tag.grade-a .skill-grade-badge{background:#166534;color:#fff}.skill-tag.grade-b{background:#fef3c7;color:#92400e;border-color:#fcd34d}.skill-tag.grade-b .skill-grade-badge{background:#92400e;color:#fff}.skill-tag.grade-c{background:#e0e7ff;color:#3730a3;border-color:#a5b4fc}.skill-tag.grade-c .skill-grade-badge{background:#3730a3;color:#fff}.job-category-tag{display:inline-flex;align-items:center;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;background:#e3f2fd;color:#1565c0;border:1px solid #90caf9}.zone-tag{display:inline-flex;align-items:center;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.no-skills{color:#999;font-size:13px;font-style:italic}.documents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.document-card{display:flex;flex-direction:column;align-items:center;padding:16px 12px;background:#fff;border:1px solid #e0e0e0;border-radius:12px;transition:all .2s ease}.document-card:hover{border-color:#ccc;box-shadow:0 2px 8px #00000014}.document-card.uploaded{border-color:#c8e6c9;background:#fafff9}.document-card.missing{border-color:#ffcdd2;background:snow}.document-card.singpass-verified{border-color:#bbdefb;background:#f5faff}.document-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.document-card.uploaded .document-icon{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#388e3c}.document-card.missing .document-icon{background:linear-gradient(135deg,#ffebee,#ffcdd2);color:#d32f2f}.document-card.singpass-verified .document-icon{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1a73e8}.document-icon svg{width:24px;height:24px}.document-info{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:12px}.document-name{font-size:14px;font-weight:600;color:#333}.document-status{display:flex;align-items:center;gap:4px;font-size:12px}.document-card.uploaded .document-status{color:#388e3c}.document-card.missing .document-status{color:#d32f2f}.document-card.singpass-verified .document-status{color:#1a73e8}.status-icon{width:14px;height:14px}.status-icon.success{color:#388e3c}.status-icon.error{color:#d32f2f}.status-icon.singpass{color:#1a73e8}.document-view-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 16px;background:#1976d2;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease}.document-view-btn:hover{background:#1565c0;transform:translateY(-1px);box-shadow:0 2px 8px #1976d24d}.no-documents{grid-column:1 / -1;text-align:center;color:#999;font-size:14px;padding:20px}.other-documents-section{border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.other-documents-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f8f9fa;cursor:pointer;transition:background .2s}.other-documents-header:hover{background:#f0f0f0}.other-documents-header .section-title{margin:0;display:flex;align-items:center;gap:8px}.other-documents-count{font-size:14px;font-weight:600;color:#1976d2;margin-left:4px}.collapse-toggle-btn{width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.collapse-toggle-btn:hover{background:#e0e0e0}.collapse-toggle-btn svg{width:20px;height:20px;color:#666}.other-documents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px;background:#fff}@media(max-width:600px){.other-documents-grid{grid-template-columns:repeat(2,1fr)}}.btn-primary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1200px){.table-card{overflow-x:auto}.casual-labour-table{min-width:900px}}@media(max-width:768px){.slide-panel{width:100%;max-width:100%}.panel-header{padding:16px 20px}.panel-body{padding:16px}.panel-footer{padding:12px 16px;flex-direction:column}.panel-footer button{width:100%}.filter-row{flex-direction:column}.filter-group,.filter-select,.filter-input{width:100%}.pagination{flex-direction:column;gap:16px}.pagination-left{flex-direction:column;align-items:flex-start;gap:8px;width:100%}.per-page-select{width:100%}.page-title{font-size:24px}.documents-grid{grid-template-columns:1fr 1fr}.document-card{padding:12px 8px}.document-icon{width:40px;height:40px}.document-icon svg{width:20px;height:20px}.document-name{font-size:13px}.profile-header{flex-direction:column;text-align:center}}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-header .section-title{margin:0}.edit-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#f5f5f5;border-radius:6px;cursor:pointer;color:#666;transition:all .2s}.edit-icon-btn:hover{background:#e0e0e0;color:#1976d2}.edit-icon-btn svg{width:16px;height:16px}.skills-edit-container{display:flex;flex-direction:column;gap:16px}.skills-checkbox-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:200px;overflow-y:auto;padding:12px;background:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0}.skill-checkbox-item{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:4px}.skill-checkbox-item:hover{background:#f0f0f0}.skill-checkbox-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#1976d2}.skill-name{font-size:14px;color:#333}.skills-edit-actions{display:flex;justify-content:flex-end;gap:12px}.btn-cancel{padding:8px 16px;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;color:#666;transition:all .2s}.btn-cancel:hover{background:#e0e0e0}.btn-save{padding:8px 16px;background:#1976d2;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-save:hover{background:#1565c0}.btn-save:disabled{background:#ccc;cursor:not-allowed}.registered-at{font-size:13px;color:#888;margin:4px 0 0}.status-section{margin-top:0}.badges-row{display:flex;align-items:center;gap:8px}.badge{display:inline-block;padding:10px 20px;border-radius:8px;font-size:15px;font-weight:600}.badge-green{background:#e8f5e9;color:#2e7d32}.badge-orange{background:#fff3e0;color:#e65100}.badge-red{background:#ffebee;color:#c62828}.status-tier-row{display:flex;gap:12px}.edit-field{display:flex;flex-direction:column;gap:4px;flex:1}.edit-field label{font-size:12px;font-weight:500;color:#666}.edit-form-container{display:flex;flex-direction:column;gap:16px}.edit-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.edit-form-grid .edit-field.full-width{grid-column:span 2}.edit-form-grid .edit-field input,.edit-form-grid .edit-field select{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;transition:border-color .2s,box-shadow .2s}.edit-form-grid .edit-field input:hover,.edit-form-grid .edit-field select:hover{border-color:#bbb}.edit-form-grid .edit-field input:focus,.edit-form-grid .edit-field select:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.edit-form-grid .edit-field.checkbox-field .checkbox-inline{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:400;color:#333;cursor:pointer}.edit-form-grid .edit-field.checkbox-field input[type=checkbox]{width:16px;height:16px;padding:0;margin:0;border-radius:4px;accent-color:#FE5000;cursor:pointer;flex:0 0 auto}.edit-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.tier-select{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}.tier-select:hover{border-color:#bbb}.tier-select:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.status-edit-container{display:flex;flex-direction:column;gap:12px}.status-select{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s;width:100%}.status-select:hover{border-color:#bbb}.status-edit-actions{display:flex;justify-content:flex-end;gap:12px}.contract-section{border-top:2px solid #FE5000;padding-top:20px}.contract-section .section-header{display:flex;justify-content:space-between;align-items:center}.view-contract-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fe5000;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.view-contract-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #ff6b004d}.view-contract-btn:disabled{background:#ccc;color:#888;cursor:not-allowed;opacity:.7}.view-contract-btn svg{width:16px;height:16px}.loa-status-display{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px;background:#f8f9fa;border-radius:8px}.loa-signed-date{font-size:13px;color:#666}.contract-modal-overlay{position:fixed;inset:0;background:#0009;z-index:2000}.contract-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:800px;max-height:90vh;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;z-index:2001;display:flex;flex-direction:column;overflow:hidden}.contract-modal-header{display:flex;align-items:center;gap:16px;padding:20px 24px;background:#fe5000;color:#fff}.contract-modal-header h2{margin:0;font-size:20px;font-weight:600}.contract-worker-name{font-size:14px;opacity:.9;flex:1}.contract-modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s}.contract-modal-close:hover{background:#ffffff4d}.contract-modal-close svg{width:20px;height:20px}.contract-modal-body{flex:1;overflow-y:auto;padding:24px}.contract-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:#666}.contract-loading .spinner{margin-bottom:16px}.contract-service-title{text-align:center;font-size:20px;font-weight:700;color:#fe5000;margin:0 0 8px}.contract-service-divider{height:1px;background:#2196f3;margin:16px 0}.contract-employee-label{font-size:14px;color:#fe5000;font-weight:500;margin:0 0 16px}.contract-readonly-field{background:#e3f2fd;border:1px solid #2196F3;border-radius:8px;padding:12px 16px;margin-bottom:16px}.contract-readonly-field span{font-size:14px;font-weight:500;color:#fe5000}.contract-field-label{font-size:14px;color:#333;margin:0 0 8px}.contract-terms{display:flex;flex-direction:column;gap:16px}.contract-term{padding:0;background:transparent;border-radius:0;margin-bottom:16px}.contract-term h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#2196f3}.contract-term p{margin:0;font-size:13px;line-height:1.6;color:#555}.contract-annex-section{margin-top:24px;padding:0;background:transparent;border-radius:0;border:none}.contract-annex-section h3{margin:0 0 16px;font-size:16px;font-weight:700;color:#fe5000}.contract-annex-section p{margin:0;font-size:13px;line-height:1.7;color:#333}.contract-annex-section p strong{color:#fe5000}.annex-payment-title{font-size:14px;font-weight:600;color:#2196f3;margin:16px 0 8px}.annex-payment-description{font-size:13px;color:#333;line-height:1.6;margin-bottom:12px}.annex-rate-table{margin-top:16px;overflow:hidden;border-radius:8px}.annex-rate-table table{width:100%;border-collapse:collapse;background:#f5f5f5}.annex-rate-table th,.annex-rate-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e0e0e0;font-size:13px}.annex-rate-table th{background:transparent;font-weight:600;color:#333}.annex-rate-table td.rate-value{font-weight:600;color:#fe5000}.annex-rate-table tbody tr:last-child td{border-bottom:none}.annex-note{margin-top:16px;font-size:12px;color:#666;font-style:italic}.contract-signature{display:flex;flex-direction:row;align-items:center;gap:12px;margin-top:24px;padding:16px;background:#e8f5e9;border-radius:12px}.contract-signature svg{width:32px;height:32px;flex-shrink:0;color:#2e7d32}.contract-signature-content{display:flex;flex-direction:column;gap:2px}.contract-signature-title{font-size:16px;font-weight:700;color:#2e7d32}.contract-signature-date{font-size:13px;color:#666}.no-contract{text-align:center;color:#999;font-size:14px;padding:40px}.contract-modal-footer{display:flex;justify-content:flex-end;padding:16px 24px;background:#f8f9fa;border-top:1px solid #e0e0e0}@media(max-width:768px){.contract-modal{width:95%;max-height:95vh}.contract-modal-header{padding:16px 20px}.contract-modal-body{padding:16px}}.contract-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.contract-save-pdf-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.contract-save-pdf-btn:hover:not(:disabled){background:#ffffff4d}.contract-save-pdf-btn:disabled{opacity:.6;cursor:not-allowed}.contract-save-pdf-btn svg{width:18px;height:18px}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.contract-pdf-content{background:#fff;border:2px solid #2196F3;border-radius:16px;padding:24px}.contract-pdf-header{display:none;text-align:center;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #FE5000}.contract-pdf-header h1{margin:0 0 16px;font-size:26px;font-weight:700;color:#fe5000}.contract-pdf-details{display:flex;flex-direction:column;gap:6px;text-align:left;max-width:400px;margin:0 auto;padding:16px 24px;background:#f8f9fa;border-radius:8px}.contract-pdf-details p{margin:0;font-size:14px;color:#333}.contract-pdf-details p strong{display:inline-block;min-width:110px;color:#555}@media print{.contract-pdf-header{display:block!important}}.contract-pdf-content.generating-pdf .contract-pdf-header{display:block}.contract-pdf-content{font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:#333}.contract-pdf-content .annex-rate-table table,.contract-pdf-content .annex-rate-table th,.contract-pdf-content .annex-rate-table td{border:1px solid #ddd}.contract-term,.contract-annex-section,.contract-signature{page-break-inside:avoid}@media(max-width:768px){.contract-save-pdf-btn span{display:none}.contract-save-pdf-btn{padding:8px}}.worker-code{font-family:Courier New,Courier,monospace;font-weight:500;color:#5c6bc0;font-size:13px}.rating-display{display:flex;align-items:center;gap:6px}.rating-stars{display:flex;font-size:14px;letter-spacing:1px}.rating-stars .star{display:inline-block}.rating-stars .star.full{color:#ffc107}.rating-stars .star.half{background:linear-gradient(90deg,#ffc107 50%,#ddd 50%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rating-stars .star.empty{color:#ddd}.rating-value{font-size:12px;color:#666}.no-data{color:#999}.shifts-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:4px 10px;background:#e8f5e9;color:#2e7d32;border-radius:12px;font-size:13px;font-weight:500}.earnings-amount{font-weight:500;color:#1976d2}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.sortable-header:hover{background-color:#f0f0f0}.sort-indicator{color:#ff6b00;font-size:12px;margin-left:2px}.header-actions{display:flex;gap:12px;align-items:center}.settings-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;color:#333;border:1px solid #ddd;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.settings-btn:hover{background:#f5f5f5;border-color:#ccc}.settings-btn svg{width:18px;height:18px}.settings-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1000}.settings-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;z-index:1001;width:90%;max-width:600px;max-height:85vh;display:flex;flex-direction:column}.settings-modal-header{padding:24px 24px 16px;border-bottom:1px solid #eee;position:relative}.settings-modal-header h2{margin:0 0 8px;font-size:20px;font-weight:600;color:#333}.settings-description{margin:0;font-size:14px;color:#666;line-height:1.5}.settings-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;padding:4px;color:#666;border-radius:4px;transition:background .2s}.settings-modal-close:hover{background:#f0f0f0}.settings-modal-body{padding:24px;overflow-y:auto;flex:1}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:16px;color:#666}.settings-section{margin-bottom:24px}.settings-section:last-child{margin-bottom:0}.settings-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.5px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.settings-toggle{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#f8f9fa;border-radius:8px;cursor:pointer;transition:background .2s}.settings-toggle:hover{background:#f0f0f0}.settings-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.settings-toggle .toggle-slider{position:relative;display:inline-block;width:44px;height:24px;background:#ccc;border-radius:12px;transition:background .3s ease;flex-shrink:0;cursor:pointer}.settings-toggle .toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s ease;box-shadow:0 2px 4px #0003}.settings-toggle input:checked+.toggle-slider{background:#fe5000}.settings-toggle input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-label{font-size:14px;color:#333}.settings-modal-footer{padding:16px 24px;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:12px}.btn-secondary{padding:10px 20px;background:#fff;color:#333;border:1px solid #ddd;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f5f5f5}.btn-primary{padding:10px 20px;background:#fe5000;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{background:#e54600}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.create-worker-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fe5000;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.create-worker-btn:hover{background:#e54600}.create-worker-btn svg{width:18px;height:18px}.create-worker-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1000}.create-worker-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:600px;max-height:90vh;overflow:hidden;z-index:1001;display:flex;flex-direction:column}.create-worker-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #eee}.create-worker-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.modal-close-btn{background:none;border:none;cursor:pointer;padding:4px;color:#666;border-radius:4px;transition:all .2s}.modal-close-btn:hover{background:#f5f5f5;color:#333}.create-worker-modal-body{padding:24px;overflow-y:auto;flex:1}.create-worker-modal-body .form-group{margin-bottom:20px}.create-worker-modal-body .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.create-worker-modal-body .form-group input[type=text],.create-worker-modal-body .form-group input[type=email],.create-worker-modal-body .form-group input[type=tel]{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .2s}.create-worker-modal-body .form-group input:focus{outline:none;border-color:#fe5000}.phone-input-group{display:flex;gap:8px}.country-code-select{width:110px;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.phone-input-group input{flex:1}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.checkbox-item{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#333}.checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.create-worker-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #eee;background:#fafafa}.loa-date-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1000}.loa-date-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:400px;z-index:1001}.loa-date-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #eee}.loa-date-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#333}.loa-date-modal-body{padding:24px}.loa-worker-name{margin:0 0 16px;font-size:14px;color:#666}.loa-worker-name strong{color:#333}.loa-date-modal-body .form-group{margin-bottom:16px}.loa-date-modal-body .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.loa-date-modal-body .form-group input[type=date]{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px}.today-btn{width:100%;margin-top:8px}.loa-date-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #eee;background:#fafafa}.set-loa-date-btn{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 16px;background:#f5f5f5;color:#333;border:1px solid #ddd;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.set-loa-date-btn:hover{background:#e8e8e8;border-color:#ccc}.set-loa-date-btn svg{width:18px;height:18px}.loa-pdf-section{margin-top:12px}.upload-loa-pdf-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;color:#1976d2;border:1px dashed #1976d2;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.upload-loa-pdf-btn:hover{background:#e3f2fd}.upload-loa-pdf-btn:disabled{opacity:.6;cursor:not-allowed}.upload-loa-pdf-btn svg{width:18px;height:18px}.loa-pdf-uploaded{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:8px}.loa-pdf-info{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#2e7d32}.loa-pdf-actions{display:flex;gap:8px}.loa-pdf-view-btn{padding:4px 12px;background:#1976d2;color:#fff;border-radius:4px;font-size:12px;font-weight:500;text-decoration:none;transition:background .2s}.loa-pdf-view-btn:hover{background:#1565c0}.loa-pdf-delete-btn{padding:4px 12px;background:transparent;color:#d32f2f;border:1px solid #d32f2f;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.loa-pdf-delete-btn:hover{background:#ffebee}.referral-section{background:#f8f9fa;border:1px solid #e8e8e8;border-radius:12px;padding:16px;margin-top:16px}.referral-loading{display:flex;align-items:center;gap:8px;color:#666;font-size:14px;padding:12px 0}.referral-code-display{margin-top:12px}.referral-code-box{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#fe5000,#ff6b1a);border-radius:10px;padding:16px 20px;margin-bottom:12px}.referral-code-value{font-size:20px;font-weight:700;color:#fff;letter-spacing:2px;font-family:Monaco,Menlo,monospace}.copy-referral-btn{background:#fff3;border:none;border-radius:8px;padding:8px 12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.copy-referral-btn:hover{background:#ffffff4d;transform:scale(1.05)}.copy-referral-btn svg{width:18px;height:18px;fill:#fff}.referral-hint{font-size:13px;color:#666;margin:0;text-align:center}.no-referral-code{font-size:14px;color:#999;font-style:italic;margin:12px 0 0}.payroll-section{border:1px solid #e0e0e0;border-radius:8px;padding:16px;background:#fafafa}.payroll-toggle-container{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}.payroll-status-display{display:flex;align-items:center;gap:8px}.payroll-status-display .payroll-badge{padding:8px 16px;font-size:14px}.payroll-toggle-btn{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.payroll-toggle-btn:disabled{opacity:.6;cursor:not-allowed}.btn-mark-uploaded{background:#2e7d32;color:#fff}.btn-mark-uploaded:hover:not(:disabled){background:#1b5e20}.btn-mark-pending{background:#e65100;color:#fff}.btn-mark-pending:hover:not(:disabled){background:#bf360c}.tspl-preview-overlay{position:fixed;inset:0;background:#00000080;z-index:1000}.tspl-preview-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;z-index:1001;box-shadow:0 20px 60px #0000004d}.tspl-preview-header{display:flex;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#fe5000,#ff6a1a);border-radius:12px 12px 0 0;color:#fff}.tspl-preview-header h2{margin:0;font-size:18px;font-weight:600}.tspl-preview-worker-name{margin-left:16px;padding:4px 12px;background:#fff3;border-radius:20px;font-size:14px}.tspl-preview-close{margin-left:auto;background:none;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.tspl-preview-close:hover{background:#fff3}.tspl-preview-body{flex:1;overflow-y:auto;padding:20px 24px}.tspl-preview-intro{margin:0 0 20px;font-size:14px;color:#666}.tspl-section{margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:8px}.tspl-section:last-child{margin-bottom:0}.tspl-section-title{margin:0 0 12px;font-size:14px;font-weight:600;color:#fe5000}.tspl-fields-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.tspl-field{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid #e8e8e8}.tspl-field-key{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;font-family:Monaco,Menlo,Consolas,monospace}.tspl-field-value{font-size:13px;color:#333;margin-top:2px;word-break:break-word}.tspl-validation-error{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;margin-bottom:16px;background:#ffebee;border:1px solid #ef9a9a;border-radius:8px;color:#c62828;font-size:14px}.tspl-validation-error svg{color:#c62828;flex-shrink:0;margin-top:2px}.tspl-info-notice{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;margin-bottom:16px;background:#e3f2fd;border:1px solid #90caf9;border-radius:8px;color:#1565c0;font-size:14px}.tspl-info-notice svg{color:#1976d2;flex-shrink:0;margin-top:2px}.tspl-preview-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e8e8e8;background:#fafafa;border-radius:0 0 12px 12px}@media(max-width:600px){.tspl-fields-grid{grid-template-columns:1fr}.tspl-preview-modal{width:95%;max-height:95vh}.tspl-preview-header{flex-wrap:wrap;gap:8px}.tspl-preview-worker-name{margin-left:0;order:3;width:100%;text-align:center}}.checkbox-col input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#2196f3}.timesoft-check{color:#4caf50;font-size:16px;font-weight:700}.casual-labour-table tbody tr.row-selected{background-color:#2196f314}.casual-labour-table tbody tr.row-selected:hover{background-color:#2196f31f}.mass-action-bar{position:fixed;bottom:0;left:260px;right:0;background:linear-gradient(135deg,#1976d2,#2196f3);padding:16px 24px;z-index:100;box-shadow:0 -4px 20px #00000026;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.mass-action-btn.export{background:#fff;color:#2e7d32}.mass-action-btn.export:hover:not(:disabled){background:#f5f5f5;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.mass-action-btn.upload{background:#fff;color:#1976d2}.mass-action-btn.upload:hover:not(:disabled){background:#f5f5f5;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.timesoft-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1000}.timesoft-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;z-index:1001;box-shadow:0 20px 60px #0000004d}.timesoft-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.timesoft-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1f2937}.timesoft-modal-close{background:none;border:none;cursor:pointer;padding:4px;color:#6b7280;border-radius:4px;transition:all .2s}.timesoft-modal-close:hover{background:#f3f4f6;color:#374151}.timesoft-modal-body{padding:20px 24px;overflow-y:auto;flex:1}.timesoft-summary{padding:12px 16px;background:#f9fafb;border-radius:8px;margin-bottom:16px;font-size:14px;font-weight:500;color:#374151;text-align:center}.timesoft-summary-success{color:#059669}.timesoft-summary-divider{margin:0 12px;color:#9ca3af}.timesoft-summary-failed{color:#dc2626}.timesoft-worker-list{display:flex;flex-direction:column;gap:8px}.timesoft-worker-item{padding:12px 16px;border-radius:8px;border:1px solid #e5e7eb}.timesoft-worker-item.valid{background:#f0fdf4;border-color:#bbf7d0}.timesoft-worker-item.invalid{background:#fef2f2;border-color:#fecaca}.timesoft-worker-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.timesoft-status-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.timesoft-status-icon.success{background:#059669;color:#fff}.timesoft-status-icon.error{background:#dc2626;color:#fff}.timesoft-worker-code{font-weight:600;color:#1f2937;font-size:14px}.timesoft-worker-name{color:#6b7280;font-size:14px}.timesoft-success-msg{color:#059669;font-size:13px;margin-left:auto}.timesoft-error-list{margin:8px 0 0 30px;padding:0;list-style:none}.timesoft-error-list li{font-size:13px;color:#dc2626;padding:2px 0}.timesoft-error-list li:before{content:"• ";color:#dc2626}.timesoft-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px}.timesoft-modal-footer .btn-secondary{padding:10px 20px;background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.timesoft-modal-footer .btn-secondary:hover:not(:disabled){background:#f3f4f6}.timesoft-modal-footer .btn-primary{padding:10px 20px;background:linear-gradient(135deg,#1976d2,#2196f3);border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.timesoft-modal-footer .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #1976d24d}.timesoft-modal-footer .btn-secondary:disabled,.timesoft-modal-footer .btn-primary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:640px){.timesoft-modal{width:95%;max-height:90vh}.timesoft-modal-header,.timesoft-modal-body{padding:16px}.timesoft-modal-footer{padding:12px 16px;flex-direction:column}.timesoft-modal-footer button{width:100%}}.timesoft-progress-section{margin-bottom:20px}.timesoft-progress-label{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#374151;margin-bottom:8px}.timesoft-progress-pct{font-weight:600;color:#1976d2}.timesoft-progress-track{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.timesoft-progress-fill{height:100%;background:linear-gradient(90deg,#1976d2,#42a5f5);border-radius:999px;transition:width .3s ease}.timesoft-uploading-note{font-size:14px;color:#6b7280;font-style:italic}.import-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#1565c0,#1976d2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.import-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1565c04d}.import-btn svg{width:18px;height:18px}.import-csv-modal{max-width:700px;width:90%}.import-section{margin-bottom:20px}.import-description{color:#4b5563;font-size:14px;margin-bottom:12px;line-height:1.5}.import-help-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:#1976d2;cursor:pointer;padding:2px;margin-left:4px;vertical-align:middle;border-radius:50%;transition:background .2s}.import-help-btn:hover{background:#1976d21a}.import-help-btn svg{width:16px;height:16px}.import-template-btn{display:inline-flex;align-items:center;gap:6px}.import-template-btn svg{width:16px;height:16px}.import-file-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.import-file-input{display:block;margin-top:6px;font-size:14px}.import-file-name{margin-top:6px;font-size:13px;color:#6b7280}.import-result{padding:16px;border-radius:8px;font-size:14px}.import-result-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.import-result-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.import-error-table-wrapper{max-height:300px;overflow-y:auto;margin-top:12px}.import-error-table{width:100%;border-collapse:collapse;font-size:13px}.import-error-table th,.import-error-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #fecaca}.import-error-table th{background:#fee2e2;font-weight:600;position:sticky;top:0}.import-error-table td:first-child{width:60px;font-weight:500}.import-error-table td:nth-child(2){width:120px;font-family:monospace}.image-viewer-overlay{position:fixed;inset:0;z-index:4000;display:flex;flex-direction:column;background:#0a0c10eb;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:image-viewer-fade .15s ease}@keyframes image-viewer-fade{0%{opacity:0}to{opacity:1}}.image-viewer-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;color:#fff;flex:0 0 auto}.image-viewer-title{font-size:15px;font-weight:600;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-viewer-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:8px;background:#ffffff14;color:#fff;cursor:pointer;transition:background .15s}.image-viewer-close:hover{background:#ffffff2e}.image-viewer-stage{flex:1 1 auto;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0;-webkit-user-select:none;user-select:none}.image-viewer-img{max-width:92vw;max-height:78vh;object-fit:contain;transition:transform .12s ease-out;will-change:transform;box-shadow:0 8px 40px #00000080;background:#fff}.image-viewer-toolbar{display:flex;align-items:center;justify-content:center;gap:4px;padding:14px;flex:0 0 auto}.image-viewer-toolbar button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:none;border-radius:8px;background:#ffffff1a;color:#fff;cursor:pointer;transition:background .15s,transform .1s}.image-viewer-toolbar button:hover{background:#ffffff38}.image-viewer-toolbar button:active{transform:scale(.94)}.image-viewer-toolbar button:disabled{opacity:.5;cursor:default}.image-viewer-divider{width:1px;height:24px;margin:0 6px;background:#fff3}.image-viewer-zoom-label{min-width:48px;text-align:center;color:#fff;font-size:13px;font-variant-numeric:tabular-nums}.image-viewer-overlay:fullscreen{background:#0a0c10fa}.image-viewer-overlay:fullscreen .image-viewer-img{max-width:96vw;max-height:84vh}.skill-rates-page{display:flex;flex-direction:column;gap:16px}.page-title{margin:0;font-size:24px;font-weight:600;color:#1a1a1a}.table-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;max-height:calc(100vh - 200px);overflow:hidden}.table-scroll-container{flex:1;overflow-y:auto;min-height:0}.table-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #e0e0e0;background:#fff;position:sticky;top:0;z-index:20}.table-header-left{display:flex;align-items:center;gap:12px}.table-subtitle{font-size:13px;color:#888}.table-count{font-size:14px;color:#666;background:#f5f5f5;padding:4px 10px;border-radius:12px}.table-header-right{display:flex;align-items:center;gap:12px}.search-box{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#f5f5f5;border-radius:6px;border:1px solid transparent;transition:all .2s}.search-box:focus-within{background:#fff;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.search-box svg{width:16px;height:16px;color:#999;flex-shrink:0}.search-box input{border:none;background:transparent;font-size:13px;color:#333;outline:none;width:160px}.search-box input::placeholder{color:#999}.search-clear{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;color:#999;transition:color .2s}.search-clear:hover{color:#666}.search-clear svg{width:16px;height:16px}.skill-rates-table{width:100%;border-collapse:collapse}.skill-rates-table thead{position:sticky;top:0;z-index:10}.skill-rates-table th{background:#f8f9fa;padding:8px 12px;text-align:left;font-size:13px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #e0e0e0;white-space:nowrap}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.sortable-header:hover{background:#eef1f5}.sortable-header span{display:inline-flex;align-items:center;gap:6px}.sort-icon{opacity:.4;transition:opacity .2s}.sort-icon.active{opacity:1;color:#1976d2}.sortable-header:hover .sort-icon{opacity:.7}.sortable-header:hover .sort-icon.active{opacity:1}.skill-rates-table td{padding:8px 12px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0;vertical-align:middle}.skill-rates-table tr:hover{background:#fafafa}.skill-rates-table tr:last-child td{border-bottom:none}.skill-name-cell{min-width:180px}.skill-name{font-weight:500;color:#1a1a1a}.skill-description{font-size:12px;color:#888;margin-top:4px}.letter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 10px;border-radius:14px;font-size:13px;font-weight:600}.letter-badge-a{background:#dcfce7;color:#166534}.letter-badge-b{background:#fef3c7;color:#b45309}.letter-badge-c{background:#e0e7ff;color:#4338ca}.letter-badge-d{background:#f3e8ff;color:#7c3aed}.rate-cell{min-width:150px}.rate-input-group{display:flex;align-items:center;gap:4px}.currency-prefix{color:#666;font-weight:500}.rate-input{width:80px;padding:8px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-weight:500;color:#333;transition:all .2s}.rate-input:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.rate-input.editing{border-color:#fe5000;background:#fffaf5}.rate-input:disabled{background:#f5f5f5;cursor:not-allowed}.rate-input::-webkit-outer-spin-button,.rate-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rate-input[type=number]{-moz-appearance:textfield}.rate-actions{display:flex;gap:4px}.save-rate-btn,.cancel-rate-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.save-rate-btn{background:#10b981;color:#fff}.save-rate-btn:hover:not(:disabled){background:#059669}.save-rate-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-rate-btn{background:#e5e7eb;color:#6b7280}.cancel-rate-btn:hover:not(:disabled){background:#d1d5db;color:#374151}.no-rate{color:#999;font-style:italic}.page-header-actions{display:flex;gap:12px;align-items:center}.add-skill-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#2563eb;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.add-skill-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.add-skill-btn svg{width:18px;height:18px}.test-wage-btn{padding:10px 20px;background:#6366f1;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.test-wage-btn:hover{background:#4f46e5}.wage-test-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999;padding:20px}.wage-test-modal{background-color:#fff;border-radius:12px;width:100%;max-width:500px;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.wage-test-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.wage-test-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.wage-test-close-btn{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;line-height:1}.wage-test-close-btn:hover{color:#6b7280}.wage-test-modal-body{padding:20px}.wage-test-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.wage-test-form-group{display:flex;flex-direction:column}.wage-test-form-group-full{grid-column:1 / -1}.wage-test-form-group label{font-size:13px;font-weight:500;color:#555;margin-bottom:6px}.wage-test-form-group select,.wage-test-form-group input{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#333}.wage-test-form-group select:focus,.wage-test-form-group input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.wage-test-calculate-btn{width:100%;padding:12px;background:#6366f1;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.wage-test-calculate-btn:hover:not(:disabled){background:#4f46e5}.wage-test-calculate-btn:disabled{opacity:.6;cursor:not-allowed}.wage-test-result-card{margin-top:20px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}.wage-test-result-main{display:flex;align-items:center;gap:8px;padding:20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;flex-wrap:wrap}.wage-test-result-rate{font-size:36px;font-weight:700}.wage-test-result-unit{font-size:14px;opacity:.9}.wage-test-festival-badge{background:#fff3;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;margin-left:auto}.wage-test-holiday-badge{background:#ffffff40;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;margin-left:auto;border:1px solid rgba(255,255,255,.4)}.wage-test-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#e2e8f0}.wage-test-result-item{display:flex;flex-direction:column;gap:2px;padding:12px 16px;background:#fff}.wage-test-result-item-full{grid-column:1 / -1}.wage-test-result-label{font-size:11px;font-weight:500;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.wage-test-result-value{font-size:14px;font-weight:500;color:#374151}.skill-edit-form{display:flex;flex-direction:column;gap:8px}.skill-name-input,.skill-desc-input{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px}.skill-name-input:focus,.skill-desc-input:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.skill-desc-input{font-size:12px;color:#666}.actions-cell{min-width:140px}.edit-btn,.delete-btn,.save-btn,.cancel-btn{padding:6px 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.edit-btn{background:#e0e7ff;color:#4338ca}.edit-btn:hover{background:#c7d2fe}.delete-btn{background:#fee2e2;color:#dc2626}.delete-btn:hover{background:#fecaca}.save-btn{background:#10b981;color:#fff}.save-btn:hover:not(:disabled){background:#059669}.save-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-btn{background:#e5e7eb;color:#6b7280}.cancel-btn:hover{background:#d1d5db}.delete-confirm span{color:#dc2626;font-weight:500}.confirm-yes,.confirm-no{padding:4px 10px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer}.confirm-yes{background:#dc2626;color:#fff}.confirm-yes:hover:not(:disabled){background:#b91c1c}.confirm-no{background:#e5e7eb;color:#6b7280}.confirm-no:hover{background:#d1d5db}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.skill-rates-table{display:block;overflow-x:auto}.skill-rates-table th,.skill-rates-table td{padding:12px}.rate-input{width:70px}.wage-test-form .form-row{flex-direction:column}.wage-test-form .form-group{width:100%}}.skill-grade-select{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;cursor:pointer}.skill-grade-select:focus{border-color:#fe5000;outline:none}.wage-test-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.wage-test-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.wage-test-checkbox-hint{font-size:12px;color:#888;font-style:italic}.wage-test-on-call-badge{background:#fe5000;color:#fff;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;margin-left:8px}.slide-panel{position:fixed;top:0;right:0;width:420px;max-width:90vw;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.panel-header h2{margin:0;font-size:18px;font-weight:600;color:#333}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.outlet-zone-page{display:flex;flex-direction:column;gap:24px}.zones-table{width:100%;border-collapse:collapse}.zones-table th{background:#f8f9fa;padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e0e0e0;white-space:nowrap}.zones-table td{padding:14px 16px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0}.zones-table tr:hover{background:#fafafa}.zones-table tr:last-child td{border-bottom:none}.zone-name-cell{display:flex;align-items:center;gap:12px}.zone-icon{width:20px;height:20px;color:#fe5000}.zone-name-cell span{font-weight:500}.form-input{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;transition:border-color .2s,box-shadow .2s}.form-input.readonly{background:#f8f9fa;cursor:default;color:#666}.view-only-notice{display:flex;align-items:center;gap:12px;padding:16px;background:#fff3e0;border:1px solid #ffcc80;border-radius:8px;margin-top:16px}.view-only-notice svg{width:24px;height:24px;color:#f57c00;flex-shrink:0}.view-only-notice span{font-size:13px;color:#c40}.delete-modal-icon.warning{color:#f57c00}@media(max-width:768px){.page-title{font-size:24px}.zones-table{display:block;overflow-x:auto}.slide-panel{width:100%;max-width:100%}.panel-header{padding:16px 20px}.panel-body{padding:16px}.panel-footer{padding:12px 16px;flex-direction:column}.panel-footer button{width:100%}.delete-modal-buttons{flex-direction:column}.delete-modal-buttons button{width:100%}}.manager-page{display:flex;flex-direction:column;gap:10px}.manager-page .page-header{display:flex;justify-content:space-between;align-items:center}.manager-page .page-title{margin:0;font-size:28px;font-weight:600;color:#1a1a1a}.manager-page .add-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fe5000;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.manager-page .add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff6b004d}.manager-page .add-btn svg{width:18px;height:18px}.manager-page .filter-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014}.manager-page .filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.manager-page .filter-group{display:flex;flex-direction:column;gap:6px;min-width:160px}.manager-page .filter-label{font-size:13px;font-weight:500;color:#666}.manager-page .filter-select,.manager-page .filter-input{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;min-width:160px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.manager-page .filter-select:hover,.manager-page .filter-input:hover{border-color:#bbb}.manager-page .filter-select:focus,.manager-page .filter-input:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.manager-page .reset-button{padding:10px 20px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.manager-page .reset-button:hover{background:#eee;color:#333}.manager-page .reset-button svg{width:16px;height:16px}.manager-page .table-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;max-height:calc(100vh - 240px)}.manager-page .table-scroll-wrapper{flex:1;overflow-y:auto;overflow-x:auto}.manager-page .table-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0}.manager-page .table-title{font-size:16px;font-weight:600;color:#333}.manager-page .table-count{font-size:14px;color:#666}.managers-table{width:100%;border-collapse:collapse}.managers-table thead{position:sticky;top:0;z-index:10}.managers-table th{background:#f8f9fa;padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e0e0e0;white-space:nowrap}.managers-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.managers-table th.sortable:hover{background:#f0f0f0}.managers-table th.sortable span{display:inline}.managers-table th .sort-icon{width:16px;height:16px;vertical-align:middle;margin-left:4px}.managers-table th .sort-icon.neutral{color:#ccc}.managers-table th .sort-icon.active{color:#fe5000}.managers-table td{padding:14px 16px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0}.managers-table tr:hover{background:#fafafa}.managers-table tr:last-child td{border-bottom:none}.manager-name-cell{display:flex;align-items:center;gap:12px}.manager-icon{width:20px;height:20px;color:#fe5000}.manager-name-cell span{font-weight:500}.manager-page .action-buttons{display:flex;gap:8px}.manager-page .action-btn{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:none;display:flex;align-items:center;gap:4px}.manager-page .action-btn svg{width:14px;height:14px}.manager-page .action-btn.edit{background:#fff3e0;color:#f57c00}.manager-page .action-btn.edit:hover{background:#ffe0b2}.manager-page .action-btn.delete{background:#ffebee;color:#d32f2f}.manager-page .action-btn.delete:hover{background:#ffcdd2}.manager-page .status-badge{display:inline-block;padding:4px 12px;border-radius:50px;font-size:12px;font-weight:600;text-transform:capitalize;letter-spacing:.3px}.manager-page .status-active{background:#e8f5e9;color:#388e3c}.manager-page .status-inactive{background:#fff3e0;color:#f57c00}.manager-page .status-suspended{background:#ffebee;color:#d32f2f}.manager-page .unassigned{color:#999;font-style:italic}.manager-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid #e0e0e0}.manager-page .pagination-left{display:flex;align-items:center;gap:16px}.manager-page .per-page-select{padding:6px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;color:#666;background:#fff;cursor:pointer;min-width:120px}.manager-page .per-page-select:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 2px #ff6b001a}.manager-page .per-page-select:hover{border-color:#ccc}.manager-page .pagination-info{font-size:14px;color:#666}.manager-page .pagination-controls{display:flex;align-items:center;gap:8px}.manager-page .pagination-btn{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:14px;color:#333;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.manager-page .pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.manager-page .pagination-btn:disabled{opacity:.5;cursor:not-allowed}.manager-page .pagination-btn svg{width:16px;height:16px}.manager-page .page-numbers{display:flex;gap:4px}.manager-page .page-number{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:14px;color:#333;cursor:pointer;transition:all .2s}.manager-page .page-number:hover{background:#f5f5f5}.manager-page .page-number.active{background:#fe5000;border-color:#fe5000;color:#fff}.manager-page .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.manager-page .spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:#fe5000;border-radius:50%;animation:spin 1s linear infinite}.manager-page .loading-text{font-size:14px;color:#666}.manager-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px}.manager-page .empty-icon{width:64px;height:64px;color:#ccc}.manager-page .empty-title{font-size:18px;font-weight:600;color:#333;margin:0}.manager-page .empty-description{font-size:14px;color:#666;margin:0}.manager-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.manager-page .error-icon{width:64px;height:64px;color:#d32f2f}.manager-page .error-title{font-size:18px;font-weight:600;color:#333;margin:0}.manager-page .error-description{font-size:14px;color:#666;margin:0}.manager-page .retry-button{padding:10px 24px;background:#fe5000;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.manager-page .retry-button:hover{background:#c40}.manager-page .slide-panel-overlay{position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.manager-page .slide-panel-overlay.active{opacity:1;visibility:visible}.manager-page .slide-panel{position:fixed;top:0;right:0;width:50%;max-width:600px;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.manager-page .slide-panel.active{transform:translate(0)}.manager-page .panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.manager-page .panel-header h2{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.manager-page .panel-close{width:36px;height:36px;border:none;background:#f5f5f5;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.manager-page .panel-close:hover{background:#e0e0e0}.manager-page .panel-close svg{width:20px;height:20px;color:#666}.manager-page .panel-body{padding:24px;overflow-y:auto;flex:1}.manager-page .panel-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0;background:#fafafa}.manager-page .details-section{background:#f8f9fa;border-radius:12px;padding:20px;border:1px solid #e8e8e8;margin-bottom:16px}.manager-page .details-section:last-child{margin-bottom:0}.manager-page .section-title{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:15px;font-weight:600;color:#333}.manager-page .section-title svg{width:20px;height:20px;color:#fe5000}.manager-page .form-group{margin-bottom:16px}.manager-page .form-group:last-child{margin-bottom:0}.manager-page .form-label{display:block;font-size:13px;font-weight:500;color:#666;margin-bottom:6px}.manager-page .form-input{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;transition:border-color .2s,box-shadow .2s}.manager-page .form-input:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.manager-page .form-input.readonly{background:#f8f9fa;cursor:default;color:#666}.manager-page .form-select{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}.manager-page .form-select:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.manager-page .form-select:disabled{background:#f5f5f5;cursor:not-allowed;color:#999}.manager-page .form-hint{display:block;font-size:12px;color:#888;margin-top:4px}.manager-page .password-notice{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#e3f2fd;border:1px solid #90caf9;border-radius:8px;margin-top:12px}.manager-page .password-notice svg{width:20px;height:20px;color:#1976d2;flex-shrink:0}.manager-page .password-notice span{font-size:13px;color:#1565c0}.manager-page .password-notice strong{font-weight:600}.manager-page .view-only-notice{display:flex;align-items:center;gap:12px;padding:16px;background:#fff3e0;border:1px solid #ffcc80;border-radius:8px;margin-top:16px}.manager-page .view-only-notice svg{width:24px;height:24px;color:#f57c00;flex-shrink:0}.manager-page .view-only-notice span{font-size:13px;color:#c40}.manager-page .btn-primary{padding:10px 24px;background:#fe5000;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.manager-page .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff6b004d}.manager-page .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.manager-page .btn-secondary{padding:10px 24px;background:#fff;color:#666;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.manager-page .btn-secondary:hover{background:#f5f5f5;color:#333}.manager-page .btn-danger{padding:10px 24px;background:#d32f2f;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.manager-page .btn-danger:hover:not(:disabled){background:#b71c1c}.manager-page .btn-danger:disabled{opacity:.6;cursor:not-allowed}.manager-page .delete-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1100;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.manager-page .delete-modal-overlay.active{opacity:1;visibility:visible}.manager-page .delete-modal{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;text-align:center}.manager-page .delete-modal-icon{width:64px;height:64px;color:#d32f2f;margin-bottom:16px}.manager-page .delete-modal-icon.warning{color:#f57c00}.manager-page .delete-modal h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#333}.manager-page .delete-modal p{margin:0 0 24px;font-size:14px;color:#666}.manager-page .delete-modal-buttons{display:flex;gap:12px;justify-content:center}@media(max-width:768px){.manager-page .page-title{font-size:24px}.managers-table{display:block;overflow-x:auto}.manager-page .pagination{flex-direction:column;gap:16px}.manager-page .pagination-left{flex-direction:column;align-items:flex-start;gap:8px;width:100%}.manager-page .per-page-select{width:100%}.manager-page .slide-panel{width:100%;max-width:100%}.manager-page .panel-header{padding:16px 20px}.manager-page .panel-body{padding:16px}.manager-page .panel-footer{padding:12px 16px;flex-direction:column}.manager-page .panel-footer button{width:100%}.manager-page .delete-modal-buttons{flex-direction:column}.manager-page .delete-modal-buttons button{width:100%}}.messaging-page{display:flex;flex-direction:column;gap:24px}.messaging-page .page-header{display:flex;justify-content:space-between;align-items:center}.messaging-page .page-title{margin:0;font-size:28px;font-weight:600;color:#1a1a1a}.messaging-page .filter-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014}.messaging-page .filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.messaging-page .filter-group{display:flex;flex-direction:column;gap:6px;min-width:180px}.messaging-page .filter-label{font-size:14px;font-weight:500;color:#666}.messaging-page .filter-select,.messaging-page .filter-input{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;min-width:180px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.messaging-page .filter-select:hover,.messaging-page .filter-input:hover{border-color:#bbb}.messaging-page .filter-select:focus,.messaging-page .filter-input:focus{outline:none;border-color:#ff6b00;box-shadow:0 0 0 3px #ff6b001a}.messaging-page .reset-button{padding:10px 20px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s}.messaging-page .reset-button:hover{background:#eee;border-color:#ccc}.messaging-page .error-message{background:#fff3f3;border:1px solid #ffcdd2;border-radius:8px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;color:#c62828}.messaging-page .error-message button{padding:8px 16px;background:#c62828;border:none;border-radius:6px;color:#fff;font-size:13px;cursor:pointer}.messaging-page .table-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;max-height:calc(100vh - 240px)}.messaging-page .table-scroll-wrapper{flex:1;overflow-y:auto;overflow-x:auto}.messaging-page .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:#666}.messaging-page .spinner{width:36px;height:36px;border:3px solid #f0f0f0;border-top-color:#ff6b00;border-radius:50%;animation:spin 1s linear infinite}.messaging-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px}.messaging-page .empty-icon{width:48px;height:48px;color:#ccc}.messaging-page .empty-title{margin:0;font-size:18px;font-weight:600;color:#666}.messaging-page .empty-description{margin:0;font-size:14px;color:#999}.messaging-table{width:100%;border-collapse:collapse}.messaging-table thead{position:sticky;top:0;z-index:10}.messaging-table th{text-align:left;padding:14px 16px;font-size:14px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;background:#fafafa;border-bottom:1px solid #eee}.messaging-table td{padding:14px 16px;font-size:16px;color:#333;border-bottom:1px solid #f0f0f0;vertical-align:middle}.messaging-table tbody tr:hover{background:#fafafa}.messaging-table .name-cell{display:flex;flex-direction:column;gap:2px}.messaging-table .name-cell .name{font-weight:500;color:#1a1a1a}.messaging-table .name-cell .phone{font-size:13px;color:#888}.messaging-table .message-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:200px;color:#666;font-size:14px}.messaging-table .date-cell{font-size:14px;color:#666;white-space:nowrap}.messaging-table .message-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:4px 10px;background:#e3f2fd;color:#1976d2;border-radius:12px;font-size:14px;font-weight:500}.messaging-table .action-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.messaging-table .action-btn.view{background:#e3f2fd;color:#1976d2}.messaging-table .action-btn.view:hover{background:#bbdefb}.messaging-table .action-btn svg{width:18px;height:18px}.messaging-page .pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-top:1px solid #f0f0f0;background:#fff;flex-shrink:0;position:sticky;bottom:0;z-index:10}.messaging-page .pagination-left{display:flex;align-items:center;gap:16px}.messaging-page .per-page-select{padding:6px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;color:#666;background:#fff;cursor:pointer;min-width:120px}.messaging-page .per-page-select:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 2px #ff6b001a}.messaging-page .per-page-select:hover{border-color:#ccc}.messaging-page .pagination-info{font-size:14px;color:#666}.messaging-page .pagination-controls{display:flex;align-items:center;gap:16px}.messaging-page .page-btn{padding:8px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:15px;color:#333;cursor:pointer;transition:all .2s}.messaging-page .page-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.messaging-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.messaging-page .page-info{font-size:15px;color:#666}.panel-overlay{position:fixed;inset:0;background:#0006;z-index:1000}.message-panel{position:fixed;top:0;right:0;width:500px;max-width:90vw;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:1001;display:flex;flex-direction:column;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid #eee;background:#fafafa}.panel-title-section h2{margin:0 0 8px;font-size:20px;font-weight:600;color:#1a1a1a}.panel-subtitle{font-size:14px;color:#666;display:flex;align-items:center;gap:8px}.panel-subtitle .worker-label,.panel-subtitle .manager-label{font-weight:500;color:#888}.panel-subtitle .divider{color:#ddd}.panel-outlet{font-size:13px;color:#888;margin-top:4px}.panel-outlet .outlet-label{font-weight:500}.close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:8px;cursor:pointer;color:#666;transition:all .2s}.close-btn:hover{background:#eee;color:#333}.close-btn svg{width:24px;height:24px}.messages-container{flex:1;overflow-y:auto;padding:20px 24px;background:#f5f5f5}.loading-messages,.no-messages{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;gap:12px;color:#888}.messages-list{display:flex;flex-direction:column;gap:16px}.message-bubble{max-width:85%;padding:12px 16px;border-radius:12px;background:#fff;box-shadow:0 1px 3px #0000001a}.message-bubble.worker{align-self:flex-start;background:#fff;border-bottom-left-radius:4px}.message-bubble.manager{align-self:flex-end;background:#e3f2fd;border-bottom-right-radius:4px}.message-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.message-header .sender-name{font-size:13px;font-weight:600;color:#333}.message-header .sender-type{font-size:11px;color:#888;text-transform:capitalize}.message-content{font-size:14px;color:#333;line-height:1.5;white-space:pre-wrap;word-break:break-word}.message-time{font-size:11px;color:#888;margin-top:8px;text-align:right}@media(max-width:768px){.messaging-page .pagination{flex-direction:column;gap:16px}.messaging-page .pagination-left{flex-direction:column;align-items:flex-start;gap:8px;width:100%}.messaging-page .per-page-select{width:100%}.messaging-page .pagination-controls{width:100%;justify-content:center}.messaging-page .filter-row{flex-direction:column}.messaging-page .filter-group,.messaging-page .filter-select,.messaging-page .filter-input{width:100%;min-width:auto}}.promotion-page{display:flex;flex-direction:column;gap:24px}.promotion-page .page-header{display:flex;justify-content:space-between;align-items:center}.promotion-page .page-title{margin:0;font-size:28px;font-weight:600;color:#1a1a1a}.promotion-page .page-header-actions{display:flex;align-items:center;gap:12px}.promotion-page .export-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fff;border:1.5px solid #FE5000;border-radius:8px;color:#fe5000;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.promotion-page .export-btn:hover:not(:disabled){background:#fff3ee;transform:translateY(-1px);box-shadow:0 4px 12px #fe500026}.promotion-page .export-btn:disabled{opacity:.45;cursor:not-allowed}.promotion-page .export-btn svg{width:18px;height:18px}.promotion-page .add-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fe5000;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.promotion-page .add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff6b004d}.promotion-page .add-btn svg{width:18px;height:18px}.promotion-page .filter-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014}.promotion-page .filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.promotion-page .filter-group{display:flex;flex-direction:column;gap:6px;min-width:160px}.promotion-page .filter-label{font-size:13px;font-weight:500;color:#666}.promotion-page .filter-select,.promotion-page .filter-input{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;min-width:160px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.promotion-page .filter-select:hover,.promotion-page .filter-input:hover{border-color:#bbb}.promotion-page .filter-select:focus,.promotion-page .filter-input:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.promotion-page .reset-button{padding:10px 20px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.promotion-page .reset-button:hover{background:#eee;color:#333}.promotion-page .reset-button svg{width:16px;height:16px}.promotion-page .table-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.promotion-page .table-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0}.promotion-page .table-title{font-size:16px;font-weight:600;color:#333}.promotion-page .table-count{font-size:14px;color:#666}.promotions-table{width:100%;border-collapse:collapse}.promotions-table th{background:#f8f9fa;padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e0e0e0;white-space:nowrap}.promotions-table td{padding:14px 16px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0}.promotions-table tr:hover{background:#fafafa}.promotions-table tr:last-child td{border-bottom:none}.promotion-name-cell{display:flex;align-items:center;gap:12px}.promotion-icon{width:20px;height:20px;color:#fe5000}.promotion-name-cell span{font-weight:500}.promo-code{background:#f0f0f0;padding:4px 8px;border-radius:4px;font-family:monospace;font-size:13px;color:#333}.value-text{font-weight:600;color:#388e3c}.period-cell{display:flex;flex-direction:column;gap:2px;font-size:13px}.period-separator{color:#999;font-size:11px}.usage-text{font-weight:500}.usage-limit{color:#999;font-weight:400}.promotion-page .status-badge{display:inline-block;padding:4px 12px;border-radius:50px;font-size:12px;font-weight:600;text-transform:capitalize;letter-spacing:.3px}.promotion-page .status-active{background:#e8f5e9;color:#388e3c}.promotion-page .status-inactive{background:#f5f5f5;color:#666}.promotion-page .status-scheduled{background:#e3f2fd;color:#1976d2}.promotion-page .status-expired{background:#ffebee;color:#d32f2f}.promotion-page .action-buttons{display:flex;gap:8px}.promotion-page .action-btn{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:none;display:flex;align-items:center;gap:4px}.promotion-page .action-btn svg{width:14px;height:14px}.promotion-page .action-btn.edit{background:#fff3e0;color:#f57c00}.promotion-page .action-btn.edit:hover{background:#ffe0b2}.promotion-page .action-btn.delete{background:#ffebee;color:#d32f2f}.promotion-page .action-btn.delete:hover{background:#ffcdd2}.promotion-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid #e0e0e0}.promotion-page .pagination-info{font-size:14px;color:#666}.promotion-page .pagination-controls{display:flex;align-items:center;gap:8px}.promotion-page .pagination-btn{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:14px;color:#333;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.promotion-page .pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.promotion-page .pagination-btn:disabled{opacity:.5;cursor:not-allowed}.promotion-page .pagination-btn svg{width:16px;height:16px}.promotion-page .page-numbers{display:flex;gap:4px}.promotion-page .page-number{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:14px;color:#333;cursor:pointer;transition:all .2s}.promotion-page .page-number:hover{background:#f5f5f5}.promotion-page .page-number.active{background:#fe5000;border-color:#fe5000;color:#fff}.promotion-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px}.promotion-page .empty-icon{width:64px;height:64px;color:#ccc}.promotion-page .empty-title{font-size:18px;font-weight:600;color:#333;margin:0}.promotion-page .empty-description{font-size:14px;color:#666;margin:0}.promotion-page .slide-panel-overlay{position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.promotion-page .slide-panel-overlay.active{opacity:1;visibility:visible}.promotion-page .slide-panel{position:fixed;top:0;right:0;width:50%;max-width:600px;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.promotion-page .slide-panel.active{transform:translate(0)}.promotion-page .panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.promotion-page .panel-header h2{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.promotion-page .panel-close{width:36px;height:36px;border:none;background:#f5f5f5;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.promotion-page .panel-close:hover{background:#e0e0e0}.promotion-page .panel-close svg{width:20px;height:20px;color:#666}.promotion-page .panel-body{padding:24px;overflow-y:auto;flex:1}.promotion-page .panel-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0;background:#fafafa}.promotion-page .details-section{background:#f8f9fa;border-radius:12px;padding:20px;border:1px solid #e8e8e8;margin-bottom:16px}.promotion-page .details-section:last-child{margin-bottom:0}.promotion-page .section-title{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:15px;font-weight:600;color:#333}.promotion-page .section-title svg{width:20px;height:20px;color:#fe5000}.promotion-page .form-group{margin-bottom:16px}.promotion-page .form-group:last-child{margin-bottom:0}.promotion-page .form-label{display:block;font-size:13px;font-weight:500;color:#666;margin-bottom:6px}.promotion-page .form-input{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;transition:border-color .2s,box-shadow .2s}.promotion-page .form-input:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.promotion-page .form-select{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}.promotion-page .form-select:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.promotion-page .form-textarea{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;resize:vertical;font-family:inherit;transition:border-color .2s,box-shadow .2s}.promotion-page .form-textarea:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.promotion-page .form-row{display:flex;gap:16px}.promotion-page .form-row .form-group{flex:1}.promotion-page .input-with-prefix{position:relative;display:flex;align-items:center}.promotion-page .input-prefix{position:absolute;left:12px;color:#666;font-weight:500;font-size:14px}.promotion-page .input-with-prefix .form-input{padding-left:32px}.promotion-page .stats-section{background:#fff3e0;border-color:#ffcc80}.promotion-page .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.promotion-page .stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px;background:#fff;border-radius:8px}.promotion-page .stat-value{font-size:24px;font-weight:700;color:#fe5000}.promotion-page .stat-label{font-size:12px;color:#666;margin-top:4px}.promotion-page .btn-primary{padding:10px 24px;background:#fe5000;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.promotion-page .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff6b004d}.promotion-page .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.promotion-page .btn-secondary{padding:10px 24px;background:#fff;color:#666;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.promotion-page .btn-secondary:hover{background:#f5f5f5;color:#333}.campaign-desc{display:block;font-size:12px;color:#999;font-weight:400;margin-top:2px}.category-count{background:#f0f0f0;padding:4px 8px;border-radius:4px;font-size:12px;color:#666;cursor:help}.category-checkbox-list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto;padding:4px 0}.category-checkbox-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;color:#333;transition:background .15s}.category-checkbox-item:hover{background:#f5f5f5}.category-checkbox-item input[type=checkbox]{accent-color:#FE5000;width:16px;height:16px}.form-hint{font-size:12px;color:#999;margin-top:4px}.delete-confirm{display:flex;gap:4px}.promotion-page .action-btn.confirm-delete{background:#d32f2f;color:#fff;font-size:12px;padding:4px 10px}.promotion-page .action-btn.cancel-delete{background:#f5f5f5;color:#666;font-size:12px;padding:4px 10px}.promotion-page .action-btn.view{background:#e3f2fd;color:#1976d2}.promotion-page .action-btn.view:hover{background:#bbdefb}.promotion-page .error-banner{background:#ffebee;border:1px solid #ffcdd2;border-radius:8px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;color:#d32f2f;font-size:14px}.promotion-page .error-banner button{background:none;border:none;color:#d32f2f;font-weight:600;cursor:pointer;text-decoration:underline}.qual-modal-overlay{position:fixed;inset:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.qual-modal{background:#fff;border-radius:16px;width:95%;max-width:1400px;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.qual-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.qual-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1f2937}.qual-modal-content{flex:1;overflow-y:auto;padding:24px}.promotion-page .modal-close-btn{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:20px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.promotion-page .modal-close-btn:hover{background:#e5e7eb;color:#374151}.qual-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.qual-stat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 12px;background:#f8fafc;border-radius:10px;border:1px solid #e5e7eb}.qual-stat:first-child{border-left:3px solid #388e3c}.qual-stat:last-child{border-left:3px solid #f57c00}.qual-stat-value{font-size:32px;font-weight:700;color:#1f2937;line-height:1}.qual-stat-value.qual-qualified{color:#388e3c}.qual-stat-value.qual-not-qualified{color:#d32f2f}.qual-stat-label{font-size:13px;color:#64748b;margin-top:6px;font-weight:500}.qual-actions{display:flex;gap:12px;align-items:center;margin-bottom:20px;padding:16px;background:#f8fafc;border-radius:10px;border:1px solid #e5e7eb}.btn-payout{padding:10px 24px;background:#388e3c;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-payout:hover:not(:disabled){background:#2e7d32}.btn-payout:disabled{opacity:.6;cursor:not-allowed}.qual-table-wrapper{overflow-x:auto;border:1px solid #e5e7eb;border-radius:10px}.qual-table{border-collapse:separate;border-spacing:0}.qual-table th{background:#f1f5f9;border-bottom:2px solid #e2e8f0;font-size:11px;padding:12px 14px}.qual-table td{padding:12px 14px;border-bottom:1px solid #f1f5f9}.qual-table tbody tr:nth-child(2n){background:#fafbfc}.qual-table tbody tr:hover{background:#f0f4ff}.qual-table tbody tr:last-child td{border-bottom:none}.qual-table td.hours-met{color:#388e3c;font-weight:600}.qual-table td.hours-not-met{color:#d32f2f;font-weight:600}.qual-table input[type=checkbox]{accent-color:#FE5000;width:16px;height:16px;cursor:pointer}.promotion-page .tspl-preview-modal-overlay{position:fixed;inset:0;background:#0009;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px}.promotion-page .tspl-preview-modal{background:#fff;border-radius:16px;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.promotion-page .tspl-preview-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.promotion-page .tspl-preview-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1f2937}.promotion-page .tspl-preview-modal-content{flex:1;overflow-y:auto;padding:24px}.promotion-page .tspl-preview-worker-info{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:16px;background:#f8fafc;border-radius:10px;font-size:14px;color:#374151}.promotion-page .tspl-preview-worker-info span{display:flex;gap:6px}.promotion-page .tspl-preview-worker-info strong{color:#6b7280;font-weight:500}.promotion-page .tspl-preview-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:14px 16px;margin-bottom:20px;color:#dc2626;font-size:14px;font-weight:500}.promotion-page .tspl-preview-table-container{overflow-x:auto;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:20px}.promotion-page .tspl-preview-table{width:100%;border-collapse:collapse;font-size:14px}.promotion-page .tspl-preview-table thead{background:#f1f5f9}.promotion-page .tspl-preview-table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e7eb}.promotion-page .tspl-preview-table td{padding:12px 16px;color:#374151;border-bottom:1px solid #f1f5f9}.promotion-page .tspl-preview-table tbody tr:last-child td{border-bottom:none}.promotion-page .tspl-preview-table tbody tr:hover{background:#f8fafc}.promotion-page .tspl-item-code{background:#ecfdf5;color:#059669;padding:2px 8px;border-radius:4px;font-weight:500}.promotion-page .tspl-preview-totals{background:#f8fafc;border-radius:10px;padding:20px;border:1px solid #e5e7eb}.promotion-page .tspl-total-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.promotion-page .tspl-total-label{font-size:13px;color:#64748b}.promotion-page .tspl-total-value{font-size:14px;font-weight:600;color:#1e293b;font-family:SF Mono,Monaco,Inconsolata,monospace}.promotion-page .tspl-total-item.tspl-total-grand{background:linear-gradient(135deg,#059669,#047857);border:none}.promotion-page .tspl-total-grand .tspl-total-label{color:#ffffffe6;font-weight:500}.promotion-page .tspl-total-grand .tspl-total-value{color:#fff;font-size:16px;font-weight:700}.promotion-page .tspl-preview-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 16px 16px}.promotion-page .tspl-preview-cancel-btn{padding:10px 20px;background:#fff;color:#6b7280;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.promotion-page .tspl-preview-cancel-btn:hover{background:#f3f4f6;color:#374151}.promotion-page .tspl-preview-confirm-btn{padding:10px 24px;background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.promotion-page .tspl-preview-confirm-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.promotion-page .tspl-preview-confirm-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:1200px){.promotions-table{display:block;overflow-x:auto}}@media(max-width:768px){.promotion-page .filter-row{flex-direction:column}.promotion-page .filter-group,.promotion-page .filter-select,.promotion-page .filter-input{width:100%}.promotion-page .pagination{flex-direction:column;gap:16px}.promotion-page .page-title{font-size:24px}.promotion-page .page-header-actions{flex-wrap:wrap;gap:8px}.promotion-page .slide-panel{width:100%;max-width:100%}.qual-modal{max-width:100%;max-height:100vh;border-radius:0}.qual-summary{grid-template-columns:1fr}.promotion-page .panel-header{padding:16px 20px}.promotion-page .panel-body{padding:16px}.promotion-page .panel-footer{padding:12px 16px;flex-direction:column}.promotion-page .panel-footer button{width:100%}.promotion-page .form-row{flex-direction:column;gap:0}.promotion-page .stats-grid{grid-template-columns:1fr}}.referral-page{display:flex;flex-direction:column;gap:24px}.page-header{display:flex;justify-content:space-between;align-items:center;position:sticky;top:60px;z-index:10;background:#f5f5f5;padding-bottom:4px}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:160px}.filter-select,.filter-input{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;min-width:160px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.table-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:visible}.table-scroll-wrapper{overflow-x:auto;width:100%}.referral-table{width:100%;min-width:900px;border-collapse:collapse}.referral-table th{background:#f8f9fa;padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e0e0e0;white-space:nowrap}.referral-table td{padding:14px 16px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0}.referral-table tr{cursor:pointer;transition:background .2s}.referral-table tr:hover{background:#fafafa}.referral-table tr:last-child td{border-bottom:none}.status-pending{background:#f5f5f5;color:#666}.status-eligible{background:#fff3e0;color:#f57c00}.status-approved{background:#e3f2fd;color:#1976d2}.status-ineligible{background:#ffebee;color:#c62828}.progress-badge{display:inline-block;padding:4px 12px;border-radius:50px;font-size:12px;font-weight:600;background:#f5f5f5;color:#666}.progress-badge.complete{background:#e8f5e9;color:#388e3c}.worker-cell{display:flex;align-items:center;gap:10px}.worker-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.worker-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#666;flex-shrink:0}.action-btn.view{background:#e3f2fd;color:#1976d2}.action-btn.approve{background:#e8f5e9;color:#388e3c}.action-btn.approve:hover{background:#c8e6c9}.action-btn.ineligible{background:#ffebee;color:#c62828}.action-btn.ineligible:hover{background:#ffcdd2}.action-btn.restore{background:#fff3e0;color:#f57c00}.action-btn.restore:hover{background:#ffe0b2}.action-btn:disabled{opacity:.5;cursor:not-allowed}.pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid #e0e0e0;position:sticky;bottom:0;background:#fff;z-index:5}.pagination-left{display:flex;align-items:center;gap:16px}.slide-panel{position:fixed;top:0;right:0;width:60%;max-width:720px;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.detail-value.highlight{color:#388e3c;font-weight:600;font-size:16px}.detail-value.code-value{font-family:monospace;background:#fff3e0;padding:4px 8px;border-radius:4px;color:#f57c00}.shifts-section{background:#fff;border:1px solid #e0e0e0}.shifts-table-wrapper{overflow-x:auto;margin-top:12px}.shifts-table{width:100%;border-collapse:collapse;font-size:13px}.shifts-table th{background:#f8f9fa;padding:10px 12px;text-align:left;font-size:11px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #e0e0e0}.shifts-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;color:#333}.shifts-table tr:last-child td{border-bottom:none}.shift-status{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.shift-status.done{background:#e8f5e9;color:#388e3c}.shift-status-cell{display:flex;flex-direction:column;align-items:center;gap:4px}.shift-status-text{font-size:10px;color:#666;text-transform:capitalize}.no-shifts-message{text-align:center;color:#666;font-size:14px;padding:20px;margin:0}.btn-danger{padding:10px 24px;background:#c62828;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #c628284d}.btn-danger:disabled{opacity:.6;cursor:not-allowed;transform:none}.approve-btn{display:flex;align-items:center;gap:8px;background:#388e3c}.approve-btn:hover:not(:disabled){background:#2e7d32;box-shadow:0 4px 12px #388e3c4d}.approve-btn svg{width:18px;height:18px}@media(max-width:1200px){.referral-table{display:block;overflow-x:auto}}@media(max-width:768px){.filter-row{flex-direction:column}.filter-group,.filter-select,.filter-input{width:100%}.pagination{flex-direction:column;gap:16px}.pagination-left{flex-direction:column;align-items:flex-start;gap:8px}.per-page-select{width:100%}.page-title{font-size:24px}.slide-panel{width:100%;max-width:100%}.panel-header{padding:16px 20px}.panel-body{padding:16px}.panel-footer{padding:12px 16px;flex-direction:column}.panel-footer button{width:100%}}.refer-by-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.refer-by-badge.casual-labour{background-color:#e8f4fd;color:#1a73e8}.refer-by-badge.full-timer{background-color:#fce8f3;color:#c2185b}.page-header-actions{display:flex;gap:10px;align-items:center}.export-button-pdf{background:#2d3a52}.export-button-pdf:hover:not(:disabled){background:#223049}.checkbox-col{width:40px;min-width:40px;text-align:center;padding:8px!important}.checkbox-col input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#FE5000}.checkbox-col input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.referral-table tbody tr.row-selected{background-color:#fe50000f}.referral-table tbody tr.row-selected:hover{background-color:#fe50001a}.mass-action-bar{position:fixed;bottom:0;left:260px;right:0;background:linear-gradient(135deg,#1a2436,#2d3a52);padding:16px 24px;z-index:100;box-shadow:0 -4px 20px #00000026;animation:refMassActionSlideUp .3s ease-out}@keyframes refMassActionSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.mass-action-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto}.mass-action-count{color:#fff;font-size:15px;font-weight:500}.mass-action-buttons{display:flex;gap:12px}.mass-action-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.mass-action-btn.clear{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3)}.mass-action-btn.clear:hover:not(:disabled){background:#ffffff40}.mass-action-btn.export{background:#fe5000;color:#fff}.mass-action-btn.export:hover:not(:disabled){background:#e55f00;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.mass-action-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.mass-action-bar{left:0;padding:12px 16px}.mass-action-content{flex-direction:column;gap:12px}.mass-action-buttons{width:100%;justify-content:stretch}.mass-action-btn{flex:1;text-align:center}}.wms-container{position:relative;min-width:220px}.wms-trigger{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;color:#333;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s;min-height:36px;gap:8px}.wms-trigger:hover{border-color:#bbb}.wms-trigger--open{border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.wms-trigger-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#333}.wms-trigger-label--placeholder{color:#999}.wms-chevron{width:16px;height:16px;color:#666;flex-shrink:0;transition:transform .15s}.wms-trigger--open .wms-chevron{transform:rotate(180deg)}.wms-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;width:max-content;max-width:340px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:200;overflow:hidden}.wms-search-wrapper{padding:8px;border-bottom:1px solid #f0f0f0}.wms-search{width:100%;padding:7px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;color:#333;outline:none;box-sizing:border-box;transition:border-color .2s}.wms-search:focus{border-color:#fe5000;box-shadow:0 0 0 2px #ff6b001a}.wms-list{max-height:260px;overflow-y:auto;padding:4px 0}.wms-option{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background .1s;font-size:13px}.wms-option:hover{background:#f9f9f9}.wms-option--selected{background:#fff8f5}.wms-option--all{border-bottom:1px solid #f0f0f0;margin-bottom:2px;padding-bottom:9px}.wms-checkbox{width:15px;height:15px;flex-shrink:0;accent-color:#FE5000;cursor:pointer}.wms-option-name{flex:1;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wms-option-name--all{font-weight:500;color:#111}.wms-option-code{font-size:12px;color:#888;background:#f3f4f6;border-radius:4px;padding:1px 6px;white-space:nowrap;flex-shrink:0}.wms-no-results{padding:16px 12px;font-size:13px;color:#999;text-align:center}.wms-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid #f0f0f0;background:#fafafa}.wms-clear-btn{font-size:12px;color:#fe5000;background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}.wms-clear-btn:hover{color:#cc4000}.wms-count{font-size:12px;color:#666;font-weight:500}.wms-backdrop{position:fixed;inset:0;z-index:199}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding-bottom:0}.page-title{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.tabs-container{display:flex;gap:0;border-bottom:1px solid #e5e7eb;background:none;padding:0;margin:0}.tab{padding:8px 16px;font-size:13px;font-weight:500;color:#6b7280;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s;margin-bottom:-1px}.tab:hover{color:#374151}.tab.active{color:#2563eb;border-bottom-color:#2563eb}.export-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fe5000;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s,opacity .2s}.export-button:hover:not(:disabled){background:#e55f00}.export-button:disabled{opacity:.6;cursor:not-allowed}.export-button svg{width:18px;height:18px}.filter-card{background:#fff;border-radius:8px;padding:12px 16px;box-shadow:0 1px 4px #0000000f;margin-top:12px;margin-bottom:12px}.filter-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:4px;min-width:150px}.filter-label{font-size:12px;font-weight:500;color:#666}.filter-select,.filter-input{padding:8px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;color:#333;background:#fff;min-width:150px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.table-card{background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f;overflow:visible}.table-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #e0e0e0}.table-title{font-size:14px;font-weight:600;color:#333}.table-scroll-container{max-height:calc(100vh - 350px);overflow-y:auto}.payouts-table{width:100%;border-collapse:collapse}.payouts-table thead th{background:#f8f9fa}.payouts-table.sticky-header thead th{position:sticky;top:0;z-index:10;background:#f8f9fa;box-shadow:0 1px #e0e0e0}.payouts-table th{background:#f8f9fa;padding:10px 12px;text-align:left;font-size:11px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #e0e0e0;white-space:nowrap}.payouts-table td{padding:10px 12px;font-size:13px;color:#333;border-bottom:1px solid #f0f0f0}.payouts-table tr:hover{background:#fafafa}.payouts-table tr:last-child td{border-bottom:none}.status-processing{background:#e3f2fd;color:#1976d2}.status-paid{background:#e8f5e9;color:#388e3c}.status-approved{background:#e3f2fd;color:#1565c0}.status-failed,.status-rejected{background:#ffebee;color:#d32f2f}.type-badge{display:inline-block;padding:4px 10px;border-radius:50px;font-size:12px;font-weight:500;white-space:nowrap}.type-shift{background:#e3f2fd;color:#1565c0}.type-referral{background:#f3e5f5;color:#7b1fa2}.amount-text{font-weight:600;color:#388e3c}.pagination-left{display:flex;align-items:center;gap:12px}.per-page-select{padding:6px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;color:#666;background:#fff;cursor:pointer;min-width:120px}.per-page-select:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 2px #ff6b001a}.per-page-select:hover{border-color:#ccc}.spinner-icon{width:16px;height:16px;animation:spin 1s linear infinite}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #e8e8e8}.detail-row:last-child{border-bottom:none}.detail-label{font-size:13px;color:#666}.detail-value{font-size:14px;font-weight:500;color:#1a1a1a;text-align:right;max-width:60%;word-break:break-word}.detail-value.highlight{color:#388e3c;font-weight:600}.status-edit-section{background:#fff3e0;border:1px solid #ffcc80}.status-select{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}.status-select:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.status-select:disabled{background:#f5f5f5;cursor:not-allowed;color:#999}.readonly-badge{display:inline-block;padding:2px 8px;background:#e0e0e0;color:#666;font-size:10px;font-weight:600;border-radius:4px;text-transform:uppercase;margin-left:8px}@media(max-width:1200px){.table-scroll-container{overflow-x:auto}}@media(max-width:768px){.filter-row{flex-direction:column}.filter-group,.filter-select,.filter-input{width:100%}.pagination{flex-direction:column;gap:16px}.page-title{font-size:24px}.slide-panel{width:100%;max-width:100%}.panel-header{padding:16px 20px}.panel-body{padding:16px}.panel-footer{padding:12px 16px;flex-direction:column}.panel-footer button{width:100%}}.payroll-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.payroll-pending{background:#fff3e0;color:#e65100}.payroll-uploaded{background:#e8f5e9;color:#2e7d32}.cycle-selector{display:flex;align-items:center;justify-content:center;gap:16px;background:#fff;border-radius:12px;padding:16px 24px;box-shadow:0 2px 8px #00000014}.cycle-nav-btn{width:36px;height:36px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.cycle-nav-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.cycle-nav-btn:disabled{opacity:.4;cursor:not-allowed}.cycle-nav-btn svg{width:20px;height:20px;color:#333}.cycle-info{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:180px}.cycle-label{font-size:12px;font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.5px}.cycle-period{font-size:18px;font-weight:600;color:#1a1a1a}.payment-badge{display:inline-block;padding:4px 12px;border-radius:50px;font-size:12px;font-weight:600;text-transform:capitalize;letter-spacing:.3px}.payment-all_paid{background:#e8f5e9;color:#2e7d32}.payment-partially_paid{background:#fff8e1;color:#f57f17}.payment-unpaid{background:#fce4ec;color:#c62828}.slide-panel.wide{width:65%;max-width:900px}.shift-breakdown-wrapper{overflow-x:auto;margin:0 -20px;padding:0 20px}.shift-breakdown-table{width:100%;border-collapse:collapse;font-size:13px}.shift-breakdown-table th{background:#edf2f7;padding:10px;text-align:left;font-size:11px;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid #e2e8f0;white-space:nowrap}.shift-breakdown-table td{padding:10px;font-size:13px;color:#333;border-bottom:1px solid #e8e8e8;vertical-align:middle}.shift-breakdown-table tr:last-child td{border-bottom:none}.shift-breakdown-table tr:hover{background:#f7fafc}.inline-status-edit{display:flex;align-items:center;gap:4px}.inline-status-select{padding:4px 6px;border:1px solid #e0e0e0;border-radius:4px;font-size:12px;color:#333;background:#fff;cursor:pointer;min-width:90px}.inline-status-select:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 2px #ff6b001a}.inline-save-btn{width:26px;height:26px;border:none;border-radius:4px;background:#4caf50;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.inline-save-btn:hover:not(:disabled){background:#388e3c}.inline-save-btn:disabled{opacity:.5;cursor:not-allowed}.inline-cancel-btn{width:26px;height:26px;border:none;border-radius:4px;background:#ef5350;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.inline-cancel-btn:hover{background:#d32f2f}.panel-cycle-filter{display:flex;align-items:center;gap:8px;margin-bottom:12px}.panel-cycle-filter label{font-size:13px;font-weight:500;color:#666}.panel-cycle-filter select{padding:6px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;color:#333;background:#fff;cursor:pointer;transition:border-color .2s}.panel-cycle-filter select:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 2px #ff6b001a}.calc-summary-table{width:100%;border-collapse:collapse;font-size:13px}.calc-summary-table th{background:#edf2f7;padding:10px 12px;text-align:left;font-size:11px;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid #e2e8f0;white-space:nowrap}.calc-summary-table td{padding:10px 12px;font-size:13px;color:#333;border-bottom:1px solid #e8e8e8;vertical-align:top}.calc-summary-table td:last-child{white-space:nowrap;text-align:right}.calc-summary-table th:last-child{text-align:right}.calc-grand-total-row{border-top:2px solid #cbd5e0}.calc-grand-total-row td{padding-top:14px;font-size:14px;font-weight:700;border-bottom:none}.calc-grand-total-row td.amount-text{color:#2e7d32;font-size:15px}.action-btn.view{background:#e3f2fd;color:#1565c0}.action-btn.view:hover{background:#bbdefb}.date-range-selector{display:flex;gap:16px;align-items:flex-end;background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 2px 8px #00000014}.date-input-group{display:flex;flex-direction:column;gap:6px}.date-input{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s;min-width:160px}.date-input:hover{border-color:#bbb}.date-input:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.payroll-breakdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payroll-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fff;border-radius:8px;border:1px solid #e8e8e8}.payroll-item-label{font-size:13px;color:#666}.payroll-item-value{font-size:16px;font-weight:600;color:#333}.payroll-item.grand-total{grid-column:1 / -1;background:linear-gradient(135deg,#059669,#047857);border:none}.payroll-item.grand-total .payroll-item-label{color:#ffffffe6;font-weight:500;font-size:14px}.payroll-item.grand-total .payroll-item-value{color:#fff;font-size:20px;font-weight:700}.history-row-expandable{cursor:pointer;transition:background-color .2s}.history-row-expandable:hover{background-color:#f5f5f5}.history-row-expandable.expanded{background-color:#f0f9ff}.expand-icon{width:16px;height:16px;color:#6b7280;transition:transform .2s ease}.expand-icon.expanded{transform:rotate(90deg)}.earnings-detail-row td{padding:0!important;background-color:#f8fafc}.earnings-detail-container{padding:16px 24px 16px 48px;border-bottom:2px solid #e5e7eb}.earnings-detail-title{font-weight:600;margin-bottom:12px;color:#374151;font-size:14px}.earnings-detail-table{width:100%;border-collapse:collapse;margin-bottom:0}.earnings-detail-table thead tr{background-color:#e5e7eb}.earnings-detail-table th{padding:10px 12px;font-size:11px;font-weight:600;color:#4b5563;text-transform:uppercase;letter-spacing:.3px;text-align:left}.earnings-detail-table tbody tr{background-color:#fff}.earnings-detail-table tbody tr:hover{background-color:#fafafa}.earnings-detail-table td{padding:10px 12px;font-size:13px;color:#374151;border-bottom:1px solid #e5e7eb}.earnings-detail-table tbody tr:last-child td{border-bottom:none}.earning-type-badge{display:inline-block;font-size:11px;padding:3px 8px;border-radius:4px;font-weight:500}.earning-type-shift{background-color:#ecfdf5;color:#065f46}.earning-type-referral{background-color:#fef3c7;color:#92400e}.earning-type-transport{background-color:#e0f2fe;color:#0369a1}.earnings-loading,.earnings-empty{padding:20px;text-align:center;color:#6b7280;font-size:14px}@media(max-width:1200px){.slide-panel.wide{width:80%}.shift-breakdown-table{min-width:600px}}@media(max-width:768px){.cycle-selector{padding:12px 16px;gap:12px}.cycle-period{font-size:15px}.cycle-info{min-width:140px}.slide-panel.wide{width:100%;max-width:100%}.shift-breakdown-table{min-width:500px}.shift-breakdown-table th,.shift-breakdown-table td{padding:8px 6px;font-size:12px}.inline-status-select{min-width:70px;font-size:11px}.inline-save-btn,.inline-cancel-btn{width:22px;height:22px;font-size:12px}}.export-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#2e7d32,#388e3c);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.export-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #2e7d324d}.export-btn:disabled{opacity:.7;cursor:not-allowed}.export-btn svg{width:18px;height:18px}.action-btn.submit-btn{background:linear-gradient(135deg,#059669,#047857);color:#fff;padding:6px 14px;font-size:12px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.action-btn.submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 8px #0596694d}.action-btn.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.tspl-preview-modal-overlay{position:fixed;inset:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.tspl-preview-modal{background:#fff;border-radius:16px;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.tspl-preview-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.tspl-preview-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1f2937}.modal-close-btn{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:20px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close-btn:hover{background:#e5e7eb;color:#374151}.tspl-preview-modal-content{flex:1;overflow-y:auto;padding:24px}.tspl-preview-worker-info{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:16px;background:#f8fafc;border-radius:10px;font-size:14px;color:#374151}.tspl-preview-worker-info span{display:flex;gap:6px}.tspl-preview-worker-info strong{color:#6b7280;font-weight:500}.tspl-preview-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:14px 16px;margin-bottom:20px;color:#dc2626;font-size:14px;font-weight:500}.tspl-preview-table-container{overflow-x:auto;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:20px}.tspl-preview-table{width:100%;border-collapse:collapse;font-size:14px}.tspl-preview-table thead{background:#f1f5f9}.tspl-preview-table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e7eb}.tspl-preview-table td{padding:12px 16px;color:#374151;border-bottom:1px solid #f1f5f9}.tspl-preview-table tbody tr:last-child td{border-bottom:none}.tspl-preview-table tbody tr:hover{background:#f8fafc}.tspl-preview-table code{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:13px;color:#1e293b}.tspl-item-code{background:#ecfdf5;color:#059669;padding:2px 8px;border-radius:4px;font-weight:500}.tspl-preview-empty{text-align:center;padding:40px 20px;color:#6b7280;font-size:14px;background:#f9fafb;border-radius:10px;margin-bottom:20px}.tspl-preview-totals{background:#f8fafc;border-radius:10px;padding:20px;border:1px solid #e5e7eb}.tspl-preview-totals-title{font-size:14px;font-weight:600;color:#374151;margin-bottom:16px}.tspl-preview-totals-grid{display:flex;flex-direction:column;gap:10px}.tspl-total-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.tspl-total-label{font-size:13px;color:#64748b}.tspl-total-value{font-size:14px;font-weight:600;color:#1e293b;font-family:SF Mono,Monaco,Inconsolata,monospace}.tspl-total-item.tspl-total-grand{background:linear-gradient(135deg,#059669,#047857);border:none;margin-top:6px}.tspl-total-grand .tspl-total-label{color:#ffffffe6;font-weight:500}.tspl-total-grand .tspl-total-value{color:#fff;font-size:16px;font-weight:700}.tspl-preview-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 16px 16px}.tspl-preview-cancel-btn{padding:10px 20px;background:#fff;color:#6b7280;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.tspl-preview-cancel-btn:hover{background:#f3f4f6;color:#374151}.tspl-preview-confirm-btn{padding:10px 24px;background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.tspl-preview-confirm-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.tspl-preview-confirm-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.tspl-preview-modal{max-width:100%;max-height:100vh;border-radius:0}.tspl-preview-modal-header{padding:16px 20px}.tspl-preview-modal-content{padding:16px}.tspl-preview-worker-info{flex-direction:column;gap:10px}.tspl-preview-modal-footer{flex-direction:column-reverse}.tspl-preview-cancel-btn,.tspl-preview-confirm-btn{width:100%}}.pricing-date-page{padding:24px;max-width:1200px;margin:0 auto}.page-header{margin-bottom:24px}.page-header h1{font-size:24px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.page-description{color:#666;margin:0 0 16px}.add-btn{background-color:#10b981;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.add-btn:hover{background-color:#059669}.pricing-cards-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.pricing-cards-count{font-size:13px;color:#9ca3af}.expand-all-link{background:none;border:none;color:#3b82f6;font-size:13px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.expand-all-link:hover{color:#2563eb}.error-banner{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:6px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.error-banner button{background:none;border:none;color:#dc2626;cursor:pointer;font-weight:500}.loading{text-align:center;padding:48px;color:#666}.empty-state{text-align:center;padding:48px;background-color:#f9fafb;border-radius:8px;color:#666}.empty-state p{margin:8px 0}.pricing-cards{display:flex;flex-direction:column;gap:16px}.pricing-card{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.pricing-card.active-card{border:2px solid #10b981}.pricing-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb}.pricing-card-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pricing-card-info h3{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.pricing-card-dates{font-size:14px;color:#666;padding:4px 10px;background-color:#f3f4f6;border-radius:4px}.pricing-card-actions{display:flex;align-items:center;gap:8px}.expand-chevron{font-size:18px;color:#9ca3af;transition:transform .2s;display:inline-block;line-height:1;-webkit-user-select:none;user-select:none}.expand-chevron.expanded{transform:rotate(90deg)}.rates-count{font-size:12px;color:#9ca3af;background-color:#f3f4f6;padding:2px 8px;border-radius:10px}.pricing-card-header:hover{background-color:#f3f4f6}.pricing-card-rates{padding:16px 20px}.rates-matrix{width:100%;border-collapse:collapse}.rates-matrix th{padding:10px 16px;text-align:center;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.rates-matrix th:first-child{text-align:left;width:140px}.rates-matrix td{padding:12px 16px;text-align:center;border-bottom:1px solid #f0f0f0}.rates-matrix tbody tr:last-child td{border-bottom:none}.rates-matrix .worker-type{text-align:left;font-weight:500;color:#374151;font-size:14px}.rates-matrix .rate-value{font-weight:600;color:#059669;font-size:15px}.active-badge{background-color:#10b981;color:#fff;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.status-toggle{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;border:none;cursor:pointer;transition:all .2s}.status-toggle.active{background-color:#d1fae5;color:#065f46}.status-toggle.active:hover{background-color:#a7f3d0}.status-toggle.inactive{background-color:#f3f4f6;color:#6b7280}.status-toggle.inactive:hover{background-color:#e5e7eb}.actions-cell{display:flex;gap:8px;align-items:center}.edit-btn{background-color:#3b82f6;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s}.edit-btn:hover{background-color:#2563eb}.delete-btn{background-color:#ef4444;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s}.delete-btn:hover{background-color:#dc2626}.delete-confirm{display:flex;align-items:center;gap:8px;font-size:12px}.delete-confirm span{color:#ef4444;font-weight:500}.confirm-yes{background-color:#ef4444;color:#fff;border:none;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer}.confirm-yes:disabled{opacity:.5;cursor:not-allowed}.confirm-no{background-color:#e5e7eb;color:#374151;border:none;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer}.pricing-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999;padding:20px}.pricing-modal-content{background-color:#fff;border-radius:12px;width:100%;max-width:900px;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.pricing-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.pricing-modal-header h2{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.pricing-close-btn{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;line-height:1}.pricing-close-btn:hover{color:#6b7280}.pricing-modal-content form{padding:24px}.pricing-form-error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px}.pricing-form-group{margin-bottom:20px}.pricing-form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.pricing-form-group input[type=text],.pricing-form-group input[type=date],.pricing-form-group input[type=number]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.pricing-form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.pricing-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pricing-form-row-3{grid-template-columns:1fr 1fr 1fr;align-items:start}.pricing-form-row-3 .pricing-form-group{margin-bottom:0}.pricing-form-row-3 .pricing-form-group>label{margin-bottom:8px}.pricing-form-row-3 .pricing-input-wrapper{margin-bottom:8px}.pricing-form-row-3 .pricing-form-hint{min-height:36px;font-size:11px;line-height:1.3}.pricing-input-wrapper{display:flex;align-items:center;border:1px solid #d1d5db;border-radius:6px;overflow:hidden;background-color:#fff;transition:border-color .2s,box-shadow .2s}.pricing-input-wrapper:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.pricing-input-prefix{padding:10px 8px 10px 12px;color:#6b7280;font-weight:500;font-size:14px;background-color:#f9fafb;border-right:1px solid #e5e7eb}.pricing-input-suffix{padding:10px 12px 10px 8px;color:#6b7280;font-size:13px;background-color:#f9fafb;border-left:1px solid #e5e7eb}.pricing-input-wrapper input{flex:1;border:none!important;border-radius:0!important;padding:10px 8px!important;font-size:14px;min-width:0;box-shadow:none!important}.pricing-input-wrapper input:focus{outline:none;box-shadow:none!important}.pricing-rates-section{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin-bottom:20px}.pricing-rates-section h3{font-size:15px;font-weight:600;color:#1a1a1a;margin:0 0 6px}.pricing-rates-hint{font-size:13px;color:#64748b;margin:0 0 20px}.pricing-rates-hint strong{color:#059669}.pricing-form-hint{display:block;font-size:12px;color:#6b7280;margin-top:4px}.pricing-checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.pricing-checkbox-group input[type=checkbox]{width:16px;height:16px;cursor:pointer}.pricing-modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e5e7eb;margin-top:24px}.cancel-btn{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;min-width:100px}.cancel-btn:hover{background-color:#e5e7eb;border-color:#9ca3af}.save-btn{background-color:#10b981;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;min-width:100px;box-shadow:0 1px 3px #10b9814d}.save-btn:hover{background-color:#059669;box-shadow:0 2px 6px #10b98166}.save-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.pricing-rates-table-section{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:16px}.pricing-rates-table-header{padding:12px 16px;background-color:#f1f5f9;border-bottom:1px solid #e2e8f0;font-size:13px;color:#64748b}.pricing-rates-table-header strong{color:#059669}.pricing-rates-form-table{width:100%;border-collapse:collapse}.pricing-rates-form-table th{padding:10px 16px;text-align:center;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;background-color:#fff;border-bottom:1px solid #e5e7eb}.pricing-rates-form-table th:first-child{text-align:left;width:180px}.pricing-rates-form-table td{padding:12px 16px;background-color:#fff;border-bottom:1px solid #f0f0f0}.pricing-rates-form-table tbody tr:last-child td{border-bottom:none}.worker-type-cell{text-align:left}.worker-type-name{font-weight:600;color:#374151;font-size:14px}.worker-type-desc{font-size:11px;color:#9ca3af;margin-top:2px}.rate-input-compact{display:flex;align-items:center;gap:4px;justify-content:center}.rate-input-compact span{color:#6b7280;font-weight:500;font-size:14px}.rate-input-compact input{width:80px;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;text-align:right}.rate-input-compact input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.rate-input-compact input::-webkit-outer-spin-button,.rate-input-compact input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rate-input-compact input[type=number]{-moz-appearance:textfield}.pricing-modal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #e5e7eb}.pricing-checkbox-inline{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer}.pricing-checkbox-inline input[type=checkbox]{width:16px;height:16px;cursor:pointer}.pricing-modal-footer .pricing-modal-actions{margin-top:0;padding-top:0;border-top:none}@media(max-width:768px){.pricing-date-page{padding:16px}.pricing-form-row,.pricing-form-row-3{grid-template-columns:1fr}.pricing-modal-content{max-width:100%;margin:10px}.pricing-rates-form-table th,.pricing-rates-form-table td{padding:8px 10px}.rate-input-compact input{width:60px;padding:6px 8px}.pricing-modal-footer{flex-direction:column;gap:16px;align-items:stretch}.pricing-modal-footer .pricing-modal-actions{justify-content:stretch}.pricing-modal-footer .pricing-modal-actions button{flex:1}}.public-holiday-page{display:flex;flex-direction:column;gap:24px}.add-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fe5000;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff6b004d}.add-btn svg{width:18px;height:18px}.holidays-table{width:100%;border-collapse:collapse}.holidays-table th{background:#f8f9fa;padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e0e0e0;white-space:nowrap}.holidays-table td{padding:14px 16px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0;vertical-align:middle}.holidays-table tr:hover{background:#fafafa}.holidays-table tr:last-child td{border-bottom:none}.holiday-name-cell{font-weight:500;color:#1a1a1a}.date-cell{color:#333;font-family:monospace;font-size:13px}.day-cell{color:#666}.actions-cell{width:150px}.edit-btn,.delete-btn{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.edit-btn{background:#e3f2fd;border:none;color:#1565c0}.edit-btn:hover{background:#bbdefb}.delete-btn{background:#ffebee;border:none;color:#c62828}.delete-btn:hover{background:#ffcdd2}.delete-confirm{display:flex;align-items:center;gap:8px;font-size:13px}.delete-confirm span{color:#c62828;font-weight:500}.confirm-yes,.confirm-no{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.confirm-yes{background:#c62828;border:none;color:#fff}.confirm-yes:hover{background:#b71c1c}.confirm-yes:disabled{opacity:.6;cursor:not-allowed}.confirm-no{background:#e0e0e0;border:none;color:#333}.confirm-no:hover{background:#bdbdbd}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666}.spinner{width:40px;height:40px;border:3px solid #f0f0f0;border-top-color:#fe5000;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.error-icon,.empty-icon{width:48px;height:48px;margin-bottom:16px}.error-icon{color:#f44336}.empty-icon{color:#bdbdbd}.error-title,.empty-title{margin:0 0 8px;font-size:18px;font-weight:600;color:#333}.error-description,.empty-description{margin:0;font-size:14px;color:#666}.retry-button{margin-top:16px;padding:10px 20px;background:#fe5000;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.modal-overlay{position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.modal-overlay.active{opacity:1;visibility:visible}.slide-panel{position:fixed;top:0;right:0;width:400px;max-width:90vw;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0}.panel-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.panel-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:#666;cursor:pointer;transition:all .2s}.panel-close svg{width:20px;height:20px}.form-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.form-input{width:100%;padding:12px 14px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-input:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.date-preview{margin-top:8px;padding:8px 12px;background:#f5f5f5;border-radius:6px;font-size:13px;color:#666}.panel-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0}.btn-secondary{padding:10px 20px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#666;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f5f5f5;border-color:#ccc;color:#333}.btn-primary{padding:10px 20px;background:#fe5000;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.slide-panel{width:100%;max-width:100%}.holidays-table th,.holidays-table td{padding:12px}.day-cell{display:none}}.users-page{display:flex;flex-direction:column;gap:24px}.page-header{display:flex;justify-content:space-between;align-items:center}.filter-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014}.filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.filter-label{font-size:13px;font-weight:500;color:#666}.filter-select,.filter-input{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;min-width:180px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.filter-select:hover,.filter-input:hover{border-color:#bbb}.reset-button{padding:10px 20px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.reset-button:hover{background:#eee;color:#333}.reset-button svg{width:16px;height:16px}.table-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.table-count{font-size:14px;color:#666}.users-table{width:100%;border-collapse:collapse}.users-table th{background:#f8f9fa;padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e0e0e0;white-space:nowrap}.users-table td{padding:14px 16px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0}.users-table tr:hover{background:#fafafa}.users-table tr:last-child td{border-bottom:none}.user-name-cell{display:flex;align-items:center;gap:12px}.user-avatar{width:36px;height:36px;border-radius:50%;background:#e0e0e0;display:flex;align-items:center;justify-content:center;overflow:hidden}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-avatar svg{width:20px;height:20px;color:#999}.user-name{font-weight:500}.status-badge{display:inline-block;padding:4px 12px;border-radius:50px;font-size:12px;font-weight:600;text-transform:capitalize;letter-spacing:.3px}.status-active{background:#e8f5e9;color:#388e3c}.status-inactive{background:#ffebee;color:#d32f2f}.status-pending{background:#fff3e0;color:#f57c00}.role-badge{display:inline-block;padding:4px 12px;border-radius:50px;font-size:12px;font-weight:600;text-transform:capitalize;letter-spacing:.3px}.role-admin{background:#e3f2fd;color:#1976d2}.role-worker{background:#f3e5f5;color:#7b1fa2}.action-buttons{display:flex;gap:8px}.action-btn{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:none;display:flex;align-items:center;gap:4px}.action-btn svg{width:14px;height:14px}.action-btn.edit{background:#fff3e0;color:#f57c00}.action-btn.edit:hover{background:#ffe0b2}.action-btn.delete{background:#ffebee;color:#d32f2f}.action-btn.delete:hover{background:#ffcdd2}.pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid #e0e0e0}.pagination-info{font-size:14px;color:#666}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-btn{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:14px;color:#333;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn svg{width:16px;height:16px}.page-numbers{display:flex;gap:4px}.page-number{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:14px;color:#333;cursor:pointer;transition:all .2s}.page-number:hover{background:#f5f5f5}.page-number.active{background:#fe5000;border-color:#fe5000;color:#fff}.spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:#fe5000;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:14px;color:#666}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px}.empty-icon{width:64px;height:64px;color:#ccc}.empty-title{font-size:18px;font-weight:600;color:#333;margin:0}.empty-description{font-size:14px;color:#666;margin:0}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.error-icon{width:64px;height:64px;color:#d32f2f}.error-title{font-size:18px;font-weight:600;color:#333;margin:0}.error-description{font-size:14px;color:#666;margin:0}.retry-button{padding:10px 24px;background:#fe5000;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.retry-button:hover{background:#c40}.slide-panel-overlay{position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.slide-panel-overlay.active{opacity:1;visibility:visible}.slide-panel{position:fixed;top:0;right:0;width:50%;max-width:600px;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.slide-panel.active{transform:translate(0)}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.panel-header h2{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.panel-close{width:36px;height:36px;border:none;background:#f5f5f5;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.panel-close:hover{background:#e0e0e0}.panel-close svg{width:20px;height:20px;color:#666}.panel-body{padding:24px;overflow-y:auto;flex:1}.panel-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0;background:#fafafa}.document-item{margin-bottom:20px}.document-item:last-child{margin-bottom:0}.document-preview{display:flex;flex-direction:column;gap:8px;margin-top:8px}.document-preview img{width:100%;max-height:200px;object-fit:contain;border-radius:8px;border:1px solid #e0e0e0;background:#fff}.document-link{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#e3f2fd;color:#1976d2;border:none;border-radius:6px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s;width:fit-content}.document-link:hover{background:#bbdefb}.pdf-preview{display:flex;align-items:center;gap:12px;padding:16px;background:#fff3e0;border-radius:8px;border:1px solid #ffcc80}.pdf-preview svg{width:32px;height:32px;color:#f57c00}.pdf-preview span{font-size:14px;font-weight:500;color:#c40}.no-document{display:flex;align-items:center;gap:12px;padding:16px;background:#f5f5f5;border-radius:8px;border:1px dashed #ccc;margin-top:8px}.no-document svg{width:24px;height:24px;color:#999}.no-document span{font-size:13px;color:#999}.details-section{background:#f8f9fa;border-radius:12px;padding:20px;border:1px solid #e8e8e8;margin-bottom:16px}.details-section:last-child{margin-bottom:0}.section-title{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:15px;font-weight:600;color:#333}.section-title svg{width:20px;height:20px;color:#fe5000}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:13px;font-weight:500;color:#666;margin-bottom:6px}.form-input,.form-select{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.form-input:disabled,.form-select:disabled{background:#f5f5f5;cursor:not-allowed;color:#999}.form-input.readonly{background:#f8f9fa;cursor:default}.btn-primary{padding:10px 24px;background:#fe5000;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff6b004d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{padding:10px 24px;background:#fff;color:#666;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f5f5f5;color:#333}.btn-danger{padding:10px 24px;background:#d32f2f;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-danger:hover:not(:disabled){background:#b71c1c}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.delete-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1100;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.delete-modal-overlay.active{opacity:1;visibility:visible}.delete-modal{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;text-align:center}.delete-modal-icon{width:64px;height:64px;color:#d32f2f;margin-bottom:16px}.delete-modal h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#333}.delete-modal p{margin:0 0 24px;font-size:14px;color:#666}.delete-modal-buttons{display:flex;gap:12px;justify-content:center}@media(max-width:1200px){.users-table{display:block;overflow-x:auto}}@media(max-width:768px){.filter-row{flex-direction:column}.filter-group,.filter-select,.filter-input{width:100%}.pagination{flex-direction:column;gap:16px}.page-title{font-size:24px}.slide-panel{width:100%;max-width:100%}.panel-header{padding:16px 20px}.panel-body{padding:16px}.panel-footer{padding:12px 16px;flex-direction:column}.panel-footer button{width:100%}.delete-modal-buttons{flex-direction:column}.delete-modal-buttons button{width:100%}}.user-account-tabs{display:flex;gap:0;border-bottom:2px solid #e5e7eb;margin-bottom:24px}.ua-tab{padding:10px 24px;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:14px;font-weight:500;color:#6b7280;transition:color .15s,border-color .15s}.ua-tab:hover{color:#111827}.ua-tab.active{color:#ef4444;border-bottom-color:#ef4444}.roles-management{padding-bottom:48px}.roles-readonly-note{font-size:13px;color:#9ca3af;font-style:italic}.roles-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:13px}.retry-btn{padding:4px 12px;font-size:12px;background:#fff;border:1px solid #b91c1c;border-radius:6px;color:#b91c1c;cursor:pointer;white-space:nowrap}.retry-btn:hover{background:#fef2f2}.roles-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:13px}.roles-loading{display:flex;align-items:center;gap:12px;padding:48px;color:#6b7280;font-size:14px}.roles-matrix-wrapper{overflow:auto;max-height:calc(100vh - 220px);border:1px solid #e5e7eb;border-radius:8px;margin-bottom:0}.roles-matrix-table{width:100%;border-collapse:collapse;font-size:15px;min-width:600px}.roles-matrix-table thead tr{background:#f9fafb}.roles-matrix-table th{padding:14px 16px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;white-space:nowrap;font-size:15px;position:sticky;top:0;z-index:10;background:#f9fafb}.roles-matrix-table td{padding:8px 16px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.module-col{min-width:200px}.action-col{min-width:90px;color:#6b7280}.role-col{min-width:120px;text-align:center}.role-col.master-col{background:#fef9c3}.module-name-cell{font-weight:600;font-size:15px;color:#111827;vertical-align:top;padding-top:14px;border-right:1px solid #e5e7eb}.module-first-row td,.module-first-row th{border-top:2px solid #e5e7eb}.module-row-even td{background-color:#fff}.module-row-odd td{background-color:#f8f9fb}.module-row-even .master-cell,.module-row-odd .master-cell{background-color:#fefce8}.action-label-cell{color:#4b5563;font-size:14px;text-transform:capitalize}.perm-cell{text-align:center}.master-cell{background:#fefce8}.perm-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#ef4444}.perm-checkbox:disabled{cursor:default;opacity:.7}.roles-save-bar{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:14px 20px;background:#fff;border-top:1px solid #e5e7eb;border-radius:0 0 8px 8px;box-shadow:0 -2px 8px #0000000f;margin-top:-1px}.roles-save-bar-hint{font-size:14px;color:#9ca3af}.roles-save-bar-hint.has-changes{color:#f59e0b;font-weight:500}.roles-save-btn{font-size:15px;padding:9px 28px;min-width:140px}.roles-save-btn:disabled{background:#d1d5db!important;color:#9ca3af!important;cursor:not-allowed;border-color:#d1d5db!important}.roles-user-assignment{margin-top:8px}.roles-assignment-header{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:16px}.section-title-roles{font-size:18px;font-weight:600;color:#111827;margin-bottom:4px}.roles-assignment-note{font-size:14px;color:#6b7280;margin-bottom:0}.roles-user-search{padding:8px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#374151;background:#fff;min-width:280px;outline:none;transition:border-color .15s}.roles-user-search:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.roles-users-table-wrapper{border:1px solid #e5e7eb;border-radius:10px;overflow-x:auto}.roles-users-table th:last-child,.roles-users-table td:last-child{position:sticky;right:0;width:240px;min-width:240px;max-width:240px;background:#fff;box-shadow:-2px 0 6px #0000000f;white-space:nowrap}.roles-users-table thead th:last-child{background:#f9fafb}.roles-users-table tbody tr:hover td:last-child{background:#f9fafb}.roles-users-table{width:100%;border-collapse:collapse;font-size:15px}.roles-users-table th{padding:13px 18px;background:#f9fafb;font-weight:600;color:#374151;text-align:left;border-bottom:2px solid #e5e7eb;font-size:15px}.roles-users-table td{padding:13px 18px;border-bottom:1px solid #e5e7eb;color:#111827;font-size:15px}.roles-users-table tbody tr:hover{background:#f9fafb}.roles-users-table tr:last-child td{border-bottom:none}.role-badge-rbac{display:inline-block;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:500}.role-badge-rbac.role-master{background:#fef9c3;color:#854d0e}.role-badge-rbac.role-super_admin{background:#ede9fe;color:#5b21b6}.role-badge-rbac.role-payroll_admin{background:#dbeafe;color:#1d4ed8}.role-badge-rbac.role-admin{background:#dcfce7;color:#15803d}.role-badge-rbac.role-viewer{background:#f3f4f6;color:#6b7280}.role-badge-rbac.role-none{background:#fef2f2;color:#b91c1c}.role-assign-select{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#374151;background:#fff;cursor:pointer;min-width:170px}.role-assign-select:disabled{opacity:.6;cursor:not-allowed}.roles-assignment-header-top{display:flex;align-items:center;justify-content:space-between;width:100%}.create-admin-btn{font-size:14px;padding:8px 18px;white-space:nowrap}.reset-password-btn{padding:5px 12px;font-size:13px;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;transition:border-color .15s,color .15s;white-space:nowrap}.reset-password-btn:hover{border-color:#ef4444;color:#ef4444}.admin-modal-overlay{position:fixed;inset:0;background:#00000073;z-index:200;display:flex;align-items:center;justify-content:center}.admin-modal{background:#fff;border-radius:12px;padding:28px 32px;width:100%;max-width:440px;box-shadow:0 8px 30px #0000002e}.admin-modal-title{font-size:18px;font-weight:700;color:#111827;margin:0 0 16px}.admin-modal-subtitle{font-size:14px;color:#6b7280;margin:-8px 0 16px}.admin-modal-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:8px 12px;border-radius:6px;margin-bottom:14px;font-size:13px}.admin-modal-field{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.admin-modal-field label{font-size:13px;font-weight:500;color:#374151}.admin-modal-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#111827;background:#fff;outline:none;width:100%;box-sizing:border-box;transition:border-color .15s}.admin-modal-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.admin-modal-password-wrap{position:relative;display:flex;align-items:center}.admin-modal-password-wrap .admin-modal-input{padding-right:60px}.password-toggle-btn{position:absolute;right:10px;background:none;border:none;cursor:pointer;font-size:12px;color:#6b7280;padding:0;font-weight:500}.password-toggle-btn:hover{color:#374151}.admin-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.system-logs-page{display:flex;flex-direction:column;gap:24px}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.page-header-text{display:flex;flex-direction:column;gap:4px}.page-title{margin:0;font-size:28px;font-weight:600;color:#1a1a1a}.page-subtitle{margin:0;font-size:14px;color:#666}.record-count-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#fff3e8;color:#c40;border-radius:999px;font-size:13px;font-weight:600}.filter-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px 24px;display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:180px}.filter-group.grow{flex:1;min-width:220px}.filter-label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.filter-select,.filter-input{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.filter-select:focus,.filter-input:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #ff6b001a}.clear-filters-btn{padding:10px 16px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;color:#666;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;height:40px}.clear-filters-btn:hover{background:#f5f5f5;color:#333;border-color:#ccc}.logs-table-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0}.table-title{font-size:16px;font-weight:600;color:#333}.table-count{font-size:13px;color:#666}.table-wrapper{overflow-x:auto}.logs-table{width:100%;border-collapse:collapse}.logs-table th{background:#f8f9fa;padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e0e0e0;white-space:nowrap}.logs-table td{padding:14px 16px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0;vertical-align:middle}.logs-table tbody tr{cursor:pointer;transition:background .15s}.logs-table tbody tr:hover{background:#fafafa}.logs-table tbody tr.selected{background:#fff3e8}.logs-table tr:last-child td{border-bottom:none}.cell-timestamp{color:#666;font-size:13px;white-space:nowrap}.cell-entity{font-weight:500;color:#1a1a1a}.cell-record-id{font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;color:#888;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-changed-fields{color:#555;font-size:13px}.cell-edited-item{color:#555;font-size:13px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-actor{color:#333;font-size:13px}.actor-system{color:#bbb;font-style:italic}.view-btn{padding:6px 14px;border-radius:6px;font-size:12px;font-weight:500;background:#e3f2fd;border:none;color:#1565c0;cursor:pointer;transition:all .2s}.view-btn:hover{background:#bbdefb}.action-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.action-badge.insert{background:#e8f5e9;color:#2e7d32}.action-badge.update{background:#e3f2fd;color:#1565c0}.action-badge.delete{background:#ffebee;color:#c62828}.pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-top:1px solid #e0e0e0;background:#fafafa}.pagination-info{font-size:13px;color:#666}.pagination-buttons{display:flex;gap:8px;align-items:center}.page-size-label{display:flex;align-items:center;gap:6px;font-size:13px;color:#666;margin-right:8px}.page-size-select{padding:5px 10px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:13px;color:#333;cursor:pointer}.page-indicator{font-size:13px;color:#666;padding:0 6px;min-width:90px;text-align:center}.page-btn{padding:6px 14px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;color:#333;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.page-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.page-btn:disabled{opacity:.4;cursor:not-allowed}.loading-row,.empty-row{text-align:center;padding:48px 20px!important;color:#999;font-size:14px}.error-banner{padding:12px 20px;background:#ffebee;color:#c62828;font-size:13px;border-bottom:1px solid #ffcdd2}.logs-overlay{position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.logs-overlay.active{opacity:1;visibility:visible}.logs-slide-panel{position:fixed;top:0;right:0;width:640px;max-width:95vw;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.logs-slide-panel.active{transform:translate(0)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #e0e0e0}.panel-title{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.panel-subtitle{margin:2px 0 0;font-size:12px;color:#888;font-family:SF Mono,Menlo,Consolas,monospace}.panel-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:#666;font-size:24px;line-height:1;cursor:pointer;transition:all .2s}.panel-close:hover{background:#f0f0f0;color:#333}.panel-body{flex:1;padding:24px;overflow-y:auto}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;padding:16px 20px;background:#fafafa;border-radius:10px;margin-bottom:24px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item.full{grid-column:1 / -1}.detail-label{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.4px}.detail-value{font-size:14px;color:#1a1a1a;word-break:break-word}.detail-value.mono{font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;color:#555}.detail-changed-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.field-chip{display:inline-flex;padding:3px 10px;background:#fff3e8;color:#c40;border-radius:999px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;font-weight:500}.section-label{font-size:11px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.diff-container{border:1px solid #e0e0e0;border-radius:10px;overflow:hidden}.diff-header{display:grid;grid-template-columns:180px 1fr 1fr;background:#f8f9fa;padding:10px 14px;font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid #e0e0e0}.diff-row{display:grid;grid-template-columns:180px 1fr 1fr;border-bottom:1px solid #f0f0f0}.diff-row:last-child{border-bottom:none}.diff-field{padding:10px 14px;font-size:13px;font-weight:500;color:#555;font-family:SF Mono,Menlo,Consolas,monospace;background:#fafafa;word-break:break-word}.diff-old,.diff-new{padding:10px 14px;font-size:13px;font-family:SF Mono,Menlo,Consolas,monospace;word-break:break-word;white-space:pre-wrap}.diff-old{background:#fff5f5;color:#9a2e2e;border-left:3px solid #f5b5b5}.diff-new{background:#f1fbf2;color:#1f5f24;border-left:3px solid #a5d6a7}.diff-single-row{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #f0f0f0}.diff-single-row:last-child{border-bottom:none}.diff-value{padding:10px 14px;font-size:13px;font-family:SF Mono,Menlo,Consolas,monospace;word-break:break-word;white-space:pre-wrap}.diff-value.insert{background:#f1fbf2;color:#1f5f24;border-left:3px solid #a5d6a7}.diff-value.delete{background:#fff5f5;color:#9a2e2e;border-left:3px solid #f5b5b5}.diff-object-cell{display:flex;flex-direction:column;gap:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.diff-object-row{display:flex;gap:8px;align-items:flex-start;padding:2px 6px;border-radius:4px;font-size:13px;line-height:1.4}.diff-object-row.changed{background:#ffcd002e;font-weight:600}.diff-object-key{color:#666;font-weight:500;flex-shrink:0;min-width:110px}.diff-object-row.changed .diff-object-key{color:inherit}.diff-object-val{color:inherit;word-break:break-word;flex:1}.diff-muted{color:#bbb;font-style:italic}.diff-expand-btn{display:inline-block;margin-left:6px;padding:0;background:none;border:none;color:#1565c0;font-size:11px;cursor:pointer;text-decoration:underline}.diff-toggle-unchanged{margin-top:12px;padding:8px 14px;background:#f5f5f5;border:1px dashed #d0d0d0;border-radius:8px;color:#666;font-size:12px;font-weight:500;cursor:pointer;width:100%;text-align:left}.diff-toggle-unchanged:hover{background:#eee;color:#333}.diff-unchanged-section{margin-top:8px;opacity:.65}.diff-empty-note{color:#888;font-size:13px;font-style:italic;padding:12px 4px}@media(max-width:900px){.filter-card{flex-direction:column;align-items:stretch}.filter-group{min-width:0}.detail-meta{grid-template-columns:1fr}.diff-header,.diff-row{grid-template-columns:120px 1fr 1fr}.diff-single-row{grid-template-columns:120px 1fr}}.business-preferences-page{padding:24px;max-width:1400px}.page-header{margin-bottom:32px}.page-title{font-size:28px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.page-subtitle{font-size:14px;color:#666;margin:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #FE5000;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{color:#666;font-size:14px}.error-container{text-align:center;padding:40px 20px}.error-container .error-message{color:#d32f2f;margin-bottom:16px}.retry-btn{background:#fe5000;color:#fff;border:none;padding:10px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.retry-btn:hover{background:#c40}.config-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:24px;align-items:start}.config-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.config-card-header{background:#fe5000;padding:16px 24px}.config-card-header h2{color:#fff;font-size:18px;font-weight:600;margin:0}.config-card-body{padding:24px}.config-item{display:flex;flex-direction:column;gap:12px}.config-label-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.config-label-row label{font-size:14px;font-weight:600;color:#333}.last-updated{font-size:12px;color:#888}.config-input-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.currency-prefix{font-size:18px;font-weight:600;color:#333}.currency-suffix{font-size:14px;color:#666}.config-input{width:120px;padding:12px 16px;font-size:18px;font-weight:600;border:2px solid #e0e0e0;border-radius:8px;outline:none;transition:border-color .2s}.config-input:focus{border-color:#fe5000}.save-btn{background:#fe5000;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.save-btn:hover:not(:disabled){background:#c40;transform:translateY(-1px)}.save-btn:disabled{background:#ccc;cursor:not-allowed}.success-msg{color:#4caf50;font-size:14px;font-weight:600;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.config-description{font-size:13px;color:#666;line-height:1.5;margin:0;padding-top:8px;border-top:1px solid #f0f0f0}.info-section{margin-top:20px;border-top:1px solid #e9ecef;background:#f8f9fa;border-radius:8px;padding:16px}.info-section h4{font-size:14px;font-weight:600;color:#333;margin:0 0 12px}.priority-list{margin:0;padding-left:24px}.priority-list li{font-size:14px;color:#555;line-height:1.8}.priority-list li strong{color:#333}.tier-info-list{margin:0;padding-left:24px;list-style-type:disc}.tier-info-list li{font-size:14px;color:#555;line-height:1.8}.tier-info-list li strong{color:#333}.info-note{margin:16px 0 0;padding:12px 16px;background:#fff3e0;border-radius:8px;border-left:4px solid #FE5000;font-size:13px;color:#555;line-height:1.6}.info-note strong{color:#333}.hr-email-form{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.hr-email-input{flex:1;min-width:200px;font-size:14px;font-weight:400}.hr-name-input{width:150px;font-size:14px;font-weight:400}.hr-email-list{display:flex;flex-direction:column;gap:8px}.hr-email-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.hr-email-info{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hr-email-address{font-weight:500;color:#333;font-size:14px}.hr-email-name{color:#666;font-size:13px}.delete-btn{background:#fff;color:#d32f2f;border:1px solid #d32f2f;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}.delete-btn:hover:not(:disabled){background:#d32f2f;color:#fff}.delete-btn:disabled{opacity:.5;cursor:not-allowed}.hr-email-actions{display:flex;gap:8px}.edit-btn{background:#fff;color:#1976d2;border:1px solid #1976d2;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}.edit-btn:hover:not(:disabled){background:#1976d2;color:#fff}.edit-btn:disabled{opacity:.5;cursor:not-allowed;border-color:#9ca3af;color:#9ca3af}.cancel-btn{background:#fff;color:#666;border:1px solid #ccc;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}.cancel-btn:hover:not(:disabled){background:#f5f5f5;border-color:#999}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.hr-email-edit-form{display:flex;gap:8px;flex-wrap:wrap;width:100%;align-items:center}.no-emails{color:#888;font-style:italic;text-align:center;padding:24px 16px;background:#f8f9fa;border-radius:8px;font-size:14px}.hr-loading{color:#666;text-align:center;padding:16px;font-size:14px}@media(max-width:950px){.config-section{grid-template-columns:1fr}}@media(max-width:600px){.business-preferences-page{padding:16px}.config-section{grid-template-columns:1fr}.config-input-group{flex-direction:column;align-items:stretch}.config-input,.save-btn{width:100%}.hr-email-form{flex-direction:column}.hr-email-input,.hr-name-input{width:100%}.hr-email-item{flex-direction:column;align-items:flex-start;gap:12px}.hr-email-actions{width:100%}.edit-btn,.delete-btn{flex:1}.hr-email-edit-form{flex-direction:column}.hr-email-edit-form .config-input,.hr-email-edit-form button{width:100%}}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;border-radius:26px;transition:.3s}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background-color:#fe5000}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.app-versions-page{padding:24px;max-width:1100px;margin:0 auto}.app-versions-header h1{margin:0 0 8px;font-size:24px;font-weight:600;color:#1f2937}.app-versions-subtitle{margin:0 0 8px;color:#4b5563;line-height:1.5;font-size:14px}.app-versions-updated{margin:0 0 16px;font-size:12px;color:#6b7280}.app-versions-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:14px}.app-versions-loading{text-align:center;padding:40px;color:#6b7280}.app-versions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px}.app-versions-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:18px 20px;display:flex;flex-direction:column}.app-versions-card h2{margin:0 0 6px;font-size:16px;font-weight:600;color:#1f2937}.app-versions-hint{margin:0 0 14px;color:#6b7280;font-size:12px;line-height:1.4}.app-versions-label{display:block;margin:8px 0 4px;font-size:12px;font-weight:500;color:#374151}.app-versions-input,.app-versions-textarea{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;box-sizing:border-box}.app-versions-input:focus,.app-versions-textarea:focus{outline:none;border-color:#fe5000;box-shadow:0 0 0 3px #fe500026}.app-versions-input:disabled,.app-versions-textarea:disabled{background:#f9fafb;color:#6b7280}.app-versions-textarea{resize:vertical;min-height:48px}.app-versions-actions{display:flex;align-items:center;gap:12px;margin-top:14px}.app-versions-save{background:#fe5000;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.app-versions-save:hover:not(:disabled){background:#e04600}.app-versions-save:disabled{background:#d1d5db;cursor:not-allowed}.app-versions-saved{color:#15803d;font-size:13px;font-weight:500}.profile-page{max-width:800px;margin:0 auto;padding:24px}.profile-page h1{font-size:28px;font-weight:600;color:#1f2937;margin-bottom:24px}.profile-section{background:#fff;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.profile-section h2{font-size:18px;font-weight:600;color:#374151;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #e5e7eb}.profile-field{display:flex;align-items:center;margin-bottom:16px;min-height:40px}.profile-field label{width:150px;font-weight:600;color:#374151;flex-shrink:0}.admin-level-card{margin-bottom:16px;padding:16px;background:#fafafa;border-radius:8px;border:1px solid #e5e7eb}.admin-level-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.admin-level-header label{font-weight:600;color:#374151;margin:0}.admin-level-description{padding:14px 16px;background:#fff;border-left:3px solid #FE5000;border-radius:6px;font-size:13px;line-height:1.7;color:#4b5563;box-shadow:0 1px 2px #0000000d}.profile-value{color:#6b7280;font-size:15px}.profile-input{flex:1;padding:10px 14px;font-size:15px;border:2px solid #e0e0e0;border-radius:6px;outline:none;transition:all .2s}.profile-input:focus{border-color:#fe5000;box-shadow:0 0 0 3px #fe50001a}.profile-input.error{border-color:#ef4444}.error-message{color:#ef4444;font-size:14px;margin-top:4px;margin-left:150px}.profile-actions{display:flex;gap:12px;margin-top:20px}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;color:#374151;margin-bottom:8px}.form-group .profile-input{width:100%;max-width:400px}.form-group .error-message{margin-left:0}.btn{padding:10px 24px;font-size:15px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#fe5000;color:#fff}.btn-primary:hover:not(:disabled){background:#e04800;transform:translateY(-1px)}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover:not(:disabled){background:#d1d5db}.badge{display:inline-block;padding:4px 12px;font-size:13px;font-weight:600;border-radius:12px;text-transform:capitalize}.badge-standard{background:#dbeafe;color:#1e40af}.badge-super_admin{background:#fef3c7;color:#92400e}.badge-rbac-master{background:#ede9fe;color:#5b21b6}.badge-rbac-super_admin{background:#fef3c7;color:#92400e}.badge-rbac-payroll_admin{background:#d1fae5;color:#065f46}.badge-rbac-admin{background:#dbeafe;color:#1e40af}.badge-rbac-viewer{background:#f3f4f6;color:#4b5563}.status-badge{display:inline-block;padding:4px 12px;font-size:13px;font-weight:600;border-radius:12px;text-transform:capitalize}.status-active{background:#d1fae5;color:#065f46}.status-inactive{background:#fee2e2;color:#991b1b}.status-suspended{background:#fef3c7;color:#92400e}.roles-container{display:flex;gap:8px;flex-wrap:wrap}.role-badge{display:inline-block;padding:4px 12px;font-size:13px;font-weight:600;border-radius:12px;background:#f3f4f6;color:#4b5563;text-transform:capitalize}@media(max-width:768px){.profile-page,.profile-section{padding:16px}.profile-field{flex-direction:column;align-items:flex-start}.profile-field label{width:100%;margin-bottom:8px}.admin-level-card{padding:12px}.admin-level-header{flex-direction:column;align-items:flex-start;gap:8px}.admin-level-description{font-size:12px;padding:12px}.error-message{margin-left:0}.profile-input{width:100%}.form-group .profile-input{max-width:100%}.profile-actions{flex-direction:column}.btn{width:100%}}.reports-page{padding:24px;max-width:1200px}.reports-page h1{font-size:24px;font-weight:600;color:#111827;margin:0 0 24px}.report-selector{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.report-selector-btn{padding:10px 20px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;font-weight:500;color:#374151;transition:all .15s;text-align:left}.report-selector-btn:hover{border-color:#6366f1;color:#6366f1}.report-selector-btn.active{border-color:#6366f1;background:#eef2ff;color:#4f46e5}.report-selector-btn .report-btn-name{display:block;font-weight:600}.report-selector-btn .report-btn-desc{display:block;font-size:12px;color:#6b7280;margin-top:2px}.report-selector-btn.active .report-btn-desc{color:#6366f1}.report-filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:24px}.report-generate-btn{padding:8px 20px;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;height:38px}.report-generate-btn:hover{background:#4338ca}.report-generate-btn:disabled{background:#a5b4fc;cursor:not-allowed}.report-results{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.report-results-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.report-results-header h2{font-size:15px;font-weight:600;color:#111827;margin:0}.report-results-meta{font-size:13px;color:#6b7280}.report-export-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.report-export-btn:hover{background:#f3f4f6}.report-export-btn:disabled{opacity:.5;cursor:not-allowed}.report-preview-label{padding:8px 16px;font-size:12px;color:#6b7280;background:#fffbeb;border-bottom:1px solid #fde68a}.report-table-wrap{overflow-x:auto}.report-table{width:100%;border-collapse:collapse;font-size:14px}.report-table th{padding:10px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb;white-space:nowrap}.report-table td{padding:11px 16px;color:#111827;border-bottom:1px solid #f3f4f6}.report-table tbody tr:last-child td{border-bottom:none}.report-table tbody tr:hover td{background:#f9fafb}.report-table td.numeric{font-variant-numeric:tabular-nums;font-weight:500}.report-empty{padding:48px 24px;text-align:center;color:#6b7280;font-size:14px}.report-error{padding:16px 20px;color:#dc2626;background:#fef2f2;border-radius:6px;font-size:14px;margin-bottom:16px}#root{width:100%;min-height:100%}
