 
        :root {
            --gold-primary: #D4AF37;
            --gold-secondary: #B8860B;
            --gold-light: #F5EFD5;
            --deep-blue: #14213D;
            --dark-gray: #333333;
            --light-gray: #F5F5F5;
            --success: #4CAF50;
            --warning: #FF9800;
            --danger: #F44336;
        }
    body {
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        background-color: #FAFAFA;
        color: var(--dark-gray);
    }

    .navbar {
        background-color: white;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    }

    .app-container {
        max-width: 768px;
        margin: 0 auto;
        padding: 0;
        background-color: white;
        min-height: 100vh;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
    }

    .header-section {
        background: linear-gradient(to right, var(--deep-blue), #1c2e50);
        color: white;
        padding: 20px;
        border-radius: 0 0 15px 15px;
        position: relative;
        overflow: hidden;
    }

  

    .header-content {
        position: relative;
        z-index: 1;
    }

    .greeting {
        font-size: 1.4rem;
        font-weight: 600;
    }

    .kyc-badge {
        font-size: 0.8rem;
        padding: 5px 10px;
        border-radius: 20px;
        display: inline-block;
        margin-top: 5px;
    }

    .badge-verified {
        background-color: rgba(76, 175, 80, 0.2);
        color: var(--success);
    }

    .gold-wallet-card {
        background: linear-gradient(135deg, white, var(--gold-light));
        border-radius: 15px;
        padding: 20px;
        margin: 20px 0;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
        border-left: 4px solid var(--gold-primary);
        position: relative;
        overflow: hidden;
    }

 

    .gold-amount {
        font-size: 1.6rem;
        font-weight: 700;
        color: var(--deep-blue);
    }

    .gold-value {
        font-size: 1.2rem;
        color: var(--dark-gray);
    }

    .live-price {
        font-size: 0.9rem;
        color: var(--dark-gray);
        background-color: var(--light-gray);
        padding: 8px 12px;
        border-radius: 20px;
        display: inline-flex;
        align-items: center;
        margin-top: 10px;
    }

    .live-price i {
        color: var(--gold-primary);
        margin-right: 5px;
    }

    .refresh-icon {
        margin-left: 10px;
        cursor: pointer;
        color: var(--gold-secondary);
        transition: transform 0.3s;
    }

    .refresh-icon:hover {
        transform: rotate(180deg);
    }

    .refresh-icon.spinning {
        animation: spin 1s linear infinite;
    }

    @keyframes spin {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
    }

    .action-buttons {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
        margin: 20px 0;
    }

    .btn-gold {
        background-color: var(--gold-primary);
        border: none;
        color: white;
        font-weight: 600;
        padding: 12px;
    }

    .btn-gold:hover {
        background-color: var(--gold-secondary);
        color: white;
    }

    .btn-outline-gold {
        border: 2px solid var(--gold-primary);
        background-color: transparent;
        color: var(--gold-primary);
        font-weight: 600;
        padding: 10px;
    }

    .btn-outline-gold:hover {
        background-color: var(--gold-primary);
        color: white;
    }

    .btn-blue {
        background-color: var(--deep-blue);
        border: none;
        color: white;
        font-weight: 600;
        padding: 12px;
    }

    .btn-blue:hover {
        background-color: #1c2e50;
        color: white;
    }

    .goal-tracker-card {
        background-color: white;
        border-radius: 15px;
        padding: 20px;
        margin: 20px 0;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    }

    .goal-progress {
        height: 10px;
        border-radius: 5px;
        background-color: var(--light-gray);
        margin: 10px 0;
    }

    .goal-progress-bar {
        height: 100%;
        border-radius: 5px;
        background: linear-gradient(to right, var(--gold-primary), var(--gold-secondary));
        width: 47%;
    }

    .goal-stats {
        display: flex;
        justify-content: space-between;
        font-size: 0.9rem;
        color: var(--dark-gray);
    }

    .chart-card {
        background-color: white;
        border-radius: 15px;
        padding: 20px;
        margin: 20px 0;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    }

    .chart-tabs {
        display: flex;
        margin-bottom: 15px;
    }

    .chart-tab {
        padding: 5px 15px;
        border-radius: 20px;
        font-size: 0.9rem;
        margin-right: 10px;
        cursor: pointer;
        background-color: var(--light-gray);
        color: var(--dark-gray);
    }

    .chart-tab.active {
        background-color: var(--deep-blue);
        color: white;
    }

    .transactions-card {
        background-color: white;
        border-radius: 15px;
        padding: 20px;
        margin: 20px 0;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    }

    .transaction-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 12px 0;
        border-bottom: 1px solid var(--light-gray);
    }

    .transaction-item:last-child {
        border-bottom: none;
    }

    .transaction-icon {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 15px;
    }

    .transaction-buy {
        background-color: rgba(76, 175, 80, 0.1);
        color: var(--success);
    }

    .transaction-sell {
        background-color: rgba(244, 67, 54, 0.1);
        color: var(--danger);
    }

    .transaction-redeem {
        background-color: rgba(255, 152, 0, 0.1);
        color: var(--warning);
    }

    .transaction-details {
        flex: 1;
    }

    .transaction-title {
        font-weight: 600;
        font-size: 0.95rem;
    }

    .transaction-date {
        font-size: 0.8rem;
        color: #777;
    }

    .transaction-amount {
        font-weight: 600;
        text-align: right;
    }

    .transaction-status {
        font-size: 0.8rem;
        padding: 3px 8px;
        border-radius: 10px;
        margin-top: 3px;
        display: inline-block;
        text-align: right;
    }

    .status-success {
        background-color: rgba(76, 175, 80, 0.1);
        color: var(--success);
    }

    .status-settled {
        background-color: rgba(76, 175, 80, 0.1);
        color: var(--success);
    }

    .status-delivery {
        background-color: rgba(255, 152, 0, 0.1);
        color: var(--warning);
    }

    .notifications-card {
        background-color: white;
        border-radius: 15px;
        padding: 20px;
        margin: 20px 0 80px 0;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    }

    .notification-item {
        display: flex;
        align-items: flex-start;
        padding: 12px 0;
        border-bottom: 1px solid var(--light-gray);
    }

    .notification-item:last-child {
        border-bottom: none;
    }

    .notification-icon {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 15px;
        flex-shrink: 0;
    }

    .icon-reminder {
        background-color: rgba(255, 152, 0, 0.1);
        color: var(--warning);
    }

    .icon-price {
        background-color: rgba(76, 175, 80, 0.1);
        color: var(--success);
    }

    .icon-alert {
        background-color: rgba(244, 67, 54, 0.1);
        color: var(--danger);
    }

    .notification-text {
        font-size: 0.95rem;
        flex: 1;
    }

        .bottom-navigation {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background-color: white;
            display: flex;
            justify-content: space-around;
            padding: 12px 0;
            box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
            z-index: 1000;
            max-width: 768px;
            margin: 0 auto;
            border-top: 1px solid rgba(0,0,0,0.05);
        }

    .nav-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        color: #777;
        font-size: 0.8rem;
        text-decoration: none;
    }

    .nav-item.active {
        color: var(--gold-primary);
    }

    .nav-icon {
        font-size: 1.2rem;
        margin-bottom: 5px;
    }

    .section-title {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 15px;
    }

    .section-title h2 {
        font-size: 1.2rem;
        font-weight: 600;
        margin: 0;
    }

    .view-all {
        font-size: 0.9rem;
        color: var(--gold-primary);
        text-decoration: none;
    }

    .view-all:hover {
        color: var(--gold-secondary);
    }

    .change-goal {
        font-size: 0.9rem;
        color: var(--gold-primary);
        text-decoration: none;
        cursor: pointer;
    }

    .change-goal:hover {
        color: var(--gold-secondary);
    }

    /* Animations */
    @keyframes fadeIn {
        from { opacity: 0; transform: translateY(20px); }
        to { opacity: 1; transform: translateY(0); }
    }

    .gold-wallet-card, .goal-tracker-card, .chart-card, 
    .transactions-card, .notifications-card {
        animation: fadeIn 0.5s ease forwards;
    }

    .goal-tracker-card { animation-delay: 0.1s; }
    .chart-card { animation-delay: 0.2s; }
    .transactions-card { animation-delay: 0.3s; }
    .notifications-card { animation-delay: 0.4s; }



    /* Security Status Card */
.security-status-card {
    background-color: white;
    border-radius: 15px;
    padding: 20px;
    margin: 20px 0;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    animation: fadeIn 0.5s ease forwards;
    animation-delay: 0.15s;
}

.security-feature {
    display: flex;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--light-gray);
}

.security-feature:last-child {
    border-bottom: none;
}

.feature-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
}

.secure-on {
    background-color: rgba(76, 175, 80, 0.1);
    color: var(--success);
}

.secure-off {
    background-color: rgba(244, 67, 54, 0.1);
    color: var(--danger);
}

.feature-details {
    flex: 1;
}

.feature-title {
    font-weight: 600;
    font-size: 0.95rem;
}

.feature-status {
    font-size: 0.8rem;
    color: #777;
}

/* Toggle Switch */
.toggle-switch {
    position: relative;
    width: 50px;
    height: 24px;
}

.toggle-input {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-label {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
    border-radius: 34px;
}

.toggle-label:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}

.toggle-input:checked + .toggle-label {
    background-color: var(--gold-primary);
}

.toggle-input:checked + .toggle-label:before {
    transform: translateX(26px);
}

/* Portfolio Composition */
.composition-legend {
    margin-top: 20px;
}

.legend-item {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.legend-color {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    margin-right: 10px;
}

.legend-label {
    flex: 1;
    font-size: 0.9rem;
}

.legend-value {
    font-weight: 600;
    font-size: 0.9rem;
}

.last-updated {
    font-size: 0.8rem;
    color: #777;
}

/* Recurring Buy Card */
.recurring-buy-card {
    background-color: white;
    border-radius: 15px;
    padding: 20px;
    margin: 20px 0;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    animation: fadeIn 0.5s ease forwards;
    animation-delay: 0.25s;
}

.setup-plan {
    font-size: 0.9rem;
    color: var(--gold-primary);
    text-decoration: none;
    cursor: pointer;
}

.setup-plan:hover {
    color: var(--gold-secondary);
}

.no-plan {
    text-align: center;
    padding: 20px 0;
}

.no-plan i {
    font-size: 2rem;
    color: #ccc;
    margin-bottom: 10px;
}

.no-plan p {
    color: #777;
    margin-bottom: 15px;
}

.plan-header {
    display: flex;
    align-items: center;
}

.plan-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    background-color: rgba(212, 175, 55, 0.1);
    color: var(--gold-primary);
}

