@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap";:root{--green-900:#0a3020;--green-800:#0f4228;--green-700:#1a5e38;--green-600:#237a4a;--green-400:#4dae75;--green-200:#aedcc0;--green-100:#d8efe3;--green-50:#edf8f3;--navy-900:#1b2a4a;--navy-800:#243660;--navy-700:#2e4275;--navy-400:#6b86b8;--navy-100:#d8e0f0;--navy-50:#eef2fa;--beige-400:#c4a882;--beige-300:#b8975f;--beige-200:#e0caa8;--beige-100:#f0e4d0;--beige-50:#faf5ee;--blue-700:#0e5a96;--blue-500:#1a6eb5;--blue-200:#bcd9f2;--blue-50:#eaf3fc;--amber-700:#7a4500;--amber-500:#9a5c0a;--amber-200:#f5d99a;--amber-50:#fdf2e0;--red-700:#9b2c2c;--red-500:#b52b2b;--red-200:#f3c6c6;--red-50:#fdf0ef;--purple-700:#5b2c8e;--purple-500:#7c3aed;--purple-200:#ddd6fe;--purple-50:#f5f3ff;--neutral-950:#1a1614;--neutral-800:#2d2a26;--neutral-700:#3d3830;--neutral-500:#6b6560;--neutral-400:#9a948e;--neutral-300:#c8c2ba;--neutral-200:#e4ddd6;--neutral-100:#f0ebe4;--neutral-50:#f8f5f1;--text-primary:#2d2a26;--text-secondary:#5e5852;--text-muted:#7c766f;--border:#e0d8ce;--border-focus:var(--green-600);--bg-page:#eee8df;--bg-card:#fafaf7;--shadow-sm:0 1px 3px #2d231414, 0 1px 2px #2d23140d;--shadow-md:0 4px 16px #2d23141a, 0 1px 4px #2d23140f;--shadow-lg:0 10px 32px #2d23141f, 0 2px 8px #2d23140f;--shadow-card:0 2px 8px #2d231412, 0 1px 2px #2d23140d;--shadow-hover:0 6px 20px #2d23141f, 0 2px 6px #2d231412;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-badge:20px;--radius-card:var(--radius-lg);--radius-input:var(--radius-sm);--ed-navy:#2b567f;--ed-navy-deep:#1a3a58;--ed-navy-ink:#122b42;--ed-sage:#6ea98c;--ed-sage-deep:#3d7a61;--ed-sage-soft:#e2efe8;--ed-mint:#a9e0c6;--ed-paper:#fbf9f5;--ed-ink:#182430;--ed-body:#33465a;--ed-muted:#61748a;--ed-line:#e0e7ee;--sp-0:0;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;--ts-display:62px;--ts-title:38px;--ts-heading:27px;--ts-subhead:21px;--ts-body:16px;--ts-small:14px;--ts-tiny:12px;--ts-micro:10.5px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.45, 0, .55, 1);--ease-spring:cubic-bezier(.4, 0, .2, 1);--transition:.18s var(--ease-spring);--transition-md:.28s var(--ease-out);--transition-lg:.42s var(--ease-out)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:0;font-family:Inter,sans-serif;font-size:13px;font-weight:400;line-height:1.6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--beige-300)}select,input[type=text],input[type=number],input[type=date]{color:var(--text-primary);background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-input);width:100%;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);appearance:none;padding:8px 12px;font-family:Inter,sans-serif;font-size:13px;font-weight:500}textarea{color:var(--text-primary);border:1.5px solid var(--border);width:100%;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);field-sizing:content;resize:vertical;background:#fff;border-radius:10px;min-height:7.5em;max-height:70vh;padding:12px 14px;font-size:14.5px;font-weight:500;line-height:1.7;box-shadow:inset 0 1px 2px #10281c0a;font-family:Inter,sans-serif!important}textarea::placeholder{color:var(--text-muted);opacity:.7}textarea:focus{border-color:var(--border-focus);background:#fdfdfb;outline:none;box-shadow:0 0 0 3px #237a4a26}textarea:hover:not(:focus){border-color:var(--neutral-300)}input[type=date]{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235a7a6a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:15px;padding-right:34px;position:relative}input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;right:0}input[type=date]:hover:not(:focus){border-color:var(--green-400);background-color:var(--green-50)}select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239A948E'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:30px}select:focus,input:focus{border-color:var(--border-focus);background:#fdfdfb;outline:none;box-shadow:0 0 0 3px #237a4a26}select:hover:not(:disabled),input:hover:not(:focus){border-color:var(--neutral-300)}select:disabled{background-color:var(--neutral-100);color:var(--text-muted);cursor:not-allowed;opacity:.65}label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:10.5px;font-weight:600;display:block}.btn{cursor:pointer;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);transition:background var(--transition), border-color var(--transition), box-shadow var(--transition), transform .15s var(--ease-spring), color var(--transition);letter-spacing:.01em;white-space:nowrap;padding:8px 16px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:500;line-height:1}.btn:hover{background:var(--neutral-50);border-color:var(--neutral-300);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn:active{box-shadow:none;transform:translateY(0)}.btn-primary{background:linear-gradient(135deg, var(--green-700) 0%, var(--green-800) 100%);color:#fff;border-color:var(--green-800);font-weight:600;box-shadow:0 2px 8px #1a5e3833}.btn-primary:hover{background:linear-gradient(135deg, var(--green-800) 0%, var(--green-900) 100%);border-color:var(--green-900);transform:translateY(-1px);box-shadow:0 4px 16px #1a5e3852}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 4px #1a5e3833}.btn-transfer{background:var(--blue-50);color:var(--blue-700);border-color:var(--blue-200);font-weight:600}.btn-transfer:hover{border-color:var(--blue-500);background:#d8eaf8;transform:translateY(-1px);box-shadow:0 3px 10px #1a6eb533}.btn-tour{background:var(--amber-50);color:var(--amber-700);border-color:var(--amber-200);font-weight:600}.btn-tour:hover{border-color:var(--amber-500);background:#faeac4;transform:translateY(-1px);box-shadow:0 3px 10px #9a5c0a33}.btn-rentacar{background:var(--purple-50);color:var(--purple-700);border-color:var(--purple-200);font-weight:600}.btn-rentacar:hover{border-color:var(--purple-500);background:#ede9fe;transform:translateY(-1px);box-shadow:0 3px 10px #7c3aed33}.btn-sm{border-radius:var(--radius-xs);padding:6px 12px;font-size:11.5px}.btn-danger{color:#b52b2b;border-color:#f0c4c4}.btn-danger:hover{color:#8a1f1f;background:#fdecea;border-color:#b52b2b;transform:translateY(-1px)}.btn-active{background:var(--green-100);color:var(--green-700);border-color:var(--green-200);font-weight:600}.card{background:var(--bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-md), transform var(--transition-md);border:1.5px solid var(--border);margin-bottom:10px;padding:20px 22px}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card-hotel{border-left:4px solid var(--green-600)}.card-transfer{border-left:4px solid var(--blue-500)}.card-tour{border-left:4px solid var(--amber-500)}.card-rentacar{border-left:4px solid var(--purple-500)}.card-header{border-bottom:1px solid var(--neutral-100);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.step-type{border-radius:var(--radius-badge);letter-spacing:.07em;text-transform:uppercase;padding:4px 10px;font-size:10px;font-weight:700}.type-hotel{background:var(--green-100);color:var(--green-700)}.type-transfer{background:var(--blue-50);color:var(--blue-700)}.type-tour{background:var(--amber-50);color:var(--amber-700)}.type-rentacar{background:var(--purple-50);color:var(--purple-700)}.g2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.g3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.summary-row{border-bottom:1px solid var(--neutral-100);transition:background var(--transition);justify-content:space-between;align-items:baseline;padding:9px 0;font-size:13px;display:flex}.summary-row:last-child{border-bottom:none}.summary-row .label{color:var(--text-primary);max-width:68%;font-weight:500;line-height:1.4}.summary-row .amount{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600}.metric{background:var(--neutral-50);border-radius:var(--radius-md);text-align:center;border:1.5px solid var(--border);transition:transform var(--transition-md), box-shadow var(--transition-md);padding:16px 18px}.metric:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700}.metric-value{color:var(--text-primary);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.1}.metric-big{background:linear-gradient(135deg, var(--green-50) 0%, #e4f4ec 100%);border-color:var(--green-200)}.metric-big .metric-label{color:var(--green-600)}.metric-big .metric-value{color:var(--green-700);font-size:26px}.warn{border-radius:var(--radius-sm);color:#6b4d00;background:#fffbeb;border:1.5px solid #e8b84b;padding:9px 13px;font-size:12px;line-height:1.5}.section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px;font-size:10px;font-weight:700}.add-bar{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.date-field-wrapper{position:relative}.date-field-preview{color:var(--green-700);letter-spacing:.01em;text-transform:capitalize;margin-top:3px;font-size:10.5px;font-weight:500;display:block}.config-bar{grid-template-columns:1fr 1fr 1fr 1fr 2fr;align-items:end;gap:12px;margin-bottom:4px;display:grid}.empty-state{text-align:center;color:var(--text-muted);border:2px dashed var(--neutral-200);border-radius:var(--radius-card);background:linear-gradient(135deg, var(--bg-card) 0%, var(--beige-50) 100%);transition:border-color var(--transition), background var(--transition);margin-bottom:10px;padding:48px 32px;font-size:13px;line-height:1.8}.empty-state:hover{border-color:var(--beige-300);background:linear-gradient(135deg, var(--beige-50) 0%, var(--bg-card) 100%)}.total-bar{grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;margin-top:14px;display:grid}hr{border:none;border-top:1px solid var(--neutral-100);margin:14px 0}.step-num{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-right:7px;font-size:11px;font-weight:600}.config-header{border-bottom:1px solid var(--border);align-items:center;gap:14px;margin-bottom:18px;padding-bottom:18px;display:flex}.config-header img{flex-shrink:0;width:auto;height:38px;display:block}.config-header-text{flex-direction:column;gap:1px;display:flex}.config-header-title{color:var(--green-700);letter-spacing:-.02em;font-size:17px;font-weight:700;line-height:1.2}.config-header-sub{color:var(--text-muted);letter-spacing:.01em;font-size:11.5px}.config-status{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:11.5px;display:flex}.config-status-dot{background:var(--green-600);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 3px #237a4a2e}.step-neto{color:var(--text-secondary);background:var(--neutral-50);border-radius:var(--radius-sm);border:1px solid var(--neutral-200);margin-top:10px;padding:8px 12px;font-size:12px;font-weight:500;line-height:1.5}.app-shell{flex-direction:column;min-height:100vh;display:flex;position:relative}.app-topbar{z-index:100;background:linear-gradient(108deg,#0e1e35 0%,#152a40 45%,#1a2e3e 100%);border-bottom:1px solid #c4a8822e;justify-content:space-between;align-items:center;height:58px;padding:0 2rem;display:flex;position:sticky;top:0;box-shadow:0 1px #c4a8821f,0 8px 32px #0006,inset 0 1px #ffffff0a}.app-topbar:before{content:"";background:linear-gradient(to bottom, transparent 0%, var(--beige-300) 30%, var(--green-600) 70%, transparent 100%);opacity:.72;pointer-events:none;width:3px;position:absolute;top:0;bottom:0;left:0}.app-topbar-logo{align-items:center;gap:14px;display:flex}.app-topbar-logo img{filter:brightness(0)invert();opacity:.9;width:auto;height:26px;transition:opacity var(--transition)}.app-topbar-logo img:hover{opacity:1}.app-topbar-title{color:var(--beige-300);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:700}.app-topbar-divider{background:linear-gradient(#0000,#c4a8824d,#0000);width:1px;height:20px}.app-topbar-badge{color:var(--beige-200);letter-spacing:.04em;font-size:11px;font-weight:500}.app-topbar-meta{color:#ffffff61;letter-spacing:.01em;font-size:11.5px}.app-topbar-user{align-items:center;gap:6px;display:flex}.app-topbar-user:before{content:"";background:linear-gradient(#0000,#c4a88247,#0000);width:1px;height:22px;margin-right:6px;display:block}.app-topbar-username{color:#ffffffa3;letter-spacing:.01em;font-size:11.5px;font-weight:500}.app-topbar-role{color:var(--beige-300);text-transform:uppercase;letter-spacing:.1em;background:#b8975f1f;border:1px solid #b8975f47;border-radius:3px;padding:2px 7px;font-size:8.5px;font-weight:700}.app-topbar-logout{transition:color var(--transition), border-color var(--transition), background var(--transition);letter-spacing:.02em;padding:4px 10px;font-size:10.5px;color:#ffffff5c!important;background:0 0!important;border-color:#ffffff14!important}.app-topbar-logout:hover{transform:translateY(0);color:#ffffffc7!important;background:#ffffff0d!important;border-color:#ffffff38!important}.app-main{z-index:1;flex:1;padding:26px 20px 64px;position:relative}.app-container{max-width:780px;margin:0 auto}.section-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-header-left{align-items:center;gap:10px;display:flex}.section-eyebrow{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700}.summary-header{border-bottom:1px solid var(--neutral-100);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;display:flex}.summary-header-title{color:var(--text-primary);letter-spacing:-.01em;font-size:13px;font-weight:700}.summary-pax-chip{color:var(--green-700);background:var(--green-100);border:1px solid var(--green-200);border-radius:var(--radius-badge);transition:background var(--transition), border-color var(--transition);padding:3px 10px;font-size:11px;font-weight:500}.summary-pax-chip:hover{background:var(--green-50)}.card-actions{align-items:center;gap:4px;display:flex}.hotel-search-wrap{position:relative}.hotel-search-input{padding-right:70px!important}.hotel-search-zone-tag{color:var(--green-700);background:var(--green-100);border:1px solid var(--green-200);border-radius:var(--radius-badge);pointer-events:none;white-space:nowrap;text-overflow:ellipsis;max-width:140px;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;top:50%;right:32px;overflow:hidden;transform:translateY(-50%)}.hotel-search-clear{color:var(--text-muted);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:12px;line-height:1;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.hotel-search-clear:hover{color:#b52b2b;background:#fdecea}.hotel-search-list{background:var(--bg-card);border:1.5px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);max-height:260px;box-shadow:var(--shadow-lg);z-index:50;border-top:none;margin:0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.hotel-search-item{cursor:pointer;transition:background var(--transition);justify-content:space-between;align-items:center;gap:8px;padding:9px 13px;display:flex}.hotel-search-item:hover{background:var(--green-50)}.hotel-search-selected{background:var(--green-100)}.hotel-search-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.hotel-search-zone{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:10.5px}.hotel-search-empty{text-align:center;color:var(--text-muted);padding:14px;font-size:12px}.step-drag-handle{cursor:grab;color:var(--neutral-500);-webkit-user-select:none;user-select:none;background:var(--neutral-100);border:1px solid var(--neutral-200);transition:color var(--transition), background var(--transition), border-color var(--transition);border-radius:6px;justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:6px 8px;font-size:22px;line-height:1;display:inline-flex}.step-drag-handle:hover{color:var(--green-700);background:var(--green-50);border-color:var(--green-200)}.step-drag-handle:active{cursor:grabbing;background:var(--green-100)}.step-drag-wrapper{transition:opacity var(--transition), transform var(--transition)}.step-drag-wrapper.dragging{opacity:.4}.step-drag-wrapper.drag-over{border-top:3px solid var(--green-600);border-radius:4px}.transfer-suggestion{align-items:center;gap:8px;padding:6px 0;display:flex}.transfer-suggestion-line{background:linear-gradient(to right, transparent, var(--blue-200), transparent);flex:1;height:1px}.transfer-suggestion-btn{white-space:nowrap;flex-shrink:0;background:var(--blue-50)!important;color:var(--blue-700)!important;border-color:var(--blue-200)!important;font-size:11px!important}.transfer-suggestion-btn:hover{border-color:var(--blue-500)!important;background:#d8eaf8!important;box-shadow:0 2px 8px #1a6eb52e!important}.transfer-suggestion-price{color:var(--text-muted);font-weight:400}.btn-new-quote{color:var(--text-muted);border-color:var(--neutral-200);font-weight:500}.btn-new-quote:hover{color:#b52b2b;background:#fdecea;border-color:#f0c4c4}.floating-summary{z-index:90;transition:bottom .38s var(--ease-out);pointer-events:none;position:fixed;bottom:-90px;left:0;right:0}.floating-summary.visible{pointer-events:auto;bottom:0}.floating-summary-inner{-webkit-backdrop-filter:blur(16px);border:1.5px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:#fafaf7e0;border-bottom:none;justify-content:center;align-items:center;gap:20px;max-width:780px;margin:0 auto;padding:12px 28px;display:flex;box-shadow:0 -6px 32px #2d231429,0 -1px #2d23140f}.floating-summary-item{flex-direction:column;align-items:center;gap:1px;display:flex}.floating-summary-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:700}.floating-summary-value{color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:17px;font-weight:700}.floating-summary-highlight .floating-summary-value{color:var(--green-700);font-size:20px}.floating-summary-divider{background:var(--neutral-200);width:1px;height:30px}.floating-summary-pax{color:var(--green-700);background:var(--green-100);border:1px solid var(--green-200);border-radius:var(--radius-badge);padding:3px 9px;font-size:10px;font-weight:600}.card-header-clickable{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm);transition:background var(--transition);margin:-4px 0;padding:4px 0}.card-header-clickable:hover{background:var(--neutral-50)}.collapse-chevron{width:20px;height:20px;color:var(--text-muted);transition:transform var(--transition-md);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:inline-flex;transform:rotate(0)}.collapse-chevron.expanded{transform:rotate(90deg)}.card-body{transition:grid-template-rows var(--transition-md), opacity var(--transition-md);opacity:1;grid-template-rows:1fr;display:grid}.card-body-collapsed{opacity:0;grid-template-rows:0fr}.card-body-inner{min-height:0;transition:overflow 0s var(--transition-md);overflow:visible}.card-body-collapsed .card-body-inner{pointer-events:none;transition:overflow;overflow:hidden}.step-check{background:var(--green-100);width:18px;height:18px;color:var(--green-700);border:1.5px solid var(--green-200);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.step-collapsed-summary{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;min-width:0;margin-left:4px;font-size:12.5px;font-weight:500;overflow:hidden}.step-img-badge{color:var(--purple-700);background:var(--purple-50);border:1px solid var(--purple-200);border-radius:var(--radius-badge);white-space:nowrap;padding:2px 8px;font-size:10px;font-weight:600}.hotel-images-preview{margin-top:12px}.hotel-images-row{gap:8px;display:flex}.hotel-images-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1.5px solid var(--border);width:100px;height:70px;transition:transform var(--transition), box-shadow var(--transition)}.hotel-images-thumb:hover{box-shadow:var(--shadow-md);transform:scale(1.03)}.step-price-badge{border-radius:var(--radius-badge);white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.01em;flex-shrink:0;padding:4px 11px;font-size:12px;font-weight:700}.step-price-hotel{background:var(--green-100);color:var(--green-700);border:1px solid var(--green-200)}.step-price-transfer{background:var(--blue-50);color:var(--blue-700);border:1px solid var(--blue-200)}.step-price-tour{background:var(--amber-50);color:var(--amber-700);border:1px solid var(--amber-200)}.step-price-rentacar{background:var(--purple-50);color:var(--purple-700);border:1px solid var(--purple-200)}.btn-icon{text-align:center;min-width:28px;padding:4px 8px;font-size:13px;line-height:1}.btn-collapse-toggle{color:var(--text-muted);background:0 0;border-color:#0000;padding:3px 8px;font-size:11px}.btn-collapse-toggle:hover{color:var(--text-secondary);background:var(--neutral-100);border-color:var(--neutral-200);transform:translateY(0)}.add-bar-icon{margin-right:3px;font-size:14px;font-weight:700;line-height:1}.add-bar-divider{background:var(--neutral-200);align-self:center;width:1px;height:24px;margin:0 4px}.btn-program{background:var(--neutral-50);color:var(--text-primary);border-color:var(--neutral-300);font-weight:600}.btn-program:hover{background:var(--neutral-100);border-color:var(--neutral-400);box-shadow:var(--shadow-sm)}.step-count-bar{color:var(--text-muted);align-items:center;gap:10px;margin-bottom:10px;padding:0 2px;font-size:11px;display:flex}.step-count-types{flex-wrap:wrap;gap:6px;display:flex}.step-count-chip{border-radius:var(--radius-badge);letter-spacing:.02em;transition:transform var(--transition), box-shadow var(--transition);padding:3px 8px;font-size:10px;font-weight:600}.step-count-chip:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.chip-hotel{background:var(--green-100);color:var(--green-700)}.chip-transfer{background:var(--blue-50);color:var(--blue-700)}.chip-tour{background:var(--amber-50);color:var(--amber-700)}.chip-rentacar{background:var(--purple-50);color:var(--purple-700)}.card:has(.card-body-collapsed){padding-top:13px;padding-bottom:13px}.card:has(.card-body-collapsed) .card-header{border-bottom:none;margin-bottom:0;padding-bottom:0}.itin-editor{flex-direction:column;gap:10px;display:flex}.itin-day{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--neutral-50);transition:border-color var(--transition), background var(--transition);padding:11px 14px}.itin-day-edited{border-color:var(--green-200);background:var(--green-50)}.itin-day-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.itin-day-num{color:var(--green-700);font-size:11px;font-weight:700}.itin-day-date{color:var(--text-muted);font-size:10px}.itin-day-badge{color:var(--green-700);background:var(--green-100);border-radius:var(--radius-badge);padding:1px 6px;font-size:9px;font-weight:600}.itin-day-title{margin-bottom:4px;background:0 0!important;border-color:#0000!important;padding:5px 8px!important;font-size:12px!important;font-weight:600!important}.itin-day-title:focus{border-color:var(--green-400)!important;background:var(--bg-card)!important}.itin-day-desc{color:var(--text-primary);border-radius:var(--radius-xs);resize:vertical;width:100%;transition:border-color var(--transition), background var(--transition);background:0 0;border:1.5px solid #0000;padding:6px 8px;font-family:Inter,sans-serif;font-size:12px;line-height:1.55}.itin-day-desc:focus{border-color:var(--green-400);background:var(--bg-card);outline:none}.app-topbar-nav{letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;font-size:11px;font-weight:600;position:relative;overflow:visible;color:#ffffff85!important;transition:color var(--transition)!important;background:0 0!important;border-color:#0000!important}.app-topbar-nav:after{content:"";background:var(--beige-300);width:70%;height:1.5px;transition:transform .22s var(--ease-out);border-radius:1px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)scaleX(0)}.app-topbar-nav:hover{color:#ffffffe6!important;background:0 0!important;border-color:#0000!important;transform:translateY(0)!important}.app-topbar-nav:hover:after{transform:translate(-50%)scaleX(1)}.img-mgr{min-height:100vh;display:flex}.img-mgr-sidebar{background:var(--bg-card);border-right:1.5px solid var(--border);flex-direction:column;width:300px;min-width:300px;height:100vh;display:flex;position:sticky;top:0}.img-mgr-sidebar-header{border-bottom:1px solid var(--border);align-items:center;padding:14px 16px;display:flex}.img-mgr-tabs{background:var(--neutral-100);border-radius:8px;margin:0 12px;padding:3px;display:flex}.img-mgr-tab{color:var(--text-muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:6px;flex:1;padding:6px 0;font-family:Inter,sans-serif;font-size:12px;font-weight:500}.img-mgr-tab:hover{color:var(--text-secondary)}.img-mgr-tab.active{background:var(--bg-card);color:var(--green-700);box-shadow:var(--shadow-sm);font-weight:600}.img-mgr-search{margin:12px;font-size:13px!important}.img-mgr-list{flex:1;padding:0 8px 16px;list-style:none;overflow-y:auto}.img-mgr-item{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), transform var(--transition);margin-bottom:2px;padding:10px 12px}.img-mgr-item:hover{background:var(--neutral-50);transform:translate(2px)}.img-mgr-item.active{background:var(--green-50);border:1px solid var(--green-200)}.img-mgr-item-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.img-mgr-item-meta{color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:2px;font-size:11px;display:flex}.img-mgr-count{background:var(--green-100);color:var(--green-700);border-radius:var(--radius-badge);padding:1px 7px;font-size:10px;font-weight:700}.img-mgr-content{background:var(--bg-page);flex:1;padding:28px 32px;overflow-y:auto}.img-mgr-empty{text-align:center;color:var(--text-muted);padding:60px 20px;font-size:14px;line-height:1.7}.img-mgr-hotel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;display:flex}.img-mgr-hotel-name{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:20px;font-weight:700}.img-mgr-hotel-zone{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.img-mgr-blocks{flex-direction:column;gap:16px;display:flex}.img-block{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-md), border-color var(--transition-md), background var(--transition-md);padding:20px 22px;position:relative}.img-block:hover{box-shadow:var(--shadow-md)}.img-block--drop{border-color:var(--green-500,#2f9e6f);background:var(--green-50,#eaf5ef);border-style:dashed;box-shadow:0 0 0 3px #2f9e6f2e}.img-drop-overlay{z-index:5;border-radius:var(--radius-card,8px);color:var(--green-700,#1a6847);pointer-events:none;background:#2f9e6f24;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;position:absolute;inset:0}.img-block-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.img-block-label{flex:1;border:none!important;border-bottom:1.5px solid var(--border)!important;background:0 0!important;border-radius:0!important;padding:4px 0!important;font-size:14px!important;font-weight:600!important}.img-block-label:focus{border-bottom-color:var(--green-600)!important;box-shadow:none!important}.img-block-room-tag{color:var(--green-700);background:var(--green-100);border:1px solid var(--green-200);border-radius:var(--radius-badge);white-space:nowrap;padding:2px 8px;font-size:10px;font-weight:600}.img-block-count{color:var(--text-muted);white-space:nowrap;font-size:11px}.img-block-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.img-thumb-wrap{aspect-ratio:4/3;border-radius:var(--radius-sm);background:var(--neutral-100);transition:transform var(--transition), box-shadow var(--transition);position:relative;overflow:hidden}.img-thumb-wrap:hover{box-shadow:var(--shadow-md);transform:scale(1.02)}.img-thumb{object-fit:cover;width:100%;height:100%;display:block}.img-thumb-delete{color:#fff;cursor:pointer;opacity:0;width:22px;height:22px;transition:opacity var(--transition);background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;top:6px;right:6px}.img-thumb-wrap:hover .img-thumb-delete,.img-thumb-wrap:hover .img-thumb-move{opacity:1}.img-thumb-move{color:#fff;cursor:pointer;opacity:0;width:22px;height:22px;transition:opacity var(--transition);background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex}.img-thumb-move:hover{background:#000000d9}.img-upload-slot{aspect-ratio:4/3;border:2px dashed var(--neutral-200);border-radius:var(--radius-sm);background:var(--neutral-50);cursor:pointer;transition:border-color var(--transition), background var(--transition), transform var(--transition);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.img-upload-slot:hover{border-color:var(--green-400);background:var(--green-50);transform:scale(1.02)}.img-upload-icon{color:var(--text-muted);font-size:22px;font-weight:300;line-height:1}.img-upload-text{color:var(--text-muted);font-size:11px;font-weight:500}@media (width<=700px){.img-mgr{flex-direction:column}.img-mgr-sidebar{width:100%;min-width:100%;height:auto;max-height:40vh;position:static}.img-block-grid{grid-template-columns:repeat(2,1fr)}}.login-page{background:url(/bg-login.jpg) 50%/cover no-repeat;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);text-align:center;z-index:1;background:#fffffff2;width:100%;max-width:380px;padding:44px 40px;position:relative;box-shadow:0 20px 60px #0000004d}.bg-carousel{z-index:0;position:fixed;inset:0;overflow:hidden}.bg-carousel-slide{opacity:0;background-position:50%;background-size:cover;transition:opacity 1.5s ease-in-out;position:absolute;inset:0}.bg-carousel-active{opacity:1}.bg-carousel-overlay{pointer-events:none;position:absolute;inset:0}.login-header{text-align:center;margin-bottom:28px}.login-logo{width:auto;height:44px;margin-bottom:14px}.login-title{color:var(--green-700);letter-spacing:-.02em;margin-bottom:4px;font-size:20px;font-weight:700}.login-subtitle{color:var(--text-muted);font-size:13px}.login-form{text-align:left;flex-direction:column;gap:14px;max-width:300px;margin:0 auto;display:flex}.login-form label{margin-bottom:4px}.login-form input{width:100%;padding:10px 13px;font-size:14px}.login-btn{width:100%;margin-top:4px;padding:11px 16px!important;font-size:14px!important}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{border-radius:var(--radius-sm);color:#8a1f1f;text-align:center;background:#fdecea;border:1.5px solid #f0c4c4;padding:8px 12px;font-size:12.5px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=700px){.floating-summary-inner{gap:14px;padding:10px 18px}.floating-summary-value{font-size:15px}.floating-summary-highlight .floating-summary-value{font-size:17px}.app-topbar{padding:0 1rem}.app-main{padding:16px 14px 52px}.config-bar{grid-template-columns:1fr 1fr}.config-bar>div:last-child{grid-column:1/-1}.g3,.total-bar{grid-template-columns:1fr 1fr}}.quote-toolbar{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-md);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:12px 18px;display:flex}.quote-toolbar:hover{box-shadow:var(--shadow-md)}.quote-toolbar-left,.quote-toolbar-right{align-items:center;gap:8px;display:flex}.quote-toolbar-number{color:var(--green-700);background:var(--green-100);border:1px solid var(--green-200);border-radius:var(--radius-badge);letter-spacing:.02em;padding:4px 11px;font-size:12px;font-weight:700}.quote-toolbar-status{border-radius:var(--radius-sm);border:1.5px solid var(--border);background-color:var(--bg-card);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition);padding:5px 28px 5px 9px;font-size:11.5px}.quote-toolbar-status:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #237a4a26}.quote-toolbar-saved{color:var(--green-600);animation:fadeInSaved .22s var(--ease-out);font-size:11px;font-weight:600}@keyframes fadeInSaved{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.quote-list-container{max-width:780px;margin:0 auto}.quote-list-header{background:linear-gradient(108deg,#0e1e35 0%,#152a40 45%,#1a2e3e 100%);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;padding:14px 20px;display:flex}.quote-list-title{color:#fff;letter-spacing:-.02em;background:linear-gradient(108deg,#0e1e35 0%,#152a40 45%,#1a2e3e 100%);border-radius:12px;padding:13px 22px;font-size:24px;font-weight:800;line-height:1.2;display:block}.quote-list-subtitle{color:#ffffffd9;letter-spacing:.01em;background:linear-gradient(108deg,#0e1e35 0%,#152a40 45%,#1a2e3e 100%);border-radius:0 0 12px 12px;margin-top:0;padding:0 22px 13px;font-size:13px;font-weight:500;line-height:1.45;display:block}.quote-list-title:has(+.quote-list-subtitle){border-radius:12px 12px 0 0;padding-bottom:7px}.quote-list-header>div:first-child{min-width:0}.quote-list-header .quote-list-title,.quote-list-header .quote-list-subtitle{background:0 0;border-radius:0;padding:0}.quote-list-header .quote-list-subtitle{margin-top:3px}.quote-list-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.quote-filter-tabs{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-sm);background:#ffffff1f;border:1px solid #ffffff24;gap:2px;padding:3px;display:flex}.quote-filter-tab{color:#ffffffb8;border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition);background:0 0;border:none;align-items:center;gap:5px;padding:5px 13px;font-family:Inter,sans-serif;font-size:11.5px;font-weight:500;display:flex}.quote-filter-tab:hover{color:#fff;background:#ffffff24}.quote-filter-tab.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm);font-weight:600}.quote-filter-count{color:#fff9;text-align:center;background:#ffffff2e;border-radius:10px;min-width:18px;padding:1px 6px;font-size:10px;font-weight:600}.quote-filter-tab.active .quote-filter-count{background:var(--green-100);color:var(--green-700)}.quote-search{width:220px;padding:7px 12px!important;font-size:12px!important}.quote-cards{flex-direction:column;gap:8px;display:flex}.quote-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-card);cursor:pointer;transition:box-shadow var(--transition-md), border-color var(--transition-md), transform var(--transition-md);padding:18px 22px}.quote-card:hover{box-shadow:var(--shadow-hover);border-color:var(--neutral-300);transform:translateY(-2px)}.quote-card:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.quote-card-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.quote-card-number{color:var(--text-muted);letter-spacing:.05em;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.quote-card-name{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:4px;font-size:15px;font-weight:600;line-height:1.3}.quote-card-meta{color:var(--text-muted);gap:5px;margin-bottom:12px;font-size:11.5px;display:flex}.quote-card-totals{border-top:1px solid var(--neutral-100);border-bottom:1px solid var(--neutral-100);grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:10px;padding:10px 0;display:grid}.quote-card-total-item{text-align:center}.quote-card-total-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:2px;font-size:9.5px;font-weight:700;display:block}.quote-card-total-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.quote-card-total-sale{color:var(--green-700)}.quote-card-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.quote-card-date{color:var(--text-muted);font-size:11px}.quote-card-actions{align-items:center;gap:6px;display:flex}.quote-card-status-select{border-radius:var(--radius-xs);padding:3px 24px 3px 8px!important;font-size:11px!important}.quote-status-badge{border-radius:var(--radius-badge);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;transition:transform var(--transition), box-shadow var(--transition);padding:4px 11px;font-size:10px;font-weight:700}.quote-status-badge:hover{transform:translateY(-1px)}.status-neutral{background:var(--neutral-100);color:var(--neutral-500);border:1px solid var(--neutral-200)}.status-blue{background:var(--blue-50);color:var(--blue-700);border:1px solid var(--blue-200)}.status-amber{background:var(--amber-50);color:var(--amber-700);border:1px solid var(--amber-200)}.status-green{background:var(--green-100);color:var(--green-700);border:1px solid var(--green-200)}.status-red{color:#b52b2b;background:#fef2f2;border:1px solid #fecaca}.booking-detail{max-width:780px;margin:0 auto}.booking-detail-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.supplier-row{border:1px solid var(--neutral-200);transition:box-shadow var(--transition), border-color var(--transition);background:#fff;border-radius:10px;align-items:stretch;gap:14px;margin-bottom:12px;padding:16px 18px;display:flex;box-shadow:0 1px 3px #0000000a}.supplier-row:hover{border-color:var(--neutral-300);box-shadow:0 4px 12px #0000000f}.supplier-row:last-child{margin-bottom:0}.supplier-row-left{flex:1;align-items:flex-start;gap:14px;min-width:0;display:flex}.supplier-row-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;min-width:180px;display:flex}.supplier-type-dot{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin-top:2px;font-size:16px;font-weight:700;display:flex;box-shadow:0 2px 6px #0000001a}.supplier-net-cost{color:var(--green-700);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;font-size:18px;font-weight:700;display:inline-flex}.supplier-net-cost-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:-2px;font-size:9.5px;font-weight:700}.supplier-name{color:var(--text);font-size:16px;font-weight:700;line-height:1.2}.supplier-desc{color:var(--text-muted);margin-top:4px;font-size:13.5px;line-height:1.4}.attachment-row{border-bottom:1px solid var(--neutral-100);transition:background var(--transition);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.attachment-row:last-child{border-bottom:none}.app-topbar-nav-active{color:#fff!important;box-shadow:none!important;background:0 0!important;border-color:#0000!important}.app-topbar-nav-active:after{background:var(--beige-300);height:2px;transform:translate(-50%)scaleX(1)!important}.app-topbar-badge-dot{vertical-align:middle;background:#e53e3e;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block;box-shadow:0 0 0 2px #e53e3e40}.app-topbar-user .btn-primary{letter-spacing:.03em;background:linear-gradient(135deg, var(--green-600) 0%, var(--green-700) 100%)!important;border-color:var(--green-700)!important;border-radius:5px!important;box-shadow:0 2px 10px #237a4a59!important}.app-topbar-user .btn-primary:hover{background:linear-gradient(135deg, var(--green-700) 0%, var(--green-800) 100%)!important;transform:translateY(-1px)!important;box-shadow:0 4px 18px #237a4a73!important}.app-subtabs{z-index:1;scrollbar-width:none;background:#0b1927;border-bottom:1px solid #c4a88224;gap:0;padding:0 2rem;display:flex;position:relative;overflow-x:auto}.app-subtabs::-webkit-scrollbar{display:none}.app-subtab{appearance:none;color:#ffffff73;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:color var(--transition), border-color var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 14px;font-size:11px;font-weight:600;display:inline-flex}.app-subtab:hover{color:#ffffffd1;border-bottom-color:#c4a88240}.app-subtab.active{color:var(--beige-200);border-bottom-color:var(--beige-300)}.app-subtab-count{color:var(--beige-100);letter-spacing:.02em;background:#9a5c0abf;border-radius:10px;padding:1px 6px;font-size:9px;font-weight:700;line-height:1.4;display:inline-block}.app-subtab-count-red{color:#fecaca;background:#b91c1cb3}.quick-nav{-webkit-backdrop-filter:blur(10px);z-index:50;background:#0f2319d1;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;gap:4px;padding:6px;display:flex;position:fixed;top:50%;right:14px;transform:translateY(-50%);box-shadow:0 8px 24px #00000047}.quick-nav-btn{color:#ffffffc7;cursor:pointer;width:36px;height:36px;transition:width .22s cubic-bezier(.4, 0, .2, 1), background var(--transition), color var(--transition);white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:0;padding:0;font-size:13px;font-weight:500;display:flex;overflow:hidden}.quick-nav-btn:hover{color:#fff;background:#ffffff24;width:130px}.quick-nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:600;display:flex}.quick-nav-label{letter-spacing:.01em;opacity:0;padding-right:12px;font-size:12px;transition:opacity .18s 60ms}.quick-nav-btn:hover .quick-nav-label{opacity:1}@media (width<=640px){.quick-nav{display:none}}.variant-tabs{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;padding:0;display:flex}.variant-tab{color:#ffffffb8;border-radius:var(--radius-pill,999px);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--transition);white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff24;align-items:center;gap:8px;padding:7px 14px;font-size:12.5px;font-weight:600;display:inline-flex}.variant-tab:hover{color:#fff;background:#ffffff1f;border-color:#ffffff47}.variant-tab.active{background:var(--beige-300,#d6b88a);color:var(--green-900,#08321f);border-color:var(--beige-400,#c4a882);box-shadow:0 1px 4px #0000002e}.variant-tab-name{letter-spacing:.01em}.variant-tab-cat{text-transform:capitalize;letter-spacing:.03em;background:#0000001f;border-radius:10px;padding:1px 7px;font-size:10px;font-weight:600}.variant-tab.active .variant-tab-cat{color:var(--green-900,#08321f);background:#08321f29}.variant-tab-close{appearance:none;color:inherit;opacity:.5;cursor:pointer;transition:opacity var(--transition);background:0 0;border:none;margin-left:2px;padding:0 2px;font-size:16px;line-height:1}.variant-tab:hover .variant-tab-close{opacity:.9}.variant-tab-close:hover{opacity:1}.variant-tab-input{appearance:none;color:var(--green-900,#08321f);background:#ffffffeb;border:1px solid #fff6;border-radius:4px;outline:none;min-width:100px;max-width:180px;padding:2px 6px;font-family:inherit;font-size:12.5px;font-weight:600}.variant-tab-add{appearance:none;color:#ffffff9e;border-radius:var(--radius-pill,999px);cursor:pointer;transition:all var(--transition);background:0 0;border:1px dashed #ffffff47;align-items:center;padding:7px 14px;font-size:12.5px;font-weight:500;display:inline-flex}.variant-tab-add:hover{color:#fff;background:#ffffff0f;border-style:solid;border-color:#ffffff80}.booking-form-overlay{z-index:200;-webkit-backdrop-filter:blur(2px);animation:overlayFadeIn .22s var(--ease-out);background:#0a100c85;justify-content:center;align-items:flex-start;padding:60px 20px 40px;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.booking-form{background:var(--bg-card);border-radius:var(--radius-lg);border:1.5px solid var(--border);width:100%;max-width:680px;animation:formSlideIn .28s var(--ease-out);padding:30px 34px;box-shadow:0 24px 64px #0a100c47,0 4px 16px #0a100c1f}@keyframes formSlideIn{0%{opacity:0;transform:translateY(-12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.booking-form-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.booking-form-title{color:var(--text-primary);letter-spacing:-.02em;font-size:19px;font-weight:700}.booking-form-subtitle{color:var(--text-secondary);margin-bottom:22px;font-size:13px;font-weight:500}.booking-form-section{margin-bottom:22px}.booking-pax-row{background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:var(--radius-sm);transition:border-color var(--transition);margin-bottom:6px;padding:11px 14px}.booking-pax-row:hover{border-color:var(--neutral-300)}.booking-pax-num{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;font-size:10.5px;font-weight:700;display:block}.booking-pax-fields{grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;display:grid}.booking-pax-contact{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.booking-dates-card{background:var(--neutral-50);border:1.5px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition);align-items:center;gap:0;padding:15px 18px;display:flex}.booking-dates-card:hover{border-color:var(--neutral-300)}.booking-date-input{flex:1}.booking-date-input label{margin-bottom:4px}.booking-dates-arrow{flex-direction:column;align-items:center;gap:2px;min-width:80px;padding:0 14px;display:flex}.booking-dates-nights{color:var(--green-700);background:var(--green-100);border:1px solid var(--green-200);border-radius:var(--radius-badge);white-space:nowrap;padding:3px 11px;font-size:11px;font-weight:700}.booking-dates-line{background:linear-gradient(to right, var(--green-200), var(--green-400), var(--green-200));border-radius:1px;width:100%;height:2px;margin-top:4px}.booking-date-computed{color:var(--text-primary);background:var(--bg-card);border:1.5px solid var(--green-200);border-radius:var(--radius-input);align-items:center;min-height:35px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.booking-form-actions{border-top:1px solid var(--neutral-200);justify-content:flex-end;gap:8px;margin-top:24px;padding-top:18px;display:flex}@media (width<=420px){.app-topbar-title,.app-topbar-divider,.app-topbar-badge{display:none}.g2,.g3,.config-bar{grid-template-columns:1fr}.total-bar{grid-template-columns:1fr 1fr}.card{padding:15px 16px}.quote-toolbar{flex-direction:column;align-items:stretch;gap:8px}.quote-toolbar-left,.quote-toolbar-right{justify-content:space-between}.quote-list-header{flex-direction:column;align-items:flex-start;gap:12px}.quote-list-filters{flex-direction:column;align-items:stretch}.quote-filter-tabs{overflow-x:auto}.quote-search{width:100%}.quote-card-footer{flex-direction:column;align-items:flex-start;gap:8px}.quote-card-actions{justify-content:flex-end;width:100%}.booking-form-overlay{padding:20px 10px}.booking-form{padding:20px 18px}.booking-pax-fields{grid-template-columns:1fr 1fr}.booking-pax-contact{grid-template-columns:1fr}.status-timeline-label{display:none}}@keyframes flash-highlight{0%{background:0 0;box-shadow:0 0 #1a5e3800}20%{background:#1a5e380a;box-shadow:0 0 0 6px #1a5e3840}to{background:0 0;box-shadow:0 0 #1a5e3800}}.flash-highlight{animation:1.8s ease-out flash-highlight}@keyframes chat-badge-pulse{0%{box-shadow:0 2px 6px #dc262673,0 0 #dc262699}70%{box-shadow:0 2px 6px #dc262673,0 0 0 10px #dc262600}to{box-shadow:0 2px 6px #dc262673,0 0 #dc262600}}.chat-badge-pulse{animation:2s ease-out infinite chat-badge-pulse;box-shadow:0 2px 6px #dc262673}@media (prefers-reduced-motion:reduce){.chat-badge-pulse{animation:none}}@media (width<=640px) and (width>=421px){.g2,.g3{grid-template-columns:1fr 1fr}.card{padding:18px}.config-bar{grid-template-columns:1fr 1fr}.status-timeline-label{letter-spacing:.02em!important;font-size:9px!important}}@media (width<=768px){.card{word-break:break-word}}.ap-ticket{border:1px solid var(--border);background:#fff;border-radius:14px;flex-direction:row;margin-bottom:14px;transition:box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:visible;box-shadow:0 2px 10px #2d231414,0 1px 3px #2d23140d}.ap-ticket:hover{transform:translateY(-1px);box-shadow:0 6px 22px #2d23141c,0 2px 6px #2d231412}.ap-ticket-stub{border-radius:14px 0 0 14px;flex-direction:column;flex-shrink:0;gap:10px;width:136px;min-width:136px;padding:18px 14px;display:flex;position:relative}.ap-ticket-perf{background-image:repeating-linear-gradient(to bottom, var(--neutral-300) 0px, var(--neutral-300) 5px, transparent 5px, transparent 10px);flex-shrink:0;align-self:stretch;width:1px;margin:14px 0;position:relative}.ap-ticket-perf:before,.ap-ticket-perf:after{content:"";background:var(--bg-page);border:1px solid var(--neutral-300);border-radius:50%;width:14px;height:14px;position:absolute;left:50%;transform:translate(-50%)}.ap-ticket-perf:before{top:-14px}.ap-ticket-perf:after{bottom:-14px}.ap-ticket-body{border-radius:0 14px 14px 0;flex-direction:column;flex:1;gap:0;min-width:0;padding:16px 18px;display:flex}.ap-ticket-number{color:var(--text-primary);letter-spacing:.06em;text-transform:uppercase;word-break:break-all;font-size:11px;font-weight:800;line-height:1.2}.ap-ticket-dates{color:var(--text-primary);margin-top:auto;font-size:12px;font-weight:700;line-height:1.4}.ap-ticket-dates-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:2px;font-size:9px;font-weight:700}.ap-ticket-route{flex-wrap:wrap;align-items:center;gap:4px 0;margin-bottom:10px;display:flex}.ap-ticket-route-stop{align-items:center;gap:4px;display:inline-flex}.ap-ticket-route-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ap-ticket-route-dot--main{background:var(--green-600);box-shadow:0 0 0 2px var(--green-100)}.ap-ticket-route-dot--faded{background:var(--neutral-300)}.ap-ticket-route-connector{background:var(--neutral-200);flex-shrink:0;width:18px;height:2px;margin:0 2px}.ap-ticket-route-connector--last{background:var(--green-200)}.ap-ticket-price{color:var(--green-700);letter-spacing:-.02em;font-family:DM Serif Display,serif;font-size:28px;font-weight:400;line-height:1}.ap-ticket-actions{border-top:1px solid var(--neutral-100);flex-wrap:wrap;gap:7px;margin-top:12px;padding-top:12px;display:flex}.ap-ticket-divider{background:var(--neutral-100);height:1px;margin:10px 0}@media (width<=600px){.ap-ticket{border-radius:12px;flex-direction:column}.ap-ticket-stub{border-radius:12px 12px 0 0;flex-flow:wrap;align-items:center;gap:8px 14px;width:100%;min-width:0;padding:12px 14px}.ap-ticket-dates{margin-top:0}.ap-ticket-perf{background-image:repeating-linear-gradient(to right, var(--neutral-300) 0px, var(--neutral-300) 5px, transparent 5px, transparent 10px);align-self:auto;width:auto;height:1px;margin:0 14px}.ap-ticket-perf:before,.ap-ticket-perf:after{top:50%;left:auto;transform:translateY(-50%)}.ap-ticket-perf:before{left:-14px}.ap-ticket-perf:after{left:auto;right:-14px}.ap-ticket-body{border-radius:0 0 12px 12px;padding:14px}.ap-ticket-price{font-size:24px}}@keyframes ap-ticket-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ap-ticket{animation:.28s cubic-bezier(.16,1,.3,1) both ap-ticket-in}@media (prefers-reduced-motion:reduce){.ap-ticket{transition:none;animation:none}.ap-ticket:hover{transform:none}}
