@font-face{
  font-family:Vazirmatn;
  src:url("/fonts/Vazirmatn-Variable.ttf") format("truetype-variations");
  font-style:normal;
  font-weight:100 900;
  font-display:swap
}
@font-face{
  font-family:Rokh;
  src:url("/fonts/Rokh-Variable.ttf") format("truetype-variations");
  font-style:normal;
  font-weight:100 900;
  font-display:swap
}
:root{
  --app-bg:#f6f7f9;--surface:#ffffff;--surface-2:#f0f2f5;--surface-3:#e7eaee;
  --text:#151c2b;--text-2:#546176;--muted:#7d8899;--border:#e1e5ea;
  --primary:#b42332;--primary-hover:#971c29;--danger:#bd2434;--success:#087f5b;
  --warning:#a85a00;--error:#c52a3a;--info:#1769aa;--focus:#cf3b49;--disabled:#aab2bd;
  --radius-sm:8px;--radius:12px;--radius-lg:16px;--control:46px;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;
  --font-ui:Vazirmatn,Tahoma,"Segoe UI",Arial,sans-serif;
  --shadow-subtle:0 1px 2px rgb(15 23 42 / .04),0 8px 24px rgb(15 23 42 / .035)
}
html[data-theme="dark"]{
  --app-bg:#0d1117;--surface:#151b23;--surface-2:#1c2430;--surface-3:#27313e;
  --text:#f3f5f7;--text-2:#bdc5d0;--muted:#8d98a7;--border:#2a3441;
  --primary:#db3d4d;--primary-hover:#ee5260;--danger:#ef5968;--success:#3bb98c;
  --warning:#e2a23f;--error:#f16b76;--info:#6aafe5;--focus:#f16b76;--disabled:#687483;
  --shadow-subtle:0 1px 2px rgb(0 0 0 / .2)
}
@media(prefers-color-scheme:dark){html[data-theme-preference="system"]{
  --app-bg:#0d1117;--surface:#151b23;--surface-2:#1c2430;--surface-3:#27313e;
  --text:#f3f5f7;--text-2:#bdc5d0;--muted:#8d98a7;--border:#2a3441;
}}