.plan-info {
    flex: 1;
}

.plan-title {
    font-weight: 600;
    font-size: 0.95rem;
}

.plan-details {
    font-size: 0.8rem;
    color: #777;
}

/* Market Insights Card */
.market-insights-card {
    background-color: white;
    border-radius: 15px;
    padding: 20px;
    margin: 20px 0;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    animation: fadeIn 0.5s ease forwards;
    animation-delay: 0.35s;
}

.insight-item {
    display: flex;
    align-items: flex-start;
    padding: 12px 0;
    border-bottom: 1px solid var(--light-gray);
    cursor: pointer;
    transition: all 0.2s ease;
}

.insight-item:hover {
    background-color: rgba(245, 245, 245, 0.5);
}

.insight-item:last-child {
    border-bottom: none;
}

.insight-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    background-color: rgba(20, 33, 61, 0.1);
    color: var(--deep-blue);
    flex-shrink: 0;
}

.insight-title {
    font-weight: 600;
    font-size: 0.95rem;
    margin-bottom: 4px;
}

.insight-source {
    font-size: 0.8rem;
    color: #777;
}

/* Price Alerts Card */
.price-alerts-card {
    background-color: white;
    border-radius: 15px;
    padding: 20px;
    margin: 20px 0;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    animation: fadeIn 0.5s ease forwards;
    animation-delay: 0.3s;
}

.alert-item {
    display: flex;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--light-gray);
}

.alert-item:last-child {
    border-bottom: none;
}

.alert-type {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
}

.alert-above {
    background-color: rgba(76, 175, 80, 0.1);
    color: var(--success);
}

.alert-below {
    background-color: rgba(255, 152, 0, 0.1);
    color: var(--warning);
}

.alert-details {
    flex: 1;
}

.alert-price {
    font-weight: 600;
    font-size: 0.95rem;
}

.alert-action {
    font-size: 0.8rem;
    color: #777;
}

.small-toggle {
    transform: scale(0.8);
    margin-right: -5px;
}
 
  /* Add this to your CSS */
  .btn-pulse {
    animation: pulse 1.5s infinite;
  }
  
  @keyframes pulse {
    0% {
      box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.7);
    }
    70% {
      box-shadow: 0 0 0 10px rgba(212, 175, 55, 0);
    }
    100% {
      box-shadow: 0 0 0 0 rgba(212, 175, 55, 0);
    }
  }
  
  .pin-input:focus {
    border-color: var(--gold-primary);
    box-shadow: 0 0 0 0.25rem rgba(212, 175, 55, 0.25);
  }
  
  .payment-gateways img, .payment-gateways i {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
  
  .payment-gateways img:hover, .payment-gateways i:hover {
    opacity: 1;
  } 
  /* Add these styles to your existing CSS */
  .selling-status-banner {
    border-left: 3px solid #ffc107;
  }
  
  .camp-on-price-feature {
    border-left: 3px solid #0d6efd;
  }
  
  /* Style for bank account fields */
  .bank-details-section {
    border-left: 3px solid #0d6efd;
    animation: fadeIn 0.3s ease;
  }
  
  @keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
  }
  
  /* Save button pulse animation */
  #saveAccountBtn:not(:disabled) {
    animation: softPulse 2s infinite;
  }
  
  @keyframes softPulse {
    0% { box-shadow: 0 0 0 0 rgba(13, 110, 253, 0.4); }
    70% { box-shadow: 0 0 0 6px rgba(13, 110, 253, 0); }
    100% { box-shadow: 0 0 0 0 rgba(13, 110, 253, 0); }
  }
  
  /* Additional responsive fixes */
  @media (max-width: 576px) {
    .transaction-summary .d-flex {
      flex-direction: column;
      align-items: flex-start !important;
    }
    
    .transaction-summary .d-flex > div:last-child {
      align-self: flex-end;
    }
  }
 

  .partner-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.partner-logo div {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 4px;
    white-space: nowrap;
}

.partner-logo img {
    display: block;
    margin: 0 auto;
}

/* If you want to ensure it's centered within the header section */
.header-section .d-flex {
    align-items: center;
}

/* Optional: Add some spacing between the logos */
.partner-logo + .partner-logo {
    margin-left: 15px;
}


.live-prices-card {
    background: linear-gradient(135deg, white, var(--gold-light));
    border-radius: 12px;
    padding: 16px;
    border: 1px solid rgba(212, 175, 55, 0.15);
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    margin-bottom: 1rem;
}

.prices-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.price-item {
    flex: 1;
    text-align: center;
}

.price-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #6c757d;
}

.price-display {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.price-display .amount {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--deep-blue);
}

.price-display .amount::before {
    content: 'PKR ';
    font-size: 0.8rem;
    color: var(--gold-primary);
    font-weight: 600;
}

.price-display .change {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 4px;
}

.price-display .change.positive {
    background: rgba(40, 167, 69, 0.1);
    color: #28a745;
}

.price-display .change.negative {
    background: rgba(220, 53, 69, 0.1);
    color: #dc3545;
}

.price-divider {
    width: 1px;
    height: 40px;
    background: linear-gradient(to bottom, transparent, var(--gold-primary), transparent);
    margin: 0 16px;
}

.price-actions {
    display: flex;
    align-items: center;
}

.refresh-btn {
    background: rgba(212, 175, 55, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 8px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold-primary);
    cursor: pointer;
    transition: all 0.2s ease;
}

.refresh-btn:hover {
    background: var(--gold-primary);
    color: white;
    transform: scale(1.05);
}

.price-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.7rem;
    color: #6c757d;
    padding-top: 8px;
    border-top: 1px solid rgba(212, 175, 55, 0.1);
}

.spread-info, .market-status, .last-update {
    font-weight: 500;
}

.market-status {
    display: flex;
    align-items: center;
    gap: 4px;
}

.status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #28a745;
    animation: pulse 2s infinite;
}

.status-dot.closed {
    background: #dc3545;
    animation: none;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}

#refreshPricesIcon.spinning {
    animation: spin 0.8s linear infinite;
}

/* Mobile responsive */
@media (max-width: 576px) {
 
    
    .price-footer {
        flex-direction: column;
        gap: 4px;
        text-align: center;
    }
}


 

.set-goal-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(255, 193, 7, 0.4) !important;
    background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%) !important;
}

.set-goal-btn:active {
    transform: translateY(0) !important;
}

.set-goal-btn.goal-set {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%) !important;
    color: white !important;
}

@media (max-width: 576px) {
    .set-goal-btn {
        font-size: 0.85rem !important;
        padding: 8px 16px !important;
        min-height: 40px !important;
    }
    
    .goal-button-container {
        margin: 15px 0 !important;
    }
}

.schedule-item {
    transition: background-color 0.2s ease;
}

.schedule-item:hover {
    background-color: rgba(212, 175, 55, 0.1);
}

.investment-schedule {
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 15px;
    margin-top: 15px;
}

.schedule-container {
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background-color: #fff;
}

.schedule-note {
    background-color: #f8f9fa;
    padding: 8px 12px;
    border-radius: 4px;
    border-left: 3px solid #ffc107;
}

@media (max-width: 576px) {
    .schedule-item {
        font-size: 0.85rem;
    }
    
    .schedule-item .fw-bold {
        font-size: 0.9rem;
    }
    
    .schedule-item .small {
        font-size: 0.75rem;
    }
}
.schedule-item:nth-child(even) {
    background-color: rgba(0, 0, 0, 0.02);
}

.progress {
    background-color: rgba(212, 175, 55, 0.2);
}

.bg-gold {
    background-color: #D4AF37 !important;
}

.schedule-header {
    position: sticky;
    top: 0;
    z-index: 10;
}

.schedule-footer {
    border-top: 2px solid #D4AF37;
}

@media (max-width: 768px) {
    .schedule-item .row > div {
        margin-bottom: 8px;
    }
    
    .schedule-footer .col-6 {
        margin-bottom: 10px;
    }
}

/* Tooltip styles */
[title] {
    cursor: help;
}

.fas.fa-info-circle {
    font-size: 0.8rem;
    opacity: 0.7;
}

.fas.fa-info-circle:hover {
    opacity: 1;
}
 

.set-goal-btn * {
    pointer-events: none !important; /* Prevent child elements from interfering */
}

.set-goal-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(255, 193, 7, 0.4) !important;
    background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%) !important;
}

.set-goal-btn:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 10px rgba(255, 193, 7, 0.3) !important;
}

.set-goal-btn:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.3) !important;
}

.set-goal-btn.goal-set {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%) !important;
    color: white !important;
}

/* Mobile specific improvements */
@media (max-width: 576px) {
    .set-goal-btn {
        font-size: 0.85rem !important;
        padding: 14px 20px !important; /* Increased padding for mobile */
        min-height: 50px !important; /* Larger touch target */
        min-width: 180px !important;
        width: 100% !important;
        max-width: 280px !important;
    }
    
    .goal-button-container {
        margin: 20px 10px !important;
        padding: 0 10px !important;
    }
}

/* Tablet specific */
@media (min-width: 577px) and (max-width: 768px) {
    .set-goal-btn {
        min-height: 46px !important;
        padding: 12px 22px !important;
    }
}

.set-goal-btn {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
    border: none !important;
    color: #333 !important;
    font-weight: 600 !important;
    padding: 12px 24px !important;
    border-radius: 25px !important;
    box-shadow: 0 4px 15px rgba(255, 193, 7, 0.3) !important;
    transition: all 0.3s ease !important;
    font-size: 0.9rem !important;
    min-height: 48px !important;
    min-width: 200px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    position: relative !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* This is the key fix - make all child elements non-interactive */
.set-goal-btn * {
    pointer-events: none !important;
}

/* Alternative approach - make button contents fill entire area */
.set-goal-btn {
    padding: 0 !important;
}

.set-goal-btn .btn-content {
    width: 100% !important;
    height: 100% !important;
    padding: 12px 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
}

.set-goal-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(255, 193, 7, 0.4) !important;
    background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%) !important;
}

