/* STOP WALLET 3.5 — application shell */
.sw-main-shell{min-height:100vh;margin-left:292px;min-width:0}.sw-sidebar{position:fixed;left:0;top:0;bottom:0;width:292px;z-index:1000}.sw-sidebar-overlay{display:none}.sw-header{height:78px;background:rgba(255,255,255,.94);border-bottom:1px solid #edf1f6;position:sticky;top:0;z-index:800;backdrop-filter:blur(18px)}.sw-topbar{background:#fff;border-bottom:1px solid #eef2f7}.sw-header-shell{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:20px}.sw-header-left,.sw-header-right{display:flex;align-items:center;gap:16px}.sw-header-center{display:flex;align-items:center;gap:10px;min-width:0}.sw-header-eyebrow{font-size:9px;font-weight:850;letter-spacing:1.6px;color:#99a6b9}.sw-header-center strong{font-size:14px;color:#203453}.sw-header-brand{display:flex;align-items:center;gap:11px}.sw-header-brand>span:last-child{display:flex;flex-direction:column}.sw-header-brand strong{font-size:16px;line-height:1.05;letter-spacing:.25px}.sw-header-brand small{font-size:10px;color:#71809a;margin-top:3px}.sw-header-logo,.sw-footer-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(140deg,#5b1ef3 0%,#3f4de8 48%,#11bd8a 100%);box-shadow:0 9px 22px rgba(75,52,232,.22);position:relative;overflow:hidden}.sw-header-logo:after,.sw-footer-mark:after{content:"";width:19px;height:22px;border:2px solid #fff;border-radius:8px 8px 10px 10px;transform:rotate(45deg);position:absolute}.sw-header-logo span{width:8px;height:8px;border:1px solid rgba(255,255,255,.8);border-radius:3px;position:absolute;right:7px;bottom:7px}.sw-header-notification{position:relative;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#122442;border:1px solid #e5ebf2;background:#fff}.sw-header-notification svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sw-header-notification i{position:absolute;right:-3px;top:-5px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#ee334e;color:#fff;border:2px solid #fff;font-style:normal;font-size:9px;font-weight:800}.sw-header-profile{display:flex;align-items:center;gap:9px}.sw-header-avatar{position:relative;width:42px;height:42px;border-radius:50%;background:#f6d45b;overflow:visible}.sw-header-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.sw-header-avatar i{position:absolute;right:-1px;bottom:1px;width:10px;height:10px;background:#18c779;border:2px solid #fff;border-radius:50%}.sw-header-profile>span:nth-child(2){display:flex;flex-direction:column}.sw-header-profile strong{font-size:13px}.sw-header-profile small{font-size:9px;color:#8492a7}.sw-header-profile>b{font-size:18px;color:#697b96;font-weight:500}.sw-header-menu{display:none}.sw-topbar-shell{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 30px}.sw-breadcrumb{display:flex;align-items:center;gap:9px;font-size:11px}.sw-breadcrumb span{color:#a0aabd;font-weight:750;letter-spacing:.6px}.sw-breadcrumb b{color:#b7c1cf;font-size:16px;font-weight:400}.sw-breadcrumb strong{color:#38516f}.sw-topbar-date{font-size:10px;color:#7d8ca1;display:flex;align-items:center;gap:6px}.sw-live-dot,.sw-footer-status i{width:7px;height:7px;border-radius:50%;background:#16b878;box-shadow:0 0 0 4px rgba(22,184,120,.10)}.sw-footer-shell{padding:0 30px 24px}.sw-footer-inner{width:min(100%,1240px);margin:0 auto;border-top:1px solid #e8edf3;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#7f8da2;font-size:10px}.sw-footer-brand{display:flex;align-items:center;gap:9px}.sw-footer-mark{width:28px;height:28px;border-radius:9px;box-shadow:none}.sw-footer-mark:after{width:12px;height:14px;border-width:1.4px}.sw-footer-brand>span:last-child{display:flex;flex-direction:column}.sw-footer-brand strong{font-size:10px;color:#4a5d78}.sw-footer-brand small{font-size:9px}.sw-footer-status{display:flex;align-items:center;gap:7px}.sw-footer-version{font-weight:800;color:#5b6e89}
@media(max-width:992px){.sw-main-shell{margin-left:0}.sw-sidebar{width:292px;transform:translateX(-102%);transition:transform .3s cubic-bezier(.2,.75,.25,1);box-shadow:20px 0 50px rgba(7,26,56,.2)}.sw-sidebar.is-open{transform:translateX(0)}.sw-sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(4,18,38,.44);backdrop-filter:blur(2px);opacity:0;visibility:hidden;z-index:900;transition:.25s}.sw-sidebar-overlay.is-active{opacity:1;visibility:visible}.sw-header{height:70px}.sw-header-shell{height:70px;padding:0 18px}.sw-header-menu{display:flex;width:42px;height:42px;border:1px solid #e3eaf3;border-radius:12px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer}.sw-header-menu span{display:block;width:18px;height:2px;border-radius:4px;background:#1a3560}.sw-header-center{display:none}.sw-header-brand strong{font-size:14px}.sw-header-brand small{font-size:9px}.sw-topbar-shell{padding:0 18px}.sw-footer-shell{padding:0 18px 82px}.sw-footer-inner{justify-content:center}.sw-footer-brand,.sw-footer-status{display:none}}
@media(max-width:560px){.sw-content{padding:22px 14px 28px}.sw-header-profile>span:nth-child(2),.sw-header-profile>b{display:none}.sw-header-notification{width:39px;height:39px}.sw-header-avatar,.sw-header-logo{width:39px;height:39px}.sw-topbar-date{display:none}.sw-topbar-shell{height:38px}.sw-page-heading{align-items:flex-start;flex-direction:column}.sw-page-heading .sw-outline-button{width:100%}}

/* StopWallet BSoft — reference dashboard shell polish */
@media(min-width:993px){
  .sw-main-shell{margin-left:310px;background:#fff}
  .sw-sidebar{width:310px}
  .sw-header{height:82px;background:rgba(255,255,255,.97);border-bottom:1px solid #edf1f6}
  .sw-header-shell{height:82px;padding:0 30px}
  .sw-topbar{display:none}
  .sw-content{padding:28px 30px 42px}
  .sw-footer-shell{padding:0 30px 24px}
}


/* ==========================================================================
   StopWallet BSoft — AUTHORITATIVE APP VIEW SHELL FIX
   - One sidebar only (sidebar.php)
   - Main content never sits underneath/after the sidebar
   - Mobile header always starts at viewport top
   - Toggle button is centered inside its hit area
   ========================================================================== */

#sw-dashboard.sw-dashboard-shell{
    position:relative !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    min-height:100vh !important;
    margin:0 !important;
    padding:0 !important;
    overflow-x:hidden !important;
}

#sw-dashboard.sw-dashboard-shell > .sw-sidebar{
    position:fixed !important;
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:310px !important;
    height:100vh !important;
    margin:0 !important;
    z-index:1000 !important;
    box-sizing:border-box !important;
}

#sw-dashboard.sw-dashboard-shell > .sw-main-shell{
    position:relative !important;
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    min-height:100vh !important;
    margin:0 0 0 310px !important;
    padding:0 !important;
    box-sizing:border-box !important;
}

#sw-dashboard.sw-dashboard-shell > .sw-main-shell > .sw-header{
    position:sticky !important;
    top:0 !important;
    margin:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
}

