/* ═══════════════════════════════════════════════════════════════════════
   Triton Affiliate — Frontend Dark Theme
   All rules scoped to .ta-app to prevent WordPress theme interference
   ═══════════════════════════════════════════════════════════════════════ */

/* ── CSS variables — scoped to .ta-app ─────────────────────────────── */
.ta-app {
    --ta-primary:   #00D4FF;
    --ta-primary-d: #00AACE;
    --ta-primary-l: rgba(0,212,255,.12);
    --ta-success:   #22c55e;
    --ta-warning:   #f59e0b;
    --ta-danger:    #ef4444;
    --ta-text:      #f1f5f9;
    --ta-soft:      #94a3b8;
    --ta-muted:     #64748b;
    --ta-border:    rgba(255,255,255,.07);
    --ta-border-s:  rgba(255,255,255,.13);
    --ta-bg:        #0c0c12;
    --ta-card:      #13131c;
    --ta-card2:     #1a1a26;
    --ta-card3:     #222231;
    --ta-radius:    14px;
    --ta-radius-s:  9px;
    --ta-font:      -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --ta-glow:      0 0 32px rgba(0,212,255,.10);
    --ta-shadow:    0 4px 24px rgba(0,0,0,.5);
    --ta-shadow-lg: 0 16px 48px rgba(0,0,0,.65);
}

/* ── Container ──────────────────────────────────────────────────────── */
.ta-app {
    font-family: var(--ta-font) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    color: var(--ta-text) !important;
    background: var(--ta-bg) !important;
    border-radius: 18px !important;
    padding: 36px !important;
    max-width: 840px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    -webkit-font-smoothing: antialiased !important;
}
@media (max-width: 640px) {
    .ta-app { padding: 20px 16px !important; border-radius: 12px !important; }
}

.ta-hidden { display: none !important; }
.ta-app *, .ta-app *::before, .ta-app *::after { box-sizing: border-box !important; }

/* Reset WordPress interference on all children */
.ta-app h1,.ta-app h2,.ta-app h3,.ta-app h4 {
    color: var(--ta-text) !important;
    font-family: var(--ta-font) !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}
.ta-app p { color: var(--ta-soft) !important; margin: 0 !important; font-family: var(--ta-font) !important; }
.ta-app a { color: var(--ta-primary) !important; text-decoration: none !important; }
.ta-app a:hover { text-decoration: underline !important; }
.ta-app strong { color: var(--ta-text) !important; }
.ta-app small { color: var(--ta-muted) !important; }
.ta-app code { background: var(--ta-card2) !important; color: var(--ta-primary) !important; padding: 2px 6px !important; border-radius: 4px !important; font-size: .9em !important; }

/* ── Auth card ──────────────────────────────────────────────────────── */
.ta-app .ta-auth-panel {
    max-width: 480px !important;
    margin: 0 auto !important;
    background: var(--ta-card) !important;
    border: 1px solid var(--ta-border-s) !important;
    border-radius: var(--ta-radius) !important;
    box-shadow: var(--ta-shadow), var(--ta-glow) !important;
    overflow: hidden !important;
    animation: taUp .25s ease !important;
}
.ta-app .ta-auth-header {
    padding: 30px 30px 0 !important;
    text-align: center !important;
}
.ta-app .ta-auth-icon { font-size: 38px !important; display: block !important; margin-bottom: 12px !important; }
.ta-app .ta-auth-header h2 { font-size: 22px !important; font-weight: 800 !important; margin-bottom: 6px !important; color: #fff !important; }
.ta-app .ta-auth-header p { font-size: 14px !important; color: var(--ta-soft) !important; margin-bottom: 18px !important; }
.ta-app .ta-form-body { padding: 18px 30px 28px !important; }

/* ── Perks ──────────────────────────────────────────────────────────── */
.ta-app .ta-perks { padding: 0 30px !important; display: flex !important; flex-direction: column !important; }
.ta-app .ta-perk {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    font-size: 13px !important;
    color: var(--ta-soft) !important;
    padding: 9px 0 !important;
    border-bottom: 1px solid var(--ta-border) !important;
}
.ta-app .ta-perk:last-child { border-bottom: none !important; }
.ta-app .ta-perk > span:first-child { font-size: 17px !important; flex-shrink: 0 !important; }
.ta-app .ta-perk strong { color: var(--ta-text) !important; }

/* ── Form layout ────────────────────────────────────────────────────── */
.ta-app .ta-field-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}
@media (max-width: 520px) {
    .ta-app .ta-field-row { grid-template-columns: 1fr !important; }
}
.ta-app .ta-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    margin-bottom: 12px !important;
}
.ta-app .ta-field:last-of-type { margin-bottom: 0 !important; }
.ta-app .ta-field label {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--ta-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: .55px !important;
}
.ta-app .ta-req { color: var(--ta-danger) !important; }

