/* Claire — RV Concierge (floating control + panel) */
.claire-fab{position:fixed;right:22px;bottom:22px;z-index:70;display:flex;align-items:center;gap:9px;
  background:linear-gradient(135deg,var(--accent),#0E9384);color:#fff;border:none;border-radius:30px;
  padding:13px 19px 13px 15px;font-family:var(--f-display);font-weight:700;font-size:14px;cursor:pointer;
  box-shadow:0 10px 30px rgba(12,26,36,.28);transition:transform .14s,box-shadow .14s}
.claire-fab:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(12,26,36,.34)}
.claire-fab .av{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-weight:800}
@media (max-width:600px){.claire-fab span.lbl{display:none}.claire-fab{padding:14px}}

.claire-scrim{position:fixed;inset:0;background:rgba(12,26,36,.34);z-index:71;backdrop-filter:blur(2px)}
.claire-panel{position:fixed;right:0;top:0;height:100vh;width:min(430px,100vw);background:var(--card);z-index:72;
  display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:slideIn .22s ease}
@media (prefers-reduced-motion:reduce){.claire-panel{animation:none}}
.claire-head{display:flex;align-items:center;gap:12px;padding:16px 18px;background:linear-gradient(120deg,var(--ink),#123642);color:#fff}
.claire-head .cav{width:40px;height:40px;border-radius:12px;background:rgba(18,165,148,.28);display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:800;font-size:18px;color:#fff}
.claire-head h3{font-size:15.5px;line-height:1.1}
.claire-head .status{font-size:11.5px;color:#9FD8D0;margin-top:2px;display:flex;align-items:center;gap:6px}
.claire-head .status .d{width:7px;height:7px;border-radius:50%;background:var(--good)}
.claire-head .status.voice .d{background:var(--warm);animation:pulse 1.2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.claire-head .hx{margin-left:auto;display:flex;gap:6px}
.claire-head button.ico{background:rgba(255,255,255,.12);border:none;color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:15px}
.claire-head button.ico:hover{background:rgba(255,255,255,.22)}
.synthetic-strip{background:rgba(232,131,58,.12);color:#B26A1B;font-size:11px;font-weight:600;text-align:center;padding:5px;border-bottom:1px solid var(--line-2)}
.claire-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:11px;background:var(--paper)}
.cmsg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:13.6px;line-height:1.5}
.cmsg.ai{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}
.cmsg.user{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:4px}
.cmsg.sys{align-self:center;font-size:11.5px;color:var(--muted);background:none;padding:2px}
.qreplies{display:flex;flex-wrap:wrap;gap:7px;padding:2px 2px 4px}
.qreplies button{font-family:var(--f-body);font-size:12.5px;font-weight:600;color:var(--accent-ink);background:#fff;border:1px solid #CDEEE9;border-radius:18px;padding:7px 12px;cursor:pointer}
.qreplies button:hover{background:var(--accent-soft)}
.opt-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 13px;margin-top:2px;cursor:pointer;box-shadow:var(--shadow)}
.opt-card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg)}
.opt-card .oh{display:flex;justify-content:space-between;align-items:center}
.opt-card .op{font-weight:700;font-family:var(--f-display);font-size:13.5px}
.opt-card .orate{color:var(--accent-ink);font-weight:700;font-size:13px}
.opt-card .om{font-size:12px;color:var(--muted);margin-top:4px}
.summary-card{background:var(--accent-soft);border:1px solid #CDEEE9;border-radius:12px;padding:14px;font-size:13px}
.summary-card h4{font-family:var(--f-display);font-size:13.5px;color:var(--accent-ink);margin-bottom:8px}
.summary-card dl{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;margin:0}
.summary-card dt{color:var(--muted);font-weight:500}.summary-card dd{margin:0;font-weight:600;text-align:right}
.confcode{font-family:var(--f-display);font-weight:800;font-size:18px;letter-spacing:1px;color:var(--accent-ink)}
.claire-foot{border-top:1px solid var(--line);padding:10px 12px;background:var(--card)}
.claire-input{display:flex;gap:8px;align-items:center}
.claire-input input{flex:1;font-family:var(--f-body);font-size:13.5px;border:1px solid var(--line);border-radius:22px;padding:10px 14px;outline:none}
.claire-input input:focus{border-color:var(--accent)}
.claire-input button{border:none;border-radius:50%;width:38px;height:38px;cursor:pointer;flex:0 0 38px;display:flex;align-items:center;justify-content:center;color:#fff}
.btn-send{background:var(--accent)} .btn-send:hover{background:var(--accent-ink)}
.btn-voice{background:var(--ink)} .btn-voice:hover{background:#1B3542} .btn-voice.live{background:var(--crit)}
.voice-bar{display:flex;align-items:center;gap:8px;padding:8px 4px 4px;font-size:12px;color:var(--muted)}
.voice-bar button{font-size:12px;font-weight:600;border:1px solid var(--line);background:#fff;border-radius:16px;padding:5px 11px;cursor:pointer}
.voice-bar .live-dot{width:8px;height:8px;border-radius:50%;background:var(--crit);animation:pulse 1s infinite}
.mini-note{font-size:11px;color:var(--muted-2);text-align:center;margin-top:6px}

/* AI Concierge full page + admin views reuse existing card/table styles */
.concierge-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:start}
@media (max-width:960px){.concierge-hero{grid-template-columns:1fr}}
.claire-embed{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);height:560px;display:flex;flex-direction:column;background:var(--card)}
