/* ==============================================================================
   Ahapayments shared brand theme (Partner/Agent panel)
   Single professional palette, reused identically in the Admin panel, layered
   on top of the Salesforce Lightning Design System (SLDS) CDN styles.
   ============================================================================== */
:root {
    /* Brand Colors */
    --slds-brand-primary: #10274B;
    --slds-brand-primary-light: #1F3E73;
    --slds-brand-primary-dark: #081528;
    --slds-brand-accent: #C17F26;
    --slds-brand-accent-light: #D99B45;
    --slds-brand-teal: #0E7C86;

    /* Semantic / state colors (also drive switch & badge ON/OFF visibility) */
    --slds-success: #15803D;
    --slds-success-bg: #DCFCE7;
    --slds-success-text: #14532D;
    --slds-danger: #DC2626;
    --slds-danger-bg: #FEE2E2;
    --slds-danger-text: #7F1D1D;
    --slds-warning: #D97706;
    --slds-warning-bg: #FEF3C7;
    --slds-warning-text: #78350F;
    --slds-off-track: #94A3B8;
    --slds-off-track-bg: #E2E8F0;

    /* Neutral Colors */
    --slds-text: #0F172A;
    --slds-text-secondary: #475569;
    --slds-text-muted: #94A3B8;
    --slds-background: #F3F6FA;
    --slds-surface: #FFFFFF;
    --slds-border: #DCE3EC;
}

/* ──────────────────────────────────────────────────────────────────────────
   Buttons -- brand / neutral / destructive, with explicit hover/focus/active/
   disabled states so every interactive control stays clearly readable.
   ────────────────────────────────────────────────────────────────────────── */
.slds-button_brand {
    background-color: var(--slds-brand-primary) !important;
    border-color: var(--slds-brand-primary) !important;
    color: #FFFFFF !important;
    font-weight: 600;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.slds-button_brand:hover,
.slds-button_brand:focus {
    background-color: var(--slds-brand-primary-light) !important;
    border-color: var(--slds-brand-primary-light) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(16, 39, 75, 0.25);
}

.slds-button_brand:active {
    background-color: var(--slds-brand-primary-dark) !important;
    border-color: var(--slds-brand-primary-dark) !important;
    transform: translateY(0);
}

.slds-button_brand:disabled,
.slds-button_brand[disabled] {
    background-color: var(--slds-off-track) !important;
    border-color: var(--slds-off-track) !important;
    color: #F1F5F9 !important;
    opacity: 0.85 !important;
    box-shadow: none !important;
    transform: none !important;
}

.slds-button_neutral {
    color: var(--slds-text) !important;
    border-color: var(--slds-border) !important;
    background-color: var(--slds-surface) !important;
    font-weight: 600;
}

.slds-button_neutral:hover,
.slds-button_neutral:focus {
    border-color: var(--slds-brand-primary) !important;
    color: var(--slds-brand-primary) !important;
    background-color: #F8FAFC !important;
}

.slds-button_destructive,
.slds-button_text-destructive {
    background-color: var(--slds-danger) !important;
    border-color: var(--slds-danger) !important;
    color: #FFFFFF !important;
    font-weight: 600;
}

.slds-button_destructive:hover,
.slds-button_destructive:focus {
    background-color: #B91C1C !important;
    border-color: #B91C1C !important;
}

.slds-button_success {
    background-color: var(--slds-success) !important;
    border-color: var(--slds-success) !important;
    color: #FFFFFF !important;
    font-weight: 600;
}

.slds-button_success:hover,
.slds-button_success:focus {
    background-color: #166534 !important;
    border-color: #166534 !important;
}

/* ──────────────────────────────────────────────────────────────────────────
   Toggle switches -- make ON vs OFF unmistakable at a glance: a muted grey
   track + grey knob when off, a solid brand-success green track + white knob
   when on. :has() gives a reliable modern match; the sibling selectors keep
   older engines covered.
   ────────────────────────────────────────────────────────────────────────── */
.slds-checkbox_toggle .slds-checkbox_faux,
.slds-checkbox_toggle .slds-checkbox_on,
.slds-checkbox_toggle .slds-checkbox_off {
    background-color: var(--slds-off-track-bg) !important;
    border: 1px solid var(--slds-off-track) !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
}

.slds-checkbox_toggle .slds-checkbox_faux:after {
    background-color: #FFFFFF !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.35) !important;
}

.slds-checkbox_toggle input:checked ~ .slds-checkbox_faux_container .slds-checkbox_faux,
.slds-checkbox_toggle input:checked + .slds-checkbox_faux_container .slds-checkbox_faux,
.slds-checkbox_toggle:has(input:checked) .slds-checkbox_faux {
    background-color: var(--slds-success) !important;
    border-color: var(--slds-success) !important;
}

.slds-checkbox_toggle input:focus ~ .slds-checkbox_faux_container .slds-checkbox_faux,
.slds-checkbox_toggle:has(input:focus) .slds-checkbox_faux {
    box-shadow: 0 0 0 3px rgba(16, 39, 75, 0.18) !important;
}

.slds-checkbox_toggle input:disabled ~ .slds-checkbox_faux_container .slds-checkbox_faux,
.slds-checkbox_toggle:has(input:disabled) .slds-checkbox_faux {
    opacity: 0.55 !important;
    cursor: not-allowed;
}

/* Plain (non-toggle) checkboxes: same brand-primary check state for consistency */
.slds-checkbox input:checked ~ .slds-checkbox_faux,
.slds-checkbox:has(input:checked) .slds-checkbox_faux {
    background-color: var(--slds-brand-primary) !important;
    border-color: var(--slds-brand-primary) !important;
}

/* ──────────────────────────────────────────────────────────────────────────
   Inputs, nav, headers, cards
   ────────────────────────────────────────────────────────────────────────── */
.slds-input:focus,
.slds-select:focus,
.slds-textarea:focus {
    border-color: var(--slds-brand-primary) !important;
    box-shadow: 0 0 0 3px rgba(16, 39, 75, 0.12) !important;
}

.slds-context-bar {
    background-color: var(--slds-brand-primary);
}

.slds-nav-vertical__item.slds-is-active::before {
    background-color: var(--slds-brand-accent);
}

.slds-card__header {
    border-bottom: 1px solid var(--slds-border);
    padding: 0.75rem 1rem;
}

.slds-page-header {
    background: var(--slds-surface);
    border-bottom: 1px solid var(--slds-border);
    padding: 1rem 1.5rem;
}

/* Utility Classes */
.u-flex-center { display: flex; align-items: center; justify-content: center; }
.u-text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.u-m-t-none { margin-top: 0 !important; }
.u-p-a-none { padding: 0 !important; }
.u-text-brand { color: var(--slds-brand-primary) !important; }
.u-bg-brand { background-color: var(--slds-brand-primary) !important; }
.u-text-accent { color: var(--slds-brand-accent) !important; }

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

:focus {
    outline: 2px solid var(--slds-brand-accent) !important;
    outline-offset: 2px;
}

.slds-text-body_small {
    color: var(--slds-text-secondary);
}

.slds-nav-vertical__action {
    transition: all 0.2s ease;
}
