body.instructor-flow-open { overflow:hidden; }
dialog#instructor-flow { position:fixed; inset:var(--ic-top,0px) 0 auto; width:100%; height:var(--ic-height,100dvh); max-width:none; max-height:none; margin:0; padding:0; border:0; border-radius:0; overflow:hidden; background:transparent; color:var(--text); box-shadow:none; }
#instructor-flow::backdrop { background:#020b1385; backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); }
#instructor-flow > .bottom-nav { position:absolute; }
.ic-panel { display:flex; flex-direction:column; border:1px solid var(--line); overflow:hidden; background:var(--bg); box-shadow:0 20px 70px #0004; }
.ic-panel svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.ic-header { display:flex; align-items:center; gap:10px; padding:16px 18px; border-bottom:1px solid var(--line); flex:none; }
.ic-header > div { flex:1; min-width:0; }
.ic-header h2 { font-size:16px; line-height:1.4; margin:0; letter-spacing:-.4px; }
.ic-header > div > span { display:block; color:var(--muted); font-size:11px; margin-top:3px; }
.ic-header .icon-button,.ic-back { display:grid; place-items:center; width:44px; height:44px; min-width:44px; padding:0; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--text); }
.ic-back svg { transform:rotate(180deg); }
.ic-scroll { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:24px 22px; }
.ic-footer { flex:none; display:grid; gap:9px; padding:16px 22px; border-top:1px solid var(--line); background:var(--bg); }
.ic-primary,.ic-secondary { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:48px; padding:12px 14px; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--text); font-size:14px; line-height:1.5; font-weight:650; }
.ic-primary { border-color:transparent; background:var(--action-bg); color:var(--accent-text); }
.ic-primary:disabled { background:var(--disabled-bg); color:var(--disabled-text); border-color:transparent; cursor:not-allowed; }
.ic-text { border:0; background:transparent; color:var(--muted); padding:9px 10px; min-height:44px; font-size:13px; }
.ic-intro { margin-bottom:22px; }
.ic-intro > span { color:var(--accent); font-size:11px; letter-spacing:1px; }
.ic-intro h3 { margin:9px 0; font-size:23px; letter-spacing:-.8px; line-height:1.4; word-break:keep-all; overflow-wrap:anywhere; }
.ic-intro p,.ic-note { color:var(--muted); font-size:12px; line-height:1.8; margin:0; word-break:keep-all; overflow-wrap:anywhere; }
.ic-note { margin-top:16px; }
.ic-footer .ic-note { margin:0; text-align:center; font-size:11px; }
.ic-intro-card { position:relative; isolation:isolate; overflow:hidden; width:min(100%,210px); aspect-ratio:5/7; border:1px solid var(--line); border-radius:22px; background:#062432; color:#fff; padding:24px 20px; margin:0 auto 24px; text-shadow:0 1px 4px #001b2b80; }
.ic-intro-background { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; }
.ic-intro-card::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#04162226,transparent 65%,#0416221a); }
.ic-intro-card .ic-brand-lockup { display:flex; align-items:center; gap:8px; }
.ic-intro-card .ic-brand-lockup img { display:block; width:26px; height:16px; object-fit:contain; flex:none; }
.ic-intro-card > strong { display:block; font-size:27px; line-height:1.35; margin-top:28px; letter-spacing:-.6px; }
.ic-intro-card > p { font-size:11px; color:#e3edf2; margin-top:18px; }
.ic-steps { padding-left:22px; font-size:13px; line-height:1.7; color:var(--muted); }
.ic-steps li { padding:4px 0; }
.ic-form { display:grid; gap:20px; }
.ic-field { display:grid; gap:9px; min-width:0; margin:0; padding:0; border:0; color:var(--text); font-size:13px; font-weight:600; }
.ic-field legend { padding:0; margin-bottom:9px; }
.ic-field small { color:var(--muted); font-size:11px; line-height:1.8; font-weight:400; }
.ic-field :is(input,select,textarea) { width:100%; min-width:0; min-height:48px; border:1px solid var(--line); border-radius:12px; padding:12px; background:var(--surface); color:var(--text); font:inherit; font-size:16px; font-weight:400; line-height:1.5; }
.ic-field textarea { resize:vertical; min-height:90px; max-height:180px; }
.ic-field input::placeholder,.ic-field textarea::placeholder { color:var(--muted); opacity:1; }
.ic-field input[type=date],.ic-field input[type=time] { appearance:none; min-width:0; font-size:14px; }
.ic-field input[type=date]::-webkit-date-and-time-value { text-align:left; min-width:0; }
.ic-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:4px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.ic-options button { min-height:44px; padding:9px 6px; border:0; border-radius:10px; background:transparent; color:var(--text); font-size:13px; }
.ic-options:not(.choice-group) button[aria-pressed=true] { background:var(--action-bg); color:var(--accent-text); font-weight:650; }
.ic-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ic-place-summary { font-size:12px; color:var(--accent); margin-bottom:14px; }
.ic-place-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ic-place { display:flex; flex-direction:column; align-items:flex-start; gap:7px; min-width:0; padding:16px 12px; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--text); text-align:left; }
.ic-place strong { font-size:14px; line-height:1.5; word-break:keep-all; overflow-wrap:anywhere; }
.ic-place small,.ic-place > span { font-size:11px; line-height:1.6; color:var(--muted); }
.ic-place[aria-pressed=true] { border-color:var(--accent); }
.ic-place[aria-pressed=true] > span { color:var(--accent); }
.ic-place:disabled { opacity:.5; cursor:default; }
.ic-facts { margin:0; padding:2px 14px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.ic-facts > div { display:grid; grid-template-columns:86px minmax(0,1fr); gap:12px; padding:13px 0; font-size:13px; line-height:1.75; }
.ic-facts > div + div { border-top:1px solid var(--line); }
.ic-facts dt { color:var(--muted); }
.ic-facts dd { margin:0; overflow-wrap:anywhere; word-break:keep-all; text-align:right; white-space:pre-line; }
.ic-check { display:flex; align-items:flex-start; gap:10px; min-height:44px; font-size:13px; line-height:1.7; margin-top:14px; padding-block:6px; }
.ic-check input { appearance:auto; width:20px; height:20px; flex:none; margin:1px 0 0; accent-color:var(--action-bg); }
.ic-state { border:1px solid var(--line); border-radius:16px; padding:20px; margin-bottom:20px; background:var(--surface); }
.ic-state > span,.ic-pending { color:var(--accent); font-size:12px; }
.ic-state > strong { display:block; font-size:17px; line-height:1.5; margin:8px 0; }
.ic-state p { color:var(--muted); font-size:13px; line-height:1.8; margin:0; word-break:keep-all; }
.ic-pending { text-align:center; margin:0 0 16px; }
.ic-portrait.fv-card { width:min(100%,300px); margin:0 auto; padding:28px 24px; }
.ic-portrait .fv-card-copy > strong { font-size:29px; overflow-wrap:anywhere; }
.ic-portrait .fv-card-copy > span { font-size:13px; line-height:1.7; white-space:pre-line; }
.ic-portrait .fv-photo-shade { background:linear-gradient(180deg,#052431b8,#05243166 42%,transparent 64%,#052431bb); }
.ic-card-bottom { position:absolute; left:24px; right:24px; bottom:24px; font-size:11px; line-height:1.8; word-break:keep-all; overflow-wrap:anywhere; }
.ic-card-tools { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 12px; margin-top:8px; }
.ic-window,.ic-context { padding:12px 14px; border-radius:12px; background:var(--surface); color:var(--muted); font-size:12px; line-height:1.8; margin:0; }
.ic-context { margin-bottom:20px; }
.ic-proposal-copy { margin-top:20px; }
.ic-proposal-copy h4 { font-size:14px; margin:0 0 8px; }
.ic-proposal-copy p { font-size:13px; line-height:1.8; white-space:pre-line; overflow-wrap:anywhere; margin:0; }
.ic-total { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 0; margin-top:18px; border-top:1px solid var(--line); }
.ic-total > span { font-size:12px; line-height:1.8; }
.ic-total small { color:var(--muted); font-size:11px; }
.ic-total > strong { font-size:24px; font-variant-numeric:tabular-nums; white-space:nowrap; }
@media(max-width:359px) { .ic-header { padding:14px 12px; gap:8px; } .ic-header h2 { font-size:15px; } .ic-scroll { padding:20px 16px; } .ic-footer { padding:14px 16px; } .ic-pair { gap:8px; } .ic-field :is(input,select,textarea) { padding:10px; } .ic-facts > div { grid-template-columns:74px minmax(0,1fr); gap:8px; font-size:12px; } .ic-total > strong { font-size:21px; } }
@media(max-height:560px) { .ic-header { padding-block:9px; } .ic-footer { padding-block:10px; } }
/* Long public names and intros stay separate from location metadata. */
.ic-portrait { container-type:inline-size; }
.ic-portrait .fv-card-copy > strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:clamp(22px,10cqw,29px); line-height:1.25; }
.ic-portrait .fv-card-copy > span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.7; }
.ic-card-bottom { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* Authored lesson fields and a distinct instructor My page. */
.ic-portrait .ic-brand-lockup { display:flex; align-items:center; gap:8px; }
.ic-portrait .ic-brand-lockup img { display:block; width:26px; height:16px; object-fit:contain; }
.ic-form-section { display:grid; gap:20px; min-width:0; margin:0; padding:20px 0 0; border:0; border-top:1px solid var(--line); }
.ic-form-section > legend { padding:0 12px 0 0; font-size:14px; font-weight:650; color:var(--accent); }
.ic-form-section .ic-note { margin:0; }
.ic-options:has([data-field=format]) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ic-photo-preview { display:grid; justify-items:start; gap:6px; }
.ic-photo-preview img { width:min(100%,240px); max-height:180px; object-fit:cover; border-radius:12px; }
#ic-photo-status { color:var(--muted); font-size:12px; line-height:1.7; }
.ic-scroll .ld-detail { margin-bottom:20px; }
.ic-scroll .ld-detail p { white-space:pre-line; }
.ic-scroll .ld-expand dd { white-space:pre-line; overflow-wrap:anywhere; }
.iw-mode-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; padding:4px; margin-bottom:22px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.iw-mode-switch button { min-height:44px; padding:10px; border:0; border-radius:10px; background:transparent; color:var(--muted); font-size:14px; }
.iw-mode-switch button[aria-pressed=true] { color:#fff; background:var(--action-bg); font-weight:650; }
/* Keep the mode control mounted so a content refresh cannot restart its slide. */
.iw-mode-switch { position:relative; isolation:isolate; }
.iw-mode-switch::before { content:""; position:absolute; z-index:0; top:4px; bottom:4px; left:4px; width:calc((100% - 12px)/2); border-radius:10px; background:var(--action-bg); pointer-events:none; transition:transform 240ms cubic-bezier(.22,1,.36,1); }
.iw-mode-switch[data-mode="instructor"]::before { transform:translateX(calc(100% + 4px)); }
.iw-mode-switch > button { position:relative; z-index:1; transition:color 140ms ease; }
.iw-mode-switch > button[aria-pressed=true] { background:transparent; }
@media(prefers-reduced-motion:reduce) { .iw-mode-switch::before,.iw-mode-switch > button { transition:none; } }

.iw-dashboard { display:grid; gap:22px; min-width:0; }
.iw-preview { margin:0 0 16px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; color:var(--muted); background:var(--surface); font-size:11px; line-height:1.7; word-break:keep-all; }
.iw-dashboard > .iw-preview { margin:0; }
.iw-profile { display:grid; grid-template-columns:56px minmax(0,1fr); gap:14px; align-items:center; min-width:0; padding:22px; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.iw-avatar { display:grid; place-items:center; width:56px; aspect-ratio:1; border-radius:18px; background:color-mix(in srgb,var(--accent) 14%,var(--bg)); color:var(--accent); font-size:24px; }
.iw-profile small { color:var(--accent); font-size:12px; }
.iw-profile h2 { font-size:22px; margin:4px 0; line-height:1.35; overflow-wrap:anywhere; }
.iw-profile p { font-size:12px; line-height:1.7; color:var(--muted); margin:0; word-break:keep-all; overflow-wrap:anywhere; }
.iw-profile > button { display:flex; justify-content:center; align-items:center; gap:6px; grid-column:1/-1; min-height:44px; padding:10px; border:1px solid var(--line); border-radius:12px; background:var(--bg); color:var(--text); font-size:13px; }
.iw-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:18px 0; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.iw-stats > div { display:grid; gap:8px; text-align:center; min-width:0; padding:0 6px; }
.iw-stats > div + div { border-left:1px solid var(--line); }
.iw-stats small { font-size:11px; line-height:1.6; color:var(--muted); }
.iw-stats strong { font-size:24px; line-height:1.25; font-variant-numeric:tabular-nums; }
.iw-stats strong > span { font-size:12px; margin-left:3px; font-weight:400; color:var(--muted); }
.iw-section { min-width:0; }
.iw-section h3 { margin:0 0 14px; font-size:17px; line-height:1.5; letter-spacing:-.4px; }
.iw-section-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.iw-section-head h3 { margin:0; }
.iw-section-head button { display:flex; align-items:center; gap:4px; min-height:44px; padding:8px 10px; border:0; background:transparent; color:var(--accent); font-size:13px; font-weight:600; }
.iw-empty { display:grid; justify-items:center; gap:10px; text-align:center; padding:28px 20px; border:1px dashed var(--line); border-radius:18px; background:var(--surface); }
.iw-empty > span { color:var(--accent); }
.iw-empty > strong { font-size:16px; line-height:1.6; }
.iw-empty p { margin:0; color:var(--muted); font-size:13px; line-height:1.8; word-break:keep-all; }
.iw-empty button { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; margin-top:4px; border:0; border-radius:12px; background:var(--action-bg); color:#fff; font-size:13px; font-weight:650; }
.iw-actions { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.iw-action { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:76px; padding:16px; border:0; background:transparent; color:var(--text); text-align:left; }
.iw-action + .iw-action { border-top:1px solid var(--line); }
.iw-action > span { display:grid; gap:5px; min-width:0; }
.iw-action strong { font-size:14px; font-weight:600; }
.iw-action small { color:var(--muted); font-size:12px; line-height:1.6; word-break:keep-all; }
.iw-edit { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:52px; padding:12px 0; border:0; background:transparent; color:var(--muted); font-size:13px; }
.iw-lesson { display:grid; justify-items:start; gap:10px; width:100%; padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--surface); color:var(--text); text-align:left; }
.iw-tag { padding:4px 7px; border-radius:6px; background:color-mix(in srgb,var(--accent) 12%,var(--bg)); color:var(--accent); font-size:11px; }
.iw-lesson > strong { font-size:18px; line-height:1.5; overflow-wrap:anywhere; }
.iw-lesson > span:not(.iw-tag) { color:var(--muted); font-size:12px; }
.iw-lesson > b { font-size:23px; }
.iw-lesson b small { color:var(--muted); font-size:12px; font-weight:400; }
.iw-lesson > small { display:flex; align-items:center; gap:4px; color:var(--accent); font-size:12px; }
@media(min-width:700px) { .iw-profile { grid-template-columns:56px minmax(0,1fr) auto; } .iw-profile > button { grid-column:auto; padding-inline:16px; } .iw-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .iw-action:nth-child(2) { border-top:0; } .iw-action:nth-child(even) { border-left:1px solid var(--line); } }

/* Approved mobile application: sport → place → name → introduction → review. */
#instructor-flow > .bottom-nav[hidden] { display:none; }
.ic-progress { flex:none; padding:14px 22px 0; }
.ic-progress > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:12px; line-height:18px; }
.ic-progress > div:first-child > span:first-child { color:var(--accent); font-weight:600; }
.ic-progress-track { height:3px; margin-top:9px; background:var(--line); border-radius:3px; overflow:hidden; }
.ic-progress-track > span { display:block; height:100%; background:var(--accent); }
.ic-registration .ic-header > div > span { display:none; }
.ic-registration .ic-registration-intro > h3 { margin-top:0; font-size:26px; line-height:1.4; }
.ic-registration .ic-registration-intro > p { font-size:13px; line-height:1.75; }
.ic-registration .ic-registration-form { gap:0; }
.ic-registration .ic-field :is(input,textarea) { min-height:56px; font-size:16px; }
.ic-registration .ic-field textarea { height:112px; min-height:96px; max-height:180px; }
.ic-input-help { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-top:10px; color:var(--muted); font-size:12px; line-height:1.6; }
.ic-input-help > span:last-child { white-space:nowrap; font-variant-numeric:tabular-nums; }
.ic-sport-choices { display:grid; gap:12px; }
.ic-sport-choice { display:grid; grid-template-columns:56px minmax(0,1fr) 24px; align-items:center; gap:14px; width:100%; min-height:86px; padding:14px; border:1px solid var(--line); border-radius:16px; background:var(--surface); color:var(--text); text-align:left; transition:background 160ms,border-color 160ms; }
.ic-sport-choice img { width:56px; height:56px; object-fit:cover; border-radius:10px; }
.ic-sport-visual { position:relative; display:block; width:56px; height:56px; border-radius:10px; overflow:hidden; }
.ic-sport-visual > img { display:block; }
.ic-sport-choice > span:nth-child(2) { display:grid; gap:6px; min-width:0; }
.ic-sport-choice strong { font-size:16px; line-height:1.5; }
.ic-sport-choice small { color:var(--muted); font-size:12px; line-height:1.5; word-break:keep-all; }
.ic-sport-choice[aria-pressed=true] { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 9%,var(--surface)); }
.ic-sport-check,.ic-place-check { display:grid; place-items:center; width:24px; height:24px; color:var(--accent); font-size:20px; }
.ic-registration .ic-place-grid { grid-template-columns:minmax(0,1fr); gap:10px; margin-top:16px; }
.ic-registration .ic-place { flex-direction:row; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; min-height:74px; }
.ic-registration .ic-place > span:first-child { display:grid; gap:6px; min-width:0; }
.ic-registration .ic-place > .ic-place-check { flex:none; color:var(--muted); font-size:19px; }
.ic-registration .ic-place[aria-pressed=true] > .ic-place-check { color:var(--accent); }
.ic-place-empty { margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.ic-selected-places { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-bottom:16px; }
.ic-selected-places button { display:flex; align-items:center; gap:6px; min-height:44px; padding:8px 11px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--text); font-size:12px; }
.ic-selected-places svg { width:14px; height:14px; }
.ic-optional { margin-top:22px; border-top:1px solid var(--line); }
.ic-optional > summary { min-height:48px; padding:14px 0; color:var(--text); font-size:13px; line-height:20px; }
.ic-optional > summary > span { color:var(--muted); }
.ic-optional .ic-field { margin:12px 0 18px; }
.ic-registration-issue { margin:12px 0 0; color:var(--muted); font-size:12px; line-height:1.7; }
.ic-registration-issue:empty { display:none; }
.ic-registration-review { margin:0 0 22px; }
.ic-registration-review > div { display:grid; grid-template-columns:72px minmax(0,1fr) 44px; gap:10px; align-items:start; border-bottom:1px solid var(--line); padding:14px 0; font-size:13px; line-height:1.8; }
.ic-registration-review dt { color:var(--muted); padding-top:9px; }
.ic-registration-review dd { margin:0; padding-top:9px; overflow-wrap:anywhere; word-break:keep-all; white-space:pre-line; }
.ic-registration-review button { min-height:44px; padding:8px 0; border:0; background:transparent; color:var(--accent); font-size:12px; }
@media(max-width:959px) {
 #instructor-flow > .ic-panel.ic-registration { inset:0; width:100%; max-width:none; height:100%; max-height:none; margin:0; border:0; border-radius:0; box-shadow:none; transform:none; }
 .ic-registration .ic-header { padding:8px 12px; padding-top:max(8px,env(safe-area-inset-top)); min-height:60px; }
 .ic-registration .ic-header h2 { text-align:center; font-size:15px; }
 .ic-registration .ic-header :is(.ic-back,.icon-button) { border:0; background:transparent; border-radius:10px; }
 .ic-registration .ic-scroll { padding:24px 22px; }
 .ic-registration .ic-footer { padding:12px 22px max(16px,env(safe-area-inset-bottom)); }
 .ic-registration .ic-primary { min-height:52px; font-size:15px; }
 #instructor-flow.ic-keyboard .ic-registration .ic-header { min-height:50px; padding-bottom:3px; }
 #instructor-flow.ic-keyboard .ic-progress { padding-top:8px; }
 #instructor-flow.ic-keyboard .ic-registration .ic-scroll { padding-top:16px; padding-bottom:14px; }
 #instructor-flow.ic-keyboard .ic-registration-intro { margin-bottom:16px; }
 #instructor-flow.ic-keyboard .ic-registration-intro > h3 { margin-bottom:0; font-size:20px; }
 #instructor-flow.ic-keyboard .ic-registration-intro > p { display:none; }
 #instructor-flow.ic-keyboard .ic-registration .ic-footer { padding-block:8px; padding-bottom:max(8px,env(safe-area-inset-bottom)); }
 #instructor-flow.ic-keyboard .ic-selected-places { display:none; }
 #instructor-flow.ic-keyboard .ic-registration .ic-note:not([role="status"]) { display:none; }
 #instructor-flow.ic-compact .ic-registration .ic-header { min-height:44px; padding-block:0; padding-top:env(safe-area-inset-top,0px); }
 #instructor-flow.ic-compact .ic-registration .ic-progress { padding-top:4px; }
 #instructor-flow.ic-compact .ic-registration .ic-scroll { padding-top:12px; }
 #instructor-flow.ic-compact.ic-keyboard .ic-progress,#instructor-flow.ic-compact.ic-keyboard .ic-registration-intro { display:none; }
 #instructor-flow.ic-compact .ic-registration .ic-primary { min-height:44px; }
 #instructor-flow.ic-compact .ic-registration .ic-footer { padding-block:6px; padding-bottom:max(6px,env(safe-area-inset-bottom)); }
}
@media(max-width:359px) { .ic-registration .ic-scroll { padding-inline:18px; } .ic-registration .ic-footer,.ic-registration .ic-progress { padding-inline:18px; } .ic-registration .ic-registration-intro > h3 { font-size:24px; } .ic-sport-choice { gap:12px; padding:12px; } .ic-registration-review > div { grid-template-columns:58px minmax(0,1fr) 38px; gap:8px; } }
@media(prefers-reduced-motion:reduce) { .ic-sport-choice { transition:none; } }

/* Home instructor application banner: approved compact design. */
.instructor-apply-banner { flex-shrink:0; min-height:0; color:var(--text); }
.iab-deck { display:contents; }
.iab-card { position:relative; flex:none; display:block; width:36px; height:50px; border:1px solid #dcebf0; border-radius:5px; background-color:#001327; background-position:center; background-size:cover; box-shadow:0 3px 8px #0005; transform:rotate(-7deg); color:#fff; }
.iab-card > img { position:absolute; top:5px; left:4px; display:block; width:12px; height:8px; object-fit:contain; }
.iab-card > span { position:absolute; left:4px; top:18px; font-size:6px; line-height:1.5; font-weight:600; }
.iab-card-back { display:none; }
.iab-copy { flex:1; min-width:0; }
.iab-copy > strong { display:block; font-size:14px; line-height:1.5; font-weight:650; letter-spacing:-.5px; word-break:keep-all; }
.iab-copy > small { display:block; margin-top:2px; font-size:11px; line-height:1.4; color:var(--muted); opacity:.8; word-break:keep-all; }
.instructor-apply-banner > .iab-arrow { display:grid; place-items:center; flex:none; width:18px; height:18px; border-radius:50%; color:var(--accent); }
.iab-arrow > svg { width:18px; height:18px; }
.iab-pc-arrow { display:none; }
@media(min-width:600px) and (max-width:959px) { .iab-card { width:44px; height:64px; } .iab-copy > strong { font-size:16px; } }
@media(min-width:960px) {
 .home-content .instructor-apply-banner { height:80px; padding-inline:16px; gap:16px; }
 .iab-deck { position:relative; display:block; align-self:stretch; flex:none; width:88px; }
 .iab-card { position:absolute; left:3px; top:7px; width:50px; height:72px; border-radius:6px; transform:rotate(-10deg); z-index:1; }
 .iab-card > img { top:7px; left:6px; width:15px; height:10px; }
 .iab-card > span { left:6px; top:24px; font-size:8px; }
 .iab-card-back { display:block; left:34px; top:9px; transform:rotate(11deg); filter:brightness(.85); z-index:0; background-position:65% 65%; }
 .iab-copy > strong { font-size:16px; line-height:23px; }
 .iab-copy > small { margin-top:4px; font-size:12px; line-height:18px; }
 .instructor-apply-banner > .iab-arrow { width:40px; height:40px; background:var(--surface-hover); color:var(--text); }
 .iab-mobile-arrow { display:none; } .iab-pc-arrow { display:inline; }
}
@media(min-width:960px) and (max-width:1099px) { .iab-deck { width:78px; } .iab-card { left:0; width:47px; height:68px; } .iab-card-back { left:29px; } .iab-copy > strong { font-size:15px; line-height:22px; } .iab-copy > small { font-size:11px; line-height:17px; } }

/* Validation remains visible while compact keyboard layouts hide longer helper copy. */
.ic-field-error { display:block; color:var(--text); font-size:12px; line-height:1.7; font-weight:400; }
.ic-field-error:empty,.ic-validation:empty { display:none; }
.ic-validation:not(:empty) { padding:10px 12px; border-left:3px solid var(--accent); border-radius:4px 10px 10px 4px; background:color-mix(in srgb,var(--accent) 8%,var(--surface)); }
