/* Installer-only layout. The dashboard and shared pages retain their own styles. */
body.install-page .installer-card { display: grid; gap: 18px; width: min(860px, 100%); max-width: 860px; box-sizing: border-box; margin: 24px auto; padding: clamp(18px, 3vw, 32px); }
body.install-page .installer-card h2 { font-size: 1.65rem; }
body.install-page .installer-card input:not([type=checkbox]):not([type=file]) { width: 100%; box-sizing: border-box; }
body.install-page .installer-card [hidden] { display: none !important; }
.installer-language-picker { border: 1px solid #ccd9e8; border-radius: 12px; background: #fff; }
.installer-language-picker summary { display: flex; align-items: center; gap: 12px; padding: 14px; cursor: pointer; list-style: none; color: #172536; }
.installer-language-picker summary::-webkit-details-marker { display: none; }
.installer-language-picker summary::after { content: '⌄'; margin-inline-start: auto; }
.installer-language-picker[open] summary { border-bottom: 1px solid #dce5ee; }
.installer-language-list { max-height: 420px; overflow-y: auto; overscroll-behavior: contain; padding: 8px 12px; }
.installer-language-list h3 { font-size: .85rem; margin: 10px 0 6px; color: #63748f; }
.installer-language-option { display: flex; align-items: center; gap: 12px; width: 100%; text-align: start; background: transparent; border: 0; border-radius: 8px; padding: 12px 8px; color: #172536; cursor: pointer; font: inherit; }
.installer-language-option:hover, .installer-language-option[aria-pressed=true] { background: #edf4fa; }
.installer-language-option:focus-visible, .installer-language-picker summary:focus-visible { outline: 2px solid #567eaa; outline-offset: 2px; }
.installer-language-option:disabled { cursor: wait; opacity: .65; }
.installer-flag { display: inline-flex; width: 26px; min-width: 26px; height: 18px; align-items: center; }
.installer-flag svg { width: 26px; height: 18px; border-radius: 2px; }
.installer-language-name { display: grid; gap: 2px; flex: 1; min-width: 0; }
.installer-language-name bdi { justify-self: start; }
.installer-language-readable, .installer-language-size { font-size: .75rem; color: #63748f; }
.installer-language-action { font-size: .8rem; max-width: 34%; white-space: normal; }
.installer-language-row { border-bottom: 1px solid #edf0f4; }
.installer-language-row progress { display: block; width: 100%; height: 7px; accent-color: #567eaa; }
.installer-download-status, .installer-field-note { margin: 6px 8px 12px; font-size: .8rem; color: #63748f; overflow-wrap: anywhere; }
.installer-url { overflow-wrap: anywhere; }
body.install-page[dir=rtl], body.install-page { text-align: start; }
@media (max-width: 540px) {
    body.install-page .installer-card { margin-block: 12px; }
    .installer-language-list { max-height: 50dvh; padding-inline: 6px; }
    .installer-language-option { flex-wrap: wrap; gap: 8px; }
    .installer-language-size { margin-inline-start: 34px; }
    .installer-language-action { font-size: .75rem; }
    .install-logo-inline-row { flex-wrap: wrap; }
}
