@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";*,*:before,*:after{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#f5f7fa,#e9ecef);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}a{text-decoration:none;color:inherit}h1{font-size:28px;font-weight:700;margin:0 0 8px;color:#111827}h2{font-size:22px;font-weight:600;margin:0 0 8px;color:#111827}h3{font-size:18px;font-weight:600;margin:0 0 8px;color:#111827}h4{font-size:16px;font-weight:600;margin:0 0 4px;color:#111827}button{background:none;border:none;padding:0;margin:0;font-family:inherit;font-size:inherit;cursor:pointer;outline:none}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:260px;padding:24px 32px;transition:margin-left .3s ease}@media (max-width: 768px){.main-content{margin-left:0}}.sidebar{width:260px;background:linear-gradient(180deg,#1a1f2e,#111827);color:#fff;position:fixed;top:0;left:0;height:100vh;display:flex;flex-direction:column;z-index:100;transition:transform .3s ease;border-right:1px solid rgba(255,255,255,.1);box-shadow:4px 0 24px #00000026}.sidebar-logo{padding:20px 16px;border-bottom:1px solid #374151;display:flex;align-items:center;justify-content:center}.sidebar-logo-img{width:200px;height:auto;object-fit:contain}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;color:#9ca3af;font-size:15px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;position:relative;font-weight:500}.nav-item:hover{background:#ffffff14;color:#fff;transform:translate(4px)}.nav-item-active,.nav-item.active{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 12px #6366f166;transform:translate(4px)}.nav-icon{width:20px;height:20px}.nav-badge{position:absolute;right:12px;background-color:#dc2626;color:#fff;font-size:11px;padding:2px 8px;border-radius:12px;font-weight:600}.sidebar-footer{padding:16px;border-top:1px solid #374151}.top-header{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB;margin-left:260px;position:sticky;top:0;z-index:50}.header-left{display:flex;align-items:center;gap:16px}.header-search{display:flex;align-items:center;background-color:#f3f4f6;border-radius:8px;padding:8px 16px;gap:8px;min-width:300px}.header-search input{border:none;background:transparent;outline:none;font-size:14px;width:100%;font-family:inherit}.header-actions{display:flex;align-items:center;gap:20px}.notification-bell{position:relative;cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s}.notification-bell:hover{background-color:#f3f4f6}.notification-bell .badge{position:absolute;top:2px;right:2px;background-color:#dc2626;color:#fff;font-size:10px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.user-info{display:flex;align-items:center;gap:12px;cursor:pointer}.user-avatar{width:36px;height:36px;border-radius:50%;background-color:#4f46e5;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.user-name{font-weight:500;font-size:14px}.role-badge{font-size:11px;padding:2px 10px;border-radius:12px;background-color:#eef2ff;color:#4f46e5;font-weight:600;text-transform:capitalize}@media (max-width: 768px){.top-header{margin-left:0}.header-search{display:none}}.login-page{min-height:100vh;display:flex}.login-brand-panel{flex:1;background:linear-gradient(160deg,#4f46e5,#3730a3,#1e1b4b);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px;position:relative;overflow:hidden}.login-brand-content{position:relative;z-index:2;max-width:420px}.login-brand-logo{height:48px;margin-bottom:40px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}.login-brand-title{font-size:40px;font-weight:800;color:#fff;line-height:1.15;margin:0 0 12px;letter-spacing:-.5px}.login-brand-subtitle{font-size:17px;color:#ffffffb3;margin:0 0 48px;font-weight:400}.login-brand-features{display:flex;flex-direction:column;gap:18px}.login-brand-feature{display:flex;align-items:center;gap:14px;color:#ffffffd9;font-size:15px;font-weight:500}.login-brand-feature-dot{width:8px;height:8px;border-radius:50%;background:#ffffff80;flex-shrink:0}.login-brand-decoration{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.login-brand-circle{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08)}.login-brand-circle-1{width:500px;height:500px;top:-120px;right:-180px}.login-brand-circle-2{width:350px;height:350px;bottom:-80px;left:-100px}.login-brand-circle-3{width:200px;height:200px;bottom:80px;right:40px;background:#ffffff08}.login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 40px;background:#fff}.login-form-container{width:100%;max-width:400px}.login-form-header{margin-bottom:36px}.login-form-header h2{font-size:28px;font-weight:700;color:#111827;margin:0 0 8px}.login-form-header p{font-size:15px;color:#6b7280;margin:0}.login-input-wrapper{position:relative}.login-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.login-input-with-icon{padding-left:42px!important}.login-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.login-label-row .form-label{margin-bottom:0}.login-forgot-link{background:none;border:none;color:#6366f1;font-size:13px;font-weight:500;cursor:pointer;padding:0;font-family:inherit;transition:color .2s}.login-forgot-link:hover{color:#4338ca}.login-submit-btn{width:100%;padding:14px 24px;margin-top:8px;border:none;border-radius:12px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 14px #6366f159;position:relative;overflow:hidden}.login-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#3730a3);box-shadow:0 6px 22px #6366f173;transform:translateY(-1px)}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.login-spinner{width:22px;height:22px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:login-spin .7s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.login-page{flex-direction:column}.login-brand-panel{padding:40px 32px;min-height:auto}.login-brand-title{font-size:28px}.login-brand-features{display:none}.login-form-panel{padding:40px 24px}}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}.form-required{color:#dc2626;margin-left:2px}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;border:2px solid #E5E7EB;border-radius:10px;font-size:14px;color:#111827;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;font-family:inherit;background:#fff}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 4px #6366f11a,0 4px 12px #6366f126;transform:translateY(-2px)}.form-textarea{min-height:100px;resize:vertical}.form-checkbox-group{display:flex;align-items:center;gap:8px}.form-checkbox{width:18px;height:18px;accent-color:#4F46E5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.form-section-title{font-size:18px;font-weight:700;color:#111827;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #E5E7EB}.billing-copy-toggle{margin-bottom:16px;padding:10px 14px;background:#eef2ff;border-radius:8px;border:1px solid #C7D2FE}.billing-copy-toggle .checkbox-label{padding:0;font-weight:500;color:#4338ca}.billing-checkbox{padding:10px 14px;background:#f0fdf4;border-radius:8px;border:1px solid #BBF7D0}.billing-checkbox input[type=checkbox]{width:18px;height:18px}.billing-subsection{margin-top:20px;padding:16px;background:#fffbeb;border-radius:10px;border:1px solid #FDE68A}.billing-subsection-title{font-size:15px;font-weight:600;color:#92400e;margin:0 0 4px}.billing-subsection-desc{font-size:12px;color:#a16207;margin:0 0 12px}.detail-value--yes{color:#059669;font-weight:600}.detail-value--no{color:#9ca3af}.error-message{color:#dc2626;background-color:#fef2f2;padding:12px 16px;border-radius:8px;font-size:13px;margin-bottom:16px;border:1px solid #FECACA}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s,box-shadow .2s;border:none;font-family:inherit}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 12px #6366f14d;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-primary:hover{background:linear-gradient(135deg,#4f46e5,#3730a3);box-shadow:0 6px 20px #6366f166;transform:translateY(-2px)}.btn-primary:hover:before{left:100%}.btn-secondary{background-color:#f3f4f6;color:#374151}.btn-secondary:hover{background-color:#e5e7eb}.btn-success{background-color:#059669;color:#fff}.btn-success:hover{background-color:#047857}.btn-danger{background-color:#dc2626;color:#fff}.btn-danger:hover{background-color:#b91c1c}.btn-outline{background:transparent;border:1px solid #D1D5DB;color:#374151}.btn-outline:hover{background-color:#f9fafb}.btn-lg{padding:14px 28px;font-size:16px}.btn-sm{padding:6px 14px;font-size:12px}.btn-block{width:100%;justify-content:center}.dashboard{padding:0}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dashboard-header h1{font-size:24px;font-weight:700}.welcome-text{font-size:14px;color:#6b7280;margin-top:4px}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}@media (max-width: 1024px){.kpi-row{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.kpi-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 400px){.kpi-row{grid-template-columns:1fr}}.kpi-card{position:relative;background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:20px;display:flex;align-items:center;gap:14px;box-shadow:0 1px 3px #0000000a;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.kpi-card:hover{transform:translateY(-2px);border-color:#c7d2fe;box-shadow:0 4px 12px #0000000f,0 8px 24px #0000000a}.kpi-card__accent{position:absolute;top:0;left:0;width:4px;height:100%;border-radius:14px 0 0 14px}.kpi-card__icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-card__body{display:flex;flex-direction:column;min-width:0}.kpi-card__number{font-size:28px;font-weight:800;color:#111827;line-height:1.1;letter-spacing:-.5px}.kpi-card__label{font-size:13px;font-weight:500;color:#6b7280;margin-top:3px;white-space:nowrap}.section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-view-all{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:#4f46e5;text-decoration:none;transition:gap .15s ease}.section-view-all:hover{gap:8px}.req-summary-row{display:flex;align-items:center;background:#fff;border-radius:14px;padding:18px 32px;box-shadow:0 1px 4px #0000000f;gap:32px;margin-bottom:20px}.req-summary-stat{display:flex;flex-direction:column;align-items:center;min-width:64px}.req-summary-num{font-size:26px;font-weight:800;color:#111827;line-height:1.1}.req-summary-num--pending{color:#d97706}.req-summary-num--submitted{color:#4f46e5}.req-summary-num--approved{color:#059669}.req-summary-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;margin-top:2px}.req-summary-divider{width:1px;height:36px;background:#e5e7eb}.req-service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.req-service-card{background:#fff;border-radius:14px;padding:20px;box-shadow:0 1px 4px #0000000f;border:1px solid #F3F4F6;transition:border-color .15s ease,box-shadow .15s ease}.req-service-card:hover{border-color:#e0e7ff;box-shadow:0 2px 8px #4f46e514}.req-service-card__header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.req-service-card__icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.req-service-card__title{display:flex;flex-direction:column}.req-service-card__name{font-size:14px;font-weight:700;color:#1f2937}.req-service-card__total{font-size:12px;color:#9ca3af;font-weight:500}.req-service-card__progress{display:flex;align-items:center;gap:10px;margin-bottom:14px}.req-service-card__bar{flex:1;height:6px;background:#f3f4f6;border-radius:3px;overflow:hidden}.req-service-card__bar-fill{height:100%;border-radius:3px;transition:width .4s ease;min-width:0}.req-service-card__pct{font-size:12px;font-weight:700;color:#6b7280;min-width:32px;text-align:right}.req-service-card__counts{display:flex;gap:16px}.req-service-card__count{display:flex;align-items:center;gap:5px}.req-count-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.req-count-dot--pending{background:#f59e0b}.req-count-dot--submitted{background:#6366f1}.req-count-dot--approved{background:#10b981}.req-count-dot--completed{background:#047857}.req-count-num{font-size:14px;font-weight:700;color:#374151}.req-count-label{font-size:12px;color:#9ca3af;font-weight:500}.stat-card{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;align-items:flex-start}.stat-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-number{font-size:28px;font-weight:700;color:#111827;margin-top:8px}.stat-label{font-size:13px;color:#6b7280;margin-top:2px}.table-container{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #E5E7EB}.table-header h2{font-size:18px;font-weight:600}.jobs-table{width:100%;border-collapse:collapse}.jobs-table th{text-align:left;padding:12px 24px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;background-color:#f9fafb;border-bottom:1px solid #E5E7EB}.jobs-table td{padding:16px 24px;font-size:14px;color:#374151;border-bottom:1px solid #F3F4F6}.jobs-table tr:hover{background-color:#f9fafb}.jobs-table tr:last-child td{border-bottom:none}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;gap:6px}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.create-job{max-width:900px;margin:0 auto}.stepper{display:flex;justify-content:space-between;margin-bottom:40px;position:relative}.stepper:before{content:"";position:absolute;top:20px;left:0;right:0;height:2px;background-color:#e5e7eb}.step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1;flex:1}.step-circle{width:40px;height:40px;border-radius:50%;background-color:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;transition:all .3s ease;border:3px solid white}.step-active .step-circle{background-color:#4f46e5;color:#fff;box-shadow:0 0 0 4px #4f46e533}.step-completed .step-circle{background-color:#059669;color:#fff}.step-label{margin-top:8px;font-size:12px;color:#6b7280;font-weight:500;text-align:center}.step-active .step-label{color:#4f46e5;font-weight:600}.step-completed .step-label{color:#059669}.step-form{background-color:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a}.step-actions{display:flex;justify-content:space-between;margin-top:32px;padding-top:24px;border-top:1px solid #E5E7EB}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.service-card{border:2px solid #E5E7EB;border-radius:12px;padding:24px;cursor:pointer;transition:border-color .3s,transform .3s,box-shadow .3s;position:relative;background-color:#fff}.service-card:hover{border-color:#a5b4fc;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.service-card-selected{border-color:#4f46e5;background-color:#eef2ff;box-shadow:0 0 0 3px #4f46e51a}.service-card-selected:hover{border-color:#4f46e5}.service-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.service-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.service-name{font-size:16px;font-weight:700}.service-description{font-size:13px;color:#6b7280;margin-bottom:16px}.service-check{position:absolute;top:16px;right:16px;width:24px;height:24px;border-radius:50%;border:2px solid #D1D5DB;display:flex;align-items:center;justify-content:center;transition:all .2s}.service-card-selected .service-check{background-color:#4f46e5;border-color:#4f46e5;color:#fff}.service-pricing{margin-top:16px;border-top:1px solid #E5E7EB;padding-top:16px}.pricing-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:13px}.pricing-row:not(:last-child){border-bottom:1px solid #F3F4F6}.pricing-item-name{color:#374151}.pricing-item-price{font-weight:600;color:#111827}.pricing-unit{font-size:11px;color:#6b7280;font-weight:400}.quantity-input{width:60px;padding:4px 8px;border:1px solid #D1D5DB;border-radius:6px;text-align:center;font-size:13px;font-family:inherit}.service-subtotal{display:flex;justify-content:space-between;padding:12px 0;margin-top:8px;border-top:2px solid #E5E7EB;font-weight:700;font-size:15px;color:#4f46e5}.services-total{background-color:#fff;border-radius:12px;padding:24px;margin-top:24px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;align-items:center}.services-total .total-label{font-size:18px;font-weight:600}.services-total .total-amount{font-size:28px;font-weight:800;color:#4f46e5}.dynamic-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}@media (max-width: 768px){.dynamic-form{grid-template-columns:1fr}}.dynamic-form .form-group.full-width{grid-column:1 / -1}.requirement-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:2px solid #E5E7EB;padding-bottom:0}.requirement-tab{padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;color:#6b7280;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.requirement-tab:hover{color:#4f46e5}.requirement-tab-active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:600}.pipeline-tracker{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;position:relative}.pipeline-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.pipeline-circle{width:36px;height:36px;border-radius:50%;background-color:#e5e7eb;color:#9ca3af;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;z-index:2;transition:all .3s}.pipeline-completed .pipeline-circle{background-color:#059669;color:#fff}.pipeline-active .pipeline-circle{background-color:#4f46e5;color:#fff;box-shadow:0 0 0 4px #4f46e533;animation:pulse 2s infinite}.pipeline-rejected .pipeline-circle{background-color:#dc2626;color:#fff}.pipeline-label{margin-top:8px;font-size:11px;color:#6b7280;text-align:center;font-weight:500;max-width:80px}.pipeline-completed .pipeline-label{color:#059669}.pipeline-active .pipeline-label{color:#4f46e5;font-weight:600}.pipeline-line{position:absolute;top:18px;left:50%;width:100%;height:2px;background-color:#e5e7eb}.pipeline-completed .pipeline-line{background-color:#059669}.pipeline-step:last-child .pipeline-line{display:none}@keyframes pulse{0%{box-shadow:0 0 #4f46e566}70%{box-shadow:0 0 0 10px #4f46e500}to{box-shadow:0 0 #4f46e500}}.job-detail{max-width:900px;margin:0 auto}.job-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.job-id{font-size:14px;color:#6b7280;font-weight:500}.detail-section{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px}.detail-section h3{font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #E5E7EB}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px}@media (max-width: 768px){.detail-grid{grid-template-columns:1fr}}.detail-item{display:flex;flex-direction:column}.detail-item-label{font-size:12px;color:#6b7280;font-weight:500;margin-bottom:2px}.detail-item-value{font-size:14px;color:#111827;font-weight:500}.action-buttons{display:flex;gap:12px;flex-wrap:wrap}.review-section{margin-bottom:24px}.review-section h3{font-size:16px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}.review-item{display:flex;flex-direction:column;padding:8px 0}.review-item-label{font-size:12px;color:#6b7280;font-weight:500}.review-item-value{font-size:14px;color:#111827;margin-top:2px}.review-services{border:1px solid #E5E7EB;border-radius:8px;overflow:hidden}.review-service-header{background-color:#f9fafb;padding:12px 16px;font-weight:600;font-size:14px;display:flex;justify-content:space-between}.review-service-items{padding:8px 16px}.review-service-item{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:1px solid #F3F4F6}.review-total{display:flex;justify-content:space-between;padding:16px;background-color:#eef2ff;font-weight:700;font-size:16px;color:#4f46e5}.notifications-page{max-width:700px;margin:0 auto}.notifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.notification-item{background-color:#fff;border-radius:10px;padding:16px 20px;margin-bottom:8px;box-shadow:0 1px 2px #0000000d;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s}.notification-unread{border-left:3px solid #4F46E5}.notification-read{opacity:.6}.notification-content{flex:1}.notification-message{font-size:14px;color:#111827}.notification-meta{font-size:12px;color:#6b7280;margin-top:4px;display:flex;gap:12px}.notification-actions{display:flex;gap:8px}.admin-panel{padding:0}.admin-section{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.admin-section h2{font-size:18px;font-weight:600;margin-bottom:16px}.user-table{width:100%;border-collapse:collapse}.user-table th{text-align:left;padding:10px 16px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;background-color:#f9fafb}.user-table td{padding:12px 16px;font-size:14px;border-bottom:1px solid #F3F4F6}.filter-bar select,.filter-bar input{padding:8px 14px;border:1px solid #D1D5DB;border-radius:8px;font-size:13px;font-family:inherit}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:#6b7280}.text-primary{color:#4f46e5}.text-success{color:#059669}.text-danger{color:#dc2626}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap-1{gap:8px}.gap-2{gap:16px}.hidden{display:none}.card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;border:1px solid rgba(0,0,0,.05);transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{transform:translateY(-2px);box-shadow:0 12px 24px -4px #00000014,0 8px 12px -4px #0000000a}.empty-state{text-align:center;padding:60px 24px}.empty-state-icon{margin:0 auto 16px;width:64px;height:64px;background-color:#f3f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#9ca3af}.empty-state h3{font-size:18px;color:#374151;margin-bottom:8px}.empty-state p{font-size:14px;color:#6b7280}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.mobile-toggle{display:none;padding:8px;cursor:pointer}@media (max-width: 768px){.mobile-toggle{display:flex}}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.sidebar-overlay.active{display:block}.page-content{padding:24px 0;flex:1;overflow-y:auto;overflow-x:hidden}.page-title{font-size:24px;font-weight:700;color:#111827;margin:0 0 4px}.create-job-header{margin-bottom:8px}.create-job-body{background-color:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a;max-height:calc(100vh - 260px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#D1D5DB #F3F4F6}.create-job-body::-webkit-scrollbar{width:8px}.create-job-body::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.create-job-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.create-job-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}.create-job-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:0}.footer-left,.footer-right{display:flex;gap:12px}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none;font-family:inherit}.btn-submit{padding:12px 32px;font-size:15px;background:linear-gradient(135deg,#4f46e5,#3730a3);box-shadow:0 4px 12px #4f46e54d}.btn-submit:hover{box-shadow:0 6px 20px #4f46e566;transform:translateY(-1px)}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}@media (max-width: 768px){.form-row-3{grid-template-columns:1fr}}.form-group-full{grid-column:1 / -1}.form-row-wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}@media (max-width: 768px){.form-row-wrap{grid-template-columns:1fr}}.form-row-wrap .form-group-full{grid-column:1 / -1}.input-error{border-color:#dc2626!important;box-shadow:0 0 0 3px #dc26261a!important}.field-error{display:block;color:#dc2626;font-size:12px;margin-top:4px;font-weight:500}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#374151;padding:8px 0}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#4F46E5;cursor:pointer}.service-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.service-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.service-card-check{width:28px;height:28px;border-radius:50%;border:2px solid #D1D5DB;display:flex;align-items:center;justify-content:center;transition:all .2s;color:transparent}.service-card-selected .service-card-check{background-color:#4f46e5;border-color:#4f46e5;color:#fff}.service-card-name{font-size:16px;font-weight:700;color:#111827;margin:0 0 6px}.service-card-desc{font-size:13px;color:#6b7280;margin:0;line-height:1.4}.pricing-table{margin-top:20px;border-top:1px solid #E5E7EB;padding-top:16px}.pricing-category-filter{margin-bottom:12px}.pricing-category-select{width:100%;padding:8px 12px;font-size:13px;font-weight:500;border:1px solid #D1D5DB;border-radius:8px;background:#f9fafb;color:#374151;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;transition:border-color .15s}.pricing-category-select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e526}.pricing-table table{width:100%;border-collapse:collapse;font-size:13px}.pricing-table th{text-align:left;padding:8px 6px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #E5E7EB}.pricing-table td{padding:10px 6px;font-size:13px;color:#374151;border-bottom:1px solid #F3F4F6;vertical-align:middle}.pricing-table .pricing-item-name{display:block;font-weight:500;color:#111827}.pricing-table .pricing-item-unit{display:block;font-size:11px;color:#9ca3af;margin-top:2px}.qty-input{width:64px;padding:6px 8px;border:1px solid #D1D5DB;border-radius:6px;text-align:center;font-size:13px;font-family:inherit;transition:border-color .2s}.qty-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e51a}.grand-total{margin-top:24px;padding:20px 24px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:12px;font-size:18px;font-weight:600;color:#4f46e5;display:flex;justify-content:space-between;align-items:center}.grand-total strong{font-size:24px;font-weight:800}.req-tabs{display:flex;gap:2px;margin-bottom:24px;border-bottom:2px solid #E5E7EB}.req-tab{padding:12px 24px;font-size:14px;font-weight:500;cursor:pointer;color:#6b7280;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;font-family:inherit}.req-tab:hover{color:#4f46e5;background-color:#f9fafb}.req-tab-active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:600}.req-form{margin-top:8px}.req-form-title{font-size:16px;font-weight:600;color:#374151;margin-bottom:20px;padding-bottom:8px;border-bottom:1px solid #F3F4F6}.review-section{margin-bottom:28px;background:#fff;border-radius:10px;border:1px solid #E5E7EB;overflow:hidden}.review-section-title{font-size:15px;font-weight:600;color:#374151;margin:0;padding:16px 20px;background-color:#f9fafb;border-bottom:1px solid #E5E7EB;display:flex;align-items:center;gap:8px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0}.review-item{display:flex;flex-direction:column;padding:12px 20px;border-bottom:1px solid #F3F4F6}.review-item:nth-child(odd){border-right:1px solid #F3F4F6}.review-item-full{grid-column:1 / -1;border-right:none!important}.review-label{font-size:11px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}.review-value{font-size:14px;color:#111827;font-weight:500}.review-service{margin:0;border-bottom:1px solid #E5E7EB}.review-service:last-child{border-bottom:none}.review-service-name{font-size:14px;font-weight:700;margin:0;padding:12px 20px;background-color:#fafafa}.review-pricing-table{width:100%;border-collapse:collapse}.review-pricing-table th{text-align:left;padding:8px 20px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;background-color:#f9fafb;border-bottom:1px solid #E5E7EB}.review-pricing-table td{padding:10px 20px;font-size:13px;color:#374151;border-bottom:1px solid #F3F4F6}.review-service-total{text-align:right;padding:10px 20px;font-size:14px;font-weight:600;color:#4f46e5;background:#f9fafb}.review-grand-total{padding:16px 20px;font-size:16px;font-weight:700;color:#4f46e5;background:linear-gradient(135deg,#eef2ff,#e0e7ff);display:flex;justify-content:space-between;align-items:center}.review-grand-total strong{font-size:20px}.review-reqs{border-bottom:1px solid #E5E7EB}.review-reqs:last-child{border-bottom:none}.review-reqs h4{padding:12px 20px;margin:0;background-color:#fafafa;font-size:14px;font-weight:600;color:#374151;border-bottom:1px solid #F3F4F6}.sidebar-close-btn{display:none;color:#9ca3af}@media (max-width: 768px){.sidebar-close-btn{display:flex}}.sidebar-toggle{color:#6b7280;padding:4px}.header-logo-text{font-size:20px;font-weight:800;color:#1f2937;letter-spacing:-.5px}.unread-count{font-size:13px;color:#4f46e5;font-weight:600}.notification-dot{width:8px;height:8px;border-radius:50%;background-color:#4f46e5;flex-shrink:0;margin-right:12px}.notification-read .notification-dot{background-color:#d1d5db}.notification-body{flex:1}.notification-job-link{color:#4f46e5;font-weight:500;display:inline-flex;align-items:center;gap:4px}.notification-job-link:hover{text-decoration:underline}.notification-time{color:#9ca3af}.btn-mark-read{font-size:12px;color:#4f46e5;font-weight:500;padding:4px 12px;border-radius:6px;transition:background .2s}.btn-mark-read:hover{background-color:#eef2ff}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;margin:0}.subsection-title{font-size:15px;font-weight:600;color:#6b7280;margin:20px 0 12px}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.analytics-card{background:#f9fafb;border-radius:10px;padding:16px;text-align:center}.analytics-number{display:block;font-size:28px;font-weight:700;line-height:1}.analytics-label{display:block;font-size:12px;color:#6b7280;font-weight:500;margin-top:6px}.add-user-form{background:#f9fafb;padding:20px;border-radius:10px;margin-bottom:20px;border:1px solid #E5E7EB}.add-user-form .form-row{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.add-user-form .form-row{grid-template-columns:1fr}}.form-actions{display:flex;gap:8px;margin-top:8px}.role-badge-sm{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:3px 10px;border-radius:12px;background-color:#eef2ff;color:#4f46e5;font-weight:500}.table-wrapper{overflow-x:auto}.filter-group{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #D1D5DB;border-radius:8px;padding:0 12px}.filter-input{border:none;outline:none;padding:8px 4px;font-size:13px;font-family:inherit;min-width:200px}.filter-select{padding:8px 14px;border:1px solid #D1D5DB;border-radius:8px;font-size:13px;font-family:inherit;background:#fff}.job-id-link{color:#4f46e5;font-weight:600}.job-id-link:hover{text-decoration:underline}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:#6b7280;transition:all .2s}.btn-icon:hover{background-color:#f3f4f6;color:#4f46e5}.services-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-reqs{color:#9ca3af;font-style:italic;padding:20px}.detail-section-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #E5E7EB;color:#1f2937}.detail-section-title svg{color:#4f46e5}.detail-label{font-size:12px;color:#6b7280;font-weight:500}.detail-value{font-size:14px;color:#111827;font-weight:500;margin-top:2px}.jd-header{margin-bottom:24px}.jd-header__main{display:flex;justify-content:space-between;align-items:flex-start;margin-top:8px}.jd-header__left{display:flex;flex-direction:column;gap:4px}.jd-header__job-id{font-size:28px;font-weight:800;color:#111827;letter-spacing:-.5px}.jd-header__client{font-size:16px;color:#6b7280;font-weight:500}.jd-header__right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.status-badge--lg{font-size:13px;padding:6px 16px;font-weight:600}.jd-header__date{display:flex;align-items:center;gap:6px;font-size:13px;color:#9ca3af}.jd-tabs{display:flex;gap:4px;padding:4px;background:#f3f4f6;border-radius:12px;margin-bottom:20px;overflow-x:auto}.jd-tab{display:flex;align-items:center;gap:6px;padding:10px 18px;border:none;background:transparent;color:#6b7280;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;white-space:nowrap;transition:all .2s}.jd-tab:hover{color:#374151;background:#fff9}.jd-tab--active{background:#fff;color:#4f46e5;box-shadow:0 1px 3px #00000014;font-weight:600}.jd-tab--highlight,.jd-tab--highlight.jd-tab--active{color:#d97706}.jd-tab__badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#4f46e5;color:#fff;font-size:11px;font-weight:700;line-height:1}.jd-tab--active .jd-tab__badge{background:#4f46e5}.jd-tab__dot{width:8px;height:8px;border-radius:50%;background:#d97706;flex-shrink:0;animation:jd-tab-pulse 2s ease-in-out infinite}@keyframes jd-tab-pulse{0%,to{opacity:1}50%{opacity:.4}}.jd-pipeline{background:#fff;border-radius:12px;padding:24px 32px;box-shadow:0 1px 3px #00000014;margin-bottom:20px}.jd-pipeline__steps{display:flex;align-items:flex-start;justify-content:space-between;position:relative}.jd-pipeline__step{display:flex;flex-direction:column;align-items:center;position:relative;flex:1}.jd-pipeline__line{position:absolute;top:20px;right:50%;width:100%;height:3px;background:#e5e7eb;z-index:0}.jd-pipeline__line--filled{background:linear-gradient(90deg,#059669,#10b981)}.jd-pipeline__circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f3f4f6;color:#9ca3af;z-index:1;transition:all .3s ease;border:3px solid #E5E7EB}.jd-pipeline__step--done .jd-pipeline__circle{background:#059669;color:#fff;border-color:#059669}.jd-pipeline__step--active .jd-pipeline__circle{background:#4f46e5;color:#fff;border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e533;animation:pulse 2s infinite}.jd-pipeline__label{margin-top:10px;font-size:12px;color:#9ca3af;font-weight:500;text-align:center}.jd-pipeline__step--done .jd-pipeline__label{color:#059669;font-weight:600}.jd-pipeline__step--active .jd-pipeline__label{color:#4f46e5;font-weight:600}.jd-pipeline__rejected{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#fef2f2;border-radius:10px;border:1px solid #FECACA}.jd-pipeline__rejected-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#dc2626;color:#fff;flex-shrink:0}.jd-pipeline__rejected-label{font-weight:700;color:#dc2626;font-size:15px}.jd-pipeline__rejected-reason{font-size:13px;color:#991b1b;margin-top:4px}.jd-pipeline__paused{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#fffbeb;border-radius:10px;border:1px solid #FDE68A}.jd-pipeline__paused-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f59e0b;color:#fff;flex-shrink:0}.jd-pipeline__paused-label{font-weight:700;color:#d97706;font-size:15px}.jd-pipeline__paused-reason{font-size:13px;color:#92400e;margin-top:4px}.jd-pipeline__paused-by{font-size:12px;color:#b45309;display:block;margin-top:2px}.jd-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 24px}.jd-info-item{display:flex;align-items:flex-start;gap:10px}.jd-info-item>div{display:flex;flex-direction:column;min-width:0}.jd-info-item--full{grid-column:1 / -1}.jd-info-icon{color:#9ca3af;margin-top:2px;flex-shrink:0}@media (max-width: 768px){.jd-info-grid{grid-template-columns:1fr}.jd-header__main{flex-direction:column;gap:12px}.jd-header__right{align-items:flex-start}.jd-tabs{gap:2px;padding:3px}.jd-tab{padding:8px 12px;font-size:13px}}.jd-services-list{display:flex;flex-direction:column;gap:20px}.jd-service-block{border:1px solid #E5E7EB;border-radius:10px;padding:16px 20px;background:#fafafa}.jd-service-block__header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.jd-service-block__icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center}.jd-service-block__name{font-size:15px;font-weight:700}.detail-pricing-table{width:100%;border-collapse:collapse;margin-bottom:8px;background:#fff;border-radius:8px;overflow:hidden}.detail-pricing-table th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;background:#f9fafb;border-bottom:1px solid #E5E7EB}.detail-pricing-table td{padding:10px 14px;font-size:13px;border-bottom:1px solid #F3F4F6;color:#374151}.detail-service-subtotal{text-align:right;font-weight:600;color:#4f46e5;font-size:14px;padding-top:8px}.detail-total{text-align:right;font-size:17px;font-weight:700;color:#4f46e5;padding:14px 0;margin-top:12px;border-top:2px solid #E5E7EB}.detail-item-full{grid-column:1 / -1}.jd-req-cards{display:flex;flex-direction:column;gap:10px}.jd-req-card{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:10px;text-decoration:none;transition:all .2s ease}.jd-req-card:hover{border-color:#4f46e5;background:#eef2ff;transform:translateY(-1px);box-shadow:0 2px 8px #4f46e51a}.jd-req-card__icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.jd-req-card__body{flex:1;display:flex;flex-direction:column}.jd-req-card__id{font-size:14px;font-weight:600;color:#4f46e5}.jd-req-card__service{font-size:13px;color:#6b7280}.jd-timeline{display:flex;flex-direction:column}.jd-timeline__item{display:flex;gap:14px}.jd-timeline__marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.jd-timeline__dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px #fff,0 0 0 4px currentColor}.jd-timeline__connector{width:2px;flex:1;min-height:24px;background:#e5e7eb;margin:4px 0}.jd-timeline__body{padding-bottom:20px}.jd-timeline__header{display:flex;align-items:center;gap:8px}.jd-timeline__event{font-size:14px;font-weight:600;color:#1f2937}.jd-timeline__by{font-size:13px;color:#6b7280}.jd-timeline__detail{font-size:13px;color:#991b1b;margin-top:4px;padding:6px 10px;background:#fef2f2;border-radius:6px}.jd-timeline__date{font-size:12px;color:#9ca3af;margin-top:2px}.reject-form{margin-top:12px}.reject-form-actions{display:flex;gap:8px;margin-top:8px}.btn-danger-outline{border:1px solid #DC2626;color:#dc2626;background:transparent}.btn-danger-outline:hover{background:#fef2f2}.pause-form{margin-top:12px}.pause-form-actions{display:flex;gap:8px;margin-top:8px}.btn-pause-outline{border:1px solid #F59E0B;color:#d97706;background:transparent}.btn-pause-outline:hover{background:#fffbeb}.btn-pause{background:#f59e0b;color:#fff}.btn-pause:hover{background:#d97706}.btn-icon-warning{color:#d97706}.btn-icon-warning:hover{background:#fffbeb;color:#f59e0b}.top-header{margin-left:0;gap:16px}.main-content{padding:0 32px 24px}.fee-type-toggle{display:inline-flex;gap:0;margin-top:4px;border-radius:6px;overflow:hidden;border:1px solid #D1D5DB}.fee-type-btn{padding:3px 10px;font-size:11px;font-weight:500;font-family:inherit;cursor:pointer;border:none;background:#fff;color:#6b7280;transition:all .2s}.fee-type-btn:first-child{border-right:1px solid #D1D5DB}.fee-type-btn-active{background:#4f46e5;color:#fff}.fee-type-btn:hover:not(.fee-type-btn-active){background:#f3f4f6}.price-unit-label{display:inline-block;margin-left:4px;font-size:12px;font-weight:600;color:#6b7280}.price-input{width:100px;padding:6px 8px;border:1px solid #D1D5DB;border-radius:6px;text-align:right;font-size:13px;font-family:inherit;font-weight:500;transition:border-color .2s,box-shadow .2s;background:#fafafa}.price-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e51a;background:#fff}.price-input::placeholder{color:#d1d5db;font-weight:400}.custom-text-input{width:100%;padding:6px 10px;border:1px solid #D1D5DB;border-radius:6px;font-size:13px;font-family:inherit;transition:border-color .2s,box-shadow .2s;background:#fff}.custom-text-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e51a}.custom-text-input::placeholder{color:#9ca3af}.unit-select{padding:6px 8px;border:1px solid #D1D5DB;border-radius:6px;font-size:12px;font-family:inherit;background:#fff;color:#374151;cursor:pointer;transition:border-color .2s;min-width:90px}.unit-select:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e51a}.other-items-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #E5E7EB;border-radius:8px 8px 0 0}.other-items-label{font-size:14px;font-weight:600;color:#374151}.btn-add-item{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .2s,transform .1s}.btn-add-item:hover{background:#4338ca}.btn-add-item:active{transform:scale(.97)}.btn-remove-item{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:1px solid #E5E7EB;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .2s}.btn-remove-item:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.other-items-empty{padding:24px 16px;text-align:center;color:#9ca3af;font-size:13px;font-style:italic}.service-card .pricing-table{overflow-x:auto}.service-card .pricing-table table{width:100%;border-collapse:collapse;font-size:12px}.service-card .pricing-table th,.service-card .pricing-table td{padding:6px 4px}.service-card .pricing-table th{white-space:nowrap}.service-card .pricing-table td:first-child{white-space:normal;word-break:break-word;min-width:0}.service-card .pricing-table .custom-text-input{min-width:100px;max-width:140px}.service-card .pricing-table .price-input{width:70px;box-sizing:border-box}.service-card .pricing-table .qty-input{width:50px;box-sizing:border-box}.service-card .pricing-table .unit-select{min-width:75px;font-size:11px}.service-card .subtotal-cell{min-width:70px;padding-right:2px}.subtotal-cell{font-weight:600;color:#4f46e5;text-align:right;white-space:nowrap}.pricing-table input[type=number]{-moz-appearance:textfield}.pricing-table input[type=number]::-webkit-outer-spin-button,.pricing-table input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.footer-center{display:flex;gap:10px}.footer-center .btn-outline{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;border-radius:8px;cursor:pointer}.file-upload-area{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 24px;border:2px dashed #D1D5DB;border-radius:14px;background:#fafbfc;transition:all .25s ease;text-align:center}.file-upload-area:hover{border-color:#818cf8;background:#eef2ff}.file-upload-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #6366f140}.file-upload-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #6366f159}.file-upload-hint{font-size:12px;color:#9ca3af}.uploaded-files-list{width:100%;display:flex;flex-direction:column;gap:6px;margin-top:4px}.uploaded-file-item{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#fff;border:1px solid #E0E7FF;border-radius:8px;font-size:13px;color:#374151;transition:background-color .15s ease}.uploaded-file-item:hover{background:#f5f3ff}.uploaded-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-remove-file{background:none;border:none;color:#9ca3af;cursor:pointer;padding:2px;display:flex;border-radius:4px}.btn-remove-file:hover{color:#dc2626;background:#fee2e2}@media print{.sidebar,.top-header,.sidebar-overlay,.create-job-footer,.stepper,.create-job-header{display:none!important}.main-content{margin-left:0!important}.page-content{padding:0!important}.service-card{break-inside:avoid;border:1px solid #ccc!important;box-shadow:none!important}.services-grid{display:block!important}.services-grid .service-card{margin-bottom:16px}}.drafts-section{margin-bottom:24px}.drafts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px}.draft-card{background:#fff;border:1px solid #E5E7EB;border-left:4px solid #F59E0B;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px}.draft-card-header{display:flex;justify-content:space-between;align-items:center}.draft-id{font-size:12px;font-weight:700;color:#f59e0b;background:#fef3c7;padding:2px 8px;border-radius:4px}.draft-step{font-size:12px;color:#6b7280;font-weight:500}.draft-card-body{flex:1}.draft-client-name{font-size:15px;font-weight:600;color:#1f2937;margin:0 0 4px}.draft-services{font-size:13px;color:#6b7280;margin:0 0 4px}.draft-creator{font-size:12px;color:#9ca3af;margin:0 0 4px;font-style:italic}.draft-date{font-size:12px;color:#9ca3af;margin:0}.draft-card-actions{display:flex;gap:8px;align-items:center}.btn-sm{padding:6px 14px;font-size:13px}.draft-badge{font-size:12px;font-weight:600;color:#f59e0b;background:#fef3c7;padding:4px 10px;border-radius:6px}.btn-save-draft.btn-outline{border-color:#f59e0b;color:#f59e0b}.btn-save-draft.btn-outline:hover{background:#fef3c7}.requirements-page{padding:0}.page-subtitle{color:#6b7280;font-size:14px;margin:-4px 0 20px}.req-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.filter-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filter-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #D1D5DB;border-radius:8px;padding:0 12px;flex:1;min-width:200px}.filter-search svg{color:#9ca3af}.filter-input{border:none;outline:none;padding:10px 0;font-size:14px;font-family:inherit;width:100%;background:transparent}.filter-select{padding:10px 12px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px;font-family:inherit;background:#fff;color:#374151;cursor:pointer;min-width:140px}.service-tag{display:inline-block;padding:2px 10px;border-radius:6px;font-size:12px;font-weight:500}.requirement-form-page{padding:0}.req-form-hero{background:linear-gradient(135deg,#fafbff,#f0f0ff);border:1px solid #E0E7FF;border-radius:16px;padding:24px 28px;margin-bottom:24px}.req-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px}.req-breadcrumb__link{color:#6b7280;text-decoration:none;font-weight:500;transition:color .15s ease}.req-breadcrumb__link:hover{color:#4f46e5}.req-breadcrumb__sep{color:#d1d5db}.req-breadcrumb__current{color:#4f46e5;font-weight:600}.req-form-hero__title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.req-form-hero__title{font-size:24px;font-weight:800;color:#111827;margin:0}.status-badge--lg{font-size:13px;padding:6px 14px;font-weight:600;border-radius:8px}.req-form-hero__meta{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.req-meta-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#fff;border:1px solid #E5E7EB;border-radius:20px;font-size:13px;color:#6b7280;font-weight:500}.req-meta-chip--id{color:#4f46e5;font-weight:700;background:#eef2ff;border-color:#c7d2fe}.req-form-header{margin-bottom:24px}.req-form-meta{margin-top:12px}.req-form-info{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap;font-size:14px;color:#6b7280}.req-form-id{font-weight:600;color:#4f46e5}.req-form-separator{color:#d1d5db}.req-form-readonly-notice{display:flex;align-items:center;gap:8px;background:#d1fae5;color:#059669;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;margin-bottom:20px}.req-client-billing-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.req-info-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:24px;box-shadow:0 1px 3px #0000000a;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.req-info-card:hover{border-color:#c7d2fe;box-shadow:0 4px 16px #4f46e50f;transform:translateY(-2px)}.req-info-card-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:#1f2937;margin:0 0 18px;padding-bottom:14px;border-bottom:2px solid #F3F4F6}.req-info-card-title svg{color:#4f46e5}.req-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.req-info-item{display:flex;flex-direction:column;gap:3px;padding:8px 0}.req-info-item-full{grid-column:1 / -1}.req-info-label{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.req-info-value{font-size:14px;font-weight:500;color:#1f2937;word-break:break-word}@media (max-width: 900px){.req-client-billing-section{grid-template-columns:1fr}}.req-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #E5E7EB}.btn-back{display:inline-flex;align-items:center;gap:6px;color:#6b7280;font-size:14px;font-weight:500;padding:8px 0;cursor:pointer;background:none;border:none;font-family:inherit;text-decoration:none}.btn-back:hover{color:#4f46e5}.btn-submit{gap:6px}.inv-form-section{background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:24px}.inv-form-title{font-size:16px;font-weight:600;color:#111827;margin-bottom:16px}.inv-form .form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.inv-form .btn{display:inline-flex;align-items:center;gap:6px}.inv-category-badge{display:inline-block;padding:2px 10px;border-radius:6px;font-size:12px;font-weight:500;background-color:#f3f4f6;color:#374151}.inv-qty{font-weight:600;font-variant-numeric:tabular-nums}.inv-qty--in{color:#059669}.inv-qty--out{color:#dc2626}.inv-qty--allocated{color:#7c3aed}.inv-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:500}.inv-badge--ok{background-color:#d1fae5;color:#065f46}.inv-badge--low{background-color:#fef3c7;color:#92400e}.inv-type-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.inv-type-badge--inward{background-color:#d1fae5;color:#065f46}.inv-type-badge--outward{background-color:#fee2e2;color:#991b1b}.inv-type-badge--allocated,.inv-badge--allocated{background-color:#ede9fe;color:#5b21b6}.inv-badge--confirmed{background-color:#d1fae5;color:#065f46}.alert{padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.alert-error{background-color:#fee2e2;color:#991b1b;border:1px solid #FECACA}.alert-success{background-color:#d1fae5;color:#065f46;border:1px solid #A7F3D0}@media (max-width: 768px){.inv-form .form-grid-2{grid-template-columns:1fr}}.req-progress-cell{display:flex;flex-direction:column;gap:4px;min-width:60px}.req-progress-text{font-size:.8rem;font-weight:600}.req-progress-bar{width:100%;max-width:80px;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.req-progress-fill{height:100%;border-radius:2px;transition:width .3s ease}.deadline-cell{display:flex;flex-direction:column;gap:4px}.deadline-date{font-size:13px;color:#374151}.deadline-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;width:fit-content}.deadline-ok{background-color:#d1fae5;color:#065f46}.deadline-soon{background-color:#fef3c7;color:#92400e}.deadline-urgent{background-color:#fed7aa;color:#9a3412}.deadline-today{background-color:#fee2e2;color:#991b1b;animation:pulse-deadline 2s infinite}.deadline-overdue{background-color:#991b1b;color:#fff}@keyframes pulse-deadline{0%,to{opacity:1}50%{opacity:.7}}.form-section-divider{border-top:2px solid #E5E7EB;padding-top:20px;margin-top:8px}.form-section-subtitle{font-size:16px;font-weight:600;color:#1f2937;margin:0}.form-field-hint{font-size:12px;color:#6b7280;margin:4px 0 8px;line-height:1.5;padding-left:12px;border-left:2px solid #E0E7FF}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-label{display:flex;align-items:center;gap:10px;font-size:14px;color:#374151;cursor:pointer;padding:10px 16px;border:1.5px solid #E5E7EB;border-radius:10px;transition:all .2s ease;background:#fff}.radio-label:hover{border-color:#c7d2fe;background:#fafbff}.radio-label:has(input:checked){border-color:#4f46e5;background:#eef2ff;color:#4f46e5;font-weight:500}.radio-label input[type=radio]{width:18px;height:18px;accent-color:#4F46E5;cursor:pointer}.multiselect-group{display:flex;flex-wrap:wrap;gap:10px}.multiselect-group .checkbox-label{min-width:140px;padding:8px 14px;border:1.5px solid #E5E7EB;border-radius:10px;background:#fff;transition:all .2s ease}.multiselect-group .checkbox-label:hover{border-color:#c7d2fe;background:#fafbff}.multiselect-group .checkbox-label:has(input:checked){border-color:#4f46e5;background:#eef2ff;color:#4f46e5;font-weight:500}.req-form-sections{display:flex;flex-direction:column;gap:20px}.req-form-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.req-form-card:hover{border-color:#c7d2fe;box-shadow:0 2px 12px #4f46e50f}.req-form-card__header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fafbfc;border-bottom:1px solid #E5E7EB;transition:background-color .15s ease}.req-form-card__header:hover{background:#f3f4f6}.req-form-card--collapsed .req-form-card__header{border-bottom-color:transparent}.req-form-card__header-left{display:flex;align-items:center;gap:14px}.req-form-card__number{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#4f46e5;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.req-form-card__title{font-size:15px;font-weight:600;color:#1f2937;margin:0}.req-form-card__hint{font-size:12px;color:#6b7280;margin:2px 0 0;line-height:1.4}.req-form-card__chevron{color:#9ca3af;transition:transform .3s ease;flex-shrink:0}.req-form-card__chevron--collapsed{transform:rotate(-90deg)}.req-form-card__body{padding:24px;max-height:5000px;transition:max-height .35s ease,opacity .25s ease,padding .3s ease;overflow:hidden;opacity:1}.req-form-card__body--collapsed{max-height:0!important;opacity:0;padding-top:0;padding-bottom:0}.form-group--conditional{animation:slideDown .3s ease forwards}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.form-input:disabled,.form-textarea:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed;border-color:#e5e7eb;opacity:.7}.req-action-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 20px;background:#fff;border:1px solid #E5E7EB;border-radius:12px;margin-bottom:20px}.req-action-bar__left,.req-action-bar__right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-action{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;border:1.5px solid transparent;transition:all .2s ease;background:transparent}.btn-action--secondary{background:#f3f4f6;color:#374151;border-color:#e5e7eb}.btn-action--secondary:hover{background:#e5e7eb}.btn-action--blue{color:#2563eb;border-color:#2563eb;background:#eff6ff}.btn-action--blue:hover{background:#dbeafe}.btn-action--green{color:#059669;border-color:#10b981;background:#ecfdf5}.btn-action--green:hover{background:#d1fae5}.btn-action--amber{color:#d97706;border-color:#f59e0b;background:#fffbeb}.btn-action--amber:hover{background:#fef3c7}.btn-action--purple{color:#7c3aed;border-color:#8b5cf6;background:#f5f3ff}.btn-action--purple:hover{background:#ede9fe}.btn-action--primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-color:transparent;box-shadow:0 2px 8px #6366f140}.btn-action--primary:hover{box-shadow:0 4px 14px #6366f159;transform:translateY(-1px)}.req-completion-form{border:2px solid #10B981;border-radius:14px;padding:24px;margin-top:16px;background:#fafffe}.req-completion-form__title{font-size:16px;font-weight:600;color:#111827;margin:0 0 20px;display:flex;align-items:center;gap:8px}.req-completion-form__title svg{color:#10b981}.req-completion-form__actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.req-completion-display{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;padding:24px;margin-top:16px}.req-completion-display__title{font-size:16px;font-weight:600;color:#111827;margin:0 0 20px;display:flex;align-items:center;gap:8px}.req-completion-display__title svg{color:#10b981}.req-completion-display__grid{display:grid;gap:14px}.req-completion-display__label{font-size:12px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.req-completion-display__value{margin:4px 0 0;font-size:14px;color:#111827;line-height:1.5}.req-form-readonly-notice--warning{background:#fffbeb;border:1px solid #F59E0B;color:#92400e}.req-form-readonly-notice--warning svg{color:#f59e0b}.req-form-share-actions{justify-content:flex-start;margin-top:0;margin-bottom:16px;padding-top:0;border-top:none;gap:8px;align-items:center}.email-sent-badge{font-size:13px;font-weight:500;color:#059669;background:#d1fae5;padding:6px 14px;border-radius:6px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.btn-copy-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:6px 12px;cursor:pointer;transition:all .2s ease}.email-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.email-modal{background:#fff;border-radius:12px;width:500px;max-width:90vw;box-shadow:0 20px 60px #00000026}.email-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #E5E7EB}.email-modal-header h3{margin:0;font-size:16px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.email-modal-header button{background:none;border:none;cursor:pointer;color:#9ca3af;padding:4px;border-radius:6px;display:flex;align-items:center}.email-modal-header button:hover{color:#374151;background:#f3f4f6}.email-modal-body{padding:24px;display:flex;flex-direction:column;gap:16px}.email-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid #E5E7EB}.ack-section-title{font-size:16px;font-weight:700;color:#111827;margin-bottom:12px;display:flex;align-items:center;gap:8px}.fr-top-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:4px}@media (max-width: 768px){.fr-top-grid{grid-template-columns:1fr}}.fr-ack-section{border:1px solid #E5E7EB;border-radius:12px;background:#fff;padding:24px}.fr-ack-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.fr-ack-summary{display:flex;gap:12px;align-items:center}.fr-ack-count{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px}.fr-ack-count--done{background:#ecfdf5;color:#059669}.fr-ack-count--issue{background:#fef2f2;color:#dc2626}.fr-ack-count--total{background:#f3f4f6;color:#6b7280}.fr-ack-list{display:flex;flex-direction:column;gap:8px}.ack-row{display:flex;flex-direction:column;gap:10px;padding:14px 18px;border:1px solid #E5E7EB;border-radius:10px;background:#fafafa;transition:all .2s}.ack-row:hover{border-color:#d1d5db;background:#f9fafb}.ack-row--done{border-left:3px solid #059669;background:#f0fdf4}.ack-row--done:hover{background:#ecfdf5}.ack-row--issue{border-left:3px solid #DC2626;background:#fef2f2}.ack-row--issue:hover{background:#fee2e2}.ack-row-main{display:flex;justify-content:space-between;align-items:center;gap:16px}.ack-row-info{display:flex;align-items:baseline;gap:12px;flex:1;min-width:0}.ack-row-label{font-weight:600;font-size:13px;color:#374151;white-space:nowrap}.ack-row-value{font-size:14px;font-weight:700;color:#111827;background:#fff;padding:2px 10px;border-radius:6px;border:1px solid #E5E7EB}.ack-row-controls{display:flex;gap:8px;flex-shrink:0}.ack-toggle-btn{display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;border-radius:8px;border:1px solid #E5E7EB;background:#fff;transition:all .15s;-webkit-user-select:none;user-select:none}.ack-toggle-btn input[type=radio]{display:none}.ack-toggle-yes{color:#059669}.ack-toggle-yes.active{background:#ecfdf5;border-color:#059669;box-shadow:0 0 0 1px #05966940}.ack-toggle-no{color:#dc2626}.ack-toggle-no.active{background:#fef2f2;border-color:#dc2626;box-shadow:0 0 0 1px #dc262640}.ack-toggle-btn:hover{border-color:#9ca3af}.ack-toggle-btn[disabled]{cursor:default;opacity:.7}.ack-row-reason{padding-left:0}.ack-reason-input{width:100%;min-height:44px;padding:10px 14px;border:1px solid #FCA5A5;border-radius:8px;font-size:13px;font-family:inherit;resize:vertical;background:#fff5f5;color:#991b1b;transition:border-color .15s,box-shadow .15s}.ack-reason-input::placeholder{color:#f87171}.ack-reason-input:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 2px #dc262620}.fr-status{font-size:12px;font-weight:600;padding:3px 10px;border-radius:6px;white-space:nowrap}.fr-status--submitted{background:#05966920;color:#059669}.fr-status--draft{background:#6b728020;color:#6b7280}.fr-status--pending{background:#d9770620;color:#d97706}.roles-checkbox-group{display:flex;flex-wrap:wrap;gap:8px}.roles-checkbox-label{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #E5E7EB;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;color:#374151;transition:all .15s;-webkit-user-select:none;user-select:none}.roles-checkbox-label:hover{border-color:#4f46e5;background:#4f46e508}.roles-checkbox-label input[type=checkbox]{accent-color:#4F46E5;width:16px;height:16px}.fr-travel-grid{display:flex;gap:32px;align-items:flex-start;flex-wrap:wrap}.fr-travel-toggle{min-width:160px}.fr-travel-options{display:flex;gap:8px;margin-top:6px}.fr-travel-km{min-width:200px}.fr-km-input-wrap{display:flex;align-items:center;gap:8px;margin-top:4px}.fr-km-input-wrap .form-input{width:140px}.fr-km-suffix{font-size:14px;font-weight:500;color:#6b7280}.fr-inventory-wrap{border:1px solid #E5E7EB;border-radius:10px;overflow:hidden}.fr-inventory-table{width:100%;border-collapse:collapse;font-size:13px}.fr-inventory-table th{background:#f9fafb;padding:10px 14px;text-align:left;font-weight:600;color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #E5E7EB}.fr-inventory-table td{padding:10px 14px;border-bottom:1px solid #F3F4F6;color:#374151}.fr-inventory-table tr:last-child td{border-bottom:none}.fr-inv-category{font-size:11px;font-weight:500;text-transform:uppercase;color:#6b7280;background:#f3f4f6;padding:2px 8px;border-radius:4px;letter-spacing:.3px}.fr-empty-inventory{display:flex;align-items:center;gap:10px;padding:20px;background:#fafafa;border:1px dashed #D1D5DB;border-radius:10px;color:#9ca3af;font-size:14px;font-style:italic}.approvals-page{padding:0}.amount-cell{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.jd-alloc-table{width:100%;border-collapse:collapse;font-size:14px}.jd-alloc-table th{text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;padding:8px 12px;border-bottom:2px solid #E5E7EB}.jd-alloc-table td{padding:10px 12px;border-bottom:1px solid #F3F4F6}.jd-alloc-table tbody tr:hover{background:#f9fafb}.jd-alloc-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.jd-alloc-badge--pending{background:#f3f4f6;color:#6b7280}.jd-alloc-badge--allocated{background:#ede9fe;color:#6d28d9}.jd-alloc-badge--confirmed{background:#d1fae5;color:#059669}.jd-alloc-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.jd-alloc-edit-input{width:60px;padding:4px 8px;border:1.5px solid #D1D5DB;border-radius:6px;font-size:14px;font-weight:600;text-align:center}.jd-alloc-edit-input:focus{border-color:#005939;outline:none;box-shadow:0 0 0 3px #0059391a}.jd-alloc-modified{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-size:11px;font-weight:500;color:#d97706;background:#fef3c7;padding:1px 6px;border-radius:4px}.jd-bill-card{margin-top:16px;padding:12px 16px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:10px}.jd-bill-card__row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.jd-bill-card__label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.jd-bill-card__id{font-weight:700;font-size:14px;color:#1f2937}.jd-fr-gated{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;background:#fef3c7;border:1px solid #F59E0B;border-radius:8px;font-size:13px;color:#92400e;font-weight:500}.billing-page{max-width:1200px}.bill-filter-tabs{display:flex;gap:4px;margin-bottom:20px;background:#f3f4f6;padding:4px;border-radius:10px;overflow-x:auto}.bill-filter-tab{padding:8px 16px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:all .2s}.bill-filter-tab:hover{color:#1f2937;background:#ffffff80}.bill-filter-tab--active{background:#fff;color:#005939;font-weight:600;box-shadow:0 1px 3px #0000001a}.bill-filter-tab__count{font-size:11px;background:#e5e7eb;padding:1px 6px;border-radius:10px;font-weight:600}.bill-filter-tab--active .bill-filter-tab__count{background:#005939;color:#fff}.bill-status-select{padding:4px 8px;border:1px solid #D1D5DB;border-radius:6px;font-size:12px;background:#fff;cursor:pointer}.bill-status-select:focus{border-color:#005939;outline:none}.zoho-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.zoho-badge--yes{background:#d1fae5;color:#059669}.zoho-badge--no,.zoho-badge--na{background:#f3f4f6;color:#6b7280}.zoho-edit-inline{display:flex;align-items:center;gap:4px}.clients-page{max-width:1200px}.client-search-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border:1px solid #E5E7EB;border-radius:10px;margin-bottom:20px;color:#9ca3af}.client-search-bar .form-input{border:none;padding:0;flex:1;font-size:14px}.client-search-bar .form-input:focus{box-shadow:none}.client-job-count{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#ede9fe;color:#6d28d9;font-weight:700;font-size:13px}.client-form-modal{max-width:700px;width:95%}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #E5E7EB}.modal-header-actions{display:flex;align-items:center;gap:8px}.modal-header h3{font-size:18px;font-weight:700;color:#1f2937;margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid #E5E7EB}.modal-body{padding:20px}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#111827}.client-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px;max-height:60vh;overflow-y:auto}.client-form-grid .form-group--full{grid-column:1 / -1}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;max-height:90vh;overflow:hidden}.client-search-wrapper{position:relative;margin-bottom:20px}.client-search-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #E5E7EB;border-radius:0 0 10px 10px;box-shadow:0 8px 25px #0000001a;max-height:200px;overflow-y:auto;z-index:50}.client-search-option{padding:10px 14px;cursor:pointer;border-bottom:1px solid #F3F4F6;transition:background .15s}.client-search-option:hover{background:#f0fdf4}.client-search-option__name{font-weight:600;color:#1f2937;font-size:14px}.client-search-option__detail{font-size:12px;color:#6b7280}.client-selected-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#d1fae5;color:#059669;border-radius:20px;font-size:13px;font-weight:600;margin-bottom:12px}.client-selected-badge button{background:none;border:none;color:#059669;cursor:pointer;padding:0;display:flex}.profile-dropdown{position:relative}.user-info-button{display:flex;align-items:center;gap:8px;padding:6px 10px;background:transparent;border:none;cursor:pointer;border-radius:10px;transition:background .2s}.user-info-button:hover{background:#0000000d}.chevron-icon{transition:transform .2s;color:#6b7280}.chevron-icon.rotated{transform:rotate(180deg)}.profile-menu{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;border:1px solid #E5E7EB;z-index:1000;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-menu-header{padding:16px;display:flex;align-items:center;gap:12px}.user-avatar-large{width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}.profile-menu-name{font-weight:600;font-size:15px;color:#111827;margin-bottom:2px}.profile-menu-email{font-size:13px;color:#6b7280}.profile-menu-divider{height:1px;background:#e5e7eb;margin:8px 0}.profile-menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;cursor:pointer;font-size:14px;color:#374151;transition:background .15s;text-align:left}.profile-menu-item:hover{background:#f3f4f6}.profile-menu-logout{color:#dc2626}.profile-menu-logout:hover{background:#fee2e2}.sidebar-toggle,.sidebar-close-btn,.sidebar-overlay{display:none}.sidebar{transform:translate(0)}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:260px;flex-shrink:0}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}@media (max-width: 768px){.sidebar-toggle{display:flex!important;align-items:center;justify-content:center;background:none;border:none;color:#374151;cursor:pointer;padding:4px}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:999;transform:translate(-100%)!important;transition:transform .3s ease}.sidebar.sidebar-open{transform:translate(0)!important}.sidebar-overlay{display:block!important;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:998}.sidebar-close-btn{display:flex!important;position:absolute;top:16px;right:16px;background:none;border:none;color:#ffffffb3;cursor:pointer;z-index:10}.sidebar-logo{position:relative}.user-name,.chevron-icon{display:none}}.nav-section{margin-bottom:24px}.nav-section:last-child{margin-bottom:0}.nav-section-title{padding:8px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffff80;margin-bottom:4px}.nav-section .nav-item{margin-bottom:2px}.sidebar-nav{padding:16px 8px}.nav-section:not(:last-child):after{content:"";display:block;height:1px;background:#ffffff1a;margin:16px 12px 0}.nav-item{padding:10px 16px;margin:0 8px 2px;border-radius:8px;transition:all .2s ease}.nav-item:hover{background:#ffffff1a;transform:translate(2px)}.nav-item-active{background:#ffffff26;font-weight:600}.nav-badge{margin-left:auto;background:#ef4444;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;min-width:20px;text-align:center}.sidebar-nav{overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 80px);padding:16px 8px 24px}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.nav-section{margin-bottom:16px}.nav-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;cursor:pointer;border-radius:6px;transition:background .2s;-webkit-user-select:none;user-select:none}.nav-section-header:hover{background:#ffffff0d}.nav-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffff80}.nav-section-toggle{color:#fff6;transition:transform .3s ease;width:16px;height:16px}.nav-section-toggle.collapsed{transform:rotate(-90deg)}.nav-section-items{overflow:hidden;transition:max-height .3s ease,opacity .3s ease}.nav-section-items.collapsed{max-height:0!important;opacity:0}.nav-section-items.expanded{opacity:1}.nav-section:not(:last-child):after{display:none}.nav-section{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:12px;margin-bottom:12px}.nav-section:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn .5s ease-out}.animate-slideIn{animation:slideIn .5s ease-out}table{width:100%;border-collapse:separate;border-spacing:0}table thead tr{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}table thead th{padding:16px 24px;text-align:left;font-weight:600;font-size:13px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}table thead th:first-child{border-top-left-radius:12px}table thead th:last-child{border-top-right-radius:12px}table tbody tr{transition:all .2s cubic-bezier(.4,0,.2,1);background:#fff}table tbody tr:hover{background:linear-gradient(135deg,#f8f9ff,#f0f2ff);transform:scale(1.01);box-shadow:0 4px 12px #0000000d}table tbody td{padding:16px 24px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151}table tbody tr:last-child td:first-child{border-bottom-left-radius:12px}table tbody tr:last-child td:last-child{border-bottom-right-radius:12px}table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;letter-spacing:.3px}.badge-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 2px 8px #6366f14d}.badge-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d}.badge-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px #f59e0b4d}.badge-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef44444d}.search-container{position:relative;width:100%;max-width:400px}.search-container input{width:100%;padding:12px 16px 12px 44px;border:2px solid #e5e7eb;border-radius:12px;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff}.search-container input:focus{border-color:#6366f1;box-shadow:0 0 0 4px #6366f11a,0 4px 12px #6366f126;outline:none}.search-container .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.modal-overlay{background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;animation:fadeIn .3s ease-out}.glass-effect{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.gradient-text{background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.users-page{padding:0}.users-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.users-header-stat{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#eef2ff;border-radius:10px;color:#4f46e5;font-size:14px;font-weight:600}.users-alert{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:16px;animation:fadeIn .3s ease-out}.users-alert-error{background:#fef2f2;color:#991b1b;border:1px solid #FECACA}.users-alert-success{background:#f0fdf4;color:#166534;border:1px solid #BBF7D0}.users-alert-close{background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:4px;display:flex;transition:opacity .2s}.users-alert-close:hover{opacity:1}.users-search-bar{position:relative;margin-bottom:24px}.users-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.users-search-input{padding-left:42px!important}.users-loading{text-align:center;padding:60px 24px;color:#6b7280}.users-loading-spinner{width:36px;height:36px;border:3px solid #E5E7EB;border-top-color:#4f46e5;border-radius:50%;margin:0 auto 16px;animation:login-spin .7s linear infinite}.users-access-denied{text-align:center;padding:80px 24px;color:#991b1b}.users-access-denied svg{margin-bottom:16px;opacity:.6}.users-access-denied h3{font-size:20px;font-weight:700;margin-bottom:8px}.users-access-denied p{color:#6b7280;font-size:14px}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.users-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:20px;transition:all .25s cubic-bezier(.4,0,.2,1)}.users-card:hover{border-color:#c7d2fe;box-shadow:0 8px 24px -4px #6366f11a,0 4px 8px -2px #0000000a;transform:translateY(-2px)}.users-card-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}.users-avatar{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:700;flex-shrink:0;letter-spacing:.5px}.users-avatar-sm{width:36px;height:36px;font-size:13px;border-radius:10px}.users-card-info{min-width:0}.users-card-name{font-size:15px;font-weight:600;color:#111827;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.users-card-email{display:flex;align-items:center;gap:6px;color:#6b7280;font-size:13px}.users-card-email span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.users-card-roles{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.users-role-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600;text-transform:capitalize;border:1px solid transparent}.users-card-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:14px;border-top:1px solid #F3F4F6}.users-action-btn{flex:1 1 calc(50% - 4px);min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px solid #E5E7EB;border-radius:8px;background:#fff;color:#374151;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s;white-space:nowrap}.users-action-btn:hover{background:#f9fafb;border-color:#c7d2fe;color:#4f46e5}.users-action-btn:disabled{opacity:.6;cursor:not-allowed}.users-action-btn--onboarding{color:#005939;border-color:#a7f3d0;background:#f0fdf4}.users-action-btn--onboarding:hover{background:#ecfdf5;border-color:#6ee7b7;color:#005939}.users-header-right{display:flex;align-items:center;gap:12px}.users-password-wrapper{display:flex;gap:8px}.users-password-input-wrap{position:relative;flex:1}.users-password-input-wrap .form-input{padding-right:40px}.users-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#6b7280;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}.users-password-toggle:hover{color:#374151}.users-modal{width:440px;max-width:95vw}.users-modal--create{width:520px}.users-modal-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;display:flex;border-radius:6px;transition:all .2s}.users-modal-close:hover{background:#f3f4f6;color:#111827}.users-modal-body{padding:20px}.users-modal-user-info{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f9fafb;border-radius:10px;margin-bottom:20px}.users-modal-user-info div:last-child{display:flex;flex-direction:column}.users-modal-user-info strong{font-size:14px;color:#111827}.users-modal-user-info span{font-size:13px;color:#6b7280}.users-role-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.users-role-option{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #E5E7EB;border-radius:8px;cursor:pointer;transition:all .2s;font-size:13px;color:#374151}.users-role-option:hover{border-color:#c7d2fe;background:#f9fafb}.users-role-option input[type=checkbox]{width:16px;height:16px;accent-color:#4F46E5;cursor:pointer}.users-role-option span{font-weight:500}.users-role-option-active{border-width:1.5px}@media (max-width: 768px){.users-grid{grid-template-columns:1fr}.users-header{flex-direction:column;gap:12px}.users-role-grid{grid-template-columns:1fr 1fr}.users-modal--create{width:95vw}.users-password-wrapper{flex-direction:column}}.profile-page{max-width:800px;margin:0 auto}.profile-success-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f0fdf4;color:#166534;border:1px solid #BBF7D0;border-radius:10px;font-size:14px;font-weight:500;margin-bottom:24px;animation:fadeIn .3s ease-out}.profile-hero{position:relative;border-radius:16px;overflow:hidden;margin-bottom:24px;background:#fff;border:1px solid #E5E7EB}.profile-hero-bg{height:120px;background:linear-gradient(135deg,#6366f1,#4f46e5,#3730a3)}.profile-hero-content{display:flex;align-items:flex-end;gap:20px;padding:0 28px 24px;margin-top:-40px;position:relative}.profile-avatar-large{width:80px;height:80px;border-radius:18px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;border:4px solid #fff;box-shadow:0 4px 12px #0000001f;flex-shrink:0;letter-spacing:1px}.profile-hero-info{padding-top:8px;min-width:0}.profile-hero-name{font-size:22px;font-weight:700;color:#111827;margin:0 0 2px}.profile-hero-email{font-size:14px;color:#6b7280;margin:0 0 10px}.profile-hero-roles{display:flex;flex-wrap:wrap;gap:6px}.profile-grid{display:flex;flex-direction:column;gap:20px}.profile-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;overflow:hidden}.profile-card-header{display:flex;align-items:center;gap:10px;padding:16px 24px;border-bottom:1px solid #F3F4F6;color:#4f46e5}.profile-card-header h3{font-size:15px;font-weight:600;color:#111827;margin:0}.profile-detail-list{padding:4px 0}.profile-detail-row{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid #F9FAFB}.profile-detail-row:last-child{border-bottom:none}.profile-detail-label{font-size:13px;color:#6b7280;font-weight:500}.profile-detail-value{font-size:14px;color:#111827;font-weight:500}.profile-security-item{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;gap:16px}.profile-security-info{display:flex;align-items:center;gap:14px}.profile-security-icon{color:#9ca3af;flex-shrink:0}.profile-security-title{font-size:14px;font-weight:600;color:#111827;margin:0 0 2px}.profile-security-desc{font-size:13px;color:#6b7280;margin:0}.profile-leave-stats{display:flex;gap:12px;padding:4px 0}.profile-leave-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;background:#f9fafb;border-radius:10px;border:1px solid #F3F4F6;transition:transform .15s,box-shadow .15s}.profile-leave-stat:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.profile-leave-stat__number{font-size:28px;font-weight:700;line-height:1}.profile-leave-stat__label{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.profile-leave-stats{gap:8px}.profile-leave-stat{padding:12px 8px}.profile-leave-stat__number{font-size:22px}}.chpw-eye-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s}.chpw-eye-btn:hover{color:#4f46e5}@media (max-width: 768px){.profile-hero-content{flex-direction:column;align-items:center;text-align:center;padding:0 20px 20px;margin-top:-36px}.profile-hero-roles{justify-content:center}.profile-security-item{flex-direction:column;align-items:flex-start;gap:14px}.profile-security-item .btn{width:100%;justify-content:center}.profile-detail-row{flex-direction:column;align-items:flex-start;gap:4px}}.contracts-page{padding:0}.contracts-filters{display:flex;align-items:center;gap:16px;margin-bottom:12px;flex-wrap:wrap}.contracts-search{display:flex;align-items:center;gap:8px;flex:1;min-width:280px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:0 14px}.contracts-search .form-input{border:none;padding-left:0;background:transparent;box-shadow:none}.contracts-search .form-input:focus{box-shadow:none;border-color:transparent}.contracts-search svg{color:#9ca3af;flex-shrink:0}.contracts-filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.contracts-filter-group svg{color:#6b7280;flex-shrink:0}.contracts-filter-select{min-width:160px;font-size:13px;padding:8px 12px}.contracts-results-count{font-size:13px;color:#6b7280;margin-bottom:12px}.contracts-table{font-size:13px}.contracts-table th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.contracts-table td{white-space:nowrap}.contracts-table .amount-cell{text-align:right;font-variant-numeric:tabular-nums}.contract-client-name{display:flex;flex-direction:column;gap:2px;min-width:160px}.contract-client-name strong{font-size:13px;color:#111827}.contract-sheet-name,.contract-secondary-val{font-size:11px;color:#9ca3af}.contract-payment-mode{font-size:12px;color:#374151}.contracts-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 0 8px}.contracts-pagination-info{font-size:13px;color:#6b7280}.contract-edit-modal{max-width:820px;width:95vw;max-height:90vh;overflow-y:auto}.contract-edit-client{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9fafb;border-radius:10px;margin-bottom:20px}.contract-edit-client strong{font-size:15px;color:#111827}.contract-edit-id{font-size:12px;color:#9ca3af}.contract-services-dots{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.contract-service-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.contract-services-section{margin-bottom:18px;padding:14px 16px;background:#f9fafb;border-radius:10px}.contract-services-toggles{display:flex;flex-wrap:wrap;gap:8px}.contract-service-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1.5px solid #E5E7EB;background:#fff;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.contract-service-chip:hover{border-color:#9ca3af;background:#f3f4f6}.contract-service-chip--active{font-weight:600}.contract-service-chip__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:background-color .15s ease}.dm-edit-modal{max-width:900px!important;width:900px}.dm-edit-modal .modal-body{overflow-y:auto;max-height:calc(90vh - 130px)}.dm-section{margin-bottom:12px;border:1px solid #E5E7EB;border-radius:10px;overflow:hidden}.dm-section-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9fafb;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.dm-section-header:hover{background:#f3f4f6}.dm-section-header__left{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;color:#374151}.dm-section-header__left svg{color:#6b7280}.dm-section-body{padding:16px;border-top:1px solid #E5E7EB}.dm-toggle-row{display:flex;align-items:center;gap:12px;margin-top:4px}.dm-toggle-btn{display:inline-flex;align-items:center;justify-content:center;min-width:60px;padding:6px 16px;border-radius:20px;border:1.5px solid #D1D5DB;background:#fff;font-size:13px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .15s ease}.dm-toggle-btn--active{background:#4f46e518;border-color:#4f46e5;color:#4f46e5}.dm-toggle-btn--active.dm-toggle-btn--green{background:#05966918;border-color:#059669;color:#059669}.dm-toggle-hint{font-size:12px;color:#9ca3af}.dm-auto-total{display:flex;flex-direction:column;padding:8px 14px;background:#f0fdf4;border:1.5px solid #BBF7D0;border-radius:8px;font-size:18px;font-weight:700;color:#059669}.dm-auto-total small{font-size:11px;font-weight:400;color:#6b7280;margin-top:2px}.dm-premium-badge{color:#d97706;margin-left:6px;font-size:14px}.dm-account-type{font-size:12px;font-weight:500;color:#6b7280}.dm-account-type--premium{color:#d97706;font-weight:600}.form-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:14px}@media (max-width: 768px){.dm-edit-modal{max-width:100%!important;width:calc(100% - 16px)!important}.form-grid-2{grid-template-columns:1fr}}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}@media (max-width: 768px){.contracts-filters{flex-direction:column;align-items:stretch}.contracts-search{min-width:0}.contracts-filter-group{flex-wrap:wrap}.contracts-filter-select{min-width:0;flex:1}.contract-edit-modal{max-width:100%;width:100%}.form-grid-3{grid-template-columns:1fr}.contract-edit-client{flex-direction:column;align-items:flex-start;gap:4px}}.client-status-filter{display:flex;gap:6px;margin-bottom:16px}.client-status-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #E5E7EB;background:#fff;border-radius:8px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.client-status-tab:hover{background:#f9fafb;border-color:#d1d5db}.client-status-tab--active{background:#2563eb;border-color:#2563eb;color:#fff}.client-status-tab--active:hover{background:#1d4ed8;border-color:#1d4ed8}.client-status-tab__count{padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;background:#0000000f;color:inherit}.client-status-tab--active .client-status-tab__count{background:#ffffff40}.inactive-client-warning{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;background:#fef2f2;border:1px solid #FECACA;border-radius:10px;margin-top:10px}.inactive-client-warning svg{color:#dc2626;flex-shrink:0;margin-top:2px}.inactive-client-warning strong{color:#991b1b;font-size:14px;display:block;margin-bottom:2px}.inactive-client-warning p{color:#b91c1c;font-size:13px;margin:0}.client-selected-badge--inactive{border-color:#fecaca!important;background:#fef2f2!important;color:#991b1b!important}.job-edit-modal{max-width:900px;width:95vw;max-height:90vh;display:flex;flex-direction:column}.job-edit-tabs{display:flex;gap:0;border-bottom:1px solid #E5E7EB;padding:0 20px}.job-edit-tab{display:flex;align-items:center;gap:6px;padding:12px 16px;border:none;background:none;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.job-edit-tab:hover{color:#4f46e5}.job-edit-tab--active{color:#4f46e5;border-bottom-color:#4f46e5}.job-edit-body{padding:20px;max-height:60vh;overflow-y:auto}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-group--full{grid-column:1 / -1}.job-edit-service-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.job-edit-service-chip{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;border:1.5px solid #E5E7EB;background:#fff;color:#6b7280;transition:all .2s}.job-edit-service-chip:hover{border-color:#d1d5db}.job-edit-service-chip--selected{font-weight:600}.job-edit-service-section{margin-bottom:20px;padding:14px;background:#f9fafb;border-radius:10px;border:1px solid #E5E7EB}.job-edit-pricing-table{width:100%;border-collapse:collapse;font-size:13px}.job-edit-pricing-table th{text-align:left;padding:6px 8px;font-size:12px;font-weight:600;color:#6b7280;border-bottom:1px solid #E5E7EB}.job-edit-pricing-table td{padding:6px 8px;border-bottom:1px solid #F3F4F6}.jd-change-history{display:flex;flex-direction:column;gap:16px}.jd-history-batch{background:#f9fafb;border:1px solid #E5E7EB;border-radius:10px;padding:14px 16px}.jd-history-batch__header{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.jd-history-batch__user{font-weight:600;font-size:14px;color:#1f2937}.jd-history-batch__date{font-size:12px;color:#9ca3af}.jd-history-batch__count{font-size:12px;color:#6b7280;background:#e5e7eb;padding:2px 8px;border-radius:10px}.jd-history-batch__changes{display:flex;flex-direction:column;gap:6px}.jd-history-change{display:flex;align-items:flex-start;gap:10px;font-size:13px;padding:6px 0;border-top:1px solid #E5E7EB}.jd-history-change:first-child{border-top:none}.jd-history-change__field{font-weight:500;color:#4b5563;min-width:140px;flex-shrink:0}.jd-history-change__values{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.jd-history-change__old{color:#dc2626;text-decoration:line-through;background:#fef2f2;padding:1px 6px;border-radius:4px;font-size:12px;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jd-history-change__arrow{color:#9ca3af;font-size:12px}.jd-history-change__new{color:#059669;font-weight:500;background:#ecfdf5;padding:1px 6px;border-radius:4px;font-size:12px;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.job-edit-modal{max-width:100%;width:100%}.form-grid-2{grid-template-columns:1fr}.job-edit-tabs{overflow-x:auto}.jd-history-change{flex-direction:column;gap:4px}.jd-history-change__field{min-width:0}}.tasks-page{padding:0}.tasks-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.tasks-page .kpi-card,.tasks-page .jobs-table tr{cursor:pointer}.task-row--overdue{background:#fef2f2}.task-row--overdue:hover{background:#fee2e2}.task-id{font-family:SF Mono,monospace;font-size:13px;color:#6b7280}.task-title-text{font-weight:500;color:#111827}.task-assignee{display:flex;align-items:center;gap:8px}.task-assignee-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.task-overdue-date{color:#dc2626;font-weight:600}.task-job-link{color:#4f46e5;font-weight:500;text-decoration:none;font-family:SF Mono,monospace;font-size:13px}.task-job-link:hover{text-decoration:underline}.task-date-cell{white-space:nowrap;color:#6b7280;font-size:13px}.priority-badge{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.pagination-btn{padding:8px;border:1px solid #E5E7EB;border-radius:8px;background:#fff;cursor:pointer;color:#374151;display:flex;align-items:center}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:14px;color:#6b7280}.task-create-modal{max-width:560px;width:95%}.task-detail-modal{max-width:700px;width:95%;max-height:90vh;display:flex;flex-direction:column}.task-detail-modal .modal-body{overflow-y:auto;flex:1}.task-detail-id{font-family:SF Mono,monospace;font-size:12px;color:#6b7280;margin-left:8px}.task-detail-info{display:grid;gap:12px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #F3F4F6}.task-detail-row{display:flex;align-items:center;gap:12px}.task-detail-label{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280;min-width:120px;font-weight:500}.task-detail-description{background:#f9fafb;border-radius:10px;padding:14px;margin-top:4px}.task-detail-description p{margin:0;font-size:14px;color:#374151;white-space:pre-wrap}.task-status-actions{margin-bottom:20px;padding:16px;background:#f9fafb;border-radius:12px}.task-status-actions h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.task-status-btns{display:flex;gap:8px;flex-wrap:wrap}.task-status-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:opacity .15s}.task-status-btn:hover{opacity:.85}.task-status-btn--progress{background:#eef2ff;color:#4f46e5}.task-status-btn--complete{background:#ecfdf5;color:#059669}.task-status-btn--waiting{background:#fffbeb;color:#d97706}.task-status-btn--reject{background:#fef2f2;color:#dc2626}.task-status-form{margin-top:12px}.task-status-form textarea{width:100%;padding:10px 14px;border:1px solid #E5E7EB;border-radius:10px;font-size:14px;resize:vertical;font-family:inherit}.task-status-form-actions{display:flex;gap:8px;margin-top:10px;justify-content:flex-end}.task-completion-display{background:#ecfdf5;border:1px solid #A7F3D0;border-radius:12px;padding:16px;margin-bottom:20px}.task-completion-display--rejected{background:#fef2f2;border-color:#fecaca}.task-completion-display h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#111827}.task-completion-display p{margin:0;font-size:14px;color:#374151;white-space:pre-wrap}.task-completion-date{display:block;margin-top:8px;font-size:12px;color:#6b7280}.task-comments-section{border-top:1px solid #F3F4F6;padding-top:20px}.task-comments-section h4{margin:0 0 16px;font-size:14px;font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}.task-comments-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;max-height:300px;overflow-y:auto}.task-comments-empty{font-size:13px;color:#9ca3af;text-align:center;padding:16px 0}.task-comment{padding:12px;border-radius:10px;background:#f9fafb}.task-comment--completion{background:#ecfdf5;border-left:3px solid #10B981}.task-comment--rejection{background:#fef2f2;border-left:3px solid #DC2626}.task-comment--status_change{background:#eef2ff;border-left:3px solid #4F46E5}.task-comment-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.task-comment-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}.task-comment-author{font-size:13px;font-weight:600;color:#111827}.task-comment-date{font-size:12px;color:#9ca3af}.task-comment-type{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;margin-left:auto}.task-comment-type--completion{background:#d1fae5;color:#059669}.task-comment-type--rejection{background:#fecaca;color:#dc2626}.task-comment-type--status_change{background:#c7d2fe;color:#4338ca}.task-comment--edit{background:#fff7ed;border-left:3px solid #F59E0B}.task-comment-type--edit{background:#fef3c7;color:#b45309}.task-comment-text{font-size:14px;color:#374151;margin:0;white-space:pre-wrap}.task-add-comment{display:flex;gap:8px}.task-add-comment input{flex:1;padding:10px 14px;border:1px solid #E5E7EB;border-radius:10px;font-size:14px;outline:none}.task-add-comment input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.btn-sm{padding:8px 14px;font-size:13px}.btn-danger{background:#dc2626;color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600}.btn-danger:hover{background:#b91c1c}.jd-tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.jd-tasks-count{background:#4f46e5;color:#fff;font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px;margin-left:8px}.jd-tasks-empty{font-size:13px;color:#9ca3af;padding:16px 0}.jd-tasks-list{display:flex;flex-direction:column;gap:8px}.jd-task-card{display:block;text-decoration:none;background:#f9fafb;border:1px solid #E5E7EB;border-radius:10px;padding:12px 16px;transition:border-color .15s,box-shadow .15s}.jd-task-card:hover{border-color:#4f46e5;box-shadow:0 2px 8px #4f46e51a}.jd-task-card--overdue{border-color:#fecaca;background:#fef2f2}.jd-task-card__main{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}.jd-task-card__title{font-size:14px;font-weight:600;color:#111827}.jd-task-card__badges{display:flex;gap:6px;flex-shrink:0}.jd-task-card__meta{display:flex;gap:16px;font-size:12px;color:#6b7280}.jd-task-card__meta span{display:flex;align-items:center;gap:4px}.jd-task-overdue{color:#dc2626;font-weight:600}.jd-add-task-form{background:#f9fafb;border:1px solid #E5E7EB;border-radius:12px;padding:16px;margin-bottom:16px}.jd-add-task-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.req-assignment-section{background:#f9fafb;border:1px solid #E5E7EB;border-radius:12px;padding:16px;margin-top:16px}.req-assignment-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:20px;margin-top:16px;box-shadow:0 1px 3px #0000000a;transition:border-color .2s ease}.req-assignment-card:hover{border-color:#c7d2fe}.req-assignment-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#374151;margin:0 0 12px}.req-assigned-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.req-no-assignment{font-size:13px;color:#9ca3af;margin:0 0 12px}.user-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;background:#fff;border:1px solid #E5E7EB;border-radius:20px;font-size:13px;font-weight:500;color:#374151}.user-chip-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.user-chip-remove{background:none;border:none;cursor:pointer;color:#9ca3af;padding:0;margin-left:2px;display:flex}.user-chip-remove:hover{color:#dc2626}.req-assign-controls{display:flex;gap:8px;align-items:center}.req-assign-select{flex:1;padding:8px 12px;border:1px solid #E5E7EB;border-radius:8px;font-size:13px;background:#fff}@media (max-width: 768px){.tasks-page .jobs-table th:nth-child(7),.tasks-page .jobs-table td:nth-child(7),.tasks-page .jobs-table th:nth-child(8),.tasks-page .jobs-table td:nth-child(8){display:none}.task-create-modal,.task-detail-modal{max-width:100%;margin:8px}.jd-task-card__main{flex-direction:column;align-items:flex-start}}.onboarding-call-required{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #FECACA;border-left:4px solid #DC2626;border-radius:8px;margin-bottom:12px;color:#dc2626;font-size:13px;font-weight:600}.onboarding-call-badge{color:#dc2626!important;font-weight:700;background:#fef2f2;padding:2px 10px;border-radius:6px;border:1px solid #FECACA}.onboarding-call-note{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:#dc2626;font-weight:500}.form-radio-group{display:flex;gap:12px;margin-top:4px}.form-radio-option{display:flex;align-items:center;gap:8px;padding:8px 20px;border:1px solid #D1D5DB;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#374151;transition:all .15s ease}.form-radio-option:hover{border-color:#6366f1;background:#eef2ff}.form-radio-option--selected{border-color:#4f46e5;background:#eef2ff;color:#4338ca;font-weight:600}.form-radio-option input[type=radio]{accent-color:#4F46E5}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.job-project-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:6px;font-size:11px;font-weight:600;background-color:#00593915;color:#005939;border:1px solid #00593930;white-space:nowrap}.job-project-badge--lg{padding:4px 14px;font-size:13px;border-radius:8px}.users-card-projects{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.users-card-projects-icon{color:#005939}.users-project-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600;background-color:#00593912;color:#005939;border:1px solid #00593925}.users-projects-section{margin-top:20px;padding-top:20px;border-top:1px solid #E5E7EB}.users-projects-section h3{font-size:14px;font-weight:600;color:#1f2937;margin-bottom:12px}.task-attachments{margin-top:20px;padding:16px;background:#f9fafb;border-radius:10px;border:1px solid #E5E7EB}.task-attachments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.task-attachments-header h4{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#1f2937;margin:0}.task-upload-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#fff;border:1px solid #D1D5DB;border-radius:6px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s}.task-upload-btn:hover{background:#f3f4f6;border-color:#9ca3af}.task-attachments-empty{font-size:13px;color:#9ca3af;margin:0;text-align:center;padding:8px 0}.task-attachments-list{display:flex;flex-direction:column;gap:8px}.task-attachment-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;transition:border-color .15s}.task-attachment-item:hover{border-color:#d1d5db}.task-attachment-info{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.task-attachment-thumb{width:40px;height:40px;border-radius:6px;object-fit:cover;border:1px solid #E5E7EB}.task-attachment-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#eff6ff;border-radius:6px;color:#2563eb}.task-attachment-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.task-attachment-name{font-size:13px;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-attachment-size{font-size:11px;color:#9ca3af}.task-attachment-actions{display:flex;align-items:center;gap:4px;margin-left:8px}.task-attachment-action{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:none;background:transparent;color:#6b7280;cursor:pointer;transition:all .15s;text-decoration:none}.task-attachment-action:hover{background:#f3f4f6;color:#1f2937}.task-attachment-action--delete:hover{background:#fef2f2;color:#dc2626}.task-completion-files{margin-top:10px}.task-evidence-upload{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#f9fafb;border:1px dashed #D1D5DB;border-radius:6px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .15s}.task-evidence-upload:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.task-completion-file-list{display:flex;flex-direction:column;gap:4px;margin-top:8px}.task-completion-file-item{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#fff;border:1px solid #E5E7EB;border-radius:6px;font-size:12px;color:#374151}.task-completion-file-item span:first-of-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-completion-file-size{color:#9ca3af;font-size:11px;flex-shrink:0}.task-completion-file-item button{display:flex;align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;padding:2px;border-radius:4px;flex-shrink:0}.task-completion-file-item button:hover{color:#dc2626;background:#fef2f2}.task-evidence-files{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #E5E7EB}.task-evidence-label{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#6b7280}.task-evidence-link{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:#eff6ff;border:1px solid #BFDBFE;border-radius:6px;font-size:12px;color:#2563eb;text-decoration:none;transition:all .15s}.task-evidence-link:hover{background:#dbeafe;border-color:#93c5fd}.req-filter-bar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap;padding:14px 18px;background:#fff;border:1px solid #E5E7EB;border-radius:14px;box-shadow:0 1px 3px #00000008}.req-filter-bar__search{display:flex;align-items:center;gap:8px;flex:1;min-width:220px;padding:0 4px;position:relative}.req-filter-bar__search svg{color:#9ca3af;flex-shrink:0}.req-filter-bar__search input{border:none;outline:none;padding:8px 0;font-size:14px;font-family:inherit;width:100%;background:transparent;color:#111827}.req-filter-bar__clear{background:#f3f4f6;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .15s ease}.req-filter-bar__clear:hover{background:#e5e7eb;color:#374151}.req-filter-bar__filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.req-filter-select{padding:8px 14px;border:1.5px solid #E5E7EB;border-radius:10px;font-size:13px;font-family:inherit;background:#fff;color:#374151;cursor:pointer;transition:border-color .15s ease;min-width:140px}.req-filter-select:focus{border-color:#818cf8;outline:none;box-shadow:0 0 0 3px #6366f114}.req-filter-bar__reset{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;color:#dc2626;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit}.req-filter-bar__reset:hover{background:#fee2e2}.req-table-wrapper{overflow-x:auto;border:1px solid #E5E7EB;border-radius:14px;background:#fff;box-shadow:0 1px 3px #0000000a}.req-table{width:100%;border-collapse:collapse}.req-table th{text-align:left;padding:14px 24px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;background:#fafbfc;border-bottom:2px solid #E5E7EB}.req-table td{padding:16px 24px;font-size:14px;color:#374151;border-bottom:1px solid #F3F4F6}.req-table__row{transition:background-color .15s ease}.req-table__row:hover{background-color:#fafbff}.req-table__row:last-child td{border-bottom:none}.req-empty-state{text-align:center;padding:80px 24px}.req-empty-state__icon{margin:0 auto 20px;width:72px;height:72px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:20px;display:flex;align-items:center;justify-content:center;color:#4f46e5}.req-empty-state h3{font-size:18px;font-weight:600;color:#374151;margin:0 0 8px}.req-empty-state p{font-size:14px;color:#9ca3af;margin:0}.req-service-card{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.req-service-card:hover{border-color:#c7d2fe;box-shadow:0 4px 16px #4f46e514;transform:translateY(-2px)}.req-service-card__bar-fill{transition:width .6s cubic-bezier(.4,0,.2,1);background-image:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);background-size:200% 100%}.req-service-card:hover .req-service-card__bar-fill{animation:shimmer 1.5s ease infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width: 768px){.req-form-hero{padding:18px 16px}.req-form-hero__title{font-size:20px}.req-action-bar{flex-direction:column;align-items:stretch}.req-action-bar__left,.req-action-bar__right{justify-content:stretch}.btn-action{flex:1;justify-content:center}.req-form-card__header{padding:14px 16px}.req-form-card__body{padding:16px}.req-filter-bar{padding:12px}.req-filter-bar__search{min-width:100%}.req-filter-bar__filters{width:100%}.req-filter-select{flex:1;min-width:auto}.req-table th,.req-table td{padding:12px 14px}}@media (max-width: 768px){.main-content{padding:16px 12px;margin-left:0}.top-header{padding:12px 16px;margin-left:0;gap:8px}.page-content{padding:0}input,select,textarea{font-size:16px!important}.stepper{gap:2px;margin-bottom:24px}.step-circle{width:32px;height:32px;font-size:12px;border-width:2px}.step-label{font-size:10px}.stepper:before{top:16px}.step-form{padding:20px 16px}.step-actions{flex-direction:column;gap:10px;margin-top:20px}.step-actions button{width:100%;justify-content:center}.create-job-body{padding:16px}.services-grid{grid-template-columns:1fr!important}.detail-pricing-table,.jd-alloc-table,.job-edit-pricing-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.detail-pricing-table th,.detail-pricing-table td,.jd-alloc-table th,.jd-alloc-table td,.job-edit-pricing-table th,.job-edit-pricing-table td{padding:8px 10px;font-size:12px;white-space:nowrap}.jd-tab{padding:8px 10px;font-size:12px;gap:4px}.jd-header__meta{flex-direction:column;gap:8px}.detail-section{padding:16px}.jd-service-block__header{flex-direction:column;align-items:flex-start;gap:8px}.jd-add-task-form .form-grid-2{grid-template-columns:1fr}.action-buttons{flex-direction:column}.action-buttons button{width:100%;justify-content:center}.page-title{font-size:20px}.req-form-actions{flex-direction:column}.req-form-actions button{width:100%;justify-content:center}.req-form-share-actions{flex-direction:column}.req-form-share-actions button{width:100%;justify-content:center}.jobs-table th:nth-child(5),.jobs-table td:nth-child(5),.jobs-table th:nth-child(6),.jobs-table td:nth-child(6){display:none}.modal-content{margin:8px;max-width:100%!important;width:calc(100% - 16px)!important}.modal-body{padding:16px}.modal-footer{flex-direction:column;gap:8px}.modal-footer button{width:100%;justify-content:center}.profile-menu{right:-8px;min-width:240px}.header-search,.user-name,.chevron-icon{display:none}.req-table th:nth-child(6),.req-table td:nth-child(6),.req-table th:nth-child(7),.req-table td:nth-child(7){display:none}.task-create-modal,.task-detail-modal{max-width:100%;margin:8px}.bills-table th:nth-child(5),.bills-table td:nth-child(5),.bills-table th:nth-child(6),.bills-table td:nth-child(6){display:none}.inv-table th:nth-child(4),.inv-table td:nth-child(4),.inv-table th:nth-child(5),.inv-table td:nth-child(5){display:none}.btn-copy-link span{display:none}}.attendance-page{padding:0}.attendance-page .page-header{margin-bottom:20px}.attendance-page .page-title{font-size:24px;font-weight:700;color:#111827}.tab-navigation{display:flex;gap:4px;background:#f3f4f6;border-radius:12px;padding:4px;margin-bottom:24px}.tab-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;border:none;background:transparent;color:#6b7280;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.tab-btn:hover{color:#111827;background:#ffffff80}.tab-btn-active{background:#fff;color:#005939;font-weight:600;box-shadow:0 1px 3px #0000001a}.checkin-card{background:#fff;border-radius:16px;border:1px solid #e5e7eb;padding:24px;margin-bottom:24px}.checkin-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.checkin-card__header h3{font-size:18px;font-weight:600;margin:0}.checkin-date{color:#6b7280;font-size:14px}.checkin-card__body{display:flex;justify-content:space-between;align-items:center;gap:16px}.checkin-status__text{display:flex;align-items:center;gap:8px;font-size:15px;color:#374151}.checkin-actions{display:flex;gap:12px;align-items:center}.btn-lg{padding:12px 28px!important;font-size:15px!important;font-weight:600!important}.btn-danger{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s}.btn-danger:hover{opacity:.9;transform:translateY(-1px)}.checkin-complete-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#d1fae5;color:#059669;border-radius:8px;font-weight:600;font-size:14px}.balance-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px}.balance-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:20px;display:flex;align-items:center;gap:16px}.balance-card__icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.balance-card--annual .balance-card__icon{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.balance-card--wfh .balance-card__icon{background:linear-gradient(135deg,#2563eb,#3b82f6)}.balance-card--comp-off .balance-card__icon{background:linear-gradient(135deg,#d97706,#f59e0b)}.balance-card__body{display:flex;flex-direction:column}.balance-card__number{font-size:28px;font-weight:700;color:#111827;line-height:1.2}.balance-card__label{font-size:13px;color:#6b7280;font-weight:500}.balance-card__detail{font-size:12px;color:#9ca3af;margin-top:2px}.balance-cards--compact{display:flex;gap:12px;margin-bottom:20px}.balance-card-sm{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 16px;display:flex;align-items:center;gap:8px}.balance-card-sm__label{font-size:13px;color:#6b7280}.balance-card-sm__value{font-size:14px;font-weight:600;color:#111827}.attendance-section{background:#fff;border-radius:16px;border:1px solid #e5e7eb;padding:24px;margin-bottom:24px}.section-subtitle{font-size:16px;font-weight:600;color:#111827;margin:0 0 16px;display:flex;align-items:center;gap:8px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-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;white-space:nowrap}.data-table td{padding:10px 12px;border-bottom:1px solid #f3f4f6;color:#374151}.data-table tbody tr:hover{background:#f9fafb}.text-mono{font-family:SF Mono,Fira Code,monospace;font-size:13px}.text-truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-sm{font-size:12px}.month-selector{display:flex;align-items:center;gap:12px}.month-label{font-size:15px;font-weight:600;color:#111827;min-width:150px;text-align:center}.team-calendar-tab{background:#fff;border-radius:16px;border:1px solid #e5e7eb;padding:24px}.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding:12px;background:#f9fafb;border-radius:8px}.legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#374151}.legend-dot{width:12px;height:12px;border-radius:50%}.legend-dot--weekend{background:#e5e7eb}.calendar-grid-wrapper{overflow-x:auto}.calendar-grid{width:100%;border-collapse:collapse;font-size:12px}.calendar-grid th{padding:6px 2px;text-align:center;font-weight:600;color:#6b7280;border-bottom:2px solid #f3f4f6;font-size:11px;min-width:24px}.calendar-grid td{padding:4px 2px;text-align:center;border-bottom:1px solid #f9fafb}.calendar-name-col{min-width:150px!important;text-align:left!important;position:sticky;left:0;background:#fff;z-index:1}.calendar-name-cell{text-align:left!important;position:sticky;left:0;background:#fff;z-index:1}.calendar-user-info{display:flex;align-items:center;gap:8px}.user-avatar-sm{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#005939,#00875a);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.calendar-day-col.weekend,.calendar-cell.weekend{background:#f9fafb}.calendar-cell-dot{width:14px;height:14px;border-radius:4px;margin:0 auto}.leave-actions-row{display:flex;gap:12px;margin-bottom:20px}.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-sm{padding:6px 12px!important;font-size:13px!important}.reports-tab{background:#fff;border-radius:16px;border:1px solid #e5e7eb;padding:24px}.loading-state{display:flex;justify-content:center;align-items:center;padding:48px;color:#6b7280;font-size:15px}@media (max-width: 768px){.tab-navigation{overflow-x:auto}.checkin-card__body{flex-direction:column;align-items:flex-start}.balance-cards{grid-template-columns:1fr}.balance-cards--compact,.leave-actions-row{flex-direction:column}.calendar-legend{gap:8px}}.header-checkin-wrapper{display:flex;align-items:center}.header-checkin-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;white-space:nowrap}.header-checkin-btn--checkin{background:linear-gradient(135deg,#059669,#10b981);color:#fff;box-shadow:0 2px 8px #10b9814d;animation:pulse-checkin 2s infinite}.header-checkin-btn--checkin:hover{background:linear-gradient(135deg,#047857,#059669);box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.header-checkin-btn--checkout{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;box-shadow:0 2px 8px #ef44444d}.header-checkin-btn--checkout:hover{background:linear-gradient(135deg,#b91c1c,#dc2626);box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}.header-checkin-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;animation:none}.header-checkin-done{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#10b9811a;color:#059669;border-radius:10px;font-size:13px;font-weight:600}@keyframes pulse-checkin{0%,to{box-shadow:0 2px 8px #10b9814d}50%{box-shadow:0 2px 20px #10b98199}}.checkin-prompt-modal{width:400px;max-width:90vw;text-align:center}.checkin-prompt-header{padding:32px 24px 16px}.checkin-prompt-icon{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#059669,#10b981);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.checkin-prompt-header h3{font-size:20px;font-weight:700;color:#111827;margin:0 0 8px}.checkin-prompt-header p{font-size:14px;color:#6b7280;margin:0}.checkin-prompt-actions{padding:16px 24px 24px;display:flex;flex-direction:column;gap:8px}.checkin-prompt-btn{display:flex;align-items:center;justify-content:center;gap:8px}.forced-checkout-warning{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;margin-bottom:16px}@media (max-width: 768px){.header-checkin-btn span{display:none}.header-checkin-btn{padding:8px}.header-checkin-done span{display:none}.header-checkin-done{padding:8px}.session-indicator{display:none}}.session-indicator{display:inline-flex;align-items:center;padding:4px 10px;background:#10b9811a;color:#059669;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;letter-spacing:.3px}.modal-sm{width:400px;max-width:92vw}.modal-md{width:520px;max-width:92vw}.camera-capture{width:100%}.camera-capture-trigger{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:20px;border:2px dashed #D1D5DB;border-radius:12px;background:#f9fafb;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.camera-capture-trigger:hover{border-color:#059669;background:#0596690a;color:#059669}.camera-capture-trigger:active{transform:scale(.98)}.camera-capture-preview{display:flex;flex-direction:column;gap:12px}.camera-preview-img{width:100%;max-height:240px;object-fit:cover;border-radius:10px;border:1px solid #E5E7EB}.camera-capture-actions{display:flex;gap:8px}.camera-btn{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;padding:10px 16px;font-size:13px;font-weight:600;font-family:inherit}.camera-streaming{display:flex;flex-direction:column;align-items:center;gap:16px}.camera-video{width:100%;max-height:280px;border-radius:10px;background:#000;transform:scaleX(-1);object-fit:cover}.camera-shutter-btn{width:56px;height:56px;border-radius:50%;border:3px solid #374151;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s}.camera-shutter-btn:hover{border-color:#059669;transform:scale(1.05)}.camera-shutter-btn:active{transform:scale(.95)}.camera-shutter-inner{width:42px;height:42px;border-radius:50%;background:#ef4444;transition:background .15s}.camera-shutter-btn:hover .camera-shutter-inner{background:#dc2626}.camera-error-state{display:flex;flex-direction:column;gap:12px}.camera-error-box{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#fffbeb;border:1px solid #FDE68A;border-radius:10px;color:#92400e;font-size:13px;line-height:1.5}.camera-error-box svg{flex-shrink:0;margin-top:1px}.camera-error-actions{display:flex;align-items:center;gap:12px}.camera-skip-btn{background:none;border:none;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-family:inherit;padding:8px 4px;transition:color .2s}.camera-skip-btn:hover{color:#374151}.camera-skipped-warning{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fffbeb;border:1px solid #FDE68A;border-radius:8px;color:#92400e;font-size:13px;font-weight:500}.work-mode-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.work-mode-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;border:2px solid #E5E7EB;border-radius:14px;background:#fafafa;cursor:pointer;transition:all .2s;font-family:inherit;text-align:center;color:#374151}.work-mode-card:hover{border-color:#059669;background:#0596690a;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.work-mode-card:active{transform:translateY(0)}.work-mode-card--wfh:hover{border-color:#3b82f6;background:#3b82f60a}.work-mode-card__title{font-size:15px;font-weight:700;color:#111827}.work-mode-card__desc{font-size:12px;color:#9ca3af;line-height:1.3}.session-list{display:flex;flex-direction:column;gap:8px}.session-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f9fafb;border-radius:8px;border:1px solid #F3F4F6;font-size:13px}.session-item-number{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#e5e7eb;color:#374151;font-size:11px;font-weight:700;margin-right:10px}.session-item-time{display:flex;align-items:center;gap:6px;color:#374151;font-weight:500}.session-item-hours{color:#059669;font-weight:600;font-size:12px;margin-left:auto;padding-left:12px}.session-item--open{border-color:#bbf7d0;background:#10b9810d}.session-item--open .session-item-number{background:#059669;color:#fff}.logs-page{padding:0}.logs-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}.logs-header-right{display:flex;align-items:center;gap:8px}.logs-auto-refresh-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #D1D5DB;border-radius:8px;background:#fff;color:#6b7280;font-size:13px;cursor:pointer;transition:all .2s}.logs-auto-refresh-btn:hover{background:#f3f4f6}.logs-auto-refresh-btn--active{background:#ecfdf5;border-color:#059669;color:#059669}@keyframes logs-spin-anim{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.logs-spin{animation:logs-spin-anim 2s linear infinite}.logs-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.logs-stat-card{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#fff;border:1px solid #E5E7EB;border-radius:12px}.logs-stat-card__icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logs-stat-card__icon--total{background:#eef2ff;color:#4f46e5}.logs-stat-card__icon--errors{background:#fef2f2;color:#dc2626}.logs-stat-card__icon--failed{background:#fffbeb;color:#d97706}.logs-stat-card__icon--users{background:#ecfdf5;color:#059669}.logs-stat-card__info{display:flex;flex-direction:column}.logs-stat-card__value{font-size:24px;font-weight:700;color:#1f2937;line-height:1.2}.logs-stat-card__label{font-size:12px;color:#6b7280;margin-top:2px}.logs-filters{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.logs-tabs{display:flex;gap:4px;background:#f3f4f6;border-radius:10px;padding:4px}.logs-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;background:transparent;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.logs-tab:hover{color:#1f2937}.logs-tab--active{background:#fff;color:#005939;font-weight:600;box-shadow:0 1px 3px #00000014}.logs-filters-right{display:flex;align-items:center;gap:12px}.logs-date-btns{display:flex;gap:4px}.logs-date-btn{padding:6px 14px;border:1px solid #D1D5DB;border-radius:6px;background:#fff;color:#6b7280;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.logs-date-btn:hover{background:#f3f4f6}.logs-date-btn--active{background:#005939;color:#fff;border-color:#005939}.logs-search-bar{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #D1D5DB;border-radius:8px;padding:0 12px;min-width:220px}.logs-search-bar svg{color:#9ca3af;flex-shrink:0}.logs-search-input{border:none!important;padding:8px 0!important;background:transparent!important;font-size:13px;outline:none;width:100%}.logs-alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;font-size:14px}.logs-alert-error{background:#fef2f2;border:1px solid #FECACA;color:#991b1b}.logs-alert button{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;padding:0 4px}.logs-loading{text-align:center;padding:60px 20px;color:#6b7280}.logs-loading p{margin-top:12px;font-size:14px}.logs-empty{text-align:center;padding:60px 20px;color:#9ca3af}.logs-empty h3{color:#6b7280;margin:12px 0 4px;font-size:16px}.logs-empty p{font-size:13px}.logs-access-denied{text-align:center;padding:80px 20px;color:#9ca3af}.logs-access-denied h3{color:#1f2937;margin:16px 0 8px}.logs-table-wrapper{overflow-x:auto;border:1px solid #E5E7EB;border-radius:12px;background:#fff}.logs-table{width:100%;border-collapse:collapse;font-size:13px}.logs-table thead{background:#f9fafb}.logs-table th{padding:12px 14px;text-align:left;font-weight:600;color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #E5E7EB;white-space:nowrap}.logs-table td{padding:10px 14px;color:#1f2937;border-bottom:1px solid #F3F4F6;vertical-align:middle}.logs-row{cursor:pointer;transition:background .15s}.logs-row:hover{background:#f9fafb}.logs-row--expanded{background:#f0fdf4}.logs-cell-timestamp{display:flex;align-items:center;gap:6px;color:#6b7280;font-size:12px;white-space:nowrap}.logs-cell-user{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4b5563;font-size:12px}.logs-cell-message{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-cell-expand{text-align:center;color:#9ca3af}.logs-level-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.logs-level-badge--info{background:#ecfdf5;color:#065f46}.logs-level-badge--warn{background:#fffbeb;color:#92400e}.logs-level-badge--error{background:#fef2f2;color:#991b1b}.logs-category-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:500;background:#f3f4f6;color:#4b5563}.logs-category-badge--auth{background:#eef2ff;color:#4338ca}.logs-category-badge--api{background:#fef2f2;color:#991b1b}.logs-category-badge--activity{background:#ecfdf5;color:#065f46}.logs-action-badge{display:inline-block;font-size:12px;color:#374151;font-weight:500;text-transform:capitalize}.logs-row-detail td{padding:0 14px 14px;background:#f9fafb;border-bottom:2px solid #E5E7EB}.logs-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px 0 0}.logs-detail-item{display:flex;flex-direction:column;gap:2px}.logs-detail-full{grid-column:1 / -1}.logs-detail-label{font-size:11px;color:#9ca3af;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.logs-detail-value{font-size:13px;color:#1f2937}.logs-detail-mono{font-family:SF Mono,Monaco,Courier New,monospace;font-size:12px}.logs-detail-pre{background:#1f2937;color:#e5e7eb;padding:14px;border-radius:8px;font-size:12px;font-family:SF Mono,Monaco,Courier New,monospace;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto;margin-top:4px}.logs-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;padding:12px 0}.logs-page-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #D1D5DB;border-radius:8px;background:#fff;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.logs-page-btn:hover:not(:disabled){background:#f3f4f6}.logs-page-btn:disabled{opacity:.4;cursor:not-allowed}.logs-page-info{font-size:13px;color:#6b7280}@media (max-width: 768px){.logs-stats{grid-template-columns:repeat(2,1fr)}.logs-filters,.logs-filters-right{flex-direction:column;align-items:stretch}.logs-tabs{overflow-x:auto}.logs-detail-grid{grid-template-columns:repeat(2,1fr)}}.pipeline-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:16px;min-height:400px}.pipeline-column{min-width:260px;max-width:300px;flex:1 0 260px;background:#f3f4f6;border-radius:12px;display:flex;flex-direction:column}.pipeline-column-header{padding:12px 16px;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;align-items:center}.pipeline-column-header h4{margin:0;font-size:13px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.pipeline-column-header .pipeline-column-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.pipeline-column-count{background:#ffffff40;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.pipeline-column-value{color:#ffffffe6;font-size:11px;font-weight:500}.pipeline-column-body{padding:8px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.lead-card{background:#fff;border-radius:8px;padding:12px;cursor:pointer;border:1px solid #E5E7EB;transition:all .2s ease}.lead-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px);border-color:#d1d5db}.lead-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.lead-card-business{font-size:14px;font-weight:600;color:#111827;line-height:1.3}.lead-card-priority{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;color:#fff;white-space:nowrap;flex-shrink:0}.lead-card-contact{font-size:12px;color:#6b7280;margin-bottom:8px}.lead-card-footer{display:flex;justify-content:space-between;align-items:center}.lead-card-value{font-size:13px;font-weight:700;color:#059669}.lead-card-date{font-size:11px;color:#9ca3af}.lead-card-source{font-size:11px;color:#9ca3af;margin-top:4px}.pipeline-column-empty{text-align:center;padding:24px 16px;color:#9ca3af;font-size:13px}.lead-detail-tabs{display:flex;gap:0;border-bottom:2px solid #E5E7EB;margin-bottom:20px}.lead-detail-tab{padding:10px 20px;font-size:14px;font-weight:500;color:#6b7280;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;cursor:pointer}.lead-detail-tab:hover{color:#374151}.lead-detail-tab.active{color:#059669;border-bottom-color:#059669;font-weight:600}.lead-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lead-status-progression{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #E5E7EB}.lead-status-btn{padding:6px 14px;border-radius:6px;font-size:12px;font-weight:600;color:#fff;transition:all .2s;opacity:.85}.lead-status-btn:hover{opacity:1;transform:scale(1.02)}.lead-status-btn.active{opacity:1;box-shadow:0 0 0 2px #fff,0 0 0 4px currentColor}.lead-status-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.lead-lost-reason{margin-top:12px}.activity-feed{display:flex;flex-direction:column;gap:0;position:relative}.activity-feed:before{content:"";position:absolute;left:16px;top:0;bottom:0;width:2px;background:#e5e7eb}.activity-item{display:flex;gap:12px;padding:12px 0;position:relative}.activity-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;border:2px solid #fff}.activity-icon--comment{background:#eff6ff;color:#3b82f6}.activity-icon--call{background:#fef3c7;color:#d97706}.activity-icon--email{background:#f3e8ff;color:#8b5cf6}.activity-icon--meeting{background:#ecfdf5;color:#059669}.activity-icon--status_change{background:#fee2e2;color:#dc2626}.activity-content{flex:1;min-width:0}.activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.activity-author{font-size:13px;font-weight:600;color:#111827}.activity-time{font-size:11px;color:#9ca3af}.activity-body{font-size:13px;color:#4b5563;line-height:1.5}.activity-body p{margin:0}.activity-call-meta{display:flex;gap:12px;margin-top:4px;font-size:11px;color:#6b7280}.activity-status-change{display:flex;align-items:center;gap:6px;font-size:12px}.activity-status-badge{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;color:#fff}.add-activity-form{margin-top:16px;padding-top:16px;border-top:1px solid #E5E7EB}.add-activity-type-tabs{display:flex;gap:8px;margin-bottom:12px}.add-activity-type-tab{padding:6px 14px;border-radius:6px;font-size:12px;font-weight:500;background:#f3f4f6;color:#6b7280;transition:all .2s}.add-activity-type-tab:hover{background:#e5e7eb}.add-activity-type-tab.active{background:#059669;color:#fff}.call-log-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.create-lead-section{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #F3F4F6}.create-lead-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.create-lead-section .form-group{margin-bottom:14px}.create-lead-section .form-group:last-child{margin-bottom:0}.create-lead-section .form-row{margin-bottom:0}.create-lead-section .form-row .form-group{margin-bottom:14px}.create-lead-section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#374151;margin-bottom:14px}.create-lead-section-title svg{color:#059669;flex-shrink:0}.lead-services-section{display:flex;flex-direction:column;gap:16px}.lead-services-total{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:12px;border-top:2px solid #E5E7EB;font-size:18px;font-weight:700;color:#059669}.pipeline-analytics-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.pipeline-analytics-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #E5E7EB}.pipeline-analytics-card h4{font-size:13px;color:#6b7280;font-weight:500;margin-bottom:8px}.pipeline-analytics-card .analytics-value{font-size:28px;font-weight:700;color:#111827}.pipeline-analytics-card .analytics-value.green{color:#059669}.pipeline-analytics-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pipeline-breakdown-section{background:#fff;border-radius:12px;padding:20px;border:1px solid #E5E7EB}.pipeline-breakdown-section h4{font-size:15px;font-weight:600;margin-bottom:16px}.pipeline-breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #F3F4F6}.pipeline-breakdown-item:last-child{border-bottom:none}.pipeline-breakdown-label{font-size:13px;color:#374151;display:flex;align-items:center;gap:8px}.pipeline-breakdown-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pipeline-breakdown-value{font-size:13px;font-weight:600;color:#111827}.convert-job-summary{background:#f0fdf4;border:1px solid #BBF7D0;border-radius:8px;padding:16px;margin-bottom:16px}.convert-job-summary h4{color:#059669;margin-bottom:8px}.convert-job-summary p{margin:4px 0;font-size:14px;color:#374151}.convert-job-services{margin-top:12px}.convert-job-services li{font-size:13px;color:#4b5563;margin-bottom:4px}.pipeline-filters{display:flex;gap:12px;margin-bottom:16px;align-items:center;flex-wrap:wrap}.pipeline-filters .form-select,.pipeline-filters .form-input{max-width:200px}@media (max-width: 768px){.pipeline-board{gap:12px}.pipeline-column{min-width:220px;max-width:260px}.lead-info-grid,.pipeline-analytics-breakdown,.call-log-fields{grid-template-columns:1fr}.lead-detail-tabs{overflow-x:auto}.pipeline-filters{flex-direction:column;align-items:stretch}.pipeline-filters .form-select,.pipeline-filters .form-input{max-width:100%}}
