:root{
  --qva-navy:#061326;
  --qva-navy-2:#0A1B38;
  --qva-blue:#1261FF;
  --qva-cyan:#00D4FF;
  --qva-teal:#00C2A8;
  --qva-white:#F8FBFF;
  --qva-muted:#A8BBDD;
  --qva-line:rgba(135,170,220,.20);
  --qva-panel:rgba(7,18,42,.93);
  --qva-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --qva-display:Outfit,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.qva,.qva *{box-sizing:border-box}
.qva{position:fixed;left:22px;right:auto;bottom:22px;z-index:99990;font-family:var(--qva-font);color:var(--qva-white)}
.qva.qva--desktop-left{left:22px;right:auto}
.qva.qva--desktop-right{left:auto;right:92px}
.qva.qva--desktop-left .qva-panel{left:0;right:auto;transform-origin:bottom left}
.qva.qva--desktop-right .qva-panel{right:0;left:auto;transform-origin:bottom right}
.qva button,.qva input{font-family:inherit}

.qva-fab{position:relative;display:flex;align-items:center;gap:10px;min-height:58px;padding:0 18px 0 14px;border:1px solid rgba(0,212,255,.34);border-radius:999px;background:linear-gradient(135deg,rgba(18,97,255,.95),rgba(0,194,168,.88));color:#fff;font-weight:900;letter-spacing:.01em;box-shadow:0 22px 60px rgba(0,0,0,.36),0 0 0 8px rgba(0,212,255,.08);cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;overflow:hidden}
.qva-fab:hover{transform:translateY(-2px);box-shadow:0 26px 72px rgba(0,0,0,.42),0 0 0 10px rgba(0,212,255,.10);filter:saturate(1.05)}
.qva-fab:focus-visible{outline:3px solid rgba(0,212,255,.42);outline-offset:4px}
.qva-fab__pulse{position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:translateX(-120%);animation:qvaShine 4.5s ease-in-out infinite;pointer-events:none}
.qva-fab__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:rgba(255,255,255,.92);color:#0A1B38;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)}
.qva-fab__text{font-size:14px;text-transform:uppercase;letter-spacing:.08em}

.qva-panel{position:absolute;left:0;right:auto;bottom:78px;width:min(392px,calc(100vw - 28px));max-height:min(720px,calc(100vh - 118px));display:flex;flex-direction:column;border:1px solid var(--qva-line);border-radius:28px;background:linear-gradient(155deg,rgba(8,22,50,.96),rgba(4,10,24,.96));box-shadow:0 28px 100px rgba(0,0,0,.55),0 0 0 1px rgba(0,212,255,.08);overflow:hidden;transform-origin:bottom left;animation:qvaOpen .22s ease both}
.qva-panel[hidden]{display:none}
.qva-panel__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 0%,rgba(0,212,255,.20),transparent 32%),radial-gradient(circle at 100% 18%,rgba(18,97,255,.20),transparent 28%),linear-gradient(180deg,transparent,rgba(0,194,168,.04));opacity:.9}

