/* Eliabi Pereira — pages of the game platform (G4, 25/09/2026)
   Library, credits, account, join, catalog, partners, legal and admin.
   Built only on the tokens in brand.css (load brand.css first).
   Replaces the old portal.css (dark "Lantern" look) and platform.css. */

:root{--muted:var(--ink-soft)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:400 1rem/1.65 var(--body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--ink);text-decoration:underline;text-decoration-color:#16222E66;text-underline-offset:4px}
a:hover{text-decoration-color:var(--ink)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 7px var(--focus-halo)}
[hidden]{display:none!important}
.skip-link,.skip{position:fixed;z-index:1000;top:10px;left:10px;transform:translateY(-160%);padding:12px 16px;background:var(--ink);color:var(--paper);border:2px solid var(--yellow);font-weight:700;text-decoration:none}
.skip-link:focus,.skip:focus{transform:translateY(0)}

h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1.02;margin:0}
h1{font-size:clamp(1.9rem,5.6vw,4.4rem);overflow-wrap:break-word;text-transform:uppercase;line-height:.95;margin:0 0 20px;max-width:18ch}
h2{font-size:clamp(1.5rem,2.8vw,2.2rem);text-transform:uppercase;line-height:1}
h3{font-size:1.25rem;letter-spacing:-.01em;line-height:1.15}
p{margin:0 0 14px}
small,.muted{color:var(--ink-soft)}
.muted{font-size:.94rem}

.wrap{max-width:1320px;margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-family:var(--mono);font-size:.8rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);display:flex;align-items:center;gap:12px;margin:0 0 18px}
.eyebrow::before{content:'';width:12px;height:12px;background:var(--yellow);flex:none}
.lead,.intro{font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.65;color:var(--ink-soft);max-width:58ch}

