.language-settings{padding:24px;margin:24px 0;color:var(--look-ink,#293537);background:var(--look-panel,#fffefa)}.language-settings form{display:flex;align-items:end;flex-wrap:wrap;gap:16px}.language-settings label{display:grid;gap:8px;flex:1 1 220px;min-width:0}.language-settings select{width:100%;min-height:44px;font:inherit;padding:10px;border:1px solid var(--look-control-line,#8a9c96);border-radius:10px;background:var(--look-panel,#fffefa);color:inherit}.language-settings button{min-height:44px;padding:10px 16px;font:inherit;border-radius:10px;background:var(--look-accent,#354f54);color:var(--look-on-accent,#fff);border:1px solid var(--look-accent,#354f54)}.language-settings [role=status]{min-height:1.5em}.language-preview-note{padding:12px;background:var(--look-soft,#e6ebe6);border-radius:8px;line-height:1.5}@media(max-width:480px){.language-settings{padding:18px}.language-settings form{display:grid;grid-template-columns:minmax(0,1fr)}.language-settings button{width:100%}}
.auth-language{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.auth-language select{min-height:44px;max-width:160px;font:inherit;color:inherit;background:var(--surface,#fffefa);border:1px solid var(--border,#bec5bf);border-radius:8px;padding:8px}.topbar{flex-wrap:wrap;gap:12px}@media(max-width:480px){.auth-language{margin-left:auto}.auth-language>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}
/* Localized copy can grow without clipping controls or widening mobile layouts. */
html[lang] :is(.auth-card,.auth-story,.setup-card,.hero,.steps article,.cta){min-width:0;overflow-wrap:anywhere}html[lang=de] :is(h1,h2,h3,p,label,button,.button){hyphens:auto;word-break:normal}html[lang] :is(button,.button){white-space:normal;height:auto}html[lang] .password-row input{min-width:0}html[lang] .setup-actions>div{flex-wrap:wrap}html[lang] .topbar nav>a{min-width:0}html[lang] .auth-card :is(input,select){max-width:100%}@media(max-width:480px){html[lang] .setup-actions>div{gap:12px}html[lang] .auth-register-link{white-space:normal!important;max-width:100%;text-align:center}.landing-page .topbar nav>a{flex:0 1 auto}.landing-page .topbar nav{align-items:center}}
/* Routine labels and longer translations need room on narrow screens. */
html[lang] .routine-row{min-width:0}html[lang] .routine-row :is(label,input,select){min-width:0;max-width:100%}html[lang] .routine-row select{width:100%}html[lang] .setup-card fieldset{min-inline-size:0}@media(max-width:760px){html[lang] .routine-row{grid-template-columns:1fr;gap:10px;padding:14px 0;border-bottom:1px solid var(--look-line,#daddd7)}html[lang] .routine-row>strong{font-weight:700}html[lang] .routine-row input{font-size:16px;padding:12px}html[lang] .routine-row select{min-height:44px;font-size:16px}}

/* Profile language stays a sibling form, never nested inside profile credentials. */
.profile-editor-dialog>.language-settings{padding:18px 0 0;margin:24px 0 0;border:0;border-top:1px solid var(--look-line,#daddd7);background:transparent}.profile-editor-dialog>.language-settings h2{font-size:20px}.profile-editor-dialog>.language-settings form{display:flex;align-items:end;gap:12px}.profile-editor-dialog>.language-settings form label{flex:1;min-width:0}.profile-editor-dialog>.language-settings button{flex:none;min-height:44px}
/* Match the profile form inset; avoid inherited panel and form spacing. */
html[data-mimma-look] .profile-editor-dialog>#personal-language-settings{box-sizing:border-box;margin:0 24px 24px;padding:24px 0 0;border:0;border-top:1px solid var(--look-line,#daddd7);border-radius:0;background:transparent}
.profile-editor-dialog>#personal-language-settings h2{margin:0 0 12px;font-size:20px;line-height:1.3}
.profile-editor-dialog>#personal-language-settings>p{margin:0 0 16px}
.profile-editor-dialog>#personal-language-settings .language-preview-note{padding:12px 14px}
.profile-editor-dialog>#personal-language-settings form{padding:0;margin:20px 0 0;display:flex;align-items:end;gap:12px}
.profile-editor-dialog>#personal-language-settings label{margin:0;gap:8px}
.profile-editor-dialog>#personal-language-settings select{box-sizing:border-box;min-height:44px}
.profile-editor-dialog>#personal-language-settings button{margin:0;white-space:nowrap;min-height:44px}
.profile-editor-dialog>#personal-language-settings [role=status]:empty{display:none}
@media(max-width:480px){html[data-mimma-look] .profile-editor-dialog>#personal-language-settings{margin:0 20px 20px;padding-top:20px}.profile-editor-dialog>#personal-language-settings form{flex-wrap:wrap}.profile-editor-dialog>#personal-language-settings label{flex-basis:100%}.profile-editor-dialog>#personal-language-settings button{width:auto;margin-left:auto}}

/* One profile form and one action row at the bottom. */
html[data-mimma-look] .profile-editor-dialog form>#personal-language-settings{box-sizing:border-box;margin:24px 0 0;padding:24px 0 0;border:0;border-top:1px solid var(--look-line,#daddd7);border-radius:0;background:transparent}
.profile-editor-dialog form>#personal-language-settings h2{margin:0 0 12px;font-size:20px;line-height:1.3}
.profile-editor-dialog form>#personal-language-settings>p{margin:0 0 16px}
.profile-editor-dialog form>#personal-language-settings .language-preview-note{padding:12px 14px}
.profile-editor-dialog .profile-language-fields{margin-top:20px}
.profile-editor-dialog .profile-language-fields label{margin:0;gap:8px}
.profile-editor-dialog .profile-language-fields select{box-sizing:border-box;width:100%;min-height:44px}
/* Language availability is an information notice in every visual theme. */
html[data-mimma-look] #personal-language-settings .language-preview-note{background:#fff2c6;color:#493b1b;border:1px solid #d9b756;border-left:4px solid #b58b21;border-radius:8px;padding:12px 14px;line-height:1.5}

/* Personal language is visible before onboarding steps, separate from household setup. */
.setup-language{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:12px 24px;align-items:center;padding:20px 24px;margin-bottom:24px;border:1px solid var(--look-line,#daddd7);border-radius:14px;background:var(--look-panel,#fffefa)}
.setup-language h2{margin:0 0 8px;font-size:22px}.setup-language p{margin:0;line-height:1.5}.setup-language label{display:grid;gap:8px;font-size:14px;font-weight:600}.setup-language select{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;font:inherit;background:var(--look-panel,#fffefa);color:inherit;border:1px solid var(--look-control-line,#8a9c96);border-radius:10px}.setup-language [role=status]{grid-column:1/-1;font-size:14px}.setup-language [role=status]:empty{display:none}@media(max-width:600px){.setup-language{grid-template-columns:1fr;padding:18px}}

/* Onboarding header blends into the page rather than using a green panel. */
html[data-mimma-look] body.onboarding-page .topbar{background:transparent!important;box-shadow:none!important}
