.auth-dialog { width: min(440px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow-y: auto; padding: 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-solid); color: var(--ink); box-shadow: var(--shadow); }
.auth-dialog::backdrop { background: rgba(15, 25, 26, .6); backdrop-filter: blur(4px); }
.auth-dialog h2 { margin: 0 32px 18px 0; font-size: 24px; font-weight: 800; }
.auth-close { position: absolute; top: 14px; right: 18px; background: none; color: var(--ink); border: 0; font-size: 26px; cursor: pointer; }
.auth-form { display: grid; gap: 14px; }
.auth-form label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
.auth-form input { width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); font: inherit; }
.auth-form input:focus { outline: 2px solid var(--teal); outline-offset: 2px; }
.auth-submit, .auth-google { display: block; width: 100%; padding: 12px; border-radius: 8px; font: inherit; font-weight: 700; text-align: center; cursor: pointer; }
.auth-submit { border: 0; background: var(--teal); color: var(--surface-solid); }
.auth-google { margin-top: 16px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); text-decoration: none; }
.auth-google[aria-disabled="true"] { cursor: default; opacity: .65; }
.auth-toggle { margin-top: 18px; width: 100%; border: 0; background: none; color: var(--teal); font: inherit; cursor: pointer; }
.auth-message, .auth-note { font-size: 13px; line-height: 1.6; }
.auth-message { color: var(--red); }
.auth-note { color: var(--muted); }
.auth-dialog [hidden] { display: none !important; }
.support-dialog { width: min(560px, calc(100vw - 32px)); }
.support-dialog select, .support-dialog textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-solid); color: var(--ink); font: inherit; }
.support-dialog select:focus, .support-dialog textarea:focus { outline: 2px solid var(--teal); outline-offset: 2px; }
.support-dialog textarea { resize: vertical; }
.support-dialog button:disabled { opacity: .55; cursor: wait; }
.support-dialog .auth-message { margin-top: 14px; }
.support-dialog .auth-message[data-success="true"] { color: var(--teal); }