#sw-dashboard.sw-dashboard-shell .sw-header-shell{
    box-sizing:border-box !important;
}

#sw-dashboard.sw-dashboard-shell .sw-header-menu{
    align-items:center !important;
    justify-content:center !important;
    align-self:center !important;
    flex:0 0 42px !important;
    width:42px !important;
    height:42px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:0 !important;
}

#sw-dashboard.sw-dashboard-shell .sw-header-menu span{
    flex:0 0 auto !important;
    margin:0 !important;
}

@media (max-width:992px){
    #sw-dashboard.sw-dashboard-shell > .sw-sidebar{
        width:min(310px,88vw) !important;
        height:auto !important;
        max-height:none !important;
        top:0 !important;
        bottom:0 !important;
        left:0 !important;
        transform:translate3d(-105%,0,0) !important;
        visibility:hidden !important;
        opacity:1 !important;
        z-index:100000 !important;
        will-change:transform !important;
        backface-visibility:hidden !important;
        -webkit-backface-visibility:hidden !important;
        transform-style:preserve-3d !important;
        transition:transform .30s cubic-bezier(.2,.75,.25,1), visibility 0s linear .30s !important;
    }

    #sw-dashboard.sw-dashboard-shell > .sw-sidebar.is-open{
        transform:translate3d(0,0,0) !important;
        visibility:visible !important;
    }

    #sw-dashboard.sw-dashboard-shell > .sw-main-shell{
        width:100% !important;
        min-height:100vh !important;
        margin:0 !important;
        padding:0 !important;
    }

    #sw-dashboard.sw-dashboard-shell > .sw-main-shell > .sw-header{
        position:sticky !important;
        top:0 !important;
        height:70px !important;
        margin:0 !important;
    }

    #sw-dashboard.sw-dashboard-shell .sw-header-shell{
        height:70px !important;
        min-height:70px !important;
        padding:0 18px !important;
        display:flex !important;
        align-items:center !important;
        box-sizing:border-box !important;
    }

    #sw-dashboard.sw-dashboard-shell .sw-header-left,
    #sw-dashboard.sw-dashboard-shell .sw-header-right{
        align-items:center !important;
        height:100% !important;
    }

    #sw-dashboard.sw-dashboard-shell .sw-header-menu{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        align-self:center !important;
        position:relative !important;
        top:auto !important;
        transform:none !important;
    }

    #sw-dashboard.sw-dashboard-shell > .sw-main-shell > .sw-content{
        margin:0 !important;
        width:100% !important;
        box-sizing:border-box !important;
    }

    #sw-dashboard.sw-dashboard-shell > .sw-sidebar-overlay{
        position:fixed !important;
        inset:0 !important;
        display:block !important;
        z-index:99999 !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
    }

    #sw-dashboard.sw-dashboard-shell > .sw-sidebar-overlay.is-active{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
    }
}

