/* RenewalCheck Form v2.0 */

.rc-wrap {
  max-width: 560px;
  margin: 3rem auto;
  padding: 0 1rem;
  font-family: 'Mulish', -apple-system, sans-serif;
}

/* Step 2 (plan selection) needs extra width for 3 cards */
.rc-wrap--wide {
  max-width: 960px;
}

/* Step indicator */
.rc-steps-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
  gap: 0;
}

.rc-step-dot {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 2px solid #E8E6E0;
  background: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.78rem; font-weight: 700;
  color: #6B6965;
  transition: all 0.3s;
  flex-shrink: 0;
}

.rc-step-dot.active { border-color: #0C1F3F; background: #0C1F3F; color: #fff; }
.rc-step-dot.done   { border-color: #0F6E56; background: #0F6E56; color: #fff; }

.rc-step-line {
  flex: 1;
  height: 2px;
  background: #E8E6E0;
  max-width: 80px;
  transition: background 0.3s;
}

.rc-step-line.done { background: #0F6E56; }

/* Card */
.rc-card {
  background: #fff;
  border: 1px solid #E8E6E0;
  border-radius: 16px;
  padding: 2.5rem;
  box-shadow: 0 2px 24px rgba(12,31,63,0.05);
}

.rc-step-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #0F6E56;
  margin-bottom: 0.5rem;
}

.rc-step-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #0C1F3F;
  margin: 0 0 0.5rem;
  letter-spacing: -0.02em;
}

.rc-step-sub {
  font-size: 0.85rem;
  color: #6B6965;
  margin: 0 0 1.75rem;
  line-height: 1.65;
}

/* Fields */
.rc-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.rc-field { display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 1.25rem; }

.rc-field label,
.rc-field-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: #1A1918;
}

.rc-opt { font-weight: 400; color: #6B6965; font-size: 0.75rem; }

.rc-field input,
.rc-field select,
.rc-field textarea {
  border: 1px solid #E8E6E0;
  border-radius: 8px;
  padding: 0.65rem 0.875rem;
  font-size: 0.875rem;
  font-family: inherit;
  color: #1A1918;
  background: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
  outline: none;
  width: 100%;
  box-sizing: border-box;
}

.rc-field input:focus,
.rc-field select:focus,
.rc-field textarea:focus {
  border-color: #0C1F3F;
  box-shadow: 0 0 0 3px rgba(12,31,63,0.08);
}

.rc-field textarea { resize: vertical; min-height: 80px; }

/* Radio group */
.rc-radio-group { display: flex; flex-direction: column; gap: 0.5rem; }

.rc-radio-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid #E8E6E0;
  border-radius: 8px;
  padding: 0.75rem 1rem;
  cursor: pointer;
  font-size: 0.875rem;
  color: #1A1918;
  transition: border-color 0.2s, background 0.2s;
  font-weight: 400;
}