html{min-width:320px;background:var(--app-bg);font-family:var(--font-ui);color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}
body,#root{min-height:100%;width:100%;max-width:100%;overflow-x:clip}
body{margin:0;background:var(--app-bg)!important;color:var(--text)!important;font-family:var(--font-ui)!important;line-height:1.65;-webkit-font-smoothing:antialiased}
body *{box-sizing:border-box}
button,input,select,textarea{font-family:var(--font-ui);font-size:1rem}
button,a{-webkit-tap-highlight-color:transparent}
button{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 30%,transparent)!important;outline-offset:2px}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),select,textarea{
  min-height:var(--control);width:100%;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;
  background:var(--surface)!important;color:var(--text)!important;padding:10px 12px
}
input::placeholder,textarea::placeholder{color:var(--muted)!important;opacity:1}
input:disabled,select:disabled,textarea:disabled,button:disabled{cursor:not-allowed;opacity:.55!important}
input[type="tel"],input[inputmode="numeric"],[dir="ltr"]{unicode-bidi:plaintext}
h1,h2,h3,h4,p{margin-block-start:0}
h1,h2,h3{line-height:1.45;text-wrap:balance}
p,td,th,label{overflow-wrap:anywhere}
.font-rokh{font-family:Rokh,var(--font-ui)!important}
.font-mono{font-family:var(--font-ui)!important;font-variant-numeric:tabular-nums}
.khz-docs-credit{margin:28px 0 2px;text-align:center;font-size:.64rem;line-height:1.4;color:var(--muted);opacity:.42}
.khz-docs-credit a{color:inherit;text-decoration:none}
.khz-docs-credit a:hover,.khz-docs-credit a:focus-visible{opacity:1;text-decoration:underline}
.khz-athlete-pagination{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--text-2);font-size:.78rem}
.khz-athlete-pagination button{min-height:40px;padding:7px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-weight:700}
.khz-theme-control{display:none!important}
[class*="backdrop-blur"]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
[class*="shadow-"]{--tw-shadow:0 0 #0000!important;box-shadow:none!important}
.shadow-xs,.shadow-sm,.shadow-md{box-shadow:var(--shadow-subtle)!important}

/* Map legacy utilities into the same semantic system while active components are consolidated. */
:is(.bg-\[\#F2F4F7\],.bg-slate-50,.bg-slate-100,.bg-neutral-50){background:var(--app-bg)!important}
:is(.bg-white,.bg-slate-900,.bg-slate-950,.bg-neutral-900,.bg-neutral-950){background:var(--surface)!important}
:is(.bg-slate-200,.bg-slate-800,.bg-neutral-800){background:var(--surface-2)!important}
:is(.text-slate-950,.text-slate-900,.text-slate-800,.text-neutral-950,.text-neutral-900,.text-neutral-800,.text-white){color:var(--text)!important}
:is(.text-slate-700,.text-slate-600,.text-slate-300,.text-neutral-700,.text-neutral-600,.text-neutral-300){color:var(--text-2)!important}
:is(.text-slate-500,.text-slate-400,.text-neutral-500,.text-neutral-400){color:var(--muted)!important}
:is(.border-slate-100,.border-slate-200,.border-slate-300,.border-slate-700,.border-slate-800,.border-neutral-700,.border-neutral-800,.border-neutral-850){border-color:var(--border)!important}
button.bg-red-600,button.bg-slate-900,button.bg-neutral-900{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}
button.bg-red-600:hover,button.bg-slate-900:hover,button.bg-neutral-900:hover{background:var(--primary-hover)!important;color:#fff!important}
[class~="fixed"][class~="inset-0"]{overflow-y:auto;overscroll-behavior:contain;background:rgb(8 12 18 / .72)!important;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}
[class~="fixed"][class~="inset-0"]>div{max-height:calc(100dvh - 24px);max-width:min(560px,calc(100vw - 24px))!important;overflow-y:auto;border-radius:var(--radius-lg)!important}
table{border-collapse:collapse;color:var(--text)}
th{font-weight:700;color:var(--text-2)}
th,td{padding-block:12px;border-bottom:1px solid var(--border);line-height:1.55;vertical-align:middle}
.overflow-x-auto{max-width:100%;overscroll-behavior-inline:contain}

/* Full-screen athlete entry: no floating-card treatment. */
.khz-auth-screen{display:grid;place-items:center;background:var(--app-bg);padding:clamp(24px,7vh,64px) 24px}
.khz-auth-content{width:min(100%,360px)}
.khz-auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:34px}
.khz-auth-brand img{width:62px;height:62px;object-fit:contain;flex:none}
.khz-auth-brand h1{margin:0;color:var(--text);font-size:1.15rem;font-weight:800;line-height:1.65}
.khz-auth-brand p{margin:2px 0 0;color:var(--muted);font-size:.85rem}
.khz-auth-form{display:grid;gap:10px}
.khz-auth-form label{margin-top:4px;color:var(--text-2);font-size:.82rem;font-weight:700}
.khz-auth-form input,.khz-auth-form select{min-height:50px}
.khz-primary-button{min-height:50px;margin-top:8px;border:0;border-radius:var(--radius-sm);background:var(--primary);color:#fff;font-weight:800;cursor:pointer}
.khz-primary-button:hover{background:var(--primary-hover)}
.khz-form-error{margin-bottom:16px;padding:10px 12px;border-inline-start:3px solid var(--error);background:color-mix(in srgb,var(--error) 8%,var(--surface));color:var(--error);font-size:.82rem}
.khz-otp-recipient{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-2);font-size:.8rem;margin-bottom:4px}
.khz-otp-recipient button,.khz-text-button,.khz-auth-secondary button{border:0;background:none;color:var(--primary);font-weight:700;cursor:pointer;padding:8px 0}
.khz-resend-note{margin:2px 0;text-align:center;color:var(--muted);font-size:.78rem}
.khz-auth-secondary{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}
.khz-auth-secondary button{color:var(--text-2);font-size:.8rem}

/* Athlete application shell and bottom navigation. */
.khz-athlete-shell{background:var(--app-bg);color:var(--text)}
.khz-athlete-main{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}
.khz-athlete-nav{width:min(100%,560px);min-height:64px;padding:6px 10px calc(6px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -8px 24px rgb(15 23 42 / .045)}
.khz-athlete-nav-item{min-width:52px;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:none;color:var(--muted);font-size:.66rem;font-weight:700;cursor:pointer}
.khz-athlete-nav-item svg{width:20px;height:20px}
.khz-athlete-nav-item.is-active{color:var(--primary)}
.khz-athlete-nav-item.is-active::after{content:"";display:block;width:18px;height:2px;border-radius:2px;background:var(--primary)}
.khz-pwa-banner{margin:2px auto 6px!important;padding-inline:16px!important}
.khz-pwa-banner-card{min-height:42px;padding:4px 8px!important;background:transparent!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;color:var(--text)!important}
.khz-pwa-banner-card h4{font-size:.78rem!important;color:var(--text)!important}.khz-pwa-banner-card p{display:none}
.khz-pwa-banner-card button{min-height:38px!important;box-shadow:none!important}

/* Admin mobile drawer and desktop sidebar. */
.khz-admin-shell{background:var(--app-bg);color:var(--text)}
.khz-admin-header{position:sticky;top:0;z-index:40;height:60px;background:var(--surface)!important;border-bottom:1px solid var(--border)}
.khz-admin-header-inner{height:100%;max-width:1280px;margin:auto;padding:0 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}
.khz-menu-button,.khz-header-logout{min-height:42px;align-items:center;justify-content:center;gap:6px;border:0;background:none;color:var(--text-2);font-size:.76rem;font-weight:800;cursor:pointer}
.khz-menu-button{display:none}.khz-header-logout{display:inline-flex}
.khz-admin-identity{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.khz-admin-identity strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;color:var(--text)}
.khz-admin-identity span{font-size:.68rem;color:var(--muted)}
.khz-admin-layout{max-width:1280px;margin:auto;padding:18px 16px 40px;display:grid;grid-template-columns:232px minmax(0,1fr);gap:24px}
.khz-admin-nav{position:sticky;top:78px;align-self:start}
.khz-admin-nav>div{display:grid;gap:3px}
.khz-admin-nav-title{display:none}
.khz-admin-nav-item{min-height:44px;display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);font-size:.8rem;font-weight:700;text-align:right;cursor:pointer}
.khz-admin-nav-item:hover{background:var(--surface-2);color:var(--text)}
.khz-admin-nav-item.is-active{background:var(--surface);color:var(--primary);box-shadow:inset -3px 0 var(--primary)}
.khz-admin-main{min-width:0}
.khz-nav-scrim{display:none}

/* Operational admin overview. */
.khz-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.khz-page-heading h2{margin:0;color:var(--text);font-size:1.2rem;font-weight:850}
.khz-page-heading p{margin:3px 0 0;color:var(--muted);font-size:.78rem}
.khz-role-note{color:var(--text-2);font-size:.74rem;font-weight:700}
.khz-action-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.khz-action-row{min-height:72px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);text-align:right;cursor:pointer}
.khz-action-row:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}
.khz-action-row.is-urgent{border-inline-start:3px solid var(--primary)}
.khz-action-row svg{color:var(--text-2)}
.khz-action-copy{display:flex;flex-direction:column;min-width:0}.khz-action-copy strong{font-size:.84rem}.khz-action-copy small{color:var(--muted);font-size:.7rem}
.khz-action-row>b{min-width:30px;text-align:center;font-size:1rem;color:var(--primary)}
.khz-review-section,.khz-activity-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.khz-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.khz-section-heading h3,.khz-activity-summary h3{margin:0;font-size:.94rem}.khz-section-heading button{border:0;background:none;color:var(--primary);font-size:.74rem;font-weight:700;cursor:pointer}
.khz-review-list{display:grid}.khz-review-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.khz-review-row:last-child{border-bottom:0}
.khz-review-avatar{width:38px;height:38px;object-fit:cover;border-radius:50%;background:var(--surface-2)}
.khz-review-row>div{display:flex;flex-direction:column;min-width:0}.khz-review-row strong{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.khz-review-row small{font-size:.68rem;color:var(--muted)}
.khz-approve-button{min-height:36px;padding:6px 12px;border:1px solid color-mix(in srgb,var(--success) 35%,var(--border));border-radius:var(--radius-sm);background:transparent;color:var(--success);font-size:.72rem;font-weight:800;cursor:pointer}
.khz-activity-summary>div{display:grid;grid-template-columns:repeat(3,1fr);margin-top:10px;border-top:1px solid var(--border)}
.khz-activity-summary button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 10px;border:0;border-inline-end:1px solid var(--border);background:none;color:var(--text-2);font-size:.76rem;cursor:pointer}.khz-activity-summary button:last-child{border-inline-end:0}.khz-activity-summary b{color:var(--text)}

/* Existing content adopts restrained shared surfaces. */
:is(.rounded-3xl,.rounded-\[28px\],.rounded-\[32px\]){border-radius:var(--radius-lg)!important}
.rounded-2xl{border-radius:var(--radius)!important}.rounded-xl{border-radius:var(--radius-sm)!important}
main :is(.bg-white,.bg-slate-900,.bg-neutral-900){border-color:var(--border)!important}
main .border{border-color:var(--border)!important}
main :is(.p-6,.p-7,.p-8){padding:20px!important}
main h2{font-family:var(--font-ui)!important;font-size:1.08rem!important;color:var(--text)!important}
main h3{font-family:var(--font-ui)!important;color:var(--text)!important}
main button{min-height:42px}

/* Membership card: exact geometry, stable two-face 3D, artwork beneath member data. */
#digital-membership-card{aspect-ratio:9/6!important;width:100%!important;height:auto!important;border-radius:16px!important;box-shadow:0 10px 24px rgb(15 23 42 / .12)!important;contain:layout paint;isolation:isolate;will-change:transform}
#digital-membership-card>div{aspect-ratio:9/6!important;border-radius:16px!important;inset:0!important;box-shadow:none!important}
.khz-card-artwork{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
#digital-membership-card>div>*:not(.khz-card-artwork){position:relative;z-index:1}
#digital-membership-card :is(.text-white,[class*="text-white/"]){color:#fff!important}
#digital-membership-card+div{display:none!important}
.khz-membership-face{position:absolute!important;inset:0!important;display:block!important;overflow:hidden!important;padding:4.5%!important;color:#fff;background:#34383e;border:1px solid rgb(255 255 255 / .14);transform-origin:center center;-webkit-transform-origin:center center;transition:transform .7s cubic-bezier(.4,0,.2,1);-webkit-transition:-webkit-transform .7s cubic-bezier(.4,0,.2,1)}
.khz-membership-back,.khz-membership-face.has-artwork{background:#25292f}
.khz-member-front-data,.khz-member-back-data{height:100%;min-height:0;display:grid;align-items:center;gap:6%}
.khz-member-front-data{grid-template-columns:24% minmax(0,1fr)}
.khz-member-photo{width:100%;aspect-ratio:3/4;max-height:82%;align-self:center;display:grid;place-items:center;overflow:hidden;border:1px solid rgb(255 255 255 / .6);border-radius:10px;background:rgb(255 255 255 / .12);font-size:clamp(11px,3.5vw,17px);font-weight:800}
.khz-member-photo img{width:100%;height:100%;object-fit:cover}
.khz-member-details{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(4px,1.5vw,9px)}
.khz-member-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(12px,3.8vw,18px);line-height:1.35}
.khz-member-number{font-size:clamp(15px,5vw,23px);line-height:1;font-variant-numeric:tabular-nums}
.khz-member-fields{max-width:100%;display:flex;flex-wrap:wrap;gap:4px 10px;color:rgb(255 255 255 / .86);font-size:clamp(8px,2.65vw,12px)}
.khz-member-fields span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.khz-member-validity{font-size:clamp(8px,2.55vw,11px);color:rgb(255 255 255 / .82);font-variant-numeric:tabular-nums}
.khz-member-status{padding:3px 8px;border:1px solid currentColor;border-radius:999px;font-size:clamp(7px,2.3vw,10px);font-weight:700}.khz-member-status.is-valid{color:#bbf7d0}.khz-member-status.is-expired{color:#fecdd3}
.khz-member-back-data{grid-template-columns:34% minmax(0,1fr)}
.khz-member-qr{width:100%;aspect-ratio:1;display:grid;place-items:center;padding:6%;border-radius:10px;background:#fff;color:#475569;font-size:10px}
.khz-member-qr img{width:100%;height:100%;object-fit:contain}
.khz-member-back-details{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(7px,2vw,12px)}
.khz-member-back-details strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(12px,3.8vw,18px)}
.khz-member-back-details b{font-size:clamp(16px,5vw,24px)}.khz-member-back-details span{font-size:clamp(8px,2.65vw,12px);color:rgb(255 255 255 / .84)}
.khz-print-dialog{direction:rtl}
.khz-print-header,.khz-print-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.khz-print-header h3{margin:0;font-size:1rem}.khz-print-header button{min-height:40px;color:#475569!important}
.khz-print-actions{justify-content:flex-end}.khz-print-actions button{min-width:96px}
.khz-print-card-pair{display:flex;flex-direction:column;gap:16px;width:min(100%,500px);margin-inline:auto}
.khz-print-card-pair>.khz-membership-face{position:relative!important;inset:auto!important;width:100%;height:auto;aspect-ratio:9/6;transform:none!important;-webkit-transform:none!important}
.grid.grid-cols-4>button.group{gap:5px!important;padding:8px 4px!important;border:0!important;border-radius:var(--radius-sm)!important;background:transparent!important;box-shadow:none!important;color:var(--text-2)!important}
.grid.grid-cols-4>button.group>div{width:30px!important;height:30px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--text-2)!important}

/* Settings add-on for real artwork and theme preferences. */
.khz-card-settings{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}
.khz-card-settings-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.khz-card-settings h3{margin:0;font-size:1rem}.khz-card-settings-header p{margin:2px 0 0;color:var(--muted);font-size:.75rem}
.khz-theme-settings{display:flex;gap:4px;padding:4px;background:var(--surface-2);border-radius:var(--radius-sm)}
.khz-theme-settings button{min-height:36px;padding:6px 10px;border:0;border-radius:6px;background:transparent;color:var(--text-2);font-size:.72rem;font-weight:700;cursor:pointer}.khz-theme-settings button.is-active{background:var(--surface);color:var(--primary)}
.khz-artwork-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.khz-artwork-side{min-width:0}.khz-artwork-side h4{margin:0 0 8px;font-size:.84rem}
.khz-artwork-preview{aspect-ratio:9/6;width:min(100%,240px);display:grid;place-items:center;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);font-size:.72rem}.khz-artwork-preview img{width:100%;height:100%;object-fit:cover}
.khz-artwork-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.khz-artwork-actions button,.khz-artwork-actions label{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);font-size:.72rem;font-weight:700;cursor:pointer}.khz-artwork-actions label{background:var(--primary);border-color:var(--primary);color:#fff}.khz-artwork-actions input{display:none}.khz-artwork-actions .is-danger{color:var(--danger)}
.khz-opacity{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:12px;color:var(--text-2);font-size:.72rem}.khz-opacity input{accent-color:var(--primary)}
.khz-card-settings-status{min-height:20px;margin:10px 0 0;color:var(--text-2);font-size:.72rem}.khz-card-settings-status.is-error{color:var(--error)}
.khz-date-picker{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:0;width:100%;direction:rtl;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}
.khz-date-picker select{min-width:0;min-height:48px;padding-inline:8px;border:0!important;border-inline-end:1px solid var(--border)!important;border-radius:0!important;background:transparent!important;text-align:center;font-variant-numeric:tabular-nums}.khz-date-picker select:last-child{border-inline-end:0!important}
.khz-date-field{grid-column:1/-1}
.khz-competition-classes{padding-top:12px;border-top:1px solid var(--border)}
.khz-competition-classes>div:first-child{align-items:center!important}
.khz-competition-classes>div:first-child label svg{display:none}
.khz-add-class-button{min-height:36px!important;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)!important;color:var(--text-2)!important;font-size:.72rem;font-weight:700;cursor:pointer}
.khz-class-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(92px,1fr) auto auto;align-items:center;gap:6px}
.khz-class-row>input{width:100%!important;min-width:0!important;min-height:44px}.khz-class-row>span{font-size:.66rem!important;white-space:nowrap}
.khz-class-delete{width:36px;min-height:36px!important;padding:6px;border:0;background:transparent;color:var(--danger);opacity:.45;cursor:pointer}.khz-class-delete:hover,.khz-class-delete:focus-visible{opacity:1;background:color-mix(in srgb,var(--danger) 8%,transparent)}

/* Membership onboarding: one explicit sequence, without exposing the app early. */
.khz-membership-onboarding{display:grid;gap:14px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}
.khz-membership-onboarding>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.khz-membership-onboarding h3{margin:0;font-size:1rem}.khz-membership-onboarding header p{margin:3px 0 0;color:var(--muted);font-size:.76rem}
.khz-membership-onboarding header>span{flex:none;padding:4px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-2);font-size:.68rem;font-weight:750}
.khz-membership-onboarding ol{display:grid;gap:0;margin:0;padding:0;list-style:none}
.khz-membership-onboarding li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;padding:10px 0;border-top:1px solid var(--border)}
.khz-membership-onboarding li>b{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--muted);font-size:.74rem}
.khz-membership-onboarding li>div{display:flex;min-width:0;flex-direction:column}.khz-membership-onboarding li strong{font-size:.8rem}.khz-membership-onboarding li small{margin-top:2px;color:var(--muted);font-size:.7rem;line-height:1.55}
.khz-membership-onboarding li>button{min-height:40px;padding:7px 11px;border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary);color:#fff;font-size:.72rem;font-weight:800;cursor:pointer}
.khz-membership-onboarding li.is-done>b{border-color:color-mix(in srgb,var(--success) 45%,var(--border));color:var(--success)}
.khz-membership-onboarding li.is-current>b{border-color:var(--primary);color:var(--primary)}
.khz-membership-onboarding li.is-locked{opacity:.68}
.khz-membership-onboarding.is-complete{border-color:color-mix(in srgb,var(--success) 35%,var(--border))}
.khz-onboarding-locked{margin:0;padding:14px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);font-size:.76rem;line-height:1.7;text-align:center}
.khz-member-status.is-pending{color:#fde68a}

@media(max-width:767px){
  body{font-size:14px}
  .khz-auth-screen{place-items:start center;padding-top:clamp(82px,14vh,118px)}
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),select,textarea{font-size:16px!important}
  .khz-admin-layout{display:block;padding:14px 12px 32px}
  .khz-menu-button{display:inline-flex}
  .khz-admin-header-inner{padding-inline:12px}.khz-admin-identity{align-items:center}.khz-admin-identity strong{font-size:.82rem}.khz-admin-identity span{font-size:.64rem}
  .khz-header-logout span{display:none}.khz-header-logout{width:42px}
  .khz-nav-scrim{display:block;position:fixed;inset:60px 0 0;z-index:44;width:100%;border:0;background:rgb(8 12 18 / .62)}
  .khz-admin-nav{position:fixed;top:60px;right:0;bottom:0;z-index:45;width:min(82vw,300px);padding:12px;background:var(--surface);transform:translateX(105%);transition:transform .2s ease;overflow-y:auto;box-shadow:-16px 0 32px rgb(0 0 0 / .12)}
  .khz-admin-nav.is-open{transform:translateX(0)}
  .khz-admin-nav-title{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 10px;border-bottom:1px solid var(--border);margin-bottom:6px;color:var(--text);font-size:.78rem;font-weight:800}.khz-admin-nav-title button{border:0;background:none;color:var(--primary);font-size:.72rem;font-weight:700}
  .khz-admin-nav-item{min-height:48px;font-size:.84rem}
  .khz-page-heading{align-items:flex-start}.khz-role-note{max-width:110px;text-align:left}
  .khz-action-list{grid-template-columns:1fr}.khz-action-row{min-height:66px}
  .khz-activity-summary>div{grid-template-columns:1fr}.khz-activity-summary button{border-inline-end:0;border-bottom:1px solid var(--border)}.khz-activity-summary button:last-child{border-bottom:0}
  .khz-artwork-grid{grid-template-columns:1fr}.khz-card-settings-header{align-items:flex-start;flex-direction:column}
  .khz-pwa-banner-card>div:first-child{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important}
  .khz-pwa-banner-card>div:first-child>div:first-child{display:none!important}
  .khz-pwa-banner-card>div:first-child>div:last-child{width:100%!important;justify-content:flex-end!important}
  .khz-pwa-banner-card>div:first-child>div:last-child>button:first-child{width:auto!important;padding:7px 11px!important;background:transparent!important;border:1px solid var(--border)!important;color:var(--text-2)!important}
  .khz-pwa-banner-card>div:first-child>div:last-child>button:last-child{color:var(--muted)!important}
  main :is(.p-6,.p-7,.p-8){padding:16px!important}
  .overflow-x-auto table{min-width:680px}.overflow-x-auto :is(th,td){white-space:nowrap;overflow-wrap:normal}
  [class~="fixed"][class~="inset-0"] form label{font-size:.78rem!important;line-height:1.5}
  .khz-membership-onboarding{padding:14px}.khz-membership-onboarding>header{flex-direction:column;gap:8px}.khz-membership-onboarding li{grid-template-columns:30px minmax(0,1fr)}.khz-membership-onboarding li>button{grid-column:2;width:100%;margin-top:2px}
}