@media (min-width:993px){
    #sw-dashboard.sw-dashboard-shell > .sw-sidebar{
        transform:none !important;
        visibility:visible !important;
        opacity:1 !important;
    }

    #sw-dashboard.sw-dashboard-shell > .sw-main-shell{
        margin-left:310px !important;
    }

    #sw-dashboard.sw-dashboard-shell .sw-header-menu{
        display:none !important;
    }
}

/* Mobile sidebar stability: prevent viewport/scroll reflow while the drawer animates. */
@media (max-width:992px){
    body.sw-sidebar-mobile-open{
        overflow:hidden !important;
        overscroll-behavior:none !important;
    }
    #sw-dashboard.sw-dashboard-shell > .sw-sidebar{
        contain:layout paint style;
        touch-action:pan-y;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
    }
    #sw-dashboard.sw-dashboard-shell > .sw-sidebar-overlay{
        touch-action:none;
    }
}



/* FINAL MOBILE DRAWER STABILITY FIX v2 */
@media (max-width:992px){
  html, body{
    overscroll-behavior-x:none !important;
  }
  body.sw-sidebar-mobile-open{
    overflow:hidden !important;
    overscroll-behavior:none !important;
  }
  #sw-dashboard.sw-dashboard-shell{
    overflow-x:hidden !important;
  }
  #sw-dashboard.sw-dashboard-shell > .sw-sidebar{
    position:fixed !important;
    left:0 !important; top:0 !important; bottom:auto !important;
    width:min(310px,88vw) !important;
    height:100svh !important;
    max-height:100svh !important;
    margin:0 !important;
    transform:translateX(-105%) !important;
    visibility:hidden !important;
    opacity:1 !important;
    pointer-events:none !important;
    will-change:transform !important;
    backface-visibility:hidden !important;
    -webkit-backface-visibility:hidden !important;
    transform-style:flat !important;
    contain:layout paint !important;
    transition:transform .28s cubic-bezier(.22,.8,.25,1),visibility 0s linear .28s !important;
  }
  #sw-dashboard.sw-dashboard-shell > .sw-sidebar.is-open{
    transform:translateX(0) !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transition:transform .28s cubic-bezier(.22,.8,.25,1),visibility 0s !important;
  }
  #sw-dashboard.sw-dashboard-shell > .sw-sidebar-overlay{
    position:fixed !important; inset:0 !important;
    width:100vw !important; height:100svh !important;
    transform:none !important;
    z-index:99999 !important;
    touch-action:none !important;
    -webkit-tap-highlight-color:transparent !important;
  }
  #sw-dashboard.sw-dashboard-shell > .sw-sidebar-overlay.is-active{
    pointer-events:auto !important;
  }
  #sw-dashboard.sw-dashboard-shell > .sw-sidebar .sw-sidebar-nav{
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
  }
}



