/* ═══ Feature: auth — login, register, claim forms ═══ */
/* Depends on: scge-core.css */

.scge-app .sd-auth { max-width: 100% !important; margin: 20px auto; padding: 24px 16px !important; background: var(--scge-white) !important; border-radius: 16px !important; border: 1px solid var(--scge-border) !important; box-shadow: var(--scge-shadow) !important; }
.scge-app .sd-auth h2 { font-size: 20px !important; font-weight: 700 !important; margin-bottom: 16px; }
.scge-app .sd-auth .sd-field { margin-bottom: 14px; }
.scge-app .sd-auth .sd-field label { display: block !important; font-size: 13px !important; font-weight: 500 !important; margin-bottom: 5px; }
.scge-app .sd-auth .sd-field input { width: 100% !important; padding: 12px 14px !important; border: 1px solid var(--scge-border) !important; border-radius: var(--scge-radius-sm) !important; font-size: 16px !important; color: var(--scge-text) !important; background: var(--scge-white) !important; outline: none !important; transition: all var(--scge-tr-fast); font-family: inherit !important; -webkit-appearance: none; min-height: 48px !important; }
.scge-app .sd-auth .sd-field input:focus { border-color: var(--scge-primary) !important; box-shadow: 0 0 0 3px rgba(59,130,246,.12) !important; }
.scge-app .sd-auth .sd-btn { min-height: 48px !important; width: 100% !important; }
.scge-app .sd-auth .sd-btn--primary { background: var(--scge-primary) !important; color: #fff !important; border: none !important; border-radius: var(--scge-radius-sm) !important; font-size: 14px !important; font-weight: 600 !important; cursor: pointer; transition: all var(--scge-tr-fast); display: inline-flex !important; align-items: center; justify-content: center; font-family: inherit !important; }
.scge-app .sd-auth .sd-btn--primary:hover { background: var(--scge-primary-h) !important; }
@media (min-width: 768px) { .scge-app .sd-auth { max-width: 440px !important; padding: 32px !important; } .scge-app .sd-auth .sd-field input { font-size: 14px !important; } }

/* ═══ Toast + hint helpers (v10.28.15 — copied from platform.css so auth
   pages show these inline messages correctly without requiring platform.css,
   which is only loaded on dashboard routes) ═══ */
.scge-app .sd-form-msg { min-height: 0; margin-bottom: 12px; }
.scge-app .sd-toast { border-radius: 10px !important; padding: 12px 16px !important; font-size: 13px !important; font-weight: 500 !important; text-align: center; }
.scge-app .sd-toast--ok { background: #ecfdf5 !important; color: #16a34a !important; border: 1px solid #bbf7d0 !important; }
.scge-app .sd-toast--err { background: #fef2f2 !important; color: #dc2626 !important; border: 1px solid #fecaca !important; }
.scge-app .sd-hint { font-size: 12px !important; color: #71717A !important; margin-top: 4px; line-height: 1.5; }
.scge-app .sd-btn--outline { background: #fff !important; color: #3F3F46 !important; border: 1px solid #E8E7E0 !important; border-radius: 8px !important; padding: 10px 20px !important; font-size: 14px !important; font-weight: 600 !important; cursor: pointer; text-decoration: none !important; display: inline-flex !important; align-items: center; justify-content: center; }
.scge-app .sd-btn--outline:hover { border-color: #B8862A !important; color: #18181B !important; }

/* ═══════════════════════════════════════════════════════════
   CLAIM PROFILE PAGE (v10.8.2)
   ═══════════════════════════════════════════════════════════ */
.scge-app.scge-claim {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    background: #FAFAF7 !important;
    padding: 60px 20px !important;
    min-height: 60vh !important;
}
.scge-app.scge-claim .cl-wrap {
    max-width: 520px !important;
    margin: 0 auto !important;
}
.scge-app.scge-claim .cl-card {
    background: #fff !important;
    border: 1px solid #E8E7E0 !important;
    border-radius: 20px !important;
    padding: 48px 40px !important;
    box-shadow: 0 8px 16px rgba(24,24,27,.06), 0 20px 40px rgba(24,24,27,.08) !important;
    text-align: center !important;
}
.scge-app.scge-claim .cl-card--error { padding: 60px 40px !important; }
.scge-app.scge-claim .cl-icon {
    width: 72px !important;
    height: 72px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 20px !important;
}
.scge-app.scge-claim .cl-icon svg { width: 32px !important; height: 32px !important; }
.scge-app.scge-claim .cl-icon--ok { background: #ECFDF5 !important; color: #059669 !important; }
.scge-app.scge-claim .cl-icon--error { background: #FEF2F2 !important; color: #DC2626 !important; }
.scge-app.scge-claim .cl-hero { margin-bottom: 28px !important; }
.scge-app.scge-claim .cl-photo {
    width: 110px !important;
    height: 110px !important;
    border-radius: 50% !important;
    margin: 0 auto 20px !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #1e293b, #475569) !important;
    box-shadow: 0 8px 16px rgba(24,24,27,.08) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.scge-app.scge-claim .cl-photo--gold {
    box-shadow: 0 0 0 3px #B8862A, 0 0 0 6px rgba(184,134,42,.15), 0 16px 32px rgba(184,134,42,.2) !important;
}
.scge-app.scge-claim .cl-photo img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.scge-app.scge-claim .cl-photo span {
    color: #fff !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 38px !important;
    font-weight: 700 !important;
}
.scge-app.scge-claim .cl-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    letter-spacing: -.02em !important;
    color: #18181B !important;
    margin: 0 0 8px !important;
    line-height: 1.15 !important;
}
.scge-app.scge-claim .cl-kicker {
    font-size: 14px !important;
    color: #71717A !important;
    margin: 0 0 12px !important;
    font-weight: 500 !important;
}
.scge-app.scge-claim .cl-short {
    font-size: 14px !important;
    color: #3F3F46 !important;
    margin: 12px 0 0 !important;
    line-height: 1.6 !important;
    padding: 16px !important;
    background: #FAFAF7 !important;
    border-radius: 10px !important;
    border-left: 3px solid #B8862A !important;
    text-align: left !important;
}
.scge-app.scge-claim .cl-desc {
    font-size: 14px !important;
    color: #52525B !important;
    line-height: 1.65 !important;
    margin: 0 0 24px !important;
}
.scge-app.scge-claim .cl-confirm {
    background: #FAF6EC !important;
    border: 1px solid #E8D495 !important;
    border-radius: 12px !important;
    padding: 18px 20px !important;
    margin-bottom: 20px !important;
    text-align: left !important;
}
.scge-app.scge-claim .cl-confirm-q {
    font-family: 'Playfair Display', serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #8B6914 !important;
    margin-bottom: 6px !important;
}
.scge-app.scge-claim .cl-confirm-desc {
    font-size: 13px !important;
    color: #52525B !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}
.scge-app.scge-claim .cl-confirm-desc strong { color: #18181B !important; }
.scge-app.scge-claim .cl-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-bottom: 16px !important;
}
.scge-app.scge-claim .cl-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 14px 22px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    transition: all .2s !important;
    text-decoration: none !important;
    font-family: 'Inter', sans-serif !important;
    line-height: 1.3 !important;
    cursor: pointer !important;
    border: none !important;
}
.scge-app.scge-claim .cl-btn--gold {
    background: #B8862A !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(184,134,42,.22) !important;
}
.scge-app.scge-claim .cl-btn--gold:hover {
    background: #8B6914 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(184,134,42,.3) !important;
    color: #fff !important;
}
.scge-app.scge-claim .cl-btn--gold:disabled {
    opacity: .7 !important;
    cursor: wait !important;
    transform: none !important;
}
.scge-app.scge-claim .cl-btn--outline {
    background: #fff !important;
    color: #18181B !important;
    border: 1px solid #E8E7E0 !important;
}
.scge-app.scge-claim .cl-btn--outline:hover {
    background: #FAFAF7 !important;
    border-color: #A1A1AA !important;
    color: #18181B !important;
}
.scge-app.scge-claim .cl-hint {
    font-size: 12px !important;
    color: #A1A1AA !important;
    text-align: center !important;
    margin: 16px 0 0 !important;
    line-height: 1.5 !important;
}
.scge-app.scge-claim .cl-hint a { color: #B8862A !important; font-weight: 600 !important; text-decoration: underline !important; }
.scge-app.scge-claim .cl-msg { min-height: 0 !important; margin-bottom: 12px !important; }
.scge-app.scge-claim .cl-msg:empty { display: none !important; }
.scge-app.scge-claim .cl-alert {
    padding: 12px 16px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-align: left !important;
}
.scge-app.scge-claim .cl-alert--ok { background: #ECFDF5 !important; color: #059669 !important; border: 1px solid #A7F3D0 !important; }
.scge-app.scge-claim .cl-alert--err { background: #FEF2F2 !important; color: #DC2626 !important; border: 1px solid #FECACA !important; }

@keyframes cl-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

@media (max-width: 600px) {
    .scge-app.scge-claim { padding: 32px 16px !important; }
    .scge-app.scge-claim .cl-card { padding: 36px 24px !important; }
    .scge-app.scge-claim .cl-title { font-size: 26px !important; }
    .scge-app.scge-claim .cl-photo { width: 88px !important; height: 88px !important; }
}
