/* S18: register confirm and pending (payment), inside the student shell. Tokens only. */
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/onest-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.s18{color:var(--color-body);font-family:var(--font-body)}
.s18 a:focus-visible,.s18 button:focus-visible{outline:3px solid var(--color-accent-text);outline-offset:2px}
.s18 button.btn{font-family:inherit;cursor:pointer}
.s18 .crumb{display:inline-block;margin-bottom:var(--s-4);font-size:var(--t-sm);font-weight:700}
.s18 [hidden]{display:none!important}
/* state switcher (design preview only) */
.s18-states{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center;margin:0 0 var(--s-4);font-size:var(--t-xs);color:var(--color-muted)}
.s18-states b{font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-right:var(--s-1)}
.s18-states a{font-size:var(--t-xs);font-weight:700;padding:.3rem .75rem;border-radius:999px;border:1.5px solid var(--color-line);background:var(--color-card);color:var(--color-ink);text-decoration:none}
.s18-states a[aria-current="true"]{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-card)}
/* course card */
.s18-course{background:#fffaf6;border:1px solid var(--color-line);border-left:4px solid var(--color-accent);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--s-5);display:flex;gap:var(--s-5);align-items:center;flex-wrap:wrap;margin-bottom:var(--s-4)}
.s18-course .txt{flex:1 1 260px;min-width:0}
.s18-course .kick{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap;font-size:var(--t-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent-text);margin:0 0 var(--s-2)}
.s18-course .kick .pill{margin:0}
.s18-course h1{margin:0;font-family:var(--font-head);font-size:var(--t-2xl);color:var(--color-ink);font-weight:800;line-height:1.15}
.s18-course .meta{margin-top:var(--s-2);font-size:var(--t-base);color:var(--color-ink);font-weight:600}
.s18-course .meta2{margin-top:var(--s-1);font-size:var(--t-sm);color:var(--color-muted)}
.s18-tiles{display:flex;gap:var(--s-3)}
.s18-tile{min-width:92px;text-align:center;background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--s-3) var(--s-3)}
.s18-tile .n{font-family:var(--font-head);font-size:var(--t-2xl);font-weight:800;color:var(--color-ink);line-height:1}
.s18-tile .l{margin-top:var(--s-1);font-size:var(--t-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
/* box */
.s18-box{background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--s-5);margin-bottom:var(--s-4)}
.s18-box h2{margin:0 0 var(--s-4);font-family:var(--font-head);font-size:var(--t-lg);color:var(--color-ink)}
.s18-box p{margin:0 0 var(--s-3);font-size:var(--t-sm);line-height:1.55}
.s18-box p:last-child{margin-bottom:0}
.s18-steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-4);counter-reset:st}
.s18-steps li{position:relative;padding-left:3rem;counter-increment:st;font-size:var(--t-sm);line-height:1.55}
.s18-steps li::before{content:counter(st);position:absolute;left:0;top:0;width:2rem;height:2rem;border-radius:50%;background:var(--color-ink);color:var(--color-card);font-family:var(--font-head);font-weight:800;display:flex;align-items:center;justify-content:center}
.s18-steps li.on::before{background:var(--color-accent);color:var(--color-on-accent)}
.s18-steps li.ok::before{content:"";background:var(--color-success-wash);border:2px solid var(--color-success)}
.s18-steps li.ok::after{content:"";position:absolute;left:.62rem;top:.5rem;width:.8rem;height:.45rem;border-left:2.5px solid var(--color-success-ink);border-bottom:2.5px solid var(--color-success-ink);transform:rotate(-45deg)}
.s18-steps strong{display:block;color:var(--color-ink);font-size:var(--t-base);margin-bottom:2px}
.s18-steps .sub{color:var(--color-muted)}
.s18-steps a{font-weight:700}
.s18-cta{display:flex;gap:var(--s-3);flex-wrap:wrap;align-items:center;margin-top:var(--s-5)}
.s18-note{display:block;background:var(--color-bg);border-radius:var(--radius-sm);padding:var(--s-3) var(--s-4);font-size:var(--t-sm);color:var(--color-body);margin-top:var(--s-4)}
.s18-note.ok{background:var(--color-success-wash);color:var(--color-success-ink)}
.s18-note.info{background:var(--color-info-wash);color:var(--color-info-ink)}
.s18-note.warn{background:#fdf3e0;color:#6b4a10}
/* bank details */
.s18-bank{border:1px solid var(--color-line);border-radius:var(--radius-sm);overflow:hidden}
.s18-bank .ex{background:#fdf3e0;color:#6b4a10;font-size:var(--t-xs);font-weight:700;padding:var(--s-2) var(--s-4);letter-spacing:.02em}
.s18-row{display:flex;gap:var(--s-3);align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-4);border-top:1px solid var(--color-line);font-size:var(--t-sm)}
.s18-row:first-of-type{border-top:0}
.s18-row .k{flex:0 0 7.5rem;color:var(--color-muted)}
.s18-row .v{flex:1 1 auto;min-width:0;color:var(--color-ink);font-weight:700;word-break:break-word;font-variant-numeric:tabular-nums}
.s18-row .btn{flex:0 0 auto}
.s18-amount{font-family:var(--font-head);font-size:var(--t-xl);font-weight:800;color:var(--color-ink)}
/* confirm panel for cancel */
.s18-panel{border:1.5px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--s-4);margin-top:var(--s-4);background:var(--color-card)}
.s18-panel p{margin:0 0 var(--s-3);font-size:var(--t-sm)}
.s18-hook{margin:var(--s-5) 0 0;text-align:center;font-size:var(--t-sm);color:var(--color-muted);font-style:italic}
@media (max-width:640px){
  .s18{padding:var(--s-5) var(--s-4) var(--s-6)}
  .s18-course{padding:var(--s-4)}
  .s18-course h1{font-size:var(--t-xl)}
  .s18-row{flex-wrap:wrap}
  .s18-row .k{flex:1 1 100%}
  .s18-cta .btn{flex:1 1 100%;text-align:center}
}

/* Waiting list line */
.s18 .wl-line,.wl-line{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;margin:var(--s-3) 0}
.wl-chip{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);border-radius:999px;background:var(--color-accent-wash);color:var(--color-ink);border:1px solid var(--color-accent);font-size:var(--t-sm);font-weight:700;white-space:nowrap}
.wl-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--color-accent)}
.wl-leave{background:none;border:0;padding:var(--s-1);font:inherit;font-size:var(--t-sm);color:var(--color-muted);text-decoration:underline;cursor:pointer}
.wl-leave:hover,.wl-leave:focus-visible{color:var(--color-ink)}
.wl-leave-note{display:block;margin-top:var(--s-2);font-size:var(--t-sm);color:var(--color-muted)}
