.teacher-page{max-width:1200px;margin:auto;padding:30px 24px 70px;color:#182139}
.teacher-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px;color:#f6f7fd}
.teacher-kicker{font-size:.8rem;letter-spacing:.13em;font-weight:800;color:#d2f879}
.teacher-heading h1{font-size:clamp(2.2rem,4.5vw,3.6rem);line-height:1.04;letter-spacing:-.055em;margin:7px 0 8px;color:#fff}
.teacher-heading h1 span{color:#c9fa55}
.teacher-heading p{font-size:1rem;line-height:1.55;color:#bbc5dc;margin:0}
.teacher-back{color:#d2f879;font-size:.875rem;font-weight:700;white-space:nowrap;padding-bottom:5px}
.teacher-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;align-items:start}
.teacher-settings,.teacher-chat{border:1px solid #d9dfeb;border-radius:20px;background:#fff;color:#182139;box-shadow:0 20px 55px #050a1c20}
.teacher-settings{padding:22px;background:#f4f6fb}
.teacher-settings h2{font-size:1.22rem;letter-spacing:-.025em;margin:0 0 18px}
.teacher-settings label,.teacher-compose label{display:block;font-weight:750;margin:14px 0 7px;font-size:.9rem}
.teacher-settings select{width:100%;min-height:48px;border:1px solid #b9c5d9;border-radius:10px;padding:8px 10px;background:#fff;color:#182139;font:inherit;font-size:.9rem;min-width:0}
.teacher-settings-help{font-size:.875rem;line-height:1.55;color:#4f5d75;margin:18px 0 8px}
.teacher-settings .button{width:100%;justify-content:center;font-size:.875rem;margin-top:10px;padding:11px;min-height:46px}
.teacher-chat{min-width:0;overflow:hidden}
.chat-header{padding:17px 22px;display:flex;gap:12px;align-items:center;justify-content:space-between;background:#182139;color:#fff;font-size:1rem}
.chat-header span{font-size:.8rem;color:#d5daeb}
.teacher-availability{font-size:.82rem;line-height:1.45;margin:0;padding:10px 22px;background:#f1f2fa;color:#4b408c}
.teacher-messages{padding:22px;display:flex;flex-direction:column;gap:17px;max-height:min(58dvh,700px);min-height:220px;overflow-y:auto;overscroll-behavior:contain;background:#fff}
.teacher-message{padding:18px 20px;border-radius:17px;background:#f2f4f9;color:#182139;max-width:92%;overflow-wrap:anywhere}
.teacher-message.user{align-self:flex-end;background:#e7f8b9;max-width:82%}
.teacher-message.assistant{align-self:flex-start;width:min(100%,690px)}
.teacher-message.welcome-message{border:1px solid #e4e8f1;background:#f7f8fc}
.message-author{font-size:.75rem;letter-spacing:.08em;font-weight:800;color:#4b5871}
.teacher-message p{font-size:1rem;line-height:1.6;margin:9px 0 0;white-space:pre-wrap}
.teacher-message .teacher-answer{margin-top:12px}
.teacher-feedback{border:1px solid #dce0ed;border-radius:13px;margin-top:17px;padding:15px;background:#fff}
.teacher-feedback-kicker{display:block;font-size:.75rem;letter-spacing:.1em;font-weight:800;color:#5340a7}
.teacher-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px}
.teacher-before,.teacher-after{padding:11px 12px;border-radius:10px;background:#f5f6fa;min-width:0}
.teacher-after{background:#eff8d7;border:1px solid #d7ebaf}
.teacher-compare-label{font-size:.8rem;font-weight:750;color:#53617a}
.teacher-after .teacher-compare-label{color:#365720}
.teacher-comparison p{margin:6px 0 0;line-height:1.48}
.teacher-message .teacher-explanation{border-top:1px solid #e5e8f1;margin-top:13px;padding-top:11px;font-size:.94rem}
.teacher-message .teacher-example{font-size:.92rem;color:#40506b;margin-top:8px}
.teacher-example strong{color:#293857}
.teacher-practice{border-left:3px solid #a7d542;padding-left:13px;margin-top:16px}
.teacher-practice .teacher-feedback-kicker{color:#3c5d19}
.teacher-practice p{font-weight:650;margin-top:5px}
.teacher-starters{display:flex;flex-wrap:wrap;gap:8px;padding:0 22px 16px}
.teacher-starters button{font:inherit;font-size:.83rem;font-weight:650;border:1px solid #ced7e7;border-radius:24px;background:#fff;padding:9px 12px;color:#463690;cursor:pointer}
.teacher-starters button:hover{border-color:#7357cb;background:#f7f4ff}
.teacher-compose{border-top:1px solid #e1e6f0;padding:0 22px 12px;background:#fff}
.teacher-compose label{margin:12px 0 7px}
.teacher-compose textarea{display:block;width:100%;resize:vertical;min-height:82px;max-height:260px;border:1px solid #aab7ce;border-radius:11px;padding:11px 13px;background:#fff;font:inherit;font-size:1rem;line-height:1.5;color:#182139}
.teacher-compose textarea::placeholder{color:#718096}
.compose-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 0}
.compose-actions span{font-size:.8rem;color:#586783}
.compose-actions .button{font-size:.92rem;padding:10px 18px;min-height:46px}
.teacher-footnote{padding:0 22px 19px}
.teacher-privacy,.teacher-quota{font-size:.8rem;line-height:1.55;color:#56647c;margin:0 0 5px}
.teacher-privacy a{color:#4637a1;text-decoration:underline}
#teacherError{padding:10px 12px;background:#fff0ec;border-radius:9px;color:#872c1c;line-height:1.5;font-size:.875rem;margin:10px 0 0}
.teacher-page button:disabled{opacity:.55;cursor:not-allowed}
.teacher-page :focus-visible{outline:3px solid #6558c9;outline-offset:3px}
@media(max-width:800px){.teacher-layout{grid-template-columns:1fr;gap:14px}.teacher-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px;padding:16px}.teacher-settings h2{grid-column:1/-1;margin-bottom:10px}.teacher-settings label{margin:0 0 6px}.teacher-settings select{grid-row:3}.teacher-settings-help{grid-column:1/-1;margin:11px 0 0}.teacher-settings .button{grid-column:1/-1;justify-self:start;width:auto;margin-top:10px}.teacher-messages{max-height:55dvh}}
@media(max-width:600px){.teacher-page{padding:19px 12px 50px}.teacher-heading{align-items:start;margin-bottom:17px}.teacher-heading h1{font-size:2.35rem}.teacher-heading p{font-size:.9rem}.teacher-back{font-size:.8rem;align-self:end}.teacher-settings{border-radius:14px;padding:13px 14px}.teacher-settings h2{font-size:1rem;margin:0 0 10px}.teacher-settings label{font-size:.8rem}.teacher-settings select{font-size:.83rem;padding:6px;min-height:44px}.teacher-settings-help{font-size:.8rem;line-height:1.4;margin-top:9px}.teacher-settings .button{min-height:40px;padding:8px 13px;margin-top:9px}.teacher-chat{border-radius:14px;overflow:visible}.chat-header{border-radius:13px 13px 0 0;padding:13px 15px}.chat-header span{font-size:.75rem}.teacher-availability{padding:8px 15px}.teacher-messages{max-height:none;min-height:0;overflow:visible;padding:14px;gap:13px}.teacher-message{padding:13px 14px;max-width:100%}.teacher-message.user{max-width:92%}.teacher-message p{line-height:1.55}.teacher-comparison{grid-template-columns:1fr}.teacher-feedback{padding:12px}.teacher-before,.teacher-after{padding:9px 10px}.teacher-starters{padding:0 14px 14px}.teacher-compose{position:sticky;bottom:0;z-index:2;padding:0 14px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -6px 22px #17213b16}.teacher-compose textarea{min-height:65px;max-height:140px}.teacher-compose label{margin:8px 0 5px}.teacher-footnote{padding:15px 14px 20px}.compose-actions .button{min-height:42px;padding:9px 12px;font-size:.875rem}.site-header nav{flex-wrap:wrap;gap:12px}}
@media(max-width:380px){.teacher-heading{display:block}.teacher-back{display:inline-block;margin-top:8px}.teacher-settings select{font-size:.78rem}.chat-header{flex-wrap:wrap;gap:4px}}

/* AI Teacher adopta la misma paleta sin cambiar su HTML ni su JavaScript. */
.teacher-page{color:var(--ink)}
.teacher-heading,.teacher-heading h1{color:var(--ink)}
.teacher-heading h1 span,.teacher-kicker,.teacher-back{color:var(--blue-ink)}
.teacher-heading p{color:var(--muted)}
.teacher-settings,.teacher-chat{background:var(--white);color:var(--ink);border-color:#d9e4ed;box-shadow:0 12px 34px #34557714}
.teacher-settings{background:var(--blue-soft)}
.teacher-settings-help{color:var(--muted)}
.chat-header{background:var(--blue);color:var(--ink)}.chat-header span{color:var(--blue-ink)}
.teacher-availability{background:var(--red-soft);color:var(--red-ink)}
.teacher-messages,.teacher-compose{background:var(--white)}
.teacher-message{background:var(--blue-soft);color:var(--ink)}
.teacher-message.user{background:var(--red);color:var(--ink)}
.teacher-message.welcome-message{background:var(--paper);border-color:#d9e4ed}
.message-author,.teacher-compare-label,.teacher-example strong{color:var(--muted)}
.teacher-feedback{border-color:#d9e4ed;color:var(--ink)}
.teacher-feedback-kicker,.teacher-practice .teacher-feedback-kicker,.teacher-privacy a,.teacher-starters button{color:var(--blue-ink)}
.teacher-before{background:var(--red-soft)}.teacher-after{background:var(--green);border-color:#b7ddc7}
.teacher-after .teacher-compare-label{color:var(--green-ink)}
.teacher-practice{border-left-color:var(--green-ink)}
.teacher-starters button{border-color:#b5d0e6;background:var(--white)}
.teacher-starters button:hover{border-color:var(--blue-ink);background:var(--blue-soft)}
.teacher-compose textarea{color:var(--ink);border-color:#a9c9e3}
.teacher-privacy,.teacher-quota,.compose-actions span,.teacher-message .teacher-example{color:var(--muted)}
.teacher-page :focus-visible{outline-color:var(--blue-ink)}
.teacher-settings{background:var(--blue-soft);border-top:4px solid #9ec3e6}
.chat-header{background:var(--blue);border-bottom:1px solid #b1d0ea}
.teacher-message.user{background:var(--red)}
.teacher-message.assistant{background:var(--blue-soft)}

.teacher-availability{background:var(--amber-soft);color:var(--amber-ink)}
.teacher-message.user{background:var(--teal)}

.teacher-settings{background:#edf3fc;border-top-color:var(--uk-blue)}
.chat-header{background:#dbe7f8;border-bottom-color:#c5d8f1}
.teacher-message.user{background:#e5eefb}
.teacher-message.assistant{background:#f4f7fc}
.teacher-availability{background:var(--gold-soft);color:var(--gold-ink)}

.compose-actions .button-primary{background:#9d3044;border-color:#9d3044;color:#fff}
.compose-actions .button-primary:hover{background:#852438;border-color:#852438}

.teacher-heading .teacher-logo-heading{margin:8px 0 7px;line-height:1}
.teacher-logo-heading img{display:block;width:min(100%,340px);height:auto}
.teacher-kicker{display:inline-flex;align-items:center;gap:.55em}
.teacher-kicker img{display:inline-block;width:28px;height:28px;object-fit:contain;flex:none}
@media(max-width:400px){.teacher-kicker{gap:.35em;font-size:.7rem}.teacher-kicker img{width:24px;height:24px}}