/* ── Inputs — heavily scoped to beat WordPress themes ──────────────── */
.ta-app .ta-field input,
.ta-app .ta-field input[type],
.ta-app .ta-link-row input {
    display: block !important;
    width: 100% !important;
    padding: 11px 14px !important;
    background: var(--ta-card2) !important;
    color: var(--ta-text) !important;
    border: 1.5px solid var(--ta-border-s) !important;
    border-radius: var(--ta-radius-s) !important;
    font-size: 14px !important;
    font-family: var(--ta-font) !important;
    line-height: 1.4 !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition: border-color .15s, background .15s !important;
    margin: 0 !important;
}
.ta-app .ta-field input::placeholder,
.ta-app .ta-link-row input::placeholder {
    color: var(--ta-muted) !important;
    opacity: 1 !important;
}
.ta-app .ta-field input:focus,
.ta-app .ta-link-row input:focus {
    border-color: var(--ta-primary) !important;
    background: var(--ta-card3) !important;
    box-shadow: 0 0 0 3px rgba(0,212,255,.14) !important;
    color: var(--ta-text) !important;
}
/* Monospace for IBAN / SWIFT */
.ta-app #ta-bank-iban { font-family: 'Courier New', monospace !important; letter-spacing: .6px !important; }
.ta-app #ta-bank-swift { font-family: 'Courier New', monospace !important; letter-spacing: .6px !important; }

/* ── Buttons ────────────────────────────────────────────────────────── */
.ta-app .ta-btn-primary {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 13px 20px !important;
    background: var(--ta-primary) !important;
    color: #000 !important;
    border: none !important;
    border-radius: var(--ta-radius-s) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    margin-top: 16px !important;
    letter-spacing: .3px !important;
    font-family: var(--ta-font) !important;
    text-decoration: none !important;
    transition: transform .15s, box-shadow .15s, background .15s !important;
    box-shadow: none !important;
    outline: none !important;
    -webkit-appearance: none !important;
}
.ta-app .ta-btn-primary:hover:not(:disabled) {
    background: var(--ta-primary-d) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(0,212,255,.28) !important;
    color: #000 !important;
}
.ta-app .ta-btn-primary:disabled { opacity: .4 !important; cursor: not-allowed !important; transform: none !important; }

.ta-app .ta-btn-secondary {
    display: inline-flex !important;
    align-items: center !important;
    padding: 9px 16px !important;
    background: transparent !important;
    color: var(--ta-primary) !important;
    border: 1.5px solid var(--ta-primary) !important;
    border-radius: var(--ta-radius-s) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    font-family: var(--ta-font) !important;
    transition: background .15s !important;
    text-decoration: none !important;
}
.ta-app .ta-btn-secondary:hover { background: var(--ta-primary-l) !important; }

.ta-app .ta-btn-ghost {
    display: inline-flex !important;
    align-items: center !important;
    padding: 9px 16px !important;
    background: transparent !important;
    color: var(--ta-soft) !important;
    border: 1px solid var(--ta-border-s) !important;
    border-radius: var(--ta-radius-s) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    font-family: var(--ta-font) !important;
    transition: background .15s, color .15s !important;
    text-decoration: none !important;
}
.ta-app .ta-btn-ghost:hover { background: var(--ta-card2) !important; color: var(--ta-text) !important; }

.ta-app .ta-btn-icon {
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 14px !important;
    background: var(--ta-card2) !important;
    color: var(--ta-text) !important;
    border: 1px solid var(--ta-border-s) !important;
    border-radius: var(--ta-radius-s) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    font-family: var(--ta-font) !important;
    transition: border-color .15s, color .15s, background .15s !important;
    text-decoration: none !important;
    gap: 5px !important;
}
.ta-app .ta-btn-icon:hover { border-color: var(--ta-primary) !important; color: var(--ta-primary) !important; background: var(--ta-primary-l) !important; }