.qva-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 22px 17px;border-bottom:1px solid rgba(135,170,220,.14)}
.qva-kicker{display:block;margin:0 0 2px;color:var(--qva-cyan);font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.16em;font-weight:900}
.qva-title{display:block;font-family:var(--qva-display);font-size:28px;line-height:1;letter-spacing:-.05em}
.qva-status{display:flex;align-items:center;gap:8px;margin-top:8px;color:#c6d7f1;font-size:12px;font-weight:700}
.qva-status:before{content:"";width:8px;height:8px;border-radius:999px;background:var(--qva-teal);box-shadow:0 0 18px rgba(0,194,168,.65)}
.qva-close{width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.06);color:#fff;font-size:25px;line-height:1;cursor:pointer;transition:.18s ease}
.qva-close:hover{background:rgba(255,255,255,.10);border-color:rgba(0,212,255,.28)}

.qva-lang{position:relative;z-index:1;display:flex;gap:8px;padding:14px 18px 0}
.qva-lang button{height:32px;padding:0 12px;border:1px solid rgba(135,170,220,.18);border-radius:999px;background:rgba(255,255,255,.04);color:#c8d7ee;font-size:12px;font-weight:900;letter-spacing:.08em;cursor:pointer;transition:.18s ease}
.qva-lang button.is-active,.qva-lang button:hover{border-color:rgba(0,212,255,.48);background:rgba(0,212,255,.11);color:#fff}

.qva-messages{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;padding:17px 18px 10px;overflow-y:auto;min-height:174px;max-height:315px;scrollbar-width:thin;scrollbar-color:rgba(0,212,255,.45) rgba(255,255,255,.08)}
.qva-bubble{max-width:88%;padding:12px 14px;border-radius:17px;font-size:14px;line-height:1.48;box-shadow:0 12px 26px rgba(0,0,0,.18);white-space:pre-line}
.qva-bubble--bot{align-self:flex-start;background:rgba(255,255,255,.08);border:1px solid rgba(135,170,220,.14);color:#eef5ff;border-bottom-left-radius:6px}
.qva-bubble--user{align-self:flex-end;background:linear-gradient(135deg,var(--qva-blue),var(--qva-teal));color:#fff;border-bottom-right-radius:6px;font-weight:700}
.qva-bubble a{display:inline-flex;margin-top:8px;color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:900}

.qva-quick{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;padding:6px 18px 16px;border-top:1px solid rgba(135,170,220,.10)}
.qva-chip{border:1px solid rgba(0,212,255,.22);border-radius:999px;background:rgba(0,212,255,.07);color:#e9f4ff;padding:9px 11px;font-size:12px;font-weight:850;line-height:1;cursor:pointer;transition:transform .17s ease,background .17s ease,border-color .17s ease}
.qva-chip:hover{transform:translateY(-1px);background:rgba(0,212,255,.12);border-color:rgba(0,212,255,.38)}

.qva-input{position:relative;z-index:1;display:flex;gap:8px;padding:0 18px 17px}
.qva-input input{flex:1;min-width:0;height:46px;border:1px solid rgba(135,170,220,.18);border-radius:15px;background:rgba(255,255,255,.06);color:#fff;padding:0 14px;font-size:14px;outline:none;transition:border-color .18s ease,box-shadow .18s ease;background .18s ease}
.qva-input input::placeholder{color:#9db0ca}
.qva-input input:focus{border-color:rgba(0,212,255,.44);box-shadow:0 0 0 4px rgba(0,212,255,.08);background:rgba(255,255,255,.08)}
.qva-input button{width:46px;height:46px;border:0;border-radius:15px;background:linear-gradient(135deg,var(--qva-cyan),var(--qva-blue));color:#071326;font-size:20px;font-weight:1000;cursor:pointer;transition:.18s ease}
.qva-input button:hover{filter:brightness(1.08);transform:translateY(-1px)}

.qva-foot{position:relative;z-index:1;padding:0 18px 18px;color:#91a9ca;font-size:11px;line-height:1.35}
.qva-foot a{color:#dcecff;font-weight:900;text-decoration:none;border-bottom:1px solid rgba(0,212,255,.40)}
.qva-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.qva-action{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);color:#fff!important;text-decoration:none!important;font-weight:900;font-size:12px}
.qva-action--primary{background:linear-gradient(135deg,var(--qva-blue),var(--qva-teal));border-color:transparent}

.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}

@keyframes qvaOpen{from{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes qvaShine{0%,58%{transform:translateX(-125%)}75%,100%{transform:translateX(125%)}}

@media (max-width:640px){
  .qva{bottom:14px}
  .qva.qva--mobile-left{left:14px;right:auto}
  .qva.qva--mobile-right{left:auto;right:76px}
  .qva.is-mobile-hidden{display:none}
  .qva-panel{position:fixed;left:12px;right:12px;bottom:84px;width:auto;border-radius:24px;max-height:calc(100vh - 108px);transform-origin:bottom center}
  .qva.qva--mobile-left .qva-panel,.qva.qva--mobile-right .qva-panel{left:12px;right:12px}
  .qva-fab__text{display:none}
  .qva-fab{width:58px;height:58px;min-height:58px;padding:0;justify-content:center}
  .qva-fab__icon{width:42px;height:42px}
  .qva-messages{max-height:300px}
}

/* v1.3.0 contact request form */
.qva-bubble--wide{max-width:100%;width:100%;padding:14px}
.qva-contact-card{display:grid;gap:10px;width:100%;margin:0;color:#eef5ff}
.qva-contact-title{display:block;margin:0 0 2px;font-family:var(--qva-display);font-size:17px;letter-spacing:-.02em;color:#fff}
.qva-field{display:grid;gap:5px}
.qva-field label{display:grid;gap:6px;color:#bdd0ea;font-size:12px;font-weight:900;letter-spacing:.01em}
.qva-field input,.qva-field select,.qva-field textarea{width:100%;border:1px solid rgba(135,170,220,.20);border-radius:13px;background:rgba(255,255,255,.07);color:#fff;padding:11px 12px;font:inherit;font-size:13px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
/* v1.3.1: select/dropdown readability fix */
.qva-field select{appearance:auto;color:#061326;background:#f8fbff;border-color:rgba(0,212,255,.30);font-weight:750}
.qva-field select option{color:#061326;background:#f8fbff}
.qva-field select:focus{color:#061326;background:#fff}
.qva-field select:disabled{color:#60708c;background:#dce6f4}
.qva-field textarea{min-height:96px;resize:vertical;line-height:1.4}
.qva-field input:focus,.qva-field select:focus,.qva-field textarea:focus{border-color:rgba(0,212,255,.48);box-shadow:0 0 0 4px rgba(0,212,255,.08);background:rgba(255,255,255,.09)}
.qva-field--trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.qva-send-request{width:100%;min-height:44px;border:0;border-radius:15px;background:linear-gradient(135deg,var(--qva-cyan),var(--qva-blue));color:#061326;font-size:13px;font-weight:1000;cursor:pointer;transition:.18s ease;box-shadow:0 14px 28px rgba(0,0,0,.24)}
.qva-send-request:hover{filter:brightness(1.08);transform:translateY(-1px)}
.qva-send-request:disabled{cursor:wait;opacity:.72;transform:none;filter:none}
.qva-form-note{min-height:18px;margin:0;color:#bdd0ea;font-size:12px;line-height:1.35}
.qva-form-note.is-success{color:#8effdf;font-weight:850}
.qva-form-note.is-error{color:#ffb7b7;font-weight:850}
.qva-action{cursor:pointer}
button.qva-action{font-family:inherit}

@media (max-width:640px){
  .qva-contact-card{gap:9px}
  .qva-field input,.qva-field select,.qva-field textarea{font-size:16px;padding:10px 11px}
  .qva-field textarea{min-height:86px}
  .qva-send-request{min-height:43px}
}
