/* Original external quotation styles; scoped to the retained summary and document dialog. */
.retained-summary,
.retained-quote-dialog {
  --ink: #242d29;
  --muted: #65726a;
  --green: #286647;
  --deep: #0b2518;
  --lime: #99db31;
  --line: #e0e5df;
  --canvas: #f5f6f4;
  --surface: #fff;
  --soft: #f0f4ef;
  --amber: #8c5d21;
  --shadow: 0 5px 20px #23352b05;
  color-scheme: light;
  font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  color: var(--ink);
  font-synthesis: none;
}
.retained-summary,
.retained-summary *,
.retained-quote-dialog,
.retained-quote-dialog * { box-sizing: border-box; }
.retained-summary { position: sticky; top: 20px; min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
.retained-summary p { margin: 0; }
.retained-summary strong,
.retained-summary b { font-weight: 600; }
.retained-summary small { font-size: 12px; }
.retained-summary svg { display: block; flex-shrink: 0; }
.retained-summary .summary-card { background:#fff; border:1px solid #d9e2d7; border-radius:13px; overflow:hidden; box-shadow:var(--shadow); }
.retained-summary .summary-heading { padding:20px 22px 0; }
.retained-summary .summary-heading p { font-size:11px; letter-spacing:1.3px; color:var(--muted); }
.retained-summary .summary-heading > span { display:block; font-size:13px; color:#4f6455; margin-top:10px; }
.retained-summary .payable { padding:14px 22px 23px; border-bottom:1px solid var(--line); }
.retained-summary .payable > small { font-size:11px; color:var(--muted); }
.retained-summary .payable > strong { font-size:37px; letter-spacing:-1px; color:var(--deep); font-weight:600; display:block; font-variant-numeric:tabular-nums; margin-top:6px; overflow-wrap:anywhere; }
.retained-summary .payable strong > span { font-size:18px; letter-spacing:0; margin-right:3px; }
.retained-summary .summary-inner { padding:21px 22px; }
.retained-summary .result-line { display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:12px; color:var(--muted); margin-bottom:13px; line-height:1.6; }
.retained-summary .result-line b { font-size:12px; color:#3c5041; font-weight:500; font-variant-numeric:tabular-nums; text-align:right; flex-shrink:0; }
.retained-summary .result-line.saving b { color:var(--green); }
.retained-summary .credit-box { padding:16px; background:#f1f5ed; border-radius:8px; margin:18px 0; }
.retained-summary .credit-box > span { display:block; font-size:11px; color:#5d715e; }
.retained-summary .credit-box > strong { display:block; font-size:28px; color:#315a3d; font-weight:600; margin-top:4px; font-variant-numeric:tabular-nums; }
.retained-summary .credit-box small { display:block; font-size:11px; color:#64715f; margin-top:6px; line-height:1.7; }
.retained-summary .coverage { border-top:1px dashed var(--line); padding-top:16px; margin-top:17px; }
.retained-summary .coverage > div:first-child { font-size:12px; color:var(--green); font-weight:600; line-height:1.7; margin-bottom:12px; }
.retained-summary .coverage.needs-topup > div:first-child { color:var(--amber); }
.retained-summary .coverage p { font-size:11px; line-height:1.8; color:#826b50; margin-top:0; margin-bottom:14px; }
.retained-summary .waiver-box { padding:14px 13px; background:#f7f6ef; border:1px solid #e8e4d7; border-radius:8px; margin:17px 0; color:#756345; }
.retained-summary .waiver-box b { font-size:12px; line-height:1.6; font-weight:600; }
.retained-summary .waiver-box p { font-size:11px; line-height:1.85; margin-top:6px; }
.retained-summary .waiver-box small { font-size:10px; line-height:1.8; display:block; margin-top:5px; color:#7a6b53; }
.retained-summary .quote-warnings { border-top:1px solid var(--line); margin-top:14px; padding-top:13px; color:var(--muted); font-size:11px; line-height:1.8; }
.retained-summary .quote-warnings summary { cursor:pointer; }
.retained-summary .quote-warnings ul { padding-left:16px; margin:8px 0 0; }
.retained-summary .quote-warnings li + li { margin-top:5px; }
.retained-summary .invalid-help { font-size:12px; line-height:1.9; color:var(--muted); margin-top:14px; }
.retained-summary .input-warning { font-size:11px; line-height:1.8; padding:12px; background:#fff5e8; border:1px solid #e6d4b9; color:var(--amber); border-radius:8px; margin-top:14px; }
.retained-summary .button { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid transparent; border-radius:8px; padding:12px 16px; font-family:inherit; font-size:13px; font-weight:500; min-height:44px; line-height:1.5; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.retained-summary .button.primary { background:var(--green); border-color:var(--green); color:#fff; }
.retained-summary .button.primary:hover { background:#21543a; }
.retained-summary .button.secondary { border-color:#d6dfd5; background:#fff; color:#47634d; }
.retained-summary .button.secondary:hover { background:#f4f7f1; }
.retained-summary .button.full { width:100%; margin-top:15px; }
.retained-summary .button.full + .button.full { margin-top:9px; }
.retained-summary .button:disabled { opacity:.5; cursor:not-allowed; }
.retained-summary .button:focus-visible,
.retained-summary summary:focus-visible { outline:3px solid #5b8c6f; outline-offset:3px; }
.retained-summary .estimate-summary { padding:12px; margin-bottom:16px; border:1px solid #ead7b8; border-radius:8px; background:#fff8ed; font-size:11px; line-height:1.8; color:#745122; }
.retained-summary .estimate-summary b,
.retained-summary .estimate-summary span { display:block; }
.retained-summary .estimate-summary p { margin-top:5px; }

/* The native dialog owns its header/actions; the embedded V7 style owns the paper. */
.retained-quote-dialog { width:min(960px,calc(100vw - 48px)); max-width:960px; max-height:calc(100dvh - 48px); background:#fff; border:0; padding:0; border-radius:13px; box-shadow:0 15px 80px #07150c44; overflow:auto; }
.retained-quote-dialog::backdrop { background:#10241877; }
.retained-quote-dialog .retained-document { padding:26px 0 32px; background:#fff; overflow:auto; }
.retained-quote-dialog .retained-document > article.quote-doc.qv7 { margin-inline:auto; border:0; box-shadow:none; }
.retained-quote-dialog .dialog-head { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 22px; border-bottom:1px solid var(--line); position:sticky; top:0; background:#fff; z-index:1; }
.retained-quote-dialog .dialog-head h2 { margin:0; font-family:inherit; font-size:15px; }
.retained-quote-dialog .dialog-head button { padding:7px; color:var(--muted); border-radius:5px; }
.retained-quote-dialog .dialog-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; padding:18px 22px; border-top:1px solid var(--line); background:#fff; position:sticky; bottom:0; }
.retained-quote-dialog .retained-document-pending { padding:28px; color:var(--muted); font-size:13px; }
@media (max-width:760px) {
  .retained-summary { position:static; width:100%; }
  .retained-summary .summary-heading { padding:21px 21px 0; }
  .retained-summary .summary-heading p { font-size:11px; }
  .retained-summary .summary-heading > span { font-size:13px; }
  .retained-summary .payable { padding:13px 21px 22px; }
  .retained-summary .payable > strong { font-size:37px; }
  .retained-summary .summary-inner { padding:19px 21px; }
  .retained-summary .result-line,
  .retained-summary .result-line b { font-size:12px; }
  .retained-quote-dialog { width:calc(100vw - 24px); max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); border-radius:11px; }
  .retained-quote-dialog .retained-document { padding:22px 18px 28px; }
  .retained-quote-dialog .retained-document > article.quote-doc.qv7 { width:100%; min-width:0; }
  .retained-quote-dialog .dialog-head { padding:13px 16px; }
  .retained-quote-dialog .dialog-head h2 { font-size:14px; }
  .retained-quote-dialog .dialog-actions { gap:10px; padding:13px 16px; }
  .retained-quote-dialog .dialog-actions .button { font-size:12px; padding:11px 13px; }
}
@media (max-width:359px) {
  .retained-summary .summary-inner { padding:19px; }
  .retained-summary .result-line { gap:9px; font-size:11px; }
  .retained-summary .result-line b { font-size:11px; }
}
@media print {
  .retained-summary { position:static; }
  .retained-summary .summary-card { box-shadow:none; }
  .retained-summary .button,
  .retained-summary .quote-warnings,
  .retained-quote-dialog .dialog-head,
  .retained-quote-dialog .dialog-actions { display:none!important; }
  .retained-quote-dialog[open] { position:static; inset:auto; display:block; width:auto; max-width:none; max-height:none; margin:0; padding:0; border:0; border-radius:0; overflow:visible; box-shadow:none; }
  .retained-quote-dialog::backdrop { background:transparent; }
  .retained-quote-dialog .retained-document { padding:0; overflow:visible; }
  .retained-quote-dialog .retained-document > article.quote-doc.qv7 { margin:0; padding:0; }
}
