.free-limit-dialog {
  background: #f8fafc;
  border: 1px solid #94a3b8;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.28);
  color: #0f172a;
  max-width: calc(100vw - 2rem);
  padding: 0;
  width: 31rem;
}
.free-limit-dialog::backdrop { background: rgba(8, 15, 32, 0.66); backdrop-filter: blur(3px); }
.free-limit-dialog__line { background: #2563eb; height: 0.3rem; width: 100%; }
.free-limit-dialog__body { padding: clamp(1.4rem, 5vw, 2.1rem); }
.free-limit-dialog__eyebrow { color: #1d4ed8; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.14em; margin: 0 0 0.65rem; text-transform: uppercase; }
.free-limit-dialog h2 { color: #0f172a; font: 800 clamp(1.55rem, 5vw, 2.05rem)/1.15 "Plus Jakarta Sans", system-ui, sans-serif; letter-spacing: -0.045em; margin: 0; }
.free-limit-dialog__copy { color: #52637a; font: 500 0.88rem/1.7 "Plus Jakarta Sans", system-ui, sans-serif; margin: 1rem 0 0; }
.free-limit-dialog__usage { align-items: center; border-block: 1px solid #d7e0eb; display: grid; gap: 0.35rem; grid-template-columns: 1fr auto; margin: 1.35rem 0; padding: 1rem 0; }
.free-limit-dialog__usage strong { color: #0f172a; font-size: 0.82rem; }
.free-limit-dialog__usage span { color: #64748b; font-size: 0.72rem; }
.free-limit-dialog__meter { background: #dbe4ef; height: 0.35rem; margin-top: 0.65rem; overflow: hidden; grid-column: 1 / -1; }
.free-limit-dialog__meter::after { background: #2563eb; content: ""; display: block; height: 100%; width: 100%; }
.free-limit-dialog__actions { display: flex; gap: 0.65rem; justify-content: flex-end; }
.free-limit-dialog__actions a,
.free-limit-dialog__actions button { align-items: center; border: 1px solid #64748b; cursor: pointer; display: inline-flex; font: 800 0.76rem/1 "Plus Jakarta Sans", system-ui, sans-serif; justify-content: center; min-height: 2.8rem; padding: 0.75rem 1rem; text-decoration: none; }
.free-limit-dialog__actions button { background: #ffffff; color: #334155; }
.free-limit-dialog__actions a { background: #1d4ed8; border-color: #1d4ed8; color: #ffffff; }
.free-limit-dialog__actions a:hover { background: #1e40af; }
.free-limit-dialog__actions button:hover { background: #eef2f6; }
.free-limit-dialog__actions a:focus-visible,
.free-limit-dialog__actions button:focus-visible { outline: 3px solid #60a5fa; outline-offset: 3px; }
.free-limit-locked { border-color: #36547b !important; box-shadow: none !important; }

@media (max-width: 34rem) {
  .free-limit-dialog { width: calc(100vw - 1.25rem); }
  .free-limit-dialog__actions { align-items: stretch; flex-direction: column-reverse; }
  .free-limit-dialog__actions a,
  .free-limit-dialog__actions button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .free-limit-dialog::backdrop { backdrop-filter: none; }
}