/* ============================================================
   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 ---------- */

#stop_wallet-bsoft-app-shell .sw-dashboard,
#stop_wallet-bsoft-app-shell .sw-main,
#stop_wallet-bsoft-app-shell .sw-content{
    box-sizing:border-box;
}

#stop_wallet-bsoft-app-shell .sw-content{
    width:100%;
}

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

#stop_wallet-bsoft-app-shell h1,
#stop_wallet-bsoft-app-shell h2,
#stop_wallet-bsoft-app-shell h3,
#stop_wallet-bsoft-app-shell h4,
#stop_wallet-bsoft-app-shell h5,
#stop_wallet-bsoft-app-shell button,
#stop_wallet-bsoft-app-shell label,
#stop_wallet-bsoft-app-shell th,
#stop_wallet-bsoft-app-shell .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 ---------- */

#stop_wallet-bsoft-app-shell input,
#stop_wallet-bsoft-app-shell select,
#stop_wallet-bsoft-app-shell 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;
}

#stop_wallet-bsoft-app-shell input:focus,
#stop_wallet-bsoft-app-shell select:focus,
#stop_wallet-bsoft-app-shell 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;
}

#stop_wallet-bsoft-app-shell button,
.sw-donation-wrap button,
.sw-campaign-builder button{
    border-radius:10px;
}

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

#stop_wallet-bsoft-app-shell .sw-dashboard{
    --sw-dashboard-primary:var(--sw-premium-primary);
    --sw-dashboard-dark:var(--sw-premium-primary-dark);
}

#stop_wallet-bsoft-app-shell .sw-main{
    min-width:0;
}

#stop_wallet-bsoft-app-shell .sw-content{
    padding:24px;
}

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

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

#stop_wallet-bsoft-app-shell .sw-menu a{
    border-radius:11px;
    transition:.2s ease;
}

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

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

/* Dashboard buttons */
#stop_wallet-bsoft-app-shell .sw-btn,
#stop_wallet-bsoft-app-shell .sw-button,
#stop_wallet-bsoft-app-shell 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);
}

#stop_wallet-bsoft-app-shell .sw-btn:hover,
#stop_wallet-bsoft-app-shell .sw-button:hover,
#stop_wallet-bsoft-app-shell 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){
    #stop_wallet-bsoft-app-shell .sw-content{
        padding:17px;
    }

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

@media(max-width:680px){
    #stop_wallet-bsoft-app-shell .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){
    #stop_wallet-bsoft-app-shell *,
    .sw-donation-wrap *,
    .sw-campaign-builder *,
    .sw-approved-campaigns *{
        transition-duration:.01ms !important;
        animation-duration:.01ms !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;
    }
}
