.validator{display:grid;gap:var(--space-5);font-family:var(--font-body);color:var(--text-body)}.validator__label{display:block;font-weight:var(--weight-semibold);font-size:var(--size-step--1);color:var(--text-strong);margin-bottom:.4rem}.validator__textarea{width:100%;min-height:12rem;padding:.85rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-elevated);color:var(--text-strong);font-family:var(--font-mono);font-size:var(--size-step--1);line-height:var(--leading-snug);resize:vertical;transition:border-color var(--duration-fast) var(--ease-out)}.validator__textarea:focus-visible{border-color:var(--border-focus);box-shadow:var(--shadow-focus);outline:none}.validator__help{color:var(--text-muted);font-size:var(--size-step--2);margin:.5rem 0 1rem}.validator__options{display:grid;gap:.2rem;margin:0 0 1rem;padding:.65rem .85rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-body)}.validator__option{display:inline-flex;align-items:center;gap:.6rem;font-size:var(--size-step--1);color:var(--text-strong);font-weight:var(--weight-medium);cursor:pointer}.validator__option input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-ink);cursor:pointer}.validator__option-hint{margin:0;font-size:var(--size-step--2);color:var(--text-muted);padding-inline-start:1.6rem}.validator__actions{display:flex;flex-wrap:wrap;gap:.55rem}.validator__btn{display:inline-flex;align-items:center;gap:.35rem;padding:.6rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-elevated);color:var(--text-strong);font:inherit;font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.validator__btn:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}.validator__btn:disabled{opacity:.5;cursor:not-allowed}.validator__btn--primary{background:var(--color-ink);color:var(--text-on-inverted);border-color:var(--color-ink)}.validator__btn--primary:hover:not(:disabled){background:color-mix(in oklab,var(--color-ink) 85%,var(--text-link));border-color:var(--color-ink)}.validator__btn--ghost{background:transparent;border-color:var(--border-subtle);color:var(--text-muted)}.validator__results{display:grid;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-elevated);box-shadow:var(--shadow-sm)}.validator__results-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.validator__results-header h3{font-family:var(--font-display);font-size:var(--size-step-1);margin:0;color:var(--text-strong)}.validator__status{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:var(--radius-pill);font-size:var(--size-step--1);font-weight:var(--weight-semibold)}.validator__status[data-status=ok]{background:var(--color-success-soft);color:var(--color-success)}.validator__status[data-status=error]{background:var(--color-danger-soft);color:var(--color-danger)}.validator__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:0}.validator__stats>div{padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-body)}.validator__stats dt{color:var(--text-muted);font-size:var(--size-step--2);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.validator__stats dd{margin:0;font-family:var(--font-mono);font-size:var(--size-step-2);color:var(--text-strong)}.validator__stats dd[data-tone=error]{color:var(--color-danger)}.validator__stats dd[data-tone=warn]{color:var(--color-warn)}.validator__diagnostics{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.validator__diagnostics li{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:baseline;padding:.6rem .75rem;border-radius:var(--radius-md);border-inline-start:3px solid;background:var(--surface-body);font-size:var(--size-step--1)}.validator__diagnostics li[data-severity=error]{border-color:var(--color-danger);background:color-mix(in oklab,var(--color-danger-soft) 50%,var(--surface-body))}.validator__diagnostics li[data-severity=warning]{border-color:var(--color-warn);background:color-mix(in oklab,var(--color-warn-soft) 50%,var(--surface-body))}.validator__diagnostics li[data-severity=info]{border-color:var(--color-info);background:color-mix(in oklab,var(--color-info-soft) 50%,var(--surface-body))}.validator__code{font-family:var(--font-mono);font-size:var(--size-step--2);color:var(--text-muted);font-weight:var(--weight-semibold)}.validator__message{color:var(--text-body)}.validator__location{font-family:var(--font-mono);color:var(--text-subtle);font-size:var(--size-step--2)}.validator__root{display:inline-flex;align-items:center;gap:.5rem;margin:0;font-size:var(--size-step--1);color:var(--text-muted)}.validator__root code{font-family:var(--font-mono);color:var(--text-strong);background:var(--surface-body);padding:.1rem .4rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.validator__details{margin-top:.5rem}.validator__details summary{cursor:pointer;font-weight:var(--weight-semibold);color:var(--text-strong);padding:.5rem 0}.validator__details table{margin-top:.5rem;font-family:var(--font-mono);font-size:var(--size-step--2)}.validator__select{display:block;width:max-content;min-width:14rem;padding:.55rem .85rem;margin-bottom:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-elevated);color:var(--text-strong);font:inherit;font-size:var(--size-step--1);cursor:pointer}.validator__select:focus-visible{border-color:var(--border-focus);box-shadow:var(--shadow-focus);outline:none}.validator__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:0}@media(min-width:720px){.validator__facts{grid-template-columns:repeat(4,minmax(0,1fr))}}.validator__facts>div{padding:.55rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-body);display:grid;gap:.15rem}.validator__facts dt{color:var(--text-muted);font-size:var(--size-step--2);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.validator__facts dd{margin:0;font-family:var(--font-mono);font-size:var(--size-step--1);color:var(--text-strong);word-break:break-word}.validator__customization{font-family:var(--font-mono);font-size:var(--size-step--2);color:var(--text-muted);word-break:break-all}.validator__bt{font-family:var(--font-mono);font-size:var(--size-step--2);color:var(--text-strong);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.05rem .4rem;white-space:nowrap}.validator__diagnostics li{grid-template-columns:auto auto 1fr auto}.validator__diagnostics li:not(:has(.validator__bt)){grid-template-columns:auto 1fr auto}.validator__filter-bar{display:grid;gap:.5rem;margin-block:var(--space-3);padding:.75rem .85rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-body)}.validator__filter-label,.validator__search-label{font-family:var(--font-mono);font-size:var(--size-step--2);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}.validator__chips{display:flex;flex-wrap:wrap;gap:.35rem}.validator__chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface-elevated);color:var(--text-strong);font:inherit;font-size:var(--size-step--1);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.validator__chip:hover:not(:disabled){background:var(--surface-muted)}.validator__chip:disabled{opacity:.45;cursor:not-allowed}.validator__chip--active{background:var(--color-ink);color:var(--text-on-inverted);border-color:var(--color-ink)}.validator__chip--active:hover:not(:disabled){background:var(--color-ink)}.validator__chip-count{font-family:var(--font-mono);font-size:var(--size-step--2);padding:.05rem .45rem;border-radius:var(--radius-pill);border:1px solid color-mix(in oklab,currentColor 30%,transparent)}.validator__search{width:100%;padding:.5rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-elevated);color:var(--text-strong);font:inherit;font-size:var(--size-step--1);font-family:var(--font-mono)}.validator__search:focus-visible{border-color:var(--border-focus);box-shadow:var(--shadow-focus);outline:none}.validator__empty-filter{margin:.5rem 0;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px dashed var(--border-subtle);color:var(--text-muted);background:var(--surface-body);font-size:var(--size-step--1)}.gs1-table-wrap{overflow-x:auto;margin-top:.75rem}.gs1-table{width:100%;border-collapse:collapse;font-size:var(--size-step--1)}.gs1-table th,.gs1-table td{text-align:left;padding:.5rem .65rem;border-bottom:1px solid var(--border-subtle);vertical-align:top}.gs1-table th{font-family:var(--font-mono);font-size:var(--size-step--2);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-subtle)}.gs1-table tr[data-status=error] td:first-child{box-shadow:inset 3px 0 0 var(--color-rose, crimson)}.gs1-table tr[data-status=ok] td:first-child{box-shadow:inset 3px 0 0 var(--color-mint, green)}.gs1-note{display:inline-block;margin:.1rem .3rem .1rem 0;padding:.1rem .45rem;border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text-muted);font-size:var(--size-step--2)}.gs1-note--error{background:var(--color-rose-soft, #fde8e8);color:var(--color-rose, crimson)}.iban-fields{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1rem;margin:.75rem 0 0;font-size:var(--size-step--1)}.iban-fields dt{font-family:var(--font-mono);font-size:var(--size-step--2);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-subtle);align-self:center}.iban-fields dd{margin:0;color:var(--text-strong)}
