.generic-table{--generic-table-header-bg:#000;--generic-table-header-fg:#fff;--generic-table-step-accent:#231f20;--generic-table-border:#e5e7eb;--generic-table-row-alt:#f8f9fa;--generic-table-pad:20px 12px}.generic-table__header{margin-bottom:2.5rem;text-align:center}.generic-table__title{font-size:clamp(1.5rem,3vw,2.25rem);margin:0 0 1rem}.generic-table__subtitle{color:#4b5563;margin:0 auto;max-width:720px}.generic-table table{margin-bottom:0}.generic-table__wrapper{overflow-x:auto;position:relative;-webkit-overflow-scrolling:touch;background:linear-gradient(90deg,#fff 30%,hsla(0,0%,100%,0)) 0 /40px 100% no-repeat,linear-gradient(270deg,#fff 30%,hsla(0,0%,100%,0)) 100% /40px 100% no-repeat,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.15),transparent) 0 /20px 100% no-repeat,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.15),transparent) 100% /20px 100% no-repeat,#fff;background-attachment:local,local,scroll,scroll;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.06)}.generic-table__wrapper:focus-visible{outline:2px solid var(--generic-table-step-accent);outline-offset:2px}.generic-table__table{background:#fff;border-collapse:collapse;width:100%}.generic-table__caption,.generic-table__sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.generic-table__table thead th{background:var(--generic-table-header-bg);border:1px solid var(--generic-table-border);color:var(--generic-table-header-fg);font-size:.95rem;font-weight:700;padding:var(--generic-table-pad)}.generic-table__table tbody td,.generic-table__table tbody th{border:1px solid var(--generic-table-border);padding:var(--generic-table-pad);text-align:center;vertical-align:middle}.generic-table__table tbody td{max-width:250px;min-width:250px}.generic-table__table tbody th{max-width:220px;min-width:220px}.generic-table__table tbody tr:nth-child(2n){background:var(--generic-table-row-alt)}.generic-table__step-cell{font-weight:700;min-width:160px}.generic-table__step-number{color:var(--generic-table-step-accent);display:block;font-size:1.75rem;margin-bottom:.25rem}.generic-table__step-name{color:#111827;display:block;font-size:1rem}.generic-table__table td :is(p,ul,ol){margin:0}@media (max-width:768px){.generic-table__table :is(th,td){font-size:.9rem;min-width:140px;padding:.85rem 1rem}}