/* Lasivakuutus Chat 1.1.0 | Scoped styles | GPL-2.0-or-later */
#lvc-root { --lvc-accent:#006779; --lvc-on-accent:#fff; --lvc-bottom:20px; --lvc-ink:#142c38; --lvc-muted:#526771; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--lvc-ink); font-size:15px; line-height:1.5; text-align:left; }
#lvc-root *, #lvc-root *::before, #lvc-root *::after { box-sizing:border-box; }
#lvc-root [hidden] { display:none !important; }
#lvc-root h2, #lvc-root h3, #lvc-root p, #lvc-root dl, #lvc-root dt, #lvc-root dd { padding:0; margin:0; font-family:inherit; text-transform:none; letter-spacing:normal; }
#lvc-root button, #lvc-root input, #lvc-root select { font:inherit; letter-spacing:normal; text-transform:none; margin:0; box-shadow:none; }
#lvc-root button { cursor:pointer; min-height:44px; border:0; border-radius:12px; font-weight:650; background:none; color:var(--lvc-ink); padding:10px 14px; line-height:1.4; transition:background-color .15s,box-shadow .15s; }
#lvc-root button:disabled { opacity:.65; cursor:wait; }
#lvc-root button:focus-visible, #lvc-root a:focus-visible, #lvc-root summary:focus-visible { outline:3px solid #2694b1; outline-offset:3px; }
#lvc-root .lvc-launcher { position:fixed; bottom:calc(var(--lvc-bottom) + env(safe-area-inset-bottom,0px)); right:20px; z-index:999990; display:flex; align-items:center; gap:10px; padding:15px 21px; max-width:calc(100vw - 32px); background:var(--lvc-accent); color:var(--lvc-on-accent); border-radius:50px; box-shadow:0 8px 30px #0b35442b; font-size:15px; }
#lvc-root[data-side="left"] .lvc-launcher { left:20px; right:auto; }
#lvc-root .lvc-launcher:hover { box-shadow:0 8px 30px #0b354457; }
#lvc-root .lvc-icon { display:flex; flex:none; }
#lvc-root .lvc-dialog { position:fixed; inset:auto 20px 20px auto; margin:0; padding:0; border:1px solid #d6e2e7; border-radius:22px; width:420px; max-width:calc(100vw - 32px); height:650px; max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); background:#fff; color:var(--lvc-ink); box-shadow:0 18px 80px #0b243747; overflow:hidden; font:inherit; }
#lvc-root[data-side="left"] .lvc-dialog { left:20px; right:auto; }
#lvc-root .lvc-dialog:not([open]) { display:none; }
#lvc-root .lvc-dialog[open] { display:flex; flex-direction:column; }
#lvc-root .lvc-dialog::backdrop { background:#102b3a26; }
#lvc-root .lvc-header { background:#102e3d; color:#fff; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:24px 22px 22px; flex:none; }
#lvc-root .lvc-eyebrow { display:block; color:#a8dce2; font-size:10px; letter-spacing:1.7px; font-weight:700; margin:0 0 7px; }
#lvc-root .lvc-header h2 { color:#fff; font-size:22px; font-weight:700; line-height:1.3; overflow-wrap:anywhere; }
#lvc-root .lvc-header p { color:#c9dce4; font-size:12px; margin-top:5px; }
#lvc-root .lvc-close { color:#fff; background:#ffffff12; flex:none; font-size:26px; line-height:1; width:44px; height:44px; padding:0; border:1px solid #ffffff26; }
#lvc-root .lvc-close:hover { background:#ffffff25; }
#lvc-root .lvc-content { padding:22px; overflow:auto; overscroll-behavior:contain; min-height:0; flex:1; scrollbar-width:thin; }
#lvc-root .lvc-bubble { border-radius:14px; padding:13px 15px; font-size:14px; line-height:1.6; overflow-wrap:anywhere; white-space:pre-line; }
#lvc-root .lvc-bot { background:#f0f5f7; border-top-left-radius:3px; margin-bottom:16px; }
#lvc-root .lvc-answer { background:#e3f1f1; margin:6px 0 12px 22px; border-bottom-right-radius:3px; }
#lvc-root .lvc-question { font-size:19px; line-height:1.4; font-weight:700; margin:20px 0 16px; outline:none; }
#lvc-root .lvc-form { margin:0; padding:0; }
#lvc-root .lvc-choices { display:grid; gap:10px; }
#lvc-root .lvc-choice { width:100%; padding:15px 16px; border:1px solid #c5d9df; border-radius:12px; color:#123c4c; background:#fff; text-align:left; font-size:15px; }
#lvc-root .lvc-choice:hover, #lvc-root .lvc-choice[aria-pressed="true"] { background:#eef7f8; border-color:#006779; }
#lvc-root .lvc-field { margin-bottom:15px; }
#lvc-root label { display:block; font-size:13px; font-weight:650; margin:0 0 7px; color:var(--lvc-ink); }
#lvc-root input, #lvc-root select { display:block; width:100%; min-width:0; height:48px; padding:11px 12px; background:#fff; color:var(--lvc-ink); border:1px solid #b5c8d0; border-radius:9px; outline:0; font-size:16px; line-height:24px; }
#lvc-root select { appearance:auto; }
#lvc-root input::placeholder { color:#647983; opacity:1; }
#lvc-root input:focus, #lvc-root select:focus { border-color:#006779; box-shadow:0 0 0 3px #00677920; }
#lvc-root #lvc-plate { text-transform:uppercase; }
#lvc-root .lvc-primary { display:block; width:100%; margin-top:18px; padding:14px 15px; background:var(--lvc-accent); color:var(--lvc-on-accent); text-align:center; font-size:15px; }
#lvc-root .lvc-primary:hover { filter:brightness(.94); }
#lvc-root .lvc-hint, #lvc-root .lvc-privacy { font-size:12px; line-height:1.6; color:var(--lvc-muted); margin-top:7px; }
#lvc-root .lvc-privacy { margin-top:16px; }
#lvc-root a { color:#00586b; text-decoration:underline; text-underline-offset:2px; }
#lvc-root .lvc-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 18px; border-top:1px solid #e2eaee; background:#fff; min-height:66px; flex:none; }
#lvc-root .lvc-back { font-size:13px; padding:10px 5px; color:#355c6a; }
#lvc-root .lvc-back:hover { background:#eff5f7; }
#lvc-root .lvc-progress { color:var(--lvc-muted); font-size:12px; }
#lvc-root .lvc-history { margin:0 0 16px; border-bottom:1px solid #e5edef; padding-bottom:12px; }
#lvc-root .lvc-history summary { cursor:pointer; color:#386375; font-size:12px; padding:8px 0; min-height:36px; }
#lvc-root .lvc-history-q { font-size:12px; font-weight:650; margin:12px 0 0; }
#lvc-root .lvc-summary { display:grid; grid-template-columns:minmax(0,1fr); background:#f6f9fa; padding:16px; border:1px solid #e0eaee; border-radius:12px; }
#lvc-root .lvc-summary dt { font-size:11px; color:var(--lvc-muted); }
#lvc-root .lvc-summary dd { font-size:14px; font-weight:600; margin:1px 0 12px; overflow-wrap:anywhere; white-space:pre-line; }
#lvc-root .lvc-summary dd:last-child { margin-bottom:0; }
#lvc-root .lvc-notice { padding:13px 20px; background:#fff4ed; border-top:1px solid #eed5c4; color:#743c17; font-size:13px; line-height:1.5; flex:none; max-height:35%; overflow:auto; }
#lvc-root .lvc-notice a { display:inline-block; padding:5px 0; }
#lvc-root .lvc-success { text-align:center; padding:24px 2px; }
#lvc-root .lvc-success-mark { width:62px; height:62px; background:#e3f2ed; color:#22634b; display:flex; align-items:center; justify-content:center; border-radius:50%; font-size:31px; margin:0 auto 22px; }
#lvc-root .lvc-success-title { font-size:22px; line-height:1.35; margin-bottom:15px; outline:none; }
#lvc-root .lvc-success p { font-size:14px; margin-bottom:16px; }
#lvc-root .lvc-success .lvc-call { display:inline-block; margin-top:16px; font-size:14px; padding:10px; }
#lvc-root .lvc-honeypot { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip-path:inset(50%) !important; white-space:nowrap !important; }
#lvc-root .lvc-tabs { display:grid; grid-template-columns:1fr 1fr; flex:none; gap:6px; background:#f0f5f7; padding:8px 12px; border-bottom:1px solid #dce7eb; }
#lvc-root .lvc-tabs button { font-size:13px; border-radius:9px; color:#365968; padding:9px 5px; }
#lvc-root .lvc-tabs button[aria-pressed="true"] { color:#123c4c; background:#fff; box-shadow:0 1px 5px #123c4c12; }
#lvc-root .lvc-search-intro { color:#526771; font-size:14px; margin-bottom:23px; }
#lvc-root .lvc-search-form { margin-top:22px; }
#lvc-root .lvc-search-form textarea { display:block; box-sizing:border-box; width:100%; min-height:88px; max-height:160px; resize:vertical; padding:12px; border:1px solid #b5c8d0; border-radius:10px; background:#fff; color:var(--lvc-ink); font:400 16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
#lvc-root .lvc-search-form textarea:focus { outline:2px solid #006779; outline-offset:2px; }
#lvc-root .lvc-search-form .lvc-primary { margin-top:12px; }
#lvc-root .lvc-suggested { display:grid; gap:7px; margin-top:18px; }
#lvc-root .lvc-suggested button { font-size:12px; font-weight:500; padding:10px 12px; border:1px solid #d8e5e9; border-radius:9px; text-align:left; min-height:40px; }
#lvc-root .lvc-suggested button:hover { background:#f0f7f8; }
#lvc-root .lvc-search-turn { margin-bottom:24px; outline:0; }
#lvc-root .lvc-search-turn .lvc-answer { margin-left:25px; }
#lvc-root .lvc-answer-intro { font-size:14px; margin:12px 0; line-height:1.6; }
#lvc-root .lvc-source-card { padding:15px; background:#f0f5f7; border:1px solid #dce8ec; border-radius:12px; }
#lvc-root .lvc-source-label { display:block; font-size:9px; font-weight:700; letter-spacing:1px; color:#476672; margin-bottom:9px; }
#lvc-root .lvc-source-card h4 { font:700 15px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; margin:0 0 9px; padding:0; color:#142c38; letter-spacing:normal; text-transform:none; }
#lvc-root .lvc-excerpt { font-size:14px; line-height:1.7; white-space:pre-line; overflow-wrap:anywhere; }
#lvc-root .lvc-source-link { display:block; margin-top:12px; font-size:12px; overflow-wrap:anywhere; }
#lvc-root .lvc-extra-source { margin-top:13px; font-size:12px; color:#355c6a; }
#lvc-root .lvc-extra-source summary { padding:9px 0; cursor:pointer; }
#lvc-root .lvc-search-status { font-size:13px; color:#355c6a; padding:12px 0; }
#lvc-root .lvc-contact-action { font-size:12px; color:#fff; background:#102e3d; padding:11px 12px; }
#lvc-root .lvc-footer .lvc-call { font-size:11px; }
@media(max-width:480px) {
  #lvc-root .lvc-launcher { right:16px; padding:13px 18px; font-size:14px; }
  #lvc-root[data-side="left"] .lvc-launcher { left:16px; }
  #lvc-root .lvc-dialog, #lvc-root[data-side="left"] .lvc-dialog { inset:auto 8px max(8px,env(safe-area-inset-bottom,0px)) 8px; width:auto; max-width:none; height:690px; max-height:calc(100vh - 16px); max-height:calc(100dvh - max(8px,env(safe-area-inset-bottom,0px)) - 8px); border-radius:18px; }
  #lvc-root .lvc-header { padding:19px 18px; }
  #lvc-root .lvc-content { padding:18px; }
  #lvc-root .lvc-dialog::backdrop { background:#102b3a66; }
}
@media(prefers-reduced-motion:reduce) { #lvc-root * { transition:none !important; scroll-behavior:auto !important; } }
