:root{--ink:#16191d;--muted:#5f6b78;--line:#dfe3e8;--soft:#f5f6f8;--gold:#4378bc;--gold-dark:#2f5f9e;--orange:#f08e3c;--green:#167a3e;--red:#c0362c;--bg:#ffffff}
@media (prefers-color-scheme:dark){:root:not(.nlb-embed){--ink:#eef1f4;--muted:#a3adb8;--line:#2c343d;--soft:#1b2128;--bg:#11161b}}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.nlb{max-width:860px;margin:0 auto;padding:16px 16px 40px}
.nlb-embed .nlb{padding:8px 4px 24px}
.nlb-loading,.nlb-empty{color:var(--muted);text-align:center;padding:24px}
.nlb-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.nlb-head h1{font-size:26px;margin:6px 0;line-height:1.2}
.nlb-tabs button.on{background:var(--gold);border-color:var(--gold);color:#fff}
.nlb-h2{font-size:18px;margin:22px 0 8px}
.nlb-back,.nlb-link{border:0;background:none;color:var(--gold-dark);font:inherit;font-weight:600;cursor:pointer;padding:6px 0}
.nlb-note{background:var(--soft);border-radius:10px;padding:10px 14px;white-space:pre-wrap}
.nlb-tabs{display:flex;gap:6px;overflow-x:auto;margin:10px 0 14px;padding-bottom:4px}
.nlb-tabs button{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:999px;padding:8px 16px;font:inherit;font-weight:600;white-space:nowrap;cursor:pointer}
.nlb-tabs button.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.nlb-card{display:grid;grid-template-columns:200px 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:14px;background:var(--bg)}
.nlb-card:not(:has(img)){grid-template-columns:1fr}
.nlb-card img{width:100%;height:100%;object-fit:cover;min-height:160px;background:var(--soft)}
.nlb-cb{padding:14px 16px;display:grid;gap:8px;align-content:start}
.nlb-cb h2{margin:0;font-size:20px}
.nlb-price{margin:0;font-weight:700;color:var(--gold-dark)}
.nlb-price s{color:var(--muted);font-weight:400}
.nlb-desc{color:var(--muted);margin:0}
.nlb-desc summary{cursor:pointer;list-style:none}
.nlb-desc summary::-webkit-details-marker{display:none}
.nlb-desc[open] summary{display:none}
.nlb-desc p{white-space:pre-wrap;margin:0}
.nlb-dates{display:flex;flex-wrap:wrap;gap:8px}
.nlb-dates button,.nlb-slots button{display:grid;gap:1px;min-width:108px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);padding:8px 12px;font:inherit;cursor:pointer}
.nlb-dates button:hover,.nlb-slots button:hover{border-color:var(--gold)}
.nlb-dates span{font-size:14px}
.nlb-dates em{font-style:normal;font-size:12px;font-weight:700;color:var(--green)}
.nlb-dates button.full em{color:var(--red)}
.nlb-slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.nlb-slots small{color:var(--muted);font-size:12px}
.nlb-primary,.nlb-danger{border:0;border-radius:10px;padding:11px 20px;font:inherit;font-weight:700;cursor:pointer;background:var(--gold);color:#fff;justify-self:start}
.nlb-primary:hover{background:var(--gold-dark)}
.nlb-primary:disabled{opacity:.5;cursor:default}
.nlb-danger{background:none;border:1px solid var(--red);color:var(--red);margin-top:18px}
.nlb-big{width:100%;padding:14px;font-size:17px}
.nlb-when{color:var(--muted);margin:0 0 14px}
.nlb-areas{margin:-8px 0 14px;font-weight:600;color:var(--gold-dark)}
.nlb-form{display:grid;gap:12px}
.nlb-form label,.nlb-date{display:grid;gap:5px;font-size:14px;font-weight:600}
.nlb-form input,.nlb-form select,.nlb-date input{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%}
.nlb-form fieldset{border:1px solid var(--line);border-radius:10px;display:grid;gap:8px;padding:10px 12px}
.nlb-form legend{font-size:14px;font-weight:600}
.nlb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.nlb-check{display:flex!important;align-items:center;gap:8px}
.nlb-check input{width:auto!important}
.nlb-waiver{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid;gap:8px}
.nlb-wtext{max-height:160px;overflow:auto;white-space:pre-wrap;font-size:13px;color:var(--muted)}
.nlb-codes summary{cursor:pointer;color:var(--gold-dark);font-weight:600}
.nlb-codes .nlb-grid{margin-top:8px;grid-template-columns:1fr 1fr}
.nlb-sum,.nlb-sumbox{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;background:var(--soft);border-radius:10px;padding:12px 14px}
.nlb-sum b,.nlb-sumbox strong{margin-left:auto;font-size:18px}
.nlb-sumbox{display:grid;margin-bottom:14px}
.nlb-sumbox strong{margin:4px 0 0}
.nlb-sum .d,.nlb-sumbox .d{color:var(--green)}
.nlb-sumbox small{color:var(--muted)}
.nlb-cc{border:1px solid var(--line);border-radius:10px;padding:2px 10px;min-height:44px;background:#fff}
.nlb-hint{color:var(--muted);font-size:14px}
.nlb-err{color:var(--red);background:#fdecea;border-radius:10px;padding:10px 14px;margin:0}
.nlb-warn{background:#fff4e0;color:#7a4b00;border-radius:10px;padding:10px 14px}
.nlb-test{background:#e8f0fe;color:#1a4fa0;border-radius:10px;padding:10px 14px;margin:0}
.nlb-ok{background:var(--soft);border-radius:14px;padding:14px 18px;margin-bottom:14px}
.nlb-ok p{margin:6px 0}
.nlb-code b{font-size:20px;letter-spacing:.04em}
.nlb-cal{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 12px}
.nlb-cal a,.nlb-foot a,.nlb-hint a{color:var(--gold-dark);font-weight:600}
.nlb-cal a{border:1px solid var(--line);border-radius:10px;padding:8px 12px;text-decoration:none}
.nlb-foot{text-align:center;margin-top:20px}
@media (max-width:640px){
  .nlb-card{grid-template-columns:1fr}
  .nlb-card img{max-height:180px;min-height:0}
  .nlb-grid,.nlb-codes .nlb-grid{grid-template-columns:1fr}
  .nlb-head h1{font-size:22px}
}
.nlb-acct{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.nlb-acct li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;align-items:center}
.nlb-acct li span{color:var(--muted);font-size:14px;grid-column:1}
.nlb-acct li em{font-style:normal;font-weight:600;font-size:13px;color:var(--green);grid-column:1}
.nlb-acct li a,.nlb-acct li button{grid-column:2;grid-row:1/span 3}
details summary.nlb-h2{cursor:pointer}
.nlb-req{margin:4px 0;font-size:14px;font-weight:600;color:#7a4b00}

/* class calendar (2026-10-10) */
.nlb-switch{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin:0 0 12px}
.nlb-switch button{border:0;background:var(--bg);color:var(--ink);font:inherit;font-weight:600;padding:7px 16px;cursor:pointer}
.nlb-switch button.on{background:var(--gold);color:#fff}
.nlb-month{border:1px solid var(--line);border-radius:14px;padding:10px;background:var(--bg)}
.nlb-mhead{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px}
.nlb-mhead h2{margin:0;font-size:20px}
.nlb-mhead button{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:10px;width:40px;height:40px;font-size:22px;cursor:pointer}
.nlb-mhead button:disabled{opacity:.35;cursor:default}
.nlb-grid7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.nlb-wd{font-size:12px;font-weight:700;color:var(--muted);text-align:center;padding:4px 0}
.nlb-day{min-height:96px;border:1px solid var(--line);border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:3px;min-width:0;background:var(--bg)}
.nlb-day.nlb-off{border:0;background:none}
.nlb-day.past{opacity:.55}
.nlb-day.today .nlb-dn{background:var(--gold);color:#fff;border-radius:999px;padding:0 6px}
.nlb-day.has{cursor:pointer}
.nlb-day.picked{outline:2px solid var(--gold)}
.nlb-dn{font-size:12px;font-weight:700;align-self:flex-start}
.nlb-ev{display:block;width:100%;text-align:left;border:0;border-left:4px solid var(--c);background:var(--soft);color:var(--ink);border-radius:4px;padding:2px 4px;font:inherit;font-size:12px;line-height:1.25;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nlb-ev:hover{background:var(--line)}
.nlb-ev.full{opacity:.6;text-decoration:line-through}
.nlb-dots{display:none}
.nlb-tap{display:none}
.nlb-dayl{margin-top:8px}
.nlb-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;width:100%;text-align:left;border:1px solid var(--line);border-left:5px solid var(--c);border-radius:10px;background:var(--bg);color:var(--ink);padding:10px 12px;margin-bottom:8px;font:inherit;cursor:pointer}
.nlb-row em{font-style:normal;font-weight:700;color:var(--green);font-size:14px}
.nlb-row em.full{color:var(--red)}
.nlb-info img{width:100%;max-height:300px;object-fit:cover;border-radius:12px;margin-bottom:12px}
.nlb-longdesc{white-space:pre-wrap;color:var(--ink)}
.nlb-open{color:var(--green)}.nlb-full{color:var(--red)}
@media (max-width:640px){
  .nlb-day{min-height:52px;align-items:center;padding:4px 2px}
  .nlb-ev{display:none}
  .nlb-dots{display:flex;gap:3px;flex-wrap:wrap;justify-content:center}
  .nlb-dots span{width:7px;height:7px;border-radius:999px}
  .nlb-dn{align-self:center}
  .nlb-tap{display:block;text-align:center;margin:8px 0 0}
}

/* private lessons: instructor chips + day strip (2026-10-11) */
.nlb-chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.nlb-chips button{border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);padding:8px 14px;font:inherit;cursor:pointer}
.nlb-chips button[aria-pressed=true],.nlb-lday button[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset;font-weight:700}
.nlb-lday em{color:var(--muted);font-weight:400;font-size:12px}

/* Training categories + I'm interested (Mark 2026-10-13) */
.nlb-series{align-items:center}
.nlb-series span{font-weight:700;font-size:13px;color:var(--muted,#667085);padding-right:2px}
.nlb-series button.on{background:var(--cc,var(--ink));border-color:var(--cc,var(--ink));color:#fff}
a.nlb-primary{display:inline-block;text-decoration:none;text-align:center}
.nlb-later{margin-top:18px}.nlb-later .nlb-row{display:flex;justify-content:space-between;gap:10px;width:100%}.nlb-later .nlb-row span{color:var(--gold,#b8862b);font-weight:700;white-space:nowrap}
