.first-lesson-card{min-width:0;overflow-wrap:anywhere}.first-lesson-card input,.journey-plan input,.journey-plan select{font-size:16px;min-height:44px;max-width:100%;box-sizing:border-box}.first-lesson-card label{display:block;margin:16px 0}.first-lesson-card button,.journey-plan button{min-height:44px;white-space:normal;margin:6px 0}.journey-plan{display:grid;gap:12px}.journey-plan .slot{display:flex;gap:8px;min-width:0;flex-wrap:wrap}.journey-plan label{min-width:0}.journey-plan input[type=checkbox]{min-height:20px;width:20px;vertical-align:middle}
.content .btn{max-width:100%;white-space:normal;min-height:44px;overflow-wrap:anywhere;box-sizing:border-box}.content .list-main,.content .schedule-row-actions{min-width:0;overflow-wrap:anywhere}.content input,.content select{font-size:16px}
.content .report-alert{display:flex;flex-wrap:wrap}.content .report-alert>div:not(.report-alert-icon){flex:1 1 12rem;min-width:0}.content .report-alert>.btn{flex:0 1 auto;margin-left:0}
.btn{max-width:100%;white-space:normal;min-height:44px;overflow-wrap:anywhere;box-sizing:border-box}
.content .form-actions{flex-wrap:wrap;min-width:0}.content .form-actions>*{min-width:0;max-width:100%}

/* Keep the recommendation inside the clipped card at every viewport width. */
.enroll .way{padding-top:3rem;min-width:0;overflow-wrap:anywhere}
.enroll .way.rec .badge{top:.5rem;left:50%;transform:translateX(-50%);background:var(--lm-green-dark);max-width:calc(100% - 2rem);box-sizing:border-box}

.enroll .enrollment-slot{min-width:0;margin:0 0 1.5rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;overflow-wrap:anywhere}
.enroll .enrollment-slot legend{padding:0 .5rem;font-weight:700}
.enroll .slot-summary{margin:.25rem 0 1rem;font-size:1.25rem;font-weight:700;color:var(--lm-green-dark)}
.enroll .slot-label{margin:.75rem 0 .5rem;font-weight:600}
.enroll .slot-choices{display:flex;flex-wrap:wrap;gap:.5rem;min-width:0;margin-bottom:.5rem}
.enroll .slot-choices button{font:inherit;font-size:1rem;min-width:2.75rem;min-height:2.75rem;padding:.5rem .75rem;border:1px solid var(--line);border-radius:.6rem;background:var(--paper);color:var(--lm-ink);cursor:pointer}
.enroll .slot-choices button[aria-pressed="true"]{background:var(--lm-green-dark);border-color:var(--lm-green-dark);color:var(--paper);font-weight:700}
.enroll .slot-choices button:disabled{opacity:.35;cursor:default}
.enroll .slot-choices button:focus-visible{outline:3px solid var(--lm-coral);outline-offset:2px}
.enroll .enrollment-account{padding:1rem;margin:1rem 0;border:1px solid var(--lm-coral);border-radius:1rem;background:var(--lm-mint);overflow-wrap:anywhere;min-width:0}
.enroll .enrollment-account .form-actions{flex-wrap:wrap}
.enroll .enrollment-account button,.enroll .enrollment-account a{white-space:normal;min-width:0;min-height:2.75rem}
.enroll .enrollment-account a{display:inline-flex;align-items:center}
.enroll .enrollment-account a.hidden{display:none}

