:root{font-family:Inter,-apple-system,Segoe UI,sans-serif;color:#f0f0f0;background:#0a0a0a;--ink: #F0F0F0;--ink-2: #A6A6A6;--ink-3: #6E6E6E;--void: #0A0A0A;--surface: #141414;--surface-2: #1C1C1C;--wire: rgba(240,240,240,.12);--wire-2: rgba(240,240,240,.07);--brand: #173d4e;--brand-light: #295468;--signal: #7CFFB2;--signal-dim: rgba(124,255,178,.14);--ok: #4ADE9A;--warn: #E0A542;--danger: #F0665A;--ember: #E8734A;--ember-dim: rgba(232,115,74,.16);--radius-s: 6px;--radius-m: 10px;--shadow-card: 0 1px 0 rgba(240,240,240,.04), 0 2px 8px rgba(0,0,0,.35);--shadow-elevated: 0 1px 0 rgba(240,240,240,.06), 0 8px 24px rgba(0,0,0,.45);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--serif: "Fraunces", Georgia, serif;--sans: "Inter", -apple-system, sans-serif;--mono: "Geist Mono", "SF Mono", monospace}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{border:1px solid var(--wire);border-radius:var(--radius-s);background:var(--surface);color:var(--ink);cursor:pointer;padding:9px 12px}button:disabled{cursor:not-allowed;opacity:.5}button:not(:disabled):hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--surface))}.tabs button:hover,.role-switch button:hover,.chips button:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.service-card:hover{border-color:color-mix(in srgb,var(--signal) 45%,var(--wire));box-shadow:var(--shadow-elevated),0 0 0 1px var(--signal-dim)}.row-button:hover{background:color-mix(in srgb,var(--brand) 4%,var(--surface))}.btn-primary{border-color:var(--brand);background:var(--brand);color:#fff;font-weight:700}.btn-primary:hover{background:var(--brand-light);border-color:var(--brand-light)}.empty-state{display:grid;gap:6px;justify-items:center;padding:var(--space-6) var(--space-4);color:var(--ink-2);text-align:center;font-size:.88rem}.log-ok{color:var(--signal);font-weight:600}.log-error{color:var(--danger);font-weight:600}input,select{width:100%;border:1px solid var(--wire);border-radius:var(--radius-s);background:var(--surface-2);color:var(--ink);padding:9px 10px}.app{min-height:100vh;padding-bottom:48px}.topbar{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:220px 1fr auto;gap:var(--space-4);align-items:center;border-bottom:1px solid var(--wire);background:color-mix(in oklch,var(--surface) 88%,transparent);backdrop-filter:blur(8px);padding:var(--space-3) var(--space-5);box-shadow:var(--shadow-elevated)}.eyebrow{margin:0 0 4px;font-family:var(--mono);color:var(--signal);font-size:.66rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);font-weight:600;font-size:1.7rem;letter-spacing:-.01em;line-height:1.15}h2{font-family:var(--serif);font-weight:600;font-size:1.05rem;letter-spacing:-.005em;line-height:1.2}h3{font-family:var(--mono);color:var(--ink-2);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.tabs,.role-switch,.chips,.actions,.inline,.status-row{display:flex;flex-wrap:wrap;gap:8px}.tabs button,.role-switch button,.chips button{background:transparent}.chips button{border-radius:999px;padding:5px 12px;font-size:.82rem}.active,.tabs .active,.role-switch .active,.chips .active{border-color:var(--brand-light);background:var(--brand);color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--signal) 30%,transparent)}main{padding:var(--space-5)}.builder-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.2fr);gap:16px}.panel,.quote{border:1px solid var(--wire);border-radius:var(--radius-m);background:var(--surface);padding:var(--space-4);box-shadow:var(--shadow-card)}.panel-head,.quote-head,.timeline-item,.service-card,.quote-day article,.profit-row,.row-button{display:flex;gap:14px;align-items:center;justify-content:space-between}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:14px}label{display:grid;gap:5px;color:var(--ink-2);font-size:.82rem;font-weight:700}.catalog,.logs,.timeline,.quote,.dashboard,.integrations{display:grid;gap:12px}.catalog{max-height:620px;overflow:auto;margin-top:12px}.service-card,.timeline-item{border:1px solid var(--wire);border-radius:var(--radius-m);padding:12px}.service-card{box-shadow:var(--shadow-card)}.service-card div,.timeline-item div,.row-button span{display:grid;gap:4px}small,.service-card span,.timeline-item span,.quote-head span,.logs span{color:var(--ink-2)}.money{min-width:180px;text-align:right}.money em{color:var(--warn);font-style:normal;font-weight:800}.money em.esaurito{color:var(--danger);font-weight:800}.money b{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums}.money span{font-variant-numeric:tabular-nums;font-size:.78rem}.badge{display:inline-flex;align-items:center;gap:5px;width:fit-content;border-radius:4px;padding:4px 9px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--wire);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge.confermata{background:color-mix(in srgb,var(--ok) 16%,var(--surface-2));color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 40%,transparent)}.badge.annullata,.issue.errore{background:color-mix(in srgb,var(--danger) 16%,var(--surface-2));color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 40%,transparent)}.issue.warning{background:color-mix(in srgb,var(--warn) 16%,var(--surface-2));color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent)}.issue,.ok{border-radius:var(--radius-m);padding:12px}.ok{background:var(--signal-dim);color:var(--ok);font-weight:800}.timeline{grid-column:1 / 2}.coherence{align-self:start;border:1px solid var(--wire);border-left:3px solid var(--warn);background:var(--surface);box-shadow:var(--shadow-elevated)}.coherence h2:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--warn);box-shadow:0 0 8px color-mix(in srgb,var(--warn) 60%,transparent);margin-right:8px}.coherence:has(.issue.errore){border-left-color:var(--danger)}.coherence:has(.issue.errore) h2:before{background:var(--danger);box-shadow:0 0 8px color-mix(in srgb,var(--danger) 60%,transparent)}.coherence:has(.ok):not(:has(.issue)){border-left-color:var(--signal)}.day{display:grid;gap:8px}.quote{max-width:900px;margin:0 auto;border-top:3px solid var(--brand)}.quote-day{display:grid;gap:8px;padding-top:12px}.quote-day article{border-bottom:1px solid var(--wire);padding:8px 0}.quote-total{display:grid;justify-items:end;gap:6px;padding-top:18px;font-size:1.1rem}.table{display:grid;gap:8px;margin-top:14px}.row-button{width:100%;text-align:left}.dashboard{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.metric b{display:block;margin-top:8px;color:var(--ink);font-size:2.25rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.chart{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:110px 1fr 110px;gap:10px;align-items:center;font-size:.88rem}.bar-row div{height:12px;border-radius:999px;background:var(--surface-2);overflow:hidden}.bar-row i{display:block;height:100%;border-radius:inherit;background:var(--brand-light)}.bar-row.bar-peak i{background:var(--signal)}.integrations,.logs{background:var(--surface);border:1px solid var(--wire);border-radius:var(--radius-m);padding:var(--space-4)}.logs article{display:grid;gap:6px;background:var(--surface-2);border:1px solid var(--wire-2);border-radius:7px;padding:12px}code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}footer{position:fixed;right:0;bottom:0;left:0;border-top:1px solid var(--wire);background:var(--void);color:var(--ink-3);padding:8px 24px;font-size:.72rem;text-align:center;letter-spacing:.01em}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.booking-three-pane{display:grid;grid-template-columns:260px minmax(300px,1fr) minmax(320px,1fr) minmax(360px,1.3fr);gap:14px;align-items:start;height:calc(100vh - 160px);min-height:560px}.pane{border:1px solid var(--wire);border-radius:var(--radius-m);background:var(--surface);box-shadow:var(--shadow-card);padding:var(--space-4);height:100%;overflow:auto;display:grid;gap:12px;align-content:start}.pane-filters{gap:14px}.filters-head{display:grid;gap:10px}.hero-globe{width:100%;aspect-ratio:1 / 1;max-height:160px;border-radius:var(--radius-m);overflow:hidden;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--brand) 22%,transparent),transparent 70%)}.hero-globe canvas{display:block;width:100%!important;height:100%!important}.hero-globe-static svg{width:100%;height:100%}.hero-globe-placeholder{background:var(--surface-2)}.zoom-out-btn{justify-self:start}.results-count{color:var(--ink-2);font-size:.78rem;font-family:var(--mono)}.pane-results{padding:0}.result-list{display:grid;gap:10px;padding:var(--space-4);overflow:auto}.result-card{display:grid;gap:6px;border:1px solid var(--wire);border-radius:var(--radius-m);padding:12px;cursor:pointer;background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.result-card:hover,.result-card:focus-visible{border-color:color-mix(in srgb,var(--signal) 45%,var(--wire));box-shadow:var(--shadow-elevated),0 0 0 1px var(--signal-dim);transform:translateY(-1px)}.result-card-active{border-color:var(--signal);box-shadow:0 0 0 2px var(--signal-dim)}.result-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.stars{color:var(--warn);font-size:.78rem;letter-spacing:.05em}.result-card-meta{color:var(--ink-2);font-size:.8rem}.result-card-price{font-family:var(--serif);font-style:italic;font-weight:600;font-size:1.05rem;font-variant-numeric:tabular-nums;justify-self:end}.pane-detail{gap:14px}.detail-content{display:grid;gap:14px}.detail-meta{color:var(--ink-2);font-size:.85rem}.room-types,.cancellation-policy{display:grid;gap:8px;border-top:1px solid var(--wire);padding-top:12px}.room-types h3,.cancellation-policy h3{margin-bottom:2px}.room-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;font-size:.85rem}.refundable-yes{color:var(--ok);font-size:.72rem;font-weight:700;text-transform:uppercase}.refundable-no{color:var(--danger);font-size:.72rem;font-weight:700;text-transform:uppercase}.cancellation-policy p{color:var(--ink-2);font-size:.84rem;line-height:1.4}.detail-price-row{display:grid;justify-items:end;gap:4px;border-top:1px solid var(--wire);padding-top:12px}.detail-net{color:var(--ink-2);font-size:.78rem}.detail-price{font-family:var(--serif);font-style:italic;font-size:2.1rem;font-weight:600;letter-spacing:-.01em;color:var(--ember);font-variant-numeric:tabular-nums;display:inline-block}.add-to-itinerary{width:100%;border-color:var(--ember);background:var(--ember);color:#1c1008}.add-to-itinerary:hover:not(:disabled){background:color-mix(in srgb,var(--ember) 82%,white);border-color:color-mix(in srgb,var(--ember) 82%,white)}.pane-map{padding:0;overflow:hidden;display:block;position:relative}.map-canvas{position:absolute;inset:0;width:100%;height:100%;min-height:400px}.map-marker{width:16px;height:16px;border-radius:50%;background:var(--brand-light);border:2px solid var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-light) 25%,transparent);cursor:pointer;transition:transform .15s ease,background .15s ease}.map-marker:hover,.map-marker-active{background:var(--signal);box-shadow:0 0 0 5px var(--signal-dim);transform:scale(1.35)}.route-stop-marker{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--ember);border:2px solid var(--void);box-shadow:0 0 0 3px var(--ember-dim),var(--shadow-elevated);color:#1c1008;font-family:var(--serif);font-weight:700;font-size:.82rem;cursor:default}.maplibregl-map{width:100%;height:100%}@media(max-width:1400px){.booking-three-pane{grid-template-columns:220px minmax(260px,1fr) minmax(280px,1fr);height:auto}.pane-map{grid-column:1 / -1;min-height:420px}}@media(max-width:980px){.topbar,.builder-grid{grid-template-columns:1fr}.booking-three-pane{grid-template-columns:1fr;height:auto}.pane{height:auto;max-height:480px}.pane-map,.timeline{grid-column:auto}.panel-head,.service-card,.timeline-item,.row-button{align-items:stretch;flex-direction:column}.money{text-align:left}}.itinerary-map-view{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.4fr);gap:16px;height:calc(100vh - 160px);min-height:560px}.itinerary-stops-panel{display:grid;grid-template-rows:auto auto 1fr;gap:14px;border:1px solid var(--wire);border-radius:var(--radius-m);background:var(--surface);box-shadow:var(--shadow-card);padding:var(--space-4);overflow:hidden}.itinerary-header{display:grid;gap:10px}.itinerary-price-row{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--wire);padding-top:10px}.itinerary-price{font-family:var(--serif);font-style:italic;font-size:1.5rem;font-weight:600;color:var(--ember);font-variant-numeric:tabular-nums}.itinerary-controls{display:flex;gap:8px}.itinerary-controls button{flex:1}.itinerary-stop-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;overflow:auto}.itinerary-stop-item{width:100%;display:flex;align-items:center;gap:12px;border:1px solid var(--wire);border-radius:var(--radius-m);padding:10px 12px;background:var(--surface);cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.itinerary-stop-item:hover{border-color:color-mix(in srgb,var(--ember) 45%,var(--wire))}.itinerary-stop-active{border-color:var(--ember);box-shadow:0 0 0 2px var(--ember-dim)}.itinerary-stop-number{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--ember);color:#1c1008;font-family:var(--serif);font-weight:700;font-size:.8rem;flex-shrink:0}.itinerary-stop-info{display:grid;gap:2px;flex:1}.itinerary-stop-info small{color:var(--ink-2)}.itinerary-map-canvas{border:1px solid var(--wire);border-radius:var(--radius-m);overflow:hidden;position:relative}.itinerary-map-canvas .map-canvas{position:absolute;inset:0}@media(max-width:980px){.itinerary-map-view{grid-template-columns:1fr;height:auto}.itinerary-stops-panel{height:auto;max-height:480px}.itinerary-map-canvas{min-height:420px}}.quote-actions{max-width:900px;margin:0 auto 12px;display:flex;justify-content:flex-end}.presentation-overlay{position:fixed;inset:0;z-index:100;background:#050505;color:#fff;display:grid;grid-template-rows:auto 1fr auto;padding:var(--space-6) var(--space-5)}.presentation-close{position:absolute;top:var(--space-5);right:var(--space-5);background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.85rem}.presentation-close:hover{border-color:var(--ember);background:transparent}.presentation-progress{display:flex;justify-content:center;gap:8px;padding-top:4px}.presentation-dot{width:8px;height:8px;border-radius:50%;background:#ffffff40}.presentation-dot-active{background:var(--ember);box-shadow:0 0 0 4px var(--ember-dim)}.presentation-content{display:flex;align-items:center;justify-content:center;overflow:hidden}.presentation-chapter{max-width:780px;width:100%;display:grid;gap:var(--space-5);text-align:center;justify-items:center}.presentation-eyebrow{font-family:var(--mono);color:var(--ember);letter-spacing:.14em;text-transform:uppercase;font-size:.85rem}.presentation-chapter h1{font-family:var(--serif);font-size:clamp(2.4rem,6vw,4.5rem);font-weight:600;letter-spacing:-.01em;color:#fff}.presentation-items{display:grid;gap:14px;width:100%;max-width:560px}.presentation-item{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:12px;font-size:1.3rem}.presentation-item-time{font-family:var(--mono);color:#fff9;font-size:1rem}.presentation-running-total{display:grid;gap:4px;font-size:1.1rem;color:#ffffffb3}.presentation-running-total b{font-family:var(--serif);font-style:italic;font-size:2rem;color:var(--ember)}.presentation-closing{gap:var(--space-4)}.presentation-closing-meta{font-size:1.2rem;color:#ffffffbf}.presentation-total{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(3rem,9vw,6rem);color:var(--ember)}.presentation-closing-note{font-family:var(--mono);color:#fff6;font-size:.85rem}.presentation-nav{display:flex;justify-content:space-between;padding:0 var(--space-4)}.presentation-nav button{width:56px;height:56px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.6rem}.presentation-nav button:not(:disabled):hover{background:var(--ember);border-color:var(--ember);color:#1c1008}@media(max-width:640px){.presentation-chapter h1{font-size:clamp(1.8rem,8vw,3rem)}.presentation-item{font-size:1.05rem}}.copilot-chiara{border:1px solid var(--wire);border-radius:var(--radius-m);background:var(--surface);box-shadow:var(--shadow-card);padding:var(--space-4);margin-bottom:var(--space-4);display:grid;gap:14px}.copilot-head{display:grid;gap:4px}.copilot-eyebrow{font-family:var(--mono);color:var(--ember);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem}.copilot-hint{color:var(--ink-2);font-size:.85rem}.copilot-form{display:flex;gap:10px}.copilot-form input{flex:1}.copilot-examples{display:flex;flex-wrap:wrap;gap:6px}.copilot-example-chip{background:var(--surface-2);border:1px solid var(--wire);border-radius:999px;padding:5px 12px;font-size:.76rem;color:var(--ink-2)}.copilot-example-chip:hover{border-color:var(--ember);color:var(--ink)}.copilot-result{display:grid;gap:12px;border-top:1px solid var(--wire);padding-top:12px}.copilot-chips{display:flex;flex-wrap:wrap;gap:8px}.copilot-chip{border-radius:999px;padding:6px 14px;font-size:.8rem;border:1px solid var(--wire);background:var(--surface-2)}.copilot-chip b{font-weight:700;margin-right:4px}.copilot-chip-ok{border-color:color-mix(in srgb,var(--signal) 45%,var(--wire));color:var(--signal)}.copilot-chip-ok b{color:var(--ink)}.copilot-chip-warning{border-color:color-mix(in srgb,var(--warn) 45%,var(--wire));color:var(--warn)}.copilot-chip-warning b{color:var(--ink)}.copilot-compose-btn{justify-self:start}.copilot-fallback{color:var(--ink-2);font-size:.88rem;font-style:italic}@media print{.topbar,footer,button,.coherence{display:none!important}main{padding:0}.quote{border:0}body,.quote{background:#fff!important;color:#1c1f22!important}.quote *{color:#1c1f22!important;background:transparent!important}.quote{border-top-color:#173d4e!important}.presentation-overlay,.copilot-chiara{display:none!important}}
