/* Premium Payment Gateway User UI
   Applies only to user-side pages that explicitly load this file.
   Admin pages are not linked to this stylesheet. */
:root {
    --pg-primary: #2563eb;
    --pg-primary-2: #06b6d4;
    --pg-primary-dark: #0f172a;
    --pg-primary-deep: #111827;
    --pg-success: #16a34a;
    --pg-warning: #f59e0b;
    --pg-danger: #dc2626;
    --pg-info: #0ea5e9;
    --pg-bg: #f4f7fb;
    --pg-bg-2: #eef4ff;
    --pg-card: rgba(255, 255, 255, 0.94);
    --pg-card-solid: #ffffff;
    --pg-text: #0f172a;
    --pg-muted: #64748b;
    --pg-border: #e5e7eb;
    --pg-soft-blue: rgba(37, 99, 235, 0.10);
    --pg-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
    --pg-shadow-soft: 0 10px 28px rgba(15, 23, 42, 0.08);
    --pg-radius: 22px;
    --pg-radius-sm: 14px;
}

html { scroll-behavior: smooth; }

body.user-premium-ui {
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, 0.13), transparent 28%),
        radial-gradient(circle at 8% 18%, rgba(22, 163, 74, 0.10), transparent 26%),
        linear-gradient(180deg, #f8fbff 0%, var(--pg-bg) 44%, #eef3fb 100%) !important;
    color: var(--pg-text);
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

body.user-premium-ui::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(37, 99, 235, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(37, 99, 235, 0.035) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.72), transparent 78%);
    z-index: -1;
}

body.user-premium-ui .dashboard-container { position: relative; }
body.user-premium-ui .main-content {
    padding-top: 1.25rem;
    position: relative;
}

