body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f8f9fa}.calendar-dashboard{display:flex;flex-direction:column;height:100vh;background:#f8f9fa}.calendar-dashboard.loading{display:flex;justify-content:center;align-items:center}.tabs-header{background:#fff;padding:14px 16px;border-bottom:1px solid #e0e0e0;display:flex;gap:10px;flex-wrap:wrap;box-shadow:0 1px 3px #0000000d}.tab{padding:10px 16px;background:#fff;border:2px solid #e0e0e0;border-radius:6px;font-weight:700;font-size:13px;cursor:pointer;transition:all .25s ease;color:#495057;white-space:nowrap}.tab:hover{border-color:#17a2b8;color:#17a2b8;background:#f0f8fa}.tab.active{background:#17a2b8;color:#fff;border-color:#17a2b8}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;padding:12px 16px;margin:12px;display:flex;justify-content:space-between;align-items:center;color:#721c24;font-size:12px;font-weight:500}.error-message button{margin-left:12px;padding:6px 12px;background:#721c24;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600}.content{display:flex;flex:1;overflow:hidden}.sidebar{width:280px;background:#fff;border-right:1px solid #e0e0e0;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.mini-calendar{display:flex;flex-direction:column}.mini-calendar h3{font-size:13px;font-weight:700;margin-bottom:12px;color:#212529}.calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:6px}.calendar-controls button{background:#fff;border:1px solid #e0e0e0;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;color:#495057;transition:all .2s ease}.calendar-controls button:hover{border-color:#17a2b8;color:#17a2b8}.month-year-display{text-align:center;font-size:12px;font-weight:700;color:#212529;flex:1}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px}.weekday{text-align:center;font-size:10px;font-weight:700;color:#6c757d;padding:4px 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer;border-radius:4px;border:1px solid transparent;color:#495057;transition:all .2s ease}.day:hover{background:#f0f0f0}.day.today{background:#17a2b8;color:#fff;font-weight:700}.day.selected{border:2px solid #17a2b8;font-weight:700}.day.empty{color:#ccc}.filter-panel{flex:1;border-top:1px solid #e0e0e0;background:#f8f9fa;padding:12px;border-radius:6px;display:flex;flex-direction:column;gap:12px}.filter-panel h3{margin:0 0 12px;font-size:14px;font-weight:700;color:#212529}.filter-section{display:flex;flex-direction:column;gap:10px}.filter-section h4{font-size:11px;font-weight:700;color:#17a2b8;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.filter-checkbox{display:flex;align-items:center;gap:8px;padding:6px 8px;cursor:pointer;border-radius:4px;transition:all .2s ease;font-size:12px;color:#333;-webkit-user-select:none;user-select:none}.filter-checkbox:hover{background:#e8f4f8}.filter-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:#17a2b8;margin:0}.filter-checkbox span{flex:1;color:#495057;font-weight:500}.filter-checkbox.disabled{opacity:.55;cursor:not-allowed}.filter-checkbox.disabled input[type=checkbox]{cursor:not-allowed;opacity:.6}.filter-checkbox.disabled span{color:#999;font-style:italic}.filters{display:flex;flex-direction:column;gap:12px}.filter-item{display:flex;align-items:center;gap:8px;padding:6px 8px;cursor:pointer;border-radius:4px;transition:all .2s ease;font-size:11px;color:#495057}.filter-item:hover{background:#f0f0f0}.filter-item input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:#17a2b8}.main-content{flex:1;background:#f8f9fa;display:flex;flex-direction:column;overflow:hidden}.content-header{background:#fff;padding:12px 16px;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.header-left h2{font-size:15px;color:#17a2b8;font-weight:700;margin:0}.date-range-selector{display:flex;align-items:center;gap:8px}.date-range-selector button{background:#fff;border:1px solid #e0e0e0;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;color:#495057;transition:all .2s ease;white-space:nowrap}.date-range-selector button:hover{border-color:#17a2b8;color:#17a2b8;background:#f0f8fa}.date-range-selector button.today-btn{background:#17a2b8;color:#fff;border-color:#17a2b8}.date-range-display{font-size:11px;font-weight:600;color:#212529;min-width:140px;text-align:center;white-space:nowrap}.view-toggle{display:flex;gap:4px}.view-toggle button{background:#fff;border:1px solid #e0e0e0;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:10px;font-weight:600;color:#495057;transition:all .2s ease}.view-toggle button.active{background:#17a2b8;color:#fff;border-color:#17a2b8}.week-view-container{flex:1;overflow:auto;background:#fff;margin:12px;border-radius:8px;border:1px solid #e0e0e0}.week-grid{display:grid;grid-template-columns:70px repeat(7,1fr);gap:1px;background:#e0e0e0;padding:1px;min-width:1100px}.week-grid.day-view{grid-template-columns:70px 1fr;min-width:auto}.time-slot-header{background:#fff;padding:8px}.time-slot{background:#f8f9fa;padding:8px 4px;text-align:center;font-size:10px;font-weight:600;color:#495057;border-right:1px solid #e0e0e0;display:flex;align-items:center;justify-content:center;min-height:60px}.day-header{background:#17a2b8;color:#fff;padding:8px 4px;text-align:center;font-weight:700;font-size:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:50px}.day-header.today{background:#0d7a8f;box-shadow:inset 0 0 0 2px #ffc107}.day-of-week{font-size:9px;opacity:.95}.day-number{font-size:12px;font-weight:800}.day-column{background:#fff;padding:4px;display:flex;flex-direction:column;gap:2px;min-height:60px;position:relative}.day-column:nth-child(odd){background:#fafbfc}.appointment-block{background:linear-gradient(135deg,#17a2b8,#0d7a8f);color:#fff;padding:3px 4px;border-radius:3px;font-size:8px;border-left:3px solid #ffc107;cursor:pointer;transition:all .2s ease;overflow:hidden}.appointment-block:hover{box-shadow:0 2px 8px #0003;transform:scale(1.02)}.appointment-block.offline{background:linear-gradient(135deg,#17a2b8,#0d7a8f)}.appointment-block.ai{background:linear-gradient(135deg,#1f1fb9,#2929da);border-left-color:#fff176}.appointment-block.tech{background:linear-gradient(135deg,#6f42c1,#5a3399)}.appointment-time{font-weight:800;font-size:7px;opacity:.9}.appointment-customer{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.appointment-service{font-size:7px;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-jobsheet{margin-top:2px;padding-top:2px;border-top:1px solid rgba(255,255,255,.3);font-size:6px;font-weight:700;color:#ffffffe6;font-family:Courier New,monospace;letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-badge{margin-top:2px;padding:1px 2px;background-color:#00000040;border-radius:2px;font-size:6px;font-weight:700;color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-block.blue{background:linear-gradient(135deg,#3498db,#2980b9)!important;border-left-color:#5dade2!important}.appointment-block.blue:hover{box-shadow:0 2px 8px #3498db66}.appointment-block.yellow{background:linear-gradient(135deg,#f39c12,#e67e22)!important;border-left-color:#f8b88b!important}.appointment-block.yellow:hover{box-shadow:0 2px 8px #f39c1266}.appointment-block.red{background:linear-gradient(135deg,#e74c3c,#c0392b)!important;border-left-color:#ec7063!important}.appointment-block.red:hover{box-shadow:0 2px 8px #e74c3c66}.appointment-block.orange{background:linear-gradient(135deg,#ff9800,#f57c00)!important;border-left-color:#ffb347!important}.appointment-block.orange:hover{box-shadow:0 2px 8px #ff980066}@media (max-width: 1400px){.week-grid{grid-template-columns:60px repeat(7,1fr);min-width:900px}}@media (max-width: 1024px){.sidebar{width:240px;padding:12px}.content-header{padding:10px 12px;flex-wrap:wrap}.week-grid{grid-template-columns:50px repeat(7,1fr);min-width:800px}}@media (max-width: 768px){.content{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid #e0e0e0;max-height:220px;padding:12px;gap:12px;flex-direction:row}.mini-calendar{flex:1;min-width:150px}.filter-panel{flex:1;min-width:150px;border-top:none;padding-top:0;padding-left:12px;border-left:1px solid #e0e0e0;margin-top:0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.day{font-size:10px}.content-header{flex-wrap:wrap;gap:8px}.header-left h2{font-size:13px;flex:1;min-width:100%}.date-range-selector{flex:1;min-width:100%;gap:6px}.date-range-display{min-width:120px;font-size:10px}.date-range-selector button{font-size:10px;padding:5px 8px}.view-toggle{flex:1;min-width:100%}.view-toggle button{flex:1;font-size:9px;padding:5px 8px}.week-view-container{margin:8px;border-radius:6px}.week-grid{grid-template-columns:45px repeat(7,1fr);min-width:650px}.time-slot{font-size:9px;padding:6px 2px;min-height:50px}.day-header{font-size:9px;padding:6px 2px;min-height:45px}.day-column{min-height:50px}.appointment-block{font-size:7px;padding:2px 3px}.appointment-customer{font-size:7px}}@media (max-width: 480px){.tabs-header{padding:10px 12px;gap:6px}.tab{padding:8px 10px;font-size:11px}.sidebar{max-height:180px;flex-direction:column}.filter-panel{border-left:none;border-top:1px solid #e0e0e0;padding-top:12px;padding-left:0}.mini-calendar h3,.filter-section h4{font-size:10px}.calendar-controls button{padding:4px 6px;font-size:10px}.content-header{padding:8px 10px}.header-left h2{font-size:12px}.date-range-selector button{padding:4px 6px;font-size:9px}.date-range-display{font-size:9px;min-width:100px}.view-toggle button{font-size:9px;padding:4px 6px}.week-grid{grid-template-columns:40px repeat(7,1fr);min-width:550px}.time-slot{font-size:8px;padding:4px 1px;min-height:45px}.day-header{font-size:8px;padding:4px 1px;min-height:40px}.day-of-week{font-size:8px}.day-number{font-size:10px}.day-column{min-height:45px}.appointment-block{font-size:6px;padding:1px 2px}.appointment-time{font-size:6px}}.header{display:flex;align-items:center;justify-content:space-between;background-color:#20b2aa;padding:15px 30px;border-bottom:3px solid #158f8a;gap:20px}.header-center{flex:1;display:flex;justify-content:center}.header-right{display:flex;align-items:center;gap:20px;flex-shrink:0}.header h1{color:#fff;margin:0;font-size:24px;font-weight:600;text-align:center}.aifix-logo,.xtreem-logo{height:45px;width:auto;object-fit:contain}.logout-btn{border:1px solid rgba(255,255,255,.8);background:#ffffff26;color:#fff;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer}.logout-btn:hover{background:#ffffff40}@media (max-width: 1024px){.header{padding:12px 20px}.header h1{font-size:20px}.aifix-logo,.xtreem-logo{height:40px}.logout-btn{padding:7px 10px}}@media (max-width: 768px){.header{flex-wrap:wrap;gap:10px}.header-center{flex:0 0 100%;order:-1}.header-right{gap:15px}.header h1{font-size:16px}.aifix-logo,.xtreem-logo{height:36px}}.header.header-layout-fix{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap}.header.header-layout-fix .header-layout-fix-center{flex:1 1 auto;display:flex;justify-content:flex-start;min-width:0;order:0}.header.header-layout-fix .header-layout-fix-right{display:flex;align-items:center;margin-left:auto;flex:0 0 auto}@media (max-width: 768px){.header.header-layout-fix{flex-wrap:nowrap}.header.header-layout-fix .header-layout-fix-center{flex:1 1 auto;order:0}}.tabs{display:flex;gap:.5rem;padding:1rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:2px solid #dee2e6;flex-wrap:wrap;align-items:center;overflow-x:auto}.tabs button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fff;border:2px solid #dee2e6;border-radius:8px;font-size:.9rem;font-weight:600;color:#495057;cursor:pointer;transition:all .3s ease;white-space:nowrap;min-width:fit-content}.tabs button:hover{background:#f1f3f5;border-color:#adb5bd;transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.tabs button.active{background:linear-gradient(135deg,#14b8a6,#0d9488);border-color:#14b8a6;color:#fff;box-shadow:0 4px 12px #14b8a64d}.tabs button.active:hover{background:linear-gradient(135deg,#0d9488,#047857);transform:translateY(-2px)}.tab-icon{font-size:1.2rem;display:flex;align-items:center;justify-content:center}.tab-name{display:inline}@media (max-width: 768px){.tabs{flex-wrap:wrap;gap:.5rem;padding:.75rem}.tabs button{padding:.6rem .8rem;font-size:.8rem}.tab-icon{font-size:1rem}}@media (max-width: 480px){.tabs{overflow-x:auto;gap:.25rem;padding:.5rem}.tabs button{padding:.5rem .6rem;font-size:.75rem;gap:.25rem}.tab-icon{font-size:.9rem}.tab-name{display:none}}.container{padding:1rem 2rem;max-width:100%;background:#f5f7fa;min-height:100vh}.loading-message,.error-message{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.error-message h3{color:#e74c3c;margin-bottom:10px}.error-message p{color:#666;margin-bottom:20px}.retry-btn{background:#3498db;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600}.retry-btn:hover{background:#2980b9}.page-title{font-size:1.5rem;font-weight:600;color:#2c3e50}.date-filter{display:flex;gap:.5rem;align-items:center}.date-filter button{padding:.5rem .75rem;border:1px solid #d0d0d0;background:#fff;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .2s;font-family:inherit}.custom-date-wrapper{position:relative}.custom-date-btn{min-width:140px}.date-picker-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border:1px solid #d0d0d0;border-radius:4px;box-shadow:0 4px 12px #00000026;padding:.75rem;z-index:1000}.date-picker-input{padding:.5rem;border:1px solid #d0d0d0;border-radius:4px;font-size:.875rem;font-family:inherit;cursor:pointer}.date-picker-input:focus{outline:none;border-color:#3498db}.kpi-section{background:linear-gradient(135deg,#2c3e50,#3498db);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 30px #3498db4d}.kpi-title{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:1.5rem;text-align:center;letter-spacing:.5px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.kpi-card{background:#fff;border-radius:10px;padding:1.5rem;display:flex;align-items:center;gap:1.25rem;box-shadow:0 4px 12px #00000014;transition:all .3s;cursor:pointer}.kpi-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.kpi-icon{font-size:2.5rem;width:70px;height:70px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.kpi-revenue .kpi-icon{background:linear-gradient(135deg,#28a745,#20c997)}.kpi-jobs .kpi-icon{background:linear-gradient(135deg,#3498db,#2980b9)}.kpi-efficiency .kpi-icon{background:linear-gradient(135deg,#f39c12,#e67e22)}.kpi-ai .kpi-icon{background:linear-gradient(135deg,#3498db,#2980b9)}.kpi-content{flex:1}.kpi-label{font-size:.8rem;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.kpi-value{font-size:2rem;font-weight:700;color:#2c3e50;line-height:1.2;margin-bottom:.25rem}.kpi-change{font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.kpi-change.positive{color:#28a745}.kpi-change.negative{color:#dc3545}.kpi-subtext{font-size:.85rem;color:#888;font-weight:500}.tile-purple{background:#3498db}.action-btn{padding:1rem;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;transition:all .2s;text-align:left;display:flex;align-items:center;gap:1rem;text-decoration:none;color:#495057}@media (max-width: 1200px){.kpi-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 768px){.container{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.date-filter{flex-wrap:wrap;width:100%}.date-filter button{flex:1;min-width:80px}.kpi-section{padding:1.5rem}.kpi-title{font-size:1.25rem}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.kpi-card{padding:1.25rem}.kpi-icon{font-size:2rem;width:60px;height:60px}.kpi-value{font-size:1.75rem}.tiles-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.action-buttons{grid-template-columns:1fr}.page-title{font-size:1.25rem}.tile-value{font-size:2rem}}@media (max-width: 480px){.kpi-grid,.tiles-grid{grid-template-columns:1fr}.tile-value{font-size:1.75rem}.kpi-value{font-size:1.5rem}}.metric-calculations{background:#fff;border-radius:8px;padding:1.5rem;margin-top:2rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.calculations-title{font-size:1rem;font-weight:600;color:#2c3e50;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.calculations-list{display:flex;flex-direction:column;gap:.75rem}.calc-item{font-size:.875rem;color:#555;line-height:1.5;padding:.5rem;background:#f8f9fa;border-radius:4px}.calc-item strong{color:#17a2b8;font-weight:600}@media (max-width: 768px){.metric-calculations{padding:1rem}.calc-item{font-size:.8rem}}.page-header{flex-wrap:wrap;gap:1rem}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start}}.dashboard-tabs{display:flex;gap:12px;background:#fff;padding:16px;border-bottom:2px solid #e0e0e0;margin-bottom:16px;border-radius:8px 8px 0 0}.dashboard-tab{padding:10px 20px;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:6px;font-weight:700;font-size:13px;cursor:pointer;transition:all .25s ease;color:#495057;white-space:nowrap}.dashboard-tab:hover{background:#fff;border-color:#17a2b8;color:#17a2b8}.dashboard-tab.active{background:#17a2b8;color:#fff;border-color:#17a2b8;box-shadow:0 2px 8px #17a2b833}.analytics-section{background:#fff;border-radius:8px;border:1px solid #e0e0e0;padding:16px;box-shadow:0 1px 3px #0000000d}.analytics-sub-tabs{display:flex;gap:12px;border-bottom:2px solid #e0e0e0;margin-bottom:16px;padding-bottom:0}.analytics-sub-tab{padding:12px 20px;background:transparent;border:none;border-bottom:3px solid transparent;font-weight:700;font-size:12px;cursor:pointer;transition:all .25s ease;color:#6c757d;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.analytics-sub-tab:hover,.analytics-sub-tab.active{color:#17a2b8;border-bottom-color:#17a2b8}.analytics-content{min-height:400px}.analytics-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:500px;text-align:center;background:linear-gradient(135deg,#f8f9fa,#fafbfc);border-radius:8px;border:2px dashed #e0e0e0;padding:40px}.placeholder-icon{font-size:64px;margin-bottom:16px;opacity:.8}.placeholder-title{font-size:18px;font-weight:700;color:#212529;margin-bottom:8px}.placeholder-text{font-size:14px;color:#6c757d;margin-bottom:24px;max-width:400px}.placeholder-features{display:grid;grid-template-columns:1fr 1fr;gap:16px;justify-items:center;width:100%;max-width:400px}.placeholder-features div{font-size:12px;color:#17a2b8;font-weight:600;background:#fff;padding:8px 16px;border-radius:6px;border:1px solid #17a2b8}@media (max-width: 768px){.dashboard-tabs{flex-wrap:wrap;gap:8px;padding:12px}.dashboard-tab{padding:8px 16px;font-size:12px;flex:1;min-width:120px}.analytics-sub-tabs{flex-wrap:wrap;gap:8px}.analytics-sub-tab{padding:10px 14px;font-size:11px;flex:1;min-width:150px}.analytics-placeholder{min-height:400px;padding:30px 20px}.placeholder-icon{font-size:48px}.placeholder-title{font-size:16px}.placeholder-features{grid-template-columns:1fr;gap:12px}}@media (max-width: 480px){.dashboard-tabs{gap:6px;padding:10px}.dashboard-tab{padding:6px 12px;font-size:11px;flex:1}.analytics-sub-tabs{flex-direction:column;gap:6px}.analytics-sub-tab{padding:10px 14px;font-size:11px;width:100%;text-align:left}.analytics-placeholder{min-height:300px;padding:20px}.placeholder-icon{font-size:36px}.placeholder-title{font-size:14px}.placeholder-text{font-size:12px}.placeholder-features{grid-template-columns:1fr;gap:10px}.placeholder-features div{font-size:11px;padding:6px 12px}}.ai-metrics-container{display:flex;flex-direction:column;flex:1;background:#f8f9fa;overflow-y:auto;padding:16px;gap:16px}.ai-metrics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;border-bottom:2px solid #17a2b8;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d}.ai-metrics-header h2{margin:0;color:#212529;font-size:20px;font-weight:700}.controls-group{display:flex;gap:15px;align-items:center}.date-range-selector{display:flex;gap:6px;background:#f8f9fa;padding:6px;border-radius:6px;box-shadow:0 1px 3px #0000001a}.range-btn{padding:8px 14px;border:1px solid #e0e0e0;border-radius:4px;background:#fff;color:#6c757d;cursor:pointer;font-weight:600;font-size:12px;transition:all .25s ease;text-transform:uppercase;letter-spacing:.3px}.range-btn:hover{background:#f0f0f0;border-color:#17a2b8;color:#17a2b8}.range-btn.active{background:#17a2b8;color:#fff;border-color:#17a2b8;box-shadow:0 2px 6px #17a2b84d}.refresh-btn:hover{background:#0d7a8f;box-shadow:0 4px 8px #17a2b84d;transform:translateY(-2px)}.refresh-btn:active{transform:translateY(0)}.master-summary-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin:20px 0}.summary-box{background:linear-gradient(135deg,#17a2b8,#0d7a8f);color:#fff;padding:20px;border-radius:8px;text-align:center;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.summary-box.summary-ai,.summary-box.summary-offline{background:linear-gradient(135deg,#17a2b8,#0d7a8f)}.summary-icon{font-size:2rem;margin-bottom:8px}.kpi-subtitle{font-size:11px;color:#6c757d;font-weight:500}.kpi-subtext{font-size:11px;color:#6c757d}.kpi-trend{font-size:12px;color:#4caf50;font-weight:700;margin-top:6px;display:flex;align-items:center;gap:4px}.section{margin-bottom:24px}.section h3{margin:0 0 16px;color:#212529;font-size:15px;font-weight:700;padding-bottom:12px;border-bottom:1px solid #e0e0e0}.channel-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}.channel-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000000d;transition:all .25s ease;border-top:3px solid #17a2b8}.channel-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.channel-card h3,.channel-card h4{margin:0 0 12px;font-size:13px;font-weight:700;color:#212529}.channel-total{font-size:24px;font-weight:700;color:#17a2b8;margin:0 0 10px}.channel-stat{font-size:11px;color:#6c757d;margin:6px 0;line-height:1.4;font-weight:500}.channel-header{margin-bottom:12px}.channel-header h4{margin:0;font-size:13px;font-weight:700;color:#212529}.channel-metrics{display:flex;flex-direction:column;gap:8px}.channel-metrics .metric{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f0f0f0}.channel-metrics .metric:last-child{border-bottom:none}.channel-metrics .metric span{font-size:11px;color:#6c757d;font-weight:500}.channel-metrics .metric strong{font-size:14px;color:#212529;font-weight:700}.channel-metrics .metric.warning span{color:#ff9800}.channel-metrics .metric.warning strong{color:#ff6f00;font-weight:800}.best-employee-card{background:linear-gradient(135deg,#ffc107,#ff9800);padding:24px;border-radius:8px;color:#fff;margin-bottom:24px;box-shadow:0 4px 15px #ffc1074d;position:relative;overflow:hidden}.best-employee-badge{display:inline-block;background:#ffffff4d;padding:6px 12px;border-radius:20px;font-size:10px;font-weight:700;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.best-employee-card h4{margin:0 0 20px;font-size:26px;font-weight:700}.best-employee-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:14px}.best-employee-stats .stat{display:flex;flex-direction:column;background:#ffffff26;padding:12px;border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.95;margin-bottom:6px}.stat-value{font-size:20px;font-weight:700}.employees-table-container{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000000d;margin-bottom:16px;overflow-x:auto}.employees-table-container h4{margin:0 0 12px;color:#212529;font-size:13px;font-weight:700}.employees-table{width:100%;border-collapse:collapse}.employees-table thead{background:#f8f9fa;border-bottom:2px solid #e0e0e0}.employees-table th{padding:10px;text-align:left;font-size:11px;font-weight:700;color:#6c757d;text-transform:uppercase;letter-spacing:.3px}.employees-table td{padding:10px;border-bottom:1px solid #f0f0f0;font-size:12px;color:#212529}.employees-table tbody tr:hover{background:#f8f9fa}.employees-table tbody tr.top-employee-row{background:linear-gradient(90deg,#ffc1071a,#ff98000d);font-weight:600;border-left:3px solid #ffc107}.emp-name{font-weight:600;color:#212529}.utilization-bar{background:#e0e0e0;border-radius:3px;height:20px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:flex-start}.utilization-fill{background:linear-gradient(90deg,#17a2b8,#0d7a8f);height:100%;border-radius:3px;transition:width .3s ease}.utilization-text{position:absolute;left:50%;transform:translate(-50%);font-size:10px;font-weight:700;color:#212529;z-index:1}.employee-summary{background:#f8f9fa;padding:12px;border-radius:6px;text-align:center;border:1px dashed #e0e0e0;color:#6c757d;font-size:12px;font-weight:500}.employee-summary strong{color:#212529}.chart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:12px;margin-bottom:20px}.chart-card,.chart-container{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000000d;transition:all .25s ease}.chart-card:hover,.chart-container:hover{box-shadow:0 4px 12px #0000001a}.chart-card h3,.chart-container h3{margin:0 0 16px;font-size:13px;font-weight:700;color:#212529}.chart-card svg{width:100%;height:auto}.recharts-wrapper{width:100%;height:100%}.recharts-surface{overflow:visible!important}.comparison-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}.comparison-stats .stat{text-align:center;padding:16px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;transition:all .25s ease}.comparison-stats .stat:hover{background:#f0f8fa;border-color:#17a2b8}.stat-count{font-size:11px;color:#6c757d;font-weight:500}.sub-tabs{display:flex;gap:8px;border-bottom:2px solid #e0e0e0;margin-bottom:16px;background:#fff;padding:12px 16px;border-radius:8px 8px 0 0}.sub-tabs button{padding:10px 16px;background:transparent;border:none;border-bottom:3px solid transparent;font-weight:700;color:#6c757d;font-size:12px;cursor:pointer;transition:all .25s ease;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.sub-tabs button:hover,.sub-tabs button.active{color:#17a2b8;border-bottom-color:#17a2b8}.analytics-container{background:#fff;border-radius:8px;border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000000d;overflow:hidden}.empty-state,.ai-metrics-loading,.ai-metrics-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center;color:#6c757d}.ai-metrics-error{background:#f8d7da;color:#721c24;border-radius:8px}.empty-state-icon{font-size:48px;margin-bottom:12px;opacity:.5}.empty-state-text{font-size:14px;margin-bottom:8px;font-weight:500}.empty-state-subtext{font-size:12px;color:#adb5bd}.loading-container{display:flex;align-items:center;justify-content:center;padding:40px}.loading-spinner{border:4px solid #f0f0f0;border-top:4px solid #17a2b8;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}.loading-text{margin-left:12px;font-size:13px;color:#6c757d;font-weight:500}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;padding:12px 16px;color:#721c24;font-size:12px;font-weight:500;margin-bottom:12px}.data-info{text-align:center;padding:12px;background:#fff;border-radius:6px;border:1px dashed #e0e0e0;color:#6c757d;font-size:11px}.data-info small{font-size:10px;line-height:1.5}@media (max-width: 1400px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.chart-grid,.charts-grid{grid-template-columns:1fr}.comparison-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1200px){.ai-metrics-container{padding:12px;gap:12px}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}.kpi-card{padding:14px}.kpi-value{font-size:24px}.chart-grid{gap:10px}.chart-card{padding:14px}.comparison-stats{grid-template-columns:repeat(2,1fr);gap:10px}.comparison-stats .stat{padding:12px}.best-employee-stats{grid-template-columns:repeat(3,1fr)}.employees-table th,.employees-table td{padding:8px;font-size:11px}}@media (max-width: 1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.chart-grid{grid-template-columns:1fr}.channel-card{padding:14px}.sub-tabs{padding:10px 12px;gap:6px}.sub-tabs button{padding:8px 12px;font-size:11px}}@media (max-width: 768px){.ai-metrics-container{padding:10px;gap:10px}.ai-metrics-header{flex-direction:column;gap:12px;align-items:flex-start}.controls-group{width:100%;flex-direction:column;gap:10px}.date-range-selector{width:100%;justify-content:space-between}.range-btn{flex:1;font-size:11px}.refresh-btn{width:100%}.kpi-grid{grid-template-columns:1fr;gap:10px}.kpi-card{padding:12px}.kpi-header{flex-direction:column;gap:8px}.kpi-header h3{font-size:11px}.kpi-icon{font-size:18px;margin-left:0}.kpi-value{font-size:20px}.chart-grid{grid-template-columns:1fr;gap:10px}.charts-grid{grid-template-columns:1fr}.chart-card{padding:12px}.chart-card h3{font-size:12px;margin-bottom:12px}.comparison-stats{grid-template-columns:1fr;gap:10px}.comparison-stats .stat{padding:12px}.stat-value{font-size:20px}.channel-card{padding:12px}.channel-cards{grid-template-columns:repeat(2,1fr);gap:10px}.best-employee-card{padding:16px}.best-employee-stats{grid-template-columns:repeat(2,1fr);gap:10px}.employees-table-container{overflow-x:scroll}.employees-table{font-size:11px}.employees-table th,.employees-table td{padding:8px}.sub-tabs{flex-wrap:wrap;padding:8px 10px;gap:4px}.sub-tabs button{padding:6px 10px;font-size:10px}}@media (max-width: 480px){.ai-metrics-container{padding:8px;gap:8px}.ai-metrics-header h2{font-size:16px}.controls-group{flex-direction:column;width:100%}.date-range-selector{flex-direction:column}.range-btn{width:100%;flex:unset}.kpi-grid{grid-template-columns:1fr;gap:8px}.kpi-card{padding:10px;border-left:3px solid}.kpi-header h3{font-size:10px}.kpi-value{font-size:18px}.kpi-subtitle{font-size:10px}.kpi-icon{font-size:16px}.chart-grid,.charts-grid{grid-template-columns:1fr;gap:8px}.chart-card{padding:10px}.chart-card h3{font-size:11px;margin-bottom:10px}.comparison-stats{grid-template-columns:1fr;gap:8px}.comparison-stats .stat{padding:10px}.stat-label{font-size:9px}.stat-value{font-size:18px}.stat-count{font-size:10px}.channel-cards{grid-template-columns:1fr}.channel-card{padding:10px}.channel-header h4{font-size:12px}.channel-metrics .metric{padding:6px 0}.channel-metrics .metric span{font-size:10px}.channel-metrics .metric strong{font-size:12px}.best-employee-card{padding:12px}.best-employee-card h4{font-size:20px}.best-employee-stats{grid-template-columns:1fr;gap:8px}.employees-table{font-size:10px}.employees-table th,.employees-table td{padding:6px}.sub-tabs{flex-direction:column;border-bottom:1px solid #e0e0e0;padding:8px}.sub-tabs button{padding:8px 12px;font-size:10px;width:100%;text-align:left;border-bottom:2px solid transparent}.sub-tabs button.active{border-left:3px solid #17a2b8;border-bottom:2px solid transparent}.empty-state{padding:30px 15px}.empty-state-icon{font-size:36px}.empty-state-text{font-size:12px}.empty-state-subtext{font-size:11px}}.recharts-cartesian-axis-tick{font-size:12px}.recharts-legend-wrapper{padding-top:12px!important}.recharts-legend-item-text{font-size:12px!important}.recharts-tooltip{outline:none!important}.recharts-default-tooltip{background:#fff!important;border:1px solid #e0e0e0!important;border-radius:6px!important;box-shadow:0 2px 8px #0000001a!important;padding:8px!important}@media (max-width: 768px){.recharts-cartesian-axis-tick{font-size:10px}.recharts-legend-item-text{font-size:10px!important}}:root{--color-primary: #17a2b8;--color-primary-dark: #0d7a8f;--color-success: #4caf50;--color-warning: #ff9800;--color-danger: #f44336;--color-info: #3f51b5;--color-text: #212529;--color-text-secondary: #6c757d;--color-border: #e0e0e0;--color-bg-light: #f8f9fa;--color-bg-lighter: #fafbfc}.master-summary-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:2rem 0}.summary-box{background:linear-gradient(135deg,#17a2b8,#0d7a8f);color:#fff;padding:1.5rem;border-radius:8px;text-align:center;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.summary-box:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.summary-box.summary-ai{background:linear-gradient(135deg,#17a2b8,#0d7a8f)}.summary-box.summary-offline{background:linear-gradient(135deg,#6c757d,#5a6268)}.summary-box.summary-total{background:linear-gradient(135deg,#fd7e14,#e65100)}.summary-box.summary-rate{background:linear-gradient(135deg,#28a745,#1e7e34)}.summary-icon{font-size:2.5rem;margin-bottom:.5rem}.summary-label{font-size:.85rem;opacity:1;margin-bottom:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff!important}.summary-value{font-size:2.2rem;font-weight:700;margin-bottom:.5rem;color:#fff!important}.summary-percent{font-size:.8rem;opacity:.85}.revenue-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1rem 0}.revenue-box{padding:1.5rem;border-radius:8px;text-align:center;color:#fff;font-weight:600;box-shadow:0 2px 8px #0000001a}.revenue-box.ai-revenue,.revenue-box.offline-revenue{background:linear-gradient(135deg,#17a2b8,#0d7a8f)}.revenue-box.total-revenue{background:linear-gradient(135deg,#fd7e14,#e65100)}.revenue-box.avg-revenue{background:linear-gradient(135deg,#ffc107,#ff9800)}.revenue-label{font-size:.85rem;opacity:.9;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px;color:#fff}.revenue-value{font-size:2rem;font-weight:700}.channel-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1rem 0}.channel-box{padding:1.5rem;border-radius:8px;color:#fff;text-align:center;box-shadow:0 2px 8px #0000001a;transition:transform .2s}.channel-box:hover{transform:translateY(-2px)}.channel-box.voice-channel{background:linear-gradient(135deg,#17a2b8,#0d7a8f)}.channel-box.sms-channel{background:linear-gradient(135deg,#28a745,#1e7e34)}.channel-box.website-channel{background:linear-gradient(135deg,#fd7e14,#e65100)}.channel-box.whatsapp-channel{background:linear-gradient(135deg,#6c757d,#5a6268)}.channel-icon{font-size:2rem;margin-bottom:.5rem}.channel-name{font-size:1rem;font-weight:600;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px;color:#fff}.channel-stat{display:flex;justify-content:space-between;margin:.5rem 0;font-size:.9rem}.channel-stat .stat-label{opacity:.85}.channel-stat .stat-value{font-weight:700;font-size:1.1rem}.tech-performance-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1.5rem}.perf-box{background:#17a2b81a;border:2px solid #17a2b8;padding:1rem;border-radius:6px;text-align:center}.perf-box.total-tasks{border-color:#17a2b8}.perf-box.total-revenue{border-color:#ffc107}.perf-box.efficiency{border-color:#28a745}.perf-label{font-size:.8rem;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-weight:600}.perf-value{font-size:1.8rem;font-weight:700;color:#17a2b8}.top-techs-section{margin:2rem 0}.top-techs-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin:1rem 0}.tech-card{background:#fff;border:2px solid #17a2b8;padding:1.5rem;border-radius:8px;text-align:center;position:relative;box-shadow:0 2px 8px #0000001a}.tech-card.rank-1{border-color:#ffc107;background:linear-gradient(135deg,#ffc1071a,#ff98001a)}.tech-card.rank-2{border-color:silver}.tech-card.rank-3{border-color:#cd7f32}.tech-rank{position:absolute;top:-12px;left:-12px;width:30px;height:30px;background:#17a2b8;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}.tech-name{font-size:1.1rem;font-weight:700;margin:1rem 0;color:#333}.tech-stat{display:flex;justify-content:space-between;margin:.7rem 0;font-size:.9rem}.tech-stat .stat-label{color:#666;font-size:.8rem}.tech-stat .stat-value{font-weight:700;color:#17a2b8}.booking-source-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1rem 0}.booking-box{background:linear-gradient(135deg,#17a2b8,#0d7a8f);color:#fff;padding:1.5rem;border-radius:8px;text-align:center;box-shadow:0 2px 8px #0000001a;transition:transform .2s}.booking-box:hover{transform:translateY(-2px)}.booking-icon{font-size:2rem;margin-bottom:.5rem}.booking-source{font-size:1rem;font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.booking-count{font-size:1.5rem;font-weight:700;opacity:.95}.no-data{grid-column:1 / -1;text-align:center;padding:2rem;color:#999;font-style:italic}.ai-chat-container{display:flex;flex-direction:column;flex:1;background:#f8f9fa;overflow-y:auto;padding:16px;gap:16px}.ai-chat-header{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:16px;border-radius:8px;border-bottom:2px solid #17a2b8;box-shadow:0 1px 3px #0000000d}.ai-chat-header h2{margin:0;font-size:20px;color:#212529;font-weight:700}.header-controls{display:flex;align-items:center;gap:12px}.last-refresh{font-size:11px;color:#6c757d;font-weight:500}.refresh-btn{padding:8px 16px;background:#17a2b8;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:700;font-size:12px;transition:all .25s ease;box-shadow:0 2px 6px #17a2b833;text-transform:uppercase;letter-spacing:.3px}.refresh-btn:hover:not(:disabled){background:#0d7a8f;box-shadow:0 4px 8px #17a2b84d;transform:translateY(-2px)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.ai-chat-search{display:flex;flex-direction:column;gap:12px;background:#fff;padding:16px;border-radius:8px;box-shadow:0 1px 3px #0000000d}.search-box{position:relative;display:flex;align-items:center}.search-input{width:100%;padding:10px 40px 10px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;font-weight:500;transition:all .25s ease}.search-input:focus{outline:none;border-color:#17a2b8;box-shadow:0 0 0 3px #17a2b81a}.search-icon{position:absolute;right:12px;font-size:14px;opacity:.5}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{padding:8px 14px;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .25s ease;color:#495057;text-transform:uppercase;letter-spacing:.3px}.filter-btn:hover{border-color:#17a2b8;color:#17a2b8}.filter-btn.active{background:#17a2b8;color:#fff;border-color:#17a2b8;box-shadow:0 2px 6px #17a2b84d}.date-filter-section{display:flex;flex-direction:column;gap:12px;background:#f8f9fa;padding:12px;border-radius:6px;border:1px solid #e0e0e0}.date-filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.custom-date-range{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.custom-date-range label{font-size:12px;font-weight:600;color:#495057;margin:0}.date-input{padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:12px;background:#fff;cursor:pointer}.date-input:hover{border-color:#17a2b8}.date-input:focus{outline:none;border-color:#17a2b8;box-shadow:0 0 0 3px #17a2b81a}.jobsheet-link,.jobsheet-link-modal{color:#17a2b8;text-decoration:none;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.jobsheet-link:hover,.jobsheet-link-modal:hover{color:#138496;text-decoration:underline}.jobsheet-link:active,.jobsheet-link-modal:active{opacity:.8}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:12px 16px;border-radius:6px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:500}.error-message button{background:none;border:none;color:#721c24;font-size:16px;cursor:pointer;padding:0;transition:opacity .2s ease}.error-message button:hover{opacity:.7}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:8px;gap:16px}.spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:#17a2b8;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:#6c757d;font-weight:500;margin:0}.ai-chat-table{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;overflow-x:auto}.ai-chat-table table{width:100%;border-collapse:collapse;font-size:13px}.ai-chat-table thead{background:#f0f0f0;border-bottom:2px solid #17a2b8}.ai-chat-table th{padding:12px;text-align:left;font-weight:700;color:#17a2b8;text-transform:uppercase;font-size:11px;letter-spacing:.3px}.ai-chat-table tbody tr{border-bottom:1px solid #e0e0e0;transition:all .2s ease}.ai-chat-table tbody tr:hover{background:#f8f9fa}.ai-chat-table td{padding:12px;color:#212529}.job-number{font-weight:700;color:#17a2b8}.phone{font-weight:500;font-family:monospace}.customer-no{font-weight:600;color:#495057}.transcript{text-align:center;vertical-align:middle;padding:12px!important}.eye-btn{background:linear-gradient(135deg,#17a2b8,#0d7a8f);color:#fff;border:none;padding:8px 16px;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer;transition:all .25s ease;white-space:nowrap;display:inline-block;vertical-align:middle;box-shadow:0 2px 6px #17a2b840}.eye-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #17a2b866}.eye-btn:active{transform:translateY(0)}.duration{font-weight:600;color:#6c757d}.bill{text-align:right}.bill-badge{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff;padding:4px 8px;border-radius:4px;font-weight:700;font-size:12px}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:16px;flex-wrap:wrap}.page-btn{padding:8px 12px;background:#fff;border:2px solid #e0e0e0;border-radius:6px;font-weight:600;font-size:12px;cursor:pointer;transition:all .25s ease;color:#495057}.page-btn:hover:not(:disabled){background:#17a2b8;color:#fff;border-color:#17a2b8}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:12px;font-weight:600;color:#212529;padding:0 8px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:8px;border:2px dashed #e0e0e0;gap:12px}.empty-icon{font-size:48px;opacity:.6}.empty-state h3{margin:0;font-size:16px;font-weight:700;color:#212529}.empty-state p{margin:0;font-size:13px;color:#6c757d}.transcript-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.transcript-modal{background:#fff;border-radius:10px;width:100%;max-width:750px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000059;display:flex;flex-direction:column;animation:slideUp .3s ease}.transcript-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;border-bottom:2px solid #e0e0e0;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.transcript-modal-header h2{margin:0 0 4px;font-size:18px;color:#212529}.transcript-modal-header p{margin:0;font-size:13px;color:#6c757d;font-weight:500}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#6c757d;padding:0;transition:color .2s ease}.close-btn:hover{color:#212529}.transcript-details{padding:16px 20px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-row{display:flex;justify-content:space-between;align-items:center;font-size:12px}.detail-label{font-weight:700;color:#17a2b8}.bill-amount{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff;padding:2px 8px;border-radius:4px;font-weight:700}.transcript-messages{padding:20px;min-height:300px}.transcript-messages h3{margin:0 0 16px;font-size:14px;color:#212529;font-weight:700}.messages-list{display:flex;flex-direction:column;gap:12px}.message{display:flex;gap:12px;margin-bottom:12px;align-items:flex-end}.message-icon{font-size:22px;flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f0f0f0}.message.customer{flex-direction:row}.message.ai{flex-direction:row-reverse;display:flex!important;visibility:visible!important}.message-content{flex:1;background:#f8f9fa;padding:12px 14px;border-radius:8px;border-left:3px solid #17a2b8;max-width:85%}.message.ai .message-content{border-left:none;border-right:3px solid #0d7a8f;background:#e8f4f8;display:block!important;visibility:visible!important}.message-speaker{font-size:11px;font-weight:700;color:#17a2b8;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.message.ai .message-speaker{color:#0d7a8f}.message-text{font-size:13px;color:#212529;line-height:1.5;word-wrap:break-word}.message-time{font-size:10px;color:#6c757d;margin-top:4px;font-weight:500}.no-transcript{text-align:center;color:#6c757d;font-size:13px;padding:20px}.transcript-modal-footer{padding:16px 20px;border-top:1px solid #e0e0e0;background:#f8f9fa;display:flex;justify-content:flex-end;gap:8px}.btn-secondary{padding:8px 16px;background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-weight:600;font-size:12px;transition:all .25s ease;color:#495057}.btn-secondary:hover{border-color:#17a2b8;color:#17a2b8}@media (max-width: 1024px){.ai-chat-search{flex-direction:column}.filter-buttons{flex-wrap:wrap}.transcript-details{grid-template-columns:1fr;gap:8px}}@media (max-width: 768px){.ai-chat-container{padding:12px;gap:12px}.ai-chat-header{flex-direction:column;align-items:flex-start;gap:12px}.ai-chat-header h2{font-size:18px}.header-controls{width:100%;flex-direction:column;gap:8px}.last-refresh{display:none}.refresh-btn{width:100%;padding:10px;font-size:13px}.ai-chat-search{padding:12px;flex-direction:column;gap:12px}.search-box{width:100%}.filter-buttons{width:100%;justify-content:space-between}.filter-btn{flex:1;min-width:auto;padding:8px 10px;font-size:11px;margin:2px}.date-filter-section{width:100%}.date-filter-buttons{width:100%;justify-content:space-between}.custom-date-range{flex-direction:column;width:100%;gap:8px}.custom-date-range label{margin-bottom:4px}.date-input{width:100%;padding:10px}.ai-chat-table{font-size:12px;overflow-x:auto}.ai-chat-table table{min-width:600px}.ai-chat-table th,.ai-chat-table td{padding:10px 8px}.eye-btn{padding:8px 12px;font-size:11px;touch-action:manipulation}.transcript-modal-overlay{padding:0;align-items:flex-end}.transcript-modal{max-width:100vw;max-height:90vh;width:100%;border-radius:16px 16px 0 0;overflow-y:auto}.transcript-modal-header{padding:16px;gap:12px}.transcript-modal-header h2{font-size:16px;margin:0 0 8px}.transcript-modal-header p{font-size:12px}.close-btn{font-size:28px;padding:0;margin-left:auto}.transcript-details{grid-template-columns:1fr;gap:10px;padding:12px 16px}.detail-row{flex-direction:column;align-items:flex-start;gap:4px;padding:8px 0;border-bottom:1px solid #e0e0e0}.detail-label{font-size:11px}.detail-row>span:not(.detail-label){font-size:13px}.transcript-messages{padding:16px;min-height:auto;max-height:50vh;overflow-y:auto}.transcript-messages h3{font-size:13px;margin:0 0 12px}.message{gap:10px;margin-bottom:10px}.message-icon{font-size:20px;width:32px;height:32px;flex-shrink:0}.message-content{max-width:100%;padding:10px 12px;font-size:13px}.message-speaker{font-size:10px;margin-bottom:4px}.message-text{font-size:12px;line-height:1.4}.message-time{font-size:9px;margin-top:4px}.transcript-modal-footer{padding:12px 16px;gap:8px}.btn-secondary{padding:12px;font-size:13px;width:100%}.pagination{gap:4px;flex-wrap:wrap}.page-btn{padding:8px 12px;font-size:12px}.page-info{font-size:12px}}@media (max-width: 480px){.ai-chat-container{padding:8px;gap:8px}.ai-chat-header{padding:12px}.ai-chat-header h2{font-size:16px}.refresh-btn{padding:10px;font-size:12px}.search-box{padding:8px}.search-input{font-size:14px}.filter-buttons{gap:4px}.filter-btn{flex:1;min-width:60px;padding:7px 6px;font-size:10px}.date-filter-section{padding:8px}.date-filter-buttons{gap:4px}.custom-date-range{gap:6px}.date-input{padding:8px;font-size:14px}.ai-chat-table{font-size:11px}.ai-chat-table table{min-width:500px}.ai-chat-table th,.ai-chat-table td{padding:8px 6px}.ai-chat-table .customer-no,.ai-chat-table th:nth-child(3){display:none}.eye-btn{padding:8px 10px;font-size:10px;border-radius:4px}.transcript-modal-overlay{padding:0;align-items:flex-end}.transcript-modal{max-width:100vw;max-height:95vh;width:100%;height:100vh;border-radius:0;overflow-y:auto;display:flex;flex-direction:column}.transcript-modal-header{padding:12px;flex-shrink:0}.transcript-modal-header h2{font-size:14px}.transcript-modal-header p{font-size:11px}.close-btn{font-size:24px;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.transcript-details{grid-template-columns:1fr;gap:8px;padding:10px 12px;flex-shrink:0;overflow-y:auto;max-height:25vh}.detail-row{flex-direction:column;gap:3px;padding:6px 0;border-bottom:1px solid #e0e0e0}.detail-label{font-size:10px;font-weight:700}.detail-row>span:not(.detail-label){font-size:12px}.bill-amount{padding:2px 6px;font-size:11px;border-radius:3px}.transcript-messages{flex:1;padding:12px;overflow-y:auto}.transcript-messages h3{font-size:12px;margin:0 0 10px}.messages-list{gap:10px}.message{gap:8px;margin-bottom:8px}.message-icon{font-size:18px;width:28px;height:28px;min-width:28px}.message-content{padding:9px 11px;border-radius:6px;max-width:100%}.message-speaker{font-size:9px;margin-bottom:3px}.message-text{font-size:11px;line-height:1.4;word-break:break-word}.message-time{font-size:8px;margin-top:2px}.no-transcript{font-size:12px;padding:20px}.transcript-modal-footer{padding:10px 12px;gap:6px;flex-shrink:0;border-top:1px solid #e0e0e0}.btn-secondary{padding:12px;font-size:13px;width:100%;border-radius:6px;touch-action:manipulation}.pagination{gap:2px;flex-wrap:wrap;justify-content:center}.page-btn{padding:6px 10px;font-size:11px}.page-info{width:100%;text-align:center;font-size:10px;order:-1;margin-bottom:4px}.error-message{padding:10px;font-size:12px}.loading-state{padding:30px 10px}.spinner{width:40px;height:40px}}.search-bar{display:flex;gap:12px;margin-bottom:20px}.customer-history{margin-top:20px;padding-top:20px;border-top:2px solid #ecf0f1}.history-title{font-size:16px;font-weight:700;color:#2c3e50;margin-bottom:15px}.history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:15px}.history-stat{background:#f8f9fb;padding:15px;border-radius:8px;text-align:center;border:2px solid #ecf0f1}.stat-label{font-size:12px;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-weight:600}.stat-value{font-size:20px;font-weight:700;color:#2c3e50}.customer-notes{background:#fff3cd;border:1px solid #ffc107;padding:12px 16px;border-radius:6px;font-size:14px;color:#856404;line-height:1.6}.customer-notes strong{color:#856404}.help-section{background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 8px #00000014}.help-section h3{margin:0 0 25px;color:#2c3e50;font-size:22px;text-align:center}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.help-item{display:flex;align-items:flex-start;gap:15px;padding:20px;background:#f8f9fb;border-radius:10px;border:2px solid #ecf0f1;transition:all .3s ease}.help-item:hover{border-color:#3498db;background:#ecf0f1;transform:translateY(-2px)}.help-icon{font-size:32px;flex-shrink:0}.help-item div{font-size:14px;line-height:1.6;color:#2c3e50}.help-item strong{color:#3498db;display:block;margin-bottom:4px;font-size:15px}@media (max-width: 768px){.search-bar{flex-direction:column}.btn-search{width:100%}.filters{flex-direction:column;align-items:flex-start;gap:12px}.results-header{flex-direction:column;align-items:flex-start;gap:10px}.result-title{font-size:18px;padding-right:0;margin-bottom:35px}.result-meta{font-size:13px;padding-right:0}.type-badge{top:15px;right:15px;font-size:11px;padding:4px 12px}.result-actions{flex-direction:column}.btn-small{width:100%;text-align:center}.history-grid{grid-template-columns:repeat(2,1fr)}.help-grid{grid-template-columns:1fr}}@media (max-width: 480px){.search-section{padding:15px}.help-section{padding:20px}.result-card{padding:15px}.history-grid{grid-template-columns:1fr}}.vehicles-database{padding:2rem;max-width:1400px;margin:0 auto}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header h1{color:#2c3e50;font-size:2rem}.btn-add{background:#1abc9c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-add:hover{background:#16a085;transform:translateY(-2px)}.lookup-section{background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;border-radius:12px;margin-bottom:2rem;color:#fff}.lookup-section h3{margin-bottom:1rem;font-size:1.3rem}.lookup-input-group{display:flex;gap:1rem;margin-bottom:1rem}.lookup-input{flex:1;padding:1rem;border:2px solid white;border-radius:8px;font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:2px}.lookup-input:focus{outline:none;box-shadow:0 0 0 3px #ffffff4d}.btn-lookup{padding:1rem 2rem;background:#fff;color:#667eea;border:none;border-radius:8px;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-lookup:hover{background:#f0f0f0;transform:translateY(-2px)}.btn-lookup:disabled{background:#ddd;color:#999;cursor:not-allowed}.lookup-hint{font-size:.9rem;opacity:.9;margin-top:.5rem}.message-success{background:#fff3;padding:.75rem;border-radius:6px;margin-top:1rem;font-weight:600}.message-error{background:#e74c3c4d;padding:.75rem;border-radius:6px;margin-top:1rem;font-weight:600}.entry-form{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 12px #0000001a}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.form-header h3{color:#2c3e50;font-size:1.3rem}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d;transition:color .2s}.btn-close:hover{color:#e74c3c}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.form-field label{font-weight:600;margin-bottom:.5rem;color:#2c3e50}.form-field input,.form-field select{padding:.75rem;border:1px solid #d0d0d0;border-radius:6px;font-size:1rem;transition:all .2s}.form-field input:focus,.form-field select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-actions{display:flex;gap:1rem}.btn-save{flex:1;padding:1rem;background:#1abc9c;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-save:hover{background:#16a085;transform:translateY(-2px)}.btn-save:disabled{background:#95a5a6;cursor:not-allowed}.btn-cancel{padding:1rem 2rem;background:#e0e0e0;color:#555;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#d0d0d0}.vehicles-table{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.search-input{width:100%;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;margin-bottom:1.5rem}.search-input:focus{outline:none;border-color:#667eea}table{width:100%;border-collapse:collapse}thead{background:#f8f9fa}th{padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;font-size:.85rem;text-transform:uppercase}td{padding:1rem;border-bottom:1px solid #f0f0f0}tr:hover{background:#f8f9fa}.registration{font-weight:700;color:#2c3e50;font-size:1.1rem}.registration-plate{background:gold;padding:.5rem 1rem;border:2px solid #333;border-radius:4px;font-weight:700;letter-spacing:2px;display:inline-block}.expired{color:#e74c3c;font-weight:600}.valid{color:#27ae60;font-weight:600}.btn-view{background:#1abc9c;color:#fff;border:none;padding:.5rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-view:hover{background:#16a085;transform:translateY(-2px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #e0e0e0}.modal-header h2{color:#2c3e50;font-size:1.5rem}.modal-body{padding:2rem}.detail-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #f0f0f0}.detail-label{font-weight:600;color:#7f8c8d}.detail-value{color:#2c3e50;font-weight:500}.modal-body hr{margin:1.5rem 0;border:none;border-top:2px solid #e0e0e0}.modal-body h3{color:#2c3e50;margin-bottom:1rem}.modal-footer{padding:1.5rem;border-top:2px solid #e0e0e0;text-align:right}.btn-close-modal{padding:.75rem 2rem;background:#e0e0e0;color:#555;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-close-modal:hover{background:#d0d0d0}@media (max-width: 1024px){.form-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.vehicles-database{padding:1rem}.form-grid{grid-template-columns:1fr}.lookup-input-group{flex-direction:column}table{font-size:.85rem}th,td{padding:.5rem}}.new-job-sheet-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;background:#f5f7fa;min-height:100vh;padding:0}.page-header{background:linear-gradient(135deg,#14b8a6,#0d9488);padding:2.5rem 2rem;margin-bottom:2rem;box-shadow:0 4px 20px #14b8a64d}.page-title{font-size:2.5rem;font-weight:800;color:#fff;margin:0 0 .75rem;text-align:center;letter-spacing:-.5px;text-shadow:0 2px 10px rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.page-subtitle{text-align:center;color:#fffffff2;font-size:1.1rem;margin:0;font-weight:400}.data-confirmation{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #10b981;border-radius:12px;padding:1rem 1.5rem;margin:0 2rem 2rem;font-size:.95rem;color:#065f46;font-weight:500;box-shadow:0 2px 8px #10b98126}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;background:#fff;border-radius:16px;margin:2rem}.loading-spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top:4px solid #14b8a6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.form-section{background:#fff!important;border-radius:16px!important;padding:2rem!important;margin:0 2rem 1.5rem!important;border:none!important;box-shadow:0 4px 12px #00000014!important}.section-title{font-size:1.15rem;font-weight:700;color:#0f172a;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:3px solid #14b8a6;display:flex;align-items:center;gap:.5rem}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:1rem}.form-field{display:flex;flex-direction:column}.form-field.span-2{grid-column:span 2}.form-field.span-3{grid-column:span 3}.form-field.span-4{grid-column:span 4}.field-label{font-size:.9rem;font-weight:600;margin-bottom:.5rem;color:#334155}.field-label.required:after{content:" *";color:#ef4444;font-weight:700}.field-input,.field-textarea{padding:.75rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;font-family:inherit;background:#fff;transition:all .2s;font-weight:500;min-height:44px}.field-input:focus,.field-textarea:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61a}.field-textarea{resize:vertical;min-height:100px}select.field-input{cursor:pointer}.field-with-button{display:flex;gap:.75rem;flex-wrap:wrap}.field-with-button .field-input{flex:1;min-width:200px}.add-button,.checklist-add-button{padding:.75rem 1.25rem;background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;border:none;border-radius:10px;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .3s;box-shadow:0 4px 12px #14b8a64d;min-height:44px;min-width:44px}.add-button:hover,.checklist-add-button:hover{background:linear-gradient(135deg,#0d9488,#14b8a6);transform:translateY(-2px);box-shadow:0 6px 16px #14b8a666}.add-button:disabled,.checklist-add-button:disabled{background:#cbd5e1;cursor:not-allowed;transform:none;box-shadow:none}.job-code-field .field-input{background:linear-gradient(135deg,#f0fdfa,#ccfbf1);border:2px solid #14b8a6;font-weight:600}.checklist-section{background:linear-gradient(135deg,#f8fafc,#f1f5f9)!important;border:2px dashed #cbd5e1!important}.checklist-add{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.checklist-input{flex:1;padding:.75rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;font-weight:500;min-height:44px;min-width:200px}.checklist-items{display:flex;flex-direction:column;gap:.75rem}.checklist-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:2px solid #e2e8f0;border-radius:10px;transition:all .2s;flex-wrap:wrap}.checklist-checkbox{width:24px;height:24px;cursor:pointer;accent-color:#14b8a6;flex-shrink:0}.checklist-text{flex:1;font-size:.9rem;color:#1e293b;font-weight:500;min-width:150px}.checklist-text.completed{text-decoration:line-through;color:#94a3b8}.checklist-remove{padding:.5rem .75rem;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;min-height:44px}.submit-button{width:calc(100% - 4rem);margin:2rem;padding:1.25rem;background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:800;cursor:pointer;box-shadow:0 6px 20px #14b8a666;transition:all .3s;text-transform:uppercase;letter-spacing:.5px;min-height:56px}.submit-button:hover{transform:translateY(-3px);box-shadow:0 8px 24px #14b8a680;background:linear-gradient(135deg,#0d9488,#14b8a6)}.submit-button:disabled{background:#cbd5e1;cursor:not-allowed;transform:none;box-shadow:0 2px 8px #0000001a}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:16px;padding:2.5rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlide .3s ease-out}@keyframes modalSlide{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-title{font-size:1.5rem;font-weight:800;color:#0f172a;margin-bottom:2rem;padding-bottom:1rem;border-bottom:3px solid #14b8a6;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.modal-field{margin-bottom:1.25rem}.modal-buttons{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}.modal-button{flex:1;padding:1rem;border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s;min-height:44px;min-width:120px}.modal-button.primary{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;box-shadow:0 4px 12px #14b8a64d}.modal-button.primary:hover{background:linear-gradient(135deg,#0d9488,#14b8a6);transform:translateY(-2px);box-shadow:0 6px 16px #14b8a666}.modal-button.secondary{background:#f1f5f9;color:#475569;border:2px solid #e2e8f0}.modal-button.secondary:hover{background:#e2e8f0;transform:translateY(-2px)}input[type=search].field-input{padding-left:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2314b8a6' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.75rem center;background-size:16px}@media (max-width: 1200px){.form-grid{grid-template-columns:repeat(3,1fr)}.page-title{font-size:2.25rem}}@media (max-width: 900px){.form-grid{grid-template-columns:repeat(2,1fr)}.page-title{font-size:2rem;gap:.75rem}.page-header{padding:2rem 1.5rem}.form-section{margin:0 1.5rem 1.5rem!important}}@media (max-width: 600px){.form-grid,.form-grid-2,.form-grid-3{grid-template-columns:1fr!important;gap:1rem}.form-field.span-2,.form-field.span-3,.form-field.span-4{grid-column:span 1}.page-header{padding:1.5rem 1rem;margin-bottom:1.5rem}.page-title{font-size:1.75rem;gap:.5rem}.page-subtitle{font-size:.95rem}.form-section{margin:0 1rem 1rem!important;padding:1.5rem!important;border-radius:12px!important}.section-title{font-size:1rem;margin-bottom:1.25rem;padding-bottom:.5rem}.data-confirmation{margin:0 1rem 1.5rem;padding:1rem;font-size:.9rem}.field-with-button{flex-direction:column;gap:.75rem}.field-with-button .field-input{width:100%;min-width:unset}.add-button{width:100%;padding:1rem}.checklist-add{flex-direction:column}.checklist-input{width:100%;min-width:unset}.checklist-add-button{width:100%;padding:1rem}.checklist-item{gap:.75rem;padding:.75rem}.checklist-text{min-width:unset;width:100%}.checklist-remove{width:100%;padding:.75rem}.submit-button{width:calc(100% - 2rem);margin:1.5rem 1rem;padding:1rem;font-size:1rem}.modal-content{padding:1.5rem;border-radius:12px;max-height:85vh}.modal-title{font-size:1.25rem;margin-bottom:1.5rem;padding-bottom:.75rem}.modal-buttons{flex-direction:column;gap:.75rem}.modal-button{width:100%;padding:1rem}.loading-container{margin:1rem;min-height:300px}}@media (max-width: 400px){.page-title{font-size:1.5rem}.page-subtitle{font-size:.85rem}.form-section{padding:1.25rem!important}.field-input,.field-textarea{font-size:.85rem}}.modal-content::-webkit-scrollbar,.field-textarea::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track,.field-textarea::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.modal-content::-webkit-scrollbar-thumb,.field-textarea::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover,.field-textarea::-webkit-scrollbar-thumb:hover{background:#14b8a6}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #14b8a6;outline-offset:2px}@media print{.page-header,.submit-button,.add-button,.checklist-add,.checklist-remove{display:none}.form-section{box-shadow:none!important;border:1px solid #e2e8f0!important;page-break-inside:avoid}}.service-schedule{padding:1.5rem 2rem;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);min-height:100vh}.controls-bar{background:#fff;padding:1.25rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.controls-left{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.controls-left label{font-weight:600;color:#2c3e50}.date-input{padding:.6rem 1rem;border:2px solid #e0e0e0;border-radius:6px;font-size:.9rem;transition:border .2s}.date-input:focus{outline:none;border-color:#3498db}.btn{padding:.6rem 1.2rem;border:2px solid #16a085!important;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;background:#1abc9c!important;color:#fff!important;transition:all .2s}.btn:hover{background:#16a085;border-color:#16a085;transform:translateY(-1px);box-shadow:0 2px 8px #1abc9c4d}.btn-primary{background:linear-gradient(135deg,#27ae60,#229954);color:#fff;border-color:#27ae60}.btn-primary:hover{background:linear-gradient(135deg,#229954,#1e8449);transform:translateY(-2px);box-shadow:0 4px 12px #27ae604d}.btn-lunch{background:linear-gradient(135deg,#f39c12,#e67e22)!important;color:#fff!important;border:2px solid #f39c12!important;font-weight:700!important}.btn-lunch:hover{background:linear-gradient(135deg,#e67e22,#d35400);transform:translateY(-2px);box-shadow:0 4px 12px #f39c124d}.custom-date-picker{display:flex;align-items:center;gap:.3rem;background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:.3rem}.date-nav-btn{padding:.5rem .8rem;border:none;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border-radius:6px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.date-nav-btn:hover{background:linear-gradient(135deg,#2980b9,#21618c);transform:scale(1.1);box-shadow:0 4px 8px #3498db66}.date-today-btn{padding:.5rem .9rem;border:none;background:linear-gradient(135deg,#27ae60,#229954);color:#fff;border-radius:6px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}.date-today-btn:hover{background:linear-gradient(135deg,#229954,#1e8449);transform:translateY(-2px);box-shadow:0 4px 8px #27ae6066}.custom-date-picker .date-input{border:none;padding:.5rem .8rem;font-weight:600;min-width:150px}.custom-date-picker .date-input:focus{border:none;outline:none}.date-range-picker{display:flex;align-items:center;gap:.5rem}.date-range-picker label{font-weight:600;margin:0}.date-range-picker .date-input{border:2px solid #e0e0e0;border-radius:6px;padding:.5rem;font-weight:600}.controls-right{display:flex;gap:.5rem}.btn-nav{padding:.6rem 1rem;border:2px solid #e0e0e0;background:#fff;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-nav:hover{background:#f8f9fa;border-color:#3498db}.btn-nav.active{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border-color:#3498db}.info-bar{background:linear-gradient(135deg,#fff,#f8f9fa);padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;box-shadow:0 2px 6px #0000000d}.info-bar span{font-size:.9rem;color:#555}.info-bar strong{color:#2c3e50;font-weight:600}.info-bar .tip{color:#f39c12;font-weight:500}.schedule-container{background:#fff;border-radius:8px;box-shadow:0 2px 12px #00000014;overflow:hidden;margin-bottom:1.5rem}.schedule-header{display:flex;background:linear-gradient(135deg,#34495e,#2c3e50);color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 2px 6px #00000026}.resource-column{width:220px;min-width:220px;padding:.75rem;font-weight:600;font-size:.95rem;border-right:1px solid rgba(255,255,255,.1);display:flex;align-items:center;letter-spacing:.5px}.time-slots-header{display:flex;flex:1;overflow-x:auto}.time-slot-header{min-width:100px;width:100px;padding:1rem .5rem;text-align:center;font-size:.8rem;font-weight:500;border-right:1px solid rgba(255,255,255,.1);letter-spacing:.3px}.schedule-body{position:relative;overflow-x:auto;max-height:calc(100vh - 250px);overflow-y:auto}.schedule-row{display:flex;border-bottom:1px solid #e9ecef;height:120px;min-height:120px;position:relative;transition:background .2s;box-sizing:border-box;flex-shrink:0}.schedule-row:hover{background:#f8f9fa}.schedule-row.category-row{background:linear-gradient(to right,#ecf0f1,#f8f9fa);border-bottom:2px solid #bdc3c7;height:60px;min-height:60px}.schedule-row.category-row:hover{background:linear-gradient(to right,#d5dbdb,#ecf0f1)}.schedule-row.category-row .resource-name-cell{background:linear-gradient(to right,#bdc3c7,#d5dbdb);font-weight:700}.schedule-row.unassigned{background:#fff3cd}.schedule-row.unassigned:hover{background:#ffe69c}.resource-name-cell{width:220px;min-width:220px;padding:1rem;border-right:2px solid #dee2e6;display:none;flex-direction:column;justify-content:center;gap:.5rem;background:#fff}.tech-info{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.tech-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.status-badge{padding:.25rem .6rem;border-radius:12px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:.2rem;box-shadow:0 2px 4px #00000026}.status-badge.status-in{background:#27ae60;color:#fff;animation:pulse-green 2s infinite}@keyframes pulse-green{0%,to{box-shadow:0 2px 4px #27ae6066}50%{box-shadow:0 2px 8px #27ae60cc}}.status-badge.status-out{background:#e74c3c;color:#fff;opacity:.85}.tech-actions{display:flex;gap:.4rem;margin-top:.25rem}.btn-tech-action{flex:1;padding:.5rem .75rem;border:none;border-radius:6px;font-size:.7rem;font-weight:800;cursor:pointer;transition:all .2s;white-space:nowrap;text-align:center;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #0003}.btn-tech-action.btn-clock-in{background:#27ae60;color:#fff;border:2px solid #229954}.btn-tech-action.btn-clock-in:hover{background:#229954;transform:translateY(-2px);box-shadow:0 4px 8px #27ae6066}.btn-tech-action.btn-clock-out{background:#e74c3c;color:#fff;border:2px solid #c0392b}.btn-tech-action.btn-clock-out:hover{background:#c0392b;transform:translateY(-2px);box-shadow:0 4px 8px #e74c3c66}.resource-icon{font-size:1.2rem}.resource-name{font-weight:600;color:#2c3e50;font-size:.95rem}.job-count{font-size:.7rem;color:#95a5a6;font-weight:400;margin-left:auto;align-self:flex-end}.timeline{flex:1;display:grid;grid-template-columns:repeat(13,100px);position:relative;background:repeating-linear-gradient(to right,#f8f9fa 0px,#f8f9fa 1px,transparent 1px,transparent 100px);cursor:crosshair;min-height:70px}.timeline:hover{background-color:#3498db05}.timeline.drag-over{background-color:#3498db26;border:2px dashed #3498db;box-shadow:inset 0 0 10px #3498db4d}.job-block{position:absolute;height:100px;border-radius:6px;padding:.5rem;font-size:.7rem;cursor:move;box-shadow:0 2px 8px #00000026;overflow:visible;transition:all .2s;top:5px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.job-block:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 4px 16px #00000040;z-index:5}.job-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem;padding-bottom:.2rem;border-bottom:1px solid rgba(255,255,255,.3)}.job-time{font-weight:700;font-size:.75rem;letter-spacing:.3px}.job-duration{font-weight:700;font-size:.65rem;letter-spacing:.3px;background:#ffffff40;padding:.15rem .35rem;border-radius:4px;opacity:.95}.job-number{font-weight:700;font-size:.7rem;letter-spacing:.3px}.job-details{flex:1;display:flex;flex-direction:column;gap:.2rem;margin-bottom:.3rem}.job-service-type{font-size:.75rem;font-weight:700;opacity:.95;text-transform:uppercase;letter-spacing:.5px}.job-code{font-size:.65rem;opacity:.85;font-family:monospace;background:#fff3;padding:.1rem .3rem;border-radius:3px;display:inline-block;margin-bottom:.2rem}.job-customer{font-size:.7rem;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-description{font-size:.65rem;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic}.job-block.active{border:2px solid #f1c40f;animation:pulse-border 2s infinite}@keyframes pulse-border{0%,to{border-color:#f1c40f}50%{border-color:#f39c12}}.job-block.booking{background:linear-gradient(135deg,#3498db,#2980b9)}.job-block.in-progress{background:linear-gradient(135deg,#27ae60,#229954)}.job-block.break{background:linear-gradient(135deg,#95a5a6,#7f8c8d)}.job-block.lunch-break{background:linear-gradient(135deg,#f39c12,#e67e22);border:2px dashed #fff;color:#000!important}.job-block.lunch-break .job-time,.job-block.lunch-break .job-duration,.job-block.lunch-break .job-customer,.job-block.lunch-break .job-description,.job-block.lunch-break .job-service-type{color:#000!important;font-weight:600!important}.job-block.lunch-break:before{content:"🍽️";position:absolute;top:.3rem;right:.3rem;font-size:1.2rem}.job-block.urgent{background:linear-gradient(135deg,#e74c3c,#c0392b);animation:pulse-urgent 2s infinite}@keyframes pulse-urgent{0%,to{opacity:1}50%{opacity:.85;box-shadow:0 0 20px #e74c3c80}}.job-block.completed{background:linear-gradient(135deg,#9b59b6,#8e44ad);opacity:.75}.active-badge{color:#f1c40f;font-size:.65rem;animation:blink 1.5s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.job-customer{font-size:.7rem;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.2rem}.job-actions{display:flex;gap:.3rem;margin-top:auto;padding-top:.4rem;z-index:10;position:relative}.btn-action{padding:.6rem 1rem;border:none;border-radius:6px;font-size:.8rem;font-weight:900;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 4px 8px #0006;min-width:70px;text-align:center;text-transform:uppercase;letter-spacing:.5px}.btn-action.clock-in{background:#27ae60!important;color:#fff!important;border:4px solid white!important}.btn-action.clock-in:hover{background:#229954!important;transform:scale(1.2);box-shadow:0 6px 12px #27ae6099}.btn-action.clock-out{background:#e74c3c!important;color:#fff!important;border:4px solid white!important}.btn-action.clock-out:hover{background:#c0392b!important;transform:scale(1.2);box-shadow:0 6px 12px #e74c3c99}.completed-badge{font-size:.65rem;font-weight:600;opacity:.8}.legend-bar{background:#fff;padding:1rem 1.5rem;border-radius:8px;display:flex;align-items:center;gap:2rem;flex-wrap:wrap;box-shadow:0 2px 6px #0000000d}.legend-title{font-weight:600;color:#2c3e50;margin-right:.5rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#555}.color-box{width:28px;height:18px;border-radius:4px;box-shadow:0 1px 3px #0003}.color-box.booking{background:linear-gradient(135deg,#3498db,#2980b9)}.color-box.in-progress{background:linear-gradient(135deg,#27ae60,#229954)}.color-box.lunch-break{background:linear-gradient(135deg,#f39c12,#e67e22)}.color-box.break{background:linear-gradient(135deg,#95a5a6,#7f8c8d)}.color-box.urgent{background:linear-gradient(135deg,#e74c3c,#c0392b)}.color-box.completed{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.loading-container{padding:3rem;text-align:center}.spinner{width:50px;height:50px;margin:0 auto 1.5rem;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}.empty-state{padding:3rem;text-align:center;color:#7f8c8d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-box{background:#fff;padding:2rem;border-radius:12px;max-width:500px;width:90%;box-shadow:0 10px 40px #0000004d;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-box h3{margin-bottom:.5rem;color:#2c3e50;font-size:1.5rem}.modal-subtitle{margin-bottom:1.5rem;color:#7f8c8d;line-height:1.6}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50}.form-input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:.95rem;transition:border .2s}.form-input:focus{outline:none;border-color:#3498db}.note{padding:.75rem;background:#e8f4f8;border-left:4px solid #3498db;border-radius:4px;font-size:.85rem;color:#2c3e50;margin-bottom:1.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-cancel{padding:.75rem 1.5rem;border:2px solid #e0e0e0;background:#fff;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#f8f9fa;border-color:#c0392b;color:#c0392b}.btn-create{padding:.75rem 1.5rem;border:none;background:linear-gradient(135deg,#27ae60,#229954);color:#fff;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-create:hover{background:linear-gradient(135deg,#229954,#1e8449);transform:translateY(-2px);box-shadow:0 4px 12px #27ae604d}@media (max-width: 1400px){.timeline{grid-template-columns:repeat(13,70px)}.time-slot-header{min-width:70px;width:70px}}@media (max-width: 1200px){.timeline{grid-template-columns:repeat(13,60px)}.time-slot-header{min-width:60px;width:60px}}@media (max-width: 768px){.service-schedule{padding:1rem}.controls-bar{flex-direction:column;align-items:flex-start}.resource-column,.resource-name-cell{min-width:120px;width:120px}.job-block{height:55px;font-size:.65rem}}.job-block{position:relative;cursor:grab}.job-block:active{cursor:grabbing}.resize-handle{position:absolute;top:0;bottom:0;width:12px;cursor:ew-resize;z-index:10;opacity:.3;transition:opacity .2s}.resize-handle:hover{opacity:1}.job-block:hover .resize-handle{opacity:.8}.resize-handle:hover{opacity:1!important}.resize-left{left:0;background:linear-gradient(to right,rgba(52,152,219,.8),transparent);border-left:2px solid #3498db}.resize-right{right:0;background:linear-gradient(to left,rgba(52,152,219,.8),transparent);border-right:2px solid #3498db}.resize-handle:active{opacity:1!important;background:#3498dbe6!important}body.resizing{cursor:ew-resize!important;-webkit-user-select:none;user-select:none}body.resizing *{cursor:ew-resize!important}.btn-add-lunch[draggable=true]{cursor:grab;-webkit-user-select:none;user-select:none}.btn-add-lunch[draggable=true]:active{cursor:grabbing}.timeline.lunch-drop-target{background:#f39c121a;border:2px dashed #f39c12}.lunch-drop-indicator{position:absolute;top:0;height:100%;background:linear-gradient(135deg,#f39c12,#e67e22);border:2px dashed #fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:14px;pointer-events:none;z-index:100;animation:pulse-lunch .5s ease-in-out infinite;box-shadow:0 4px 12px #f39c1266}@keyframes pulse-lunch{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}body.dragging-lunch,body.dragging-lunch *{cursor:grabbing!important}body.dragging-lunch .timeline{border:2px dashed #f39c12;background:#f39c120d}@media (max-width: 768px){.schedule-controls{flex-direction:column;gap:.75rem;padding:.75rem;background:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #0000001a}.controls-left,.controls-right{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:.5rem}.date-range-picker{display:flex!important;flex-direction:row!important;width:100%;background:#f8f9fa;padding:.5rem;border-radius:8px;margin-bottom:.5rem}.date-range-picker label{font-size:.75rem;font-weight:600;min-width:45px}.date-range-picker input[type=date]{flex:1;min-width:0;font-size:.85rem;padding:.4rem}.date-range-picker .btn{white-space:nowrap;font-size:.85rem}.btn,.btn-nav{padding:.4rem .8rem;font-size:.85rem}.date-range-picker{flex-direction:column;gap:.25rem;width:100%}.date-range-picker input{width:100%}.schedule-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.schedule-body{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:thin;scrollbar-color:#667eea #f0f0f0}.schedule-body::-webkit-scrollbar{height:8px;-webkit-appearance:none}.schedule-body::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.schedule-body::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px;border:2px solid #f0f0f0}.schedule-body::-webkit-scrollbar-thumb:active{background:#5568d3}.schedule-grid{min-width:1200px}.job-block{min-height:60px;font-size:.75rem}.resize-handle{width:12px;opacity:.3}.job-block:active .resize-handle{opacity:1}.resource-name-cell{min-width:150px;font-size:.85rem}.timeline{min-height:60px}.time-header .time-label{font-size:.75rem}.modal-box{width:95%;max-width:95vw;margin:1rem;max-height:90vh;overflow-y:auto}.modal-box h3{font-size:1.2rem}.form-input{font-size:16px}.legend-bar{flex-wrap:wrap;gap:.5rem;font-size:.75rem}@media (max-width: 480px){.btn-nav{padding:.3rem .6rem;font-size:.75rem}.job-count{display:none}.legend-title{width:100%;margin-bottom:.25rem}}}@media (hover: none) and (pointer: coarse){.job-block{cursor:default}.resize-handle{opacity:.4}.job-block:active .resize-handle{opacity:1}.btn,.btn-nav{min-height:44px;min-width:44px}.job-block:hover,.btn:hover,.btn-nav:hover{transform:none}}@media (max-width: 896px) and (orientation: landscape){.schedule-header{padding:.5rem}.modal-box{max-height:85vh}}@media (min-width: 769px) and (max-width: 1024px){.schedule-grid{min-width:100%}.resource-name-cell{width:180px}}.filter-container{position:relative;display:none}.btn-filter{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.6rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-filter:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.filter-dropdown{position:absolute;top:calc(100% + .5rem);left:0;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;padding:1rem;min-width:250px;max-width:300px;z-index:1000;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid #e0e0e0}.filter-header strong{font-size:1rem;color:#333}.filter-close{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:0;width:24px;height:24px;line-height:1}.filter-close:hover{color:#e74c3c}.filter-actions{display:flex;gap:.5rem;margin-bottom:.75rem}.filter-action-btn{flex:1;background:#1abc9c!important;border:1px solid #16a085!important;padding:.4rem;border-radius:6px;font-size:.85rem;font-weight:600;color:#fff!important;cursor:pointer;transition:all .2s}.filter-action-btn:hover{background:#16a085;color:#fff;border-color:#10221e;box-shadow:0 2px 8px #1abc9c4d}.filter-list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.filter-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:6px;cursor:pointer;transition:background .2s}.filter-item:hover{background:#f8f9fa}.filter-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.filter-item span{flex:1;font-size:.9rem;color:#333}@media (max-width: 768px){.filter-dropdown{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:350px}.btn-filter{font-size:.85rem;padding:.5rem .8rem}}.date-selector{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;width:100%;margin-bottom:.5rem}.btn-date-large{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #667eea4d;flex:1;min-width:200px}.btn-date-large:active{transform:scale(.98)}.btn-today-nav{background:#f8f9fa;border:2px solid #667eea;color:#667eea;padding:.5rem .8rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-today-nav:active{background:#667eea;color:#fff}.date-nav-buttons{display:flex;gap:.5rem}.btn-date-nav{background:#f8f9fa;border:2px solid #ddd;color:#333;padding:.5rem .8rem;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;min-width:45px}.btn-date-nav:active{background:#667eea;color:#fff;border-color:#667eea}.mobile-calendar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s}.mobile-calendar-modal{background:#fff;border-radius:20px;padding:1.5rem;width:90%;max-width:400px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.calendar-header h3{font-size:1.25rem;font-weight:700;color:#333;margin:0}.calendar-nav-btn{background:#f8f9fa;border:2px solid #ddd;color:#333;padding:.5rem .75rem;border-radius:8px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s;min-width:44px;min-height:44px}.calendar-nav-btn:active{background:#667eea;color:#fff;border-color:#667eea}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem}.calendar-weekday{text-align:center;font-weight:700;color:#666;font-size:.85rem;padding:.5rem 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:1rem}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:2px solid transparent;min-height:44px}.calendar-day:not(.empty):hover{background:#f0f0f0}.calendar-day:not(.empty):active{background:#667eea;color:#fff;transform:scale(.95)}.calendar-day.empty{cursor:default}.calendar-day.today{background:#fff3cd;border-color:#ffc107;font-weight:700}.calendar-day.selected{background:#667eea;color:#fff;border-color:#667eea;font-weight:700}.calendar-footer{display:flex;gap:.5rem;padding-top:1rem;border-top:2px solid #e0e0e0}.calendar-footer .btn{flex:1;padding:.75rem;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;border:none;min-height:44px}.calendar-footer .btn-today{background:#28a745;color:#fff}.calendar-footer .btn-today:active{background:#218838;transform:scale(.98)}.calendar-footer .btn-close{background:#6c757d;color:#fff}.calendar-footer .btn-close:active{background:#5a6268;transform:scale(.98)}@media (max-width: 768px){.date-selector{flex-direction:column;align-items:stretch}.btn-date-large{width:100%;min-width:0;font-size:1.1rem;padding:1rem}.btn-today-nav{width:100%;padding:.6rem}.date-nav-buttons{width:100%}.btn-date-nav{flex:1;padding:.6rem}.mobile-calendar-modal{width:95%;max-width:100%;margin:1rem}.calendar-day{font-size:.95rem;min-height:40px}}@media (max-width: 360px){.calendar-day{font-size:.85rem;min-height:36px}.calendar-weekday{font-size:.75rem}}@media (max-width: 768px){.schedule-body{position:relative;background:linear-gradient(90deg,#fff 30%,#fff0) 0 0,linear-gradient(90deg,#fff0,#fff 70%) 100% 0,radial-gradient(farthest-side at 0 50%,#0003,#0000) 0 0,radial-gradient(farthest-side at 100% 50%,#0003,#0000) 100% 0;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}.schedule-body::-webkit-scrollbar{height:12px!important}.schedule-body::-webkit-scrollbar-thumb{background:#667eea!important;border-radius:6px!important;border:2px solid #fff!important}.schedule-body,.time-slots-header{touch-action:pan-x pan-y}.schedule-header:after{content:"← Swipe to see more →";display:block;text-align:center;font-size:.75rem;color:#667eea;padding:.25rem;background:#f0f0ff;border-radius:8px;margin-top:.5rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}}@media (hover: none) and (pointer: coarse){.schedule-body{scrollbar-width:thick}.schedule-body::-webkit-scrollbar{height:14px!important;background:#f8f9fa;border-radius:8px}.schedule-body::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2)!important;border-radius:8px!important;border:3px solid #f8f9fa!important;min-width:50px}.schedule-body::-webkit-scrollbar-thumb:active{background:linear-gradient(135deg,#764ba2,#667eea)!important}}.mobile-scroll-controls{display:flex;gap:.5rem;align-items:center;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;margin:.5rem 0;flex-wrap:wrap;justify-content:center}.scroll-btn{background:#fff;color:#667eea;border:none;padding:.75rem 1.25rem;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000001a;min-height:44px;flex:1;min-width:140px}.scroll-btn:active{transform:scale(.95);background:#f0f0ff}.scroll-hint{color:#fff;font-size:.85rem;font-weight:600;text-align:center;width:100%;margin:.25rem 0;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translate(0)}50%{transform:translate(5px)}}@media (min-width: 769px){.mobile-scroll-controls{display:none}}.date-controls-wrapper{display:flex;flex-direction:row;align-items:center;gap:.5rem}.date-range-picker{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap;background:#f8f9fa;padding:.5rem .75rem;border-radius:8px;border:2px solid #e0e0e0}.date-range-picker label{font-weight:600;color:#333;font-size:.9rem}.date-range-picker .date-input{padding:.5rem;border:2px solid #ddd;border-radius:6px;font-size:.9rem;min-width:140px;background:#fff}.date-range-picker .date-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}@media (max-width: 768px){.date-controls-wrapper{flex-direction:column;width:100%;gap:.75rem}.btn-date-large{width:100%;margin-bottom:.5rem}.date-range-picker{flex-direction:column;align-items:stretch}.date-range-picker label{font-size:.85rem}.date-range-picker .date-input{width:100%;min-width:0}}.btn-apply{background:linear-gradient(135deg,#1abc9c,#16a085)!important;color:#fff!important;border:none!important;padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-apply:hover{background:linear-gradient(135deg,#16a085,#138d75);transform:translateY(-2px);box-shadow:0 4px 12px #1abc9c4d}.btn-apply:active{transform:translateY(0)}@media (max-width: 768px){.btn-apply{width:100%;padding:.6rem}}.btn-complete-job{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;width:24px;height:24px;border-radius:4px;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-left:auto;box-shadow:0 2px 4px #28a74533}.btn-complete-job:hover{background:linear-gradient(135deg,#218838,#1aa179);transform:scale(1.1);box-shadow:0 4px 8px #28a7454d}.btn-complete-job:active{transform:scale(.95)}.job-header{display:flex;align-items:center;gap:8px}.job-price{font-size:11px;font-weight:600;color:#16a34a;background-color:#dcfce7;padding:2px 6px;border-radius:3px;margin-top:4px;display:inline-block}.job-price:hover{background-color:#bbf7d0}.job-details{display:flex;flex-direction:column;gap:2px}.form-section{margin-bottom:20px;padding:12px;background-color:#f8f9fa;border-radius:6px;border-left:3px solid #4CAF50}.form-section h4{margin:0 0 12px;font-size:14px;color:#333;font-weight:600}.note-small{font-size:11px;color:#666;margin:4px 0 0;font-style:italic}.total-display{color:#16a34a;font-size:16px;font-weight:700}.modal-box{max-height:90vh;overflow-y:auto}.form-input[type=number]{font-family:Courier New,monospace;font-weight:600}.job-close-button{position:absolute;top:4px;right:4px;width:24px;height:24px;background-color:#ef4444;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;font-weight:700;opacity:0;transition:all .2s ease;z-index:10;border:none;padding:0;line-height:1}.job-block:hover .job-close-button{opacity:1;transform:scale(1.1)}.job-close-button:hover{background-color:#dc2626;transform:scale(1.2);box-shadow:0 2px 8px #ef444466}.schedule-body{overflow-x:auto;overflow-y:visible;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;max-height:calc(100vh - 300px);-webkit-overflow-scrolling:touch}.schedule-container{padding-bottom:0!important;margin-bottom:0!important}@media (max-width: 768px){.quick-create-modal{width:95%!important;max-width:100%!important;height:90vh!important;max-height:90vh!important;margin:5vh auto!important;border-radius:12px!important}.quick-create-header{padding:16px!important}.quick-create-header h2{font-size:16px!important}.quick-create-body{height:calc(90vh - 80px)!important;overflow-y:auto!important;padding:16px!important}.quick-section{margin-bottom:20px!important}.quick-form-group{margin-bottom:16px!important}.quick-form-group label{font-size:13px!important;margin-bottom:8px!important}.quick-input{padding:12px!important;font-size:14px!important;min-height:44px!important;width:100%!important}.customer-selector-btn{padding:14px 12px!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.customer-change-btn{padding:12px!important;min-height:44px!important;width:100%!important}.selected-customer-badge{padding:12px!important;font-size:13px!important;margin-bottom:12px!important;border-radius:4px!important}}@media (max-width: 768px){.professional-customer-modal{width:97%!important;height:85vh!important;max-height:85vh!important;margin:50% auto!important;transform:translateY(-50%)!important}.professional-modal-header{padding:14px 12px!important}.professional-modal-title{font-size:16px!important;font-weight:600!important}.professional-modal-content{height:calc(85vh - 120px)!important;padding:12px!important}.professional-search-input{padding:12px!important;font-size:14px!important;min-height:44px!important}.professional-customer-list{max-height:calc(85vh - 200px)!important}.professional-customer-item{padding:12px!important;margin-bottom:8px!important;border-radius:4px!important}.professional-customer-name{font-size:14px!important;font-weight:600!important}.professional-customer-details{font-size:12px!important;margin-top:4px!important}.professional-modal-footer{padding:12px!important}.professional-add-customer-btn{padding:12px!important;min-height:44px!important;font-size:14px!important}.professional-add-form{padding:12px 0!important}.professional-form-group{margin-bottom:14px!important}.professional-form-group label{font-size:13px!important;margin-bottom:6px!important}.professional-form-input{padding:12px!important;font-size:14px!important;min-height:44px!important;width:100%!important}.professional-form-buttons{display:flex!important;gap:8px!important;padding:12px 0!important}.professional-form-buttons button{flex:1!important;padding:12px!important;min-height:44px!important;font-size:13px!important}}@media (max-width: 768px){.scroll-buttons-container{margin:12px 0!important}.scroll-left-btn,.scroll-right-btn{padding:10px 8px!important;font-size:12px!important;min-height:40px!important}.scroll-hint{font-size:12px!important;padding:8px 12px!important}}@media (max-width: 768px){.quick-time-grid,.quick-info-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.quick-info-item{padding:10px 12px!important}}.professional-modal-backdrop{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:#000000b3!important;z-index:998!important;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:#00000080!important;z-index:997!important;display:flex!important;align-items:center!important;justify-content:center!important}body.modal-open{overflow:hidden!important}.quick-input,.professional-search-input,.professional-customer-item,.professional-add-customer-btn{-webkit-tap-highlight-color:rgba(0,0,0,.1);-webkit-user-select:none;user-select:none}.quick-input:active,.professional-search-input:active,.professional-customer-item:active,.professional-add-customer-btn:active{background-color:#e8f4f8!important;transform:scale(.98)}.schedule-wrapper,.schedule-main{overflow:hidden!important}.technician-bay{overflow:visible!important}.bay-label{word-break:break-word!important;overflow:hidden!important;text-overflow:ellipsis!important}.scroll-buttons-container{margin:0!important;padding:0!important;min-height:0!important;max-height:200px!important}.scroll-left-btn,.scroll-right-btn{margin:8px 0!important;padding:10px 12px!important}.scroll-hint{margin:6px 0!important;padding:6px 0!important}.schedule-body{overflow-x:auto!important;overflow-y:auto!important;margin-bottom:0!important;padding-bottom:0!important}.schedule-container,.schedule-main,.schedule-wrapper{overflow-x:hidden!important;overflow-y:visible!important;margin-bottom:0!important;padding-bottom:0!important}.technician-row{overflow:hidden!important}.bay-container{overflow:visible!important;margin-bottom:0!important}.legend-bar{margin-top:16px!important;margin-bottom:0!important}@media (max-width: 768px){.scroll-buttons-container{display:flex!important;flex-direction:column!important;gap:0!important;margin:8px 0!important;padding:0!important}.scroll-left-btn,.scroll-right-btn{width:100%!important;margin:4px 0!important;padding:10px 8px!important}.scroll-hint{margin:4px 0!important;padding:4px 0!important;font-size:11px!important}.schedule-body{max-height:calc(100vh - 280px)!important}}.service-schedule-container{display:flex;flex-direction:column;height:100%}.schedule-section{flex:1;overflow:hidden}.technician-filter-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#fff;border-bottom:2px solid #ddd}.technician-filter-select{padding:.5rem 1rem;border:2px solid #3498db;border-radius:4px;font-size:.95rem;cursor:pointer;background:#fff;color:#2c3e50}.technician-filter-select:hover{border-color:#2980b9;background:#f8f9fa}.schedule-wrapper{display:flex;flex-direction:column;flex:1;overflow:hidden;background:#fff}.schedule-wrapper .schedule-header{display:flex;background:linear-gradient(135deg,#34495e,#2c3e50);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 6px #00000026;flex-shrink:0}.header-left{width:220px;min-width:220px;padding:.75rem;font-weight:600;border-right:2px solid rgba(255,255,255,.1);display:flex;align-items:center;flex-shrink:0}.header-right{flex:1;overflow:hidden;display:flex}.header-right .time-slots-header{display:flex;width:100%}.schedule-main{display:flex;flex:1;overflow-x:hidden;overflow-y:auto;gap:0}.schedule-left{width:220px;min-width:220px;border-right:2px solid #ddd;display:flex;flex-direction:column;background:#fafafa;flex-shrink:0;overflow-y:hidden;overflow-x:hidden;-webkit-overflow-scrolling:touch}.schedule-left-row{height:120px;min-height:120px;padding:1rem;border-bottom:1px solid #e9ecef;display:flex;flex-direction:column;justify-content:center;gap:.5rem;background:#fff;flex-shrink:0;box-sizing:border-box}.schedule-left-row.category-row{background:linear-gradient(to right,#ecf0f1,#f8f9fa);border-bottom:2px solid #bdc3c7;font-weight:700;height:60px;min-height:60px}.schedule-left-row.uncategorized-row{background:#fff3cd}.left-row-content{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.left-row-content .resource-icon{font-size:1.2rem}.left-row-content .resource-name{font-weight:500;color:#2c3e50}.left-row-content .status-badge{font-size:.8rem;margin-left:auto}.status-badge.status-in{color:#27ae60;font-weight:700}.status-badge.status-out{color:#e74c3c;font-weight:700}.left-row-actions{display:flex;gap:.25rem}.btn-clock{padding:.4rem .6rem;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:600;transition:all .2s;min-height:32px}.btn-clock.btn-clock-out{background:#e74c3c}.btn-clock:hover{opacity:.9;transform:scale(.98)}.left-empty-state{padding:2rem;text-align:center;color:#95a5a6}.schedule-right{flex:1;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;position:relative}.schedule-right .schedule-body{position:relative;display:flex;flex-direction:column;min-width:min-content;margin:0;padding:0;max-height:none}.schedule-right .schedule-row{display:flex;height:120px;min-height:120px;border-bottom:1px solid #e9ecef;position:relative;flex-shrink:0;box-sizing:border-box}.schedule-right .schedule-row.category-row{height:60px;min-height:60px}.schedule-right .timeline{display:flex;gap:2px;width:100%;min-width:max-content;align-items:stretch;position:relative;min-height:120px}@media (max-width: 768px){.schedule-wrapper,.schedule-main{flex-direction:column}.schedule-left{width:100%;min-width:100%;border-right:none;border-bottom:2px solid #ddd;max-height:25%;overflow-y:auto;overflow-x:hidden}.schedule-right{flex:1;width:100%;overflow-x:auto;overflow-y:auto}.header-left{width:100%;min-width:100%;border-right:none;border-bottom:2px solid #ddd}.header-right{width:100%}.header-right .time-slot-header{min-width:70px;width:70px;padding:.5rem .25rem;font-size:.75rem}.schedule-row,.schedule-left-row{min-height:60px;padding:.75rem}.left-row-content{font-size:.85rem}.btn-clock{padding:.3rem .4rem;font-size:.7rem;min-height:28px}.technician-filter-bar{flex-wrap:wrap}}.multi-select-container{position:relative;flex:1;min-width:200px}.multi-select-button{width:100%;padding:8px 12px;background:#fff;border:2px solid #007bff;border-radius:6px;font-size:14px;font-weight:600;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:all .2s ease}.multi-select-button:hover{background:#f0f8ff;border-color:#0056b3;color:#0056b3}.dropdown-arrow{font-size:10px;display:inline-block;transition:transform .2s ease}.multi-select-button:hover .dropdown-arrow{transform:translateY(2px)}.multi-select-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:2px solid #007bff;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:250px}.filter-header{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #e0e0e0;background:#f8f9fa;border-radius:4px 4px 0 0}.filter-header strong{color:#333;font-size:14px;margin:0}.filter-close{background:none;border:none;font-size:16px;cursor:pointer;color:#666;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:all .2s ease}.filter-close:hover{background:#e0e0e0;color:#333}.filter-actions{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid #e0e0e0}.filter-action-btn{flex:1;padding:6px 8px;background:#e8f4ff;border:1px solid #007bff;border-radius:4px;color:#007bff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.filter-action-btn:hover{background:#007bff;color:#fff}.filter-list{max-height:300px;overflow-y:auto;padding:8px 0}.filter-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:all .2s ease;font-size:13px;color:#333}.filter-item:hover{background:#f0f8ff}.filter-item input[type=checkbox]{cursor:pointer;width:16px;height:16px;margin:0;accent-color:#007bff}.filter-item span{flex:1}.filter-footer{padding:8px 12px;border-top:1px solid #e0e0e0;background:#f8f9fa;font-size:12px;color:#666;text-align:center;border-radius:0 0 4px 4px}@media (max-width: 768px){.multi-select-dropdown{position:fixed;top:auto;left:10px;right:10px;bottom:10px;min-width:unset;max-height:60vh}.filter-list{max-height:400px}}.completion-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:650px;width:95%;max-height:95vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:24px;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;background:#f8f9fa;border-radius:12px 12px 0 0}.modal-header h2{margin:0;font-size:22px;color:#17a2b8;font-weight:700}.header-buttons{display:flex;gap:10px;align-items:center}.edit-btn{padding:10px 16px;background:#3498db;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;transition:all .2s}.edit-btn:hover{background:#2980b9;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.btn-save-edit{padding:10px 16px;background:#27ae60;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:13px;transition:all .2s}.btn-save-edit:hover{background:#229954;transform:translateY(-2px)}.btn-cancel-edit{padding:10px 16px;background:#e74c3c;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:13px;transition:all .2s}.btn-cancel-edit:hover{background:#c0392b;transform:translateY(-2px)}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#95a5a6;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-btn:hover{background:#ecf0f1;color:#e74c3c}.modal-content{flex:1;overflow-y:auto;padding:0}.section-box{padding:24px;border-bottom:1px solid #f0f0f0}.section-box:last-child{border-bottom:none}.section-box h3{margin:0 0 18px;font-size:15px;font-weight:700;color:#17a2b8;display:flex;align-items:center;gap:8px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.info-item{display:flex;flex-direction:column}.info-item label{font-size:11px;font-weight:700;color:#7f8c8d;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}.info-item span{font-size:14px;font-weight:600;color:#2c3e50}.info-item input,.info-item select,.info-item textarea{padding:12px 14px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;font-weight:500;transition:all .2s;background:#fff}.info-item input:focus,.info-item select:focus,.info-item textarea:focus{outline:none;border-color:#17a2b8;box-shadow:0 0 0 3px #17a2b814}.info-item input:disabled{background:#f5f5f5;opacity:.6;cursor:not-allowed}.info-item select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%2317a2b8" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>');background-repeat:no-repeat;background-position:right 12px center;background-size:20px;padding-right:40px}.info-item textarea{resize:vertical;min-height:80px}.pricing-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.price-input{display:flex;flex-direction:column}.price-input label{font-size:12px;font-weight:700;color:#2c3e50;margin-bottom:8px}.price-input input{padding:12px 14px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:500;transition:all .2s;background:#fff}.price-input input:focus{outline:none;border-color:#17a2b8;box-shadow:0 0 0 3px #17a2b814}.markup-box{background:#fffacd;border:2px solid #ffd700;border-radius:10px;padding:16px;margin-bottom:20px}.markup-box label{display:block;font-size:12px;font-weight:700;color:#2c3e50;margin-bottom:10px}.markup-input-row{display:flex;gap:8px;margin-bottom:10px}.markup-input-row input{flex:1;padding:12px 14px;border:2px solid #ffd700;border-radius:8px;font-size:14px;font-weight:600;background:#fff}.markup-input-row input:focus{outline:none;border-color:#17a2b8;box-shadow:0 0 0 3px #17a2b814}.percent-symbol{padding:12px 10px;font-weight:700;color:gold;font-size:16px;display:flex;align-items:center}.formula{margin:0;font-size:12px;color:#856404;font-weight:600}.price-summary{background:#f8fafb;border:2px solid #17a2b8;border-radius:10px;padding:18px}.price-line{display:flex;justify-content:space-between;align-items:center;padding:11px 0;font-size:14px;border-bottom:1px solid #e0e0e0}.price-line:last-of-type{border-bottom:none}.price-line span{color:#7f8c8d;font-weight:600}.price-line strong{color:#2c3e50;font-weight:700}.price-line.total{padding-top:12px;padding-bottom:0;border-top:2px solid #e0e0e0;font-size:16px;margin-top:6px}.total-amount{color:#17a2b8!important;font-size:18px!important;font-weight:800!important}.margin-text{margin:12px 0 0;font-size:12px;color:#27ae60;font-weight:700;text-align:right}textarea{width:100%;padding:12px 14px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;resize:vertical;transition:all .2s;background:#fff}textarea:focus{outline:none;border-color:#17a2b8;box-shadow:0 0 0 3px #17a2b814}textarea::placeholder{color:#bdc3c7}.upload-dropzone{border:2px dashed #17a2b8;border-radius:12px;padding:36px 24px;text-align:center;cursor:pointer;transition:all .2s;background:#f8fafb}.upload-dropzone:hover{background:#17a2b80d;border-color:#0ca678}.upload-dropzone.drag-active{background:#17a2b81a;border-color:#0ca678;transform:scale(1.01)}.upload-content{display:flex;flex-direction:column;align-items:center;gap:14px}.upload-icon{font-size:48px;opacity:.6}.upload-text{margin:0;font-size:14px;color:#7f8c8d;font-weight:600}.browse-btn{padding:10px 24px;background:#17a2b8;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:13px;transition:all .2s}.browse-btn:hover{background:#0ca678;transform:translateY(-2px);box-shadow:0 4px 8px #17a2b833}.photo-count{margin-top:16px;padding:12px 14px;background:#d4edda;color:#155724;border-radius:8px;font-size:13px;font-weight:700;text-align:center}.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:16px}.photo-card{position:relative;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #0000001f;transition:all .2s}.photo-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.photo-card img{width:100%;height:130px;object-fit:cover;display:block}.photo-label{position:absolute;bottom:6px;left:6px;background:#17a2b8e6;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:700}.remove-photo{position:absolute;top:6px;right:6px;background:#e74c3c;color:#fff;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:18px;font-weight:700;opacity:0;transition:all .2s;box-shadow:0 2px 4px #0003}.photo-card:hover .remove-photo{opacity:1}.remove-photo:hover{background:#c0392b;transform:scale(1.1)}.modal-footer{padding:20px 24px;border-top:2px solid #f0f0f0;display:flex;justify-content:flex-end;gap:12px;background:#f8f9fa;border-radius:0 0 12px 12px}.btn-cancel{padding:12px 28px;background:#ecf0f1;color:#2c3e50;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:13px;transition:all .2s}.btn-cancel:hover{background:#d5dbdb}.btn-warning{padding:12px 24px;background:#f39c12;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:13px;transition:all .2s}.btn-warning:hover:not(:disabled){background:#e67e22;transform:translateY(-2px)}.btn-complete{padding:12px 28px;background:#17a2b8;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:13px;transition:all .2s}.btn-complete:hover:not(:disabled){background:#0ca678;transform:translateY(-2px);box-shadow:0 4px 12px #17a2b84d}.btn-complete:disabled,.btn-complete.disabled{opacity:.5;cursor:not-allowed;transform:none}.alert{padding:14px 16px;border-radius:8px;margin:0 24px 16px;font-size:13px;font-weight:600}.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.dialog-box{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:32px;max-width:420px;width:90%;animation:slideUp .3s ease-out}.dialog-box h3{margin:0 0 14px;font-size:18px;color:#f39c12;font-weight:700}.dialog-box p{margin:0 0 24px;font-size:14px;color:#7f8c8d;line-height:1.6}.dialog-buttons{display:flex;gap:12px;justify-content:flex-end}.dialog-buttons button{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:13px;transition:all .2s}.btn-secondary{background:#ecf0f1;color:#2c3e50}.btn-secondary:hover{background:#d5dbdb}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f1f1}.modal-content::-webkit-scrollbar-thumb{background:silver;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#a9a9a9}.upload-subtext{margin:6px 0 0;font-size:12px;color:#999;font-weight:400}.photo-card video{width:100%;height:150px;object-fit:cover;border-radius:8px 8px 0 0}.photo-card video::-webkit-media-controls{background-color:#ffffffe6}input[type=checkbox]{accent-color:#17a2b8;cursor:pointer}input[type=checkbox]:focus{outline:2px solid #17a2b8;outline-offset:2px}.comments-list{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:16px;max-height:250px;overflow-y:auto}.comment-item{background:#fff;border-left:3px solid #17a2b8;padding:12px;margin-bottom:12px;border-radius:6px;box-shadow:0 1px 3px #00000014}.comment-item:last-child{margin-bottom:0}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.comment-header strong{color:#17a2b8;font-size:13px;font-weight:700}.comment-time{font-size:11px;color:#999;font-weight:600}.comment-text{margin:0;font-size:13px;color:#2c3e50;line-height:1.5;word-wrap:break-word}.comment-form{display:flex;flex-direction:column;gap:10px}.comment-input{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;resize:vertical;min-height:60px;transition:all .2s;background:#fff}.comment-input:focus{outline:none;border-color:#17a2b8;box-shadow:0 0 0 3px #17a2b814}.comment-btn{padding:10px 16px;background:#17a2b8;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;transition:all .2s}.comment-btn:hover:not(:disabled){background:#0ca678;transform:translateY(-2px);box-shadow:0 4px 8px #17a2b833}.comment-btn:disabled{opacity:.5;cursor:not-allowed}.edit-details-btn{background:#3498db!important;color:#fff!important;border:none!important;padding:10px 16px!important;font-weight:700!important;font-size:13px!important;border-radius:8px!important;cursor:pointer!important;transition:all .2s!important;display:inline-block!important}.edit-details-btn:hover{background:#2980b9!important;transform:translateY(-2px)!important;box-shadow:0 4px 8px #00000026!important}.edit-details-btn:active{transform:translateY(0)!important}.column-header.ready-for-collection{background:linear-gradient(135deg,#20c997,#0d6e52)}@media (max-width: 768px){.kanban-board-container{height:auto;min-height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.row-divider,.row-header{display:none}.row-section{flex:unset;height:auto;overflow:visible;background:transparent;display:block}.kanban-row-wrapper{display:block;overflow:visible;min-height:0}.kanban-columns-container{display:flex;flex-direction:column;gap:0;padding:8px;flex:unset;overflow:visible;height:auto}.kanban-column{flex:unset;width:100%;height:320px;border-radius:0;box-shadow:none;border:1px solid #e0e0e0;border-bottom:1px solid #d0d0d0;display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important}.kanban-column:hover{box-shadow:none;border-color:#e0e0e0}.column-header{padding:10px;font-size:12px;border-radius:0;flex-shrink:0}.column-title{font-size:11px}.column-count{font-size:11px;padding:3px 8px}.column-content{flex:1!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:8px;gap:8px;display:flex!important;flex-direction:column!important}.column-content::-webkit-scrollbar{width:10px}.column-content::-webkit-scrollbar-track{background:#f0f0f0}.column-content::-webkit-scrollbar-thumb{background:#17a2b8;border-radius:5px}.column-content::-webkit-scrollbar-thumb:hover{background:#0d6478}.job-card{padding:8px}.job-header{margin-bottom:4px;padding-bottom:4px}.job-number{font-size:11px}.job-date{font-size:9px;padding:1px 4px}.job-body{font-size:10px;margin-bottom:4px}.job-customer{font-size:10px;margin-bottom:2px}.job-vehicle{font-size:9px;margin-bottom:2px}.job-service{font-size:9px;padding:1px 3px}.job-footer{font-size:9px;padding-top:4px;margin-bottom:4px}.job-technician,.job-time{font-size:9px}.btn-photo{font-size:9px;padding:4px 3px;min-height:28px}}@media (max-width: 480px){.kanban-columns-container{gap:0;padding:6px}.kanban-column{height:300px;display:flex!important;flex-direction:column!important;min-height:0!important}.column-header{padding:8px;font-size:11px}.column-title{font-size:10px}.column-count{font-size:10px;min-width:18px}.column-content{flex:1!important;min-height:0!important;padding:6px;gap:6px}.column-content::-webkit-scrollbar{width:8px}.job-card{padding:6px}.job-header{margin-bottom:3px;padding-bottom:3px}.job-number{font-size:10px}.job-date{font-size:8px;padding:1px 3px}.job-body{font-size:9px;margin-bottom:3px}.job-customer{font-size:9px;margin-bottom:1px}.job-vehicle{font-size:8px;margin-bottom:1px}.job-service{font-size:8px;padding:1px 2px}.job-footer{font-size:8px;padding-top:3px;margin-bottom:3px}.btn-photo{font-size:8px;padding:3px 2px;min-height:26px}}*{box-sizing:border-box}html,body{margin:0;padding:0}.kanban-board-container{display:flex;flex-direction:column;width:100%;height:100vh;background:#fff;overflow:hidden}.row-section{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fafafa;min-height:0}.row2-section{background:#fff}.row-divider{height:2px;background:linear-gradient(to right,transparent,#d0d0d0 20%,#d0d0d0 80%,transparent);flex-shrink:0}.kanban-row-wrapper{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.row-header{padding:12px 15px;background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:2px solid #e0e0e0;flex-shrink:0}.row-label{font-size:14px;font-weight:700;color:#333;text-transform:uppercase;letter-spacing:.5px;margin:0}.kanban-columns-container{display:flex;gap:12px;padding:12px;flex:1;overflow:scroll;min-height:0}.kanban-column{flex:1;min-width:0;background:#fff;border-radius:8px;display:flex;flex-direction:column;box-shadow:0 2px 8px #0000001a;border:1px solid #e0e0e0;overflow:hidden;transition:all .3s ease}.kanban-column:hover{box-shadow:0 4px 16px #00000026;border-color:#17a2b8}.column-header{padding:12px;color:#fff;display:flex;justify-content:space-between;align-items:center;border-radius:8px 8px 0 0;background:#17a2b8;flex-shrink:0;font-weight:700;gap:8px;white-space:nowrap}.column-header.to-do{background:linear-gradient(135deg,#6c757d,#545b62)}.column-header.in-progress{background:linear-gradient(135deg,#17a2b8,#0d6478)}.column-header.awaiting-customer{background:linear-gradient(135deg,#fd7e14,#e86c04)}.column-header.quality-check{background:linear-gradient(135deg,#28a745,#1e7e34)}.column-header.completed{background:linear-gradient(135deg,#20c997,#0d6e52)}.column-header.awaiting-parts{background:linear-gradient(135deg,#ffc107,#e0a500);color:#333}.column-header.on-hold{background:linear-gradient(135deg,#e83e8c,#c6297d)}.column-header.cancelled{background:linear-gradient(135deg,#dc3545,#bb2d3b)}.column-title{font-size:12px;font-weight:700;text-transform:capitalize;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.column-count{background:#ffffff4d;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:700;min-width:24px;text-align:center;flex-shrink:0}.column-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px;display:flex;flex-direction:column;gap:8px;min-height:0}.column-content::-webkit-scrollbar{width:10px;background:transparent}.column-content::-webkit-scrollbar-track{background:#e8e8e8;border-radius:10px;margin:5px 0}.column-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#17a2b8,#0d6478);border-radius:10px;border:2px solid #e8e8e8;min-height:40px}.column-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#138496,#084d5c);border-color:#d8d8d8}.column-content{scrollbar-width:thin;scrollbar-color:#17a2b8 #e8e8e8}.job-card{background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px;cursor:move;transition:all .2s ease;box-shadow:0 1px 3px #00000014;flex-shrink:0}.job-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px);border-color:#17a2b8;background:#fafafa}.job-card:active{opacity:.8;cursor:grabbing}.job-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid #f0f0f0;gap:4px}.job-number{font-weight:700;color:#17a2b8;font-size:12px;flex-shrink:0}.job-date{font-size:11px;color:#999;background:#f5f5f5;padding:2px 6px;border-radius:3px;white-space:nowrap;flex-shrink:0}.job-body{margin-bottom:8px;font-size:11px}.job-customer{font-weight:600;color:#333;font-size:11px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-vehicle{color:#17a2b8;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}.job-service{background:#e7f3ff;padding:2px 4px;border-radius:3px;color:#17a2b8;font-size:10px;display:inline-block}.job-footer{display:flex;justify-content:space-between;align-items:center;padding-top:6px;border-top:1px solid #f0f0f0;font-size:10px;color:#888;gap:4px;margin-bottom:6px}.job-technician{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;min-width:0}.job-time{color:#e74c3c;font-weight:700;font-size:10px;flex-shrink:0}.job-photo-buttons{display:flex;gap:6px;padding-top:6px;border-top:1px solid #f0f0f0}.btn-photo{flex:1;padding:6px;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:10px;font-weight:600;background:#f5f5f5;color:#333;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-photo:hover{background:#e8e8e8;border-color:#17a2b8}.btn-photo.before{background:#e3f2fd;color:#1976d2;border-color:#1976d2}.btn-photo.before:hover{background:#bbdefb}.btn-photo.after{background:#e8f5e9;color:#388e3c;border-color:#388e3c}.btn-photo.after:hover{background:#c8e6c9}.empty-column{flex:1;display:flex;align-items:center;justify-content:center;color:#ccc;font-size:12px;text-align:center;padding:20px}.error-message{padding:20px;color:#dc3545;text-align:center;background:#fff5f5;border:1px solid #f5c6cb;border-radius:6px;margin:20px}.retry-btn{margin-top:10px;padding:8px 16px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background .3s}.retry-btn:hover{background:#c82333}@media (max-width: 1200px){.column-title{font-size:11px}.job-card{padding:8px}.kanban-columns-container{gap:10px;padding:10px}}@media (max-width: 768px){.kanban-board-container{height:auto;min-height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.row-divider,.row-header{display:none!important}.row-section{flex:unset!important;height:auto!important;overflow:visible!important;background:#f5f5f5!important;display:block!important}.row2-section{background:#f5f5f5!important}.kanban-row-wrapper{display:block!important;overflow:visible!important;flex:unset!important}.kanban-columns-container{display:flex!important;flex-direction:column!important;gap:0!important;padding:8px!important;flex:unset!important;overflow:visible!important;height:auto!important}.kanban-column{flex:unset!important;width:100%!important;height:320px!important;border-radius:0!important;box-shadow:none!important;border:1px solid #e0e0e0!important;border-bottom:1px solid #d0d0d0!important;display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;margin-bottom:8px!important}.kanban-column:hover{box-shadow:none!important;border-color:#e0e0e0!important}.column-header{padding:10px!important;font-size:12px!important;border-radius:0!important;flex-shrink:0!important}.column-title{font-size:11px!important}.column-count{font-size:11px!important;padding:3px 8px!important}.column-content{flex:1!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:8px!important;gap:8px!important;display:flex!important;flex-direction:column!important}.column-content::-webkit-scrollbar{width:10px}.column-content::-webkit-scrollbar-track{background:#f0f0f0}.column-content::-webkit-scrollbar-thumb{background:#17a2b8;border-radius:5px}.column-content::-webkit-scrollbar-thumb:hover{background:#0d6478}.job-card{padding:8px!important}.job-header{margin-bottom:4px;padding-bottom:4px}.job-number{font-size:11px}.job-date{font-size:9px;padding:1px 4px}.job-body{font-size:10px;margin-bottom:4px}.job-customer{font-size:10px;margin-bottom:2px}.job-vehicle{font-size:9px;margin-bottom:2px}.job-service{font-size:9px;padding:1px 3px}.job-footer{font-size:9px;padding-top:4px;margin-bottom:4px}.job-technician,.job-time{font-size:9px}.btn-photo{font-size:9px;padding:4px 3px;min-height:28px}}@media (max-width: 480px){.kanban-columns-container{gap:0!important;padding:6px!important}.kanban-column{height:300px!important;display:flex!important;flex-direction:column!important;min-height:0!important}.column-header{padding:8px!important;font-size:11px!important}.column-title{font-size:10px!important}.column-count{font-size:10px!important;min-width:18px}.column-content{flex:1!important;min-height:0!important;padding:6px!important;gap:6px!important}.column-content::-webkit-scrollbar{width:8px}.job-card{padding:6px!important}.job-header{margin-bottom:3px;padding-bottom:3px}.job-number{font-size:10px}.job-date{font-size:8px;padding:1px 3px}.job-body{font-size:9px;margin-bottom:3px}.job-customer{font-size:9px;margin-bottom:1px}.job-vehicle{font-size:8px;margin-bottom:1px}.job-service{font-size:8px;padding:1px 2px}.job-footer{font-size:8px;padding-top:3px;margin-bottom:3px}.btn-photo{font-size:8px;padding:3px 2px;min-height:26px}}.photo-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px}.photo-modal-container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:600px;width:100%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.photo-modal-header{padding:20px;border-left:4px solid #17a2b8;background:linear-gradient(135deg,#f8f9fa,#fff);display:flex;justify-content:space-between;align-items:center}.photo-modal-header h2{margin:0;font-size:18px;color:#333;font-weight:600}.photo-modal-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .3s ease}.photo-modal-close:hover{background:#0000000d;color:#333}.photo-modal-body{padding:20px;flex:1;overflow-y:auto}.photo-dropzone{border:2px dashed #ddd;border-radius:8px;padding:40px 20px;text-align:center;transition:all .3s ease;cursor:pointer;margin-bottom:20px}.photo-dropzone.active{border-color:#17a2b8;background:#17a2b80d;transform:scale(1.01)}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:12px}.dropzone-icon{font-size:48px;color:#17a2b8}.dropzone-text{margin:0;color:#666;font-size:14px;font-weight:500}.browse-button{display:inline-block;padding:10px 20px;background:#17a2b8;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px}.browse-button:hover{background:#0d7a8f;transform:translateY(-2px);box-shadow:0 4px 12px #17a2b84d}.browse-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.photo-section{margin-top:20px;padding:15px;background:#f8f9fa;border-radius:8px}.photo-section-title{margin:0 0 15px;font-size:13px;color:#28a745;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.photo-card{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;aspect-ratio:1;cursor:pointer;transition:all .3s ease;background:#fff}.photo-card:hover{transform:translateY(-4px);box-shadow:0 6px 16px #00000026}.photo-card img{width:100%;height:100%;object-fit:cover;display:block}.photo-badge{position:absolute;top:4px;left:4px;background:#17a2b8;color:#fff;padding:4px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.photo-delete{position:absolute;top:4px;right:4px;width:24px;height:24px;background:#f00c;color:#fff;border:none;border-radius:50%;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;opacity:0}.photo-card:hover .photo-delete{opacity:1}.photo-delete:hover{background:red;transform:scale(1.1)}.photo-empty-state{text-align:center;padding:30px 20px}.empty-text{color:#999;font-size:14px;margin:0}.photo-modal-footer{padding:15px 20px;border-top:1px solid #eee;display:flex;justify-content:space-between;align-items:center;background:#f8f9fa}.photo-btn-close{padding:10px 20px;border:1px solid #ddd;background:#fff;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.photo-btn-close:hover{background:#f0f0f0;border-color:#999}.photo-count-info{font-size:12px;font-weight:600;color:#17a2b8}@media (max-width: 640px){.photo-modal-container{max-height:95vh}.photo-dropzone{padding:25px 15px}.dropzone-icon{font-size:36px}.dropzone-text{font-size:12px}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}.page-header{margin-bottom:30px}.page-title{font-size:32px;font-weight:700;margin:0 0 5px;color:#0f172a}.page-subtitle{color:#7f8c8d;font-size:14px;margin-top:5px}.parts-container{max-width:1400px;margin:0 auto}.search-tabs{display:flex;gap:8px;margin-bottom:25px;border-bottom:2px solid #e0e0e0;flex-wrap:wrap}.tab-button{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;color:#7f8c8d;font-weight:600;font-size:15px;cursor:pointer;transition:all .3s ease;margin-bottom:-2px;white-space:nowrap}.tab-button:hover{color:#3498db;background:#3498db0d}.tab-button.active{color:#3498db;border-bottom:3px solid #3498db}.search-section{background:#fff;padding:25px;border-radius:12px;margin-bottom:25px;box-shadow:0 2px 8px #00000014}.search-form{max-width:900px}.search-input-large{width:100%;font-size:16px;padding:14px;border:2px solid #e0e0e0;border-radius:8px;transition:all .3s ease;font-family:inherit}.search-input-large:focus{border-color:#3498db;box-shadow:0 0 0 4px #3498db1a;outline:none}.search-input{flex:1;padding:14px 18px;font-size:16px;border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;transition:all .3s ease}.search-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 4px #3498db1a}.btn-search{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:14px 32px;font-size:16px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-search:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db4d}.btn-search:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:15px}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:600;color:#2c3e50;margin-bottom:8px;font-size:14px}.form-control{padding:10px;border:1px solid #ced4da;border-radius:6px;font-size:14px;font-family:inherit;transition:all .3s ease}.form-control:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.help-text{background:#e8f5e9;color:#27ae60;padding:12px;border-radius:6px;font-size:14px;margin-top:10px;border-left:4px solid #27ae60}.filters{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.filter-label{font-weight:600;color:#2c3e50;font-size:14px}.filter-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:15px;color:#2c3e50;-webkit-user-select:none;user-select:none}.filter-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.filter-checkbox:hover{color:#3498db}.suppliers-section{background:linear-gradient(135deg,#14b8a6,#0d9488);padding:30px;border-radius:12px;margin-bottom:30px;box-shadow:0 4px 16px #14b8a64d}.suppliers-title{color:#fff;font-size:22px;font-weight:700;margin:0 0 25px;text-align:center}.supplier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px}.supplier-card{background:#fffffff2;border-radius:12px;padding:25px;text-align:center;transition:all .3s ease;border:2px solid transparent}.supplier-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px #0003}.supplier-card.ebay:hover{border-color:#3498db}.supplier-card.euro:hover{border-color:#e74c3c}.supplier-card.gsf:hover{border-color:#f39c12}.supplier-card.carparts:hover{border-color:#27ae60}.supplier-card.halfords:hover{border-color:#3498db}.supplier-card.autodoc:hover{border-color:#34495e}.supplier-card.amazon:hover{border-color:#f90}.supplier-card.mymotorworld:hover{border-color:#9b59b6}.supplier-icon{font-size:48px;margin-bottom:10px}.supplier-card h4{margin:0 0 8px;color:#2c3e50;font-size:16px;font-weight:700;min-height:40px;display:flex;align-items:center;justify-content:center}.supplier-card p{margin:0 0 15px;color:#7f8c8d;font-size:13px;min-height:36px}.btn-supplier{width:100%;padding:12px 20px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;color:#fff}.ebay-btn{background:linear-gradient(135deg,#3498db,#2980b9)}.ebay-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #3498db66}.euro-btn{background:linear-gradient(135deg,#e74c3c,#c0392b)}.euro-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #e74c3c66}.gsf-btn{background:linear-gradient(135deg,#f39c12,#e67e22)}.gsf-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #f39c1266}.carparts-btn{background:linear-gradient(135deg,#27ae60,#229954)}.carparts-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #27ae6066}.halfords-btn{background:linear-gradient(135deg,#3498db,#2980b9)}.halfords-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #3498db66}.autodoc-btn{background:linear-gradient(135deg,#34495e,#2c3e50)}.autodoc-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #34495e66}.amazon-btn{background:linear-gradient(135deg,#f90,#e68a00)}.amazon-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #f906}.mymotorworld-btn{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.mymotorworld-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #9b59b666}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff}.results-title{font-size:20px;font-weight:700}.results-count{font-size:14px;opacity:.9}.result-card{background:#fff;padding:25px;border-radius:12px;margin-bottom:15px;box-shadow:0 2px 8px #00000014;position:relative;transition:all .3s ease}.result-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.type-badge{position:absolute;top:20px;right:20px;color:#fff;padding:6px 16px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.result-title{font-weight:700;font-size:20px;margin-bottom:12px;padding-right:120px;color:#2c3e50}.result-meta{color:#7f8c8d;font-size:14px;line-height:1.8;margin-bottom:20px;padding-right:100px}.result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.btn-small{padding:8px 16px;font-size:14px}.no-results{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.no-results-icon{font-size:64px;margin-bottom:20px;opacity:.5}.no-results h3{margin:0 0 10px;color:#2c3e50;font-size:22px}.no-results p{margin:0;color:#7f8c8d;font-size:16px}@media (max-width: 1200px){.supplier-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.search-tabs{flex-direction:column;border-bottom:none}.tab-button{border-bottom:none;border-left:3px solid transparent;text-align:left;margin-bottom:0}.tab-button.active{border-bottom:none;border-left:3px solid #3498db;background:#3498db1a}.form-row{grid-template-columns:1fr}.supplier-grid{grid-template-columns:repeat(2,1fr)}.search-section{padding:15px}.suppliers-section{padding:20px}.result-title{font-size:18px;padding-right:0;margin-bottom:35px}.result-meta{font-size:13px;padding-right:0}.type-badge{top:15px;right:15px;font-size:11px;padding:4px 12px}.results-header{flex-direction:column;align-items:flex-start;gap:10px}}@media (max-width: 480px){.supplier-grid{grid-template-columns:1fr}.supplier-icon{font-size:36px}.supplier-card h4{font-size:14px}.search-input-large{font-size:14px;padding:12px}.suppliers-title{font-size:18px}.no-results-icon{font-size:48px}.results-header{padding:12px 15px}.results-title{font-size:16px}.results-count{font-size:12px}}.print-send-container{max-width:1400px;margin:0 auto;padding:20px;background:#f8f9fa;min-height:100vh}.print-send-header{margin-bottom:30px;padding-bottom:20px;border-bottom:3px solid #17a2b8}.print-send-title{margin:0 0 8px;font-size:32px;font-weight:700;color:#17a2b8;letter-spacing:-.5px}.print-send-subtitle{margin:0;font-size:14px;color:#666;font-weight:500}.print-send-search{margin-bottom:20px}.search-input{width:100%;padding:12px 16px;border:2px solid #ddd;border-radius:6px;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:all .3s ease}.search-input:focus{outline:none;border-color:#17a2b8;box-shadow:0 0 0 3px #17a2b81a;background:#fff}.search-input::placeholder{color:#999}.invoices-table-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.invoices-table{width:100%;border-collapse:collapse;font-size:13px}.invoices-table thead{background:#17a2b8;color:#fff}.invoices-table th{padding:14px 16px;text-align:left;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:12px}.invoices-table tbody tr{border-bottom:1px solid #eee;transition:background-color .2s ease}.invoices-table tbody tr:hover{background-color:#f9f9f9}.invoices-table td{padding:14px 16px;vertical-align:middle}.invoices-table td strong{color:#17a2b8;font-weight:600}.amount{font-weight:600;color:#28a745}.status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.completed{background:#28a74526;color:#28a745}.actions-cell{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.action-btn{padding:8px 12px;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-btn.preview{background:#007bff;color:#fff}.action-btn.preview:hover{background:#0056b3}.action-btn.download{background:#17a2b8;color:#fff}.action-btn.download:hover{background:#0d7a8f}.action-btn.print{background:#6c757d;color:#fff}.action-btn.print:hover{background:#545b62}.action-btn.edit{background:#ffc107;color:#333}.action-btn.edit:hover{background:#ffb300}.action-btn.resend{background:#28a745;color:#fff}.action-btn.resend:hover{background:#218838}.empty-state{padding:60px 20px;text-align:center;color:#999;font-size:16px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;padding:24px}.modal-title{margin:0 0 20px;color:#17a2b8;font-size:20px;font-weight:600}.edit-form{display:flex;flex-direction:column;gap:20px}.form-section{border:1px solid #eee;padding:16px;border-radius:6px;background:#f9f9f9}.section-title{margin:0 0 12px;font-size:14px;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.form-row:last-child{margin-bottom:0}.form-field{display:flex;flex-direction:column;gap:4px}.form-field label{font-size:12px;font-weight:600;color:#666}.form-input{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:all .2s ease}.form-input:focus{outline:none;border-color:#17a2b8;box-shadow:0 0 0 3px #17a2b81a}.form-input.disabled{background:#f0f0f0;color:#999;cursor:not-allowed}.currency-input{display:flex;align-items:center;gap:6px;border:1px solid #ddd;border-radius:4px;padding:0 8px;background:#fff;transition:all .2s ease}.currency-input:focus-within{border-color:#17a2b8;box-shadow:0 0 0 3px #17a2b81a}.currency-input span{font-weight:600;color:#666;font-size:14px}.currency-input input{flex:1;border:none;padding:10px 0;font-size:13px}.currency-input input:focus{outline:none}.form-textarea{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;resize:vertical;transition:all .2s ease}.form-textarea:focus{outline:none;border-color:#17a2b8;box-shadow:0 0 0 3px #17a2b81a}.photos-section-title{margin:0 0 12px;font-size:13px;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:16px}.photo-thumbnail{border-radius:6px;overflow:hidden;border:1px solid #ddd;transition:all .2s ease;cursor:pointer;background:#fff;position:relative}.photo-thumbnail:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px);border-color:#17a2b8}.photo-thumbnail img{width:100%;height:120px;object-fit:cover;display:block}.cost-summary{background:#fff;border:2px solid #17a2b8;border-radius:6px;padding:12px;margin-top:12px}.cost-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:13px;border-bottom:1px solid #eee}.cost-row:last-child{border-bottom:none}.cost-row strong{font-weight:600;color:#333}.cost-row.total{background:#17a2b81a;padding:10px;margin:0 -12px -12px;border-radius:0 0 6px 6px;border-top:2px solid #17a2b8}.cost-row.total strong{color:#17a2b8;font-size:14px}.modal-buttons{display:flex;gap:8px;margin-top:20px;padding-top:20px;border-top:1px solid #eee}.btn-save{flex:1;padding:12px 16px;background:#17a2b8;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-save:hover{background:#0d7a8f;transform:translateY(-2px);box-shadow:0 4px 12px #17a2b84d}.btn-cancel{flex:1;padding:12px 16px;background:#f0f0f0;color:#333;border:1px solid #ddd;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel:hover{background:#e0e0e0;border-color:#999}@media (max-width: 1024px){.print-send-container{padding:16px}.print-send-title{font-size:28px}.invoices-table{font-size:12px}.invoices-table th,.invoices-table td{padding:12px 10px}.invoices-table th:nth-child(4),.invoices-table td:nth-child(4){display:none}.actions-cell{flex-direction:column;gap:4px}.action-btn{padding:10px;font-size:11px}.modal-content{max-width:90%}.form-row{grid-template-columns:1fr}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}}@media (max-width: 768px){.print-send-container{padding:12px;max-width:100%}.print-send-header{margin-bottom:20px;padding-bottom:15px}.print-send-title{font-size:22px;margin-bottom:6px}.print-send-subtitle{font-size:12px}.print-send-search{margin-bottom:16px}.search-input{padding:14px;font-size:16px;border-radius:8px}.invoices-table-wrapper{border-radius:6px;overflow:hidden}.invoices-table{font-size:11px;display:block;overflow-x:auto}.invoices-table thead{display:none}.invoices-table tbody{display:block}.invoices-table tbody tr{display:block;border:1px solid #ddd;border-radius:6px;margin-bottom:12px;padding:12px;background:#fff;border-bottom:none}.invoices-table tbody tr:hover{background:#fff}.invoices-table td{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border:none;border-bottom:1px solid #f0f0f0}.invoices-table td:last-child{border-bottom:none}.actions-cell{display:flex;flex-direction:column;gap:6px;width:100%}.action-btn{width:100%;justify-content:center;padding:12px;font-size:12px;border-radius:6px;min-height:44px}.action-btn:active{transform:none;opacity:.8}.modal-overlay{padding:0}.modal-content{max-width:100%;width:100%;max-height:100vh;border-radius:12px 12px 0 0;margin-top:auto}.modal-title{font-size:18px;margin-bottom:16px}.form-section{padding:12px;margin-bottom:12px}.section-title{font-size:12px;margin-bottom:10px}.form-row{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:10px}.form-field{gap:6px}.form-field label{font-size:11px}.form-input{padding:12px;font-size:14px;border-radius:6px;min-height:44px}.form-textarea{padding:12px;font-size:14px;min-height:100px;border-radius:6px}.currency-input{padding:0 10px}.currency-input input{padding:12px 0;font-size:14px;min-height:44px}.photos-section-title{font-size:12px;margin-bottom:10px}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.photo-thumbnail{border-radius:6px}.photo-thumbnail img{height:90px}.cost-summary{padding:10px;margin-top:12px}.cost-row{padding:8px 0;font-size:12px}.cost-row.total{padding:10px;margin:0 -10px -10px}.modal-buttons{gap:8px;flex-direction:column-reverse}.btn-save,.btn-cancel{width:100%;padding:14px;font-size:14px;border-radius:6px;min-height:48px}.empty-state{padding:40px 20px;font-size:14px}}@media (max-width: 480px){.print-send-container{padding:10px}.print-send-title{font-size:20px}.search-input{padding:12px;font-size:16px}.invoices-table td{display:flex;flex-direction:column;align-items:flex-start;padding:6px 0}.invoices-table tbody tr{padding:10px;margin-bottom:10px}.action-btn{padding:10px;font-size:11px;min-height:40px}.modal-content{padding:16px}.form-input,.form-textarea,.btn-save,.btn-cancel{font-size:16px}.photos-grid{grid-template-columns:repeat(2,1fr)}.photo-thumbnail img{height:80px}.cost-summary{padding:8px}.cost-row{font-size:11px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f7fa;padding:20px}.login-card{width:100%;max-width:420px;background:#fff;border-radius:10px;box-shadow:0 10px 25px #0000001f;padding:28px}.login-card h2{margin-bottom:6px;color:#1f2937}.login-card p{margin-bottom:18px;color:#6b7280;font-size:14px}.login-card form{display:flex;flex-direction:column;gap:10px}.login-card label{font-size:14px;font-weight:600;color:#374151}.login-card input{border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font-size:14px;outline:none}.login-card input:focus{border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a626}.login-card button{margin-top:8px;border:none;border-radius:8px;padding:11px 14px;background:#14b8a6;color:#fff;font-weight:700;cursor:pointer}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#b91c1c;font-size:13px}.selection-group input[type=text]{padding:8px 12px!important;border:1px solid #ccc!important;border-radius:4px!important;font-size:13px!important;background-color:#fff!important;transition:border-color .2s!important;width:100%!important;box-sizing:border-box!important;display:block!important;visibility:visible!important;height:auto!important;margin:0!important}.selection-group input[type=text]:hover{border-color:#06c!important}.selection-group input[type=text]:focus{outline:none!important;border-color:#06c!important;background:#fffacd!important}.selection-group input[type=text]::placeholder{color:#999!important}.estimate-hub{background:#f5f5f5;min-height:100vh;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif;color:#333}.estimate-hub.loading{display:flex;align-items:center;justify-content:center;font-size:18px;color:#666}.alert{padding:12px 16px;border-radius:4px;margin-bottom:16px;font-weight:500}.alert-error{background-color:#fee;color:#c00;border-left:4px solid #c00}.alert-success{background-color:#efe;color:#060;border-left:4px solid #060}.estimate-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;background:#fff;padding:20px;border-radius:4px;box-shadow:0 1px 3px #00000014}.estimate-header h1{margin:0;font-size:24px;font-weight:600;color:#1a1a1a}.btn-new-estimate{padding:10px 16px;background:#06c;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:background .2s}.btn-new-estimate:hover{background:#0052a3}.selection-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.selection-group{display:flex;flex-direction:column;gap:6px}.selection-group label{font-weight:600;font-size:13px;color:#333;text-transform:uppercase;letter-spacing:.5px}.selection-group select{padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:13px;background-color:#fff;cursor:pointer;transition:border-color .2s;width:100%;box-sizing:border-box}.selection-group select:hover,.selection-group select:focus{border-color:#06c;outline:none}.selection-with-button{display:flex;gap:4px;align-items:center}.selection-with-button select{flex:1;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:13px;background-color:#fff;cursor:pointer;transition:border-color .2s}.selection-with-button select:hover,.selection-with-button select:focus{border-color:#06c;outline:none}.btn-add-customer{padding:8px 12px;background:#06c;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap;font-size:16px}.btn-add-customer:hover{background:#0052a3}.search-select-container{display:flex;flex-direction:column;gap:4px}.saved-estimates{background:#fff;padding:16px;border-radius:4px;margin-bottom:16px;box-shadow:0 1px 3px #00000014}.saved-estimates h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#06c;text-transform:uppercase;letter-spacing:.5px}.estimates-list{display:flex;gap:8px;flex-wrap:wrap}.estimate-card{padding:8px 12px;background:#f0f0f0;border:2px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .2s;display:flex;gap:12px;align-items:center}.estimate-card:hover{border-color:#06c;background:#f9f9f9}.estimate-card.active{background:#e8f2ff;border-color:#06c}.estimate-card .estimate-date{font-size:12px;color:#666;font-weight:500}.estimate-card .estimate-total{font-size:13px;font-weight:600;color:#06c}.tab-navigation{display:flex;gap:0;background:#fff;border-bottom:1px solid #ccc;margin-bottom:0;border-radius:4px 4px 0 0;overflow:hidden}.tab{flex:1;padding:12px 16px;background:#e8e8e8;border:none;border-bottom:3px solid #e8e8e8;cursor:pointer;font-weight:500;font-size:13px;color:#333;transition:all .2s}.tab:hover{background:#f0f0f0}.tab.active{background:#fff;border-bottom:3px solid #0066cc;color:#06c}.tab-content{background:#fff;border-radius:0 0 4px 4px;padding:20px;box-shadow:0 1px 3px #00000014;min-height:400px}.customer-details{display:grid;grid-template-columns:1fr 1fr;gap:40px}.detail-group{padding:16px;background:#f9f9f9;border-radius:4px;border:1px solid #e8e8e8}.detail-group h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#06c;text-transform:uppercase;letter-spacing:.5px}.detail-group p{margin:8px 0;font-size:13px;line-height:1.6}.detail-group strong{color:#333}.standalone-section{max-width:600px}.standalone-section h3{margin:0 0 8px;font-size:16px;font-weight:600;color:#06c}.standalone-section .hint{margin:0 0 20px;font-size:13px;color:#666;font-style:italic}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:600;font-size:13px;color:#333;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:4px;font-size:13px;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#06c;background:#fffacd}.info-box{background:#e8f2ff;border:1px solid #b3d9f2;border-radius:4px;padding:12px;margin-top:20px}.info-box p{margin:0;font-size:12px;color:#06c;line-height:1.5}.estimate-details-content{display:grid;grid-template-columns:1fr;gap:20px}.main-table-section{overflow-x:auto;border:1px solid #d0d0d0;border-radius:4px;background:#fff}.estimate-table{width:100%;border-collapse:collapse;font-size:12px}.estimate-table thead{background:linear-gradient(to bottom,#d0e4f7,#b3d9f2);border-bottom:2px solid #999}.estimate-table th{padding:8px;text-align:left;font-weight:600;color:#000;border-right:1px solid #999;white-space:nowrap}.estimate-table th:last-child{border-right:none}.estimate-table tbody tr{border-bottom:1px solid #e0e0e0}.estimate-table tbody tr:hover{background:#f9f9f9}.header-row{background:linear-gradient(to bottom,#b3d9f2,#95ccff);font-weight:600;color:#000}.vehicle-header{padding:10px 8px;text-align:left}.labour-item td{padding:8px;border-right:1px solid #e0e0e0;vertical-align:middle}.labour-item td:last-child{border-right:none}.parts-header{background:#e8e8e8;font-weight:600;border:1px solid #999}.parts-header td{padding:8px;color:#000}.parts-item td{padding:8px;border-right:1px solid #e0e0e0}.parts-item td:last-child{border-right:none}.section-divider{background:#f0f0f0;font-weight:600;border:1px solid #d0d0d0}.section-divider td{padding:10px 8px;color:#333}.estimate-table td.part-code{min-width:80px}.estimate-table td.description{min-width:200px}.estimate-table td.quantity,.estimate-table td.rate,.estimate-table td.discount,.estimate-table td.vat,.estimate-table td.nett{text-align:right;min-width:70px}.estimate-table td.action{text-align:center;min-width:50px}.estimate-table input[type=number]{width:100%;padding:4px;border:1px solid #ccc;border-radius:2px;font-size:12px;text-align:right;box-sizing:border-box}.estimate-table input[type=number]:focus{outline:none;border-color:#06c;background:#fffacd}.btn-delete{background:none;border:none;color:#c00;cursor:pointer;font-size:14px;padding:2px 4px;opacity:.6;transition:opacity .2s}.btn-delete:hover{opacity:1}.estimate-totals-sidebar{background:#f9f9f9;border:1px solid #d0d0d0;border-radius:4px;padding:16px;height:fit-content;position:sticky;top:20px}.estimate-totals-sidebar h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#06c;text-transform:uppercase;letter-spacing:.5px}.totals-table{width:100%;border-collapse:collapse;margin-bottom:16px;font-size:12px}.totals-table tr{border-bottom:1px solid #e0e0e0}.totals-table tr:last-child{border-bottom:none}.totals-table td.label{padding:8px 0;color:#333;font-weight:500}.totals-table td.amount{text-align:right;padding:8px 0;color:#000;font-weight:600}.total-row{background:#e8f2ff;border:1px solid #0066cc;border-radius:2px}.total-row td{padding:10px 8px}.total-row td.amount{color:#06c;font-size:14px}.estimate-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px}.btn{padding:10px 12px;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center;white-space:nowrap}.btn-primary{background:#06c;color:#fff}.btn-primary:hover:not(:disabled){background:#0052a3;box-shadow:0 2px 8px #06c3}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#e8e8e8;color:#333;border:1px solid #ccc}.btn-secondary:hover:not(:disabled){background:#d8d8d8}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.other-details{padding:20px}.other-details h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#06c}.bottom-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:1px solid #d0d0d0}.bottom-tab{padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:12px;font-weight:600;color:#666;transition:all .2s;white-space:nowrap}.bottom-tab:hover{color:#06c;border-bottom-color:#06c}.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:8px;box-shadow:0 10px 40px #0000004d;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e8e8e8}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:#06c}.modal-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close:hover{color:#333}.customer-form{padding:20px}.customer-form .form-group{margin-bottom:16px}.customer-form label{display:block;font-weight:600;font-size:13px;color:#333;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.customer-form input,.customer-form textarea{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:4px;font-size:13px;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.customer-form input:focus,.customer-form textarea:focus{outline:none;border-color:#06c;background:#fffacd}.modal-actions{display:flex;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid #e8e8e8}.modal-actions .btn{flex:1;padding:12px;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.modal-actions .btn-primary{background:#06c;color:#fff}.modal-actions .btn-primary:hover:not(:disabled){background:#0052a3}.modal-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.modal-actions .btn-secondary{background:#e8e8e8;color:#333;border:1px solid #ccc}.modal-actions .btn-secondary:hover{background:#d8d8d8}@media (max-width: 1200px){.selection-row{grid-template-columns:1fr 1fr}.estimate-details-content{grid-template-columns:1fr}.estimate-totals-sidebar{position:static}.customer-details{grid-template-columns:1fr;gap:20px}}@media (max-width: 768px){.estimate-hub{padding:12px}.selection-row{grid-template-columns:1fr}.estimate-header{flex-direction:column;gap:12px;text-align:center}.estimate-table{font-size:11px}.estimate-table th,.estimate-table td{padding:6px 4px}.customer-details{grid-template-columns:1fr;gap:20px}.standalone-section{max-width:100%}.modal-content{width:95%}}.add-items-buttons{display:flex;gap:10px;padding:12px;background:#f9f9f9;border-bottom:1px solid #d0d0d0}.btn-add-labour,.btn-add-parts{padding:10px 16px;border:none;border-radius:4px;font-weight:600;cursor:pointer;font-size:13px;transition:all .2s}.btn-add-labour{background:#e8f2ff;color:#06c;border:1px solid #0066cc}.btn-add-labour:hover{background:#d0e8ff}.btn-add-parts{background:#f0f0f0;color:#333;border:1px solid #ccc}.btn-add-parts:hover{background:#e0e0e0}.notes-section{background:#f9f9f9;padding:20px;border-radius:6px;margin-top:20px;border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000000d}.notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #ddd}.notes-header h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.char-count{font-size:13px;color:#666;background:#fff;padding:4px 12px;border-radius:4px;border:1px solid #ddd;font-weight:500}.notes-textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;font-size:14px;line-height:1.5;resize:vertical;transition:all .2s ease;box-sizing:border-box;color:#333;background:#fff;min-height:120px}.notes-textarea:hover{border-color:#bbb;background:#fafafa}.notes-textarea:focus{outline:none;border-color:#06c;box-shadow:0 0 8px #06c3;background:#fff}.notes-textarea::placeholder{color:#999;font-style:italic}.notes-hints{background:#fff;padding:16px;border-radius:6px;margin-top:16px;border-left:4px solid #0066cc}.hint-title{margin:0 0 12px;font-weight:600;color:#1a1a1a;font-size:14px}.notes-hints ul{margin:0;padding-left:20px;list-style:none}.notes-hints li{padding:6px 0 6px 24px;color:#555;font-size:13px;position:relative}.notes-hints li:before{content:"✓";position:absolute;left:6px;color:#27ae60;font-weight:700;font-size:14px}@media (max-width: 768px){.notes-section{padding:16px;margin-top:16px}.notes-header{flex-direction:column;align-items:flex-start;gap:8px}.notes-header h3{font-size:15px}.char-count{font-size:12px;padding:3px 10px}.notes-textarea{padding:10px;font-size:16px;min-height:100px}.notes-hints{padding:12px;margin-top:12px}.hint-title{font-size:13px;margin-bottom:10px}.notes-hints li{padding:5px 0 5px 20px;font-size:12px}}@media (max-width: 480px){.notes-section{padding:12px}.notes-textarea{padding:8px;font-size:14px;min-height:80px}.notes-hints{padding:10px}.notes-hints li{padding:4px 0 4px 16px;font-size:11px}}.notes-actions{display:flex;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.notes-actions .btn{flex:1;padding:12px;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.notes-actions .btn-primary{background:#06c;color:#fff}.notes-actions .btn-primary:hover:not(:disabled){background:#0052a3;box-shadow:0 2px 8px #06c3}.notes-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.search-estimates-section{background:#fff;border-radius:4px;margin-bottom:20px;box-shadow:0 1px 3px #00000014;overflow:hidden}.search-toggle-btn{width:100%;padding:14px 16px;background:#f0f7ff;border:none;border-bottom:1px solid #e0e0e0;cursor:pointer;font-size:14px;font-weight:600;color:#06c;text-align:left;transition:all .2s}.search-toggle-btn:hover{background:#e8f2ff}.search-estimates-form{padding:20px;background:#fff;border-top:1px solid #e0e0e0}.search-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.search-group label{font-weight:600;font-size:13px;color:#333;text-transform:uppercase;letter-spacing:.5px}.search-input-group{display:flex;gap:8px;align-items:stretch}.search-input-group input{flex:1;padding:10px 12px;border:1px solid #ccc;border-radius:4px;font-size:13px;transition:border-color .2s}.search-input-group input:focus{outline:none;border-color:#06c;background:#fffacd}.search-input-group .btn{padding:10px 16px;white-space:nowrap}.search-results{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.search-results h4{margin:0 0 12px;font-size:13px;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.5px}.search-result-card{display:grid;grid-template-columns:80px 1fr 100px 120px;gap:12px;padding:12px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:8px;cursor:pointer;transition:all .2s;align-items:center;text-align:left;width:100%;font-size:13px}.search-result-card:hover{background:#f0f0f0;border-color:#06c;box-shadow:0 2px 6px #0066cc1a}.result-id{font-weight:600;color:#06c}.result-customer{color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-total{font-weight:600;color:#333;text-align:right}.result-date{color:#999;font-size:12px;text-align:right}@media (max-width: 768px){.search-result-card{grid-template-columns:1fr;gap:8px}.result-total,.result-date{text-align:left}.search-input-group{flex-direction:column}.search-input-group .btn{width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;background:#f5f7fa;color:#333;line-height:1.5}.tabs{background:#fff;border-bottom:1px solid #e0e0e0;padding:0 2rem}.tabs button{background:none;border:none;padding:1rem 1.5rem;font-size:.9rem;cursor:pointer;border-bottom:3px solid transparent;color:#666;transition:all .2s}.tabs button:hover{color:#3498db}.container{padding:1rem 2rem;max-width:100%}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-title{font-size:1.25rem;font-weight:600;color:#2c3e50}.date-filter{display:flex;gap:.5rem}.date-filter button{padding:.5rem .75rem;border:1px solid #d0d0d0;background:#fff;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .2s}.date-filter button:hover{background:#f0f0f0}.date-filter button.active{background:#3498db;color:#fff;border-color:#3498db}.section-header{font-size:.875rem;font-weight:600;color:#555;margin:1.5rem 0 .75rem;text-transform:uppercase;letter-spacing:.5px}.summary-bar{background:#fff;border-radius:4px;padding:1rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a;display:flex;gap:3rem;flex-wrap:wrap}.summary-item{display:flex;flex-direction:column}.summary-label{font-size:.75rem;color:#666;margin-bottom:.25rem;text-transform:uppercase}.summary-value{font-size:1.5rem;font-weight:700;color:#2c3e50}.summary-value.positive{color:#28a745}.summary-value.negative{color:#dc3545}.tiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.tile{background:#17a2b8;color:#fff;border-radius:4px;padding:1.25rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a;position:relative;overflow:hidden}.tile:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.tile:after{content:"›";position:absolute;bottom:.75rem;right:1rem;font-size:1.5rem;opacity:.5}.tile-label{font-size:.875rem;margin-bottom:.75rem;opacity:.95;line-height:1.3;min-height:2.6rem}.tile-value{font-size:2.5rem;font-weight:700;line-height:1}.tile-value.zero{opacity:.7}.tile-teal{background:#17a2b8}.tile-blue{background:#007bff}.tile-red{background:#dc3545}.tile-green{background:#28a745}.tile-orange{background:#fd7e14}.tile-purple{background:#6f42c1}.tile-gray{background:#6c757d}.tile-yellow{background:#ffc107;color:#333}.quick-actions{background:#fff;border-radius:4px;padding:1.5rem;margin-top:2rem;box-shadow:0 1px 3px #0000001a}.quick-actions-title{font-size:1rem;font-weight:600;margin-bottom:1rem;color:#2c3e50}.action-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.action-btn{padding:1rem;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;transition:all .2s;text-align:left;display:flex;align-items:center;gap:1rem;font-family:inherit}.action-btn:hover{background:#e9ecef;border-color:#3498db}.action-icon{font-size:1.5rem}.action-text{font-size:.875rem;font-weight:500;color:#495057}.kanban-board{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem}.kanban-column{min-width:280px;background:#f8f9fa;border-radius:4px;flex-shrink:0}.column-header{padding:.75rem 1rem;font-weight:600;font-size:.9rem;display:flex;justify-content:space-between;align-items:center;border-radius:4px 4px 0 0;color:#fff}.column-count{background:#ffffff4d;padding:.25rem .5rem;border-radius:12px;font-size:.75rem}.column-incoming{background:#6c757d}.column-mot{background:#dc3545}.column-service{background:#007bff}.column-prep{background:#fd7e14}.column-sales{background:#28a745}.column-repair{background:#6f42c1}.column-courtesy{background:#17a2b8}.column-internal{background:#ffc107;color:#333}.cards-container{padding:.5rem;min-height:200px}.job-card{background:#fff;padding:1rem;border-radius:4px;margin-bottom:.5rem;box-shadow:0 1px 3px #0000001a;cursor:move;transition:transform .2s,box-shadow .2s}.job-card:hover{transform:translateY(-2px);box-shadow:0 2px 6px #00000026}.card-header{font-weight:600;font-size:.875rem;margin-bottom:.5rem;color:#2c3e50}.card-info{font-size:.8rem;color:#555;line-height:1.4}.empty-column{text-align:center;padding:2rem 1rem;color:#999;font-size:.875rem}.schedule-container{background:#fff;border-radius:4px;padding:1rem;overflow-x:auto;box-shadow:0 1px 3px #0000001a}.schedule-grid{display:grid;grid-template-columns:80px repeat(10,minmax(120px,1fr));gap:.5rem;min-width:1400px}.time-slot{background:#f8f9fa;padding:.75rem .5rem;text-align:center;font-size:.75rem;font-weight:600;border-radius:4px;color:#666}.tech-header{text-align:center;padding:.75rem;background:#e9ecef;border-radius:4px;font-weight:600;font-size:.85rem}.clock-btn{display:block;width:100%;margin-top:.5rem;padding:.25rem;font-size:.7rem;background:#28a745;color:#fff;border:none;border-radius:3px;cursor:pointer}.clock-btn.clocked-in{background:#dc3545}.schedule-cell{min-height:60px;background:#f8f9fa;border:1px dashed #dee2e6;border-radius:4px;padding:.25rem;position:relative}.job-block{background:#007bff;color:#fff;padding:.5rem;border-radius:3px;font-size:.75rem;cursor:move;margin-bottom:.25rem}.section{background:#fff;border-radius:4px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a}.section-title{font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0;color:#2c3e50}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.form-grid-2{grid-template-columns:repeat(2,1fr)}.form-grid-3{grid-template-columns:repeat(3,1fr)}.form-group{display:flex;flex-direction:column}.form-group.span-2{grid-column:span 2}.form-group.span-3{grid-column:span 3}.form-group.span-4{grid-column:span 4}.form-group label{font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:#555}.form-group label .required{color:#dc3545}.form-control{padding:.625rem;border:1px solid #d0d0d0;border-radius:4px;font-size:.875rem;background:#fff;font-family:inherit}.form-control:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db1a}select.form-control{cursor:pointer}textarea.form-control{min-height:80px;resize:vertical}.table-container{background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:#f8f9fa}.data-table th{text-align:left;padding:.75rem;font-size:.875rem;font-weight:600;color:#555;border-bottom:2px solid #e0e0e0}.data-table td{padding:.75rem;font-size:.875rem;border-bottom:1px solid #f0f0f0}.data-table tr:hover{background:#f8f9fa}.btn{padding:.625rem 1.25rem;border:1px solid #d0d0d0;background:#fff;border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .2s;font-family:inherit}.btn:hover{background:#f0f0f0}.btn-primary{background:#3498db;color:#fff;border-color:#3498db}.btn-primary:hover{background:#2980b9}.btn-success{background:#28a745;color:#fff;border-color:#28a745}.btn-success:hover{background:#218838}.btn-danger{background:#dc3545;color:#fff;border-color:#dc3545}.btn-danger:hover{background:#c82333}.controls-bar{background:#fff;padding:1rem;border-radius:4px;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.usage-note{background:#fff3cd;padding:1rem;border-radius:4px;margin-top:1rem;border-left:4px solid #ffc107}.usage-note strong{display:block;margin-bottom:.5rem}.usage-note ul{margin:.5rem 0 0 1.5rem}.loading{display:flex;justify-content:center;align-items:center;padding:3rem}.spinner{border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}.tabs{overflow-x:auto}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.summary-bar{gap:1.5rem}.tiles-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
