/**
 * Wallet and Loans Mobile Responsive CSS
 * Optimizes mobile experience for wallet and loans pages
 */

/* ===== WALLET PAGE MOBILE IMPROVEMENTS ===== */

/* Recent Transactions Section */
@media (max-width: 768px) {
    /* Header section mobile optimization */
    .wallet-transactions-header {
        flex-direction: column !important;
        gap: 1rem !important;
        align-items: stretch !important;
    }
    
    .wallet-transactions-header h3 {
        font-size: 1.125rem !important; /* Smaller title on mobile */
    }
    
    .wallet-transactions-header p {
        font-size: 0.75rem !important; /* Smaller subtitle on mobile */
        display: none !important; /* Hide subtitle on very small screens */
    }
    
    /* Filter controls mobile optimization */
    .wallet-filter-controls {
        flex-direction: column !important;
        gap: 0.5rem !important;
        width: 100% !important;
    }
    
    .wallet-filter-controls select {
        width: 100% !important;
        font-size: 0.875rem !important;
        padding: 0.5rem 0.75rem !important;
    }
    
    /* Transaction items mobile optimization */
    .transaction-item {
        padding: 1rem !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.75rem !important;
    }
    
    .transaction-item-main {
        width: 100% !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
    }
    
    .transaction-item-details {
        flex: 1 !important;
    }
    
    .transaction-item-amount {
        font-size: 1rem !important;
        font-weight: 600 !important;
    }
    
    .transaction-item-meta {
        width: 100% !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        font-size: 0.75rem !important;
        color: #6b7280 !important;
    }
}

/* ===== LOANS PAGE MOBILE IMPROVEMENTS ===== */

