.quote-help-launcher {
  position: fixed; z-index: 125; right: 24px; bottom: 24px;
  display: inline-flex; align-items: center; gap: 9px; min-height: 46px;
  padding: 11px 16px; border: 1px solid #41654d; border-radius: 6px;
  color: #fff; background: #193d2a; box-shadow: 0 4px 16px rgba(14,35,21,.18);
  font-size: 13px; font-weight: 700; cursor: pointer;
}
.quote-help-launcher img { width: 20px; height: 20px; filter: brightness(0) invert(1); }
.quote-help-launcher:hover { background: #244f38; }
body.quote-help-open { overflow: hidden; }
.quote-help-dialog {
  position: fixed; inset: auto 24px 24px auto; margin: 0;
  width: min(420px, calc(100% - 32px)); max-width: none;
  max-height: calc(100dvh - 48px); padding: 0;
  border: 1px solid #ced8cf; border-radius: 8px; color: #17211b; background: #fff;
  box-shadow: 0 18px 60px rgba(16,38,23,.2); font-size: 15px; line-height: 1.65;
}
.quote-help-dialog[open] { display: flex; flex-direction: column; }
.quote-help-dialog::backdrop { background: rgba(11,24,16,.35); }
.quote-help-header { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; border-bottom: 1px solid #e0e6e0; }
.quote-help-header p { margin: 0 0 3px; color: #52715e; font-size: 11px; font-weight: 650; }
.quote-help-header h2 { margin: 0; font-size: 22px; line-height: 1.2; }
.quote-help-icon-button { display: grid; width: 44px; height: 44px; flex-shrink: 0; place-items: center; padding: 10px; border: 0; border-radius: 4px; background: #f1f5f2; cursor: pointer; }
.quote-help-icon-button img { width: 20px; height: 20px; }
.quote-help-content { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 20px; }
.quote-help-content > .button, .quote-help-form > .button { width: 100%; }
.quote-help-content h3 { margin: 4px 0 14px; font-size: 21px; line-height: 1.3; }
.quote-help-content p { font-size: 15px; }
.quote-help-topics { margin-top: 16px; }
.quote-help-topic { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 48px; padding: 13px 0; border: 0; border-bottom: 1px solid #e0e6e0; color: #213c2b; background: transparent; text-align: left; font-size: 14px; font-weight: 600; cursor: pointer; }
.quote-help-topic img { width: 18px; height: 18px; flex: 0 0 18px; }
.quote-help-topic:hover { color: #356f4c; }
.quote-help-back { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; margin: -8px 0 12px; padding: 0; border: 0; color: #285d42; background: transparent; font-size: 13px; font-weight: 650; cursor: pointer; }
.quote-help-detail-link { display: block; width: fit-content; margin: 20px 0; color: #285d42; font-size: 14px; font-weight: 650; }
.quote-help-footer { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 15px 20px; border-top: 1px solid #e0e6e0; background: #f5f7f5; font-size: 12px; font-weight: 650; }
.quote-help-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.quote-help-form { display: grid; gap: 15px; }
.quote-help-form h3 { margin-top: 0; }
.quote-help-form select, .quote-help-form textarea { font-size: 16px; }
.quote-help-form textarea { min-height: 95px; }
.quote-help-status:empty { display: none; }
.quote-help-form .quote-help-status { margin: 0; color: #7b2d1b; font-size: 13px; }
.quote-help-fallback { font-weight: 650; }
@media (max-width: 720px) {
  body { padding-bottom: calc(128px + env(safe-area-inset-bottom)); }
  .quote-help-launcher { right: 12px; bottom: calc(82px + env(safe-area-inset-bottom)); min-height: 44px; padding: 10px 13px; }
  .quote-help-dialog { right: 12px; bottom: calc(82px + env(safe-area-inset-bottom)); width: calc(100% - 24px); max-height: calc(100dvh - 106px - env(safe-area-inset-bottom)); }
  .quote-help-header, .quote-help-content { padding: 16px; }
  .quote-help-footer { padding: 10px 16px; }
}
@media print { .quote-help-launcher, .quote-help-dialog { display: none !important; } }