.set-goal-btn:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 10px rgba(255, 193, 7, 0.3) !important;
}

.set-goal-btn:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.3) !important;
}

.set-goal-btn.goal-set {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%) !important;
    color: white !important;
}

/* Mobile specific improvements */
@media (max-width: 576px) {
    .set-goal-btn {
        font-size: 0.85rem !important;
        min-height: 50px !important;
        min-width: 180px !important;
        width: 100% !important;
        max-width: 280px !important;
    }
    
    .set-goal-btn .btn-content {
        padding: 14px 20px !important;
    }
    
    .goal-button-container {
        margin: 20px 10px !important;
        padding: 0 10px !important;
    }
}

/* Tablet specific */
@media (min-width: 577px) and (max-width: 768px) {
    .set-goal-btn {
        min-height: 46px !important;
    }
    
    .set-goal-btn .btn-content {
        padding: 12px 22px !important;
    }
}

.existing-goal-banner {
    border-left: 4px solid #D4AF37;
}

.strategy-options .form-check {
    padding: 10px;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    margin-bottom: 8px;
    transition: all 0.2s ease;
}

.strategy-options .form-check:hover {
    background-color: #f8f9fa;
    border-color: #D4AF37;
}

.strategy-options .form-check-input:checked + .form-check-label {
    color: #D4AF37;
}

.goal-details {
    border-bottom: 1px solid #e9ecef;
    padding-bottom: 15px;
}

.goal-name {
    font-size: 1.1rem;
    color: #333;
}

.monthly-progress {
    border-left: 3px solid #28a745;
}

@media (max-width: 768px) {
    .goal-header {
        flex-direction: column;
        align-items: flex-start !important;
    }
    
    .goal-timeline {
        margin-top: 10px;
        text-align: left !important;
    }
}
.investment-strategy-toggle {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border: 2px solid #e9ecef;
    transition: all 0.3s ease;
}

.investment-strategy-toggle:hover {
    border-color: #D4AF37;
}