@media (max-width: 768px) {
    /* Page header mobile optimization */
    .loans-header {
        flex-direction: column !important;
        gap: 1rem !important;
        align-items: stretch !important;
    }
    
    .loans-header h2 {
        font-size: 1.25rem !important;
        margin-bottom: 0.5rem !important;
    }
    
    /* Button group mobile optimization - Keep inline but smaller */
    .loans-button-group {
        flex-direction: row !important;
        gap: 0.25rem !important;
        width: 100% !important;
        flex-wrap: wrap !important;
    }

    .loans-button-group a,
    .loans-button-group button {
        flex: 1 !important;
        min-width: 0 !important;
        justify-content: center !important;
        padding: 0.5rem 0.75rem !important;
        font-size: 0.75rem !important;
        text-transform: none !important;
        letter-spacing: normal !important;
        white-space: nowrap !important;
    }

    /* Adjust button icons on mobile */
    .loans-button-group svg {
        width: 0.875rem !important;
        height: 0.875rem !important;
        margin-right: 0.25rem !important;
    }
    
    /* Loan Settings button mobile text */
    .loans-settings-btn .btn-text-desktop {
        display: none !important;
    }
    
    .loans-settings-btn .btn-text-mobile {
        display: inline !important;
    }
    
    /* Apply for Loan button mobile text */
    .loans-apply-btn .btn-text-desktop {
        display: none !important;
    }
    
    .loans-apply-btn .btn-text-mobile {
        display: inline !important;
    }
    
    /* KYC verification button mobile text */
    .loans-kyc-btn .btn-text-desktop {
        display: none !important;
    }
    
    .loans-kyc-btn .btn-text-mobile {
        display: inline !important;
    }
    
    /* Credit score card mobile optimization */
    .credit-score-card {
        flex-direction: row !important;
        text-align: left !important;
        gap: 1rem !important;
        align-items: center !important;
    }

    .score-circle {
        margin: 0 !important;
        width: 50px !important;
        height: 50px !important;
        flex-shrink: 0 !important;
    }

    .credit-score-info {
        flex: 1 !important;
    }

    .credit-score-info h3 {
        font-size: 0.875rem !important;
        margin-bottom: 0.25rem !important;
        line-height: 1.2 !important;
    }

    .credit-score-info p {
        font-size: 0.75rem !important;
        margin-bottom: 0.25rem !important;
        line-height: 1.2 !important;
    }

    /* Ensure credit score section is always visible and properly spaced */
    .credit-score-card {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .credit-score-info {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .credit-score-info h3,
    .credit-score-info p {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Tabs mobile optimization */
    .loans-tabs {
        flex-direction: row !important; /* Keep horizontal on mobile */
    }
    
    .loans-tab-button {
        padding: 0.75rem 0.5rem !important;
        font-size: 0.875rem !important;
        text-align: center !important;
    }
    
    /* Tab content mobile optimization */
    .loans-tab-content {
        padding: 1rem !important;
    }
    
    /* Loan cards mobile optimization */
    .loan-card {
        padding: 1rem !important;
        margin-bottom: 1rem !important;
    }
    
    .loan-card-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.5rem !important;
    }
    
    .loan-card-amount {
        font-size: 1.125rem !important;
        font-weight: 600 !important;
    }
    
    .loan-card-status {
        align-self: flex-start !important;
    }
    
    .loan-card-details {
        margin-top: 0.75rem !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.5rem !important;
    }
    
    .loan-detail-item {
        font-size: 0.75rem !important;
    }
    
    .loan-detail-label {
        color: #6b7280 !important;
        margin-bottom: 0.125rem !important;
    }
    
    .loan-detail-value {
        font-weight: 500 !important;
        color: #111827 !important;
    }
}

/* Desktop button text visibility */
@media (min-width: 769px) {
    .loans-settings-btn .btn-text-desktop {
        display: inline !important;
    }
    
    .loans-settings-btn .btn-text-mobile {
        display: none !important;
    }
    
    .loans-apply-btn .btn-text-desktop {
        display: inline !important;
    }
    
    .loans-apply-btn .btn-text-mobile {
        display: none !important;
    }
    
    .loans-kyc-btn .btn-text-desktop {
        display: inline !important;
    }
    
    .loans-kyc-btn .btn-text-mobile {
        display: none !important;
    }
}

/* Touch-friendly improvements for mobile */
@media (max-width: 768px) {
    /* Increase touch targets */
    button, .btn, a.btn,
    [type='button'],
    [type='submit'] {
        min-height: 2.75rem !important;
        padding: 0.75rem 1rem !important;
    }
    
    /* Improve tap targets for tabs */
    .tab-button {
        min-height: 3rem !important;
        padding: 0.75rem 1rem !important;
    }
    
    /* Better spacing for mobile cards */
    .bg-white.rounded-xl,
    .bg-white.rounded-lg {
        margin-bottom: 1rem !important;
    }
}

/* Ensure proper text wrapping on mobile */
@media (max-width: 640px) {
    .wallet-transactions-header p {
        display: block !important; /* Show subtitle on larger mobile screens */
    }
}

/* ===== LOAN TABLES MOBILE IMPROVEMENTS ===== */

/* Hide table headers on mobile and show card layout instead */
@media (max-width: 768px) {
    /* Hide the table structure on mobile */
    .loans-table-container table,
    .loans-table-container thead,
    .loans-table-container tbody,
    .loans-table-container th,
    .loans-table-container td,
    .loans-table-container tr {
        display: none !important;
    }

    /* Show mobile card layout */
    .loans-mobile-cards {
        display: block !important;
    }

    .loan-mobile-card {
        background: white;
        border: 1px solid #e5e7eb;
        border-radius: 0.75rem;
        padding: 1rem;
        margin-bottom: 1rem;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    }

    .loan-mobile-card-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 0.75rem;
        padding-bottom: 0.75rem;
        border-bottom: 1px solid #f3f4f6;
    }

    .loan-mobile-card-id {
        font-weight: 600;
        font-size: 1rem;
        color: #111827;
    }

    .loan-mobile-card-status {
        padding: 0.25rem 0.75rem;
        border-radius: 9999px;
        font-size: 0.75rem;
        font-weight: 600;
        text-transform: uppercase;
    }

    .loan-mobile-card-status.active,
    .loan-mobile-card-status.approved,
    .loan-mobile-card-status.disbursed {
        background-color: #dcfce7;
        color: #166534;
    }

    .loan-mobile-card-status.completed,
    .loan-mobile-card-status.paid {
        background-color: #dcfce7;
        color: #166534;
    }

    .loan-mobile-card-status.rejected {
        background-color: #fef2f2;
        color: #dc2626;
    }

    .loan-mobile-card-status.pending {
        background-color: #fef3c7;
        color: #d97706;
    }

    .loan-mobile-card-details {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.75rem;
        margin-bottom: 1rem;
    }

    .loan-mobile-card-detail {
        display: flex;
        flex-direction: column;
    }

    .loan-mobile-card-detail-label {
        font-size: 0.75rem;
        color: #6b7280;
        font-weight: 500;
        margin-bottom: 0.25rem;
        text-transform: uppercase;
        letter-spacing: 0.025em;
    }

    .loan-mobile-card-detail-value {
        font-size: 0.875rem;
        color: #111827;
        font-weight: 600;
    }

    .loan-mobile-card-actions {
        display: flex;
        gap: 0.5rem;
        justify-content: flex-end;
        padding-top: 0.75rem;
        border-top: 1px solid #f3f4f6;
    }

    .loan-mobile-card-action {
        padding: 0.5rem 1rem;
        border-radius: 0.375rem;
        font-size: 0.75rem;
        font-weight: 500;
        text-decoration: none;
        transition: all 0.2s ease-in-out;
        display: inline-flex;
        align-items: center;
        gap: 0.25rem;
    }

    .loan-mobile-card-action.view {
        background-color: #f3f4f6;
        color: #374151;
        border: 1px solid #d1d5db;
    }

    .loan-mobile-card-action.view:hover {
        background-color: #e5e7eb;
        color: #111827;
    }

    .loan-mobile-card-action.pay {
        background-color: #10b981;
        color: white;
        border: 1px solid #10b981;
    }

    .loan-mobile-card-action.pay:hover {
        background-color: #059669;
        border-color: #059669;
    }

    .loan-mobile-card-action svg {
        width: 0.75rem;
        height: 0.75rem;
    }
}

/* Desktop: Hide mobile cards and show table */
@media (min-width: 769px) {
    .loans-mobile-cards {
        display: none !important;
    }

    .loans-table-container {
        display: block !important;
    }
}

/* Very small screens (phones in portrait) */
@media (max-width: 480px) {
    .loans-header h2 {
        font-size: 1.125rem !important;
    }

    .credit-score-info h3 {
        font-size: 0.875rem !important;
    }

    .loans-tab-button {
        font-size: 0.75rem !important;
        padding: 0.5rem 0.25rem !important;
    }

    /* Extra small buttons for very small screens */
    .loans-button-group a,
    .loans-button-group button {
        padding: 0.375rem 0.5rem !important;
        font-size: 0.6875rem !important;
        gap: 0.125rem !important;
    }

    /* Ensure credit score section is compact */
    .credit-score-card {
        padding: 0.75rem !important;
    }

    .score-circle {
        width: 40px !important;
        height: 40px !important;
    }

    .credit-score-info h3 {
        font-size: 0.75rem !important;
    }

    .credit-score-info p {
        font-size: 0.6875rem !important;
    }
}
