/**
 * StopWallet BSoft Profile Module
 * Premium Gradient + Glassmorphism Design System.
 *
 * @package StopWallet
 * @subpackage Profile
 * @since 3.3.0
 */

.sw-profile-wrapper {
    --sw-primary: #2563eb;
    --sw-primary-2: #4f46e5;
    --sw-accent: #06b6d4;
    --sw-success: #16a34a;
    --sw-warning: #f59e0b;
    --sw-danger: #dc2626;
    --sw-dark: #0f172a;
    --sw-text: #334155;
    --sw-muted: #64748b;
    --sw-border: rgba(148, 163, 184, .22);
    --sw-surface: rgba(255, 255, 255, .82);
    --sw-surface-solid: #fff;
    --sw-bg: #f4f7fb;
    --sw-radius: 22px;
    --sw-radius-sm: 14px;
    --sw-shadow: 0 20px 60px rgba(15, 23, 42, .09);
    --sw-shadow-soft: 0 10px 30px rgba(15, 23, 42, .06);
    --sw-transition: 180ms ease;
    width: 100%;
    box-sizing: border-box;
    padding: clamp(22px, 4vw, 48px) 16px 60px;
    background:
        radial-gradient(circle at 8% 5%, rgba(37,99,235,.11), transparent 28%),
        radial-gradient(circle at 92% 12%, rgba(6,182,212,.10), transparent 24%),
        linear-gradient(180deg, #f8fbff 0%, var(--sw-bg) 100%);
    color: var(--sw-text);
}

.sw-profile-wrapper *,
.sw-profile-wrapper *::before,
.sw-profile-wrapper *::after { box-sizing: border-box; }

.sw-profile-wrapper button,
.sw-profile-wrapper input,
.sw-profile-wrapper select,
.sw-profile-wrapper textarea { font: inherit; }

.sw-profile-container { width: min(1180px, 100%); margin: 0 auto; }

/* Header */
.sw-profile-header {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
    gap: 30px;
    overflow: hidden;
    margin-bottom: 22px;
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.93), rgba(244,248,255,.82)),
        linear-gradient(135deg, #eff6ff, #ecfeff);
    box-shadow: 0 25px 70px rgba(30,64,175,.12);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.sw-profile-header::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(120deg, rgba(37,99,235,.08), transparent 42%, rgba(6,182,212,.08));
}

.sw-profile-header__glow {
    position: absolute;
    width: 260px;
    height: 260px;
    right: -100px;
    top: -130px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(37,99,235,.22), rgba(6,182,212,.06));
    filter: blur(8px);
}

.sw-profile-header__main,
.sw-profile-header__progress { position: relative; z-index: 1; }
.sw-profile-header__main { display: flex; align-items: center; gap: 25px; min-width: 0; }

