.login-dialog-content { max-height: min(85dvh, 760px); overflow-y: auto; }
.auth-tabs { display: flex; gap: 8px; margin: 20px 0 18px; }
.auth-tabs button { flex: 1; border: 1px solid #d7dbd0; border-radius: 999px; padding: 9px 12px; background: transparent; color: #50634f; font: inherit; font-size: 13px; cursor: pointer; }
.auth-tabs button[aria-pressed="true"] { background: #263e31; color: #fffef7; border-color: #263e31; }
.auth-field { display: block; text-align: left; margin: 13px 0; color: #344d3c; font-size: 13px; }
.auth-field input { display: block; width: 100%; box-sizing: border-box; margin-top: 7px; padding: 12px 13px; min-height: 45px; border: 1px solid #d3d9cb; border-radius: 12px; background: #fffdf7; color: #263e31; font: inherit; font-size: 16px; }
.auth-field input:focus { outline: 2px solid #829775; outline-offset: 2px; }
.auth-field[hidden], #auth-submit[hidden], #auth-resend[hidden], #auth-forgot[hidden] { display: none; }
.auth-hint { font-size: 12px !important; line-height: 1.6 !important; text-align: left; }
.auth-status { min-height: 20px; margin: 14px 0; color: #526a49; font-size: 13px !important; line-height: 1.65 !important; overflow-wrap: anywhere; }
.auth-status.is-error { color: #9d482f; }
.auth-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.auth-links .text-button { padding: 10px 4px; }
#auth-form .primary-button { width: 100%; margin-top: 8px; }
#generation-confirm-dialog { width: min(360px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 25px; background: #f8f5ed; color: #263e31; }
#generation-confirm-dialog::backdrop { background: rgb(31 49 36 / 38%); backdrop-filter: blur(4px); }
.generation-confirm-content { position: relative; padding: 32px 26px 22px; }
.generation-confirm-content h2 { font-size: 25px; margin: 12px 0 18px; }
.generation-confirm-content p { font-size: 14px; line-height: 1.8; }
#generation-confirm-cost { display: block; padding: 16px 0; font-size: 23px; }
#generation-confirm-submit { width: 100%; }
#generation-confirm-cancel { display: block; margin: 12px auto 0; }
#style-cost { color: #476043; font-size: 12px; line-height: 1.6; margin: 7px 0; }
#catalog-load-more, #catalog-retry { display: block; margin: 16px auto; border: 1px solid #bec8b4; border-radius: 14px; padding: 12px 22px; background: transparent; color: #344d3c; font: inherit; }
#catalog-load-more[hidden], #catalog-retry[hidden] { display: none; }
button:disabled { cursor: default; }
@media (max-width: 360px) { .login-dialog-content { padding: 25px 22px 18px; } .auth-field { margin: 9px 0; } }
