.quote-preview[hidden],.quote-preview__panel[hidden] { display:none!important; }
.quote-preview { position:fixed;bottom:24px;right:24px;z-index:20;color:var(--ink); }
.quote-preview button { cursor:pointer; }
.quote-preview__toggle { border:1px solid var(--line);background:var(--button);color:var(--button-ink);padding:15px 22px;min-height:50px;font-weight:800;box-shadow:0 12px 35px #0003; }
.quote-preview__panel { position:absolute;bottom:calc(100% + 12px);right:0;width:min(390px,calc(100vw - 32px));max-height:min(620px,calc(100dvh - 110px));overflow:auto;background:var(--bg);border:1px solid var(--line);box-shadow:0 22px 55px #0005;padding:24px; }
.quote-preview__head { display:flex;justify-content:space-between;align-items:start;gap:15px; }
.quote-preview__head h2 { font:600 24px/1.2 Manrope,Arial,sans-serif;letter-spacing:-.04em;margin:0; }
.quote-preview__head button { background:none;border:0;color:var(--ink);font-size:28px;line-height:1;padding:0 3px; }
.quote-preview__lead,.quote-preview__status { font-size:14px;line-height:1.55;color:var(--muted); }
.quote-preview__lead { margin:15px 0 22px; }
.quote-preview form { display:grid;gap:10px; }
.quote-preview label { font-size:14px;font-weight:700; }
.quote-preview textarea { resize:vertical;width:100%;min-height:100px;padding:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit; }
.quote-preview form button { justify-self:start;background:var(--button);color:var(--button-ink);border:0;padding:12px 20px;font-weight:700; }
.quote-preview form button:disabled,.quote-preview textarea:disabled { opacity:.55;cursor:not-allowed; }
.quote-preview__status { margin:18px 0 0; }
@media(max-width:480px) { .quote-preview { bottom:12px;right:12px; } .quote-preview__panel { padding:18px; } }