.sw-profile-avatar-wrap { position: relative; flex: 0 0 auto; }
.sw-profile-avatar-ring {
    display: grid;
    place-items: center;
    width: 132px;
    height: 132px;
    padding: 5px;
    border-radius: 50%;
    background: linear-gradient(135deg, #2563eb, #06b6d4, #4f46e5);
    box-shadow: 0 12px 35px rgba(37,99,235,.22);
}
.sw-profile-avatar {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid rgba(255,255,255,.95);
    background: #eef2ff;
}
.sw-profile-online-dot {
    position: absolute;
    right: 8px;
    bottom: 9px;
    width: 18px;
    height: 18px;
    border: 4px solid #fff;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 3px 12px rgba(34,197,94,.35);
}
.sw-profile-header__content { min-width: 0; }
.sw-profile-eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    color: #2563eb;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
}
.sw-profile-eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: #06b6d4; box-shadow: 0 0 0 5px rgba(6,182,212,.10); }
.sw-profile-name { margin: 0; color: var(--sw-dark); font-size: clamp(27px, 3vw, 40px); line-height: 1.1; font-weight: 800; letter-spacing: -.03em; }
.sw-profile-email { display: flex; align-items: center; gap: 7px; margin: 9px 0 13px; color: var(--sw-muted); font-size: 14px; overflow-wrap: anywhere; }
.sw-profile-inline-icon { color: #2563eb; }
.sw-profile-meta-row { display: flex; flex-wrap: wrap; gap: 8px; }
.sw-profile-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 30px; padding: 5px 11px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.sw-profile-chip--level { color: #3730a3; background: rgba(99,102,241,.10); }
.sw-profile-chip--status { color: #166534; background: rgba(34,197,94,.10); }
.sw-profile-chip--muted { color: #475569; background: rgba(100,116,139,.08); }
.sw-chip-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; }
.sw-profile-verification-line { display: flex; align-items: center; gap: 8px; margin-top: 15px; color: #475569; font-size: 13px; font-weight: 600; }
.sw-profile-verify-icon { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: #fff; background: #16a34a; font-size: 12px; font-weight: 800; }
.sw-profile-verification-line .sw-profile-verify-icon:not(:empty) { background: #16a34a; }

.sw-profile-header__progress {
    align-self: center;
    padding: 21px;
    border: 1px solid rgba(255,255,255,.85);
    border-radius: 20px;
    background: rgba(255,255,255,.68);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 12px 35px rgba(15,23,42,.05);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.sw-progress-topline, .sw-progress-footline { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sw-progress-topline { margin-bottom: 12px; color: #475569; font-size: 13px; font-weight: 700; }
.sw-progress-topline strong { color: #2563eb; font-size: 25px; line-height: 1; }
.sw-profile-progress-bar { height: 10px; overflow: hidden; border-radius: 999px; background: #e2e8f0; box-shadow: inset 0 1px 3px rgba(15,23,42,.08); }
.sw-profile-progress-fill { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2563eb, #06b6d4, #16a34a); box-shadow: 0 0 16px rgba(37,99,235,.22); transition: width .7s ease; }
.sw-progress-footline { margin-top: 10px; color: #94a3b8; font-size: 11px; line-height: 1.45; }
.sw-progress-status { color: #16a34a; font-weight: 800; white-space: nowrap; }

/* Cards */
.sw-card {
    position: relative;
    margin-bottom: 22px;
    overflow: hidden;
    border: 1px solid var(--sw-border);
    border-radius: var(--sw-radius);
    background: var(--sw-surface);
    box-shadow: var(--sw-shadow-soft);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: transform var(--sw-transition), box-shadow var(--sw-transition), border-color var(--sw-transition);
}
.sw-card:hover { transform: translateY(-2px); border-color: rgba(37,99,235,.18); box-shadow: var(--sw-shadow); }
.sw-card-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 23px; border-bottom: 1px solid rgba(148,163,184,.14); background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(248,250,252,.54)); }
.sw-card-header--accent { border-bottom-color: transparent; }
.sw-card-heading { display: flex; align-items: center; gap: 13px; min-width: 0; }
.sw-card-icon { display: grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 13px; color: #fff; background: linear-gradient(135deg, #2563eb, #4f46e5); box-shadow: 0 9px 20px rgba(37,99,235,.20); font-size: 18px; font-weight: 800; }
.sw-card-icon--security { background: linear-gradient(135deg, #0f766e, #06b6d4); box-shadow: 0 9px 20px rgba(6,182,212,.18); }
.sw-card-icon--referral { background: linear-gradient(135deg, #7c3aed, #ec4899); box-shadow: 0 9px 20px rgba(124,58,237,.18); }
.sw-card-kicker { display: block; margin-bottom: 3px; color: #94a3b8; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.sw-card-title { margin: 0; color: var(--sw-dark); font-size: 19px; line-height: 1.25; font-weight: 800; letter-spacing: -.02em; }
.sw-card-description { margin: 5px 0 0; color: var(--sw-muted); font-size: 13px; line-height: 1.5; }
.sw-card-header-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 45px; min-height: 28px; padding: 5px 10px; border-radius: 999px; color: #fff; background: linear-gradient(135deg, #2563eb, #06b6d4); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.sw-card-header-badge--soft { color: #6d28d9; background: rgba(139,92,246,.10); }
.sw-card-body { padding: 22px; }

/* Member */
.sw-member-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 13px; }
.sw-member-item { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 92px; padding: 15px; border: 1px solid rgba(148,163,184,.16); border-radius: 16px; background: linear-gradient(145deg, rgba(255,255,255,.85), rgba(248,250,252,.68)); }
.sw-member-icon { display: grid; place-items: center; flex: 0 0 auto; width: 39px; height: 39px; border-radius: 12px; color: #2563eb; background: rgba(37,99,235,.09); font-weight: 800; }
.sw-member-icon--success { color: #16a34a; background: rgba(22,163,74,.09); }
.sw-member-icon--premium { color: #7c3aed; background: rgba(124,58,237,.09); }
.sw-member-label, .sw-referral-label, .sw-verification-label { display: block; margin-bottom: 5px; color: #94a3b8; font-size: 11px; font-weight: 700; }
.sw-member-value, .sw-verification-value { color: #0f172a; font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
.sw-member-status { display: inline-flex; align-items: center; gap: 6px; color: #166534; font-size: 13px; font-weight: 800; }
.sw-member-status::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.sw-status-pending, .sw-status-warning { color: #b45309; }
.sw-status-inactive, .sw-status-disabled { color: #dc2626; }

/* Verification */
.sw-verification-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.sw-verification-item { padding: 15px; border: 1px solid rgba(148,163,184,.16); border-radius: 15px; background: rgba(248,250,252,.65); }
.sw-status-pill { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.sw-status-pill span { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.sw-status-pill.is-success { color: #15803d; background: rgba(22,163,74,.09); }
.sw-status-pill.is-pending { color: #b45309; background: rgba(245,158,11,.10); }
.sw-verification-actions { margin-top: 15px; }

/* Referral */
.sw-referral-code-box { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px; border: 1px solid rgba(124,58,237,.13); border-radius: 17px; background: linear-gradient(135deg, rgba(124,58,237,.06), rgba(236,72,153,.04)); }
.sw-referral-code { display: block; color: #5b21b6; font-size: 22px; letter-spacing: .08em; }
.sw-icon-button { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(124,58,237,.16); border-radius: 12px; color: #6d28d9; background: #fff; cursor: pointer; transition: var(--sw-transition); }
.sw-icon-button:hover { color: #fff; border-color: transparent; background: #7c3aed; transform: translateY(-1px); }
.sw-referral-link-box { margin-top: 14px; }
.sw-referral-link-row { display: flex; gap: 9px; }
.sw-referral-link { min-width: 0; flex: 1; height: 44px; padding: 0 13px; border: 1px solid rgba(148,163,184,.23); border-radius: 12px; color: #475569; background: rgba(255,255,255,.78); outline: none; }
.sw-referral-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 15px; }
.sw-referral-stat { padding: 13px; border-radius: 14px; background: #f8fafc; }
.sw-referral-stat span { display: block; color: #94a3b8; font-size: 10px; font-weight: 700; }
.sw-referral-stat strong { display: block; margin-top: 4px; color: #0f172a; font-size: 20px; }
.sw-referral-stat--reward strong { color: #7c3aed; }

/* Forms */
.sw-form-section-title { display: flex; align-items: center; gap: 10px; margin: 0 0 15px; color: #475569; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.sw-form-section-title--space { margin-top: 23px; }
.sw-section-line { width: 22px; height: 2px; border-radius: 99px; background: linear-gradient(90deg,#2563eb,#06b6d4); }
.sw-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 17px; }
.sw-form-group { min-width: 0; margin-bottom: 17px; }
.sw-form-group label { display: flex; align-items: center; gap: 7px; margin-bottom: 8px; color: #334155; font-size: 12px; font-weight: 800; }
.sw-label-icon { color: #2563eb; font-size: 12px; }
.sw-input-shell, .sw-password-wrapper { position: relative; }
.sw-form-control { display: block; width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid rgba(148,163,184,.28); border-radius: 13px; outline: none; color: #0f172a; background: rgba(255,255,255,.84); box-shadow: inset 0 1px 2px rgba(15,23,42,.025); transition: border-color var(--sw-transition), box-shadow var(--sw-transition), background var(--sw-transition), transform var(--sw-transition); }
.sw-form-control:hover { border-color: rgba(37,99,235,.25); }
.sw-form-control:focus { border-color: #2563eb; background: #fff; box-shadow: 0 0 0 4px rgba(37,99,235,.09), 0 8px 22px rgba(37,99,235,.06); }
textarea.sw-form-control { min-height: 112px; resize: vertical; line-height: 1.6; }
select.sw-form-control { appearance: none; padding-right: 42px; cursor: pointer; }
.sw-select-shell::after { content: '⌄'; position: absolute; top: 50%; right: 14px; transform: translateY(-53%); pointer-events: none; color: #64748b; font-weight: 800; }
.sw-form-help { display: block; margin-top: 7px; color: #94a3b8; font-size: 11px; line-height: 1.5; }

/* Password */
.sw-password-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 17px; }
.sw-password-wrapper .sw-form-control { padding-right: 53px; }
.sw-password-toggle { position: absolute; top: 50%; right: 7px; z-index: 3; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 10px; color: #64748b; background: transparent; transform: translateY(-50%); cursor: pointer; transition: var(--sw-transition); }
.sw-password-toggle:hover, .sw-password-toggle:focus-visible { color: #2563eb; background: rgba(37,99,235,.08); outline: none; }
.sw-eye-icon { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sw-password-toggle.is-visible .sw-eye-icon { color: #2563eb; }
.sw-strength-head { display: flex; justify-content: space-between; gap: 10px; margin-top: 10px; color: #94a3b8; font-size: 10px; font-weight: 700; }
.sw-strength-label { color: #64748b; }
.sw-password-strength[data-strength="1"] .sw-strength-label { color: #dc2626; }
.sw-password-strength[data-strength="2"] .sw-strength-label { color: #d97706; }
.sw-password-strength[data-strength="3"] .sw-strength-label { color: #2563eb; }
.sw-password-strength[data-strength="4"] .sw-strength-label { color: #16a34a; }
.sw-strength-bar { height: 5px; margin-top: 7px; overflow: hidden; border-radius: 999px; background: #e2e8f0; }
.sw-strength-bar span { display: block; width: 0; height: 100%; border-radius: inherit; background: #cbd5e1; transition: width .3s ease, background .3s ease; }
.sw-password-strength[data-strength="1"] .sw-strength-bar span { width: 25%; background: #ef4444; }
.sw-password-strength[data-strength="2"] .sw-strength-bar span { width: 50%; background: #f59e0b; }
.sw-password-strength[data-strength="3"] .sw-strength-bar span { width: 75%; background: #3b82f6; }
.sw-password-strength[data-strength="4"] .sw-strength-bar span { width: 100%; background: linear-gradient(90deg,#2563eb,#16a34a); }
.sw-password-match { min-height: 18px; margin-top: 7px; color: #64748b; font-size: 11px; font-weight: 700; }
.sw-password-match.is-match { color: #16a34a; }
.sw-password-match.is-error { color: #dc2626; }
.sw-security-badge { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 999px; color: #15803d; background: rgba(22,163,74,.08); font-size: 10px; font-weight: 800; }
.sw-security-badge span { font-size: 8px; }
.sw-security-notice { display: flex; align-items: flex-start; gap: 11px; margin: 2px 0 19px; padding: 13px 14px; border: 1px solid rgba(6,182,212,.13); border-radius: 14px; background: linear-gradient(135deg, rgba(6,182,212,.06), rgba(37,99,235,.035)); }
.sw-security-notice-icon { display: grid; place-items: center; flex: 0 0 auto; width: 28px; height: 28px; border-radius: 9px; color: #fff; background: #0891b2; font-size: 12px; font-weight: 800; }
.sw-security-notice strong, .sw-security-notice span { display: block; }
.sw-security-notice strong { margin-bottom: 2px; color: #0f172a; font-size: 11px; }
.sw-security-notice span { color: #64748b; font-size: 11px; line-height: 1.5; }

/* Buttons */
.sw-form-actions--premium { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 8px; padding-top: 18px; border-top: 1px solid rgba(148,163,184,.14); }
.sw-form-action-note { display: flex; align-items: center; gap: 8px; color: #94a3b8; font-size: 10px; line-height: 1.45; }
.sw-action-lock { display: grid; place-items: center; flex: 0 0 auto; width: 25px; height: 25px; border-radius: 8px; color: #2563eb; background: rgba(37,99,235,.08); font-size: 11px; }
.sw-button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 17px; border: 1px solid transparent; border-radius: 12px; font-size: 12px; font-weight: 800; line-height: 1; text-decoration: none; cursor: pointer; transition: transform var(--sw-transition), box-shadow var(--sw-transition), background var(--sw-transition), border-color var(--sw-transition); }
.sw-button:hover { transform: translateY(-1px); }
.sw-button:disabled { opacity: .65; cursor: not-allowed; transform: none; }
.sw-button-primary { color: #fff; background: linear-gradient(135deg,#2563eb,#4f46e5); box-shadow: 0 10px 24px rgba(37,99,235,.20); }
.sw-button-primary:hover { box-shadow: 0 14px 30px rgba(37,99,235,.26); }
.sw-button-secondary { color: #334155; border-color: rgba(148,163,184,.22); background: rgba(255,255,255,.82); }
.sw-button-secondary:hover { color: #2563eb; border-color: rgba(37,99,235,.20); background: #fff; }
.sw-button-icon { font-size: 13px; }
.sw-button-loader { display: none; width: 14px; height: 14px; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; animation: sw-spin .7s linear infinite; }
.sw-submit-button.is-loading .sw-button-loader { display: inline-block; }
.sw-submit-button.is-loading .sw-button-icon { display: none; }
@keyframes sw-spin { to { transform: rotate(360deg); } }

/* Alerts */
.sw-alert { position: relative; display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; padding: 14px 43px 14px 14px; border: 1px solid transparent; border-radius: 15px; box-shadow: var(--sw-shadow-soft); }
.sw-alert-icon { display: grid; place-items: center; flex: 0 0 auto; width: 32px; height: 32px; border-radius: 10px; color: #fff; font-weight: 900; }
.sw-alert-content strong, .sw-alert-content span { display: block; }
.sw-alert-content strong { margin-bottom: 2px; font-size: 11px; }
.sw-alert-content span { font-size: 12px; line-height: 1.5; }
.sw-alert-error { color: #991b1b; border-color: rgba(220,38,38,.14); background: rgba(254,242,242,.9); }
.sw-alert-error .sw-alert-icon { background: #dc2626; }
.sw-alert-success { color: #166534; border-color: rgba(22,163,74,.14); background: rgba(240,253,244,.9); }
.sw-alert-success .sw-alert-icon { background: #16a34a; }
.sw-alert-close { position: absolute; top: 9px; right: 10px; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 9px; color: currentColor; background: transparent; font-size: 20px; line-height: 1; cursor: pointer; }
.sw-alert-close:hover { background: rgba(15,23,42,.05); }

/* Focus / utility */
.sw-profile-wrapper :focus-visible { outline: 3px solid rgba(37,99,235,.18); outline-offset: 2px; }
.sw-profile-wrapper input.sw-input-valid, .sw-profile-wrapper input.sw-input-invalid { background-position: right 12px center; background-repeat: no-repeat; }
.sw-profile-wrapper input.sw-input-valid { border-color: rgba(22,163,74,.42); }
.sw-profile-wrapper input.sw-input-invalid { border-color: rgba(220,38,38,.42); }

/* Responsive */
@media (max-width: 980px) {
    .sw-profile-header { grid-template-columns: 1fr; }
    .sw-profile-header__progress { max-width: none; }
    .sw-member-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .sw-password-grid { grid-template-columns: 1fr; }
}

@media (min-width: 760px) {
    .sw-verification-card { width: calc(50% - 8px); float: left; }
    .sw-referral-card { width: calc(50% - 8px); float: right; }
    .sw-verification-card + .sw-referral-card { margin-left: 16px; }
    .sw-profile-form-card { clear: both; }
}

@media (max-width: 759px) {
    .sw-profile-header { padding: 22px; }
    .sw-profile-header__main { align-items: flex-start; }
    .sw-profile-avatar-ring { width: 100px; height: 100px; }
    .sw-profile-name { font-size: 27px; }
    .sw-member-grid, .sw-verification-grid, .sw-form-grid, .sw-referral-stats { grid-template-columns: 1fr; }
    .sw-card-header, .sw-card-body { padding: 17px; }
    .sw-referral-link-row { flex-direction: column; }
    .sw-form-actions--premium { align-items: stretch; flex-direction: column; }
    .sw-form-actions--premium .sw-button { width: 100%; }
}

@media (max-width: 520px) {
    .sw-profile-wrapper { padding: 15px 10px 35px; }
    .sw-profile-header__main { flex-direction: column; align-items: center; text-align: center; }
    .sw-profile-email, .sw-profile-meta-row, .sw-profile-verification-line { justify-content: center; }
    .sw-profile-name { font-size: 25px; }
    .sw-profile-header__progress { padding: 16px; }
    .sw-card-title { font-size: 17px; }
    .sw-card-kicker { font-size: 8px; }
    .sw-card-header { align-items: flex-start; }
    .sw-card-header-badge, .sw-security-badge { display: none; }
    .sw-member-item { min-height: 76px; }
    .sw-referral-code { font-size: 19px; }
    .sw-form-action-note { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
    .sw-profile-wrapper *, .sw-profile-wrapper *::before, .sw-profile-wrapper *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (prefers-color-scheme: dark) {
    .sw-profile-wrapper {
        --sw-dark: #f8fafc;
        --sw-text: #cbd5e1;
        --sw-muted: #94a3b8;
        --sw-border: rgba(148,163,184,.16);
        --sw-surface: rgba(15,23,42,.78);
        --sw-bg: #07111f;
        background: radial-gradient(circle at 10% 5%, rgba(37,99,235,.14), transparent 28%), linear-gradient(180deg,#07111f,#0b1324);
    }
    .sw-profile-header { background: linear-gradient(135deg,rgba(15,23,42,.90),rgba(15,23,42,.72)); border-color: rgba(255,255,255,.08); }
    .sw-profile-header__progress, .sw-card-header, .sw-member-item, .sw-verification-item, .sw-referral-stat { background: rgba(15,23,42,.62); }
    .sw-form-control, .sw-referral-link { color: #f8fafc; border-color: rgba(148,163,184,.22); background: rgba(15,23,42,.72); }
    .sw-form-control:focus { background: #0f172a; }
    .sw-member-value, .sw-verification-value, .sw-referral-stat strong, .sw-security-notice strong { color: #f8fafc; }
    .sw-profile-chip--muted { color: #cbd5e1; }
    .sw-icon-button, .sw-button-secondary { color: #cbd5e1; border-color: rgba(148,163,184,.20); background: rgba(15,23,42,.72); }
    .sw-form-section-title, .sw-form-group label { color: #cbd5e1; }
    .sw-progress-footline, .sw-form-action-note { color: #64748b; }
}



/* ============================================================
   STOP_WALLET BSOFT — GLOBAL PREMIUM UI OVERRIDE
   VISUAL ONLY / NO FUNCTION OR LOGIC CHANGE
   ============================================================ */

:root{
    --sw-premium-primary:#087f5b;
    --sw-premium-primary-dark:#064d3a;
    --sw-premium-secondary:#12a978;
    --sw-premium-gold:#c9a43a;
    --sw-premium-ink:#17232c;
    --sw-premium-muted:#71808b;
    --sw-premium-line:#e1ebe7;
    --sw-premium-soft:#f3f9f6;
    --sw-premium-white:#fff;
    --sw-premium-shadow:0 14px 42px rgba(18,42,52,.075);
}

/* ---------- Centered application canvas ---------- */

#sw-dashboard .sw-dashboard,
#sw-dashboard .sw-main,
#sw-dashboard .sw-content{
    box-sizing:border-box;
}

#sw-dashboard .sw-content{
    width:100%;
}

/* ---------- Typography / first-letter capitalization ---------- */

#sw-dashboard h1,
#sw-dashboard h2,
#sw-dashboard h3,
#sw-dashboard h4,
#sw-dashboard h5,
#sw-dashboard button,
#sw-dashboard label,
#sw-dashboard th,
#sw-dashboard .sw-status,
.sw-donation-wrap h1,
.sw-donation-wrap h2,
.sw-donation-wrap h3,
.sw-donation-wrap h4,
.sw-donation-wrap button,
.sw-donation-wrap label,
.sw-campaign-builder h1,
.sw-campaign-builder h2,
.sw-campaign-builder h3,
.sw-campaign-builder h4,
.sw-campaign-builder button,
.sw-campaign-builder label,
.sw-approved-campaigns h1,
.sw-approved-campaigns h2,
.sw-approved-campaigns h3,
.sw-approved-campaigns h4,
.sw-approved-campaigns button,
.sw-approved-campaigns label{
    text-transform:capitalize;
}

/* ---------- Universal premium controls ---------- */

#sw-dashboard input,
#sw-dashboard select,
#sw-dashboard textarea,
.sw-donation-wrap input,
.sw-donation-wrap select,
.sw-donation-wrap textarea,
.sw-campaign-builder input,
.sw-campaign-builder select,
.sw-campaign-builder textarea{
    border-radius:11px;
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

#sw-dashboard input:focus,
#sw-dashboard select:focus,
#sw-dashboard textarea:focus,
.sw-donation-wrap input:focus,
.sw-donation-wrap select:focus,
.sw-donation-wrap textarea:focus,
.sw-campaign-builder input:focus,
.sw-campaign-builder select:focus,
.sw-campaign-builder textarea:focus{
    border-color:var(--sw-premium-primary) !important;
    box-shadow:0 0 0 4px rgba(8,127,91,.075) !important;
    outline:none;
}

#sw-dashboard button,
.sw-donation-wrap button,
.sw-campaign-builder button{
    border-radius:10px;
}

/* ============================================================
   BASIC DASHBOARD
   ============================================================ */

#sw-dashboard .sw-dashboard{
    --sw-dashboard-primary:var(--sw-premium-primary);
    --sw-dashboard-dark:var(--sw-premium-primary-dark);
}

#sw-dashboard .sw-main{
    min-width:0;
}

#sw-dashboard .sw-content{
    padding:24px;
}

#sw-dashboard .sw-header{
    border-radius:18px;
    box-shadow:0 8px 28px rgba(18,42,52,.055);
}

#sw-dashboard .sw-card,
#sw-dashboard .sw-panel,
#sw-dashboard .sw-section,
#sw-dashboard .sw-overview-card,
#sw-dashboard .sw-wallet-card,
#sw-dashboard .sw-transaction-card,
#sw-dashboard .sw-service-card{
    border-radius:17px;
    box-shadow:var(--sw-premium-shadow);
}

#sw-dashboard .sw-menu a{
    border-radius:11px;
    transition:.2s ease;
}

#sw-dashboard .sw-menu a:hover,
#sw-dashboard .sw-menu li.active a{
    transform:translateX(2px);
}

/* Dashboard headings */
#sw-dashboard .sw-page-title,
#sw-dashboard .sw-content h1,
#sw-dashboard .sw-content h2{
    font-weight:900;
}

/* Dashboard buttons */
#sw-dashboard .sw-btn,
#sw-dashboard .sw-button,
#sw-dashboard button[type="submit"]{
    border:0;
    background:linear-gradient(135deg,var(--sw-premium-primary),var(--sw-premium-primary-dark));
    color:#fff;
    font-weight:850;
    box-shadow:0 8px 18px rgba(8,127,91,.14);
}

#sw-dashboard .sw-btn:hover,
#sw-dashboard .sw-button:hover,
#sw-dashboard button[type="submit"]:hover{
    transform:translateY(-1px);
    filter:brightness(1.04);
}

/* ============================================================
   PREMIUM ACCOUNT
   ============================================================ */

.account-grid,
.active-accounts{
    width:min(1100px,100%);
    margin-left:auto !important;
    margin-right:auto !important;
}

.account-grid{
    gap:16px;
}

.account-card{
    border:1px solid var(--sw-premium-line) !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#fff,#f9fcfb) !important;
    box-shadow:var(--sw-premium-shadow) !important;
    overflow:hidden;
}

.account-card:before{
    content:"";
    display:block;
    height:3px;
    background:linear-gradient(90deg,var(--sw-premium-primary),var(--sw-premium-gold));
}

.account-card .upgrade-btn{
    border-radius:10px !important;
    background:linear-gradient(135deg,var(--sw-premium-primary),var(--sw-premium-primary-dark)) !important;
    color:#fff !important;
    box-shadow:0 8px 18px rgba(8,127,91,.14);
}

/* ============================================================
   WALLET
   ============================================================ */

.sw-wallet-card,
.sw-wallet-form,
.sw-wallet-panel{
    border-radius:21px !important;
}

.sw-wallet-header{
    border-radius:20px !important;
    background:linear-gradient(135deg,var(--sw-premium-primary-dark),var(--sw-premium-primary),var(--sw-premium-secondary)) !important;
    box-shadow:0 18px 45px rgba(8,127,91,.16);
}

.sw-wallet-logo,
.sw-wallet-form-icon{
    border-radius:14px !important;
}

.sw-wallet-balance{
    border-radius:16px !important;
}

.sw-wallet-card button,
.sw-wallet-form button,
.sw-wallet-panel button{
    border-radius:10px !important;
}

/* ============================================================
   CHECKOUT
   ============================================================ */

.sw-checkout{
    width:min(1080px,100%);
    margin-left:auto !important;
    margin-right:auto !important;
    border-radius:23px !important;
}

.sw-checkout-head{
    border-radius:20px !important;
    background:linear-gradient(135deg,var(--sw-premium-primary-dark),var(--sw-premium-primary),var(--sw-premium-secondary)) !important;
    box-shadow:0 18px 45px rgba(8,127,91,.15);
}

.sw-checkout-section,
.sw-checkout-grid > *,
.sw-checkout-card{
    border-radius:15px !important;
}

.sw-step{
    border-radius:11px !important;
}

/* ============================================================
   PAYMENT METHOD
   ============================================================ */

.sw-pm,
.sw-pm-settings{
    width:min(1120px,100%);
    margin-left:auto !important;
    margin-right:auto !important;
}

.sw-pm-settings-hero,
.sw-pm-hero-main{
    border-radius:21px !important;
    background:linear-gradient(135deg,var(--sw-premium-primary-dark),var(--sw-premium-primary),var(--sw-premium-secondary)) !important;
    box-shadow:0 18px 45px rgba(8,127,91,.15);
}

.sw-pm-settings-form,
.sw-pm-card,
.sw-pm-section{
    border-radius:17px !important;
}

/* ============================================================
   PROFILE
   ============================================================ */

.sw-profile-container,
.sw-profile-wrapper{
    width:min(1120px,100%);
    margin-left:auto !important;
    margin-right:auto !important;
}

.sw-profile-header{
    border-radius:23px !important;
    background:linear-gradient(135deg,var(--sw-premium-primary-dark),var(--sw-premium-primary),var(--sw-premium-secondary)) !important;
    box-shadow:0 18px 48px rgba(8,127,91,.15);
}

.sw-profile-card,
.sw-profile-section,
.sw-profile-form-card{
    border-radius:17px !important;
    box-shadow:var(--sw-premium-shadow);
}

/* ============================================================
   AUTH — LOGIN / REGISTER / FORGOT
   ============================================================ */

.sw-login-wrapper,
.sw-register-wrapper,
.sw-auth-wrapper{
    width:100%;
}

.sw-login-card,
.sw-register-card,
.sw-auth-card{
    border-radius:24px !important;
    box-shadow:0 25px 70px rgba(18,42,52,.12) !important;
}

.sw-login-icon,
.sw-register-icon{
    border-radius:15px !important;
}

.sw-login-card button,
.sw-register-card button,
.sw-auth-card button,
.sw-auth-wrapper button{
    border-radius:11px !important;
    background:linear-gradient(135deg,var(--sw-premium-primary),var(--sw-premium-primary-dark)) !important;
    color:#fff !important;
    border:0 !important;
    box-shadow:0 9px 20px rgba(8,127,91,.15);
}

.sw-login-card input,
.sw-register-card input,
.sw-auth-card input{
    border-radius:11px !important;
}

/* ============================================================
   LEDGER
   ============================================================ */

.sw-ledger-wrapper{
    width:min(1120px,100%);
    margin-left:auto !important;
    margin-right:auto !important;
}

.sw-ledger-card{
    border-radius:21px !important;
    border:1px solid var(--sw-premium-line) !important;
    box-shadow:var(--sw-premium-shadow) !important;
}

.sw-ledger-header{
    border-radius:20px !important;
    background:linear-gradient(135deg,var(--sw-premium-primary-dark),var(--sw-premium-primary),var(--sw-premium-secondary)) !important;
}

.sw-ledger-icon{
    border-radius:13px !important;
}

/* ============================================================
   DONATION — ALL PAGES
   ============================================================ */

.sw-donation-wrap{
    width:min(1240px,100%);
    margin-left:auto !important;
    margin-right:auto !important;
}

.sw-donation-hero{
    border-radius:25px !important;
    background:
        radial-gradient(circle at 90% 15%,rgba(255,255,255,.14),transparent 27%),
        linear-gradient(135deg,var(--sw-premium-primary-dark),var(--sw-premium-primary),var(--sw-premium-secondary)) !important;
}

.sw-donation-stats{
    width:100%;
}

.sw-donation-stats > div,
.sw-donation-panel,
.sw-dashboard-campaign{
    border-radius:17px !important;
}

.sw-donation-panel{
    box-shadow:var(--sw-premium-shadow) !important;
}

.sw-dashboard-campaign{
    overflow:hidden;
}

.sw-dashboard-actions .sw-donation-btn,
.sw-donation-btn{
    border-radius:10px !important;
}

.sw-donation-table{
    border-radius:13px;
    overflow:hidden;
}

/* ============================================================
   APPROVED CAMPAIGNS
   ============================================================ */

.sw-approved-campaigns{
    width:min(1240px,100%);
    margin-left:auto !important;
    margin-right:auto !important;
}

.sw-approved-campaigns__header{
    border-radius:24px !important;
    background:
        radial-gradient(circle at 92% 12%,rgba(255,255,255,.14),transparent 24%),
        linear-gradient(135deg,var(--sw-premium-primary-dark),var(--sw-premium-primary),var(--sw-premium-secondary)) !important;
}

.sw-approved-campaign-card{
    border-radius:20px !important;
}

.sw-approved-campaign-view{
    border-radius:10px !important;
}

/* ============================================================
   CAMPAIGN BUILDER
   ============================================================ */

.sw-campaign-builder{
    width:min(1080px,100%);
    margin-left:auto !important;
    margin-right:auto !important;
}

.sw-campaign-builder__header{
    border-radius:24px !important;
    background:
        radial-gradient(circle at 90% 15%,rgba(255,255,255,.14),transparent 27%),
        linear-gradient(135deg,var(--sw-premium-primary-dark),var(--sw-premium-primary),var(--sw-premium-secondary)) !important;
}

.sw-campaign-form,
.sw-builder-field,
.sw-builder-section__header,
.sw-donation-verification-builder{
    border-radius:17px !important;
}

.sw-campaign-form__footer .sw-donation-submit{
    border-radius:13px !important;
    background:linear-gradient(135deg,var(--sw-premium-primary),var(--sw-premium-primary-dark)) !important;
}

/* ============================================================
   ADMIN
   ============================================================ */

.sw-dashboard,
.stop_wallet-admin-box,
.sw-dashboard-box,
.stop_wallet-module-card,
.sw-dashboard-card{
    border-radius:18px !important;
}

.sw-dashboard-card,
.stop_wallet-module-card{
    box-shadow:var(--sw-premium-shadow) !important;
}

.sw-dashboard h1,
.stop_wallet-admin-box h2,
.sw-dashboard-box h2{
    text-transform:capitalize;
}

.sw-dashboard .button,
.stop_wallet-admin-box .button,
.sw-dashboard-box .button{
    border-radius:10px !important;
}

/* ============================================================
   DEBUG
   ============================================================ */

.sw-debug-header,
.sw-debug-card,
.sw-debug-panel{
    border-radius:18px !important;
}

.sw-debug-button{
    border-radius:10px !important;
}

/* ============================================================
   RESPONSIVE CENTERING
   ============================================================ */

@media(max-width:900px){
    #sw-dashboard .sw-content{
        padding:17px;
    }

    .sw-dashboard-campaign-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:680px){
    #sw-dashboard .sw-content{
        padding:11px;
    }

    .sw-dashboard-campaign-grid{
        grid-template-columns:1fr;
    }

    .sw-donation-wrap,
    .sw-approved-campaigns,
    .sw-campaign-builder,
    .sw-checkout,
    .sw-pm,
    .sw-pm-settings,
    .sw-profile-container,
    .sw-profile-wrapper,
    .sw-ledger-wrapper,
    .account-grid,
    .active-accounts{
        padding-left:6px;
        padding-right:6px;
    }

    .sw-donation-stats{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:430px){
    .sw-donation-stats{
        grid-template-columns:1fr;
    }

    .sw-panel-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .sw-edit-grid{
        grid-template-columns:1fr;
    }
}

@media(prefers-reduced-motion:reduce){
    #sw-dashboard *,
    .sw-donation-wrap *,
    .sw-campaign-builder *,
    .sw-approved-campaigns *{
        transition-duration:.01ms !important;
        animation-duration:.01ms !important;
    }
}


.sw-profile-wrapper .sw-profile-form-card button[type="submit"]{color:#fff!important;-webkit-text-fill-color:#fff!important;}

/* ============================================================
   STOP WALLET PROFILE — FINAL RED + GREEN VISUAL THEME
   Design only. Existing PHP/JS/data behaviour is preserved.
   ============================================================ */

.sw-profile-wrapper{
    --sw-primary:#e31837 !important;
    --sw-primary-2:#079b63 !important;
    --sw-accent:#079b63 !important;
    --sw-success:#079b63 !important;
    --sw-warning:#a16207 !important;
    --sw-danger:#c8102e !important;
    --sw-dark:#172033 !important;
    --sw-text:#526078 !important;
    --sw-muted:#718096 !important;
    --sw-border:#dce3ea !important;
    --sw-surface:#ffffff !important;
    --sw-surface-solid:#ffffff !important;
    --sw-bg:#f5fbf8 !important;
    --sw-radius:18px !important;
    --sw-radius-sm:12px !important;
    --sw-shadow:0 18px 48px rgba(23,32,51,.09) !important;
    --sw-shadow-soft:0 9px 26px rgba(23,32,51,.055) !important;

    position:relative !important;
    isolation:isolate !important;
    width:calc(100% - 20px) !important;
    max-width:1180px !important;
    min-height:100vh !important;
    margin:10px auto !important;
    padding:20px 14px 38px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    border:1px solid rgba(7,155,99,.62) !important;
    border-radius:16px !important;
    background:
        radial-gradient(circle at 4% 18%,rgba(7,155,99,.12),transparent 28%),
        radial-gradient(circle at 96% 78%,rgba(227,24,55,.09),transparent 30%),
        linear-gradient(135deg,#f5fffb 0%,#fffafa 52%,#f4fcf8 100%) !important;
    color:#526078 !important;
}

.sw-profile-wrapper::after{
    content:"";
    position:absolute;
    z-index:5;
    left:0;right:0;top:0;
    height:3px;
    pointer-events:none;
    background:linear-gradient(90deg,#e31837 0%,#e52a49 36%,#b64c56 50%,#079b63 70%,#057a4f 100%);
}

.sw-profile-container{
    width:min(1100px,100%) !important;
    margin:0 auto !important;
}

/* Hero */
.sw-profile-header{
    grid-template-columns:minmax(0,1fr) minmax(250px,320px) !important;
    gap:18px !important;
    margin-bottom:14px !important;
    padding:20px !important;
    border:1px solid #e2e9ee !important;
    border-radius:18px !important;
    background:linear-gradient(135deg,#fff 0%,#fff8fa 48%,#f1fbf6 100%) !important;
    box-shadow:0 14px 40px rgba(23,32,51,.075) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}

.sw-profile-header::before{
    background:linear-gradient(120deg,rgba(227,24,55,.045),transparent 42%,rgba(7,155,99,.07)) !important;
}

.sw-profile-header__glow{
    width:220px !important;height:220px !important;
    right:-90px !important;top:-115px !important;
    background:linear-gradient(135deg,rgba(227,24,55,.12),rgba(7,155,99,.09)) !important;
}

.sw-profile-avatar-ring{
    width:112px !important;height:112px !important;padding:4px !important;
    background:linear-gradient(135deg,#e31837,#e52d4b 45%,#079b63) !important;
    box-shadow:0 11px 25px rgba(227,24,55,.15) !important;
}
.sw-profile-avatar{background:#f4faf7 !important;border-color:#fff !important;}
.sw-profile-online-dot{background:#079b63 !important;box-shadow:0 3px 10px rgba(7,155,99,.24) !important;}
.sw-profile-eyebrow{color:#e31837 !important;-webkit-text-fill-color:#e31837 !important;}
.sw-profile-eyebrow-dot{background:#079b63 !important;box-shadow:0 0 0 5px rgba(7,155,99,.09) !important;}
.sw-profile-name{color:#172033 !important;-webkit-text-fill-color:#172033 !important;}
.sw-profile-email{color:#718096 !important;-webkit-text-fill-color:#718096 !important;}
.sw-profile-inline-icon{color:#079b63 !important;}
.sw-profile-chip--level{color:#a11d34 !important;background:#fff0f3 !important;}
.sw-profile-chip--status{color:#057a4f !important;background:#eaf9f3 !important;}
.sw-profile-chip--muted{color:#526078 !important;background:#f2f5f7 !important;}
.sw-chip-status-dot{background:#079b63 !important;}
.sw-profile-verification-line{color:#526078 !important;}
.sw-profile-verify-icon,.sw-profile-verification-line .sw-profile-verify-icon:not(:empty){background:#079b63 !important;}

/* Completion */
.sw-profile-header__progress{
    padding:16px !important;
    border:1px solid #dce9e2 !important;
    border-radius:14px !important;
    background:linear-gradient(145deg,#fff,#f3fbf7) !important;
    box-shadow:inset 0 1px 0 #fff,0 9px 25px rgba(23,32,51,.045) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}
.sw-progress-topline{color:#526078 !important;}
.sw-progress-topline strong{color:#079b63 !important;}
.sw-profile-progress-bar{height:8px !important;background:#e7eef0 !important;}
.sw-profile-progress-fill{background:linear-gradient(90deg,#e31837,#bd4c58 45%,#079b63) !important;box-shadow:0 0 13px rgba(7,155,99,.17) !important;}
.sw-progress-footline{color:#8a96a4 !important;}
.sw-progress-status{color:#057a4f !important;}

/* Cards */
.sw-card{
    margin-bottom:14px !important;
    border:1px solid #e2e9ee !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 9px 28px rgba(23,32,51,.055) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}
.sw-card:hover{transform:translateY(-1px) !important;border-color:#cce6db !important;box-shadow:0 14px 34px rgba(7,155,99,.075) !important;}
.sw-card-header{padding:14px 16px !important;border-bottom-color:#e8eef1 !important;background:linear-gradient(180deg,#fff,#fbfdfc) !important;}
.sw-card-heading{gap:10px !important;}
.sw-card-icon{width:36px !important;height:36px !important;border-radius:10px !important;background:linear-gradient(135deg,#e31837,#b84c59 48%,#079b63) !important;box-shadow:0 8px 17px rgba(227,24,55,.13) !important;font-size:15px !important;}
.sw-card-icon--security{background:linear-gradient(135deg,#079b63,#057a4f) !important;}
.sw-card-icon--referral{background:linear-gradient(135deg,#e31837,#a91e36) !important;}
.sw-card-kicker{color:#8a96a4 !important;}
.sw-card-title{color:#172033 !important;-webkit-text-fill-color:#172033 !important;font-size:17px !important;}
.sw-card-description{color:#718096 !important;}
.sw-card-header-badge{background:linear-gradient(135deg,#e31837,#079b63) !important;color:#fff !important;}
.sw-card-header-badge--soft{color:#a11d34 !important;background:#fff0f3 !important;}
.sw-card-body{padding:16px !important;}

/* Member / verification / referral */
.sw-member-item,.sw-verification-item{border:1px solid #e1e8ec !important;border-radius:12px !important;background:linear-gradient(145deg,#fff,#f7fbf9) !important;}
.sw-member-icon{color:#e31837 !important;background:#fff0f3 !important;}
.sw-member-icon--success{color:#079b63 !important;background:#e9f9f2 !important;}
.sw-member-icon--premium{color:#b4234a !important;background:#fff0f3 !important;}
.sw-member-label,.sw-referral-label,.sw-verification-label{color:#8a96a4 !important;}
.sw-member-value,.sw-verification-value{color:#172033 !important;-webkit-text-fill-color:#172033 !important;}
.sw-member-status{color:#057a4f !important;}
.sw-status-pending,.sw-status-warning{color:#a16207 !important;}
.sw-status-inactive,.sw-status-disabled{color:#c8102e !important;}
.sw-status-pill.is-success{color:#057a4f !important;background:#eaf9f3 !important;}
.sw-status-pill.is-pending{color:#a16207 !important;background:#fff7df !important;}

.sw-referral-code-box{padding:13px !important;border:1px solid #ecd8dd !important;border-radius:13px !important;background:linear-gradient(135deg,#fff5f7,#f0fbf6) !important;}
.sw-referral-code{color:#c8102e !important;-webkit-text-fill-color:#c8102e !important;}
.sw-icon-button{width:36px !important;height:36px !important;border:1px solid #cce8dc !important;border-radius:10px !important;color:#079b63 !important;background:#fff !important;}
.sw-icon-button:hover{color:#fff !important;background:linear-gradient(135deg,#e31837,#079b63) !important;}
.sw-referral-link{border-color:#cbd6de !important;color:#526078 !important;background:#fff !important;}
.sw-referral-stat{background:#f5faf8 !important;border-radius:11px !important;}
.sw-referral-stat span{color:#8a96a4 !important;}
.sw-referral-stat strong{color:#172033 !important;}
.sw-referral-stat--reward strong{color:#079b63 !important;}

/* Forms */
.sw-form-section-title{color:#526078 !important;}
.sw-section-line{background:linear-gradient(90deg,#e31837,#079b63) !important;}
.sw-form-group label{color:#172033 !important;-webkit-text-fill-color:#172033 !important;}
.sw-label-icon{color:#e31837 !important;}
.sw-form-control{min-height:45px !important;border:1px solid #c8d2dc !important;border-radius:11px !important;color:#172033 !important;-webkit-text-fill-color:#172033 !important;background:#fff !important;}
.sw-form-control:hover{border-color:#aebbc7 !important;}
.sw-form-control:focus{border-color:#079b63 !important;box-shadow:0 0 0 3px rgba(7,155,99,.10),0 6px 18px rgba(7,155,99,.045) !important;}
.sw-form-help{color:#8a96a4 !important;}
.sw-select-shell::after{color:#718096 !important;}

/* Password / security */
.sw-password-toggle{color:#079b63 !important;-webkit-text-fill-color:#079b63 !important;}
.sw-password-toggle:hover,.sw-password-toggle:focus-visible{color:#e31837 !important;-webkit-text-fill-color:#e31837 !important;background:#fff0f3 !important;}
.sw-password-toggle.is-visible .sw-eye-icon{color:#079b63 !important;}
.sw-password-strength[data-strength="3"] .sw-strength-label{color:#a16207 !important;}
.sw-password-strength[data-strength="4"] .sw-strength-label{color:#079b63 !important;}
.sw-password-strength[data-strength="4"] .sw-strength-bar span{background:linear-gradient(90deg,#e31837,#079b63) !important;}
.sw-security-badge{color:#057a4f !important;background:#eaf9f3 !important;}
.sw-security-notice{border-color:#cbe9dc !important;background:linear-gradient(135deg,#effcf6,#f7fbff) !important;}
.sw-security-notice-icon{background:linear-gradient(135deg,#079b63,#057a4f) !important;}
.sw-security-notice strong{color:#172033 !important;}
.sw-security-notice span{color:#526078 !important;}

/* Buttons */
.sw-form-actions--premium{border-top-color:#e4ebef !important;}
.sw-form-action-note{color:#8a96a4 !important;}
.sw-action-lock{color:#079b63 !important;background:#eaf9f3 !important;}
.sw-button-primary,.sw-submit-button{color:#fff !important;-webkit-text-fill-color:#fff !important;background:linear-gradient(105deg,#e31837 0%,#df2947 34%,#b54d58 51%,#079b63 74%,#057a4f 100%) !important;box-shadow:0 10px 22px rgba(7,155,99,.15),0 5px 13px rgba(227,24,55,.08) !important;}
.sw-button-primary:hover,.sw-submit-button:hover{box-shadow:0 14px 28px rgba(7,155,99,.18) !important;}
.sw-button-secondary{color:#526078 !important;-webkit-text-fill-color:#526078 !important;border-color:#cbd6de !important;background:#fff !important;}
.sw-button-secondary:hover{color:#079b63 !important;-webkit-text-fill-color:#079b63 !important;border-color:#b9dfd0 !important;background:#f5fcf8 !important;}

/* Alerts / visibility */
.sw-alert-error{color:#a91f36 !important;background:#fff5f7 !important;border-color:#ffd2da !important;}
.sw-alert-success{color:#057a4f !important;background:#effcf6 !important;border-color:#c9ecdc !important;}
.sw-profile-wrapper .sw-card-title,.sw-profile-wrapper .sw-profile-name,.sw-profile-wrapper .sw-profile-email,.sw-profile-wrapper .sw-member-value,.sw-profile-wrapper .sw-verification-value,.sw-profile-wrapper .sw-form-group label,.sw-profile-wrapper .sw-form-section-title,.sw-profile-wrapper .sw-form-help,.sw-profile-wrapper .sw-form-action-note,.sw-profile-wrapper .sw-card-description{opacity:1 !important;visibility:visible !important;}
.sw-profile-wrapper .sw-form-control,.sw-profile-wrapper .sw-referral-link{opacity:1 !important;visibility:visible !important;border-style:solid !important;border-width:1px !important;}

/* Mobile */
@media (max-width:980px){
    .sw-profile-header{grid-template-columns:1fr !important;}
    .sw-member-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:760px){
    .sw-profile-wrapper{width:calc(100% - 12px) !important;min-height:100svh !important;margin:6px auto !important;padding:15px 9px 28px !important;border-radius:13px !important;}
    .sw-profile-header{padding:16px !important;border-radius:15px !important;}
    .sw-profile-header__main{align-items:center !important;}
    .sw-profile-avatar-ring{width:92px !important;height:92px !important;}
    .sw-profile-name{font-size:26px !important;}
    .sw-card{border-radius:14px !important;margin-bottom:10px !important;}
    .sw-card-header,.sw-card-body{padding:13px !important;}
    .sw-member-grid,.sw-verification-grid,.sw-form-grid,.sw-referral-stats,.sw-password-grid{grid-template-columns:1fr !important;}
    .sw-form-actions--premium{align-items:stretch !important;flex-direction:column !important;gap:10px !important;}
    .sw-form-actions--premium .sw-button{width:100% !important;}
    .sw-referral-link-row{flex-direction:column !important;}
}
@media (max-width:520px){
    .sw-profile-wrapper{width:calc(100% - 8px) !important;margin:4px auto !important;padding:10px 6px 22px !important;border-radius:11px !important;}
    .sw-profile-header__main{flex-direction:column !important;text-align:center !important;}
    .sw-profile-name{font-size:23px !important;}
    .sw-profile-email,.sw-profile-meta-row,.sw-profile-verification-line{justify-content:center !important;}
    .sw-profile-header__progress{padding:13px !important;border-radius:12px !important;}
    .sw-card-header-badge,.sw-security-badge{display:none !important;}
    .sw-form-control{min-height:44px !important;font-size:12px !important;}
}

/* ============================================================
   STOP WALLET — FINAL PREMIUM VISUAL SYSTEM
   RED + GREEN / CENTERED / BORDER / RADIUS / PADDING
   DESIGN + COLOR ONLY
   ============================================================ */

:root{
    --sw-premium-red:#e31837;
    --sw-premium-red-dark:#c8102e;
    --sw-premium-green:#079b63;
    --sw-premium-green-dark:#057a4f;

    --sw-premium-text:#172033;
    --sw-premium-soft:#526078;
    --sw-premium-muted:#718096;
    --sw-premium-border:#dce3ea;
    --sw-premium-border-strong:#c7d1db;

    --sw-premium-bg:#f6fbf9;
    --sw-premium-white:#fff;

    --sw-premium-shadow:
        0 16px 42px rgba(23,32,51,.075);
    --sw-premium-shadow-soft:
        0 8px 24px rgba(23,32,51,.05);
}

/* -----------------------------
   Centered page canvases
   ----------------------------- */

.sw-wallet-page,
.sw-family-page,
.sw-notification-page,
.sw-myqr-page,
.sw-checkout,
.sw-pm,
.sw-pm-settings,
.sw-payment-method,
.sw-transaction-history,
.sw-sb,
.sw-module-card,
.sw-auth-wrapper,
.sw-login-wrapper,
.sw-register-wrapper,
.sw-profile-wrapper{
    box-sizing:border-box;
}

/* -----------------------------
   Generic premium module card
   ----------------------------- */

.sw-module-card{
    position:relative;

    width:calc(100% - 20px);
    max-width:720px;

    margin:16px auto !important;
    padding:18px !important;

    border:1px solid var(--sw-premium-border) !important;
    border-radius:18px !important;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #fffafb 48%,
            #f3fbf7 100%
        ) !important;

    box-shadow:var(--sw-premium-shadow) !important;

    color:var(--sw-premium-text);

    overflow:hidden;
}

.sw-module-card::before{
    content:"";

    position:absolute;
    top:0;
    left:0;
    right:0;

    height:3px;

    background:
        linear-gradient(
            90deg,
            var(--sw-premium-red),
            #c94b58 50%,
            var(--sw-premium-green)
        );
}

.sw-module-icon{
    border-radius:12px !important;

    color:#fff !important;
    -webkit-text-fill-color:#fff !important;

    background:
        linear-gradient(
            135deg,
            var(--sw-premium-red),
            #c84b58 48%,
            var(--sw-premium-green)
        ) !important;

    box-shadow:
        0 8px 18px rgba(227,24,55,.13);
}

.sw-module-card h2{
    color:var(--sw-premium-text) !important;
    -webkit-text-fill-color:var(--sw-premium-text) !important;
}

.sw-module-card p{
    color:var(--sw-premium-soft) !important;
    -webkit-text-fill-color:var(--sw-premium-soft) !important;
}

/* -----------------------------
   Shared module buttons
   ----------------------------- */

.sw-module-action,
.sw-primary-btn,
.sw-sb button.primary,
.sw-sb button.dark{
    border:0 !important;
    border-radius:11px !important;

    color:#fff !important;
    -webkit-text-fill-color:#fff !important;

    background:
        linear-gradient(
            105deg,
            var(--sw-premium-red) 0%,
            #df2a48 34%,
            #b64d58 50%,
            var(--sw-premium-green) 73%,
            var(--sw-premium-green-dark) 100%
        ) !important;

    box-shadow:
        0 9px 21px rgba(7,155,99,.13),
        0 5px 13px rgba(227,24,55,.08) !important;

    font:inherit;
    font-weight:850;

    cursor:pointer;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        filter .18s ease;
}

.sw-module-action:hover,
.sw-primary-btn:hover,
.sw-sb button.primary:hover,
.sw-sb button.dark:hover{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;

    transform:translateY(-1px);

    box-shadow:
        0 13px 27px rgba(7,155,99,.17) !important;

    filter:brightness(1.02);
}

/* -----------------------------
   Shared fields
   ----------------------------- */

.sw-wallet-page input,
.sw-wallet-page select,
.sw-wallet-page textarea,
.sw-family-page input,
.sw-family-page select,
.sw-family-page textarea,
.sw-sb input,
.sw-sb select,
.sw-sb textarea,
.sw-module-card input,
.sw-module-card select,
.sw-module-card textarea,
.sw-myqr-page input,
.sw-myqr-page select,
.sw-myqr-page textarea{
    border:1px solid var(--sw-premium-border-strong) !important;
    border-radius:11px !important;

    background:#fff !important;

    color:var(--sw-premium-text) !important;
    -webkit-text-fill-color:var(--sw-premium-text) !important;

    outline:0 !important;

    box-shadow:
        inset 0 1px 2px rgba(23,32,51,.018) !important;

    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.sw-wallet-page input:hover,
.sw-wallet-page select:hover,
.sw-wallet-page textarea:hover,
.sw-family-page input:hover,
.sw-family-page select:hover,
.sw-family-page textarea:hover,
.sw-sb input:hover,
.sw-sb select:hover,
.sw-sb textarea:hover,
.sw-module-card input:hover,
.sw-module-card select:hover,
.sw-module-card textarea:hover{
    border-color:#aebbc7 !important;
}

.sw-wallet-page input:focus,
.sw-wallet-page select:focus,
.sw-wallet-page textarea:focus,
.sw-family-page input:focus,
.sw-family-page select:focus,
.sw-family-page textarea:focus,
.sw-sb input:focus,
.sw-sb select:focus,
.sw-sb textarea:focus,
.sw-module-card input:focus,
.sw-module-card select:focus,
.sw-module-card textarea:focus{
    border-color:var(--sw-premium-green) !important;

    box-shadow:
        0 0 0 3px rgba(7,155,99,.09),
        0 7px 18px rgba(7,155,99,.04) !important;
}

.sw-wallet-page input::placeholder,
.sw-family-page input::placeholder,
.sw-sb input::placeholder,
.sw-module-card input::placeholder{
    color:#98a4b1 !important;
    -webkit-text-fill-color:#98a4b1 !important;
    opacity:1;
}

/* -----------------------------
   Savings / Qorjian / Welfare /
   Donation shared card
   ----------------------------- */

.sw-sb{
    width:calc(100% - 20px) !important;
    max-width:900px !important;

    margin:16px auto !important;
    padding:0 0 24px !important;

    box-sizing:border-box;

    color:var(--sw-premium-text);
}

.sw-sb-head{
    padding:17px 18px !important;

    margin-bottom:12px !important;

    border:1px solid var(--sw-premium-border) !important;
    border-radius:16px !important;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fff9fa 52%,
            #f2fbf7
        ) !important;

    box-shadow:var(--sw-premium-shadow-soft) !important;
}

.sw-sb-head h2{
    margin:0 0 4px !important;

    color:var(--sw-premium-text) !important;
    -webkit-text-fill-color:var(--sw-premium-text) !important;

    font-size:22px !important;
    font-weight:900 !important;
}

.sw-sb-head p{
    margin:0 !important;

    color:var(--sw-premium-soft) !important;
    -webkit-text-fill-color:var(--sw-premium-soft) !important;

    font-size:11px !important;
    line-height:1.55 !important;
}

.sw-sb-card{
    position:relative !important;

    padding:18px !important;

    border:1px solid var(--sw-premium-border) !important;
    border-radius:18px !important;

    background:#fff !important;

    box-shadow:var(--sw-premium-shadow) !important;

    overflow:hidden;
}

.sw-sb-card::before{
    content:"";

    position:absolute;

    top:0;
    left:0;
    right:0;

    height:3px;

    background:
        linear-gradient(
            90deg,
            var(--sw-premium-red),
            var(--sw-premium-green)
        );
}

.sw-sb-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:9px !important;

    margin-bottom:14px !important;
}

.sw-sb-stat{
    padding:11px 12px !important;

    border:1px solid #e2e9ed !important;
    border-radius:12px !important;

    background:
        linear-gradient(
            145deg,
            #fff,
            #f5faf8
        ) !important;
}

.sw-sb-stat small{
    display:block !important;

    color:var(--sw-muted) !important;
    font-size:9px !important;
}

.sw-sb-stat strong{
    display:block !important;

    margin-top:3px !important;

    color:var(--sw-premium-text) !important;
    -webkit-text-fill-color:var(--sw-premium-text) !important;

    font-size:14px !important;
}

.sw-sb-card > label,
.sw-sb-pin label{
    display:block !important;

    margin:0 0 6px !important;

    color:var(--sw-premium-text) !important;
    -webkit-text-fill-color:var(--sw-premium-text) !important;

    font-size:11px !important;
    font-weight:850 !important;
}

.sw-sb-actions{
    gap:8px !important;
}

.sw-sb-msg{
    margin-top:12px !important;

    padding:10px 11px !important;

    border:1px solid #dce9e2 !important;
    border-radius:10px !important;

    background:#f5fbf8 !important;

    color:var(--sw-premium-soft) !important;
}

.sw-sb-pin{
    margin-top:12px !important;
    padding:12px !important;

    border:1px dashed #c9ded5 !important;
    border-radius:12px !important;

    background:#f8fcfa !important;
}

/* -----------------------------
   Notification
   ----------------------------- */

.sw-notification-page{
    width:calc(100% - 20px) !important;
    max-width:980px !important;

    margin:16px auto !important;
}

.sw-notification-head,
.sw-notification-item,
.sw-notification-toolbar,
.sw-notification-empty{
    border-color:var(--sw-premium-border) !important;
}

.sw-notification-head{
    border-radius:16px !important;

    background:
        linear-gradient(
            145deg,
            #fff,
            #fff9fa 50%,
            #f3fbf7
        ) !important;

    box-shadow:var(--sw-premium-shadow-soft) !important;
}

.sw-notification-head h2,
.sw-notification-title-row strong{
    color:var(--sw-premium-text) !important;
}

.sw-notification-head p,
.sw-notification-toolbar,
.sw-notification-body p,
.sw-notification-body time{
    color:var(--sw-premium-soft) !important;
}

.sw-notification-readall{
    color:#fff !important;

    background:
        linear-gradient(
            135deg,
            var(--sw-premium-red),
            var(--sw-premium-green)
        ) !important;
}

/* -----------------------------
   Payment Method
   ----------------------------- */

.sw-pm-settings{
    width:calc(100% - 20px) !important;
    max-width:1080px !important;
    margin:16px auto !important;
}

.sw-pm-settings-hero{
    border:1px solid #dce8e2 !important;
    border-radius:17px !important;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #fff9fa 48%,
            #eefaf5
        ) !important;

    color:var(--sw-premium-text) !important;
    box-shadow:var(--sw-premium-shadow-soft) !important;
}

.sw-pm-settings h2,
.sw-pm-settings h3{
    color:var(--sw-premium-text) !important;
}

.sw-pm-kicker,
.sw-pm-section-kicker{
    color:var(--sw-premium-green-dark) !important;
}

.sw-pm-card{
    border:1px solid var(--sw-premium-border) !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:var(--sw-premium-shadow-soft) !important;
}

.sw-pm-field input,
.sw-pm-field textarea,
.sw-pm-field select,
.sw-pm-grid input,
.sw-pm-grid textarea,
.sw-pm-grid select,
.sw-pm-bank-row input,
.sw-pm-bank-row textarea{
    border:1px solid var(--sw-premium-border-strong) !important;
}

.sw-pm-field input:focus,
.sw-pm-field textarea:focus,
.sw-pm-field select:focus,
.sw-pm-bank-row input:focus,
.sw-pm-bank-row textarea:focus{
    border-color:var(--sw-premium-green) !important;
    box-shadow:0 0 0 3px rgba(7,155,99,.09) !important;
}

.sw-pm-status.on{
    color:var(--sw-premium-green-dark) !important;
    background:#eaf9f3 !important;
}

/* -----------------------------
   Transaction history
   ----------------------------- */

.sw-transaction-history{
    width:calc(100% - 20px) !important;
    max-width:1000px !important;

    margin:16px auto !important;
    padding:18px !important;

    border:1px solid var(--sw-premium-border) !important;
    border-radius:17px !important;

    background:#fff !important;
    box-shadow:var(--sw-premium-shadow) !important;
}

.sw-payment-balance{
    border:1px solid #dce9e2 !important;
    background:
        linear-gradient(
            105deg,
            #f2fbf6,
            #fffafa
        ) !important;
}

.sw-payment-table-wrap{
    border-color:#dfe7eb !important;
    border-radius:12px !important;
}

.sw-payment-table th{
    background:#f4faf7 !important;
    color:#526078 !important;
}

.sw-payment-table td{
    color:#405267 !important;
}

/* -----------------------------
   My QR
   ----------------------------- */

.sw-myqr-page{
    width:calc(100% - 20px) !important;
    max-width:900px !important;
    margin:16px auto !important;
}

/* -----------------------------
   Shared status colors
   ----------------------------- */

.sw-status,
.sw-payment-status,
.sw-status-pill{
    opacity:1 !important;
}

.sw-status.sw-verified,
.sw-status-pill.is-success,
.sw-payment-status{
    color:var(--sw-premium-green-dark) !important;
    background:#eaf9f3 !important;
}

.sw-status.sw-pending,
.sw-status-pill.is-pending{
    color:#a16207 !important;
    background:#fff7df !important;
}

.sw-status.sw-rejected{
    color:var(--sw-premium-red-dark) !important;
    background:#fff0f3 !important;
}

/* -----------------------------
   Mobile
   ----------------------------- */

@media(max-width:680px){
    .sw-module-card,
    .sw-wallet-page,
    .sw-family-page,
    .sw-notification-page,
    .sw-checkout,
    .sw-pm-settings,
    .sw-transaction-history,
    .sw-myqr-page,
    .sw-sb{
        width:calc(100% - 10px) !important;
    }

    .sw-sb-grid{
        grid-template-columns:1fr !important;
    }

    .sw-sb-actions{
        display:flex !important;
        flex-direction:column !important;
    }

    .sw-sb-actions button{
        width:100% !important;
    }
}

@media(max-width:390px){
    .sw-module-card,
    .sw-wallet-page,
    .sw-family-page,
    .sw-notification-page,
    .sw-checkout,
    .sw-pm-settings,
    .sw-transaction-history,
    .sw-myqr-page,
    .sw-sb{
        width:calc(100% - 6px) !important;
    }
}


/* STOP Wallet — Profile Avatar Upload Controls */
.sw-profile-avatar-wrap{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:8px !important;
}
.sw-avatar-upload-form{
    width:100% !important;
    max-width:210px !important;
    margin:0 !important;
    text-align:center !important;
}
.sw-avatar-upload-form input[type=file]{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
}
.sw-avatar-upload-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:6px !important;
}
.sw-avatar-select-button,
.sw-avatar-upload-button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    min-height:34px !important;
    padding:7px 8px !important;
    border:1px solid #d8e2e6 !important;
    border-radius:10px !important;
    font-size:10px !important;
    font-weight:800 !important;
    line-height:1 !important;
    text-decoration:none !important;
    cursor:pointer !important;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease !important;
}
.sw-avatar-select-button{
    color:#a11d34 !important;
    -webkit-text-fill-color:#a11d34 !important;
    background:#fff5f7 !important;
    border-color:#ffd3dc !important;
}
.sw-avatar-upload-button{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    background:linear-gradient(135deg,#e31837,#079b63) !important;
    border-color:transparent !important;
    box-shadow:0 8px 18px rgba(7,155,99,.15) !important;
}
.sw-avatar-select-button:hover,
.sw-avatar-upload-button:hover{
    transform:translateY(-1px) !important;
}
.sw-avatar-upload-button:disabled{
    opacity:.65 !important;
    cursor:not-allowed !important;
    transform:none !important;
}
.sw-avatar-upload-button.is-loading{
    cursor:wait !important;
}
.sw-avatar-upload-hint{
    display:block !important;
    margin-top:5px !important;
    color:#718096 !important;
    font-size:8px !important;
    line-height:1.4 !important;
}
.sw-profile-online-dot{
    top:85px !important;
    right:8px !important;
    bottom:auto !important;
}
.sw-profile-avatar-ring.is-dragging{
    box-shadow:0 0 0 5px rgba(227,24,55,.10),0 12px 28px rgba(227,24,55,.18) !important;
}
@media (max-width:759px){
    .sw-profile-online-dot{top:65px !important;}
}
@media (max-width:520px){
    .sw-avatar-upload-form{max-width:190px !important;}
    .sw-avatar-upload-actions{grid-template-columns:1fr !important;}
}


/* STOP Wallet — Mini Camera Avatar Control */
.sw-profile-avatar-wrap{position:relative !important; display:block !important; width:max-content !important; flex:0 0 auto !important;}
.sw-profile-avatar-ring{position:relative !important;}
.sw-avatar-upload-form{position:static !important; width:0 !important; max-width:none !important; height:0 !important; margin:0 !important; padding:0 !important; text-align:left !important;}
.sw-avatar-upload-form input[type=file]{position:absolute !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important;}
.sw-avatar-camera-button{
    position:absolute !important;
    right:-2px !important;
    bottom:4px !important;
    z-index:8 !important;
    display:grid !important;
    place-items:center !important;
    width:34px !important;
    height:34px !important;
    padding:0 !important;
    border:3px solid #fff !important;
    border-radius:50% !important;
    color:#fff !important;
    background:linear-gradient(135deg,#e31837 0%,#079b63 100%) !important;
    box-shadow:0 7px 18px rgba(23,32,51,.20),0 0 0 4px rgba(255,255,255,.45) !important;
    cursor:pointer !important;
    transition:transform .18s ease,box-shadow .18s ease,filter .18s ease !important;
}
.sw-avatar-camera-button:hover{transform:translateY(-1px) scale(1.05) !important; filter:saturate(1.06) !important; box-shadow:0 10px 22px rgba(23,32,51,.24),0 0 0 4px rgba(227,24,55,.10) !important;}
.sw-avatar-camera-button:focus-visible{outline:3px solid rgba(7,155,99,.24) !important; outline-offset:2px !important;}
.sw-avatar-camera-button svg{width:18px !important; height:18px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.7 !important; stroke-linecap:round !important; stroke-linejoin:round !important;}
.sw-avatar-camera-pulse{position:absolute !important; right:3px !important; bottom:3px !important; width:7px !important; height:7px !important; border-radius:50% !important; background:#fff !important; box-shadow:0 0 0 3px rgba(7,155,99,.24) !important;}
.sw-avatar-upload-button{position:absolute !important; left:-99999px !important; width:1px !important; height:1px !important; overflow:hidden !important; opacity:0 !important; pointer-events:none !important;}
.sw-avatar-upload-hint,.sw-avatar-upload-actions{display:none !important;}
.sw-profile-online-dot{z-index:7 !important;}
@media (max-width:759px){.sw-avatar-camera-button{width:31px !important;height:31px !important;right:-1px !important;bottom:3px !important;}.sw-avatar-camera-button svg{width:16px !important;height:16px !important;}}
@media (max-width:520px){.sw-avatar-camera-button{width:30px !important;height:30px !important;}}


/* STOP Wallet — Circular Profile Picture Upload Progress */
.sw-profile-avatar-ring{
    isolation:isolate !important;
}
.sw-avatar-upload-progress{
    position:absolute !important;
    inset:-6px !important;
    width:calc(100% + 12px) !important;
    height:calc(100% + 12px) !important;
    z-index:6 !important;
    overflow:visible !important;
    pointer-events:none !important;
    opacity:0 !important;
    transform:rotate(-90deg) !important;
    transition:opacity .2s ease,filter .2s ease !important;
}
.sw-avatar-upload-progress.is-visible{
    opacity:1 !important;
}
.sw-avatar-upload-progress-track,
.sw-avatar-upload-progress-fill{
    fill:none !important;
    stroke-linecap:round !important;
}
.sw-avatar-upload-progress-track{
    stroke:rgba(199,209,219,.55) !important;
    stroke-width:5 !important;
}
.sw-avatar-upload-progress-fill{
    stroke:url(#stop-avatar-progress-gradient) !important;
    stroke-width:5 !important;
    stroke-dasharray:295.31 !important;
    stroke-dashoffset:295.31 !important;
    filter:drop-shadow(0 2px 5px rgba(7,155,99,.25)) !important;
    transition:stroke-dashoffset .12s linear,stroke .2s ease,filter .2s ease !important;
}
.sw-avatar-upload-progress-text{
    position:absolute !important;
    left:-3px !important;
    bottom:-7px !important;
    z-index:9 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:34px !important;
    height:18px !important;
    padding:0 6px !important;
    border:1px solid rgba(255,255,255,.9) !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#e31837,#079b63) !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    box-shadow:0 4px 12px rgba(23,32,51,.18) !important;
    font-size:9px !important;
    font-weight:900 !important;
    line-height:1 !important;
    opacity:0 !important;
    transform:translateY(4px) !important;
    transition:opacity .2s ease,transform .2s ease !important;
    pointer-events:none !important;
}
.sw-avatar-upload-progress-text.is-visible{
    opacity:1 !important;
    transform:translateY(0) !important;
}
.sw-avatar-upload-progress-text.is-complete{
    background:#079b63 !important;
}
.sw-avatar-upload-progress.is-complete .sw-avatar-upload-progress-fill{
    stroke:#079b63 !important;
    filter:drop-shadow(0 3px 7px rgba(7,155,99,.34)) !important;
}
.sw-avatar-upload-form.is-uploading .sw-avatar-camera-button{
    pointer-events:none !important;
    cursor:wait !important;
    opacity:.82 !important;
}
@media (max-width:759px){
    .sw-avatar-upload-progress{inset:-5px !important;width:calc(100% + 10px) !important;height:calc(100% + 10px) !important;}
    .sw-avatar-upload-progress-text{left:-2px !important;bottom:-6px !important;min-width:31px !important;height:17px !important;font-size:8px !important;}
}

/* Registered contact fields — premium profile input language. */
.sw-profile-wrapper .sw-input-wrap{position:relative;display:flex;align-items:center;width:100%;min-height:52px;border-radius:15px;background:#fff;border:1px solid rgba(148,163,184,.28);box-shadow:0 8px 24px rgba(15,23,42,.05);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;box-sizing:border-box;padding:0 6px;}
.sw-profile-wrapper .sw-input-wrap:focus-within{border-color:rgba(37,99,235,.42);box-shadow:0 0 0 4px rgba(37,99,235,.08),0 10px 26px rgba(15,23,42,.06);}
.sw-profile-wrapper .sw-input-wrap .sw-input{width:100%;min-height:48px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;border-radius:12px!important;padding:12px 13px!important;font-size:14px!important;color:#172033!important;}
.sw-profile-wrapper .sw-input-wrap .sw-input:read-only{cursor:not-allowed;background:linear-gradient(180deg,#fbfcfe,#f5f7fb)!important;color:#40516b!important;}
.sw-profile-wrapper .sw-field-hint{display:block;margin-top:7px;color:#718096;font-size:11px;line-height:1.55;}
.sw-profile-wrapper .sw-required{color:#dc2626;font-weight:800;}
