/* ═══════════════════════════════════════════════════════════════════════════
   mobile-fix.css  —  Master Responsive CSS  v2.0
   Covers ALL pages: public, admin, user dashboard
   Breakpoints: 320 / 375 / 425 / 576 / 768 / 992 / 1024 / 1200 / 1440
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── 1. GLOBAL BASE ─────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html {
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
    min-width: 0;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
}

img, video, iframe, embed, object, svg {
    max-width: 100%;
    height: auto;
}

img { display: block; }

/* ─── PREVENT ALL HORIZONTAL OVERFLOW ───────────────────────────────────── */
#wrapper,
#content,
main,
.container-fluid,
.container,
.row,
.component,
.component-content {
    max-width: 100%;
    overflow-x: hidden;
}

/* ─── 2. KILL THE WHITE GAP UNDER HEADER ────────────────────────────────── */
#wrapper .header-with-megamenu.new-header .stx-main-bar::after {
    display: none !important;
}

#wrapper { padding-top: 0 !important; }

header {
    position: sticky;
    top: 0;
    z-index: 1001;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

/* ─── 3. HEADER — MOBILE (≤1024px) ──────────────────────────────────────── */
@media (max-width: 1024px) {
    .header-with-megamenu.new-header .stx-main-bar::after {
        display: none !important;
    }
    .header-with-megamenu.new-header.menu-visible {
        overflow: visible !important;
    }
    /* Mobile nav drawer — fixed full-screen, starts below header */
    .header-with-megamenu.new-header .stx-navigation {
        top: 56px !important;
    }
}

/* Prevent body scroll when mobile nav is open */
body.menu-open {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
}

/* ─── 4. CONTAINERS & LAYOUT ─────────────────────────────────────────────── */
.container, .container-fluid {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
}

.row { margin-left: 0; margin-right: 0; }

@media (max-width: 576px) {
    .container, .container-fluid {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* ─── 5. TYPOGRAPHY ──────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    h1 { font-size: clamp(22px, 5.5vw, 36px) !important; line-height: 1.2 !important; }
    h2 { font-size: clamp(18px, 4.5vw, 28px) !important; line-height: 1.25 !important; }
    h3 { font-size: clamp(16px, 4vw, 22px) !important; line-height: 1.3 !important; }
    h4 { font-size: clamp(14px, 3.5vw, 18px) !important; }
    p  { font-size: 14px !important; line-height: 1.6 !important; }
}

@media (max-width: 375px) {
    h1 { font-size: 20px !important; }
    h2 { font-size: 17px !important; }
    h3 { font-size: 15px !important; }
    p  { font-size: 13px !important; }
}

/* ─── 6. PAGE HEADING / HERO ─────────────────────────────────────────────── */
@media (max-width: 768px) {
    .page-heading { padding: 30px 15px !important; }
    .page-heading .page-heading-content { padding: 0 !important; }
    .page-heading .button-section {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        align-items: stretch !important;
        margin-top: 20px !important;
    }
    .page-heading .button-section .button { width: 100% !important; }
    .page-heading .button-section .button a {
        width: 100% !important;
        text-align: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 48px !important;
    }
    .page-heading .background-image { opacity: 0.15 !important; }
}

/* ─── 7. GRID COLUMNS — STACK ON MOBILE ─────────────────────────────────── */
@media (max-width: 768px) {
    [class*="col-lg-"],
    [class*="col-md-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    .col-12 { padding-left: 12px !important; padding-right: 12px !important; }
}

/* ─── 8. FORMS ───────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="number"],
    input[type="tel"],
    input[type="date"],
    textarea,
    select {
        width: 100% !important;
        font-size: 16px !important; /* prevents iOS zoom */
        padding: 10px 12px !important;
        line-height: 1.4 !important;
    }
    .form-group { margin-bottom: 16px !important; }
}

/* ─── 9. BUTTONS ─────────────────────────────────────────────────────────── */
@media (max-width: 576px) {
    .page-heading .button-primary a,
    .page-heading .button-bordered-secondary a,
    .cta-get-started .button a,
    .cta-with-cards .button a {
        min-height: 48px !important;
        padding: 12px 20px !important;
        font-size: 14px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* ─── 10. TABLES ─────────────────────────────────────────────────────────── */
@media (max-width: 992px) {
    .accounts-table,
    .admin-table,
    .table-wrapper,
    .comparison-table,
    .pricing-table {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        display: block !important;
    }
    table { min-width: 500px; }
    th, td {
        white-space: nowrap;
        padding: 10px 12px !important;
        font-size: 13px !important;
    }
}

/* ─── 11. TABS (public pages) ────────────────────────────────────────────── */
@media (max-width: 768px) {
    .tabs-nav,
    .horizontal-tabs-headings,
    .pricing-tabs--market-tabs {
        overflow-x: auto !important;
        white-space: nowrap !important;
        -webkit-overflow-scrolling: touch;
        display: flex !important;
        flex-wrap: nowrap !important;
        scrollbar-width: none;
    }
    .tabs-nav::-webkit-scrollbar,
    .horizontal-tabs-headings::-webkit-scrollbar { display: none; }
    .tab-nav, .tab-heading {
        flex-shrink: 0 !important;
        white-space: nowrap !important;
    }
}

/* ─── 12. TWO-COLUMN CALLOUT ─────────────────────────────────────────────── */
@media (max-width: 768px) {
    .two-column-callout > .component-content { flex-direction: column !important; }
    .two-column-callout .col-text,
    .two-column-callout .col-img {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 15px !important;
    }
    .two-column-callout .col-img img {
        max-width: 100% !important;
        margin: 0 auto !important;
    }
}

/* ─── 13. TEASERS LIST ───────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .teasers-list .teasers-list-body { flex-direction: column !important; }
    .teasers-list .teaser {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ─── 14. ICON LINK LIST ─────────────────────────────────────────────────── */
@media (max-width: 576px) {
    .icon-link-list ul {
        flex-direction: column !important;
        gap: 12px !important;
    }
}

/* ─── 15. COMPARISON TABLE ───────────────────────────────────────────────── */
@media (max-width: 768px) {
    .comparison-table { padding: 0 12px !important; }
    .comparison-table-inner { padding: 20px 12px !important; }
    .comparison-table-head-values > div { min-width: 90px !important; }
}

/* ─── 16. AWARDS ─────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .awards .awards-list {
        flex-direction: column !important;
        align-items: center !important;
    }
    .awards .award-item { width: 100% !important; max-width: 300px !important; }
}

/* ─── 17. FAQ ────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .faq-item { padding: 14px 0 !important; }
    .faq-item .field-question { font-size: 14px !important; }
    .faq-item .field-answer { font-size: 13px !important; }
}

/* ─── 18. FOOTER ─────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    #footer .column-splitter > .row > [class*="col-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px !important;
    }
    #footer .link-list ul {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    #footer .link-list li { margin-bottom: 0 !important; }
}

/* ─── 19. COOKIE BANNER ──────────────────────────────────────────────────── */
@media (max-width: 576px) {
    .cc-window.cc-banner {
        position: fixed !important;
        bottom: 0 !important;
        top: auto !important;
        left: 0 !important;
        transform: none !important;
        width: 100% !important;
        height: auto !important;
        flex-direction: column !important;
    }
    .cc-message-container,
    .cc-banner .cc-compliance {
        min-width: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        padding: 16px !important;
    }
}

/* ─── 20. LOGIN PAGE — FULL MOBILE FIX ──────────────────────────────────── */
@media (max-width: 1024px) {
    [style*="loginbg.jpg"] {
        padding: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
        overflow: hidden !important;
    }
}

@media (max-width: 992px) {
    .desktop-only { display: none !important; }
    .mobile-only  { display: block !important; }
}

@media (max-width: 992px) {
    .vertical-tabs,
    .vertical-tabs .component-content {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
    .vertical-tabs .tab {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 8px !important;
        overflow: hidden !important;
        border-radius: 10px !important;
    }
    .vertical-tabs .tab-heading {
        padding: 14px 16px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
    .vertical-tabs .tab-heading .tab-wrapper,
    .vertical-tabs .tab-heading .tab-wrapper > .component-content {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
    .vertical-tabs .tab-heading .tab-wrapper > .component-content .texts-section {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }
    .vertical-tabs .tab-heading .field-verticaltabtitle {
        font-size: 15px !important;
        line-height: 22px !important;
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        display: block !important;
        color: #12225c !important;
    }
    .vertical-tabs .tab-heading .field-verticaltabtitle::after {
        display: none !important;
        content: none !important;
    }
    .vertical-tabs .tab-heading .field-verticaltabdescription {
        font-size: 13px !important;
        line-height: 18px !important;
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        color: #555 !important;
    }
    .vertical-tabs .tab-content,
    .vertical-tabs .tab-content-inner {
        padding: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
    .vertical-tabs .horizontal-tabs {
        margin-left: 0 !important;
        margin-right: 0 !important;
        flex-direction: column !important;
        width: 100% !important;
    }
    .vertical-tabs .horizontal-tabs > div {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        flex: none !important;
    }
    .tab-content-inner {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
    .vertical-tabs .tab-content .row,
    .vertical-tabs .tab-content-inner .row,
    .tab-content-inner .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
    .vertical-tabs .tab-content .col-12,
    .vertical-tabs .tab-content-inner .col-12,
    .tab-content-inner .col-12 {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ─── 21. LOGIN FORM MOBILE ──────────────────────────────────────────────── */
@media (max-width: 992px) {
    .sitecore-form,
    .sitecore-form .component-content {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
    .login-form,
    form.login-form,
    .sitecore-form form.login-form {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        display: block !important;
    }
    .login-form h2,
    .login-form .login-form__header {
        font-size: 16px !important;
        line-height: 1.4 !important;
        margin-bottom: 8px !important;
        color: #12225c !important;
        white-space: normal !important;
        word-break: break-word !important;
    }
    .login-form > p:not(.login-form__forgot):not(:last-child) {
        font-size: 12px !important;
        line-height: 1.5 !important;
        margin-bottom: 14px !important;
        color: #555 !important;
        white-space: normal !important;
        word-break: break-word !important;
    }
    .login-form .floating-label,
    .login-form .form-section {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 12px !important;
        box-sizing: border-box !important;
    }
    .login-form input[type="email"],
    .login-form input[type="password"],
    .login-form input[type="text"],
    #email, #email1,
    #password, #password1 {
        width: 100% !important;
        max-width: 100% !important;
        height: 46px !important;
        font-size: 16px !important;
        padding: 10px 12px !important;
        border: 1px solid #ccc !important;
        border-radius: 6px !important;
        box-sizing: border-box !important;
        display: block !important;
        -webkit-appearance: none;
        appearance: none;
    }
    .login-form .login-form__footer {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        margin-top: 10px !important;
        margin-bottom: 14px !important;
        width: 100% !important;
    }
    .login-form .login-form__footer > div {
        display: flex !important;
        align-items: center !important;
        font-size: 13px !important;
        gap: 5px !important;
        white-space: nowrap !important;
    }
    .login-form .login-form__forgot {
        margin: 0 !important;
        font-size: 13px !important;
    }
    .login-form .login-form__forgot a {
        font-size: 13px !important;
        white-space: nowrap !important;
    }
    .login-form .buttons-section {
        width: 100% !important;
        margin-top: 4px !important;
        box-sizing: border-box !important;
    }
    .login-form .buttons-section input[type="button"],
    .login-form .buttons-section input[type="submit"],
    input#login_Form,
    input#login_Form1 {
        width: 100% !important;
        max-width: 100% !important;
        height: 46px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        border-radius: 6px !important;
        cursor: pointer !important;
        display: block !important;
        text-align: center !important;
        box-sizing: border-box !important;
        -webkit-appearance: none;
        appearance: none;
    }
    .login-form > p:last-child {
        font-size: 13px !important;
        text-align: center !important;
        margin-top: 10px !important;
        white-space: normal !important;
    }
}

/* ─── 22. MOBILE-ONLY CONTAINERS ────────────────────────────────────────── */
@media (max-width: 992px) {
    .mobile-only {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
    .mobile-only .component,
    .mobile-only .component-content,
    .mobile-only .row,
    .mobile-only .col-12 {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .container-dark-background.rounded {
        border-radius: 10px !important;
        padding: 16px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
    .container-dark-background.rounded h2 {
        font-size: 16px !important;
        margin: 0 0 8px 0 !important;
        line-height: 1.3 !important;
        white-space: normal !important;
    }
    .container-dark-background.rounded p {
        font-size: 13px !important;
        margin-bottom: 14px !important;
        white-space: normal !important;
        word-break: break-word !important;
    }
    .container-dark-background.rounded .button-primary a {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        padding: 12px !important;
        font-size: 14px !important;
        box-sizing: border-box !important;
    }
}

/* ─── 23. SPACING UTILITIES ──────────────────────────────────────────────── */
@media (max-width: 992px) {
    .spacing-m-t-50 { margin-top: 24px !important; }
    .spacing-m-b-50 { margin-bottom: 24px !important; }
    .spacing-m-t-15 { margin-top: 8px !important; }
    .spacing-m-b-15 { margin-bottom: 8px !important; }
    .my-lg { margin-top: 20px !important; margin-bottom: 20px !important; }
    .my-md { margin-top: 16px !important; margin-bottom: 16px !important; }
    .my-sm { margin-top: 12px !important; margin-bottom: 12px !important; }
    .py-sm { padding-top: 12px !important; padding-bottom: 12px !important; }
    .px-0 { padding-left: 0 !important; padding-right: 0 !important; }
}

/* ─── 24. BOOTSTRAP ROW OVERFLOW FIX ────────────────────────────────────── */
@media (max-width: 992px) {
    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .col-12 {
        padding-left: 12px !important;
        padding-right: 12px !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
    [style*="min-width: 5"],
    [style*="min-width:5"] {
        min-width: 0 !important;
    }
}

/* ─── 25. DROPDOWN MODULE ────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .dropdown .dropdown-composite-text { width: 100% !important; }
    .dropdown .dropdown-composite-selected { width: 100% !important; }
}

/* ─── 26. CURRENCY CONVERTER / MARGIN CALCULATOR ────────────────────────── */
@media (max-width: 768px) {
    .currency-converter .form-row,
    .margin-pip-calculator .form-row {
        flex-direction: column !important;
    }
    .currency-converter .form-group,
    .margin-pip-calculator .form-group {
        width: 100% !important;
    }
}

/* ─── 27. PRICING COMPONENT ──────────────────────────────────────────────── */
@media (max-width: 768px) {
    .pricing-tabs-wrapper { border-radius: 0 !important; margin: 0 -12px !important; }
    .pricing-tabs--market-tabs { overflow-x: auto !important; }
    .pricing-search-bar__input { min-width: 100% !important; }
}

/* ─── 28. USER DASHBOARD ─────────────────────────────────────────────────── */
@media (max-width: 768px) {
    /* Sidebar: use transform (GPU-accelerated), NOT left positioning */
    .sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        height: 100vh !important;
        width: 260px !important;
        max-width: 80vw !important;
        z-index: 1100 !important;
        transform: translateX(-100%) !important;
        transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1) !important;
        overflow-y: auto !important;
        will-change: transform !important;
        box-shadow: 4px 0 20px rgba(0, 0, 0, 0.25) !important;
    }
    .sidebar.active {
        transform: translateX(0) !important;
        left: 0 !important;
    }

    /* Overlay */
    .sidebar-overlay {
        display: none !important;
        position: fixed !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: rgba(0, 0, 0, 0.55) !important;
        z-index: 1099 !important;
        opacity: 0 !important;
        transition: opacity 0.3s ease !important;
    }
    .sidebar-overlay.active {
        display: block !important;
        opacity: 1 !important;
    }

    /* Hamburger toggle — always visible on mobile */
    .mobile-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        font-size: 24px !important;
        cursor: pointer !important;
        background: rgba(255,255,255,0.15) !important;
        border: none !important;
        border-radius: 6px !important;
        color: #fff !important;
        flex-shrink: 0 !important;
        touch-action: manipulation !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    /* Close button inside sidebar — show on mobile */
    .mobile-close-btn {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        font-size: 22px !important;
        cursor: pointer !important;
        color: #fff !important;
        margin-left: auto !important;
        flex-shrink: 0 !important;
        touch-action: manipulation !important;
        -webkit-tap-highlight-color: transparent !important;
        line-height: 1 !important;
    }

    .main-area { width: 100% !important; }

    /* Dashboard header */
    .dashboard-header { padding: 0 14px !important; min-height: 56px !important; }
    .dashboard-header h1,
    .dashboard-header .dashboard-title { font-size: 17px !important; }
    .dashboard-header .user-info span { display: none !important; }
    .dashboard-header .user-info a { padding: 6px 10px !important; font-size: 12px !important; }
    .dashboard-left {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        min-width: 0 !important;
    }

    /* Dashboard layout */
    .container { padding: 15px 12px !important; }
    .dashboard-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
    .info-grid { grid-template-columns: 1fr !important; }
    .payment-methods { grid-template-columns: 1fr 1fr !important; }
    .platform-grid { grid-template-columns: 1fr !important; }

    /* Tabs scroll horizontally */
    .tabs {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 5px !important;
        scrollbar-width: none;
    }
    .tabs::-webkit-scrollbar { display: none; }
    .tab { flex: 0 0 auto !important; white-space: nowrap !important; padding: 8px 14px !important; font-size: 13px !important; }

    /* Credential boxes stack */
    .credential-box {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }
    .c-copy-btn { width: 100% !important; text-align: center !important; }

    /* Buttons full width in dashboard */
    .card .btn { width: 100% !important; display: block !important; margin-bottom: 8px !important; }

    /* Stat card amounts */
    .stat-card .amount { font-size: 26px !important; }

}

@media (max-width: 480px) {
    .payment-methods { grid-template-columns: 1fr !important; }
}

@media (max-width: 375px) {
    .credential-box { padding: 10px !important; }
    .c-value { font-size: 13px !important; }
    .stat-card .amount { font-size: 22px !important; }
}

/* ─── 29. ADMIN PANEL ────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    /* Admin header wraps */
    .admin-header {
        flex-wrap: wrap !important;
        padding: 14px 16px !important;
        gap: 10px !important;
    }
    .admin-header h1 {
        font-size: 18px !important;
        width: 100% !important;
    }
    .admin-header .user-info,
    .admin-header > div {
        width: 100% !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    .admin-header a {
        font-size: 12px !important;
        padding: 6px 12px !important;
    }
    .admin-header span { font-size: 12px !important; }

    /* Stats 2-col */
    .stats-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
    }
    .stat-card { padding: 14px !important; }
    .stat-card .number { font-size: 24px !important; }
    .stat-card h3 { font-size: 12px !important; }

    /* Tabs scroll */
    .tabs {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 8px !important;
        gap: 6px !important;
    }
    .tabs::-webkit-scrollbar { display: none; }
    .tab {
        flex-shrink: 0 !important;
        white-space: nowrap !important;
        font-size: 12px !important;
        padding: 8px 12px !important;
    }

    /* Filters wrap */
    .filters {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        padding: 12px !important;
    }
    .filters a {
        font-size: 12px !important;
        padding: 6px 10px !important;
    }

    /* Action bar stacks */
    .action-bar {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }
    .action-bar h2 { font-size: 17px !important; }
    .btn-create {
        text-align: center !important;
        width: 100% !important;
        padding: 12px !important;
    }

    /* Action buttons stack */
    .action-buttons {
        flex-direction: column !important;
        gap: 6px !important;
        align-items: stretch !important;
    }
    .action-buttons .btn {
        width: 100% !important;
        text-align: center !important;
        font-size: 13px !important;
        padding: 10px 16px !important;
    }
    .btn-action, .btn {
        width: 100% !important;
        text-align: center !important;
        font-size: 12px !important;
    }

    /* Balance form row — stack on mobile */
    .balance-form-row {
        flex-direction: column !important;
        gap: 10px !important;
    }
    .balance-form-row input,
    .balance-form-row select,
    .balance-form-row button {
        width: 100% !important;
        font-size: 15px !important;
    }

    /* Detail grid — single column */
    .detail-grid {
        grid-template-columns: 1fr !important;
    }

    /* Container */
    .container {
        padding: 0 12px !important;
        margin: 12px auto !important;
    }
}

@media (max-width: 375px) {
    .stats-grid { grid-template-columns: 1fr !important; }
    .admin-header h1 { font-size: 15px !important; }
}

/* ─── 30. ADMIN LOGIN / OTP PAGES ───────────────────────────────────────── */
@media (max-width: 480px) {
    .login-container,
    .login-card,
    .otp-card {
        padding: 28px 20px !important;
        margin: 16px !important;
        border-radius: 10px !important;
    }
    .login-container h1,
    .login-card h3,
    .otp-card h3 { font-size: 20px !important; }

    /* OTP input boxes — smaller on tiny screens */
    .otp-inputs { gap: 6px !important; }
    .otp-inputs input {
        width: 40px !important;
        height: 48px !important;
        font-size: 18px !important;
    }
}

@media (max-width: 360px) {
    .otp-inputs input {
        width: 36px !important;
        height: 44px !important;
        font-size: 16px !important;
    }
}

/* ─── 31. STEP / ACCOUNT OPENING FORM ───────────────────────────────────── */
@media (max-width: 768px) {
    .step-form .form-grid,
    .form-grid {
        grid-template-columns: 1fr !important;
    }
    .step-form .form-group { width: 100% !important; }
}

/* ─── 32. TOUCH TARGETS ──────────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .navTrigger, .stx-hamburger {
        min-width: 44px !important;
        min-height: 44px !important;
    }
    a, button, [role="button"] {
        -webkit-tap-highlight-color: transparent;
    }
}

/* ─── 33. PREVENT INLINE STYLE OVERFLOW ─────────────────────────────────── */
@media (max-width: 576px) {
    [style*="min-width: 5"],
    [style*="min-width:5"] {
        min-width: 0 !important;
    }
    [style*="width: 50%"],
    [style*="width: 33%"],
    [style*="width: 25%"] {
        width: 100% !important;
    }
}

/* ─── 34. EDIT PROFILE PAGE ──────────────────────────────────────────────── */
@media (max-width: 768px) {
    .form-row {
        grid-template-columns: 1fr !important;
    }
    .form-buttons {
        flex-direction: column !important;
        gap: 10px !important;
    }
    .form-buttons .btn {
        width: 100% !important;
        text-align: center !important;
    }
}

/* ─── 35. VIEW ACCOUNT / VIEW PAYMENT PAGES ─────────────────────────────── */
@media (max-width: 768px) {
    .account-details,
    .payment-details {
        padding: 20px 15px !important;
    }
    .section h2 { font-size: 16px !important; }
    .detail-item .value { font-size: 13px !important; }
    .detail-item label { font-size: 11px !important; }
    .screenshot img { max-width: 100% !important; height: auto !important; }
}

/* ─── 36. PAYMENT DETAILS ADMIN PAGE ────────────────────────────────────── */
@media (max-width: 768px) {
    .header {
        padding: 14px 16px !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    .header h1 { font-size: 17px !important; width: 100% !important; }
    .header a { font-size: 12px !important; padding: 6px 10px !important; }
    .card { padding: 20px 15px !important; }
    .card h2 { font-size: 16px !important; }
    .current-qr { max-width: 150px !important; }
}

/* ─── 37. PRINT ──────────────────────────────────────────────────────────── */
@media print {
    header, .stx-navigation, .navTrigger, #footer, .sidebar { display: none !important; }
    body { overflow: visible !important; }
}

/* ─── 38. LOGO — handled entirely in logo-branding.css ──────────────────── */
/* All .stx-logo rules have been moved to logo-branding.css to avoid conflicts. */