/* First lesson: show the family's requested times and select an eligible JST date. */
.first-requested-slots{padding:16px;margin:16px 0;background:#fff;border:1px solid var(--lm-green,#0e9066);border-radius:14px;min-width:0}
.first-requested-slots>b{display:block;color:var(--lm-green-dark,#0b6b4d);font-size:14px;margin-bottom:12px}
.first-requested-slots>div{display:flex;flex-wrap:wrap;gap:10px}
.first-requested-slots span{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;background:var(--lm-mint,#eafaf3);color:var(--lm-green-dark,#0b6b4d);font-weight:700;min-width:0;font-size:15px}
.first-requested-slots strong{font-size:clamp(18px,2vw,21px)}
.first-calendar{width:100%;max-width:52rem;min-width:0;padding:clamp(10px,3vw,22px);margin:20px 0;background:#fff;border:1px solid var(--lm-border,#dde6e1);border-radius:16px;box-sizing:border-box}
.first-calendar h3{font-size:clamp(16px,2vw,18px);margin:0 0 8px}
.first-calendar .first-calendar-help{font-size:13px;line-height:1.7;color:var(--lm-green-dark,#0b6b4d)}
.first-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 0;font-size:13px;color:var(--lm-muted,#68776f)}
.first-calendar-legend span{display:inline-flex;align-items:center;gap:6px}.first-calendar-legend i{width:10px;height:10px;border-radius:50%;background:var(--lm-green,#0e9066)}.first-calendar-legend i.interview{background:var(--lm-coral,#f0644f)}
.first-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.first-calendar-nav strong{font-size:18px;min-width:0}
.first-calendar button{font:inherit;cursor:pointer;border-radius:10px;box-sizing:border-box}
.first-calendar-nav button{min-width:44px;min-height:44px;border:1px solid var(--lm-border,#dde6e1);background:#fff;color:var(--lm-green-dark,#0b6b4d);font-size:24px}
.first-calendar-scroll{max-width:100%;overflow-x:auto;padding:3px}
.first-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:4px;min-width:332px}
.first-calendar-weekday{text-align:center;padding:10px 0;font-size:14px;color:var(--lm-muted,#68776f)}
.first-calendar-grid button{min-width:44px;min-height:52px;margin:0;border:1px solid transparent;background:#fff;color:var(--lm-muted,#68776f);font-size:17px}
.first-calendar-grid button:disabled{opacity:.5;cursor:default}
.first-calendar-grid button.is-available{background:var(--lm-mint,#eafaf3);border-color:var(--lm-green,#0e9066);color:var(--lm-green-dark,#0b6b4d);font-weight:700;opacity:1}
.first-calendar-day{display:block;font-size:17px;line-height:1.1}
.first-calendar-dot{display:block;width:7px;height:7px;margin:3px auto 0;border-radius:50%;background:var(--lm-green,#0e9066)}
.first-calendar-dot.interview{background:var(--lm-coral,#f0644f)}
.first-calendar-grid button.has-interview-marker{box-shadow:inset 0 0 0 2px var(--lm-coral,#f0644f)}
.first-calendar-grid button[aria-pressed=true],.first-calendar-times button[aria-pressed=true]{background:var(--lm-green,#0e9066);border-color:var(--lm-green,#0e9066);color:#fff}
.first-calendar h4{font-size:17px;margin:20px 0 8px}
.first-calendar-times{display:flex;flex-wrap:wrap;gap:10px;min-width:0}
.first-calendar-times button{padding:12px 20px;min-height:56px;background:var(--lm-mint,#eafaf3);border:2px solid var(--lm-green,#0e9066);color:var(--lm-green-dark,#0b6b4d);font-size:20px;font-weight:700}
.first-calendar-times small{font-size:13px;margin-left:8px}
.first-calendar .first-calendar-selection{min-height:24px;margin:16px 0 0;font-size:16px;font-weight:700;color:var(--lm-green-dark,#0b6b4d)}
.first-calendar button:focus-visible{outline:3px solid var(--lm-coral,#f0644f);outline-offset:1px}

.first-interview-handoff{max-width:44rem;overflow-wrap:anywhere}.first-interview-handoff dl{margin:1.25rem 0}.first-interview-handoff dl>div{padding:.6rem 0;border-bottom:1px solid var(--line)}.first-interview-handoff dt{font-weight:700}.first-interview-handoff dd{margin:0}.first-interview-handoff p{line-height:1.8}


.first-lesson-setup-title{display:block;margin:1rem 0 .4rem;font-weight:700;font-size:clamp(1rem,2vw,1.15rem)}

/* Compact first-lesson summary and pictorial delivery choices. */
.first-lesson-card{padding:clamp(18px,3vw,28px);background:var(--paper,#fff);border:1px solid var(--line);border-radius:18px}
.first-lesson-person{display:flex;align-items:center;gap:14px;min-width:0}.first-lesson-person>div{min-width:0}
.first-lesson-person-icon{display:grid;place-items:center;flex:0 0 auto;width:54px;height:54px;border-radius:16px;background:var(--lm-mint);color:var(--lm-green-dark)}
.first-lesson-person-icon svg{width:28px;height:28px}.first-lesson-card .first-lesson-person h2{font-size:clamp(19px,2vw,24px);margin:0;font-weight:700;line-height:1.5}
.first-lesson-student{display:block;margin-top:4px;color:var(--lm-muted);font-size:14px;overflow-wrap:anywhere}
.first-lesson-facts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;min-width:0}
.first-lesson-facts>span{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;padding:6px 10px;background:var(--bg);border-radius:8px;font-size:14px;overflow-wrap:anywhere}
.first-lesson-facts svg{width:16px;height:16px;flex:0 0 auto}
.first-lesson-date{display:flex;align-items:center;gap:14px;min-width:0;padding:16px;margin:16px 0 20px;border-radius:14px;background:var(--lm-mint)}
.first-lesson-date>svg{width:32px;height:32px;flex:0 0 auto;color:var(--lm-green-dark)}.first-lesson-date>div{min-width:0}
.first-lesson-date span{display:block;font-size:12px;color:var(--lm-muted);margin-bottom:4px}
.first-lesson-date time{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;min-width:0}
.first-lesson-date strong{font-size:clamp(18px,3vw,22px);font-weight:700}.first-lesson-date b{font-size:clamp(23px,4vw,28px);font-weight:700;line-height:1.2}
.first-lesson-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;min-width:0}
.first-lesson-card .first-lesson-details{display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;font-size:14px;color:var(--lm-green-dark);text-underline-offset:4px;overflow-wrap:anywhere}
.first-lesson-card .first-lesson-note{font-size:12px;margin:6px 0 0}.first-lesson-card>.form-status:empty{display:none}
.lesson-mode-panel .lesson-mode-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px;min-width:0;padding:16px 0}
.lesson-mode-panel .lesson-mode-row:first-child{padding-top:0}.lesson-mode-person{flex:1 1 10rem;min-width:0;overflow-wrap:anywhere}
.lesson-mode-actions{flex:3 1 20rem;min-width:0;max-width:44rem}
.lesson-mode-panel .lesson-mode-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lesson-mode-panel .lesson-mode-choices button{position:relative;display:grid;justify-items:center;align-content:center;gap:10px;min-width:0;min-height:124px;padding:16px 10px;border-radius:14px;text-align:center;overflow-wrap:anywhere}
.lesson-mode-panel .lesson-mode-choices button>svg{width:30px;height:30px;padding:10px;border-radius:14px;background:var(--bg);color:var(--lm-green-dark);box-sizing:content-box}
.lesson-mode-panel .lesson-mode-choices button.on>svg{background:var(--paper,#fff)}
.lesson-mode-panel .lesson-mode-choices b{font-size:16px;line-height:1.5}
.lesson-mode-panel .lesson-mode-selected{display:none;position:absolute;top:8px;right:8px;margin:0;color:var(--lm-green-dark)}
.lesson-mode-panel button.on>.lesson-mode-selected{display:block}.lesson-mode-selected svg{display:block;width:18px;height:18px}
.lesson-mode-panel button:focus-visible{outline:3px solid var(--lm-coral);outline-offset:3px}
.lesson-mode-panel .address-share-state{flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 14px;border-radius:12px;min-width:0}
.lesson-mode-panel .address-share-label{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 8rem}
.address-share-label svg{width:20px;height:20px;flex:0 0 auto;color:var(--lm-green-dark)}
.lesson-mode-panel .address-share-label b{font-size:14px}.lesson-mode-panel .address-share-state .btn{width:auto;flex:0 1 auto;margin:0;min-height:44px}