/* page header band (same gradient as the home hero) */
.pg-hero{background:linear-gradient(168deg,var(--ice-1) 0%,var(--ice-2) 100%);padding:clamp(40px,6vw,76px) 0 clamp(32px,5vw,56px)}
.pg-hero .lead{color:#3B4A57}
.pg-section{padding:clamp(40px,6vw,72px) 0}
.pg-section + .pg-section{padding-top:0}
.pg-section.dark{background:var(--ink-deep);color:#fff;padding:clamp(48px,7vw,88px) 0}
.pg-section.dark + .pg-section{padding-top:clamp(40px,6vw,72px)}
.pg-section.dark h2{color:#fff}
.pg-section.dark .lead,.pg-section.dark p{color:#adbdc9}
.pg-section.dark .eyebrow{color:#8FA0AE}
.pg-section.dark a{color:#fff;text-decoration-color:#ffffff66}
.sec-head{display:grid;grid-template-columns:1.1fr 1fr;gap:20px 44px;align-items:end;margin-bottom:32px}
.sec-head .lead{margin:0}
@media (max-width:880px){.sec-head{grid-template-columns:1fr}}

/* ---------- buttons ---------- */
.button,button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 22px;border:0;border-radius:var(--r);
  background:var(--ink);color:#fff;font:600 .98rem/1.2 var(--body);text-decoration:none;cursor:pointer;transition:transform .12s ease}
.button:active,button:active{transform:translateY(1px)}
.button.yellow{background:var(--yellow);color:var(--ink)}
button.secondary,.button.secondary{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.pg-section.dark .button.secondary{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
button:disabled,.button[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* ---------- platform views (platform.js) ---------- */
.platform-wrap{max-width:1160px;margin:0 auto;padding:clamp(32px,5vw,56px) var(--pad) clamp(56px,8vw,96px)}
.platform-wrap > .eyebrow{margin-bottom:22px}
#view > h1:first-child,#view h1{margin-top:6px}
#view h2{margin:36px 0 14px}
#view h3{margin:0 0 8px}
.notice{display:block;padding:14px 18px;border-radius:var(--r);border-left:4px solid var(--info);background:#EAF2F8;color:var(--ink);margin:22px 0;line-height:1.5}
.notice:empty{display:none}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;margin:28px 0}
.card{background:#fff;padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:12px;overflow:hidden;color:var(--ink)}
.card h2,.card h3{margin:0;text-transform:none;font-size:1.3rem;line-height:1.15}
.card p{margin:0;color:var(--ink-soft)}
.card img{height:225px;object-fit:contain;align-self:center;max-width:100%}
.card a.button,.card .button{margin-top:auto;align-self:flex-start}
.badge{align-self:flex-start;display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--r-xs);background:var(--paper-2);color:var(--ink);
  font:700 .72rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}

/* forms */
form{display:grid;gap:16px;max-width:650px}
label{display:grid;gap:6px;font-weight:600}
input,select,textarea{width:100%;min-height:46px;padding:11px 14px;border:1.5px solid #6B7782;border-radius:var(--r);background:#fff;color:var(--ink);font:400 1rem/1.4 var(--body)}
textarea{min-height:110px}
.check{display:flex;align-items:flex-start;gap:10px;font-weight:400}
.check input{width:20px;min-width:20px;min-height:20px;height:20px;margin-top:3px;accent-color:var(--ink)}
fieldset{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin:0;background:#fff}
legend{padding:0 8px;font-weight:600}
.split{display:grid;grid-template-columns:1fr 1fr;gap:34px}

/* tables and admin */
.table-wrap{overflow-x:auto;margin:20px 0}
table{border-collapse:collapse;background:#fff;width:100%;font-size:.84rem}
td,th{padding:12px;text-align:left;border-bottom:1px solid var(--line);max-width:260px;overflow-wrap:anywhere}
th{background:var(--paper-2);font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 .84rem/1.5 var(--mono)}
.admin-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:20px 0}
.admin-summary-card{padding:16px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md)}
.admin-summary-card h3{font-size:1.05rem;margin:0 0 8px}
.admin-summary-card p{margin:4px 0;color:var(--ink-soft);font-size:.9rem}
.admin-record-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px;margin:18px 0}
.admin-record-tools label{font-size:.9rem}
.admin-record-tools button{width:100%}
.legal-copy{max-width:760px}
.legal-copy h2{margin-top:36px;font-size:1.5rem}
.legal-copy h3{margin-top:24px}

/* ---------- library ---------- */
.lib-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.lib-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;color:var(--ink)}
.lib-card .cover{position:relative;aspect-ratio:16/9;background:linear-gradient(140deg,#1E3A52,#0D1821);display:grid;place-items:center;padding:18px;text-align:center;overflow:hidden}
.lib-card .cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lib-card .cover b{position:relative;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(1.05rem,1.8vw,1.45rem);line-height:.98;color:#fff;text-shadow:0 3px 12px rgba(0,0,0,.45)}
.lib-card .body{display:flex;flex-direction:column;gap:10px;padding:20px 22px 24px;flex:1}
.lib-card h3{font-size:1.3rem;text-transform:none}
.lib-card p{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.55}
.lib-card .meta{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.lib-card .badges{display:flex;flex-wrap:wrap;gap:6px}
.lib-card .actions{margin-top:auto;padding-top:8px}
.tag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--r-xs);font:700 .72rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--paper-2);color:var(--ink)}
.tag.free{background:var(--yellow);color:var(--ink)}
.tag.paid{background:var(--ink);color:#fff}
.tag.soon{background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-soft)}
.lib-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.lib-feature .cover{aspect-ratio:auto;min-height:320px}
.lib-feature .body{padding:clamp(22px,3vw,40px)}
.lib-feature h3{font-size:clamp(1.5rem,2.6vw,2.1rem);text-transform:uppercase;line-height:1}
.pg-section.dark .lib-card{background:#16222E;border-color:var(--line-dark);color:#fff}
.pg-section.dark .lib-card h3{color:#fff}
.pg-section.dark .lib-card p,.pg-section.dark .lib-card .meta{color:#adbdc9}
.pg-section.dark .lib-card .button{background:var(--yellow);color:var(--ink)}
.pg-section.dark .lib-card .tag.free{background:var(--yellow);color:var(--ink)}
.note-block>*{max-width:760px}
@media (max-width:1080px){.lib-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.lib-feature{grid-template-columns:1fr}.lib-feature .cover{min-height:0;aspect-ratio:16/9}}
@media (max-width:620px){.lib-grid{grid-template-columns:1fr}}

/* ---------- credits ---------- */
.credit-list{display:grid;gap:0;border-top:1.5px solid var(--ink);max-width:900px}
.credit-list section{padding:22px 0;border-bottom:1px solid var(--line)}
.credit-list h2{font-size:1.35rem;text-transform:none;margin:0 0 8px}
.credit-list p{color:var(--ink-soft);margin:0 0 8px}

@media (max-width:700px){.split{grid-template-columns:1fr}.card{padding:20px}}
@media (prefers-reduced-motion:reduce){.button,button{transition:none}html{scroll-behavior:auto}}

/* keep the shared site nav exactly as on the home page */
.nav a{color:inherit;text-decoration:none}
.nav .pill{color:#fff}
.nav .burger{background:none;min-height:0;padding:0;color:inherit;border:1px solid var(--line);transition:none}
.gap-top{margin-top:18px}
.lib-card .c1{background:linear-gradient(140deg,#1E3A52,#0D1821)}
.lib-card .c2{background:linear-gradient(140deg,#3A1E52,#160D21)}
.lib-card .c3{background:linear-gradient(140deg,#52321E,#21150D)}
.lib-card .c4{background:linear-gradient(140deg,#1E5248,#0D211D)}
.lib-card .c5{background:linear-gradient(140deg,#521E2C,#210D12)}
.lib-card .c6{background:linear-gradient(140deg,#2C3A1E,#15210D)}

/* game library sub-bar (library and credits) */
.subnav{background:var(--ink-deep);color:#fff}
.subnav-in{max-width:1320px;margin:0 auto;padding:0 var(--pad);display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;min-height:48px;font-family:var(--mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.subnav-label{color:var(--yellow);font-weight:700;margin-right:4px}
.subnav a{color:#DCE5EB;text-decoration:none;padding:12px 0;border-bottom:2px solid transparent}
.subnav a:hover,.subnav a[aria-current="page"]{color:#fff;border-color:var(--yellow)}
@media (max-width:620px){.lib-card .cover{aspect-ratio:21/9}.lib-feature .cover{aspect-ratio:16/9}.subnav-in{gap:2px 16px;font-size:.72rem}}

/* G6: several editions */
.edition-list{display:grid;gap:28px}
.button.disabled{background:var(--paper-2);color:var(--ink-soft);box-shadow:inset 0 0 0 1px var(--line);cursor:default}
.pg-section.dark .lib-card .button.disabled{background:transparent;color:#adbdc9;box-shadow:inset 0 0 0 1px var(--line-dark)}
.tag.soon{background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-soft)}

/* AU1 · one-to-one lessons (price appears only on this page) */
.lesson-card{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:28px;align-items:center;max-width:720px;margin:10px 0 28px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 14px 38px rgba(22,34,46,.10)}
.lesson-photo{aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:var(--ink)}
.lesson-photo img{width:100%;height:100%;object-fit:cover}
.lesson-photo.no-photo{display:grid;place-items:center}.lesson-initial{font:800 4rem/1 var(--display);color:var(--yellow)}
.lesson-body h2{margin:14px 0 6px}
.lesson-meta{font-family:var(--mono);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 12px}
.lesson-price{display:flex;align-items:baseline;gap:6px;margin:18px 0 16px;padding-top:14px;border-top:1px solid var(--line)}
.lesson-price b{font:800 2rem/1 var(--display)}.lesson-price span{color:var(--ink-soft)}
.lesson-form{max-width:720px}
@media (max-width:640px){.lesson-card{grid-template-columns:1fr;padding:18px}.lesson-photo{max-width:260px}}
/* AU4 · lesson booking mini calendar */
.lesson-booking{max-width:720px;margin:0 0 28px;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:18px}
.lesson-booking h2{margin:0 0 8px}.lesson-booking h3{margin:18px 0 8px;font-size:1rem}
.booking-list{margin:0 0 12px;padding-left:18px}
.mini-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-width:420px;margin-top:10px}
.mini-cal-head{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);text-align:center}
.mini-cal-day{min-width:0;aspect-ratio:1;padding:0;border-radius:10px;font-variant-numeric:tabular-nums;background:var(--yellow);color:var(--ink);border:2px solid transparent}
.mini-cal-day:disabled{background:transparent;color:var(--ink-soft);opacity:.45;cursor:default}
.mini-cal-day.on{border-color:var(--ink)}
.slot-row{display:flex;flex-wrap:wrap;gap:8px}.slot{font-variant-numeric:tabular-nums}.slot.on{outline:2px solid var(--ink);outline-offset:1px}
.slot-confirm form{margin-top:14px}
.lesson-admin .lesson-settings,.lesson-admin .lesson-block{display:grid;gap:8px;max-width:520px}
.lesson-preview{font-variant-numeric:tabular-nums;font-size:.9rem}
@media (max-width:480px){.lesson-booking{padding:18px 16px}.mini-cal{gap:4px}}

/* ---- Conta e login mais simples (03/10) ---- */
.auth-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:40px;align-items:start}
.auth-intro h1{margin:.2em 0 .3em}
.auth-perks{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px;color:var(--ink-soft)}
.auth-perks li::before{content:"✓";color:var(--ink);font-weight:700;margin-right:10px}
.auth-card{gap:16px;box-shadow:0 10px 30px rgba(22,34,46,.08)}
.auth-card .google-button{min-height:48px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--paper-2,#F2F3F1);border-radius:10px;padding:4px;gap:4px}
.auth-tabs [role=tab]{background:transparent;color:var(--ink-soft);box-shadow:none;border-radius:8px;padding:10px;font-weight:600}
.auth-tabs [role=tab][aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(22,34,46,.15)}
.auth-card form{display:grid;gap:12px}
.auth-card label{display:grid;gap:6px;font-weight:600}
.pw{display:flex;gap:6px}.pw input{flex:1;min-width:0}
.pw-toggle{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);padding:0 14px;font-weight:600}
.auth-primary{width:100%;min-height:48px;font-size:1rem}
.auth-links{display:grid;gap:4px;justify-items:start}
.linkish{background:none;box-shadow:none;color:var(--ink);padding:4px 0;text-decoration:underline;text-underline-offset:3px;font-weight:500}
.hint{font-size:.88rem;color:var(--muted);margin:0}
.auth-msg{border-radius:10px;padding:12px 14px;font-weight:600}
.auth-msg.error{background:#FDECEE;color:#8A0F1A;border:1px solid #F3B8BF}
.auth-msg.info{background:#EAF3FA;color:#1F5F8B;border:1px solid #C6E0EF}
.inbox-panel{display:grid;gap:12px;text-align:left;outline:none}
.inbox-icon{width:56px;height:56px;border-radius:50%;background:var(--yellow,#FFD028);color:var(--ink);display:grid;place-items:center;font-size:28px}
.inbox-panel h2{font-size:1.6rem}
.inbox-panel ol{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--ink)}
.inbox-panel button{justify-self:start}
.account-hero{flex-direction:row;align-items:center;flex-wrap:wrap;gap:20px}
.account-hero .avatar{width:64px;height:64px;border-radius:50%;background:var(--yellow,#FFD028);color:var(--ink);display:grid;place-items:center;font:800 1.8rem/1 var(--display,inherit)}
.account-hero-text{flex:1;min-width:200px}.account-hero-text h1{margin:0;font-size:clamp(1.6rem,3vw,2.2rem)}
.account-hero .actions{margin:0}
.account-settings{margin-top:32px;border:1px solid var(--line);border-radius:var(--r-lg,14px);padding:14px 20px;background:#fff}
.account-settings summary{cursor:pointer;font-weight:700}
.account-settings h3{margin:20px 0 8px}
.mfa-card{max-width:560px;margin:8px 0 24px}
.mfa-card.done{border-color:#9CD3B0;background:#F0FAF3}
.mfa-ok{color:#1E7A45!important;font-weight:700}
.mfa-form{display:grid;gap:10px}.mfa-form label{display:grid;gap:6px;font-weight:600}
.mfa-form input{font-size:1.4rem;letter-spacing:.3em;max-width:220px}
.mfa-qr{width:200px;height:200px;background:#fff;padding:8px;border:1px solid var(--line)}
@media (max-width:820px){.auth-wrap{grid-template-columns:1fr;gap:24px}}
.mfa-card h2,.account-hero h1{margin-top:0}
.empty-owned{max-width:560px}
.confirm-card{max-width:520px;margin:0 auto}.confirm-card h1{font-size:clamp(1.6rem,3vw,2.2rem);margin:0}.inbox-icon.ok{background:#CDEFD8;color:#1E7A45}.inbox-icon.warn{background:#FDECEE;color:#8A0F1A;font-weight:800}

/* AU5: visual availability, inline confirmation and a guided booking flow. */
.lesson-admin{margin:24px 0;min-width:0}.lesson-admin>div{padding:20px 0}.lesson-admin h3{margin:24px 0 14px}.lesson-admin h4{margin:0 0 10px;line-height:1.4}
.schedule-toolbar,.schedule-legend{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0}.schedule-toolbar>label{min-width:180px;max-width:100%;margin:0}
.schedule-state{border:1px solid var(--line);border-radius:8px;padding:5px 9px;font-size:.8rem;font-weight:600}
.held{background:#f1e6f5!important;color:#59356b!important}
.available{background:#e5f3ed!important;color:#174b37!important}.closed{background:#f0f1f2!important;color:#43515b!important}.external{background:#fff1ce!important;color:#604300!important}.booked{background:#e4edf9!important;color:#1c477e!important}.rules{background:#f5f4f1!important;color:#5b5b55!important}
.schedule-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;max-height:580px;overflow-y:auto;padding:5px;scrollbar-gutter:stable;border:1px solid var(--line);border-radius:12px}
.schedule-day{min-width:0}.schedule-day h4{position:sticky;top:-5px;background:var(--paper);padding:10px 2px;z-index:1;text-align:center;font-size:.9rem}
.schedule-cell{display:flex;flex-direction:column;gap:3px;min-height:58px;width:100%;padding:8px 3px;margin-bottom:6px;border:1px solid #16222e25;border-radius:8px;box-shadow:none!important;line-height:1.3;transition:none;font-size:.73rem;font-variant-numeric:tabular-nums}.schedule-cell span{font-size:.68rem}.schedule-cell:disabled{opacity:1;cursor:default}.schedule-cell[aria-pressed=true]:not(:disabled){border:2px solid #23714f}.schedule-cell:focus-visible{outline-offset:0}
.schedule-toolbar button[aria-pressed=true],.booking-day[aria-pressed=true],.slot[aria-pressed=true]{background:var(--yellow);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.schedule-copy{display:flex;flex-wrap:wrap;gap:10px;max-width:100%;border:1px solid var(--line);border-radius:10px}.schedule-copy label{display:flex;flex-direction:row;gap:5px;align-items:center;font-size:.85rem}.schedule-copy input{width:auto;min-height:24px}.schedule-day-picker{max-width:100%}
.schedule-section{margin:28px 0;padding-top:20px;border-top:1px solid var(--line)}.schedule-booking{padding:18px;margin:14px 0;border:1px solid var(--line);border-radius:12px;background:#fff;overflow-wrap:anywhere}
.schedule-confirm{margin-top:18px;padding:18px;border:2px solid var(--ink);border-radius:12px;background:var(--paper);max-width:620px}.schedule-confirm label{max-width:100%}.schedule-confirm .notice:empty{display:none}
.schedule-preview{margin:16px 0}.schedule-preview>div{max-height:280px;overflow:auto;padding:10px}.lesson-preview li{margin:10px 0;line-height:1.8}.notice.error{border-left-color:#9e2525;color:#782020;background:#fff0ee}
.booking-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.booking-day{display:flex;flex-direction:column;gap:6px;padding:12px 8px;background:#e5f3ed;color:#174b37;border:1px solid #174b3733;border-radius:10px;min-width:0;font-size:.86rem}.booking-day span{font-weight:400;font-size:.76rem}.booking-day:disabled{background:#f0f1f2;color:#43515b;opacity:1;cursor:default}
.booking-review,.booking-upcoming{border:1px solid var(--line);background:#f3f8fa;border-radius:12px;padding:16px;margin:18px 0}.booking-review strong{display:block;margin-bottom:8px}.booking-review p:last-child,.booking-upcoming p:last-child{margin-bottom:0}.lesson-booking section{min-width:0}.lesson-booking button,.lesson-booking p{overflow-wrap:anywhere}.slot-confirm .notice button{margin-top:10px}.lesson-booking .slot-row{gap:10px}.lesson-booking .slot{min-width:80px}
@media(max-width:900px){.schedule-week{grid-template-columns:1fr;max-height:460px}.schedule-day[data-selected=false]{display:none}.schedule-day[data-selected=true]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.schedule-day h4{grid-column:1/-1}.schedule-cell{font-size:.86rem;margin:0}.schedule-cell span{font-size:.78rem}}
@media(max-width:480px){.booking-days{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-toolbar>button,.schedule-confirm button{width:100%}.schedule-confirm,.schedule-booking{padding:12px}.schedule-toolbar>label{width:100%}.schedule-copy{padding:8px}.lesson-booking{padding:16px 12px}.lesson-admin input,.lesson-admin select{min-width:0;width:100%}.lesson-admin .schedule-copy input{width:auto}.lesson-booking button{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lesson-admin button,.lesson-booking button{transition:none}}
