.quote-button{background:var(--tone,var(--accent));color:var(--surface);text-align:center;border-radius:6px;padding:.6rem 1rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-block}.quote-button:hover,.quote-button:focus-visible{opacity:.9;color:var(--surface);text-decoration:none}.quote-dialog{border:1px solid var(--border);background:var(--surface-raised);width:min(560px,100vw - 2rem);max-height:calc(100vh - 2rem);color:var(--text);box-shadow:var(--shadow-lg);border-radius:12px;margin:auto;padding:0}.quote-dialog::backdrop{background:#0a0f1999}.quote-dialog-inner{padding:1rem}.quote-dialog-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.quote-dialog-head h2{color:var(--heading);border:0;margin:0;padding:0;font-size:1.35rem}.quote-close{color:var(--muted);background:0 0;padding:.25rem .5rem;font-size:1.6rem;line-height:1}.quote-close:hover{color:var(--text)}.quote-dialog-note{color:var(--muted);margin:.5rem 0 1rem;font-size:.95rem}.quote-form{gap:.9rem;display:grid}.quote-field{gap:.3rem;display:grid}.quote-field label{color:var(--text);font-size:.95rem;font-weight:600}.quote-field input,.quote-field select,.quote-field textarea{width:100%;font:inherit;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:6px;padding:.6rem .75rem;font-size:1rem}.quote-field textarea{resize:vertical;min-height:8rem}.quote-field input:focus,.quote-field select:focus,.quote-field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.quote-field [aria-invalid=true]{border-color:var(--danger)}.quote-hint,.quote-count,.quote-privacy{color:var(--muted);margin:0;font-size:.85rem}.quote-count{text-align:right}.quote-count-short{color:var(--warn)}.quote-error{color:var(--danger);margin:0;font-size:.85rem}.quote-error-banner{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:6px;padding:.6rem .75rem}.quote-submit{background:var(--primary);color:var(--on-primary);justify-self:start;padding:.7rem 1rem;font-weight:600}.quote-submit:hover:not(:disabled){background:var(--secondary)}.quote-submit:disabled{opacity:.7;cursor:progress}.quote-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.quote-sent{background:var(--success-bg);border:1px solid var(--success-border);color:var(--text);border-radius:8px;padding:1rem}.quote-sent p{margin:0}.quote-sent p+p{margin-top:.5rem}.quote-sent-title{color:var(--success);font-weight:700}
