.service-warranty { margin: 18px 0; border: 1px solid #cedae4; border-radius: 18px; overflow: hidden; background: #fff; color: #20384f; }
.case-warranty-badge{display:inline-flex;align-self:center;align-items:center;justify-content:center;box-sizing:border-box;max-width:100%;padding:4px 10px;border:1px solid #a4ceb6;border-radius:999px;background:#e4f5eb;color:#165b38;font-size:11px;font-weight:700;font-style:normal;line-height:1.35;letter-spacing:.02em;white-space:nowrap}
.case-warranty-badge[hidden]{display:none}
.case-warranty-badge[data-coverage-status=expired]{background:#f0f3f7;color:#536174;border-color:#ccd5df}
.case-warranty-badge:is([data-coverage-status=expiring],[data-coverage-status=mixed],[data-coverage-status=needs_review],[data-coverage-status=pending_payment],[data-coverage-status=pending_installation]){background:#fff4d9;color:#745008;border-color:#e4c581}
/* Fixed overlay: status controls and row geometry stay unchanged. */
.warranty-preview { position: fixed; z-index: 24000; box-sizing: border-box; width: 292px; max-width: calc(100vw - 16px); max-height: calc(100vh - 16px); overflow: auto; border: 1px solid #bed2e1; border-radius: 14px; background: #fff; color: #20384f; box-shadow: 0 12px 36px #16385129; font-size: 13px; font-style: normal; line-height: 1.5; text-align: left; }
.warranty-preview > strong { display: block; padding: 11px 16px; background: #193c5c; color: #fff; font-size: 13px; font-weight: 700; }
.warranty-preview > b { display: block; margin: 13px 16px 6px; color: #165b38; font-size: 20px; line-height: 1.3; }
.warranty-preview > p { margin: 0 16px 15px; font-size: 13px; line-height: 1.55; color: #4b6275; }
.warranty-preview:is([data-coverage-status="expiring"],[data-coverage-status="mixed"],[data-coverage-status="needs_review"]) > b { color: #745008; }
.warranty-preview:is([data-coverage-status="expired"],[data-coverage-status="pending_payment"],[data-coverage-status="pending_installation"]) > b { color: #536174; }
.service-warranty > header { padding: 16px 18px; background: #193c5c; color: #fff; }
.service-warranty > header .eyebrow { color: #c5dcee; }
.service-warranty h3 { margin: 4px 0 6px; font-size: 18px; }
.service-warranty > header p { margin: 0; font-size: 13px; color: #e0ebf4; }
.service-warranty-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 16px 18px; border-bottom: 1px solid #e3e9ef; }
.service-warranty-copy { min-width: 0; display: grid; gap: 5px; overflow-wrap: anywhere; }
.service-warranty-copy strong { font-size: 14px; }
.service-warranty-copy > span, .service-warranty-copy p { margin: 0; color: #52687b; font-size: 13px; line-height: 1.5; }
.service-warranty-copy .service-warranty-dates { color: #284961; }
.service-warranty .service-warranty-job { justify-self: start; min-height: 32px; padding: 4px 0; border: 0; border-radius: 3px; background: transparent; color: #1761aa; font: inherit; font-size: 13px; font-weight: 700; text-decoration: underline; cursor: pointer; box-shadow: none; }
.service-warranty-job:focus-visible { outline: 2px solid #1761aa; outline-offset: 3px; }
.service-warranty-state { flex: 0 0 auto; max-width: 44%; padding: 6px 10px; border: 1px solid #c6d4df; border-radius: 999px; background: #f0f4f8; color: #40566b; font-size: 12px; line-height: 1.4; font-weight: 700; text-align: center; }
[data-warranty-status="active"] .service-warranty-state { background: #e4f5eb; border-color: #acd7bf; color: #165b38; }
[data-warranty-status="expiring"] .service-warranty-state, [data-warranty-status="needs_review"] .service-warranty-state { background: #fff4d9; border-color: #e4c581; color: #735008; }
.service-warranty > footer { padding: 12px 18px; color: #607184; font-size: 12px; line-height: 1.5; background: #f7f9fc; }
@media (max-width: 420px) {
  .service-warranty-item { flex-wrap: wrap; gap: 10px; }
  .service-warranty-copy { flex: 1 1 100%; }
  .service-warranty-state { max-width: 100%; }
}
