.sb-quote-modal { --quote-bg:#081716; --quote-surface:#102b28; --quote-text:#f4f7ef; --quote-muted:#b7c9bf; --quote-line:#365046; --quote-accent:#ffd84d; width:min(900px,calc(100% - 32px)); max-width:none; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:0; border-radius:16px; background:var(--quote-bg); color:var(--quote-text); font-family:"Lato",sans-serif; box-shadow:0 24px 80px #030a0966; overflow:hidden; }
.sb-quote-modal:not([open]) { display:none; }
.sb-quote-modal[open] { display:flex; flex-direction:column; }
.sb-quote-modal::backdrop { background:#030a09b8; }
.sb-quote-modal *, .sb-quote-modal *::before, .sb-quote-modal *::after { box-sizing:border-box; }
.sb-quote-modal [hidden] { display:none !important; }
.sb-quote-head { display:flex; flex:0 0 auto; justify-content:space-between; align-items:center; gap:16px; padding:24px 28px; border-bottom:1px solid var(--quote-line); }
.sb-quote-head h2 { margin:0 0 6px; color:var(--quote-text); font:500 34px/1.05 "Cormorant Garamond",Georgia,serif; }
.sb-quote-head p { margin:0; color:var(--quote-muted); font-size:12px; line-height:1.6; }
.sb-quote-head button { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:10px; border:1px solid var(--quote-line); border-radius:50%; background:var(--quote-surface); color:var(--quote-accent); cursor:pointer; }
.sb-quote-modal svg { display:block; width:22px; height:22px; flex:0 0 22px; }
.sb-quote-modal form { display:flex; flex-direction:column; min-height:0; margin:0; }
.sb-quote-body { display:grid; grid-template-columns:280px minmax(0,1fr); min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#63776b var(--quote-bg); }
.sb-quote-selection { min-width:0; padding:28px; background:var(--quote-surface); }
.sb-quote-selection h3 { margin:0 0 8px; color:var(--quote-text); font:500 28px/1.1 "Cormorant Garamond",Georgia,serif; }
.sb-quote-selection > p { margin:0 0 18px; color:var(--quote-muted); font-size:12px; line-height:1.7; }
.sb-quote-selection ul { max-height:280px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; margin:0 0 20px; padding:0; list-style:none; }
.sb-quote-selection li { display:flex; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid var(--quote-line); }
.sb-quote-selection li img { width:48px; height:48px; flex:0 0 48px; border-radius:6px; object-fit:contain; background:#fff; }
.sb-quote-selection li > div { flex:1; min-width:0; }
.sb-quote-selection li b { display:block; font-size:12px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.sb-quote-selection li span { display:block; margin-top:4px; color:var(--quote-muted); font-size:10px; }
.sb-quote-modal label { display:flex; flex-direction:column; gap:8px; margin:0; color:var(--quote-muted); font-size:12px; line-height:1.5; }
.sb-quote-modal :is(input,select,textarea) { width:100%; min-width:0; min-height:46px; margin:0; padding:11px 12px; border:1px solid var(--quote-line); border-radius:6px; background:var(--quote-bg); color:var(--quote-text); font:400 16px/1.5 "Lato",sans-serif; }
.sb-quote-modal :is(input,textarea)::placeholder { color:#99b3a6; opacity:1; }
.sb-quote-modal select { padding-right:24px; color-scheme:dark; }
.sb-quote-modal textarea { resize:vertical; }
.sb-quote-selection li label { flex:0 0 60px; gap:4px; font-size:10px; }
.sb-quote-selection li input { min-height:44px; padding:8px 6px; text-align:center; }
.sb-quote-fields { min-width:0; padding:28px; }
.sb-quote-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 16px; margin-bottom:20px; }
.sb-quote-note { margin:16px 0 0; color:var(--quote-muted); font-size:12px; line-height:1.7; }
.sb-quote-preview { margin-top:18px; border-top:1px solid var(--quote-line); }
.sb-quote-preview summary { min-height:44px; padding:14px 0; color:var(--quote-accent); font-size:12px; cursor:pointer; }
.sb-quote-preview pre { margin:0; padding:12px 0; background:transparent; color:var(--quote-muted); font:12px/1.8 "Lato",sans-serif; white-space:pre-wrap; overflow-wrap:anywhere; }
.sb-quote-foot { display:flex; flex:0 0 auto; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:12px; padding:18px 28px; border-top:1px solid var(--quote-line); background:var(--quote-bg); }
.sb-quote-foot > p { flex:1 1 180px; margin:0; color:#ffb5a4; font-size:12px; line-height:1.6; }
.sb-quote-foot > p:empty { display:none; }
.sb-quote-foot button, .sb-quote-success > a { display:inline-flex; justify-content:center; align-items:center; gap:16px; min-height:48px; padding:13px 22px; border:0; border-radius:6px; background:var(--quote-accent); color:var(--quote-bg); font:700 13px/1.5 "Lato",sans-serif; cursor:pointer; text-decoration:none; }
.sb-quote-foot button:disabled { opacity:.65; cursor:wait; }
.sb-quote-success { overflow-y:auto; overscroll-behavior:contain; padding:40px 28px; text-align:center; }
.sb-quote-success-icon { display:grid; place-items:center; width:56px; height:56px; margin:0 auto 22px; border:1px solid var(--quote-accent); border-radius:50%; color:var(--quote-accent); }
.sb-quote-success h3 { margin:0 0 18px; color:var(--quote-text); font:500 38px/1.1 "Cormorant Garamond",Georgia,serif; }
.sb-quote-success p { max-width:440px; margin:0 auto 24px; color:var(--quote-muted); font-size:14px; line-height:1.7; }
.sb-quote-success .sb-quote-reference { margin:20px 0 4px; max-width:none; font-size:11px; overflow-wrap:anywhere; }
.sb-quote-success > button { min-height:44px; padding:12px; border:0; background:transparent; color:var(--quote-accent); font-size:13px; cursor:pointer; }
.sb-quote-modal :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--quote-accent); outline-offset:3px; }
.sb-quote-modal :is(a,button,summary) { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.sb-quote-modal :is(a,button,summary):active { opacity:.75; }
@media(max-width:700px) {
  .sb-quote-modal { width:calc(100% - 20px); max-height:calc(100dvh - 20px); border-radius:12px; }
  .sb-quote-head { padding:18px; }
  .sb-quote-head h2 { font-size:28px; }
  .sb-quote-head p { font-size:11px; }
  .sb-quote-body { grid-template-columns:minmax(0,1fr); }
  .sb-quote-selection, .sb-quote-fields { padding:20px; }
  .sb-quote-selection ul { max-height:180px; margin-bottom:8px; }
  .sb-quote-field-grid { gap:16px 12px; }
  .sb-quote-foot { padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px)); }
  .sb-quote-foot button { width:100%; }
  .sb-quote-success { padding:30px 20px; }
}
@media(max-width:360px) { .sb-quote-field-grid { grid-template-columns:minmax(0,1fr); } .sb-quote-head h2 { font-size:25px; } }
@media(max-width:500px) { .sb-quote-field-grid { grid-template-columns:minmax(0,1fr); } }