.investment-strategy-section {
    border: 2px solid #D4AF37;
    border-radius: 8px;
    padding: 20px;
    background: linear-gradient(135deg, #fff 0%, #fffef7 100%);
    animation: slideDown 0.3s ease;
}

.strategy-option {
    border: 2px solid #e9ecef;
    border-radius: 8px;
    margin-bottom: 10px;
    transition: all 0.2s ease;
    cursor: pointer;
}

.strategy-option:hover {
    border-color: #D4AF37;
    background-color: #f8f9fa;
}

.strategy-option input:checked + label {
    color: #D4AF37;
}

.recommendation-item {
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
}

.recommendation-item:last-child {
    border-bottom: none;
}

.smart-recommendations {
    border-left: 4px solid #007bff;
}

.lumpsum-summary {
    border: 2px solid #D4AF37;
}

 /* Add this to your existing CSS */

/* Improve focus visibility */
.modal .btn:focus,
.modal input:focus,
.modal select:focus,
.modal textarea:focus {
    outline: 2px solid #D4AF37;
    outline-offset: 2px;
    box-shadow: 0 0 0 0.2rem rgba(212, 175, 55, 0.25);
}

/* Ensure modal close button is accessible */
.modal .btn-close:focus {
    outline: 2px solid #D4AF37;
    outline-offset: 2px;
    box-shadow: 0 0 0 0.2rem rgba(212, 175, 55, 0.25);
}

/* Better focus for goal button */
.set-goal-btn:focus {
    outline: 3px solid #D4AF37 !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 0.25rem rgba(212, 175, 55, 0.3) !important;
}

/* Reduce focus ring on elements that shouldn't have focus */
.modal[aria-hidden="true"] * {
    outline: none;
}
/* Add this to your existing CSS */

/* Ensure proper modal backdrop behavior */
.modal-backdrop {
    transition: opacity 0.15s linear;
}

.modal-backdrop.fade {
    opacity: 0;
}

.modal-backdrop.show {
    opacity: 0.5;
}

/* Force remove any stuck backdrops */
body:not(.modal-open) .modal-backdrop {
    display: none !important;
}

/* Ensure body doesn't keep modal styles when no modals are open */
body:not(.modal-open) {
    overflow: auto !important;
    padding-right: 0 !important;
}

/* Fix modal z-index issues */
.modal {
    z-index: 1055;
}

.modal-backdrop {
    z-index: 1040;
}

/* Color meaning consistency */
.text-savings { color: #28a745 !important; } /* Green for savings/lower costs */
.text-increase { color: #ffc107 !important; } /* Yellow for increases */
.text-extra-cost { color: #dc3545 !important; } /* Red for extra costs */
.text-current { color: #007bff !important; } /* Blue for current/target values */
.text-reference { color: #17a2b8 !important; } /* Light blue for reference */

.bg-savings { background-color: #28a745 !important; }
.bg-increase { background-color: #ffc107 !important; }
.bg-extra-cost { background-color: #dc3545 !important; }
.bg-current { background-color: #007bff !important; }
.bg-reference { background-color: #17a2b8 !important; }

/* Enhanced badge styles */
.badge.bg-success { background-color: #28a745 !important; }
.badge.bg-warning { background-color: #ffc107 !important; color: #000 !important; }
.badge.bg-danger { background-color: #dc3545 !important; }
.badge.bg-primary { background-color: #007bff !important; }
.badge.bg-info { background-color: #17a2b8 !important; }

/* Progress bar colors */
.progress-bar.bg-gold { background-color: #D4AF37 !important; }

.option-card {
    transition: all 0.3s ease;
    cursor: pointer;
    min-height: 140px;
}

.option-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.toggle-container {
    position: relative;
}

.form-check-input:checked {
    background-color: #ffc107;
    border-color: #ffc107;
}

.selection-indicator {
    border-left: 4px solid #28a745;
    background: linear-gradient(90deg, rgba(40, 167, 69, 0.1) 0%, transparent 100%);
}

.bg-warning-subtle .selection-indicator {
    border-left-color: #ffc107;
}

.option-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.comparison-item {
    padding: 8px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.7);
}

.price-comparison {
    border-left: 4px solid #0dcaf0;
}

@media (max-width: 768px) {
    .row.align-items-center > .col-5 {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 1rem;
    }
    
    .row.align-items-center > .col-2 {
        flex: 0 0 100%;
        max-width: 100%;
        margin: 1rem 0;
    }
    
    .toggle-container {
        flex-direction: row !important;
        justify-content: center;
    }
    
    .toggle-container small {
        margin: 0 1rem !important;
    }
}

.delivery-option-card {
  transition: all 0.3s ease;
  cursor: pointer;
  min-height: 160px;
}

.delivery-option-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Vertical Toggle Styling */
.vertical-toggle-container {
  height: 100%;
  justify-content: center;
}

.vertical-toggle-wrapper {
  position: relative;
}

.vertical-toggle-track {
  position: relative;
  width: 60px;
  height: 100px;
  background: #e9ecef;
  border-radius: 30px;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.1);
}

.vertical-toggle-input {
  opacity: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
}

.vertical-toggle-label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.toggle-slider {
  position: absolute;
  top: 5px;
  left: 5px;
  width: 50px;
  height: 40px;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.vertical-toggle-input:checked + .vertical-toggle-label .toggle-slider {
  transform: translateY(50px);
  background: #ffc107;
}

.toggle-icons {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.pickup-icon {
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
  color: #007bff;
  font-size: 1.1rem;
  transition: all 0.3s ease;
}

.delivery-icon {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  color: #ffc107;
  font-size: 1.1rem;
  transition: all 0.3s ease;
}

.vertical-toggle-input:checked ~ .toggle-icons .pickup-icon {
  opacity: 0.5;
}

.vertical-toggle-input:not(:checked) ~ .toggle-icons .delivery-icon {
  opacity: 0.5;
}

/* Right-aligned values */
.delivery-cost,
.pickup-cost {
  text-align: right;
}

.pickup-cost .fw-bold {
  color: #28a745 !important;
}

.delivery-cost .fw-bold {
  color: #2c3e50 !important;
}

/* Schedule sections */
.pickup-schedule-section,
.delivery-schedule-section {
  background: rgba(255, 255, 255, 0.7);
  padding: 1rem;
  border-radius: 8px;
  border-left: 4px solid #007bff;
}

.delivery-schedule-section {
  border-left-color: #ffc107;
}

/* Contact info styling */
.contact-info {
  background: rgba(255, 255, 255, 0.5);
  padding: 0.75rem;
  border-radius: 6px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .delivery-options-container .row > .col-5 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 1rem;
  }
  
  .delivery-options-container .row > .col-2 {
    flex: 0 0 100%;
    max-width: 100%;
    margin: 1rem 0;
  }
  
  .vertical-toggle-wrapper {
    transform: rotate(90deg);
  }
  
  .vertical-toggle-track {
    width: 100px;
    height: 60px;
  }
  
  .toggle-slider {
    width: 40px;
    height: 50px;
    top: 5px;
    left: 5px;
  }
  
  .vertical-toggle-input:checked + .vertical-toggle-label .toggle-slider {
    transform: translateX(50px) translateY(0px);
  }
  
  .pickup-icon {
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
  }
  
  .delivery-icon {
    top: 50%;
    right: 15px;
    left: auto;
    transform: translateY(-50%);
  }
}

/* Animation for smooth transitions */
.delivery-option-card.selected {
  transform: scale(1.02);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.delivery-option-card.unselected {
  opacity: 0.6;
  transform: scale(0.98);
}


/* Professional Alert Modal - Modern Compact Design */
#newAlertModal .modal-dialog {
  max-width: 800px;
}

#newAlertModal .modal-content {
  border: none;
  border-radius: 15px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

#newAlertModal .modal-header {
  background: linear-gradient(135deg, var(--gold-light) 0%, #f8f9fa 100%);
  border: none;
  padding: 1.5rem 2rem;
  border-radius: 15px 15px 0 0;
}

#newAlertModal .modal-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--dark-gray);
}

#newAlertModal .modal-body {
  padding: 1.5rem 2rem 2rem 2rem;
}

/* Alert Options Container */
.alert-options-container {
  background: var(--light-gray);
  border: 1px solid var(--border-light);
}

.alert-option-card {
  transition: all 0.3s ease;
  cursor: pointer;
  min-height: 140px;
  border: 2px solid transparent;
}

.alert-option-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.alert-option-card.selected {
  border-color: var(--gold-primary);
  background: linear-gradient(135deg, white 0%, var(--gold-light) 100%);
}

.option-icon {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Toggle Styling */
.alert-toggle-container {
  height: 100%;
  justify-content: center;
}

.alert-toggle-wrapper {
  position: relative;
}

.alert-toggle-track {
  position: relative;
  width: 60px;
  height: 80px;
  background: #e9ecef;
  border-radius: 30px;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.1);
}

.alert-toggle-input {
  opacity: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
}

.alert-toggle-label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.toggle-slider {
  position: absolute;
  top: 5px;
  left: 5px;
  width: 50px;
  height: 32px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.alert-toggle-input:checked + .alert-toggle-label .toggle-slider {
  transform: translateY(38px);
  background: var(--gold-primary);
}

.toggle-icons {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.buy-icon {
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  color: #28a745;
  font-size: 1rem;
  transition: all 0.3s ease;
}

.sell-icon {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  color: #ffc107;
  font-size: 1rem;
  transition: all 0.3s ease;
}

.alert-toggle-input:checked ~ .toggle-icons .buy-icon {
  opacity: 0.5;
}

.alert-toggle-input:not(:checked) ~ .toggle-icons .sell-icon {
  opacity: 0.5;
}

/* Form Styling */
.form-label.fw-semibold {
  color: var(--dark-gray);
  font-size: 0.95rem;
}

.form-control, .form-select {
  border: 1px solid var(--border-light);
  border-radius: 8px;
  padding: 0.6rem 0.8rem;
  font-size: 0.9rem;
}

.form-control:focus, .form-select:focus {
  border-color: var(--gold-primary);
  box-shadow: 0 0 0 0.2rem rgba(212, 175, 55, 0.25);
}

.input-group-text {
  background: var(--light-gray);
  border: 1px solid var(--border-light);
  color: var(--dark-gray);
  font-weight: 500;
  font-size: 0.9rem;
}

/* Notification Methods */
.notification-methods {
  background: rgba(255, 255, 255, 0.8);
}

.form-check-label {
  font-size: 0.9rem;
  color: var(--dark-gray);
}

/* Alert Summary */
.alert-summary {
  background: linear-gradient(135deg, var(--light-gray) 0%, rgba(245, 239, 213, 0.3) 100%);
  border: 1px solid var(--border-light);
}

/* Selection Indicator */
.selection-indicator {
  border-left: 4px solid #28a745;
  background: rgba(40, 167, 69, 0.1);
}

.selection-indicator.warning {
  border-left-color: #ffc107;
  background: rgba(255, 193, 7, 0.1);
}

/* Save Button */
.alert-save-btn {
  background: linear-gradient(to right, var(--deep-blue), #1c2e50);
  color: white;
  border: none;
  border-radius: 25px;
  padding: 12px 30px;
  font-size: 1rem;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.alert-save-btn:hover {
  background: var(--gold-primary);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(212, 175, 55, 0.3);
}

/* Mobile Responsive Design */
@media (max-width: 768px) {
  #newAlertModal .modal-dialog {
    margin: 0.5rem;
    max-width: calc(100vw - 1rem);
  }

  #newAlertModal .modal-body {
    padding: 1rem 1.5rem 1.5rem 1.5rem;
  }

  /* Stack options vertically on mobile */
  .alert-options-container .row > .col-5 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 1rem;
  }

  .alert-options-container .row > .col-2 {
    flex: 0 0 100%;
    max-width: 100%;
    margin: 0.5rem 0;
  }

  /* Horizontal toggle on mobile */
  .alert-toggle-wrapper {
    transform: rotate(90deg);
  }

  .alert-toggle-track {
    width: 80px;
    height: 60px;
  }

  .toggle-slider {
    width: 32px;
    height: 50px;
    top: 5px;
    left: 5px;
  }

  .alert-toggle-input:checked + .alert-toggle-label .toggle-slider {
    transform: translateX(38px) translateY(0px);
  }

  .buy-icon {
    top: 50%;
    left: 12px;
    transform: translateY(-50%);
  }

  .sell-icon {
    top: 50%;
    right: 12px;
    left: auto;
    transform: translateY(-50%);
  }

  /* Form adjustments */
  .row.mb-3 > .col-md-6 {
    margin-bottom: 1rem;
  }

  .notification-methods .row > div {
    margin-bottom: 0.5rem;
  }

  .alert-summary .row > div {
    margin-bottom: 0.5rem;
  }
}

@media (max-width: 576px) {
  #newAlertModal .modal-header {
    padding: 1rem 1.5rem;
  }

  #newAlertModal .modal-title {
    font-size: 1.3rem;
  }

  #newAlertModal .modal-body {
    padding: 1rem;
  }

  .alert-option-card {
    min-height: 120px;
    padding: 1rem !important;
  }

  .alert-save-btn {
    width: 100%;
    padding: 12px;
  }
}

/* Animation */
@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#newAlertModal.show .modal-content {
  animation: slideInUp 0.3s ease-out;
}

/* Tab-like behavior for mobile */
@media (max-width: 768px) {
  .alert-options-container {
    background: transparent;
    border: none;
    padding: 0 !important;
  }

  .alert-option-card {
    border: 2px solid var(--border-light);
    margin-bottom: 0.5rem;
  }

  .alert-option-card.selected {
    border-color: var(--gold-primary);
    background: var(--gold-light);
  }

  .selection-indicator {
    margin-top: 1rem !important;
  }
}

/* Text-based Toggle Styling */
.alert-toggle-container {
  height: 100%;
  justify-content: center;
}

.alert-toggle-wrapper {
  position: relative;
}

.alert-toggle-track {
  position: relative;
  width: 70px;
  height: 100px;
  background: #e9ecef;
  border-radius: 35px;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.1);
  border: 2px solid var(--border-light);
}

.alert-toggle-input {
  opacity: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 3;
}

.alert-toggle-label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.toggle-slider {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 60px;
  height: 42px;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border-radius: 21px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  border: 1px solid var(--border-light);
}

.alert-toggle-input:checked + .alert-toggle-label .toggle-slider {
  transform: translateY(50px);
  background: linear-gradient(135deg, var(--gold-primary) 0%, var(--gold-secondary) 100%);
  color: white;
}

.toggle-labels {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.buy-label {
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.75rem;
  font-weight: 700;
  color: #28a745;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
  transition: all 0.3s ease;
  z-index: 1;
}

.sell-label {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.75rem;
  font-weight: 700;
  color: #ffc107;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
  transition: all 0.3s ease;
  z-index: 1;
}

/* Active state styling */
.alert-toggle-input:checked ~ .toggle-labels .buy-label {
  opacity: 0.5;
  color: #6c757d;
}

.alert-toggle-input:not(:checked) ~ .toggle-labels .sell-label {
  opacity: 0.5;
  color: #6c757d;
}

/* Selected label highlighting */
.alert-toggle-input:checked ~ .toggle-labels .sell-label {
  color: white;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  font-weight: 800;
}

.alert-toggle-input:not(:checked) ~ .toggle-labels .buy-label {
  color: #28a745;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
  font-weight: 800;
}

/* Hover effects */
.alert-toggle-track:hover {
  border-color: var(--gold-primary);
}

.alert-toggle-track:hover .toggle-slider {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
}

/* Mobile Responsive Design */
@media (max-width: 768px) {
  /* Horizontal toggle on mobile */
  .alert-toggle-wrapper {
    transform: rotate(90deg);
  }

  .alert-toggle-track {
    width: 100px;
    height: 70px;
    border-radius: 35px;
  }

  .toggle-slider {
    width: 42px;
    height: 60px;
    top: 4px;
    left: 4px;
    border-radius: 21px;
  }

  .alert-toggle-input:checked + .alert-toggle-label .toggle-slider {
    transform: translateX(50px) translateY(0px);
  }

  .buy-label {
    top: 50%;
    left: 18px;
    transform: translateY(-50%) rotate(-90deg);
    font-size: 0.7rem;
  }

  .sell-label {
    top: 50%;
    right: 18px;
    left: auto;
    bottom: auto;
    transform: translateY(-50%) rotate(-90deg);
    font-size: 0.7rem;
  }
}

@media (max-width: 576px) {
  .alert-toggle-track {
    width: 90px;
    height: 60px;
  }

  .toggle-slider {
    width: 38px;
    height: 50px;
  }

  .alert-toggle-input:checked + .alert-toggle-label .toggle-slider {
    transform: translateX(44px) translateY(0px);
  }

  .buy-label, .sell-label {
    font-size: 0.65rem;
  }

  .buy-label {
    left: 15px;
  }

  .sell-label {
    right: 15px;
  }
}

/* Enhanced visual feedback */
.alert-toggle-track {
  transition: all 0.2s ease;
}

.alert-toggle-track:active {
  transform: scale(0.98);
}

/* Additional professional styling */
.alert-toggle-container small:first-child {
  font-weight: 500;
  color: var(--dark-gray);
}

.alert-toggle-container small:last-child {
  color: var(--gold-primary);
  opacity: 0.8;
}

.alert-toggle-container small:last-child:hover {
  opacity: 1;
}

/* Enhanced input group styling */
.input-group .form-control:focus {
  z-index: 3;
}

.input-group-text {
  font-weight: 500;
  font-size: 0.9rem;
  border-left: none;
}

.input-group .form-control {
  border-right: none;
}

.input-group .form-control:not(:last-child) {
  border-right: none;
}

.input-group .input-group-text:not(:first-child) {
  border-left: none;
}

/* Validation styling for both inputs */
.form-control.is-warning + .input-group-text {
  border-color: #ffc107;
  background-color: rgba(255, 193, 7, 0.1);
}

.form-control.is-valid + .input-group-text {
  border-color: #28a745;
  background-color: rgba(40, 167, 69, 0.1);
}

.form-control.is-invalid + .input-group-text {
  border-color: #dc3545;
  background-color: rgba(220, 53, 69, 0.1);
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
  .row.mb-3 > .col-md-6 {
    margin-bottom: 1rem;
  }
  
  .input-group {
    margin-bottom: 0.5rem;
  }
}
/* Delete alert button styling */
.delete-alert-btn {
  padding: 4px 8px;
  font-size: 0.75rem;
  border-width: 1px;
  transition: all 0.2s ease;
  opacity: 0.7;
}

.delete-alert-btn:hover {
  opacity: 1;
  background-color: var(--danger);
  border-color: var(--danger);
  color: white;
  transform: scale(1.05);
}

.alert-controls {
  flex-shrink: 0;
}

.alert-item:hover .delete-alert-btn {
  opacity: 1;
}

/* All Transactions Modal Styling */
#allTransactionsModal .modal-content {
  border-radius: 15px;
  overflow: hidden;
}

#allTransactionsModal .modal-header {
  padding: 1.5rem 2rem;
}

#allTransactionsModal .modal-body {
  max-height: 80vh;
  overflow-y: auto;
}

/* Search and Filter Styling */
.search-container {
  position: relative;
}

.search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted);
  z-index: 2;
}

.search-container input {
  padding-left: 2.5rem;
}

.transaction-filters .form-select,
.transaction-filters .form-control {
  border: 1px solid var(--border-light);
  border-radius: 8px;
  font-size: 0.9rem;
}

/* Desktop Table Styling */
.table th {
  font-weight: 600;
  color: var(--dark-gray);
  font-size: 0.9rem;
  padding: 1rem 0.75rem;
}

.table td {
  padding: 1rem 0.75rem;
  vertical-align: middle;
  border-top: 1px solid #f0f0f0;
}

.table tbody tr:hover {
  background-color: rgba(212, 175, 55, 0.05);
}

/* Sort buttons */
.btn-link {
  color: var(--dark-gray) !important;
  text-decoration: none !important;
}

.btn-link:hover {
  color: var(--gold-primary) !important;
}

/* Transaction Type Badges */
.transaction-type-badge {
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
}

.type-buy {
  background-color: rgba(40, 167, 69, 0.1);
  color: #28a745;
}

.type-sell {
  background-color: rgba(255, 152, 0, 0.1);
  color: #FF9800;
}

.type-redeem {
  background-color: rgba(0, 123, 255, 0.1);
  color: #007bff;
}

.type-received {
  background-color: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}

/* Status Badges */
.transaction-status-badge {
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
}

.status-success {
  background-color: rgba(40, 167, 69, 0.1);
  color: #28a745;
}

.status-pending {
  background-color: rgba(255, 193, 7, 0.1);
  color: #ffc107;
}

.status-settled {
  background-color: rgba(40, 167, 69, 0.1);
  color: #28a745;
}

.status-delivery {
  background-color: rgba(0, 123, 255, 0.1);
  color: #007bff;
}

.status-failed {
  background-color: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}

/* Mobile Transaction Cards */
.transaction-mobile-card {
  background: white;
  border: none;
  border-bottom: 1px solid #f0f0f0;
  padding: 1rem;
  transition: all 0.2s ease;
}

.transaction-mobile-card:hover {
  background-color: rgba(212, 175, 55, 0.05);
}

.transaction-mobile-card:last-child {
  border-bottom: none;
}

.mobile-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

.mobile-transaction-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
}

.mobile-card-content {
  flex: 1;
}

.mobile-card-title {
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 2px;
}

.mobile-card-subtitle {
  font-size: 0.8rem;
  color: var(--text-muted);
  margin-bottom: 4px;
}

.mobile-card-amount {
  font-weight: 700;
  font-size: 1rem;
}

.mobile-card-value {
  font-size: 0.85rem;
  color: var(--text-muted);
}

.mobile-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #f0f0f0;
}

/* Summary Cards Mobile */
.summary-card {
  border: 1px solid var(--border-light);
  transition: all 0.2s ease;
}

.summary-card:hover {
  border-color: var(--gold-primary);
  transform: translateY(-1px);
}

/* Action Buttons */
.transaction-action-btn {
  padding: 4px 8px;
  font-size: 0.75rem;
  border-radius: 6px;
  border: none;
  transition: all 0.2s ease;
}

.btn-view-details {
  background-color: rgba(0, 123, 255, 0.1);
  color: #007bff;
}

.btn-view-details:hover {
  background-color: #007bff;
  color: white;
}

.btn-download-receipt {
  background-color: rgba(108, 117, 125, 0.1);
  color: #6c757d;
}

.btn-download-receipt:hover {
  background-color: #6c757d;
  color: white;
}

/* Empty State */
.empty-state {
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Loading State */
.loading-state {
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Pagination */
.pagination-sm .page-link {
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  border-radius: 6px;
  margin: 0 2px;
  border: 1px solid var(--border-light);
  color: var(--dark-gray);
}

.pagination-sm .page-link:hover {
  background-color: var(--gold-light);
  border-color: var(--gold-primary);
  color: var(--gold-secondary);
}

.pagination-sm .page-item.active .page-link {
  background-color: var(--gold-primary);
  border-color: var(--gold-primary);
  color: white;
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
  #allTransactionsModal .modal-header {
    padding: 1rem;
  }

  .transaction-filters {
    padding: 1rem !important;
  }

  .transaction-filters .row {
    gap: 0.5rem;
  }

  .transaction-filters .col-md-2,
  .transaction-filters .col-md-4 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .modal-footer {
    flex-direction: column;
    gap: 1rem;
    align-items: center !important;
  }

  .transaction-count {
    order: 2;
  }

  .pagination {
    order: 1;
    margin-bottom: 0 !important;
  }
}

@media (max-width: 576px) {
  .modal-footer {
    padding: 1rem;
  }

  .summary-card {
    padding: 0.5rem !important;
  }

  .summary-card .fw-bold {
    font-size: 0.9rem;
  }

  .summary-card small {
    font-size: 0.7rem;
  }

  .mobile-transaction-icon {
    width: 32px;
    height: 32px;
  }

  .mobile-card-title {
    font-size: 0.9rem;
  }

  .mobile-card-amount {
    font-size: 0.95rem;
  }
}

/* Sticky elements */
.sticky-top {
  position: sticky;
  top: 0;
  z-index: 10;
  background: white;
}

/* Smooth scrolling */
.modal-body {
  scroll-behavior: smooth;
}

/* Focus states */
.form-control:focus,
.form-select:focus {
  border-color: var(--gold-primary);
  box-shadow: 0 0 0 0.2rem rgba(212, 175, 55, 0.25);
}

/* Animation for cards */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.transaction-mobile-card,
.table tbody tr {
  animation: fadeInUp 0.3s ease-out;
}

.mobile-card-rate {
  font-size: 0.75rem;
  color: var(--text-muted);
  font-weight: 500;
}

/* Enhanced mobile summary cards */
.summary-card .fw-bold {
  font-size: 0.9rem;
  line-height: 1.2;
}

.summary-card small {
  font-size: 0.7rem;
  display: block;
  margin-top: 2px;
}

/* Better action button spacing */
.transaction-action-btn {
  min-width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Improved status badges */
.transaction-status-badge,
.transaction-type-badge {
  white-space: nowrap;
  font-weight: 500;
}

/* Animation improvements */
.transaction-mobile-card,
.table tbody tr {
  animation: fadeInUp 0.4s ease-out forwards;
  opacity: 0;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Add this to your existing styles */
.mobile-filter-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.mobile-filter-toggle:hover {
    transform: translateY(-1px);
}

.toggle-icon {
    transition: transform 0.3s ease;
}

.search-container {
    position: relative;
}

.search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #6c757d;
    z-index: 10;
}

.filter-count-badge {
    animation: pulse 0.5s ease-in-out;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

/* Mobile-specific adjustments */
@media (max-width: 767.98px) {
    .transaction-filters {
        background-color: #f8f9fa;
        border-radius: 8px;
        padding: 1rem;
        margin-bottom: 1rem;
        animation: slideDown 0.3s ease-out;
    }
    
    .transaction-filters.d-none {
        animation: slideUp 0.3s ease-out;
    }
    
    .form-select-sm {
        font-size: 0.875rem;
    }
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideUp {
    from {
        opacity: 1;
        transform: translateY(0);
    }
    to {
        opacity: 0;
        transform: translateY(-10px);
    }
}

/* Quick filter chips for mobile */
.quick-filters {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.quick-filter-chip {
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    border: 1px solid #dee2e6;
    background-color: white;
    color: #6c757d;
    text-decoration: none;
    font-size: 0.8rem;
    transition: all 0.2s ease;
}

.quick-filter-chip:hover,
.quick-filter-chip.active {
    background-color: #007bff;
    color: white;
    border-color: #007bff;
    text-decoration: none;
}
/* Transaction Details Modal Styles */
.detail-card {
  background: #f8f9fa;
  transition: transform 0.2s ease;
}

.detail-card:hover {
  transform: translateY(-2px);
}

.detail-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #e9ecef;
}

.detail-row:last-child {
  border-bottom: none;
}

.detail-label {
  font-weight: 500;
  color: #6c757d;
  flex: 1;
}

.detail-value {
  flex: 1;
  text-align: right;
  font-weight: 600;
}

/* Timeline Styles */
.timeline {
  position: relative;
  padding-left: 30px;
}

.timeline::before {
  content: '';
  position: absolute;
  left: 15px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #dee2e6;
}

.timeline-item {
  position: relative;
  margin-bottom: 20px;
}

.timeline-marker {
  position: absolute;
  left: -22px;
  top: 5px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 12px;
}

.timeline-content {
  padding-left: 15px;
}

.timeline-title {
  font-weight: 600;
  margin-bottom: 4px;
}

.timeline-time {
  font-size: 0.875rem;
  color: #6c757d;
}

.timeline-item.active .timeline-marker {
  background: #28a745;
}

.timeline-item:not(.active) .timeline-marker {
  background: #6c757d;
}

/* Print styles for receipt */
@media print {
  body * {
    visibility: hidden;
  }
  
  .receipt-content,
  .receipt-content * {
    visibility: visible;
  }
  
  .receipt-content {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
  .detail-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  
  .detail-value {
    text-align: left;
  }
  
  .timeline {
    padding-left: 20px;
  }
  
  .timeline-marker {
    left: -15px;
    width: 24px;
    height: 24px;
  }
}

/* Chart Summary Styles */
.chart-summary {
    margin-bottom: 1rem;
}

.investment-summary {
    border-left: 4px solid #D4AF37;
}

.summary-title {
    font-size: 1.1rem;
    color: #333;
}

.summary-subtitle {
    font-size: 0.9rem;
}

.summary-item {
    padding: 0.5rem;
}

.summary-label {
    font-size: 0.85rem;
    color: #666;
    margin-bottom: 0.25rem;
}

.summary-value {
    font-size: 1.1rem;
}

/* Chart Tabs Enhancement */
.chart-tabs {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.chart-tab {
    padding: 0.4rem 0.8rem;
    border-radius: 20px;
    background-color: #f8f9fa;
    color: #6c757d;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 0.85rem;
    font-weight: 500;
    border: 1px solid #e9ecef;
}

.chart-tab:hover {
    background-color: #e9ecef;
    transform: translateY(-1px);
}

.chart-tab.active {
    background-color: #20c997;
    color: white;
    border-color: #20c997;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(32, 201, 151, 0.3);
}

/* Chart Container */
.chart-card canvas {
    background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
    border-radius: 8px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .summary-value {
        font-size: 1rem;
    }
    
    .chart-tabs {
        justify-content: center;
    }
    
    .chart-tab {
        padding: 0.3rem 0.6rem;
        font-size: 0.8rem;
    }
}

.goal-coin-container {
    position: relative;
    padding: 0px;
}

.gold-coin {
    position: relative;
    width: 120px;
    height: 120px;
    margin: 0 auto;
    cursor: pointer;
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

.gold-coin:hover {
    transform: rotateY(10deg) translateY(-5px);
}

.coin-inner {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: linear-gradient(145deg, #FFD700 0%, #FFA500 30%, #FF8C00 60%, #DAA520 100%);
    border: 4px solid #B8860B;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: 
        0 8px 16px rgba(218, 165, 32, 0.3),
        inset 0 2px 4px rgba(255, 255, 255, 0.3),
        inset 0 -2px 4px rgba(0, 0, 0, 0.2);
    animation: coinFloat 3s ease-in-out infinite;
}

.coin-inner::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 8px;
    right: 8px;
    bottom: 8px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.3);
    pointer-events: none;
}

.coin-inner::after {
    content: '';
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4) 0%, transparent 50%);
    pointer-events: none;
}

.coin-content {
    text-align: center;
    z-index: 2;
    position: relative;
}

.coin-icon {
    font-size: 16px;
    color: #8B4513;
    margin-bottom: 2px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.coin-goal-amount {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 2px;
}

.goal-number {
    font-size: 20px;
    font-weight: 900;
    color: #8B4513;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    line-height: 1;
}

.goal-unit {
    font-size: 14px;
    font-weight: 700;
    color: #A0522D;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

.coin-label {
    font-size: 10px;
    font-weight: 600;
    color: #8B4513;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 2px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

.coin-glow {
    position: absolute;
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 215, 0, 0.3) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.gold-coin:hover .coin-glow {
    opacity: 1;
}

.goal-action {
    margin-top: 15px;
}

.goal-action-btn {
    color: #D4AF37;
    font-weight: 600;
    text-decoration: none;
    border: none;
    background: none;
    padding: 8px 16px;
    border-radius: 20px;
    transition: all 0.3s ease;
    font-size: 14px;
}

.goal-action-btn:hover {
    background: rgba(212, 175, 55, 0.1);
    color: #B8941F;
    transform: translateY(-1px);
}

.goal-action-btn:focus {
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.25);
    outline: none;
}

.goal-progress-text {
    margin-top: 5px;
    font-size: 12px;
}

/* Animation */
@keyframes coinFloat {
    0%, 100% { transform: translateY(0px) rotateY(0deg); }
    50% { transform: translateY(-3px) rotateY(2deg); }
}

/* State variations */
.gold-coin.no-goal .coin-inner {
    background: linear-gradient(145deg, #f8f9fa 0%, #e9ecef 30%, #dee2e6 60%, #ced4da 100%);
    border-color: #adb5bd;
    box-shadow: 
        0 4px 8px rgba(173, 181, 189, 0.2),
        inset 0 2px 4px rgba(255, 255, 255, 0.3),
        inset 0 -2px 4px rgba(0, 0, 0, 0.1);
}

.gold-coin.no-goal .coin-icon,
.gold-coin.no-goal .goal-number,
.gold-coin.no-goal .goal-unit,
.gold-coin.no-goal .coin-label {
    color: #6c757d;
}

.gold-coin.goal-achieved .coin-inner {
    background: linear-gradient(145deg, #28a745 0%, #20c997 30%, #17a2b8 60%, #007bff 100%);
    border-color: #155724;
    animation: coinCelebrate 2s ease-in-out infinite;
}

.gold-coin.goal-achieved .coin-icon,
.gold-coin.goal-achieved .goal-number,
.gold-coin.goal-achieved .goal-unit,
.gold-coin.goal-achieved .coin-label {
    color: white;
}

@keyframes coinCelebrate {
    0%, 100% { transform: translateY(0px) rotateY(0deg); }
    25% { transform: translateY(-5px) rotateY(5deg); }
    75% { transform: translateY(-2px) rotateY(-5deg); }
}

/* Responsive adjustments */
@media (max-width: 576px) {
    .gold-coin {
        width: 100px;
        height: 100px;
    }
    
    .goal-number {
        font-size: 18px;
    }
    
    .goal-unit {
        font-size: 12px;
    }
    
    .coin-icon {
        font-size: 14px;
    }
}

/* Quick Fix for Header Logo Alignment */
.header-section .d-flex {
   align-items: center;
   justify-content: space-between;
   gap: 0;
}

.header-content {
   flex: 1;
}

.partner-logo {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   text-align: center;
   flex-shrink: 0;
}

/* Planet N - make it smaller and centered */
.partner-logo:first-of-type {
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   top: 20px;
}

.partner-logo:first-of-type div {
   font-size: 8px;
   margin-bottom: 2px;
   opacity: 0.7;
}

.partner-logo:first-of-type img {
   width: 24px !important;
   height: auto;
}

/* JazzCash - keep on right */
.partner-logo:last-of-type {
   align-self: flex-start;
}

.partner-logo:last-of-type div {
   font-size: 11px;
   margin-top: 2px;
   color: rgba(255, 255, 255, 0.9);
}

.partner-logo:last-of-type img {
   width: 70px;
   height: auto;
}

@media (max-width: 576px) {
   .partner-logo:first-of-type img {
       width: 20px !important;
   }
   
   .partner-logo:last-of-type img {
       width: 60px;
   }
}

/* Enhanced Mobile Responsiveness for Gold Wallet Card */
.gold-wallet-card {
   padding: 16px 18px; /* Slightly reduced for mobile */
   margin: 16px 0; /* Reduced margin */
   border-radius: 12px; /* Slightly smaller radius */
   border-left: 3px solid var(--gold-primary); /* Thinner border for mobile */
}

.gold-wallet-card .d-flex {
   flex-direction: column;
   gap: 16px;
}

.gold-wallet-card > .d-flex > div:first-child {
   flex: 1;
   min-width: 0;
}

.gold-amount {
   font-size: 1.4rem; /* Slightly smaller for mobile */
   font-weight: 700;
   color: var(--deep-blue);
   margin-bottom: 8px;
   line-height: 1.3;
}

.gold-value {
   font-size: 1.1rem; /* Reduced size */
   color: var(--dark-gray);
   margin-bottom: 6px;
   line-height: 1.4;
}

.gold-invested {
   font-size: 1rem;
   color: var(--dark-gray);
   margin-bottom: 6px;
   line-height: 1.4;
}

.gold-profit {
   font-size: 0.9rem;
   line-height: 1.4;
}

.goal-coin-container {
   align-self: center;
   margin: 0;
   padding: 0px;
}

.gold-coin {
   width: 100px; /* Smaller for mobile */
   height: 100px;
}

.goal-action-btn {
   font-size: 0.85rem;
   padding: 6px 12px;
}

.goal-progress-text {
   font-size: 0.75rem;
   margin-top: 4px;
}

/* Mobile-specific adjustments */
@media (max-width: 576px) {
   .gold-wallet-card {
       padding: 14px 16px;
       margin: 12px 0;
       border-radius: 10px;
       border-left-width: 3px;
   }
   
   .gold-wallet-card .d-flex {
       gap: 12px;
   }
   
   .gold-amount {
       font-size: 1.3rem;
       margin-bottom: 6px;
   }
   
   .gold-amount i {
       font-size: 1.1rem;
       margin-right: 6px;
   }
   
   .gold-value {
       font-size: 1rem;
       margin-bottom: 5px;
   }
   
   .gold-value i {
       font-size: 0.9rem;
       margin-right: 6px;
   }
   
   .gold-invested {
       font-size: 0.95rem;
       margin-bottom: 5px;
   }
   
   .gold-invested i {
       font-size: 0.85rem;
       margin-right: 6px;
   }
   
   .gold-profit {
       font-size: 0.85rem;
   }
   
   .gold-profit i {
       font-size: 0.8rem;
       margin-right: 6px;
   }
   
   .goal-coin-container {
       padding: 0px;
       margin-top: 8px;
   }
   
   .gold-coin {
       width: 90px;
       height: 90px;
   }
   
   .goal-number {
       font-size: 18px;
   }
   
   .goal-unit {
       font-size: 12px;
   }
   
   .coin-icon {
       font-size: 14px;
   }
   
   .coin-label {
       font-size: 9px;
   }
   
   .goal-action-btn {
       font-size: 0.8rem;
       padding: 5px 10px;
   }
   
   .goal-progress-text {
       font-size: 0.7rem;
   }
}

/* Extra small screens */
@media (max-width: 400px) {
   .gold-wallet-card {
       padding: 12px 14px;
       margin: 10px 0;
       border-radius: 8px;
   }
   
   .gold-amount {
       font-size: 1.2rem;
   }
   
   .gold-value {
       font-size: 0.95rem;
   }
   
   .gold-invested {
       font-size: 0.9rem;
   }
   
   .gold-profit {
       font-size: 0.8rem;
   }
   
   .gold-coin {
       width: 80px;
       height: 80px;
   }
   
   .goal-number {
       font-size: 16px;
   }
   
   .goal-unit {
       font-size: 11px;
   }
   
   .coin-icon {
       font-size: 12px;
   }
   
   .goal-action-btn {
       font-size: 0.75rem;
       padding: 4px 8px;
   }
}

/* Tablet adjustments */
@media (min-width: 577px) and (max-width: 768px) {
   .gold-wallet-card {
       padding: 18px 20px;
   }
   
   .gold-wallet-card .d-flex {
       flex-direction: row;
       align-items: flex-start;
       justify-content: space-between;
   }
   
   .goal-coin-container {
       margin-left: 16px;
       flex-shrink: 0;
   }
   
   .gold-coin {
       width: 110px;
       height: 110px;
   }
}

/* Desktop - maintain original layout */
@media (min-width: 769px) {
   .gold-wallet-card {
       padding: 20px;
       margin: 20px 0;
       border-radius: 15px;
       border-left-width: 4px;
   }
   
   .gold-wallet-card .d-flex {
       flex-direction: row;
       align-items: flex-start;
       justify-content: space-between;
       gap: 20px;
   }
   
   .gold-amount {
       font-size: 1.6rem;
       margin-bottom: 10px;
   }
   
   .gold-value {
       font-size: 1.2rem;
       margin-bottom: 8px;
   }
   
   .gold-invested {
       font-size: 1rem;
       margin-bottom: 6px;
   }
   
   .goal-coin-container {
       margin: 0;
       padding: 0px;
   }
   
   .gold-coin {
       width: 120px;
       height: 120px;
   }
}

/* Landscape mobile optimization */
@media (max-width: 768px) and (orientation: landscape) {
   .gold-wallet-card .d-flex {
       flex-direction: row;
       align-items: center;
   }
   
   .goal-coin-container {
       margin-left: 16px;
       padding: 0px;
   }
   
   .gold-coin {
       width: 85px;
       height: 85px;
   }
}

/* Touch improvements */
.goal-action-btn {
   -webkit-tap-highlight-color: transparent;
   touch-action: manipulation;
   min-height: 44px; /* iOS recommended touch target */
   display: inline-flex;
   align-items: center;
   justify-content: center;
}

.gold-coin {
   -webkit-tap-highlight-color: transparent;
   touch-action: manipulation;
}

/* Icon sizing consistency */
.gold-amount i,
.gold-value i,
.gold-invested i,
.gold-profit i {
   flex-shrink: 0;
   vertical-align: middle;
}

/* Enhanced Mobile Responsiveness for Live Prices Card - Keep Desktop Style */
.live-prices-card {
   padding: 12px 16px;
   margin-bottom: 1rem;
   border-radius: 10px;
}

.prices-row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 10px;
   gap: 6px; /* Reduced gap for mobile */
}

.price-item {
   flex: 1;
   text-align: center;
   min-width: 0;
}

.price-header {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 3px; /* Reduced gap */
   margin-bottom: 4px;
   font-size: 0.7rem; /* Smaller text */
   font-weight: 600;
   color: #6c757d;
}

.price-display {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 2px;
}

.price-display .amount {
   font-size: 0.9rem; /* Smaller for mobile */
   font-weight: 700;
   color: var(--deep-blue);
   line-height: 1.2;
}

.price-display .change {
   font-size: 0.65rem; /* Smaller text */
   font-weight: 600;
   padding: 1px 4px;
   border-radius: 3px;
   white-space: nowrap;
}

.price-divider {
   width: 1px;
   height: 30px; /* Reduced height */
   background: linear-gradient(to bottom, transparent, var(--gold-primary), transparent);
   margin: 0 4px; /* Reduced margin */
   flex-shrink: 0;
}

.price-actions {
   display: flex;
   align-items: center;
   flex-shrink: 0;
}

.refresh-btn {
   width: 24px; /* Smaller button */
   height: 24px;
   border-radius: 5px;
   font-size: 0.7rem;
}

.price-footer {
   display: flex;
   justify-content: space-between;
   align-items: center;
   font-size: 0.6rem; /* Smaller text */
   color: #6c757d;
   padding-top: 6px;
   border-top: 1px solid rgba(212, 175, 55, 0.1);
   gap: 4px;
   flex-wrap: wrap;
}

 

/* Desktop - original styling */
@media (min-width: 769px) {
   .live-prices-card {
       padding: 16px;
   }
   
   .prices-row {
       gap: 8px;
       margin-bottom: 12px;
   }
   
   .price-header {
       font-size: 0.8rem;
       gap: 6px;
       margin-bottom: 6px;
   }
   
   .price-display .amount {
       font-size: 1.1rem;
   }
   
   .price-display .change {
       font-size: 0.75rem;
       padding: 2px 6px;
   }
   
   .price-divider {
       height: 40px;
       margin: 0 16px;
   }
   
   .refresh-btn {
       width: 32px;
       height: 32px;
   }
   
   .price-footer {
       font-size: 0.7rem;
   }
}

/* Touch improvements */
.refresh-btn {
   -webkit-tap-highlight-color: transparent;
   touch-action: manipulation;
}

.refresh-btn:active {
   transform: scale(0.95);
}

/* Ensure text doesn't break */
.price-display .amount,
.price-display .change {
   white-space: nowrap;
}

/* Status dot sizing */
@media (max-width: 576px) {
   .status-dot {
       width: 4px;
       height: 4px;
   }
}

/* Enhanced Mobile Responsiveness for Action Buttons */
.action-buttons {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 8px; /* Reduced gap for mobile */
   margin: 16px 0; /* Slightly reduced margin */
}

.action-buttons .btn {
   padding: 10px 8px; /* Adjusted padding */
   font-size: 0.85rem; /* Slightly smaller text */
   font-weight: 600;
   border-radius: 20px; /* Reduced border radius */
   min-height: 44px; /* Touch-friendly minimum height */
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   transition: all 0.2s ease;
   -webkit-tap-highlight-color: transparent;
   touch-action: manipulation;
}

.action-buttons .btn i {
   font-size: 0.9rem;
   margin-right: 4px; /* Reduced icon spacing */
}

/* Touch feedback */
.action-buttons .btn:active {
   transform: scale(0.98);
}

/* Mobile-specific adjustments */
@media (max-width: 576px) {
   .action-buttons {
       gap: 6px;
       margin: 12px 0;
   }
   
   .action-buttons .btn {
       padding: 12px 6px; /* Increased vertical padding for better touch */
       font-size: 0.8rem;
       border-radius: 18px;
       min-height: 48px; /* Larger touch target on mobile */
       flex-direction: column;
       gap: 2px;
   }
   
   .action-buttons .btn i {
       font-size: 1rem; /* Larger icon on mobile */
       margin-right: 0;
       margin-bottom: 2px;
   }
   
   /* Text wrapping for longer button labels */
   .action-buttons .btn {
       line-height: 1.2;
       white-space: nowrap;
       overflow: hidden;
       text-overflow: ellipsis;
   }
}

/* Extra small screens */
@media (max-width: 400px) {
   .action-buttons {
       gap: 4px;
       margin: 10px 0;
   }
   
   .action-buttons .btn {
       padding: 10px 4px;
       font-size: 0.75rem;
       min-height: 46px;
       border-radius: 16px;
   }
   
   .action-buttons .btn i {
       font-size: 0.9rem;
   }
}

/* Two-button layout for very small screens if needed */
@media (max-width: 320px) {
   .action-buttons {
       grid-template-columns: 1fr 1fr;
       grid-template-rows: auto auto;
       gap: 6px;
   }
   
   .action-buttons .btn:first-child {
       grid-column: 1 / -1; /* Span full width */
   }
   
   .action-buttons .btn:nth-child(2),
   .action-buttons .btn:nth-child(3) {
       grid-column: span 1;
   }
}

/* Landscape mobile optimization */
@media (max-width: 768px) and (orientation: landscape) {
   .action-buttons {
       gap: 10px;
       margin: 8px 0;
   }
   
   .action-buttons .btn {
       padding: 8px 10px;
       min-height: 40px;
       flex-direction: row;
       gap: 4px;
   }
   
   .action-buttons .btn i {
       margin-right: 4px;
       margin-bottom: 0;
       font-size: 0.85rem;
   }
}

/* Tablet adjustments */
@media (min-width: 577px) and (max-width: 768px) {
   .action-buttons {
       gap: 10px;
       margin: 18px 0;
   }
   
   .action-buttons .btn {
       padding: 12px 10px;
       font-size: 0.9rem;
       min-height: 46px;
   }
   
   .action-buttons .btn i {
       font-size: 0.95rem;
       margin-right: 6px;
   }
}

/* Focus states for accessibility */
.action-buttons .btn:focus {
   outline: 2px solid rgba(255, 255, 255, 0.8);
   outline-offset: 2px;
}

/* Loading state for buttons */
.action-buttons .btn:disabled {
   opacity: 0.6;
   cursor: not-allowed;
   transform: none;
}
/* Enhanced Mobile Responsiveness for Goal Tracker Card */
.goal-tracker-card {
   background-color: white;
   border-radius: 12px; /* Slightly smaller radius for mobile */
   padding: 16px; /* Reduced padding */
   margin: 16px 0; /* Reduced margin */
   box-shadow: 0 3px 12px rgba(0, 0, 0, 0.04); /* Lighter shadow */
}

.goal-tracker-card .section-title {
   margin-bottom: 12px; /* Reduced margin */
}

.goal-tracker-card .section-title h2 {
   font-size: 1.1rem; /* Slightly smaller */
   font-weight: 600;
   margin: 0;
}

/* Goal Details */
.goal-details {
   margin-bottom: 12px;
}

.goal-header {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   margin-bottom: 8px;
   gap: 12px;
}

.goal-name {
   font-size: 1rem;
   font-weight: 600;
   line-height: 1.3;
   margin-bottom: 2px;
}

.goal-category {
   font-size: 0.8rem;
   color: #6c757d;
   display: flex;
   align-items: center;
   gap: 4px;
}

.goal-timeline {
   text-align: right;
   flex-shrink: 0;
}

.goal-target-date {
   font-size: 0.75rem;
   color: #6c757d;
   margin-bottom: 2px;
}

.goal-days-left {
   font-size: 0.8rem;
   font-weight: 600;
}

/* Goal Progress */
.goal-progress {
   height: 8px; /* Slightly smaller */
   border-radius: 4px;
   background-color: var(--light-gray);
   margin: 8px 0;
   position: relative;
   overflow: hidden;
}

.goal-progress-bar {
   height: 100%;
   border-radius: 4px;
   background: linear-gradient(to right, var(--gold-primary), var(--gold-secondary));
   transition: width 0.3s ease;
}

/* Goal Stats */
.goal-stats {
   display: flex;
   justify-content: space-between;
   font-size: 0.85rem; /* Slightly smaller */
   color: var(--dark-gray);
   gap: 8px;
   flex-wrap: wrap;
}

.goal-stats > div {
   display: flex;
   align-items: center;
   gap: 4px;
   flex: 1;
   min-width: 0;
}

.goal-stats i {
   font-size: 0.75rem;
   color: var(--gold-primary);
   flex-shrink: 0;
}

/* Monthly Progress */
.monthly-progress {
   margin-top: 12px;
   padding: 10px;
   background-color: #f8f9fa;
   border-radius: 6px;
   border-left: 3px solid #28a745;
}

.monthly-progress .progress {
   height: 4px;
   margin-top: 4px;
}

/* Mobile-specific adjustments */
@media (max-width: 576px) {
   .goal-tracker-card {
       padding: 12px;
       margin: 12px 0;
       border-radius: 10px;
   }
   
   .goal-tracker-card .section-title h2 {
       font-size: 1rem;
   }
   
   .goal-header {
       flex-direction: column;
       align-items: flex-start;
       gap: 8px;
   }
   
   .goal-timeline {
       text-align: left;
       width: 100%;
   }
   
   .goal-name {
       font-size: 0.95rem;
   }
   
   .goal-category {
       font-size: 0.75rem;
   }
   
   .goal-target-date,
   .goal-days-left {
       font-size: 0.75rem;
   }
   
   .goal-progress {
       height: 6px;
       margin: 10px 0;
   }
   
   .goal-stats {
       flex-direction: column;
       gap: 6px;
       font-size: 0.8rem;
   }
   
   .goal-stats > div {
       justify-content: space-between;
       padding: 4px 0;
       border-bottom: 1px solid #f0f0f0;
   }
   
   .goal-stats > div:last-child {
       border-bottom: none;
       font-weight: 600;
       color: var(--deep-blue);
   }
   
   .monthly-progress {
       padding: 8px;
       margin-top: 10px;
   }
   
   .monthly-progress .d-flex {
       flex-direction: column;
       gap: 4px;
   }
   
   .monthly-progress .small {
       font-size: 0.75rem;
   }
}

/* Extra small screens */
@media (max-width: 400px) {
   .goal-tracker-card {
       padding: 10px;
       margin: 10px 0;
   }
   
   .goal-name {
       font-size: 0.9rem;
   }
   
   .goal-stats {
       font-size: 0.75rem;
   }
   
   .goal-stats > div {
       padding: 3px 0;
   }
}

/* Landscape mobile optimization */
@media (max-width: 768px) and (orientation: landscape) {
   .goal-tracker-card {
       padding: 10px 16px;
   }
   
   .goal-header {
       flex-direction: row;
       align-items: flex-start;
   }
   
   .goal-timeline {
       text-align: right;
   }
   
   .goal-stats {
       flex-direction: row;
       gap: 12px;
   }
   
   .goal-stats > div {
       border-bottom: none;
       padding: 0;
   }
}

/* Tablet adjustments */
@media (min-width: 577px) and (max-width: 768px) {
   .goal-tracker-card {
       padding: 14px;
       margin: 14px 0;
   }
   
   .goal-stats {
       font-size: 0.8rem;
       gap: 10px;
   }
}

/* No goal state styling */
.goal-tracker-card.no-goal {
   text-align: center;
   padding: 20px;
}

.goal-tracker-card.no-goal .goal-progress {
   display: none;
}

.goal-tracker-card.no-goal .goal-stats {
   justify-content: center;
   opacity: 0.7;
}

/* Goal achieved state */
.goal-tracker-card.goal-achieved .goal-progress-bar {
   background: linear-gradient(to right, #28a745, #20c997);
   animation: goalPulse 2s ease-in-out infinite;
}

@keyframes goalPulse {
   0%, 100% { opacity: 1; }
   50% { opacity: 0.8; }
}

/* Touch improvements */
.goal-tracker-card {
   -webkit-tap-highlight-color: transparent;
}

/* Enhanced Mobile Responsiveness for Gold Wallet Card */
.gold-wallet-card {
   background: linear-gradient(135deg, white, var(--gold-light));
   border-radius: 12px; /* Smaller radius for mobile */
   padding: 14px; /* Reduced padding */
   margin: 14px 0; /* Reduced margin */
   box-shadow: 0 3px 12px rgba(0, 0, 0, 0.04);
   border-left: 4px solid var(--gold-primary);
   position: relative;
   overflow: hidden;
}

.gold-wallet-card .d-flex {
   gap: 12px; /* Add gap between sections */
   align-items: flex-start;
}

/* Left content section */
.gold-wallet-card > .d-flex > div:first-child {
   flex: 1;
   min-width: 0;
}

.gold-wallet-card .text-muted {
   font-size: 0.8rem; /* Smaller label */
   margin-bottom: 4px; /* Reduced margin */
   color: #6c757d;
   font-weight: 500;
}

.gold-amount {
   font-size: 1.4rem; /* Reduced from 1.6rem */
   font-weight: 700;
   color: var(--deep-blue);
   margin-bottom: 6px; /* Reduced margin */
   line-height: 1.2;
}

.gold-value {
   font-size: 1rem; /* Reduced from 1.2rem */
   color: var(--dark-gray);
   margin-bottom: 4px;
   line-height: 1.3;
}

.gold-invested {
   font-size: 0.95rem;
   color: var(--dark-gray);
   margin-bottom: 4px;
   line-height: 1.3;
}

.gold-profit {
   font-size: 0.85rem; /* Smaller profit text */
   margin-top: 2px;
   line-height: 1.2;
}

/* Goal coin container - right side */
.goal-coin-container {
   flex-shrink: 0;
   text-align: center;
   padding: 0px; /* Reduced padding */
   max-width: 140px;
}

.gold-coin {
   width: 80px; /* Smaller coin */
   height: 80px;
   margin: 0 auto 8px auto;
}

.goal-action {
   margin-top: 8px; /* Reduced margin */
}

.goal-action-btn {
   font-size: 0.75rem; /* Smaller button text */
   padding: 6px 12px;
}

.goal-progress-text {
   font-size: 0.7rem; /* Smaller progress text */
   margin-top: 4px;
}

/* Mobile-specific adjustments */
@media (max-width: 576px) {
   .gold-wallet-card {
       padding: 12px;
       margin: 12px 0;
       border-radius: 10px;
   }
   
   .gold-wallet-card .d-flex {
       flex-direction: column;
       gap: 12px;
       align-items: stretch;
   }
   
   /* Compact left section */
   .gold-wallet-card > .d-flex > div:first-child {
       order: 1;
   }
   
   .gold-wallet-card .text-muted {
       font-size: 0.75rem;
       margin-bottom: 2px;
   }
   
   .gold-amount {
       font-size: 1.3rem;
       margin-bottom: 4px;
   }
   
   .gold-value,
   .gold-invested {
       font-size: 0.9rem;
       margin-bottom: 3px;
   }
   
   .gold-profit {
       font-size: 0.8rem;
       margin-top: 2px;
   }
   
   /* Horizontal goal section */
   .goal-coin-container {
       order: 2;
       max-width: 100%;
       padding: 8px 0;
       display: flex;
       align-items: center;
       justify-content: space-between;
       background: rgba(255, 255, 255, 0.6);
       border-radius: 8px;
       padding: 8px 12px;
   }
   
   .gold-coin {
       width: 60px;
       height: 60px;
       margin: 0;
       flex-shrink: 0;
   }
   
   .goal-action {
       flex: 1;
       margin-top: 0;
       margin-left: 12px;
       text-align: left;
   }
   
   .goal-action-btn {
       font-size: 0.8rem;
       padding: 8px 16px;
       width: 100%;
       justify-content: flex-start;
   }
   
   .goal-progress-text {
       font-size: 0.7rem;
       margin-top: 2px;
       text-align: left;
   }
}

/* Extra small screens */
@media (max-width: 400px) {
   .gold-wallet-card {
       padding: 10px;
       margin: 10px 0;
   }
   
   .gold-amount {
       font-size: 1.2rem;
   }
   
   .gold-value,
   .gold-invested {
       font-size: 0.85rem;
   }
   
   .gold-coin {
       width: 50px;
       height: 50px;
   }
   
   .goal-action-btn {
       font-size: 0.75rem;
       padding: 6px 12px;
   }
}

/* Landscape mobile optimization */
@media (max-width: 768px) and (orientation: landscape) {
   .gold-wallet-card .d-flex {
       flex-direction: row;
       align-items: center;
   }
   
   .goal-coin-container {
       max-width: 200px;
       flex-direction: column;
       background: transparent;
   }
   
   .gold-coin {
       width: 70px;
       height: 70px;
       margin-bottom: 8px;
   }
   
   .goal-action {
       margin-left: 0;
       text-align: center;
   }
}

/* Tablet adjustments */
@media (min-width: 577px) and (max-width: 768px) {
   .gold-wallet-card {
       padding: 16px;
   }
   
   .gold-coin {
       width: 90px;
       height: 90px;
   }
   
   .goal-coin-container {
       max-width: 160px;
   }
}

/* Icon spacing improvements */
.gold-amount i,
.gold-value i,
.gold-invested i,
.gold-profit i {
   margin-right: 6px;
   font-size: 0.9em;
   color: var(--gold-primary);
}

/* Touch improvements */
.gold-wallet-card {
   -webkit-tap-highlight-color: transparent;
}

/* Loading state */
.gold-wallet-card.loading {
   opacity: 0.7;
}

.gold-wallet-card.loading * {
   pointer-events: none;
}