.olivia-root { --olivia-navy:#08162c; --olivia-navy-2:#0c2340; --olivia-cream:#faf9f6; --olivia-gold:#c5a46d; font-family:'Montserrat',sans-serif; }
form[hidden] { display:none!important; }
.olivia-launcher { position:fixed; z-index:9998; right:max(18px,env(safe-area-inset-right)); bottom:max(18px,env(safe-area-inset-bottom)); display:flex; align-items:center; gap:10px; min-height:56px; padding:0 20px; border:1px solid rgba(250,249,246,.22); border-radius:999px; color:var(--olivia-navy); background:var(--olivia-gold); box-shadow:0 12px 34px rgba(0,0,0,.3); font:700 15px/1 'Montserrat',sans-serif; cursor:pointer; }
.olivia-launcher:hover,.olivia-launcher:focus-visible { background:#d2b27b; transform:translateY(-1px); }
.olivia-launcher svg { width:22px; height:22px; fill:currentColor; }
.olivia-panel { position:fixed; z-index:9999; right:max(18px,env(safe-area-inset-right)); bottom:max(18px,env(safe-area-inset-bottom)); width:min(390px,calc(100vw - 36px)); height:min(650px,calc(100svh - 36px)); display:grid; grid-template-rows:auto 1fr auto; overflow:hidden; color:var(--olivia-navy); background:var(--olivia-cream); border:1px solid rgba(197,164,109,.55); border-radius:24px; box-shadow:0 24px 80px rgba(0,0,0,.42); }
.olivia-panel[hidden] { display:none; }
.olivia-header { display:flex; align-items:center; gap:12px; padding:15px 16px; color:var(--olivia-cream); background:var(--olivia-navy); border-bottom:1px solid rgba(197,164,109,.3); }
.olivia-avatar { display:block; flex:0 0 40px; width:40px; height:40px; border:2px solid var(--olivia-gold); border-radius:50%; object-fit:cover; object-position:center; background:var(--olivia-gold); }
.olivia-title { min-width:0; flex:1; }
.olivia-title strong,.olivia-title span { display:block; }
.olivia-title span { margin-top:2px; color:rgba(250,249,246,.72); font-size:12px; }
.olivia-icon-btn { display:grid; place-items:center; width:42px; height:42px; padding:0; border:0; border-radius:50%; color:var(--olivia-cream); background:transparent; font:700 20px/1 sans-serif; cursor:pointer; }
.olivia-icon-btn:hover,.olivia-icon-btn:focus-visible { background:rgba(250,249,246,.1); }
.olivia-log { overflow-y:auto; padding:18px 16px; scroll-behavior:smooth; }
.olivia-message { width:fit-content; max-width:88%; margin:0 0 12px; padding:11px 13px; border-radius:16px; font-size:14px; line-height:1.52; overflow-wrap:anywhere; }
.olivia-message p+p { margin-top:8px; }
.olivia-message strong { font-weight:800; }
.olivia-message a { color:#7b551d; font-weight:700; text-decoration:underline; }
.olivia-message--assistant { background:#fff; border:1px solid rgba(8,22,44,.1); border-bottom-left-radius:5px; }
.olivia-message--user { margin-left:auto; color:var(--olivia-cream); background:var(--olivia-navy-2); border-bottom-right-radius:5px; }
.olivia-suggestions { display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 16px; }
.olivia-chip,.olivia-action { padding:9px 11px; border:1px solid rgba(8,22,44,.2); border-radius:999px; color:var(--olivia-navy); background:#fff; font:600 12px/1.25 'Montserrat',sans-serif; cursor:pointer; text-align:left; }
.olivia-chip:hover,.olivia-chip:focus-visible,.olivia-action:hover,.olivia-action:focus-visible { border-color:var(--olivia-gold); background:#f7f0e4; }
.olivia-typing { display:flex; gap:5px; align-items:center; min-height:42px; }
.olivia-typing i { width:7px; height:7px; border-radius:50%; background:#7f8791; animation:olivia-pulse 1.2s infinite; }
.olivia-typing i:nth-child(2){animation-delay:.15s}.olivia-typing i:nth-child(3){animation-delay:.3s}
@keyframes olivia-pulse { 0%,60%,100%{opacity:.28;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)} }
.olivia-compose { padding:12px; border-top:1px solid rgba(8,22,44,.1); background:#fff; }
.olivia-input-row { display:flex; align-items:flex-end; gap:8px; }
.olivia-input { flex:1; max-height:105px; min-height:44px; resize:none; padding:11px 12px; border:1px solid rgba(8,22,44,.2); border-radius:14px; color:var(--olivia-navy); background:#fff; font:14px/1.4 'Montserrat',sans-serif; }
.olivia-input:focus { outline:3px solid rgba(197,164,109,.25); border-color:var(--olivia-gold); }
.olivia-send { flex:0 0 44px; height:44px; border:0; border-radius:50%; color:var(--olivia-navy); background:var(--olivia-gold); font-size:20px; cursor:pointer; }
.olivia-send:disabled { opacity:.5; cursor:not-allowed; }
.olivia-note { margin-top:7px; color:#59616c; font-size:10px; line-height:1.35; }
.olivia-lead { display:grid; gap:10px; margin:8px 0 16px; padding:14px; border:1px solid rgba(197,164,109,.55); border-radius:16px; background:#fff; }
.olivia-lead label { display:grid; gap:5px; color:var(--olivia-navy); font-size:12px; font-weight:700; }
.olivia-lead input,.olivia-lead select,.olivia-lead textarea { width:100%; padding:9px 10px; border:1px solid rgba(8,22,44,.2); border-radius:10px; color:var(--olivia-navy); background:#fff; font:13px/1.4 'Montserrat',sans-serif; }
.olivia-lead textarea { min-height:70px; resize:vertical; }
.olivia-summary { padding:10px; border-radius:10px; background:#f4efe7; color:#303845; font-size:12px; line-height:1.5; white-space:pre-line; }
.olivia-primary { min-height:42px; padding:9px 14px; border:0; border-radius:999px; color:var(--olivia-navy); background:var(--olivia-gold); font-weight:800; cursor:pointer; }
.olivia-secondary { min-height:40px; padding:8px 12px; border:1px solid rgba(8,22,44,.18); border-radius:999px; color:var(--olivia-navy); background:#fff; font-weight:700; cursor:pointer; }
.olivia-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
@media(max-width:560px){.olivia-launcher{right:12px;bottom:max(12px,env(safe-area-inset-bottom));min-width:56px;padding:0 16px}.olivia-launcher span{display:none}.olivia-panel{inset:0;width:100%;height:100svh;border:0;border-radius:0}.olivia-header{padding-top:max(15px,env(safe-area-inset-top))}.olivia-compose{padding-bottom:max(12px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.olivia-root *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
