/**
 * Red / green / orange outline accents — shared across member pages, home, auth.
 */

:root {
    --rx-ol-green: #22c55e;
    --rx-ol-red: #ef4444;
    --rx-ol-orange: #f97316;
    --rx-ol-green-mid: color-mix(in srgb, var(--rx-ol-green) 72%, transparent);
    --rx-ol-red-mid: color-mix(in srgb, var(--rx-ol-red) 72%, transparent);
    --rx-ol-orange-mid: color-mix(in srgb, var(--rx-ol-orange) 72%, transparent);
}

/* ── Plans (shop + homepage) ── */
.lp-shop .nv-ticket,
body.nova-app .nv-ticket,
body.nv .nv-ticket,
body.nv form.nv-ticket {
    border: 2px solid var(--rx-ol-green) !important;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--rx-ol-green) 18%, transparent),
        0 10px 32px rgba(0, 0, 0, 0.22) !important;
}

.lp-shop .nv-ticket.is-hot,
body.nova-app .nv-ticket.is-hot,
body.nv .nv-ticket.is-hot {
    border-color: var(--rx-ol-orange) !important;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--rx-ol-orange) 22%, transparent),
        0 12px 36px rgba(0, 0, 0, 0.28) !important;
}

body.nv .nv-ticket__meta > div:nth-child(1),
.lp-shop .nv-ticket__meta > div:nth-child(1),
body.nova-app .nv-ticket__meta > div:nth-child(1) {
    border: 1px solid var(--hm-line, rgba(255, 255, 255, 0.12)) !important;
    border-left: 3px solid var(--rx-ol-green) !important;
}

body.nv .nv-ticket__meta > div:nth-child(2),
.lp-shop .nv-ticket__meta > div:nth-child(2),
body.nova-app .nv-ticket__meta > div:nth-child(2) {
    border: 1px solid var(--hm-line, rgba(255, 255, 255, 0.12)) !important;
    border-left: 3px solid var(--rx-ol-orange) !important;
}

body.nv .nv-ticket__meta > div:nth-child(3),
.lp-shop .nv-ticket__meta > div:nth-child(3),
body.nova-app .nv-ticket__meta > div:nth-child(3) {
    border: 1px solid var(--hm-line, rgba(255, 255, 255, 0.12)) !important;
    border-left: 3px solid var(--rx-ol-red) !important;
}

/* ── Deposit checkout ── */
.ot-deposit-page .dp-amount {
    border: 2px solid var(--rx-ol-green);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--rx-ol-green) 25%, transparent),
        0 14px 32px rgba(0, 0, 0, 0.22);
}

.ot-deposit-page .dp-head__eyebrow {
    border: 2px solid var(--rx-ol-green);
    color: #166534;
    background: #ecfdf5;
}

.ot-deposit-page .dp-card {
    border: 2px solid var(--rx-ol-green-mid);
}

.ot-deposit-page .dp-gate.is-active {
    border-color: var(--rx-ol-green);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--rx-ol-green) 30%, transparent);
}

.ot-deposit-page .dp-submit {
    outline: 2px solid color-mix(in srgb, var(--rx-ol-green) 45%, transparent);
    outline-offset: 2px;
}

/* ── Withdraw checkout ── */
.ot-withdraw-page .dp-amount {
    border: 2px solid var(--rx-ol-red);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--rx-ol-red) 25%, transparent),
        0 14px 32px rgba(0, 0, 0, 0.22);
}

.ot-withdraw-page .dp-head__eyebrow {
    border: 2px solid var(--rx-ol-red);
    color: #991b1b;
    background: #fef2f2;
}

.ot-withdraw-page .dp-card {
    border: 2px solid var(--rx-ol-red-mid);
}

.ot-withdraw-page .dp-gate.is-active {
    border-color: var(--rx-ol-red);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--rx-ol-red) 30%, transparent);
}

.ot-withdraw-page .wx-amt {
    border: 2px solid var(--rx-ol-red-mid);
}

.ot-withdraw-page .wx-amt:focus-within {
    border-color: var(--rx-ol-red);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--rx-ol-red) 25%, transparent);
}

.ot-withdraw-page .wx-quick button {
    border: 2px solid var(--rx-ol-red-mid);
}

.ot-withdraw-page .wx-quick button.is-max {
    border-color: var(--rx-ol-red);
    background: color-mix(in srgb, var(--rx-ol-red) 12%, transparent);
}

.ot-withdraw-page .dp-submit {
    outline: 2px solid color-mix(in srgb, var(--rx-ol-red) 45%, transparent);
    outline-offset: 2px;
}

/* ── Earning ── */
.ex-intro {
    border: 2px solid var(--rx-ol-orange) !important;
    color: #c2410c !important;
    background: #fff7ed !important;
}

.ex-card {
    border: 2px solid var(--rx-ol-orange-mid) !important;
}

.ex-card.is-ready {
    border-color: var(--rx-ol-green) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--rx-ol-green) 28%, transparent),
        0 14px 32px rgba(0, 0, 0, 0.18) !important;
}

.ex-card.is-cool {
    border-color: var(--rx-ol-orange) !important;
}

