.gd-terms-acceptance {
    margin: 20px 0;
    padding: 16px;
    border: 1px solid var(--gd-border-card, #dad2c6);
    border-radius: 10px;
    background: var(--gd-surface-raised, #fdf7ec);
    color: var(--gd-text, #4b4453);
    text-align: left;
    overflow-wrap: anywhere;
}
.gd-terms-acceptance .gd-terms-choice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-height: 44px;
    margin: 0;
    padding: 8px 0;
    font-size: 1rem;
    line-height: 1.55;
    font-weight: 500;
    cursor: pointer;
    color: var(--gd-text, #4b4453);
}
.gd-terms-acceptance input[type="checkbox"] {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    min-height: 20px;
    margin: 3px 0 0;
    padding: 0;
    accent-color: var(--gd-link, #5a2683);
    cursor: pointer;
}
.gd-terms-acceptance a, .gd-account-setup a { color: var(--gd-link, #5a2683); text-decoration: underline; text-underline-offset: 3px; }
.gd-terms-acceptance :focus-visible, .gd-account-setup :focus-visible { outline: 3px solid var(--gd-focus, #5a2683); outline-offset: 4px; }
.gd-terms-acceptance .gd-terms-required { font-size: .9em; }
.gd-terms-acceptance .gd-terms-version, .gd-terms-acceptance .gd-terms-status { margin: 6px 0 0 32px; font-size: .875rem; line-height: 1.5; color: var(--gd-text-muted, #6b6459); }
.gd-terms-acceptance .gd-terms-retry, .gd-account-setup .gd-setup-secondary {
    min-height: 44px;
    padding: 9px 15px;
    margin-top: 12px;
    font: inherit;
    font-weight: 600;
    border: 1px solid var(--gd-border-input, #8c7f68);
    border-radius: 8px;
    color: var(--gd-link, #5a2683);
    background: var(--gd-surface, #fff);
    cursor: pointer;
}
.gd-terms-acceptance [hidden], .gd-account-setup [hidden] { display: none !important; }
.gd-account-setup { width: min(100%, 620px); margin-inline: auto; }
.gd-account-setup h1 { font-size: clamp(1.6rem, 4vw, 2rem); line-height: 1.25; }
.gd-account-setup p { line-height: 1.65; }
.gd-account-setup .gd-setup-intro { margin: 16px 0 20px; color: var(--gd-text, #4b4453); }
.gd-account-setup .gd-setup-message { padding: 12px 14px; margin: 16px 0; border: 1px solid var(--gd-border-input, #8c7f68); border-radius: 8px; color: var(--gd-text, #4b4453); background: var(--gd-surface-raised, #fdf7ec); }
.gd-account-setup .gd-setup-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 12px; }
.gd-account-setup .gd-setup-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 12px; }
.gd-account-setup .submit-btn { min-height: 44px; }
.gd-account-setup .submit-btn:disabled { cursor: wait; opacity: .7; }
.gd-account-setup .gd-setup-footnote { font-size: .9rem; color: var(--gd-text-muted, #6b6459); }
@media (max-width: 480px) {
    .gd-terms-acceptance { padding: 12px; }
    .gd-account-setup.login-container { padding: 22px 16px; }
}
