/* Fluent-inspired controls, shared across application and account pages. */
/* Native disclosure keeps the language list out of the header layout. */
.language-menu { position:relative; display:inline-block; flex-shrink:0; color:var(--text,#242424); font:600 13px/1.4 'Segoe UI',system-ui,sans-serif; }
.language-menu summary { display:flex; align-items:center; justify-content:center; gap:10px; min-height:36px; padding:6px 12px; box-sizing:border-box; border:1px solid var(--border,#e0e0e0); border-radius:4px; background:var(--surface,#fff); cursor:pointer; list-style:none; }
.language-menu summary::-webkit-details-marker { display:none; }
.language-menu summary:hover { background:var(--surface-2,#f5f5f5); }
.language-options { position:absolute; top:calc(100% + 6px); right:0; z-index:1000; width:210px; max-width:calc(100vw - 24px); padding:5px; border:1px solid var(--border,#e0e0e0); border-radius:6px; background:var(--surface,#fff); box-shadow:0 4px 16px #0002; }
.language-menu:not([open]) > .language-options { display:none; }
.language-options button { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; min-height:40px; margin:0; padding:8px 12px; border:0; border-radius:3px; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.language-options button:hover, .language-options button[aria-current="true"] { background:var(--brand-soft,#eaedf6); color:var(--brand-fg,#253D83); }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline:2px solid var(--brand-fg,var(--brand,#253D83)); outline-offset:3px; }
button:disabled { opacity:.5; cursor:not-allowed; }
.survey-fieldset { min-width:0; padding:0; border:0; margin:8px 0 0; }
.survey-fieldset legend { padding:0; font-size:15px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.survey-hint { font-size:13px; color:var(--text-2,#616161); line-height:1.5; margin:8px 0 12px; }
.survey-option { text-transform:none; letter-spacing:normal; font-weight:400; display:flex; gap:12px; align-items:flex-start; border:1px solid var(--border,#e0e0e0); border-radius:4px; padding:12px; margin:8px 0; cursor:pointer; color:var(--text,#242424); font-size:14px; line-height:1.5; background:var(--surface,#fff); }
.survey-option:has(input:checked) { border-color:var(--brand,#253D83); background:var(--brand-soft,#eaedf6); }
.survey-option input { flex:0 0 18px; width:18px; height:18px; margin:2px 0 0; padding:0; accent-color:var(--brand,#253D83); }
.survey-option span { min-width:0; overflow-wrap:anywhere; }
.survey-label { display:flex; flex-direction:column; gap:7px; margin-top:12px; font-size:13px; font-weight:600; }
.survey-edit-option { display:flex; align-items:center; gap:10px; margin:8px 0; }
.survey-edit-option input { min-width:0; flex:1; }
.survey-marker { width:17px; height:17px; flex-shrink:0; border:1px solid var(--text-2,#616161); border-radius:50%; }
.survey-marker.square { border-radius:3px; }
.survey-status { min-height:20px; font-size:13px; line-height:1.5; }
.survey-saved { padding:12px; background:var(--surface-2,#f5f5f5); border-radius:4px; margin:12px 0; font-size:13px; overflow-wrap:anywhere; }
.survey-saved ul, .survey-answer ul { padding-left:20px; margin:6px 0; }

.language-flag { width:24px !important; height:16px !important; object-fit:cover; flex:0 0 24px; border-radius:2px; box-shadow:0 0 0 1px #0002; }
.language-name { flex:1; text-align:left; }
.language-check { width:16px; flex-shrink:0; }
.language-chevron { width:14px; height:14px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.5; }
.language-menu[open] summary .language-chevron { transform:rotate(180deg); }

.message-saved,.homework,.private-messages,.homework-review,.notification-item{min-width:0;overflow-wrap:anywhere;}