/* ── Team ── */
.tm-hero__top > div:first-child {
    padding: 0.55rem 0.65rem;
    border-radius: 0.85rem;
    border: 2px solid var(--rx-ol-green-mid);
    background: rgba(255, 255, 255, 0.08);
}

.tm-hero__badge {
    border: 2px solid var(--rx-ol-orange-mid) !important;
}

.tm-hstat:nth-child(1),
.tm-hstat:nth-child(2) {
    border: 2px solid var(--rx-ol-green-mid) !important;
}

.tm-hstat:nth-child(3) {
    border: 2px solid var(--rx-ol-orange-mid) !important;
}

.tm-invite {
    border: 2px solid var(--rx-ol-green) !important;
}

.tm-share--wa {
    border: 2px solid var(--rx-ol-green) !important;
}

.tm-share--sys {
    border: 2px solid var(--rx-ol-orange) !important;
}

.tm-sum__i:nth-child(1),
.tm-sum__i:nth-child(3) {
    border: 2px solid var(--rx-ol-green-mid) !important;
}

.tm-sum__i:nth-child(2) {
    border: 2px solid var(--rx-ol-orange-mid) !important;
}

.tm-member {
    border: 2px solid var(--rx-ol-green-mid) !important;
}

.tm-member.is-active {
    border-color: var(--rx-ol-green) !important;
}

.tm-tab.is-active {
    outline: 2px solid var(--rx-ol-orange);
    outline-offset: 1px;
}

/* ── Homepage ── */
body.nv-home .nv-bar {
    border: 2px solid var(--rx-ol-green-mid);
}

body.nv-home .nv-strip > div:nth-child(4n+1),
body.nv-home .nv-strip > div:nth-child(4n+2) {
    border: 2px solid var(--rx-ol-green) !important;
}

body.nv-home .nv-strip > div:nth-child(4n+3) {
    border: 2px solid var(--rx-ol-orange) !important;
}

body.nv-home .nv-strip > div:nth-child(4n) {
    border: 2px solid var(--rx-ol-red) !important;
}

body.nv-home .nv-actions .nv-go:first-child {
    border: 2px solid var(--rx-ol-green);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--rx-ol-green) 25%, transparent),
        0 6px 20px color-mix(in srgb, var(--brand-1) 38%, transparent);
}

body.nv-home .nv-actions .nv-go--ghost {
    border: 2px solid var(--rx-ol-orange) !important;
    color: #fdba74;
}

body.nv-home .nv-flow li {
    border: 2px solid var(--rx-ol-green-mid) !important;
    border-left: 4px solid var(--rx-ol-green) !important;
}

body.nv-home .nv-flow li:nth-child(2) {
    border-color: var(--rx-ol-orange-mid) !important;
    border-left-color: var(--rx-ol-orange) !important;
}

body.nv-home .nv-flow li:nth-child(3) {
    border-color: var(--rx-ol-red-mid) !important;
    border-left-color: var(--rx-ol-red) !important;
}

body.nv-home .nv-list li {
    border: 2px solid var(--rx-ol-green-mid) !important;
}

body.nv-home .nv-list li:nth-child(even) {
    border-color: var(--rx-ol-orange-mid) !important;
}

body.nv-home .nv-stamp {
    border: 2px solid var(--rx-ol-orange-mid);
}

body.nv-home .nv-end a {
    border: 2px solid var(--rx-ol-green);
    border-radius: 999px;
    padding: 8px 16px;
}

/* ── Login / Register ── */
body.nv2-auth .nv2-card {
    border: 2px solid var(--rx-ol-green-mid);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--rx-ol-green) 15%, transparent),
        0 20px 50px rgba(0, 0, 0, 0.35);
}

body.nv2-auth .nv-auth-tabs {
    border: 2px solid var(--rx-ol-orange-mid);
}

body.nv2-auth .nv-auth-tab.is-active[data-tab="login"] {
    outline: 2px solid var(--rx-ol-green);
    outline-offset: 1px;
}

body.nv2-auth .nv-auth-tab.is-active[data-tab="register"] {
    outline: 2px solid var(--rx-ol-orange);
    outline-offset: 1px;
}

body.nv2-auth #panel-login .nv-auth-go {
    outline: 2px solid color-mix(in srgb, var(--rx-ol-green) 50%, transparent);
    outline-offset: 2px;
}

body.nv2-auth #panel-register .nv-auth-go {
    outline: 2px solid color-mix(in srgb, var(--rx-ol-orange) 50%, transparent);
    outline-offset: 2px;
}

body.nv2-auth .nv2-logo {
    border: 2px solid var(--rx-ol-green);
}

body.nv2-auth .nv-auth-msg.is-ok {
    border: 2px solid var(--rx-ol-green) !important;
}

body.nv2-auth .nv-auth-msg.is-error {
    border: 2px solid var(--rx-ol-red) !important;
}

body.nv2-auth .nv-field__row:focus-within {
    outline: 2px solid var(--rx-ol-green-mid);
    outline-offset: 1px;
    border-radius: 14px;
}

body.nv2-auth #panel-register .nv-field__row:focus-within {
    outline-color: var(--rx-ol-orange-mid);
}
