/* Eryn concierge: text-first smart quote intake with optional voice. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.eryn-launcher{position:fixed;top:50%;right:2px;z-index:118;width:64px;min-width:0;min-height:64px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px;border:1px solid #0b5367;border-radius:8px;background:var(--accent);color:#fff;box-shadow:0 12px 32px rgba(15,23,42,.26);font-family:var(--display);font-size:.94rem;font-weight:700;line-height:1.1;letter-spacing:0;text-align:center;cursor:pointer;transform:translateY(-50%);transition:background .18s ease,box-shadow .18s ease,transform .18s ease}
.eryn-launcher>span:last-child{max-width:3.2em;white-space:normal}
.eryn-launcher:hover{background:var(--accent-deep);box-shadow:0 16px 38px rgba(15,23,42,.3);transform:translateY(calc(-50% - 2px))}
.eryn-launcher:focus-visible{outline:3px solid #67e8f9;outline-offset:3px}
.eryn-launcher[hidden]{display:none}
.eryn-live-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#86efac;box-shadow:0 0 0 4px rgba(134,239,172,.18)}
.eryn-panel{position:fixed;top:50%;right:clamp(18px,3vw,48px);z-index:120;width:min(520px,calc(100vw - 40px));height:min(760px,calc(100dvh - 48px));min-height:580px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 28px 72px rgba(15,23,42,.3);opacity:0;transform:translateY(calc(-50% + 14px));transition:opacity .18s ease,transform .18s ease}
.eryn-panel.is-open{opacity:1;transform:translateY(-50%)}.eryn-panel[hidden]{display:none}
.eryn-panel-head{min-height:70px;display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--primary-deep);color:#fff}
.eryn-avatar{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:var(--accent);font-family:var(--display);font-size:1.08rem;font-weight:700}
.eryn-panel-heading{min-width:0;line-height:1.2}.eryn-panel-heading strong{display:block;font-family:var(--display);font-size:1.08rem;letter-spacing:0}.eryn-panel-heading span{display:block;margin-top:3px;color:#cbd5e1;font-size:.76rem}
.eryn-close{width:40px;height:40px;margin-left:auto;flex:0 0 40px;border:0;border-radius:6px;background:transparent;color:#e2e8f0;font-family:Arial,sans-serif;font-size:1.65rem;line-height:1;cursor:pointer}.eryn-close:hover{background:rgba(255,255,255,.1);color:#fff}.eryn-close:focus-visible{outline:3px solid #67e8f9;outline-offset:1px}
.eryn-mode-tabs{display:grid;grid-template-columns:1fr 1fr;min-height:48px;border-bottom:1px solid var(--border);background:#f8fafc}.eryn-mode-tabs button{min-width:0;padding:10px 8px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--ink-soft);font-family:var(--display);font-size:.84rem;font-weight:600;letter-spacing:0;cursor:pointer}.eryn-mode-tabs button+button{border-left:1px solid var(--border)}.eryn-mode-tabs button[aria-selected="true"]{border-bottom-color:var(--accent);background:#fff;color:var(--primary-deep)}.eryn-mode-tabs button:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.eryn-chat-view,.eryn-voice-view{min-height:0;flex:1}.eryn-chat-view{display:flex;flex-direction:column}.eryn-chat-view[hidden],.eryn-voice-view[hidden]{display:none}
.eryn-messages{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:11px;padding:16px;background:#f8fafc}
.eryn-message{max-width:88%;padding:10px 12px;border-radius:8px;font-size:.91rem;line-height:1.48;letter-spacing:0;white-space:pre-wrap;overflow-wrap:break-word}.eryn-message.is-eryn{align-self:flex-start;border:1px solid var(--border);border-bottom-left-radius:2px;background:#fff;color:var(--ink)}.eryn-message.is-user{align-self:flex-end;border:1px solid var(--accent);border-bottom-right-radius:2px;background:var(--accent);color:#fff}
.eryn-chips{display:flex;flex-wrap:wrap;gap:7px;align-self:stretch}.eryn-chips button{min-height:36px;padding:7px 10px;border:1px solid var(--accent);border-radius:6px;background:#fff;color:var(--accent-deep);font-family:var(--body);font-size:.78rem;font-weight:700;line-height:1.25;letter-spacing:0;cursor:pointer}.eryn-chips button:hover:not(:disabled){background:#ecfeff}.eryn-chips button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.eryn-chips.is-used button:disabled{opacity:.48;cursor:default}
.eryn-typing{width:50px;min-height:38px;display:flex;align-items:center;justify-content:center;gap:4px;align-self:flex-start;border:1px solid var(--border);border-radius:8px;background:#fff}.eryn-typing span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:erynTyping 1s infinite ease-in-out}.eryn-typing span:nth-child(2){animation-delay:.14s}.eryn-typing span:nth-child(3){animation-delay:.28s}@keyframes erynTyping{0%,65%,100%{opacity:.35;transform:translateY(0)}32%{opacity:1;transform:translateY(-4px)}}
.eryn-summary{align-self:stretch;overflow:hidden;border:1px solid #94a3b8;border-radius:8px;background:#fff}.eryn-summary>strong{display:block;padding:10px 12px;border-bottom:1px solid var(--border);background:#f1f5f9;font-family:var(--display);font-size:.88rem;letter-spacing:0}.eryn-summary>div{display:grid;grid-template-columns:minmax(112px,.42fr) minmax(0,.58fr);gap:10px;padding:7px 12px;border-bottom:1px solid #eef2f7;font-size:.78rem;line-height:1.4}.eryn-summary>div:last-child{border-bottom:0}.eryn-summary span{color:#64748b}.eryn-summary b{min-width:0;color:var(--ink);font-weight:700;overflow-wrap:break-word}
.eryn-compose{min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:#fff}.eryn-compose input{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #94a3b8;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:.86rem;letter-spacing:0}.eryn-compose input:focus{outline:3px solid rgba(14,116,144,.22);border-color:var(--accent)}.eryn-compose button{min-width:68px;min-height:44px;padding:10px 14px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;font-family:var(--display);font-size:.86rem;font-weight:700;letter-spacing:0;cursor:pointer}.eryn-compose button:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep)}.eryn-compose button:disabled,.eryn-compose input:disabled{opacity:.62;cursor:wait}
.eryn-note{max-width:none;margin:0;padding:0 12px 10px;background:#fff;color:#64748b;text-align:center;font-size:.67rem;line-height:1.4;letter-spacing:0}
.eryn-voice-view{overflow-y:auto;padding:22px;background:#f8fafc}.eryn-voice-intro{padding-bottom:18px;border-bottom:1px solid var(--border)}.eryn-voice-kicker{margin:0 0 7px;color:var(--accent-deep);font-family:var(--mono);font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.eryn-voice-intro h3{font-size:1.28rem;letter-spacing:0}.eryn-voice-intro p:last-child{max-width:none;margin-top:10px;color:var(--ink-soft);font-size:.88rem;line-height:1.55}
.eryn-voice-state{min-height:92px;display:flex;align-items:center;gap:12px;margin:20px 0 14px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#fff}.eryn-voice-state p{max-width:none;margin:0;color:var(--ink);font-size:.86rem;line-height:1.45}.eryn-voice-indicator{width:14px;height:14px;flex:0 0 14px;border-radius:50%;background:#94a3b8}.eryn-voice-view[data-state="connecting"] .eryn-voice-indicator{background:#f59e0b;animation:erynPulse 1.2s infinite}.eryn-voice-view[data-state="active"] .eryn-voice-indicator{background:#22c55e;animation:erynPulse 1.2s infinite}.eryn-voice-view[data-state="complete"] .eryn-voice-indicator{background:var(--accent)}@keyframes erynPulse{0%,100%{box-shadow:0 0 0 0 rgba(14,116,144,0)}50%{box-shadow:0 0 0 7px rgba(14,116,144,.16)}}
.eryn-voice-primary,.eryn-voice-review{width:100%;min-height:46px;padding:11px 14px;border-radius:6px;font-family:var(--display);font-size:.88rem;font-weight:700;letter-spacing:0;cursor:pointer}.eryn-voice-primary{border:1px solid var(--accent);background:var(--accent);color:#fff}.eryn-voice-primary:hover:not(:disabled){border-color:var(--accent-deep);background:var(--accent-deep)}.eryn-voice-review{margin-top:9px;border:1px solid var(--primary-deep);background:#fff;color:var(--primary-deep)}.eryn-voice-review:hover{background:#f1f5f9}.eryn-voice-primary:focus-visible,.eryn-voice-review:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.eryn-voice-view .eryn-note{margin-top:12px;padding:0;background:transparent}
@media(max-width:820px){body{padding-bottom:0}.eryn-launcher{top:auto;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;min-width:122px;min-height:48px;flex-direction:row;padding:10px 14px;border-right:1px solid #0b5367;border-radius:8px;font-size:.92rem;transform:none}.eryn-launcher>span:last-child{max-width:none;white-space:nowrap}.eryn-launcher:hover{transform:none}.eryn-panel{inset:8px;width:auto;height:calc(100dvh - 16px);min-height:0;border-radius:8px;transform:translateY(14px)}.eryn-panel.is-open{transform:none}body.eryn-panel-open{overflow:hidden;padding-bottom:0}.eryn-panel-head{min-height:62px}.eryn-messages{padding:13px}.eryn-message{max-width:91%;font-size:.88rem}.eryn-voice-view{padding:18px}}
@media(min-width:1850px){.eryn-launcher{right:12px;width:108px;flex-direction:row;gap:9px}.eryn-launcher>span:last-child{max-width:none;white-space:nowrap}}
@media(max-width:390px){.eryn-mode-tabs button{font-size:.78rem}.eryn-summary>div{grid-template-columns:1fr;gap:2px}.eryn-compose{grid-template-columns:minmax(0,1fr) 64px;padding:9px}}
@media(prefers-reduced-motion:reduce){.eryn-launcher,.eryn-panel{transition:none}.eryn-typing span,.eryn-voice-indicator{animation:none!important}}