@media(max-width:359px){
  .khz-auth-screen{padding-inline:18px}.khz-auth-brand{flex-direction:column;gap:8px;text-align:center;margin-bottom:28px}.khz-auth-brand img{width:58px;height:58px}.khz-auth-brand h1{font-size:1rem;line-height:1.55}.khz-auth-brand p{font-size:.78rem}
  .khz-admin-identity strong{max-width:155px}.khz-menu-button span{display:none}.khz-menu-button{width:42px}
  .khz-athlete-nav{padding-inline:4px}.khz-athlete-nav-item{min-width:48px;font-size:.61rem}
  .khz-action-row{padding-inline:11px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  #digital-membership-card{transition:none!important}
}

@media print{
  @page{size:A4 portrait;margin:12mm}
  html,body{background:#fff!important;color:#111!important}
  body *{visibility:hidden!important}
  #print-membership-card,#print-membership-card *{visibility:visible!important}
  #print-membership-card{position:absolute!important;top:0!important;right:auto!important;left:50%!important;display:flex!important;flex-direction:column!important;gap:10mm!important;width:85.6mm!important;height:auto!important;transform:translateX(-50%)!important;perspective:none!important;box-shadow:none!important;overflow:visible!important}
  #print-membership-card>.khz-membership-face{position:relative!important;inset:auto!important;display:block!important;width:85.6mm!important;height:57.07mm!important;min-height:57.07mm!important;aspect-ratio:9/6!important;transform:none!important;-webkit-transform:none!important;opacity:1!important;visibility:visible!important;box-shadow:none!important;border:0!important;break-inside:avoid!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;padding:4.5%!important;overflow:hidden!important}
  .khz-athlete-nav,.khz-admin-header,.khz-pwa-banner,.khz-card-settings,.no-print{display:none!important}
}