/* Premium sidebar */
body.user-premium-ui .sidebar-full {
    background:
        radial-gradient(circle at 18% 8%, rgba(37,99,235,0.35), transparent 30%),
        radial-gradient(circle at 90% 28%, rgba(14,165,233,0.22), transparent 24%),
        linear-gradient(180deg, #08111f 0%, #0f172a 48%, #111827 100%) !important;
    border-right: 1px solid rgba(255,255,255,.08);
    box-shadow: 16px 0 44px rgba(15,23,42,.17);
}
body.user-premium-ui .sidebar-full h4,
body.user-premium-ui .mobile-side-menu-header h4 {
    font-weight: 900;
    letter-spacing: -.4px;
}
body.user-premium-ui .sidebar-full h4::before,
body.user-premium-ui .mobile-side-menu-header h4::before {
    content: "\f3d1";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-right: 8px;
    border-radius: 12px;
    background: linear-gradient(135deg, #22c55e, #2563eb);
    box-shadow: 0 10px 22px rgba(37,99,235,.35);
}
body.user-premium-ui .sidebar .nav-link,
body.user-premium-ui .mobile-side-menu-nav .nav-link {
    border-radius: 14px;
    margin: 3px 0;
    font-weight: 700;
    letter-spacing: -.1px;
    color: rgba(255,255,255,.78) !important;
    transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
body.user-premium-ui .sidebar .nav-link:hover,
body.user-premium-ui .mobile-side-menu-nav .nav-link:hover {
    transform: translateX(4px);
    color: #fff !important;
    background: rgba(255,255,255,.10) !important;
}
body.user-premium-ui .sidebar .nav-link.active,
body.user-premium-ui .mobile-side-menu-nav .nav-link.active {
    color: #fff !important;
    background: linear-gradient(135deg, rgba(37,99,235,.95), rgba(14,165,233,.82)) !important;
    box-shadow: 0 12px 28px rgba(37,99,235,.28);
}
body.user-premium-ui .nav-section-header span,
body.user-premium-ui .nav-section-header {
    letter-spacing: .9px;
    font-weight: 900;
}
body.user-premium-ui .mobile-side-menu {
    background: linear-gradient(180deg, #08111f, #0f172a 65%, #111827) !important;
    box-shadow: 24px 0 60px rgba(2, 6, 23, .35);
}
body.user-premium-ui .menu-toggle-btn {
    background: linear-gradient(135deg, var(--pg-primary), var(--pg-primary-2)) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: 0 14px 30px rgba(37,99,235,.35) !important;
}

/* Premium page headers and hero cards */
body.user-premium-ui .header,
body.user-premium-ui .page-header,
body.user-premium-ui .welcome-banner,
body.user-premium-ui .wallet-hero,
body.user-premium-ui .accounts-hero,
body.user-premium-ui .verification-header,
body.user-premium-ui .api-logs-hero,
body.user-premium-ui .sms-alerts-hero {
    border-radius: 26px !important;
    border: 1px solid rgba(255,255,255,.40) !important;
    box-shadow: var(--pg-shadow) !important;
    position: relative;
    overflow: hidden;
}
body.user-premium-ui .header:not(.card-header),
body.user-premium-ui .page-header,
body.user-premium-ui .wallet-hero,
body.user-premium-ui .accounts-hero,
body.user-premium-ui .verification-header,
body.user-premium-ui .api-logs-hero,
body.user-premium-ui .sms-alerts-hero {
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.26), transparent 25%),
        linear-gradient(135deg, #0f172a, #2563eb 62%, #06b6d4) !important;
    color: #fff !important;
    padding: 24px !important;
}
body.user-premium-ui .header::after,
body.user-premium-ui .page-header::after,
body.user-premium-ui .wallet-hero::after,
body.user-premium-ui .accounts-hero::after,
body.user-premium-ui .verification-header::after,
body.user-premium-ui .api-logs-hero::after,
body.user-premium-ui .sms-alerts-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 26px 26px;
    opacity: .35;
    pointer-events: none;
}
body.user-premium-ui .header-title,
body.user-premium-ui h1,
body.user-premium-ui h2,
body.user-premium-ui h3,
body.user-premium-ui h4,
body.user-premium-ui h5 {
    letter-spacing: -.45px;
}
body.user-premium-ui .page-subtitle,
body.user-premium-ui .text-muted,
body.user-premium-ui .form-text {
    color: var(--pg-muted) !important;
}
body.user-premium-ui .wallet-hero .wallet-hero-subtitle,
body.user-premium-ui .accounts-hero p,
body.user-premium-ui .verification-header p,
body.user-premium-ui .api-logs-hero p,
body.user-premium-ui .sms-alerts-hero p,
body.user-premium-ui .welcome-banner p {
    color: rgba(255,255,255,.88) !important;
}

/* Cards */
body.user-premium-ui .card,
body.user-premium-ui .account-card,
body.user-premium-ui .wallet-card,
body.user-premium-ui .notification-card,
body.user-premium-ui .log-card,
body.user-premium-ui .auth-card,
body.user-premium-ui .verification-card,
body.user-premium-ui .setting-card,
body.user-premium-ui .empty-state,
body.user-premium-ui .stat-card {
    background: var(--pg-card) !important;
    border: 1px solid rgba(226, 232, 240, .92) !important;
    border-radius: var(--pg-radius) !important;
    box-shadow: var(--pg-shadow-soft) !important;
    backdrop-filter: blur(12px);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
body.user-premium-ui .card:hover,
body.user-premium-ui .account-card:hover,
body.user-premium-ui .wallet-card:hover,
body.user-premium-ui .notification-card:hover,
body.user-premium-ui .log-card:hover,
body.user-premium-ui .verification-card:hover,
body.user-premium-ui .setting-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 50px rgba(15,23,42,.13) !important;
    border-color: rgba(37,99,235,.22) !important;
}
body.user-premium-ui .card-header {
    background: linear-gradient(180deg, rgba(248,250,252,.98), rgba(255,255,255,.96)) !important;
    border-bottom: 1px solid rgba(226,232,240,.92) !important;
    font-weight: 900;
    color: var(--pg-text) !important;
}
body.user-premium-ui .card-header.bg-primary,
body.user-premium-ui .card-header.bg-success,
body.user-premium-ui .card-header.bg-info,
body.user-premium-ui .card-header.bg-danger,
body.user-premium-ui .card-header.bg-warning {
    color: #fff !important;
    border-bottom: 0 !important;
}
body.user-premium-ui .card-header.bg-primary { background: linear-gradient(135deg, #2563eb, #06b6d4) !important; }
body.user-premium-ui .card-header.bg-success { background: linear-gradient(135deg, #16a34a, #22c55e) !important; }
body.user-premium-ui .card-header.bg-info { background: linear-gradient(135deg, #0ea5e9, #2563eb) !important; }
body.user-premium-ui .card-header.bg-danger { background: linear-gradient(135deg, #dc2626, #f43f5e) !important; }
body.user-premium-ui .card-header.bg-warning { background: linear-gradient(135deg, #f59e0b, #f97316) !important; color:#fff !important; }

/* Stat cards and balance cards */
body.user-premium-ui .stat-card,
body.user-premium-ui .wallet-balance-card,
body.user-premium-ui .balance-card,
body.user-premium-ui .summary-card {
    overflow: hidden;
    position: relative;
}
body.user-premium-ui .stat-card::after,
body.user-premium-ui .wallet-balance-card::after,
body.user-premium-ui .balance-card::after,
body.user-premium-ui .summary-card::after {
    content: "";
    position: absolute;
    right: -34px;
    top: -34px;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(37,99,235,.14), transparent 70%);
    pointer-events: none;
}
body.user-premium-ui .stat-card i,
body.user-premium-ui .wallet-balance-card i {
    width: 56px;
    height: 56px;
    display: inline-grid;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(37,99,235,.13), rgba(14,165,233,.12));
    color: var(--pg-primary) !important;
}
body.user-premium-ui .number,
body.user-premium-ui .wallet-balance-text,
body.user-premium-ui .balance-amount {
    font-weight: 950 !important;
    letter-spacing: -.9px;
    color: var(--pg-text) !important;
}

/* Forms */
body.user-premium-ui .form-control,
body.user-premium-ui .form-select,
body.user-premium-ui textarea,
body.user-premium-ui input[type="text"],
body.user-premium-ui input[type="number"],
body.user-premium-ui input[type="tel"],
body.user-premium-ui input[type="email"],
body.user-premium-ui input[type="password"] {
    border: 1px solid rgba(203,213,225,.92) !important;
    border-radius: 15px !important;
    padding: .78rem .95rem;
    background: rgba(255,255,255,.92) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
body.user-premium-ui .form-control:focus,
body.user-premium-ui .form-select:focus,
body.user-premium-ui textarea:focus,
body.user-premium-ui input:focus {
    border-color: rgba(37,99,235,.82) !important;
    box-shadow: 0 0 0 .25rem rgba(37,99,235,.13), 0 10px 24px rgba(37,99,235,.08) !important;
    transform: translateY(-1px);
}
body.user-premium-ui label,
body.user-premium-ui .form-label {
    font-weight: 800;
    color: #334155;
    margin-bottom: .45rem;
}
body.user-premium-ui .input-group-icon i { color: var(--pg-primary) !important; }

/* Buttons */
body.user-premium-ui .btn {
    border-radius: 14px !important;
    font-weight: 850 !important;
    letter-spacing: -.15px;
    box-shadow: none;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
body.user-premium-ui .btn:hover { transform: translateY(-2px); }
body.user-premium-ui .btn-primary,
body.user-premium-ui .btn-info {
    background: linear-gradient(135deg, #2563eb, #06b6d4) !important;
    border: 0 !important;
    color: #fff !important;
    box-shadow: 0 12px 26px rgba(37,99,235,.24) !important;
}
body.user-premium-ui .btn-success {
    background: linear-gradient(135deg, #16a34a, #22c55e) !important;
    border: 0 !important;
    color: #fff !important;
    box-shadow: 0 12px 26px rgba(22,163,74,.22) !important;
}
body.user-premium-ui .btn-danger {
    background: linear-gradient(135deg, #dc2626, #f43f5e) !important;
    border: 0 !important;
    color: #fff !important;
    box-shadow: 0 12px 26px rgba(220,38,38,.20) !important;
}
body.user-premium-ui .btn-warning {
    background: linear-gradient(135deg, #f59e0b, #f97316) !important;
    border: 0 !important;
    color: #fff !important;
    box-shadow: 0 12px 26px rgba(245,158,11,.22) !important;
}
body.user-premium-ui .btn-outline-primary,
body.user-premium-ui .btn-outline-secondary,
body.user-premium-ui .btn-outline-light {
    border-width: 1.5px !important;
    background: rgba(255,255,255,.74);
    backdrop-filter: blur(8px);
}

/* Alerts, badges, status */
body.user-premium-ui .alert {
    border-radius: 18px !important;
    border: 1px solid rgba(226,232,240,.9) !important;
    box-shadow: 0 12px 28px rgba(15,23,42,.08);
    font-weight: 650;
}
body.user-premium-ui .badge,
body.user-premium-ui .status-badge,
body.user-premium-ui .account-type {
    border-radius: 999px !important;
    padding: .42rem .72rem !important;
    font-weight: 850 !important;
    letter-spacing: .1px;
}
body.user-premium-ui .bg-success,
body.user-premium-ui .status-completed,
body.user-premium-ui .status-approved,
body.user-premium-ui .status-paid,
body.user-premium-ui .status-active {
    background: linear-gradient(135deg, #dcfce7, #bbf7d0) !important;
    color: #166534 !important;
}
body.user-premium-ui .bg-warning,
body.user-premium-ui .status-pending {
    background: linear-gradient(135deg, #fef3c7, #fed7aa) !important;
    color: #92400e !important;
}
body.user-premium-ui .bg-danger,
body.user-premium-ui .status-failed,
body.user-premium-ui .status-rejected {
    background: linear-gradient(135deg, #fee2e2, #fecaca) !important;
    color: #991b1b !important;
}
body.user-premium-ui .bg-secondary,
body.user-premium-ui .status-disabled,
body.user-premium-ui .status-cancelled {
    background: linear-gradient(135deg, #f1f5f9, #e2e8f0) !important;
    color: #475569 !important;
}
body.user-premium-ui .bg-primary,
body.user-premium-ui .account-paybill,
body.user-premium-ui .account-till,
body.user-premium-ui .account-bank {
    background: linear-gradient(135deg, #dbeafe, #cffafe) !important;
    color: #1d4ed8 !important;
}

/* Tables become premium */
body.user-premium-ui .table-responsive {
    border-radius: 18px;
    overflow: hidden;
}
body.user-premium-ui .table {
    margin-bottom: 0;
    --bs-table-bg: transparent;
}
body.user-premium-ui .table thead th {
    background: #f8fafc !important;
    color: #475569 !important;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .55px;
    border-bottom: 1px solid #e2e8f0 !important;
    font-weight: 950;
}
body.user-premium-ui .table tbody tr {
    transition: background .16s ease, transform .16s ease;
}
body.user-premium-ui .table tbody tr:hover {
    background: rgba(37,99,235,.045) !important;
}
body.user-premium-ui code,
body.user-premium-ui .endpoint-text {
    background: #0f172a !important;
    color: #67e8f9 !important;
    border-radius: 10px;
    padding: .25rem .48rem;
    font-weight: 800;
    white-space: nowrap;
}

/* Wallet */
body.user-premium-ui .wallet-hero-badge,
body.user-premium-ui .hero-badge {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(255,255,255,.14);
    color: #fff;
    border-radius: 999px;
    padding: .42rem .82rem;
    font-weight: 900;
    backdrop-filter: blur(8px);
    margin-bottom: .8rem;
}
body.user-premium-ui .progress {
    height: 12px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}
body.user-premium-ui .progress-bar {
    background: linear-gradient(135deg, #22c55e, #2563eb) !important;
}

/* Notifications */
body.user-premium-ui .notification-card,
body.user-premium-ui .notification-item {
    position: relative;
    overflow: hidden;
}
body.user-premium-ui .notification-card.unread::before,
body.user-premium-ui .notification-item.unread::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    bottom: 18px;
    width: 5px;
    border-radius: 0 999px 999px 0;
    background: linear-gradient(180deg, #2563eb, #06b6d4);
}

/* API logs */
body.user-premium-ui .log-details-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
}
body.user-premium-ui .modal-content {
    border-radius: 24px !important;
    border: 1px solid rgba(226,232,240,.9) !important;
    box-shadow: 0 28px 70px rgba(15,23,42,.22) !important;
    overflow: hidden;
}
body.user-premium-ui .modal-header {
    background: linear-gradient(135deg, #0f172a, #2563eb) !important;
    color: #fff !important;
    border-bottom: 0 !important;
}
body.user-premium-ui .modal-header .btn-close { filter: invert(1); }
body.user-premium-ui pre,
body.user-premium-ui .json-preview {
    background: #0f172a !important;
    color: #dbeafe !important;
    border-radius: 16px;
    padding: 1rem;
    border: 1px solid rgba(255,255,255,.08);
}

/* Verification */
body.user-premium-ui .step-circle,
body.user-premium-ui .upload-icon,
body.user-premium-ui .verification-icon {
    box-shadow: 0 10px 26px rgba(37,99,235,.18) !important;
}
body.user-premium-ui .step.active .step-circle,
body.user-premium-ui .step.completed .step-circle {
    background: linear-gradient(135deg, #2563eb, #06b6d4) !important;
    color: #fff !important;
}
body.user-premium-ui .step.completed .step-circle {
    background: linear-gradient(135deg, #16a34a, #22c55e) !important;
}
body.user-premium-ui .camera-container {
    border-radius: 24px !important;
    border: 3px solid rgba(37,99,235,.35) !important;
    box-shadow: 0 20px 50px rgba(15,23,42,.25) !important;
}

/* SMS alert settings */
body.user-premium-ui .form-check-input {
    width: 3rem;
    height: 1.55rem;
    cursor: pointer;
    border: 1px solid #cbd5e1;
}
body.user-premium-ui .form-check-input:checked {
    background-color: var(--pg-success);
    border-color: var(--pg-success);
    box-shadow: 0 0 0 .22rem rgba(22,163,74,.13);
}
body.user-premium-ui .form-switch .form-check-input {
    border-radius: 999px;
}

/* Auth */
body.auth-premium {
    background:
        radial-gradient(circle at 18% 12%, rgba(34,197,94,.17), transparent 24%),
        radial-gradient(circle at 85% 18%, rgba(14,165,233,.22), transparent 30%),
        linear-gradient(135deg, #08111f 0%, #0f172a 43%, #2563eb 100%) !important;
}
body.auth-premium .auth-container { max-width: 500px !important; }
body.auth-premium .auth-card {
    border-radius: 28px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 30px 80px rgba(2,6,23,.38) !important;
    border: 1px solid rgba(255,255,255,.55) !important;
}
body.auth-premium .auth-card::before {
    content: "Secure Gateway";
    display: block;
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 5;
    background: rgba(255,255,255,.18);
    color: #fff;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    padding: .35rem .7rem;
    font-size: .76rem;
    font-weight: 850;
    backdrop-filter: blur(8px);
}
body.auth-premium .auth-header {
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.26), transparent 32%),
        linear-gradient(135deg, #0f172a 0%, #2563eb 60%, #06b6d4 100%) !important;
    padding: 34px 28px !important;
}
body.auth-premium .auth-header h3 { font-size: 1.65rem !important; font-weight: 950 !important; }
body.auth-premium .auth-header p::after {
    content: " • encrypted access • real-time payments";
}
body.auth-premium .auth-body { padding: 28px !important; }
body.auth-premium .auth-footer {
    background: #f8fafc;
    margin: 20px -28px -28px;
    padding: 18px 28px;
}
body.auth-premium .password-toggle { color: var(--pg-primary) !important; }

/* Empty states */
body.user-premium-ui .empty-state,
body.user-premium-ui .no-data,
body.user-premium-ui .empty-card {
    text-align: center;
    padding: 2rem;
    color: var(--pg-muted);
}
body.user-premium-ui .empty-state i,
body.user-premium-ui .no-data i,
body.user-premium-ui .empty-card i {
    width: 62px;
    height: 62px;
    display: inline-grid;
    place-items: center;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(37,99,235,.12), rgba(14,165,233,.10));
    color: var(--pg-primary);
    margin-bottom: 1rem;
}

/* Mobile responsive premium polish */
@media (min-width: 992px) {
    body.user-premium-ui .main-content { padding: 1.5rem 1.75rem 2rem; }
    body.user-premium-ui .sidebar-full { width: 280px; }
}
@media (max-width: 991.98px) {
    body.user-premium-ui .main-content { padding: 1rem .85rem 92px; }
    body.user-premium-ui .sidebar:not(.sidebar-full) {
        background: rgba(15, 23, 42, .94) !important;
        backdrop-filter: blur(18px);
        border-top: 1px solid rgba(255,255,255,.10);
    }
    body.user-premium-ui .nav-link { font-size: .70rem; }
    body.user-premium-ui .card-body { padding: 1rem !important; }
    body.user-premium-ui .header,
    body.user-premium-ui .page-header,
    body.user-premium-ui .wallet-hero,
    body.user-premium-ui .accounts-hero,
    body.user-premium-ui .verification-header,
    body.user-premium-ui .api-logs-hero,
    body.user-premium-ui .sms-alerts-hero { padding: 18px !important; border-radius: 22px !important; }
    body.user-premium-ui .desktop-table { display: none !important; }
    body.user-premium-ui .mobile-cards { display: block !important; }
    body.user-premium-ui .table-responsive { border-radius: 16px; }
    body.user-premium-ui .table thead { display: none; }
    body.user-premium-ui .table:not(.fee-table) tbody tr {
        display: block;
        margin: .85rem 0;
        border: 1px solid #e2e8f0;
        border-radius: 18px;
        background: #fff;
        box-shadow: var(--pg-shadow-soft);
        overflow: hidden;
    }
    body.user-premium-ui .table:not(.fee-table) tbody td {
        display: flex;
        justify-content: space-between;
        gap: 1rem;
        border-bottom: 1px solid #f1f5f9 !important;
        white-space: normal;
        word-break: break-word;
    }
    body.user-premium-ui .table:not(.fee-table) tbody td:last-child { border-bottom: 0 !important; }
    body.user-premium-ui .log-details-grid { grid-template-columns: 1fr; }
}
@media (max-width: 576px) {
    body.auth-premium { padding: 12px !important; align-items: flex-start !important; }
    body.auth-premium .auth-card { border-radius: 24px !important; }
    body.auth-premium .auth-card::before { top: 12px; right: 12px; font-size: .68rem; }
    body.user-premium-ui .btn { width: auto; }
    body.user-premium-ui .btn.w-100 { width: 100% !important; }
    body.user-premium-ui .row { --bs-gutter-x: .85rem; }
}

/* Reduced motion friendly */
@media (prefers-reduced-motion: reduce) {
    body.user-premium-ui *, body.auth-premium * {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important;
    }
}

/* ========= Premium User UI v2: stronger visible redesign ========= */
body.user-premium-ui{
    font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif !important;
    background:
        radial-gradient(circle at 5% 3%, rgba(37,99,235,.16), transparent 26%),
        radial-gradient(circle at 94% 2%, rgba(22,163,74,.12), transparent 25%),
        linear-gradient(180deg,#f8fbff 0%,#eef5ff 48%,#f8fafc 100%) !important;
}
body.user-premium-ui .dashboard-shell,
body.user-premium-ui .dashboard-container{background:transparent !important;}
body.user-premium-ui .main-content,
body.user-premium-ui .content,
body.user-premium-ui main:not(.auth-page){position:relative;}
body.user-premium-ui .header:not(.card-header){
    margin:18px 18px 0 !important;
    padding:18px 22px !important;
    background:rgba(255,255,255,.88) !important;
    color:#0f172a !important;
    border:1px solid rgba(226,232,240,.92) !important;
    border-radius:24px !important;
    box-shadow:0 16px 44px rgba(15,23,42,.08) !important;
    backdrop-filter:blur(16px);
}
body.user-premium-ui .header:not(.card-header)::after{display:none !important;}
body.user-premium-ui .header-title{font-size:1.35rem !important;font-weight:950 !important;letter-spacing:-.055em;color:#0f172a !important;margin:0 !important;}
body.user-premium-ui .user-menu{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:7px 8px 7px 14px;box-shadow:0 10px 24px rgba(15,23,42,.05);}
body.user-premium-ui .user-avatar{background:linear-gradient(135deg,#2563eb,#06b6d4) !important;color:#fff !important;box-shadow:0 12px 24px rgba(37,99,235,.25);}

/* Sidebar upgrade */
body.user-premium-ui .sidebar-full,
body.user-premium-ui .sidebar{
    background:radial-gradient(circle at 10% 3%,rgba(37,99,235,.38),transparent 28%),linear-gradient(180deg,#050b16 0%,#0f172a 46%,#07111f 100%) !important;
}
body.user-premium-ui .sidebar-full{border-right:1px solid rgba(255,255,255,.10);}
body.user-premium-ui .sidebar .nav-link,
body.user-premium-ui .mobile-side-menu-nav .nav-link{
    padding:12px 13px !important;
    border:1px solid transparent;
}
body.user-premium-ui .sidebar .nav-link i,
body.user-premium-ui .mobile-side-menu-nav .nav-link i{width:28px;text-align:center;}
body.user-premium-ui .sidebar .nav-link.active,
body.user-premium-ui .mobile-side-menu-nav .nav-link.active{
    border-color:rgba(255,255,255,.15);
    background:linear-gradient(135deg,#2563eb,#06b6d4) !important;
}

/* Hero and page banners */
body.user-premium-ui .welcome-banner,
body.user-premium-ui .wallet-hero,
body.user-premium-ui .accounts-hero,
body.user-premium-ui .verification-header,
body.user-premium-ui .api-logs-hero,
body.user-premium-ui .sms-alerts-hero,
body.user-premium-ui .page-header{
    margin:18px !important;
    padding:28px !important;
    min-height:150px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:radial-gradient(circle at 85% 16%,rgba(255,255,255,.26),transparent 28%),linear-gradient(135deg,#07111f 0%,#2563eb 62%,#06b6d4 100%) !important;
    box-shadow:0 28px 80px rgba(37,99,235,.20) !important;
}
body.user-premium-ui .welcome-banner h2,
body.user-premium-ui .page-header h1,
body.user-premium-ui .wallet-hero h1,
body.user-premium-ui .accounts-hero h1,
body.user-premium-ui .verification-header h1,
body.user-premium-ui .api-logs-hero h1,
body.user-premium-ui .sms-alerts-hero h1{
    font-size:clamp(1.7rem,3.3vw,3rem) !important;
    font-weight:950 !important;
    letter-spacing:-.07em !important;
    line-height:1.02 !important;
}

/* Cards/tables stronger */
body.user-premium-ui .container-fluid{padding-left:18px !important;padding-right:18px !important;}
body.user-premium-ui .card,
body.user-premium-ui .stat-card,
body.user-premium-ui .overview-card,
body.user-premium-ui .wallet-card,
body.user-premium-ui .account-card,
body.user-premium-ui .notification-card,
body.user-premium-ui .log-card,
body.user-premium-ui .setting-card,
body.user-premium-ui .verification-card{
    border-radius:26px !important;
    border:1px solid rgba(226,232,240,.92) !important;
    background:rgba(255,255,255,.94) !important;
    box-shadow:0 18px 50px rgba(15,23,42,.09) !important;
    overflow:hidden;
}
body.user-premium-ui .stat-card{padding:22px 18px !important;min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
body.user-premium-ui .stat-card i{width:54px;height:54px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#eff6ff,#ecfeff);margin-bottom:12px !important;}
body.user-premium-ui .stat-card .number{font-size:2rem !important;font-weight:950 !important;letter-spacing:-.055em;color:#0f172a !important;}
body.user-premium-ui .stat-card .label{font-weight:850;color:#64748b !important;}
body.user-premium-ui .card-header{padding:18px 20px !important;border-bottom:1px solid #e2e8f0 !important;}
body.user-premium-ui .card-title{font-weight:950 !important;letter-spacing:-.04em;}
body.user-premium-ui .table{border-collapse:separate !important;border-spacing:0 10px !important;margin-bottom:0;}
body.user-premium-ui .table thead th{background:transparent !important;border:0 !important;color:#64748b !important;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;font-weight:950;}
body.user-premium-ui .table tbody tr{background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.055);}
body.user-premium-ui .table tbody td{border-top:1px solid #eef2f7 !important;border-bottom:1px solid #eef2f7 !important;padding:14px 12px !important;vertical-align:middle;}
body.user-premium-ui .table tbody td:first-child{border-left:1px solid #eef2f7 !important;border-radius:16px 0 0 16px;}
body.user-premium-ui .table tbody td:last-child{border-right:1px solid #eef2f7 !important;border-radius:0 16px 16px 0;}

/* Buttons/forms */
body.user-premium-ui .btn{border-radius:16px !important;font-weight:900 !important;letter-spacing:-.01em;}
body.user-premium-ui .btn-primary,
body.user-premium-ui button.btn-primary{background:linear-gradient(135deg,#2563eb,#06b6d4) !important;border:0 !important;box-shadow:0 16px 34px rgba(37,99,235,.24) !important;}
body.user-premium-ui .btn-success{background:linear-gradient(135deg,#16a34a,#22c55e) !important;border:0 !important;box-shadow:0 16px 34px rgba(22,163,74,.20) !important;}
body.user-premium-ui .btn-danger{background:linear-gradient(135deg,#dc2626,#fb7185) !important;border:0 !important;box-shadow:0 16px 34px rgba(220,38,38,.18) !important;}
body.user-premium-ui .btn-outline-primary{background:#fff !important;border-color:#bfdbfe !important;color:#2563eb !important;}
body.user-premium-ui .form-control,
body.user-premium-ui .form-select,
body.user-premium-ui textarea{
    border-radius:17px !important;
    border:1px solid #dbe3ef !important;
    background:#fff !important;
    min-height:48px;
    font-weight:700;
}
body.user-premium-ui .form-control:focus,
body.user-premium-ui .form-select:focus,
body.user-premium-ui textarea:focus{border-color:#2563eb !important;box-shadow:0 0 0 .22rem rgba(37,99,235,.13) !important;}

/* Badges */
body.user-premium-ui .badge{border-radius:999px !important;padding:.55em .78em !important;font-weight:950 !important;letter-spacing:-.01em;}
body.user-premium-ui .bg-success{background:linear-gradient(135deg,#16a34a,#22c55e) !important;}
body.user-premium-ui .bg-warning{background:linear-gradient(135deg,#f59e0b,#fb923c) !important;color:#fff !important;}
body.user-premium-ui .bg-danger{background:linear-gradient(135deg,#dc2626,#fb7185) !important;}
body.user-premium-ui .bg-primary{background:linear-gradient(135deg,#2563eb,#06b6d4) !important;}

/* Login/register special final polish */
body.auth-premium.user-premium-ui::before{display:none !important;}
body.auth-premium.user-premium-ui .auth-card:hover{transform:none !important;box-shadow:none !important;}
body.auth-premium.user-premium-ui .auth-card{backdrop-filter:none !important;}

/* Empty states, alerts, modals */
body.user-premium-ui .alert{border:0 !important;border-radius:20px !important;font-weight:800;box-shadow:0 12px 30px rgba(15,23,42,.07);}
body.user-premium-ui .modal-content{border:0 !important;border-radius:28px !important;box-shadow:0 30px 90px rgba(15,23,42,.22) !important;overflow:hidden;}
body.user-premium-ui .modal-header{background:linear-gradient(135deg,#07111f,#2563eb) !important;color:#fff !important;border:0 !important;}
body.user-premium-ui .modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0 !important;}
body.user-premium-ui .empty-state{padding:34px !important;text-align:center;}
body.user-premium-ui .empty-state i{width:72px;height:72px;border-radius:26px;background:#eff6ff;color:#2563eb;display:grid;place-items:center;margin:0 auto 14px;font-size:1.8rem;}

/* Mobile */
@media(max-width: 768px){
    body.user-premium-ui .header:not(.card-header){margin:10px !important;padding:15px 16px !important;border-radius:20px !important;}
    body.user-premium-ui .welcome-banner,
    body.user-premium-ui .wallet-hero,
    body.user-premium-ui .accounts-hero,
    body.user-premium-ui .verification-header,
    body.user-premium-ui .api-logs-hero,
    body.user-premium-ui .sms-alerts-hero,
    body.user-premium-ui .page-header{margin:10px !important;padding:22px !important;min-height:135px;border-radius:24px !important;}
    body.user-premium-ui .container-fluid{padding-left:10px !important;padding-right:10px !important;}
    body.user-premium-ui .stat-card{min-height:130px;padding:18px 12px !important;}
    body.user-premium-ui .stat-card .number{font-size:1.55rem !important;}
    body.user-premium-ui .table-responsive{border:0 !important;}
    body.user-premium-ui .table{border-spacing:0 12px !important;}
}
@media(max-width: 575px){
    body.user-premium-ui .table thead{display:none;}
    body.user-premium-ui .table tbody,
    body.user-premium-ui .table tr,
    body.user-premium-ui .table td{display:block;width:100%;}
    body.user-premium-ui .table tbody tr{border:1px solid #e2e8f0;border-radius:22px;padding:12px;margin-bottom:12px;box-shadow:0 14px 34px rgba(15,23,42,.08);}
    body.user-premium-ui .table tbody td{border:0 !important;border-radius:0 !important;padding:8px 6px !important;}
    body.user-premium-ui .table tbody td::before{content:attr(data-label);display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;font-weight:950;margin-bottom:3px;}
}

/* Public API docs premium polish */
body.api-doc-premium{
    background:radial-gradient(circle at 10% 8%,rgba(37,99,235,.15),transparent 28%),radial-gradient(circle at 90% 5%,rgba(22,163,74,.12),transparent 26%),linear-gradient(180deg,#f8fbff,#eef5ff 55%,#fff) !important;
}
body.api-doc-premium header{
    background:radial-gradient(circle at top right,rgba(255,255,255,.22),transparent 28%),linear-gradient(135deg,#07111f,#2563eb 65%,#06b6d4) !important;
    border-radius:0 0 34px 34px !important;
    box-shadow:0 26px 70px rgba(37,99,235,.22) !important;
}
body.api-doc-premium .card,
body.api-doc-premium .endpoint,
body.api-doc-premium .test-section{
    border-radius:26px !important;
    border:1px solid #e2e8f0 !important;
    box-shadow:0 18px 48px rgba(15,23,42,.08) !important;
}
body.api-doc-premium pre,
body.api-doc-premium code{
    border-radius:18px !important;
}

/* === ULTRA FULL-SCREEN PREMIUM USER UI UPGRADE === */
body.user-premium-ui {
    --pg-sidebar-w: 282px;
    background:
        radial-gradient(circle at 16% -8%, rgba(37, 99, 235, .24), transparent 32%),
        radial-gradient(circle at 92% 10%, rgba(6, 182, 212, .18), transparent 26%),
        radial-gradient(circle at 50% 100%, rgba(22, 163, 74, .10), transparent 30%),
        linear-gradient(180deg, #f8fbff 0%, #eef5ff 48%, #f7fbff 100%) !important;
    overflow-x: hidden;
}
body.user-premium-ui::after {
    content:"";
    position: fixed;
    inset: auto -120px -160px auto;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(37,99,235,.10), rgba(6,182,212,.08));
    pointer-events:none;
    z-index:-1;
}
body.user-premium-ui .dashboard-container {
    display: flex !important;
    align-items: stretch;
    min-height: 100svh;
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
@media (min-width: 768px) {
    body.user-premium-ui .sidebar-full {
        position: sticky !important;
        top: 0;
        width: var(--pg-sidebar-w) !important;
        min-width: var(--pg-sidebar-w) !important;
        height: 100svh !important;
        overflow-y: auto;
        padding: 18px 14px !important;
        border-radius: 0 28px 28px 0;
    }
    body.user-premium-ui .main-content {
        flex: 1 1 auto !important;
        width: calc(100vw - var(--pg-sidebar-w)) !important;
        min-height: 100svh;
        padding: clamp(18px, 2.4vw, 34px) !important;
        padding-bottom: 42px !important;
    }
}
body.user-premium-ui .main-content > .container,
body.user-premium-ui .main-content > .container-fluid,
body.user-premium-ui .container-fluid.my-4 {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
body.user-premium-ui .header {
    min-height: 82px;
    padding: 18px 22px !important;
    margin-bottom: 20px !important;
    background: rgba(255,255,255,.78) !important;
    color: #0f172a !important;
    border: 1px solid rgba(226,232,240,.85) !important;
    backdrop-filter: blur(18px);
}
body.user-premium-ui .header::before {
    content:"";
    position:absolute;
    left:0;top:0;bottom:0;width:6px;
    background:linear-gradient(180deg,#2563eb,#06b6d4,#16a34a);
}
body.user-premium-ui .header::after { opacity: .08 !important; }
body.user-premium-ui .header-title {
    font-size: clamp(1.45rem, 2.2vw, 2.25rem) !important;
    font-weight: 950 !important;
    letter-spacing: -.06em !important;
}
body.user-premium-ui .user-avatar {
    width: 48px !important;
    height: 48px !important;
    border-radius: 17px !important;
    background: linear-gradient(135deg,#2563eb,#06b6d4) !important;
    box-shadow: 0 16px 34px rgba(37,99,235,.28);
}
body.user-premium-ui .welcome-banner,
body.user-premium-ui .wallet-hero,
body.user-premium-ui .accounts-hero,
body.user-premium-ui .verification-header,
body.user-premium-ui .api-logs-hero,
body.user-premium-ui .sms-alerts-hero,
body.user-premium-ui .page-header {
    min-height: 190px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(26px, 4vw, 46px) !important;
    border-radius: 34px !important;
    margin-bottom: 24px !important;
    background:
        radial-gradient(circle at 90% 8%, rgba(255,255,255,.28), transparent 26%),
        radial-gradient(circle at 8% 100%, rgba(22,163,74,.24), transparent 30%),
        linear-gradient(135deg, #07111f 0%, #0f172a 36%, #2563eb 78%, #06b6d4 100%) !important;
}
body.user-premium-ui .welcome-banner h2,
body.user-premium-ui .wallet-hero h1,
body.user-premium-ui .accounts-hero h1,
body.user-premium-ui .verification-header h1,
body.user-premium-ui .api-logs-hero h1,
body.user-premium-ui .sms-alerts-hero h1,
body.user-premium-ui .page-header h1,
body.user-premium-ui .page-header h2 {
    font-size: clamp(2rem, 4vw, 3.75rem) !important;
    line-height: .95 !important;
    font-weight: 950 !important;
    letter-spacing: -.075em !important;
}
body.user-premium-ui .card,
body.user-premium-ui .stat-card,
body.user-premium-ui .account-card,
body.user-premium-ui .wallet-card,
body.user-premium-ui .notification-card,
body.user-premium-ui .log-card,
body.user-premium-ui .verification-card,
body.user-premium-ui .setting-card {
    border-radius: 28px !important;
    background: rgba(255,255,255,.86) !important;
    box-shadow: 0 20px 55px rgba(15,23,42,.10) !important;
    border: 1px solid rgba(226,232,240,.90) !important;
}
body.user-premium-ui .stat-card {
    min-height: 165px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}
body.user-premium-ui .stat-card::before {
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg,#2563eb,#06b6d4,#16a34a);
}
body.user-premium-ui .stat-card::after {
    content:"";
    position:absolute;
    width: 140px;
    height: 140px;
    border-radius:50%;
    right:-54px;
    bottom:-64px;
    background:rgba(37,99,235,.08);
}
body.user-premium-ui .stat-card .number,
body.user-premium-ui .number,
body.user-premium-ui .wallet-balance,
body.user-premium-ui .amount {
    font-weight: 950 !important;
    letter-spacing: -.055em;
}
body.user-premium-ui .btn,
body.user-premium-ui button.btn,
body.user-premium-ui input[type="submit"].btn {
    border-radius: 16px !important;
    font-weight: 900 !important;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
body.user-premium-ui .btn:hover { transform: translateY(-2px); }
body.user-premium-ui .btn-primary,
body.user-premium-ui .btn-success {
    border: 0 !important;
    background: linear-gradient(135deg,#2563eb,#06b6d4) !important;
    box-shadow: 0 18px 38px rgba(37,99,235,.26) !important;
}
body.user-premium-ui .btn-success {
    background: linear-gradient(135deg,#16a34a,#22c55e) !important;
    box-shadow: 0 18px 38px rgba(22,163,74,.25) !important;
}
body.user-premium-ui .form-control,
body.user-premium-ui .form-select,
body.user-premium-ui textarea {
    min-height: 50px;
    border-radius: 17px !important;
    border: 1px solid #dbe3ef !important;
    background: rgba(255,255,255,.94) !important;
    font-weight: 700;
    box-shadow: 0 10px 25px rgba(15,23,42,.04);
}
body.user-premium-ui .form-control:focus,
body.user-premium-ui .form-select:focus,
body.user-premium-ui textarea:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 .23rem rgba(37,99,235,.13), 0 16px 34px rgba(37,99,235,.08) !important;
}
body.user-premium-ui table {
    border-collapse: separate !important;
    border-spacing: 0 10px !important;
}
body.user-premium-ui table thead th {
    background: #eef4ff !important;
    color: #334155 !important;
    border: 0 !important;
    font-weight: 950 !important;
    letter-spacing: -.01em;
}
body.user-premium-ui table tbody tr {
    background: rgba(255,255,255,.92);
    box-shadow: 0 10px 28px rgba(15,23,42,.05);
}
body.user-premium-ui table tbody td {
    border: 0 !important;
    vertical-align: middle;
    font-weight: 700;
}
body.user-premium-ui .badge,
body.user-premium-ui .status-badge,
body.user-premium-ui .account-type-badge {
    border-radius: 999px !important;
    padding: .48rem .72rem !important;
    font-weight: 950 !important;
    letter-spacing: -.01em;
}
body.user-premium-ui .badge.bg-warning,
body.user-premium-ui .badge-warning,
body.user-premium-ui .status-pending {
    background: #fff7ed !important;
    color: #b45309 !important;
    border: 1px solid #fed7aa !important;
}
body.user-premium-ui .badge.bg-success,
body.user-premium-ui .status-paid,
body.user-premium-ui .status-success,
body.user-premium-ui .status-approved {
    background: #ecfdf5 !important;
    color: #047857 !important;
    border: 1px solid #bbf7d0 !important;
}
body.user-premium-ui .badge.bg-danger,
body.user-premium-ui .status-failed,
body.user-premium-ui .status-rejected {
    background: #fef2f2 !important;
    color: #b91c1c !important;
    border: 1px solid #fecaca !important;
}
body.user-premium-ui .notification-card,
body.user-premium-ui .log-card {
    position: relative;
    overflow: hidden;
}
body.user-premium-ui .notification-card::before,
body.user-premium-ui .log-card::before {
    content:"";
    position:absolute;
    left:0;top:0;bottom:0;width:5px;
    background: linear-gradient(180deg,#2563eb,#06b6d4);
}
body.user-premium-ui .api-log-endpoint,
body.user-premium-ui code,
body.user-premium-ui pre,
body.user-premium-ui .endpoint {
    border-radius: 14px;
    background: #09111f !important;
    color: #dbeafe !important;
    border: 1px solid rgba(255,255,255,.08);
}
body.user-premium-ui .modal-content {
    border-radius: 30px !important;
    border: 1px solid rgba(226,232,240,.88) !important;
    box-shadow: 0 30px 90px rgba(15,23,42,.24) !important;
    overflow: hidden;
}
body.user-premium-ui .modal-header {
    background: linear-gradient(135deg,#0f172a,#2563eb) !important;
    color: #fff !important;
    border: 0 !important;
}
@media (max-width: 767.98px) {
    body.user-premium-ui .dashboard-container { display:block !important; }
    body.user-premium-ui .main-content {
        width: 100% !important;
        min-height: 100svh;
        padding: 76px 14px 96px !important;
    }
    body.user-premium-ui .header {
        min-height: 70px;
        border-radius: 24px !important;
        padding: 14px 16px !important;
    }
    body.user-premium-ui .welcome-banner,
    body.user-premium-ui .wallet-hero,
    body.user-premium-ui .accounts-hero,
    body.user-premium-ui .verification-header,
    body.user-premium-ui .api-logs-hero,
    body.user-premium-ui .sms-alerts-hero,
    body.user-premium-ui .page-header {
        min-height: 150px;
        border-radius: 28px !important;
    }
    body.user-premium-ui .stat-card { min-height: 145px; }
    body.user-premium-ui table { border-spacing: 0 !important; }
}
