.booking-header{background:#fff;border-bottom:3px solid #c0392b;padding:12px 0}.booking-header .booking-header-logos{display:flex;align-items:center;justify-content:center;gap:16px}.booking-header .booking-header-logos .logo-epb{height:40px;max-width:160px;-o-object-fit:contain;object-fit:contain}.booking-header .booking-header-logos .logo-separator{font-size:1.5rem;font-weight:300;color:#95a5a6}.booking-header .booking-header-logos .logo-partner{height:40px;max-width:120px;-o-object-fit:contain;object-fit:contain}.booking-content{min-height:calc(100vh - 140px);background:#f8f9fa;padding:20px 0 80px}.booking-footer{background:#fff;border-top:1px solid #dee2e6;padding:12px 0}.booking-card{background:#fff;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.08);max-width:640px;margin:0 auto;padding:24px 20px}@media (min-width:576px){.booking-card{padding:32px}}.booking-title{font-size:1.25rem;font-weight:600;margin-bottom:20px;text-align:center;color:#333}.booking-stepper{display:flex;align-items:center;justify-content:center;margin-bottom:24px;padding:0 8px;flex-wrap:nowrap}.booking-stepper .step{display:flex;align-items:center;flex-direction:column;position:relative;flex:0 0 auto}.booking-stepper .step .step-circle{width:32px;height:32px;border-radius:50%;background:#dee2e6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;transition:all .3s ease}.booking-stepper .step .step-circle i{font-size:.75rem}.booking-stepper .step .step-label{font-size:.65rem;color:#95a5a6;margin-top:4px;text-align:center;white-space:nowrap}@media (max-width:575px){.booking-stepper .step .step-label{display:none}}.booking-stepper .step.active .step-circle{background:#c0392b;box-shadow:0 2px 8px rgba(192,57,43,.4)}.booking-stepper .step.active .step-label{color:#c0392b;font-weight:600}.booking-stepper .step.done .step-circle{background:#27ae60}.booking-stepper .step.done .step-label{color:#27ae60}.booking-stepper .step-line{flex:1 1 auto;height:2px;background:#dee2e6;min-width:16px;max-width:40px;margin:0 4px 18px;transition:background .3s ease}@media (max-width:575px){.booking-stepper .step-line{margin-bottom:0}}.booking-stepper .step-line.done{background:#27ae60}.booking-form .form-group{margin-bottom:16px}.booking-form .form-group label{font-size:.875rem;font-weight:500;margin-bottom:4px}.booking-form .form-control{border-radius:6px;padding:10px 14px;font-size:1rem;border:1px solid #dee2e6}.booking-form .form-control:focus{border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.15)}.event-type-selector{display:grid;grid-template-columns:1fr;gap:12px;max-height:400px;overflow-y:auto}.event-type-selector .event-type-card{border:2px solid #dee2e6;border-radius:8px;padding:16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s ease}.event-type-selector .event-type-card .event-type-color{width:32px;height:32px;border-radius:4px;flex-shrink:0}.event-type-selector .event-type-card .event-type-text{flex:1}.event-type-selector .event-type-card .event-type-name{font-weight:500;font-size:.95rem;color:#333}.event-type-selector .event-type-card .event-type-immobilization{margin-top:4px;font-size:.8rem;color:#888}.event-type-selector .event-type-card .event-type-immobilization i{margin-right:4px}.event-type-selector .event-type-card:hover{border-color:#e74c3c}.event-type-selector .event-type-card.selected{border-color:#c0392b;background:rgba(192,57,43,.04)}.event-type-selector .event-type-card.selected .event-type-name{color:#c0392b}.client-type-selector{display:grid;grid-template-columns:1fr 1fr;gap:12px}.client-type-selector .client-type-card{border:2px solid #dee2e6;border-radius:8px;padding:20px 12px;text-align:center;cursor:pointer;transition:all .2s ease}.client-type-selector .client-type-card i{font-size:2rem;color:#95a5a6;display:block;margin-bottom:8px}.client-type-selector .client-type-card span{font-weight:500;font-size:.9rem}.client-type-selector .client-type-card:hover{border-color:#e74c3c}.client-type-selector .client-type-card.selected{border-color:#c0392b;background:rgba(192,57,43,.04)}.client-type-selector .client-type-card.selected i{color:#c0392b}.booking-lang-selector{display:flex;justify-content:center;gap:8px;margin-bottom:24px;padding:0 8px;flex-wrap:wrap}.booking-lang-selector .btn-lang{padding:6px 14px;border:1px solid #dee2e6;border-radius:20px;background:#fff;font-size:.8rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex:0 0 auto;min-width:0}@media (max-width:575px){.booking-lang-selector .btn-lang .lang-name{display:none}}.booking-lang-selector .btn-lang:hover{border-color:#e74c3c;color:#c0392b}.booking-lang-selector .btn-lang.active{background:#c0392b;border-color:#c0392b;color:#fff}@media (max-width:575px){.booking-lang-selector{padding:0 12px;gap:8px;row-gap:8px}.booking-lang-selector .btn-lang{padding:6px 12px;font-size:.8rem}}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}@media (min-width:576px){.slot-grid{grid-template-columns:repeat(6,1fr)}}.slot-grid .slot-btn{padding:10px 4px;border:1px solid #dee2e6;border-radius:6px;background:#fff;text-align:center;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease}.slot-grid .slot-btn:hover:not(.disabled){border-color:#c0392b;color:#c0392b}.slot-grid .slot-btn.selected{background:#27ae60;border-color:#27ae60;color:#fff}.slot-grid .slot-btn.disabled{background:#f1f1f1;color:#ccc;cursor:not-allowed;text-decoration:line-through}.booking-datepicker{display:flex;justify-content:center}.booking-datepicker .flatpickr-calendar{box-shadow:none!important;border:1px solid #dee2e6;border-radius:8px}.booking-nav{display:flex;justify-content:space-between;margin-top:24px;gap:12px}.booking-nav .btn{min-width:120px;padding:10px 20px;border-radius:6px;font-weight:500}.booking-nav .btn-booking-prev{background:#fff;border:1px solid #dee2e6;color:#555}.booking-nav .btn-booking-prev:hover{background:#f8f9fa}.booking-nav .btn-booking-next{background:#c0392b;border:none;color:#fff}.booking-nav .btn-booking-next:hover{background:#9f2f24}.booking-nav .btn-booking-next:disabled{opacity:.5;cursor:not-allowed}@media (max-width:575px){.booking-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:12px 16px;border-top:1px solid #dee2e6;margin-top:0;z-index:100;box-shadow:0 -2px 8px rgba(0,0,0,.08)}.booking-nav .btn{flex:1}}.booking-upload-zone{border:2px dashed #dee2e6;border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:border-color .2s ease;margin-bottom:12px}.booking-upload-zone:hover{border-color:#c0392b}.booking-upload-zone i{font-size:2rem;color:#95a5a6;margin-bottom:8px}.booking-upload-zone p{margin:0;font-size:.875rem;color:#666}.booking-upload-zone.booking-upload-loading{cursor:progress;pointer-events:none;background:rgba(0,0,0,.02)}.booking-upload-zone.booking-upload-loading .booking-loader{margin:0 auto 8px;display:block}.booking-upload-zone.is-drag-over{border-color:#c0392b;background:rgba(192,57,43,.05)}.booking-uploaded-file{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f8f9fa;border-radius:6px;margin-bottom:8px;font-size:.85rem}.booking-uploaded-file .file-name{display:flex;align-items:center;gap:8px}.booking-uploaded-file .file-name i{color:#27ae60}.booking-uploaded-file .file-remove{color:#c0392b;cursor:pointer;border:none;background:none;font-size:1rem}.booking-confirmation{text-align:center}.booking-confirmation .confirmation-icon{font-size:4rem;color:#27ae60;margin-bottom:16px}.booking-confirmation h3{font-weight:600;margin-bottom:12px}.booking-confirmation p{color:#666;font-size:.95rem}.booking-confirmation .impact-location{margin-top:20px;padding:16px;border:1px solid #dee2e6;border-radius:8px;background:#f5f6f8}.booking-confirmation .impact-location .impact-location-label{font-weight:600;margin-bottom:6px;color:#333}.booking-confirmation .impact-location .impact-location-address{color:#555;font-size:.95rem}.booking-confirmation .impact-location .impact-location-hours{margin-top:10px;font-weight:500;color:#c0392b}.booking-confirmation .impact-location .impact-location-hours i{margin-right:4px}.booking-recap{width:100%;margin:16px 0}.booking-recap td{padding:6px 0;border-bottom:1px solid #edeff1;font-size:.9rem}.booking-recap td:first-child{font-weight:500;color:#666;width:40%}.booking-landing{text-align:center}.booking-landing h2{font-size:1.5rem;font-weight:600;margin-bottom:12px}.booking-landing p{color:#666;font-size:.95rem;margin-bottom:24px}.booking-loader{display:inline-block;width:20px;height:20px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;-webkit-animation:booking-spin .6s linear infinite;animation:booking-spin .6s linear infinite}@-webkit-keyframes booking-spin{to{transform:rotate(1turn)}}@keyframes booking-spin{to{transform:rotate(1turn)}}.immat-input{text-transform:uppercase;font-weight:600;letter-spacing:1px}.immat-result{padding:8px 12px;background:#f8f9fa;border-radius:6px;margin-top:8px;font-size:.85rem;display:flex;align-items:center;gap:8px;cursor:pointer}.immat-result:hover{background:#eff1f4}.booking-location-info{display:flex;align-items:center;gap:16px;padding:16px;background:#f0f7ff;border:1px solid #cce0f5;border-radius:8px}.booking-location-info .gridx-logo{height:28px;width:auto;flex-shrink:0;color:#1a5fa8}.booking-location-info .booking-location-label{font-size:.85rem;color:#555;margin-bottom:2px}.booking-location-info strong{font-size:.9rem;color:#1a3a5c}.booking-repair-replace{margin-bottom:24px;text-align:center}.booking-repair-replace .booking-repair-replace-label{font-size:.85rem;color:#555;margin-bottom:8px}.booking-repair-replace .booking-repair-replace-img{max-width:100%;height:auto;border:1px solid #e0e0e0;border-radius:8px}.booking-select-subtitle{text-align:center;color:#666;font-size:.95rem;margin-bottom:28px;margin-top:-12px}.insurer-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:480px){.insurer-grid{grid-template-columns:1fr 1fr}}.insurer-card{display:flex!important;align-items:center;gap:16px;padding:16px;border:2px solid #dee2e6;border-radius:10px;text-decoration:none;color:#333;transition:all .2s ease;background:#fff}.insurer-card:hover{border-color:#c0392b;background:rgba(192,57,43,.03);text-decoration:none;color:#c0392b;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.insurer-card:hover .insurer-arrow{opacity:1;transform:translateX(3px)}.insurer-card .insurer-logo{height:40px;max-width:80px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.insurer-card .insurer-icon-fallback{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.insurer-card .insurer-icon-fallback span{color:#fff;font-weight:700;font-size:1.2rem}.insurer-card .insurer-name{flex:1;font-weight:600;font-size:1rem}.insurer-card .insurer-arrow{color:#95a5a6;font-size:.85rem;opacity:0;transition:all .2s ease}