:root { --ai-border: rgba(151, 177, 211, .17); --ai-muted: #91a4bd; --ai-blue: #4ca8ff; }
.assistant-shell { min-height: calc(100dvh - 5rem); display: grid; grid-template-columns: 17rem minmax(0, 1fr) 20rem; }
.assistant-history { min-width: 0; padding: 1.4rem 1rem; border-right: 1px solid var(--ai-border); background: rgba(4, 11, 21, .7); display: flex; flex-direction: column; gap: 1rem; }
.assistant-history__brand { display: flex; align-items: center; gap: .5rem; height: 2rem; }
.assistant-history__brand img { width: 7rem; max-height: 1.7rem; object-fit: contain; filter: brightness(0) invert(1); }
.assistant-history__brand span { color: var(--ai-blue); font-weight: 800; font-size: .75rem; }
.assistant-history__new { width: 100%; border: 1px solid rgba(76,168,255,.35); border-radius: .8rem; color: #eaf2ff; background: rgba(31,116,206,.12); padding: .75rem; text-align: left; font-weight: 700; }
.assistant-history__list { display: grid; gap: .35rem; overflow-y: auto; }
.assistant-history__item { border: 0; border-radius: .7rem; padding: .65rem .7rem; background: transparent; color: #a9b8cc; display: grid; gap: .2rem; text-align: left; }
.assistant-history__item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.assistant-history__item time { font-size: .7rem; color: #687a93; }
.assistant-history__item:hover,.assistant-history__item.is-active { color: #fff; background: rgba(255,255,255,.07); }
.assistant-history__privacy { margin-top: auto; color: #61738a; font-size: .72rem; line-height: 1.45; }
.assistant-shell__main { min-width: 0; display: grid; grid-template-rows: auto 1fr auto; max-height: calc(100dvh - 5rem); }
.assistant-shell__header { min-height: 4.5rem; padding: .8rem 1.25rem; border-bottom: 1px solid var(--ai-border); display: flex; justify-content: space-between; align-items: center; background: rgba(8,17,31,.72); backdrop-filter: blur(18px); }
.assistant-history__mobile-toggle,.assistant-history__mobile-close,.assistant-history__backdrop{display:none}
.assistant-shell__identity { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.assistant-shell__identity img { width: 2.4rem; height: 2.4rem; object-fit: contain; }
.assistant-shell__identity span { display: block; color: var(--ai-blue); font-size: .67rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.assistant-shell__identity h1 { margin: .15rem 0 0; color: #f7faff; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.assistant-shell__classic-link { color: #a8bad1; text-decoration: none; font-size: .8rem; }
.assistant-stream { overflow-y: auto; padding: clamp(1.25rem, 4vw, 3.5rem) clamp(1rem, 6vw, 5rem) 2rem; scroll-behavior: smooth; }
.assistant-welcome { max-width: 46rem; margin: 5dvh auto; text-align: center; }
.assistant-welcome__eyebrow { color: #58b2ff; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.assistant-welcome h2 { margin: .8rem 0; font-size: clamp(2rem, 5vw, 3.5rem); letter-spacing: -.045em; color: #f8fbff; }
.assistant-welcome > p { margin: 0 auto 2rem; max-width: 38rem; color: var(--ai-muted); line-height: 1.65; }
.assistant-welcome__prompts { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; }
.assistant-welcome__prompts button { min-height: 6.5rem; padding: 1rem; color: #dfeaff; background: rgba(17,34,56,.75); border: 1px solid var(--ai-border); border-radius: 1rem; text-align: left; display: flex; justify-content: space-between; align-items: end; }
.assistant-welcome__prompts button:hover { border-color: rgba(76,168,255,.55); transform: translateY(-2px); }
.assistant-welcome__trust { margin-top: 1.5rem; display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem; color: #70849d; font-size: .72rem; }
.assistant-message { max-width: 50rem; margin: 0 auto 1.2rem; display: flex; gap: .7rem; }
.assistant-message--user { justify-content: flex-end; }
.assistant-message__bubble { max-width: min(80%, 37rem); padding: .85rem 1rem; border-radius: 1rem 1rem .25rem 1rem; background: linear-gradient(135deg,#1976d2,#2555b8); box-shadow: 0 12px 35px rgba(0,74,166,.22); }
.assistant-message p { white-space: pre-wrap; margin: 0; line-height: 1.62; }
.assistant-message__avatar { flex: 0 0 2rem; width: 2rem; height: 2rem; border-radius: .65rem; display: grid; place-items: center; background: rgba(56,155,255,.13); border: 1px solid rgba(76,168,255,.24); }
.assistant-message__avatar img { width: 1.55rem; height: 1.55rem; object-fit: contain; }
.assistant-message__body { color: #dbe6f6; padding-top: .25rem; }
.assistant-message__body time { display: block; margin-top: .55rem; color: #647891; font-size: .65rem; }
.assistant-message--warning .assistant-message__body { padding: 1rem; border: 1px solid rgba(245,158,11,.35); background: rgba(120,70,4,.14); border-radius: .8rem; }
.assistant-message__safety { display: block; color: #f7bb55; margin-bottom: .45rem; }
.assistant-message__actions,.assistant-provider-card__actions { display: flex; gap: .5rem; margin-top: .8rem; }
.assistant-message__actions a,.assistant-provider-card__actions a,.assistant-provider-card__actions button { border: 1px solid rgba(76,168,255,.35); border-radius: .55rem; padding: .5rem .7rem; color: #baddff; background: rgba(38,113,196,.1); text-decoration: none; font-size: .78rem; }
.assistant-tool-result { max-width: 50rem; margin: .4rem auto 1.3rem; }
.assistant-tool-result__status { display: flex; gap: .45rem; align-items: center; color: #7f94ad; font-size: .73rem; }
.assistant-tool-result__status > span:first-child { color: #42d392; }
.assistant-research-sources{margin-top:.7rem;padding:.75rem;border:1px solid var(--ai-border);border-radius:.75rem;background:rgba(15,29,49,.65)}
.assistant-research-sources h3{margin:0 0 .45rem;color:#cfe2f8;font-size:.78rem}.assistant-research-sources ol{margin:0;padding-left:1.2rem}.assistant-research-sources li{padding:.3rem;color:#7890a9}.assistant-research-sources a{color:#76bcff;font-size:.78rem}.assistant-research-sources p{margin:.25rem 0 0;color:#8fa2ba;font-size:.7rem;line-height:1.45}
.assistant-provider-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; margin-top: .65rem; }
.assistant-provider-card { min-width: 0; padding: 1rem; border-radius: .9rem; background: rgba(15,29,49,.9); border: 1px solid var(--ai-border); }
.assistant-provider-card__topline { display: flex; justify-content: space-between; color: #7f94ad; font-size: .72rem; }
.assistant-provider-card__topline strong { color: #f7c760; }
.assistant-provider-card h3 { margin: .55rem 0; font-size: 1rem; color: #f2f7ff; }
.assistant-provider-card > p { color: #91a4bd; font-size: .78rem; line-height: 1.5; }
.assistant-provider-card__chips { display: flex; flex-wrap: wrap; gap: .3rem; }
.assistant-provider-card__chips span { padding: .22rem .4rem; border-radius: .35rem; background: rgba(255,255,255,.055); color: #8ca2be; font-size: .65rem; }
.assistant-provider-card__actions button { cursor: pointer; background: #1976d2; color: white; }
.assistant-thinking { max-width: 50rem; margin: 0 auto; display: flex; align-items: center; gap: .3rem; color: #8ea1ba; font-size: .75rem; }
.assistant-thinking > span { width: .35rem; height: .35rem; border-radius: 50%; background: #58b2ff; animation: ai-pulse 1.2s infinite alternate; }
.assistant-thinking > span:nth-child(2){animation-delay:.2s}.assistant-thinking > span:nth-child(3){animation-delay:.4s}
.assistant-thinking strong { margin-left: .4rem; }.assistant-thinking small { color:#647891; }
@@keyframes ai-pulse { to { opacity:.2; transform:translateY(-3px); } }
.assistant-composer-wrap { padding: .75rem clamp(1rem,6vw,5rem) 1rem; background: linear-gradient(transparent,rgba(7,16,29,.96) 25%); }
.assistant-composer { max-width: 50rem; margin: 0 auto; display: flex; align-items: end; gap: .65rem; padding: .65rem; border-radius: 1rem; border: 1px solid rgba(91,160,232,.32); background: rgba(13,27,46,.94); box-shadow: 0 18px 60px rgba(0,0,0,.28); }
.assistant-composer textarea { flex: 1; min-height: 2.4rem; max-height: 9rem; resize: vertical; color: #edf5ff; background: transparent; border: 0; outline: 0; padding: .5rem; }
.assistant-composer__send,.assistant-composer__stop { border: 0; border-radius: .75rem; min-width: 2.7rem; min-height: 2.7rem; color: #fff; background: linear-gradient(135deg,#2497ef,#2459d7); font-weight: 800; }
.assistant-composer__stop { padding-inline: .8rem; background: rgba(255,255,255,.12); }
.assistant-composer-wrap > p { max-width: 50rem; margin: .45rem auto 0; text-align: center; color: #586b83; font-size: .65rem; }
.assistant-shell__error { margin: 0 2rem .5rem; padding: .7rem; border-radius: .6rem; background: rgba(176,38,48,.13); border: 1px solid rgba(255,92,101,.25); color:#ffb1b6; }
.assistant-shell__error p { margin: .2rem 0 0; }
.assistant-shell__error button{margin-top:.55rem;border:1px solid rgba(255,177,182,.35);border-radius:.5rem;padding:.4rem .65rem;color:#ffd8da;background:rgba(255,255,255,.05)}
.assistant-shell__context { padding: 1rem; overflow-y: auto; border-left: 1px solid var(--ai-border); background: rgba(4,11,21,.58); }
.assistant-context-empty { margin-top: 22dvh; text-align: center; color: #72869f; }
.assistant-context-empty__mark { display: grid; place-items: center; margin: 0 auto 1rem; width: 3rem; height: 3rem; border-radius: 50%; background: rgba(76,168,255,.1); color: #58b2ff; }
.assistant-context-empty h2 { color: #cdd9e9; font-size: 1rem; }
.assistant-context-empty p { line-height: 1.55; font-size: .78rem; }
.assistant-booking { padding: 1rem; border-radius: 1rem; background: rgba(14,29,49,.82); border: 1px solid var(--ai-border); }
.assistant-booking__header > span { color:#58b2ff;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em; }
.assistant-booking__header h2 { margin:.5rem 0;font-size:1.15rem; }.assistant-booking__header p { color:#8397b0;font-size:.76rem;line-height:1.5; }
.assistant-booking__provider { margin:.8rem 0; padding:.65rem; display:flex;gap:.6rem;background:rgba(47,186,127,.08);border:1px solid rgba(47,186,127,.2);border-radius:.7rem; }
.assistant-booking__provider > span { color:#42d392; }.assistant-booking__provider div { min-width:0;display:grid; }.assistant-booking__provider small {color:#7890a9}.assistant-booking__provider strong{font-size:.7rem;overflow:hidden;text-overflow:ellipsis}
.assistant-booking label { display:grid; gap:.35rem; margin-top:.75rem; color:#9aadc4;font-size:.72rem; }
.assistant-booking input,.assistant-booking select,.assistant-booking textarea { width:100%; padding:.65rem; color:#e8f1ff;background:#0a1728;border:1px solid var(--ai-border);border-radius:.6rem; }
.assistant-booking__auth,.assistant-booking__review,.assistant-booking__errors,.assistant-booking__success { margin-top:.8rem;padding:.8rem;border-radius:.7rem;background:rgba(255,255,255,.045);font-size:.76rem; }
.assistant-booking__auth p,.assistant-booking__review p{color:#8fa2ba}.assistant-booking__auth a,.assistant-booking__success a{color:#72baff}.assistant-booking__success div{display:flex;gap:.7rem;margin-top:.5rem}
.assistant-booking__errors{color:#ffb0b5;border:1px solid rgba(255,92,101,.2)}.assistant-booking__errors ul{padding-left:1rem;margin:.4rem 0 0}
.assistant-booking__validate,.assistant-booking__review button { width:100%;margin-top:.9rem;padding:.7rem;border:0;border-radius:.65rem;color:#fff;background:linear-gradient(135deg,#238fe9,#2454ce);font-weight:750; }
@media(max-width:1100px){.assistant-shell{grid-template-columns:4.5rem minmax(0,1fr) 18rem}.assistant-history{padding:1rem .55rem}.assistant-history__brand img,.assistant-history__brand span,.assistant-history__new:not(:focus) {font-size:0}.assistant-history__brand{justify-content:center}.assistant-history__new{text-align:center}.assistant-history__item span,.assistant-history__item time,.assistant-history__privacy{display:none}}
@media(max-width:820px){.assistant-shell{display:block}.assistant-history{display:flex;position:fixed;inset:0 auto 0 0;width:min(19rem,88vw);z-index:32;transform:translateX(-105%);transition:transform .2s ease;padding:1rem;background:#071321}.assistant-history.is-mobile-open{transform:translateX(0)}.assistant-history__brand img,.assistant-history__brand span,.assistant-history__new:not(:focus){font-size:initial}.assistant-history__brand{justify-content:flex-start}.assistant-history__item span,.assistant-history__item time,.assistant-history__privacy{display:block}.assistant-history__mobile-close{display:block;margin-left:auto;border:0;background:transparent;color:#dbe7f7;font-size:1.5rem}.assistant-history__mobile-toggle{display:block;flex:0 0 auto;border:0;background:transparent;color:#dbe7f7;font-size:1.2rem}.assistant-history__backdrop{display:block;position:fixed;inset:0;z-index:31;border:0;background:rgba(0,0,0,.58)}.assistant-shell__main{max-height:none;min-height:calc(100dvh - 5rem)}.assistant-shell__context{border-left:0;border-top:1px solid var(--ai-border)}.assistant-shell__context--empty{display:none}.assistant-stream{min-height:55dvh;padding:1.25rem .8rem 1rem}.assistant-welcome{margin:2dvh auto}.assistant-welcome__prompts{grid-template-columns:1fr}.assistant-welcome__prompts button{min-height:4rem}.assistant-provider-grid{grid-template-columns:1fr}.assistant-composer-wrap{position:sticky;bottom:0;padding:.6rem}.assistant-shell__header{position:sticky;top:0;z-index:5}.assistant-shell__classic-link{display:none}}
@media(max-width:360px){.assistant-message__bubble{max-width:90%}.assistant-shell__header{padding-inline:.65rem}.assistant-booking{padding:.75rem}}
@media(max-width:320px){.assistant-shell__header{gap:.45rem}.assistant-shell__identity img{width:2rem;height:2rem}.assistant-stream{padding-inline:.55rem}.assistant-composer{gap:.35rem}.assistant-composer textarea{padding-inline:.25rem}.carabout-ai-widget__panel{width:calc(100vw - .7rem)}}
@media(prefers-reduced-motion:reduce){.assistant-thinking>span{animation:none}.assistant-welcome__prompts button,.assistant-history{transition:none}}
.carabout-ai-widget { position:fixed; right:1.2rem; bottom:1.2rem; z-index:1050; display:grid; justify-items:end; gap:.65rem; }
.carabout-ai-widget__trigger { display:flex;align-items:center;gap:.55rem;padding:.55rem .8rem;border-radius:999px;border:1px solid rgba(91,170,255,.38);background:#0d1b2f;color:#eaf3ff;box-shadow:0 15px 45px rgba(0,0,0,.4);font-weight:750; }
.carabout-ai-widget__trigger img { width:1.75rem;height:1.75rem;object-fit:contain; }.carabout-ai-widget__panel{width:min(23rem,calc(100vw - 1.5rem));height:min(34rem,calc(100dvh - 8rem));display:grid;grid-template-rows:auto 1fr auto auto;border:1px solid rgba(91,170,255,.28);border-radius:1rem;background:#0a1627;color:#e9f2ff;box-shadow:0 25px 80px rgba(0,0,0,.56);overflow:hidden}
.carabout-ai-widget__panel header{padding:.75rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ai-border)}.carabout-ai-widget__panel header>div{display:flex;gap:.55rem;align-items:center}.carabout-ai-widget__panel header img{width:2rem;height:2rem;object-fit:contain}.carabout-ai-widget__panel header span{display:grid}.carabout-ai-widget__panel header small{color:#6f839c}.carabout-ai-widget__panel header button{border:0;background:transparent;color:#9bacc1;font-size:1.4rem}
.carabout-ai-widget__messages{padding:.8rem;overflow-y:auto;display:flex;flex-direction:column;gap:.55rem}.carabout-ai-widget__welcome{margin:auto 0;text-align:center;padding:1rem}.carabout-ai-widget__welcome p{color:#879ab2;font-size:.8rem;line-height:1.5}.carabout-ai-widget__welcome button{border:1px solid rgba(76,168,255,.32);border-radius:.6rem;padding:.55rem;color:#bfe0ff;background:rgba(44,130,220,.1)}.carabout-ai-widget__message{max-width:88%;padding:.65rem;border-radius:.75rem;background:rgba(255,255,255,.06);font-size:.8rem;white-space:pre-wrap}.carabout-ai-widget__message--user{align-self:flex-end;background:#1c66bd}.carabout-ai-widget__typing{color:#70869f;font-size:.72rem}
.carabout-ai-widget__composer{display:flex;gap:.4rem;padding:.65rem;border-top:1px solid var(--ai-border)}.carabout-ai-widget__composer input{flex:1;min-width:0;padding:.6rem;border:1px solid var(--ai-border);border-radius:.6rem;color:#fff;background:#081321}.carabout-ai-widget__composer button{width:2.5rem;border:0;border-radius:.6rem;background:#237bd5;color:#fff}.carabout-ai-widget__full{padding:.55rem;text-align:center;color:#83bdff;text-decoration:none;font-size:.72rem;border-top:1px solid var(--ai-border)}
@media(max-width:600px){.carabout-ai-widget{right:.7rem;bottom:calc(4.6rem + env(safe-area-inset-bottom))}.carabout-ai-widget__trigger span{display:none}.carabout-ai-widget__panel{height:min(33rem,calc(100dvh - 10rem))}}
