.auth-trigger { min-height: 44px; white-space: nowrap; }
.auth-status { color: var(--color-ready, #08795b); font-size: .82rem; max-width: 22rem; }
.auth-status:empty { display: none; }
.auth-dialog { width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 28px; border: 1px solid #dfe5ee; border-radius: 16px; background: #fff; color: #0b1220; box-shadow: 0 4px 12px rgb(0 0 0 / 16%); }
.auth-dialog::backdrop { background: rgb(11 18 32 / 38%); }
.auth-dialog h2 { font-size: 1.4rem; line-height: 1.25; margin: 8px 28px 24px 0; }
.auth-close { position: absolute; inset: 8px 8px auto auto; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #5e6978; font-size: 1.6rem; }
.auth-wide { width: 100%; min-height: 46px; }
.auth-divider { display: flex; align-items: center; gap: 16px; margin: 20px 0; color: #5e6978; font-size: .85rem; }
.auth-divider::before, .auth-divider::after { content: ""; height: 1px; background: #dfe5ee; flex: 1; }
.auth-dialog form { display: grid; gap: 12px; }
.auth-dialog label { font-weight: 600; font-size: .9rem; }
.auth-dialog input { width: 100%; min-height: 46px; padding: 10px 12px; box-sizing: border-box; border: 1px solid #b0bac9; border-radius: 8px; font: inherit; font-size: 16px; }
.auth-note, .auth-dialog p { color: #5e6978; font-size: .88rem; line-height: 1.5; }
.auth-note { margin: 18px 0 0; }
.auth-dialog .auth-error { color: #b42318; margin: 16px 0 0; }
.auth-error:empty { display: none; }
.auth-privacy { display: inline-flex; align-items: center; min-height: 32px; margin-top: 8px; font-size: .82rem; color: #1644bb; }
.auth-email-value { overflow-wrap: anywhere; color: #0b1220 !important; font-size: 1rem !important; }
.auth-retention { margin: 4px 0 18px; }
.auth-runs { margin: 18px 0; padding: 14px 0; border-block: 1px solid #dfe5ee; }
.auth-runs-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.auth-runs-heading h3 { margin: 0; font-size: .92rem; }
.auth-runs-heading span { color: #5e6978; font-size: .78rem; }
.auth-runs-error { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; color: #b42318; font-size: .82rem; }
.auth-runs-error[hidden] { display: none; }
.auth-runs-error button { min-height: 44px; padding: 6px 10px; }
.auth-runs ul { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; max-height: min(42dvh, 320px); overflow: auto; }
.auth-run { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px; border: 1px solid #dfe5ee; border-radius: 10px; }
.auth-run-copy { min-width: 0; }
.auth-run-copy strong, .auth-run-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.auth-run-copy strong { font-size: .86rem; }
.auth-run-copy span { margin-top: 3px; color: #5e6978; font-size: .75rem; }
.auth-run-actions { display: flex; gap: 4px; }
.auth-run-actions button { min-height: 44px; padding: 6px 9px; font-size: .78rem; }
.auth-run-delete[data-confirm="true"] { border-color: #d92d20; color: #b42318; }
.auth-return { min-height: 100dvh; margin: 0; background: #f5f8fc; display: grid; place-items: center; padding: 24px; box-sizing: border-box; }
.auth-return main { width: min(440px, 100%); margin: 0; padding: 32px; background: #fff; border: 1px solid #dfe5ee; border-radius: 16px; box-sizing: border-box; }
.auth-return h1 { font-size: 1.65rem; line-height: 1.2; margin: 28px 0 16px; }
.auth-return p { line-height: 1.6; color: #5e6978; }
.auth-return a { min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 600px) {
  .auth-dialog { padding: 24px; }
  .auth-status { display: none; }
  body.auth-available .site-header { height: 62px; padding: 8px 12px; }
  body.auth-available .site-header .header-actions { width: auto; margin-left: auto; flex-wrap: nowrap; gap: 10px; }
  body.auth-available .site-header .brand-name { display: none; }
  body.auth-available.analysis-active main { height: calc(100dvh - 62px); }
  .auth-trigger { min-height: 44px; padding: 8px 12px; font-size: .9rem; }
}
/* The empty saved list is a useful destination, including keyboard return. */
.auth-runs-empty{list-style:none;padding:20px 0;color:var(--ink,#0b1220)}
.auth-runs-empty strong{font-size:1.05rem;line-height:1.4}
.auth-runs-empty p{max-width:55ch;color:var(--muted,#5e6978);font-size:.94rem;line-height:1.6}
.auth-runs-empty button{min-height:44px;margin-top:8px}