.ta-app .ta-btn-small {
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 14px !important;
    background: var(--ta-primary) !important;
    color: #000 !important;
    border: none !important;
    border-radius: var(--ta-radius-s) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    font-family: var(--ta-font) !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    transition: background .15s !important;
}
.ta-app .ta-btn-small:hover { background: var(--ta-primary-d) !important; color: #000 !important; }
.ta-app .ta-btn-sm { padding: 6px 11px !important; font-size: 12px !important; }

/* ── Auth switch ────────────────────────────────────────────────────── */
.ta-app .ta-auth-switch {
    text-align: center !important;
    font-size: 13px !important;
    color: var(--ta-muted) !important;
    margin-top: 14px !important;
}
.ta-app .ta-auth-switch a { color: var(--ta-primary) !important; font-weight: 600 !important; }

/* ── Error ──────────────────────────────────────────────────────────── */
.ta-app .ta-error {
    margin: 10px 0 !important;
    padding: 10px 14px !important;
    background: rgba(239,68,68,.1) !important;
    border: 1px solid rgba(239,68,68,.28) !important;
    border-radius: var(--ta-radius-s) !important;
    color: #fca5a5 !important;
    font-size: 13px !important;
}

/* ── Success screens ────────────────────────────────────────────────── */
.ta-app .ta-success-screen { padding: 40px 30px !important; text-align: center !important; }
.ta-app .ta-success-icon, .ta-app .ta-pending-icon {
    width: 60px !important; height: 60px !important;
    border-radius: 50% !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    font-size: 24px !important;
    margin: 0 auto 18px !important;
}
.ta-app .ta-success-icon { background: rgba(34,197,94,.12) !important; border: 2px solid var(--ta-success) !important; color: var(--ta-success) !important; font-weight: 700 !important; }
.ta-app .ta-pending-icon { background: rgba(245,158,11,.1) !important; border: 2px solid var(--ta-warning) !important; font-size: 28px !important; }
.ta-app .ta-success-screen h2 { font-size: 20px !important; font-weight: 800 !important; color: #fff !important; margin-bottom: 10px !important; }
.ta-app .ta-success-screen p { color: var(--ta-soft) !important; font-size: 14px !important; }
.ta-app .ta-hint { font-size: 12px !important; color: var(--ta-muted) !important; margin-top: 8px !important; }
.ta-app .ta-success-msg {
    padding: 10px 14px !important;
    background: rgba(34,197,94,.1) !important;
    border: 1px solid rgba(34,197,94,.22) !important;
    border-radius: var(--ta-radius-s) !important;
    color: #4ade80 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 14px !important;
}

/* ── Loading dots ───────────────────────────────────────────────────── */
.ta-app .ta-loading-wrap { padding: 60px !important; text-align: center !important; }
.ta-app .ta-dots { display: flex !important; gap: 6px !important; justify-content: center !important; }
.ta-app .ta-dots span {
    width: 8px !important; height: 8px !important;
    border-radius: 50% !important;
    background: var(--ta-primary) !important;
    display: inline-block !important;
    animation: taDot 1.2s infinite ease-in-out !important;
}
.ta-app .ta-dots span:nth-child(2) { animation-delay: .2s !important; }
.ta-app .ta-dots span:nth-child(3) { animation-delay: .4s !important; }
@keyframes taDot { 0%,80%,100%{transform:scale(.55);opacity:.2} 40%{transform:scale(1);opacity:1} }

/* ── Dashboard top bar ──────────────────────────────────────────────── */
.ta-app .ta-dash-top {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 22px !important;
    flex-wrap: wrap !important;
}
.ta-app .ta-dash-welcome h2 { font-size: 20px !important; font-weight: 800 !important; color: #fff !important; margin-bottom: 4px !important; }
.ta-app .ta-meta { font-size: 12px !important; color: var(--ta-muted) !important; }
.ta-app .ta-dash-actions { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; align-items: center !important; }

/* ── Stats strip ────────────────────────────────────────────────────── */
.ta-app .ta-stats-strip {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
    gap: 10px !important;
    margin-bottom: 22px !important;
}
.ta-app .ta-stat-chip {
    background: var(--ta-card) !important;
    border: 1px solid var(--ta-border) !important;
    border-radius: var(--ta-radius) !important;
    padding: 16px 12px !important;
    text-align: center !important;
}
.ta-app .ta-chip-accent  { border-color: rgba(0,212,255,.22) !important; background: var(--ta-primary-l) !important; }
.ta-app .ta-chip-pending { border-color: rgba(245,158,11,.22) !important; background: rgba(245,158,11,.07) !important; }
.ta-app .ta-stat-chip-val { font-size: 19px !important; font-weight: 800 !important; color: #fff !important; }
.ta-app .ta-chip-accent  .ta-stat-chip-val { color: var(--ta-primary) !important; }
.ta-app .ta-chip-pending .ta-stat-chip-val { color: var(--ta-warning) !important; }
.ta-app .ta-stat-chip-label {
    font-size: 10px !important;
    color: var(--ta-muted) !important;
    margin-top: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: .45px !important;
    font-weight: 700 !important;
}

/* ── Tabs ───────────────────────────────────────────────────────────── */
.ta-app .ta-tabs {
    display: flex !important;
    border-bottom: 1px solid var(--ta-border) !important;
    margin-bottom: 18px !important;
    gap: 0 !important;
}
.ta-app .ta-tab {
    padding: 10px 16px !important;
    background: none !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -1px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--ta-muted) !important;
    cursor: pointer !important;
    font-family: var(--ta-font) !important;
    transition: color .15s !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
}
.ta-app .ta-tab:hover { color: var(--ta-text) !important; }
.ta-app .ta-tab-active { color: var(--ta-primary) !important; border-bottom-color: var(--ta-primary) !important; }

/* ── Table ──────────────────────────────────────────────────────────── */
.ta-app .ta-table-wrap {
    overflow-x: auto !important;
    border: 1px solid var(--ta-border) !important;
    border-radius: var(--ta-radius-s) !important;
}
.ta-app .ta-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 13px !important;
    background: transparent !important;
}
.ta-app .ta-table th {
    text-align: left !important;
    padding: 10px 14px !important;
    background: var(--ta-card2) !important;
    border-bottom: 1px solid var(--ta-border) !important;
    font-weight: 700 !important;
    color: var(--ta-muted) !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    white-space: nowrap !important;
}
.ta-app .ta-table td {
    padding: 12px 14px !important;
    border-bottom: 1px solid var(--ta-border) !important;
    vertical-align: middle !important;
    color: var(--ta-text) !important;
    background: transparent !important;
}
.ta-app .ta-table tr:last-child td { border-bottom: none !important; }
.ta-app .ta-table tbody tr:hover td { background: var(--ta-card2) !important; }
.ta-app .ta-empty { text-align: center !important; padding: 32px !important; color: var(--ta-muted) !important; }

/* ── Badges ─────────────────────────────────────────────────────────── */
.ta-app .ta-badge {
    display: inline-block !important;
    padding: 3px 9px !important;
    border-radius: 20px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .3px !important;
    line-height: 1.4 !important;
}
.ta-app .ta-badge-ok   { background: rgba(34,197,94,.14) !important; color: #4ade80 !important; border: 1px solid rgba(34,197,94,.2) !important; }
.ta-app .ta-badge-warn { background: rgba(245,158,11,.14) !important; color: #fbbf24 !important; border: 1px solid rgba(245,158,11,.2) !important; }

/* ── QR Modal ───────────────────────────────────────────────────────── */
.ta-app .ta-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
}
.ta-app .ta-modal-bg {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0,0,0,.78) !important;
    backdrop-filter: blur(8px) !important;
}
.ta-app .ta-modal-box {
    position: relative !important;
    background: var(--ta-card) !important;
    border: 1px solid var(--ta-border-s) !important;
    border-radius: var(--ta-radius) !important;
    padding: 28px !important;
    max-width: 360px !important;
    width: 100% !important;
    text-align: center !important;
    box-shadow: var(--ta-shadow-lg) !important;
    z-index: 1 !important;
    animation: taUp .2s ease !important;
}
.ta-app .ta-modal-box h3 { font-size: 18px !important; font-weight: 800 !important; color: #fff !important; margin-bottom: 6px !important; }
.ta-app .ta-modal-box > p { color: var(--ta-soft) !important; font-size: 13px !important; margin-bottom: 14px !important; }
.ta-app .ta-modal-close {
    position: absolute !important;
    top: 12px !important; right: 12px !important;
    width: 28px !important; height: 28px !important;
    background: var(--ta-card2) !important;
    border: 1px solid var(--ta-border-s) !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    color: var(--ta-muted) !important;
    font-size: 14px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
}
.ta-app .ta-modal-close:hover { color: var(--ta-text) !important; }
.ta-app .ta-qr-img-wrap {
    background: #fff !important;
    border-radius: 8px !important;
    display: inline-block !important;
    padding: 14px !important;
    margin-bottom: 12px !important;
}
.ta-app .ta-qr-img-wrap img { display: block !important; max-width: 180px !important; }
.ta-app .ta-qr-url-text { font-size: 11px !important; color: var(--ta-muted) !important; word-break: break-all !important; margin-bottom: 14px !important; }
.ta-app .ta-qr-actions { display: flex !important; gap: 8px !important; justify-content: center !important; flex-wrap: wrap !important; }

/* ── Share tools ────────────────────────────────────────────────────── */
.ta-app .ta-share-grid { display: grid !important; gap: 12px !important; }
.ta-app .ta-share-card {
    background: var(--ta-card) !important;
    border: 1px solid var(--ta-border) !important;
    border-radius: var(--ta-radius) !important;
    padding: 18px !important;
}
.ta-app .ta-share-card h4 { font-size: 15px !important; font-weight: 700 !important; color: #fff !important; margin-bottom: 5px !important; }
.ta-app .ta-share-card > p { font-size: 13px !important; color: var(--ta-soft) !important; margin-bottom: 12px !important; }
.ta-app .ta-link-row { display: flex !important; gap: 8px !important; align-items: center !important; }
.ta-app .ta-link-row input {
    flex: 1 !important;
    min-width: 0 !important;
    padding: 9px 11px !important;
    background: var(--ta-card2) !important;
    color: var(--ta-text) !important;
    border: 1.5px solid var(--ta-border-s) !important;
    border-radius: var(--ta-radius-s) !important;
    font-size: 12px !important;
    outline: none !important;
}

/* ── Bank details ───────────────────────────────────────────────────── */
.ta-app .ta-bank-intro {
    font-size: 13px !important;
    color: var(--ta-soft) !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    padding: 14px 16px !important;
    background: var(--ta-card) !important;
    border: 1px solid var(--ta-border) !important;
    border-radius: var(--ta-radius-s) !important;
}

/* ── Payout notice ──────────────────────────────────────────────────── */
.ta-app .ta-payout-notice {
    display: flex !important;
    gap: 10px !important;
    align-items: flex-start !important;
    padding: 12px 16px !important;
    background: rgba(245,158,11,.09) !important;
    border: 1px solid rgba(245,158,11,.22) !important;
    border-radius: var(--ta-radius-s) !important;
    font-size: 13px !important;
    color: var(--ta-text) !important;
    margin-bottom: 16px !important;
    line-height: 1.5 !important;
}
.ta-app .ta-payout-notice strong { color: var(--ta-warning) !important; }
.ta-app .ta-payout-notice-icon { font-size: 18px !important; flex-shrink: 0 !important; margin-top: 1px !important; }

/* ── Credentials box (shown after signup instead of email) ──────────── */
.ta-app .ta-creds-box {
    margin-top: 16px !important;
    padding: 14px 18px !important;
    background: rgba(0,212,255,.07) !important;
    border: 1px solid rgba(0,212,255,.25) !important;
    border-radius: var(--ta-radius-s) !important;
    text-align: left !important;
}
.ta-app .ta-creds-title {
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    color: var(--ta-primary) !important;
    margin: 0 0 10px !important;
}
.ta-app .ta-creds-row {
    font-size: 14px !important;
    margin: 6px 0 !important;
    color: var(--ta-text) !important;
}
.ta-app .ta-creds-row code {
    background: rgba(255,255,255,.08) !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
    font-family: monospace !important;
    font-size: 14px !important;
    letter-spacing: .04em !important;
    user-select: all !important;
}

/* ── Animation ──────────────────────────────────────────────────────── */
@keyframes taUp { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }

/* ── Responsive ─────────────────────────────────────────────────────── */
@media (max-width: 500px) {
    .ta-app .ta-stats-strip { grid-template-columns: 1fr 1fr !important; }
    .ta-app .ta-dash-top { flex-direction: column !important; }
}
