/* Small API view layer using the historical studio's colors and components. */
.api-shell .sidebar .brand{white-space:normal;line-height:1.6}
.api-shell .sidebar .brand small{max-width:125px}
.api-shell .nav-item{border:0;text-align:left}
.api-shell main{max-width:1300px;padding-bottom:30px}
.api-shell .topbar{gap:12px;min-height:79px;height:auto;padding-top:13px;padding-bottom:13px}
.api-shell .top-controls{gap:10px;flex-wrap:wrap}
.api-shell .top-controls .button{min-height:36px;padding:8px 10px;white-space:nowrap}
.api-shell h2{font-size:23px;letter-spacing:-.6px}
.api-shell .locale-name{font-size:11px;color:var(--muted)}
.locale-label{display:flex;align-items:center;gap:10px;font-size:11px}
.locale-label select{min-width:105px;width:auto;min-height:35px}
.api-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin-bottom:20px;overflow-wrap:anywhere}
.api-card>p{font-size:13px;line-height:1.8;margin-top:16px}
.api-card>h2+form{margin-top:22px}
.api-card.compact{padding-top:18px;padding-bottom:18px}
.api-card.compact h2{font-size:18px}
.api-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}
.api-status{min-height:18px;color:var(--muted);font-size:12px;margin:-10px 0 18px}
.api-status:empty{display:none}
.api-shell .review-alert .button{margin-top:12px}
.api-shell .profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.api-shell .profile-grid>div{min-width:0}
.api-shell form{margin-top:20px}
.api-shell fieldset{min-width:0;margin:0}
.api-shell textarea{width:100%;font:inherit;font-size:13px;line-height:1.7;color:var(--pine);border:1px solid #d9dfd1;border-radius:7px;padding:10px 11px;resize:vertical;min-height:90px}
.api-shell textarea:focus-visible{outline:3px solid #83a04e;outline-offset:4px}
.api-shell textarea:disabled{opacity:.6}
.api-shell .editor-hint{font-size:12px;line-height:1.7;color:var(--muted);margin-bottom:20px}
.api-shell .availability-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}
.api-shell .questions{padding-left:19px;margin:19px 0;font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.api-shell .questions li+li{margin-top:12px}
.api-shell .access-note{padding:12px;background:var(--paper);border-radius:8px;margin:14px 0}
.profile-facts{font-size:12px;margin:15px 0 0}
.profile-facts>div{padding:13px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:15px}
.profile-facts>div:last-child{border:0;padding-bottom:0}
.profile-facts dt{color:var(--muted)}
.profile-facts dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.forget-panel{margin-top:10px;padding:20px;border:1px solid var(--line);border-radius:12px}
.forget-panel>p{margin-top:15px;font-size:13px;line-height:1.8}
.button.danger{color:#803d28;border-color:#dab49f;background:#faf1eb}
.button.danger:hover{background:#f7e7dc}
.empty-state{text-align:center;padding:55px 30px}
.empty-mark{font-size:38px;background:var(--pine);color:var(--lime);border-radius:20px;width:65px;height:65px;line-height:65px;text-align:center;margin:0 auto 23px}
.empty-state>p{max-width:470px;margin:17px auto 24px}
.sign-in{max-width:620px;margin:0 auto;padding:45px;text-align:center}
.sign-in>p{font-size:15px;margin-bottom:25px}
.calendar-meta{display:flex;align-items:center;gap:15px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:18px}
.calendar-meta .small-tag{font-size:10px;padding:6px 8px}
.calendar-notice{font-size:12px;line-height:1.7;margin-bottom:20px}
.api-shell .week-row{align-items:center}
.api-shell .week-date{width:60px;text-align:center}
.api-shell .week-session{min-width:0}
.api-shell .week-session h2{overflow-wrap:anywhere}
.api-shell .week-facts{flex:none}
.api-shell footer{line-height:1.8;font-size:11px}
@media(max-width:1100px){.api-shell .topbar{padding-left:24px;padding-right:24px}.api-shell .profile-grid{grid-template-columns:1fr}.api-shell .breadcrumb{display:none}}
@media(max-width:720px){.api-shell .sidebar .brand small{max-width:none}.api-shell .topbar{padding:12px 20px;min-height:60px;justify-content:flex-end}.api-shell main{padding-top:15px}.api-shell .sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))}.api-shell .nav-item{text-align:center;overflow-wrap:anywhere}.api-shell .sidebar .brand{white-space:normal}.api-card{padding:21px}.api-shell .page-heading h1{font-size:32px}.sign-in{padding:30px 21px}.api-shell .week-row{flex-wrap:nowrap;gap:12px;padding:19px 14px}.api-shell .week-date{width:40px}.api-shell .week-facts{width:75px}.api-shell .week-facts strong{font-size:23px}.api-shell .week-session h2{font-size:19px}.api-shell .week-session p{font-size:11px}.api-shell .week-session .eyebrow{font-size:8px}.api-shell .form-grid{grid-template-columns:1fr}}
@media(max-width:380px){.api-shell .top-controls{gap:5px}.api-shell .locale-name{font-size:10px}.api-shell .week-facts{width:58px}.profile-facts>div{grid-template-columns:1fr;gap:6px}.api-shell .availability-grid{grid-template-columns:1fr}}

.coach-chat{max-width:820px;margin:auto}.chat-history{display:flex;flex-direction:column;gap:20px;max-height:55vh;overflow:auto;padding:12px 0}.chat-turn{max-width:90%;padding:16px 20px;border-radius:24px;background:var(--fog,#E9ECEA);font-size:15px;line-height:1.6}.chat-turn span{font-size:12px;color:var(--muted)}.chat-turn p{margin-top:8px}.chat-user{align-self:flex-end;background:#1E2A30;color:#E9ECEA}.chat-user span{color:#A9B4B6}.chat-mode,.chat-retention{font-size:12px;color:var(--muted);line-height:1.6}.coach-chat form{border-top:1px solid #C9CFCC;margin-top:20px;padding-top:20px}.coach-chat textarea{width:100%;font-size:16px;min-height:90px;margin:12px 0}.coach-chat button{min-height:44px}.api-shell .nav-item{min-height:44px}.sign-in>.button{margin:12px 8px 0 0}@media(max-width:600px){.coach-chat{padding:18px}.chat-turn{max-width:96%;font-size:16px}.api-shell .top-controls .button{min-height:44px}.api-shell .nav-item{font-size:14px}.chat-history{max-height:48vh}}

@media(max-width:720px){.api-shell .sidebar nav{gap:4px}.api-shell .nav-item{font-size:12px;padding:12px 4px;overflow-wrap:normal}.api-shell .sidebar .brand small{max-width:none}}

.voice-bar { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid currentColor; }
.voice-bar .button { min-height: 44px; touch-action: manipulation; }
.voice-record { min-width: 132px; }
.voice-upload { display: block; margin-top: .5rem; }
.voice-upload input { display: block; max-width: 100%; }
.voice-settings { margin-top: .5rem; }
