/* Scoped additions; the existing builder and global theme remain untouched. */
.cl-limits { padding: 48px max(20px, calc((100% - 1180px) / 2)); }
.cl-limits header { max-width: 760px; margin-bottom: 24px; }
.cl-limits h2 { margin: 0 0 12px; font-size: 28px; line-height: 1.25; letter-spacing: 0; }
.cl-limits p { line-height: 1.65; }
.cl-limits-scroll { overflow-x: auto; border: 1px solid #cbd5d1; border-radius: 6px; }
.cl-limits table { width: 100%; min-width: 650px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.cl-limits th, .cl-limits td { padding: 16px 18px; border-bottom: 1px solid #cbd5d1; text-align: left; white-space: nowrap; }
.cl-limits thead th { background: #e8f0ec; color: #182a23; font-size: 14px; }
.cl-limits tbody th { font-weight: 600; }
.cl-limits tbody tr:last-child > * { border-bottom: 0; }
.cl-limits tbody tr:nth-child(even) { background: #f5f8f6; }
.cl-limits-note { max-width: 980px; font-size: 14px; margin: 16px 0 0; }
.cl-info { position: relative; display: inline-grid; place-items: center; width: 22px; height: 22px; padding: 0; margin-left: 6px; border: 0; border-radius: 50%; background: transparent; color: #8a84b3; vertical-align: middle; cursor: pointer; }
.cl-info::after { content: ""; position: absolute; inset: -10px; }
.cl-info svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.cl-info:hover { background: #eeebff; color: #4c31bf; }
.cl-info:focus-visible, .cl-info-dialog button:focus-visible { outline: 3px solid #277844; outline-offset: 3px; }
.cl-info-dialog { width: min(480px, calc(100% - 32px)); max-height: calc(100dvh - 48px); box-sizing: border-box; padding: 28px; border: 1px solid #789588; border-radius: 8px; background: #fff; color: #162a21; box-shadow: 0 16px 60px #0003; }
.cl-info-dialog::backdrop { background: #101a16b3; }
.cl-info-dialog h2 { padding-right: 34px; margin: 0 0 14px; font-size: 22px; line-height: 1.3; letter-spacing: 0; }
.cl-info-dialog p { margin: 0; font-size: 16px; line-height: 1.65; }
.cl-info-dialog button { position: absolute; top: 16px; right: 16px; width: 32px; height: 32px; padding: 6px; border: 0; background: transparent; color: inherit; cursor: pointer; }
.cl-info-dialog button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
html[data-theme="dark"] .cl-limits-scroll, body.dark .cl-limits-scroll { border-color: #435b4e; }
html[data-theme="dark"] .cl-limits thead th, body.dark .cl-limits thead th { background: #22372b; color: #eff8f2; }
html[data-theme="dark"] .cl-limits tbody tr:nth-child(even), body.dark .cl-limits tbody tr:nth-child(even) { background: #1b2e23; }
@media (max-width: 600px) {
  .cl-limits { padding: 32px 16px; }
  .cl-limits h2 { font-size: 24px; }
  .cl-limits table { min-width: 560px; }
  .cl-limits th, .cl-limits td { padding: 12px; }
  .cl-limits tbody th { position: sticky; left: 0; background: #fff; z-index: 1; }
  .cl-limits tbody tr:nth-child(even) th { background: #f5f8f6; }
  html[data-theme="dark"] .cl-limits tbody th { background: #17271e; }
  html[data-theme="dark"] .cl-limits tbody tr:nth-child(even) th { background: #1b2e23; }
  .cl-info-dialog { padding: 24px; }
}