.rc-radio-option:hover { border-color: #0C1F3F; background: #FAF9F6; }
.rc-radio-option input[type="radio"] { accent-color: #0C1F3F; width: 16px; height: 16px; }
.rc-radio-option.selected { border-color: #0C1F3F; background: #FAF9F6; font-weight: 600; }

/* Price block */
.rc-price-block {
  background: #0C1F3F;
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

.rc-price-block-inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.rc-price-label {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.5);
  margin-bottom: 0.25rem;
}

.rc-checkout-plan .rc-price-amount {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 2.8rem;
  color: #fff;
  line-height: 1;
  margin-bottom: 0.25rem;
}

.rc-price-sub { font-size: 0.75rem; color: rgba(255,255,255,0.4); }

.rc-price-badge {
  background: #0F6E56;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 0.35rem 0.85rem;
  border-radius: 99px;
  margin-top: 0.25rem;
}

/* What you get */
.rc-what-you-get { margin-bottom: 1.75rem; }

.rc-wyg-label {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #6B6965;
  margin-bottom: 0.75rem;
}

.rc-wyg-item {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.85rem;
  color: #1A1918;
  padding: 0.5rem 0;
  border-bottom: 1px solid #F2F0EB;
  line-height: 1.4;
}

.rc-wyg-item:last-child { border-bottom: none; }
.rc-wyg-item svg { flex-shrink: 0; margin-top: 2px; }

/* Stripe element */
#rc-stripe-element-wrap { margin-bottom: 1.5rem; }

#rc-stripe-element {
  border: 1px solid #E8E6E0;
  border-radius: 8px;
  padding: 0.75rem 0.875rem;
  background: #fff;
  transition: border-color 0.2s;
  margin-top: 0.35rem;
}

/* Upload zone */
.rc-upload-zone {
  position: relative;
  border: 2px dashed #E8E6E0;
  border-radius: 10px;
  padding: 2.5rem 1rem;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
  background: #FAF9F6;
}

.rc-upload-zone:hover,
.rc-upload-zone.drag-over { border-color: #0F6E56; background: #E1F5EE; }

.rc-upload-zone input[type="file"] {
  position: absolute; inset: 0;
  opacity: 0; cursor: pointer;
  width: 100%; height: 100%;
}

.rc-upload-inner { pointer-events: none; }
.rc-upload-text { font-size: 0.9rem; color: #1A1918; margin: 0.75rem 0 0.25rem; }
.rc-upload-hint { font-size: 0.75rem; color: #6B6965; }
.rc-upload-name { font-size: 0.8rem; font-weight: 600; color: #0F6E56; margin-top: 0.5rem; }

/* Supplemental upload zone in quote modal */
.rc-supp-upload-zone {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 0.85rem;
  border: 1.5px dashed #D0CCC6;
  border-radius: 8px;
  cursor: pointer;
  font-size: 0.8rem;
  color: #0C1F3F;
  font-weight: 500;
  background: #FAF9F6;
  transition: border-color 0.2s, background 0.2s;
  user-select: none;
}
.rc-supp-upload-zone:hover { border-color: #0F6E56; background: #F0FAF6; }
.rc-supp-hint { font-size: 0.72rem; color: #9B9895; margin-left: auto; }
#rc-supp-file-list { margin-top: 0.4rem; }

/* AI processing consent — required checkbox above submit button */
.rc-ai-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.8rem;
  color: #6B6965;
  line-height: 1.55;
  cursor: pointer;
  padding: 0.85rem 1rem;
  background: #FAF9F6;
  border: 1px solid #E8E6E0;
  border-radius: 8px;
  margin-bottom: 1rem;
}
.rc-ai-consent input {
  margin-top: 3px;
  flex-shrink: 0;
  accent-color: #0F6E56;
  width: 16px;
  height: 16px;
  cursor: pointer;
}

/* Buttons */
.rc-btn-next,
.rc-btn-pay,
.rc-btn-submit {
  width: 100%;
  background: #0C1F3F;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 0.9rem 1rem;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.rc-btn-next:hover,
.rc-btn-pay:hover,
.rc-btn-submit:hover { background: #0F6E56; }

.rc-btn-next:disabled,
.rc-btn-pay:disabled,
.rc-btn-submit:disabled { opacity: 0.6; cursor: not-allowed; }

/* Identity bar shown to logged-in users on Step 1 — replaces name/email fields */
.rc-identity-bar {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  background: #FAF9F6;
  border: 1px solid #E8E6E0;
  border-radius: 10px;
  padding: 0.85rem 1rem;
  margin: 0.25rem 0 1.25rem;
}
.rc-identity-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0F6E56 0%, #0C1F3F 100%);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.rc-identity-text {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}
.rc-identity-name {
  font-size: 0.92rem;
  font-weight: 600;
  color: #1A1918;
  line-height: 1.3;
}
.rc-identity-email {
  font-size: 0.78rem;
  color: #6B6965;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Step 3 action area: Continue button + secondary "Skip" link */
.rc-step3-actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.rc-btn-skip {
  background: none;
  border: none;
  color: #6B6965;
  font-size: 0.85rem;
  font-weight: 500;
  font-family: inherit;
  text-decoration: underline;
  cursor: pointer;
  padding: 0.5rem;
  align-self: center;
  transition: color 0.15s;
}
.rc-btn-skip:hover { color: #0C1F3F; }

/* Inline "(all optional)" indicator next to the step 3 title */
.rc-opt-inline {
  font-size: 0.7em;
  font-weight: 400;
  color: #9B9895;
  letter-spacing: 0.02em;
  margin-left: 0.4em;
}

.rc-btn-back {
  width: 100%;
  background: transparent;
  color: #6B6965;
  border: 1px solid #E8E6E0;
  border-radius: 8px;
  padding: 0.75rem;
  font-family: inherit;
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.2s;
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
}

.rc-btn-back:hover { border-color: #0C1F3F; color: #0C1F3F; }

.rc-secure-note {
  font-size: 0.75rem;
  color: #6B6965;
  text-align: center;
  margin: 0 0 0.75rem;
}

/* Errors */
.rc-errors {
  background: #FCEBEB;
  border: 1px solid #f5c6c6;
  border-radius: 8px;
  padding: 0.75rem 1rem;
  font-size: 0.82rem;
  color: #A32D2D;
  margin-bottom: 1rem;
}

/* Success */
.rc-success-card { text-align: center; padding: 3rem 2rem; }
.rc-success-icon {
  width: 64px; height: 64px;
  background: #EAF3DE;
  color: #3B6D11;
  font-size: 1.8rem;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1.5rem;
}

/* Responsive */
@media (max-width: 540px) {
  .rc-card { padding: 1.5rem; }
  .rc-field-row { grid-template-columns: 1fr; }
}

/* Payment confirmed banner */
.rc-payment-confirmed {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  background: #EAF3DE;
  border: 1px solid #C0DD97;
  border-radius: 8px;
  padding: 0.85rem 1rem;
  font-size: 0.85rem;
  color: #3B6D11;
  font-weight: 600;
  margin-bottom: 1.5rem;
}

/* ── Force styles regardless of theme overrides ── */
.rc-step-label {
  display: block !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: #0F6E56 !important;
  text-transform: uppercase !important;
  margin-bottom: 0.5rem !important;
}

.rc-step-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.6rem !important;
  font-weight: 400 !important;
  color: #0C1F3F !important;
  margin: 0 0 0.5rem !important;
  padding: 0 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  border: none !important;
}

.rc-step-sub {
  font-size: 0.85rem !important;
  color: #6B6965 !important;
  margin: 0 0 1.75rem !important;
  padding: 0 !important;
  line-height: 1.65 !important;
}

.rc-price-amount {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 2.8rem !important;
  color: #0C1F3F !important;
  line-height: 1 !important;
  margin-bottom: 0.25rem !important;
  display: block !important;
}

/* Processing note */
.rc-processing-note {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  background: #E1F5EE;
  border: 1px solid #9FE1CB;
  border-radius: 8px;
  padding: 0.85rem 1rem;
  font-size: 0.82rem;
  color: #0C1F3F;
  line-height: 1.6;
  margin-bottom: 1rem;
}

.rc-processing-note svg {
  flex-shrink: 0;
  margin-top: 2px;
  animation: rc-spin 2s linear infinite;
}

@keyframes rc-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}



/* ── DASHBOARD ── */
.rc-dashboard { max-width:900px;margin:0 auto;padding:0 1rem 4rem;font-family:'Mulish',sans-serif; }
.rc-dashboard-gate { max-width:500px;margin:4rem auto;text-align:center;font-size:0.9rem;color:#6B6965; }
.rc-dashboard-gate a { color:#0F6E56;font-weight:600; }

/* Header */
.rc-dashboard-header { display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #E8E6E0; }
.rc-dashboard-title { font-family:'Playfair Display',Georgia,serif!important;font-size:2rem!important;font-weight:400!important;color:#0C1F3F!important;margin:0 0 0.25rem!important;padding:0!important;border:none!important;letter-spacing:-0.02em!important; }
.rc-dashboard-sub { font-size:0.82rem;color:#6B6965;margin:0!important; }
.rc-dashboard-sub a { color:#0F6E56;font-weight:600; }
.rc-sub-badge { display:inline-flex;align-items:center;gap:0.3rem;color:#0F6E56;font-weight:700;font-size:0.82rem; }
.rc-sub-badge--basic { color:#0C1F3F; }
.rc-sub-badge--free  { color:#6B6965; }
.rc-header-actions { display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap; }

/* Buttons */
.rc-btn-new-report { display:inline-flex;align-items:center;gap:0.5rem;background:#0C1F3F;color:#fff;padding:0.65rem 1.25rem;border-radius:8px;font-size:0.85rem;font-weight:600;text-decoration:none;transition:background 0.2s;white-space:nowrap; }
.rc-btn-new-report:hover { background:#0F6E56;color:#fff; }
.rc-btn-upgrade { display:inline-flex;align-items:center;gap:0.4rem;background:#F0EAF8;color:#6B3FA0;padding:0.65rem 1.25rem;border-radius:8px;font-size:0.85rem;font-weight:700;text-decoration:none;transition:all 0.2s;white-space:nowrap;border:1px solid #D4C5EC; }
.rc-btn-upgrade:hover { background:#6B3FA0;color:#fff; }

/* ── ACCOUNT MENU ── */
.rc-account-menu { position: relative; }
.rc-account-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: #fff;
  border: 1px solid #E8E6E0;
  border-radius: 99px;
  padding: 0.3rem 0.6rem 0.3rem 0.3rem;
  cursor: pointer;
  transition: all 0.15s;
  font-family: 'Mulish', sans-serif;
}
.rc-account-trigger:hover {
  border-color: #0C1F3F;
  box-shadow: 0 2px 8px rgba(12,31,63,0.08);
}
.rc-account-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0F6E56 0%, #0C1F3F 100%);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.15);
}
.rc-account-chevron {
  color: #6B6965;
  transition: transform 0.2s;
}
.rc-account-menu--open .rc-account-chevron {
  transform: rotate(180deg);
  color: #0C1F3F;
}
.rc-account-dropdown {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  min-width: 240px;
  background: #fff;
  border: 1px solid #E8E6E0;
  border-radius: 12px;
  padding: 0.5rem;
  box-shadow: 0 12px 32px -8px rgba(12,31,63,0.18), 0 2px 6px rgba(12,31,63,0.04);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity 0.15s, transform 0.15s, visibility 0.15s;
  z-index: 100;
}
.rc-account-menu--open .rc-account-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.rc-account-dropdown-header {
  padding: 0.6rem 0.75rem 0.75rem;
  border-bottom: 1px solid #F2F0EB;
  margin-bottom: 0.4rem;
}
.rc-account-name {
  font-size: 0.88rem;
  font-weight: 600;
  color: #0C1F3F;
  line-height: 1.3;
  margin-bottom: 0.15rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rc-account-email {
  font-size: 0.76rem;
  color: #6B6965;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rc-account-item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.55rem 0.75rem;
  font-size: 0.85rem;
  color: #1A1918;
  text-decoration: none;
  border-radius: 7px;
  transition: background 0.12s, color 0.12s;
  font-family: 'Mulish', sans-serif;
}
.rc-account-item svg {
  flex-shrink: 0;
  color: #6B6965;
  transition: color 0.12s;
}
.rc-account-item:hover {
  background: #FAF9F6;
  color: #0C1F3F;
}
.rc-account-item:hover svg {
  color: #0F6E56;
}
.rc-account-divider {
  height: 1px;
  background: #F2F0EB;
  margin: 0.4rem 0;
}
.rc-account-item--signout { color: #6B6965; }
.rc-account-item--signout:hover {
  background: #FCEBEB;
  color: #A32D2D;
}
.rc-account-item--signout:hover svg { color: #A32D2D; }
@media (max-width: 560px) {
  .rc-account-dropdown { right: -0.5rem; min-width: 220px; }
}

/* Tabs */
.rc-tabs { display:flex;gap:0;margin-bottom:1.75rem;border-bottom:2px solid #E8E6E0;overflow-x:auto;scrollbar-width:none; }
.rc-tabs::-webkit-scrollbar { display:none; }
.rc-tab { display:inline-flex;align-items:center;gap:0.4rem;padding:0.75rem 1.1rem;font-size:0.8rem;font-weight:500;color:#6B6965;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all 0.2s;white-space:nowrap; }
.rc-tab svg { opacity:0.6;transition:opacity 0.2s; }
.rc-tab:hover { color:#0C1F3F; }
.rc-tab:hover svg { opacity:1; }
.rc-tab.active { color:#0C1F3F;font-weight:700;border-bottom-color:#0C1F3F; }
.rc-tab.active svg { opacity:1; }
.rc-tab-label { display:inline; }
.rc-tab-count { background:#F2F0EB;color:#6B6965;font-size:0.65rem;font-weight:700;padding:0.1rem 0.45rem;border-radius:99px;min-width:18px;text-align:center;line-height:1.4; }
.rc-tab.active .rc-tab-count { background:#0C1F3F;color:#fff; }

/* Empty */
.rc-dashboard-empty { text-align:center;padding:3rem 2rem;background:#FAF9F6;border:1px solid #E8E6E0;border-radius:12px;margin-bottom:1.5rem; }
.rc-dashboard-empty-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 30% 30%, #fff 0%, #E1F5EE 60%, #C8EBDD 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.8),
    inset 0 0 0 1px rgba(15,110,86,0.1),
    0 4px 16px -4px rgba(15,110,86,0.2);
}
.rc-dashboard-empty p { font-size:0.9rem;color:#6B6965;margin:1rem 0 1.5rem; }

/* Policy list */
.rc-policy-list { display:flex;flex-direction:column;gap:10px;margin-bottom:1.5rem; }
.rc-policy-card { background:#fff;border:1px solid #E8E6E0;border-radius:12px;padding:1.25rem 1.5rem;display:flex;gap:1.25rem;align-items:flex-start;transition:box-shadow 0.2s,transform 0.15s; }
.rc-policy-card:hover { box-shadow:0 4px 24px rgba(12,31,63,0.09);transform:translateY(-1px); }
.rc-policy-card-left { flex-shrink:0; }
.rc-policy-type-icon {
  width:44px;
  height:44px;
  border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  position:relative;
  background-image: linear-gradient(135deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0) 55%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.7),
    inset 0 0 0 1px rgba(12,31,63,0.06),
    0 1px 2px rgba(12,31,63,0.04),
    0 4px 12px -4px rgba(12,31,63,0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.rc-policy-card:hover .rc-policy-type-icon {
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.8),
    inset 0 0 0 1px rgba(12,31,63,0.08),
    0 2px 4px rgba(12,31,63,0.06),
    0 8px 20px -6px rgba(12,31,63,0.14);
}
.rc-policy-type-icon svg {
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,0.6));
}
.rc-policy-card-body { flex:1;min-width:0; }
.rc-policy-card-top { display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:0.9rem; }
.rc-policy-type-badge { font-size:0.65rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:0.18rem 0.6rem;border-radius:99px;display:inline-block;margin-bottom:0.3rem; }
.rc-policy-address { font-size:0.92rem!important;font-weight:600!important;color:#0C1F3F!important;margin:0 0 0.15rem!important;padding:0!important;border:none!important;font-family:'Mulish',sans-serif!important; }
.rc-policy-meta { font-size:0.76rem;color:#6B6965;margin:0; }
.rc-policy-renewal-col { text-align:right;flex-shrink:0; }
.rc-renewal-badge { display:inline-flex;align-items:center;gap:0.3rem;font-size:0.72rem;font-weight:700;padding:0.25rem 0.7rem;border-radius:99px;white-space:nowrap;margin-bottom:0.15rem; }
.rc-renewal-badge--urgent { background:#FCEBEB;color:#A32D2D; }
.rc-renewal-badge--soon { background:#FAEEDA;color:#854F0B; }
.rc-renewal-badge--ok { background:#EAF3DE;color:#3B6D11; }
.rc-renewal-badge--expired { background:#FCEBEB;color:#A32D2D; }
.rc-renewal-badge--none { display:none; }
.rc-renewal-date { font-size:0.7rem;color:#9B9895; }
.rc-policy-card-bottom { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem;padding-top:0.75rem;border-top:1px solid #F2F0EB; }
.rc-policy-actions { display:flex;gap:0.5rem;flex-wrap:wrap;align-items:center; }

/* Action buttons */
.rc-action-btn { display:inline-block;padding:0.38rem 0.85rem;border-radius:6px;font-size:0.78rem;font-weight:600;text-decoration:none;transition:all 0.2s;white-space:nowrap;border:none;cursor:pointer;font-family:'Mulish',sans-serif; }
.rc-action-btn--view { background:#0F6E56;color:#fff; }
.rc-action-btn--view:hover { background:#0C1F3F;color:#fff; }
.rc-action-btn--quote { background:#FAF9F6;color:#0C1F3F;border:1px solid #E8E6E0; }
.rc-action-btn--quote:hover { border-color:#0C1F3F; }
.rc-action-btn--upload { background:#0C1F3F;color:#fff; }
.rc-action-btn--upload:hover { background:#0F6E56;color:#fff; }
.rc-action-error { font-size:0.76rem;color:#A32D2D; }
.rc-action-processing { display:inline-flex;align-items:center;gap:0.4rem;font-size:0.76rem;color:#0F6E56;font-weight:500; }

/* Mismatch banner — shown when Claude detected the wrong document type was uploaded */
.rc-policy-mismatch {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  background: #FFF8E8;
  border: 1px solid #F2DBA1;
  border-radius: 8px;
  padding: 0.75rem 0.95rem;
  margin: 0.85rem 0 0.5rem;
}
.rc-mismatch-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}
.rc-mismatch-text {
  flex: 1;
  min-width: 0;
}
.rc-mismatch-title {
  font-size: 0.85rem;
  font-weight: 600;
  color: #854F0B;
  margin-bottom: 0.2rem;
}
.rc-mismatch-body {
  font-size: 0.78rem;
  color: #5C3805;
  line-height: 1.45;
}
.rc-mismatch-body small { color: #6B6965; font-size: 0.95em; }

/* Delete policy — quiet by default, red on hover */
.rc-action-delete {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  background: transparent;
  color: #9B9895;
  border: none;
  padding: 0.38rem 0.5rem;
  font-size: 0.76rem;
  font-weight: 500;
  font-family: 'Mulish', sans-serif;
  cursor: pointer;
  border-radius: 6px;
  transition: color 0.15s, background 0.15s;
  margin-left: 0.25rem;
}
.rc-action-delete:hover {
  color: #A32D2D;
  background: #FCEBEB;
}
.rc-action-delete svg { flex-shrink: 0; }

/* Secondary action buttons — Edit / Download — matches Delete's subtle styling */
.rc-action-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  background: transparent;
  color: #6B6965;
  border: none;
  padding: 0.38rem 0.5rem;
  font-size: 0.76rem;
  font-weight: 500;
  font-family: 'Mulish', sans-serif;
  cursor: pointer;
  border-radius: 6px;
  transition: color 0.15s, background 0.15s;
  margin-left: 0.25rem;
  text-decoration: none;
}
.rc-action-secondary:hover {
  color: #0F6E56;
  background: #E1F5EE;
}
.rc-action-secondary svg { flex-shrink: 0; }

/* Inline delete confirmation panel — hidden initially via inline style, jQuery toggles */
.rc-policy-delete-confirm {
  margin-top: 0.85rem;
  padding: 0.85rem 1rem;
  background: #FCEBEB;
  border: 1px solid #F2C9C9;
  border-radius: 8px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.rc-delete-confirm-text {
  font-size: 0.82rem;
  color: #A32D2D;
  font-weight: 500;
}
.rc-delete-confirm-actions {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}
.rc-delete-cancel,
.rc-delete-confirm-btn {
  font-family: 'Mulish', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.4rem 0.85rem;
  border-radius: 6px;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.15s;
}
.rc-delete-cancel {
  background: #fff;
  color: #6B6965;
  border-color: #E8E6E0;
}
.rc-delete-cancel:hover {
  border-color: #0C1F3F;
  color: #0C1F3F;
}
.rc-delete-confirm-btn {
  background: #A32D2D;
  color: #fff;
  border-color: #A32D2D;
}
.rc-delete-confirm-btn:hover {
  background: #8B2424;
  border-color: #8B2424;
}
.rc-delete-confirm-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}
@keyframes rc-spin { from{transform:rotate(0deg)}to{transform:rotate(360deg)} }

/* Tracker */
.rc-tracker { display:flex;align-items:center; }
.rc-tracker-step { display:flex;flex-direction:column;align-items:center;gap:3px; }
.rc-tracker-dot { width:22px;height:22px;border-radius:50%;border:2px solid #E8E6E0;background:#fff;display:flex;align-items:center;justify-content:center;font-size:0.6rem;font-weight:700;color:#9B9895; }
.rc-tracker-step.done .rc-tracker-dot { background:#0F6E56;border-color:#0F6E56;color:#fff; }
.rc-tracker-label { font-size:0.57rem;color:#9B9895;white-space:nowrap; }
.rc-tracker-step.done .rc-tracker-label { color:#0F6E56;font-weight:600; }
.rc-tracker-line { width:26px;height:2px;background:#E8E6E0;margin-bottom:14px; }
.rc-tracker-line.done { background:#0F6E56; }

/* Stats */
.rc-dash-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;padding:1.2rem;background:#FAF9F6;border:1px solid #E8E6E0;border-radius:12px; }
.rc-dash-stat { text-align:center; }
.rc-dash-stat-value { font-family:'Playfair Display',serif;font-size:2rem;color:#0C1F3F;line-height:1;margin-bottom:0.2rem; }
.rc-dash-stat-label { font-size:0.72rem;color:#6B6965; }

/* Upgrade banner */
.rc-upgrade-banner { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.25rem 1.5rem;background:#F0EAF8;border:1px solid #D4C5EC;border-radius:12px;margin-bottom:1.5rem; }
.rc-upgrade-banner-content { display:flex;align-items:center;gap:1rem; }
.rc-upgrade-banner-icon { font-size:1.5rem; }
.rc-upgrade-banner-title { font-weight:700;color:#6B3FA0;font-size:0.9rem;margin-bottom:0.2rem; }
.rc-upgrade-banner-sub { font-size:0.8rem;color:#6B6965; }
.rc-upgrade-banner-actions { display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap; }
.rc-btn-upgrade-inline { display:inline-block;background:#6B3FA0;color:#fff;padding:0.6rem 1.25rem;border-radius:8px;font-size:0.85rem;font-weight:600;text-decoration:none;transition:background 0.2s; }
.rc-btn-upgrade-inline:hover { background:#0C1F3F;color:#fff; }
.rc-btn-add-one { font-size:0.82rem;color:#6B6965;text-decoration:underline; }
.rc-btn-add-one:hover { color:#0C1F3F; }

/* Modal */
/* ── MODAL ── */
.rc-modal-overlay {
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.5);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:1rem;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.rc-modal {
  background:#fff;
  border-radius:16px;
  max-width:480px;
  width:100%;
  max-height:calc(100vh - 2rem);
  text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,0.2);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  position:relative;
}
.rc-modal-close {
  position:absolute;
  top:0.75rem;
  right:0.75rem;
  width:32px;
  height:32px;
  background:rgba(255,255,255,0.95);
  border:1px solid #E8E6E0;
  border-radius:50%;
  font-size:1.25rem;
  color:#6B6965;
  cursor:pointer;
  line-height:1;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
  transition:all 0.15s;
  box-shadow:0 2px 6px rgba(0,0,0,0.06);
}
.rc-modal-close:hover {
  color:#0C1F3F;
  border-color:#0C1F3F;
  transform:scale(1.05);
}
.rc-modal-icon {
  font-size:2.5rem;
  margin:1.75rem auto 1rem;
  flex-shrink:0;
  text-align:center;
}
.rc-modal-icon--svg {
  width:64px;
  height:64px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background: radial-gradient(circle at 30% 30%, #fff 0%, #E1F5EE 60%, #9FE1CB 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.85),
    inset 0 0 0 1px rgba(15,110,86,0.12),
    0 6px 18px -6px rgba(15,110,86,0.28);
}
.rc-modal-icon--svg svg {
  width:28px;
  height:28px;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,0.6));
}
.rc-modal-title { font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:400;color:#0C1F3F;margin:0 0 0.75rem;padding:0 2rem;flex-shrink:0;text-align:center; }
.rc-modal-body { font-size:0.85rem;color:#6B6965;line-height:1.7;margin:0 0 1.5rem;padding:0 2rem;flex-shrink:0;text-align:center; }
.rc-modal-actions { display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;padding:0 2rem 2rem; }

/* Footer */
.rc-dashboard-footer-note { text-align:center;font-size:0.8rem;color:#6B6965;margin-top:1.5rem; }
.rc-dashboard-footer-note a { color:#0F6E56; }

/* Processing note (form) */
.rc-processing-note { display:flex;align-items:flex-start;gap:0.6rem;background:#E1F5EE;border:1px solid #9FE1CB;border-radius:8px;padding:0.85rem 1rem;font-size:0.82rem;color:#0C1F3F;line-height:1.6;margin-bottom:1rem; }

/* Responsive */
@media (max-width:640px) {
  .rc-policy-card { flex-direction:column;gap:0.75rem; }
  .rc-policy-card-top { flex-direction:column; }
  .rc-policy-renewal-col { text-align:left; }
  .rc-dashboard-header { flex-direction:column; }
  .rc-dash-stats { grid-template-columns:1fr; }
  .rc-tabs { gap:0; }
  .rc-upgrade-banner { flex-direction:column; }
  .rc-account-dropdown { top: auto; bottom: calc(100% + 0.5rem); right: auto; left: 0; z-index: 200; min-width: 260px; }
}

/* Dynamic fields section label */
.rc-dynamic-section-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #0F6E56;
  margin: 1.5rem 0 1rem;
}

/* Quote modal form */
.rc-modal--wide { max-width:640px; }
.rc-modal--wide .rc-modal-body { margin-bottom:0; }
.rc-modal--wide #rc-quote-form,
.rc-modal--wide #rc-edit-form {
  padding: 1.5rem 2rem 2rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  flex: 1 1 auto;
  min-height: 0;
  text-align: left;
}

.rc-quote-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-bottom:0.75rem; }
@media (max-width:520px) { .rc-quote-form-grid { grid-template-columns:1fr; } }

.rc-qf-field { display:flex;flex-direction:column;gap:0.3rem;text-align:left; }
.rc-qf-field--full { grid-column:1/-1;margin-bottom:0.75rem; }
.rc-qf-field label { font-size:0.75rem;font-weight:600;color:#0C1F3F;text-align:left; }
.rc-qf-input { width:100%;padding:0.5rem 0.75rem;border:1px solid #E8E6E0;border-radius:6px;font-size:0.85rem;font-family:'Mulish',sans-serif;color:#0C1F3F;background:#fff;transition:border 0.2s;box-sizing:border-box; }
.rc-qf-input:focus { outline:none;border-color:#0F6E56; }
textarea.rc-qf-input { resize:vertical; }

.rc-qf-extra { margin-bottom:0.75rem; }

.rc-qf-consent { display:flex;align-items:flex-start;gap:0.6rem;font-size:0.78rem;color:#6B6965;line-height:1.5;cursor:pointer;margin-bottom:0.25rem; }
.rc-qf-consent input { margin-top:2px;flex-shrink:0;accent-color:#0F6E56; }

/* Mobile: tighter modal padding */
@media (max-width:520px) {
  .rc-modal-overlay { padding:0.5rem; }
  .rc-modal { max-height:calc(100vh - 1rem);border-radius:12px; }
  .rc-modal-icon { font-size:2rem;margin:1.25rem 0 0.5rem; }
  .rc-modal-title { font-size:1.15rem;padding:0 1.25rem; }
  .rc-modal-body { padding:0 1.25rem;margin-bottom:1rem; }
  .rc-modal--wide #rc-quote-form,
  .rc-modal--wide #rc-edit-form { padding:1rem 1.25rem 1.5rem; }
}

/* ── PLAN SELECTION (Step 3) ── */
.rc-plan-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 560px) { .rc-plan-options { grid-template-columns: 1fr; } }

.rc-plan-options--three {
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.75rem;
}
@media (max-width: 860px) { .rc-plan-options--three { grid-template-columns: 1fr; gap: 0.75rem; } }

.rc-plan-price-was { font-size: 0.78rem; color: #A32D2D; margin-bottom: 0.25rem; }

.rc-plan-card {\n  position: relative;\n  border: 2px solid #E8E6E0;\n  border-radius: 12px;\n  padding: 1rem;\n  cursor: pointer;\n  transition: all 0.2s;\n  background: #fff;\n}
.rc-plan-card:hover { border-color: #0C1F3F; }
.rc-plan-card--selected { border-color: #0C1F3F; background: #F5F7FC; }
.rc-plan-card--featured { border-color: #6B3FA0; }
.rc-plan-card--featured.rc-plan-card--selected { border-color: #6B3FA0; background: #F8F5FC; }

.rc-plan-badge {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: #6B3FA0;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.2rem 0.75rem;
  border-radius: 99px;
  white-space: nowrap;
}

.rc-plan-check {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid #E8E6E0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  font-weight: 700;
  color: #fff;
  background: #fff;
  margin-bottom: 0.75rem;
  transition: all 0.2s;
}
.rc-plan-card--selected .rc-plan-check { background: #0C1F3F; border-color: #0C1F3F; }
.rc-plan-card--featured.rc-plan-card--selected .rc-plan-check { background: #6B3FA0; border-color: #6B3FA0; }

.rc-plan-name {
  font-size: 0.8rem;
  font-weight: 700;
  color: #6B6965;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.25rem;
}
.rc-plan-price {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.6rem;
  color: #0C1F3F;
  line-height: 1.1;
  margin-bottom: 0.4rem;
}
.rc-plan-price span { font-family: 'Mulish', sans-serif; font-size: 0.78rem; color: #6B6965; }
.rc-plan-desc { font-size: 0.78rem; color: #6B6965; margin-bottom: 0.75rem; line-height: 1.5; }
.rc-plan-features { list-style: none; margin: 0; padding: 0; }
.rc-plan-features li {
  font-size: 0.74rem;
  color: #0C1F3F;
  padding: 0.15rem 0;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.35;
}
.rc-plan-features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #0F6E56;
  font-weight: 700;
  font-size: 0.7rem;
}

/* Dynamic fields grid */
.rc-dynamic-grid { flex-wrap: wrap; }
.rc-dynamic-grid .rc-field { flex: 1 1 calc(50% - 0.5rem); min-width: 200px; }

/* ── DASHBOARD BACK BUTTON ── */
.rc-dashboard-back {
  max-width: 520px;
  margin: 0 auto 1.25rem;
  padding: 0 1rem;
}
.rc-dashboard-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #0C1F3F;
  background: #fff;
  border: 1px solid #E8E6E0;
  border-radius: 8px;
  padding: 0.55rem 1rem;
  text-decoration: none;
  transition: all 0.2s;
  font-family: 'Mulish', sans-serif;
}
.rc-dashboard-back-link:hover {
  border-color: #0C1F3F;
  background: #FAF9F6;
  color: #0F6E56;
}
