/* Private booking and parent screens. All visual assets are local and optional. */
#app{--real-paper:#f8f5ec;--real-cream:#efe9dc;--real-white:#fffdf7;--real-ink:#183d36;--real-forest:#19473c;--real-muted:#53665c;--real-line:#dcded0;color:var(--real-ink);line-height:1.65}
#app *,#app *::before,#app *::after{box-sizing:border-box}
#app [hidden]{display:none!important}
#app .real-wrap{width:min(1160px,100%);margin:20px auto 72px}
#app h2,#app h3{font-family:Georgia,'Times New Roman',serif;color:var(--real-ink);font-weight:400;line-height:1.2;letter-spacing:-.02em;margin:0 0 18px}
#app h2{font-size:clamp(29px,3.4vw,43px)}#app h3{font-size:25px}
#app p{margin:0 0 16px}#app a{color:var(--real-forest);text-underline-offset:4px}
#app input,#app select,#app button{font:inherit}#app button{cursor:pointer}#app button:disabled{cursor:not-allowed;opacity:1}
#app :focus-visible{outline:3px solid #ad813c;outline-offset:4px}
#app .real-nav{display:flex;flex-wrap:wrap;gap:8px 26px;border-bottom:1px solid var(--real-line);margin-bottom:20px}
#app .real-nav a{flex:none;display:block;min-height:48px;padding:8px 0 15px;text-decoration:none;font-size:14px;border-bottom:2px solid transparent}
#app .real-nav a[aria-current=page]{font-weight:700;border-color:var(--real-forest)}
#app .real-auth{background:var(--real-white);border:1px solid var(--real-line);border-radius:12px;padding:22px 25px;margin-bottom:28px}
#app .real-auth p:last-child{margin-bottom:0}#app .real-auth-session{display:flex;justify-content:space-between;align-items:center;gap:18px}
#app .real-auth-session>div{min-width:0;overflow-wrap:anywhere}#app .real-auth-session button{flex:none}
#app .real-auth-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(170px,1fr) minmax(150px,1fr) auto;gap:15px;align-items:end}
#app .real-auth-form>.real-check{grid-column:1/-1;margin:0}#app .real-auth-form:has(.real-check)>button{grid-column:1/-1;justify-self:start}
#app .real-auth-form .real-field{margin:0}#app .real-auth-form>.real-auth-message{grid-column:1/-1}
#app .real-auth-switch{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
#app .real-auth-switch button{border:1px solid #c5cbbd;background:transparent;padding:7px 12px;border-radius:6px;min-height:42px;color:var(--real-ink);font-size:13px}
#app .real-auth-switch button[aria-pressed=true]{background:var(--real-forest);color:var(--real-white);border-color:var(--real-forest)}
#app .real-auth-message{margin:12px 0 0;color:#852a23;overflow-wrap:anywhere}
#app .real-eyebrow{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#586a58;margin-bottom:10px}
#app .real-muted,#app .real-help{color:var(--real-muted)}#app .real-help{font-size:13px;line-height:1.65;margin:9px 0 18px}
#app .real-heading{max-width:760px;margin-bottom:29px}#app .real-heading h2{font-size:clamp(34px,5vw,54px)}#app .real-heading>p{font-size:16px;color:var(--real-muted)}
#app .real-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:25px;align-items:start}
#app .real-card{padding:30px;background:var(--real-white);border:1px solid var(--real-line);border-radius:15px;margin-bottom:24px;box-shadow:0 4px 18px #183d3608}
#app .real-soft-card{padding:25px;background:#eff1e7;border:1px solid #dce0ce;border-radius:13px;margin-bottom:22px}
#app .real-soft-card p{font-size:14px;color:var(--real-muted)}#app .real-soft-card a{font-size:13px}
#app .real-card-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:20px}#app .real-card-heading h2{margin:0}
#app .real-notice{background:#edf2e8;border:1px solid #cdd8c7;border-radius:9px;padding:15px 18px;margin-bottom:22px;color:#305342;overflow-wrap:anywhere;font-size:14px}
#app .real-notice p{margin:6px 0 0}#app .real-notice--error{background:#fff0ed;border-color:#e4bdb5;color:#852a23}
#app .real-notice--success{background:#edf4ee;border-color:#bcd4bf;color:#245532}#app .real-error{color:#852a23}
#app .real-field{margin-bottom:22px;min-width:0}#app .real-field label{display:block;font-size:13px;font-weight:650;margin-bottom:8px}
#app .real-field input,#app .real-field select{display:block;width:100%;min-width:0;min-height:47px;border:1px solid #b9c4b7;border-radius:7px;padding:10px 11px;background:#fff;color:var(--real-ink);font-size:14px}
#app .real-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#app .real-mode{display:flex;gap:12px;min-width:0;border:0;padding:0;margin:0 0 23px}
#app .real-mode legend{font-size:13px;font-weight:650;margin-bottom:10px}
#app .real-mode label{flex:1;display:flex;align-items:center;gap:11px;padding:16px;border:1px solid #c5cdbd;background:#fff;border-radius:9px;cursor:pointer}
#app .real-mode label:has(input:checked){background:#edf3e8;border-color:var(--real-forest);box-shadow:inset 0 0 0 1px var(--real-forest)}
#app .real-mode input{width:17px;height:17px;accent-color:var(--real-forest);flex:none;margin:0}
#app .real-mode strong{font-size:14px;display:block}#app .real-mode small{display:block;font-size:11px;color:var(--real-muted)}
#app .real-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 23px}
#app .real-slots>p{grid-column:1/-1}
#app .real-slot{min-height:82px;padding:14px 10px;background:#fff;border:1px solid #c5cebf;border-radius:8px;color:var(--real-forest);text-align:center;overflow-wrap:anywhere}
#app .real-slot strong{display:block;font-size:13px}#app .real-slot span{display:block;font-size:11px;color:var(--real-muted);margin-top:5px}
#app .real-slot.is-selected{background:var(--real-forest);color:var(--real-white);border-color:var(--real-forest)}#app .real-slot.is-selected span{color:#e2e9dc}
#app .real-slot:hover:not(:disabled):not(.is-selected){background:#eef3e8;border-color:#687a57}
#app .real-check{display:flex;align-items:flex-start;gap:11px;cursor:pointer;font-size:13px;color:var(--real-muted);margin:20px 0;line-height:1.7}
#app .real-check input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--real-forest)}
#app .real-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;border-radius:7px;border:1px solid var(--real-forest);background:var(--real-forest);color:var(--real-white);padding:12px 18px;text-decoration:none;font-size:13px;line-height:1.6;font-weight:650;text-align:center}
#app .real-button:hover:not(:disabled){background:#2b5749;color:var(--real-white)}
#app .real-button--secondary{background:#fff;color:var(--real-forest);border-color:#b8c6b7}#app .real-button--secondary:hover:not(:disabled){background:#edf3e7;color:var(--real-forest)}
#app .real-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:21px}
#app .real-details{margin:0 0 24px}#app .real-details>div{display:flex;justify-content:space-between;gap:25px;padding:15px 0;border-bottom:1px solid var(--real-line)}
#app .real-details dt{font-size:12px;color:var(--real-muted);flex:1}#app .real-details dd{font-size:14px;font-weight:650;margin:0;text-align:right;flex:1.5;overflow-wrap:anywhere}
#app .real-details dd small{display:block;font-weight:400;color:var(--real-muted);font-size:11px;margin-top:4px}
#app .real-saved{max-width:770px;margin:0 auto 30px}#app .real-saved>p{color:var(--real-muted)}
#app .real-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:25px}
#app .real-stats>div{padding:22px;background:#eff2e5;border:1px solid #dce2d1;border-radius:11px}
#app .real-stats span,#app .real-stats small{display:block;font-size:12px;color:var(--real-muted)}
#app .real-stats strong{display:block;font:46px/1.25 Georgia,'Times New Roman',serif;color:var(--real-forest);margin:10px 0}
#app .real-stats strong.real-stat-word{font-size:27px;line-height:2.15}
#app .real-record{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 0;border-top:1px solid var(--real-line)}
#app .real-record>div{min-width:0;flex:1}#app .real-record>button{flex:none}#app .real-record p{margin:6px 0 0}
#app .real-record-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:9px}#app .real-record-heading h3{font-size:22px;margin:0}
#app .real-pill{display:inline-block;border:1px solid #c7d4be;background:#eef4e9;border-radius:20px;padding:2px 9px;font-size:10px;letter-spacing:.025em}
#app .real-reference{font-size:10px;color:var(--real-muted);overflow-wrap:anywhere}
#app .real-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:21px}
#app .real-package{padding:23px;background:#f8f9f1;border:1px solid #d7dfcd;border-radius:12px;min-width:0;overflow-wrap:anywhere}
#app .real-package h3{font-size:25px}#app .real-package-price{font:34px/1.3 Georgia,'Times New Roman',serif;color:var(--real-forest)}
#app .real-package-price{font-size:clamp(22px,6.5vw,34px)}
#app .real-package-amount{display:block;white-space:nowrap}
#app .real-package-price small{display:block;font:12px/1.5 system-ui,sans-serif;color:var(--real-muted);margin-top:4px}
#app .real-package.is-selected{border-color:var(--real-forest);box-shadow:inset 0 0 0 1px var(--real-forest)}
#app .real-package .real-button{width:100%;padding:11px 12px;font-size:12px}
#app .real-confirmation{border-color:#8ea887;background:#f5f8ef}
#app .real-learning{border-top:4px solid var(--real-forest)}
#app .real-learning .real-card-heading>div{min-width:0}
#app .real-profile-choice{display:flex;align-items:flex-end;gap:16px;margin:22px 0}
#app .real-profile-choice .real-field{flex:1;margin:0;min-width:0}
#app .real-profile-choice>.real-button{flex:none}
#app .real-learning-form{background:#f5f7ef;border:1px solid #cbd7c2;border-radius:10px;padding:22px;margin:24px 0;max-width:760px}
#app .real-learning-form .real-check{color:var(--real-ink)}
#app .real-learning-form input:disabled{opacity:1;background:#edf0e5;color:#3f5148}
#app .real-learning-detail{border-top:1px solid var(--real-line);margin-top:26px;padding-top:24px}
#app .real-learning-detail>.real-card-heading{align-items:flex-start;flex-wrap:wrap}
#app .real-learning-detail>.real-card-heading>h3{min-width:0;max-width:100%;overflow-wrap:anywhere}
#app .real-learning-detail .real-learning-form{width:100%;margin:0}
#app .real-learning-detail .real-card-heading:has(.real-learning-form){display:block}
#app .real-learning-detail .real-card-heading:has(.real-learning-form)>h3{margin-bottom:20px}
#app .real-learning-update{padding:24px 0;border-top:1px solid var(--real-line);overflow-wrap:anywhere}
#app .real-learning-update h3{font-size:25px;margin-bottom:18px}
#app .real-learning-update h4{font:650 13px/1.5 system-ui,sans-serif;color:var(--real-ink);margin:20px 0 8px}
#app .real-learning-update ul{padding-left:22px;margin:0 0 18px}
#app .real-learning-update li{margin-bottom:7px}
#app .real-learning-text{white-space:pre-line}
#app .real-removal-form{width:100%;overflow-wrap:anywhere}
#app .real-removal-pending{border-left:4px solid var(--real-forest)}
@media(max-width:580px){#app .real-profile-choice{align-items:stretch;flex-direction:column}#app .real-profile-choice>.real-button{width:100%}#app .real-learning-form{padding:20px 16px}#app .real-learning-detail>.real-card-heading>.real-button{width:100%}}
@media(max-width:1000px){#app .real-auth-form{grid-template-columns:repeat(2,minmax(0,1fr))}#app .real-auth-form>div:first-child{grid-column:1/-1}#app .real-auth-form>button{justify-self:start}#app .real-layout{grid-template-columns:minmax(0,1fr) 260px}#app .real-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){#app .real-layout{grid-template-columns:1fr}#app .real-layout>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#app .real-layout>aside>.real-soft-card{margin:0}#app .real-record{flex-wrap:wrap}#app .real-stats{gap:10px}#app .real-stats>div{padding:18px}#app .real-stats strong.real-stat-word{font-size:22px;line-height:2.6}}
@media(max-width:580px){#app .real-wrap{margin:16px auto 48px}#app .real-nav{gap:22px}#app .real-nav a{font-size:12px}#app .real-card{padding:23px 18px;border-radius:11px}#app .real-auth{padding:18px}#app .real-auth-form{grid-template-columns:1fr}#app .real-auth-form>div:first-child{grid-column:auto}#app .real-auth-form>button,#app .real-auth-form:has(.real-check)>button{justify-self:stretch}#app .real-auth-session{align-items:flex-start;flex-wrap:wrap}#app .real-form-row{grid-template-columns:1fr;gap:0}#app .real-heading{margin-bottom:24px}#app .real-heading>p{font-size:14px}#app .real-heading h2{font-size:36px}#app .real-mode{gap:9px}#app .real-mode label{padding:14px 11px;gap:8px}#app .real-mode strong{font-size:13px}#app .real-mode small{font-size:10px}#app .real-mode input{width:16px;height:16px}#app .real-slots{gap:9px}#app .real-slot{padding:12px 7px}#app .real-slot strong{font-size:12px}#app .real-slot span{font-size:10px}#app .real-layout>aside{grid-template-columns:1fr}#app .real-details>div{gap:12px}#app .real-details dt{font-size:11px}#app .real-details dd{font-size:12px}#app .real-actions{gap:10px}#app .real-actions>.real-button{width:100%}#app .real-card-heading{flex-wrap:wrap}#app .real-stats{grid-template-columns:repeat(2,minmax(0,1fr))}#app .real-stats>div:last-child{grid-column:1/-1}#app .real-stats strong{font-size:37px}#app .real-stats strong.real-stat-word{font-size:26px;line-height:1.5}#app .real-stats span,#app .real-stats small{font-size:11px}#app .real-record{gap:15px}#app .real-record>button{width:100%}#app .real-record-heading{gap:9px}#app .real-record-heading h3{font-size:20px}#app .real-record p{font-size:13px}#app .real-package-grid{grid-template-columns:1fr}#app .real-package{padding:22px}#app .real-notice{padding:14px;font-size:13px}}
@media(prefers-reduced-motion:reduce){#app *{scroll-behavior:auto!important}}

/* Disabled/loading labels remain solid and readable; color conveys availability. */
#app .real-button:not(.real-button--secondary):not(:disabled):is(:focus-visible,:active){background:#102f29;color:#fffdf7;border-color:#102f29}
#app .real-button--secondary:not(:disabled):is(:focus-visible,:active){background:#edf3e7;color:#19473c}
#app .real-button:focus-visible{outline:3px solid #fffdf7;outline-offset:2px;box-shadow:0 0 0 6px #19473c}
#app .real-button:disabled,#app .real-auth-switch button:disabled,#app .real-slot:disabled{opacity:1;background:#e1e7dd;color:#36463b;border-color:#91a08f;cursor:not-allowed}
#app .real-slot:disabled span{color:#36463b}
#app .real-calendar{border-top:1px solid #d7e0d1;border-bottom:1px solid #d7e0d1;padding:20px 0;margin:4px 0 24px}
#app .real-calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}#app .real-calendar-controls h3{font-size:22px;text-align:center;margin:0}#app .real-calendar-controls .real-button{min-width:44px;padding:8px 12px;min-height:44px}
#app .real-calendar-weekdays,#app .real-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}#app .real-calendar-weekdays{font-size:11px;color:#526559;text-align:center;margin:18px 0 7px}
#app .real-calendar-grid{margin-bottom:13px}#app .real-calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-width:0;min-height:53px;gap:2px;border:1px solid #b9cab3;border-radius:6px;background:#f5f8ef;color:#19473c;padding:6px 2px;font:inherit;cursor:pointer}#app .real-calendar-day strong{font-size:14px;font-weight:650;line-height:1.4}#app .real-calendar-day small{font-size:9px;line-height:1.4;color:inherit}
#app .real-calendar-day:hover:not(:disabled){background:#edf3e7;border-color:#19473c}#app .real-calendar-day.is-selected{background:#19473c;color:#fffdf7;border-color:#19473c}#app .real-calendar-day.is-selected:hover{background:#102f29;color:#fffdf7}
#app .real-calendar-day:disabled{opacity:1;background:#e1e7dd;color:#36463b;border-color:#91a08f;cursor:not-allowed}#app .real-calendar-day:focus-visible{outline:2px solid #19473c;outline-offset:2px;box-shadow:0 0 0 1px #fffdf7}
#app .real-calendar-status{padding:20px 16px;background:#f4f6ee;border:1px solid #d9e1d3;border-radius:7px;font-size:13px;margin:20px 0;line-height:1.7}#app .real-calendar .real-button{font-size:12px}
@media(max-width:580px){#app .real-calendar-grid,#app .real-calendar-weekdays{gap:4px}#app .real-calendar-day{min-height:47px;border-radius:4px}#app .real-calendar-day strong{font-size:12px}#app .real-calendar-day small{font-size:8px}#app .real-calendar-controls h3{font-size:19px}#app .real-calendar-weekdays{font-size:10px}}
