.due-soon {
    color: red;
    font-weight: bold;
}

.dashboard-container {
      max-width: 1200px;
      margin: 40px auto;
      padding: 20px;
    }

    .dashboard-header {
      text-align: center;
      margin-bottom: 30px;
    }

    .dashboard-header h1 {
  font-size: 2.5rem;
  margin-bottom: 10px;
  background: linear-gradient(to right, #2c5ce0, #ff5733); /* Adjust colors as needed */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

    .dashboard-header .subtitle {
      color: #000000;
      font-size: 1.2rem;
    }

    .dashboard-summary {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
      margin-bottom: 30px;
    }

    .summary-card {
      background-color: rgba(255, 255, 255, 0.9);
      border-radius: 10px;
      padding: 20px;
      text-align: center;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    }

    .summary-card h3 {
      margin-top: 0;
      margin-bottom: 10px;
      font-size: 1.5rem;
      color: #000d7f;
    }

    .summary-card .amount {
      font-size: 1.5rem;
      font-weight: bold;
      margin: 15px 0;
      color: #333;
    }

    .summary-card .trend {
      font-size: 0.9rem;
      margin: 0;
    }

    .trend.positive {
      color: #4CAF50;
    }

    .trend.negative {
      color: #F44336;
    }

    .trend.neutral {
      color: #607D8B;
    }

    .dashboard-row {
      margin-bottom: 30px;
      display: flex;
      gap: 20px;
    }

    .chart-container {
      /* height: 100%; */
      background-color: rgba(255, 255, 255, 0.9);
      border-radius: 10px;
      padding: 20px;2
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
      flex: 1;
    }

    .chart-container.half {
      flex: 1;
      
    }

    .chart-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 15px;
    }

    .chart-header h3 {
      /* margin: 0; */
      /* color: #333; */
      font-size: 1.5rem;
      color: #000d7f;
    }

    .chart {
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .chart img {
      max-width: 100%;
      border-radius: 5px;
    }

    .goal, .budget-item {
      margin-bottom: 15px;
    }

    .goal-info, .budget-info {
      display: flex;
      justify-content: space-between;
      margin-bottom: 5px;
    }

    .goal-info h4, .budget-info h4 {
      margin: 0;
      color: #000000;
      font-size: 0.9rem;
    }

    .goal-info p, .budget-info p {
      margin: 0;
      color: #666;
      font-size: 0.9rem;
    }

    .progress-bar {
      height: 10px;
      background-color: #e0e0e0;
      border-radius: 5px;
      overflow: hidden;
    }

    .progress {
      height: 100%;
      background-color: #4CAF50;
      border-radius: 5px;
    }

    .warning .progress {
      background-color: #FFC107;
    }

    .danger .progress {
      background-color: #F44336;
    }

    .transactions-container {
      background-color: rgba(255, 255, 255, 0.9);
      border-radius: 10px;
      padding: 20px;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
      width: 100%;
    }

    .transactions-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 15px;
    }

    .transactions-header h3 {
      margin: 0;
      color: #333;
    }

    .transaction-controls {
      display: flex;
      gap: 10px;
    }

    .transaction-controls input, .transaction-controls select {
      padding: 8px 12px;
      border: 1px solid #ddd;
      border-radius: 5px;
      font-size: 0.9rem;
    }

    .transactions-table {
      overflow-x: auto;
    }

    table {
      width: 100%;
      border-collapse: collapse;
    }

    th, td {
      padding: 12px 15px;
      text-align: left;
      border-bottom: 1px solid #ddd;
    }

    th {
      background-color: #f2f2f2;
      color: #333;
    }

    tr:hover {
      background-color: #f5f5f5;
    }

    .expense {
      color: #F44336;
    }

    .income {
      color: #4CAF50;
    }

    .btn-delete {
      background-color: #F44336;
      color: white;
      border: none;
      padding: 6px 12px;
      border-radius: 4px;
      cursor: pointer;
      font-size: 0.8rem;
      transition: background-color 0.3s;
    }

    .btn-delete:hover {
      background-color: #D32F2F;
    }

    .table-pagination {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 15px;
    }

    .table-pagination span {
      color: #666;
    }

    .dashboard-actions {
      display: flex;
      gap: 15px;
      margin-bottom: 30px;
      justify-content: center;
      position: relative;
    }

    .csv-upload-container {
      position: relative;
    }

    .csv-dropzone {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      width: 300px;
      height: 150px;
      background-color: rgba(255, 255, 255, 0.95);
      border: 2px dashed #2196F3;
      border-radius: 8px;
      z-index: 100;
      margin-top: 10px;
      justify-content: center;
      align-items: center;
      text-align: center;
      padding: 20px;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
      cursor: pointer;
    }

    .csv-dropzone.active {
      display: flex;
      flex-direction: column;
    }

    .csv-dropzone.drag-over {
      background-color: rgba(33, 150, 243, 0.1);
      border-color: #1976D2;
    }

    .csv-dropzone p {
      margin: 0;
      color: #555;
      font-size: 0.9rem;
      line-height: 1.5;
    }

    .reminders-container {
      flex: 1;
      background-color: rgba(255, 255, 255, 0.9);
      border-radius: 10px;
      padding: 20px;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    }

    .container-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 15px;
    }

    .container-header h3 {
      font-size: 1.5rem;
      color: #000d7f;
    }

    .reminder {
      display: flex;
      align-items: center;
      padding: 10px 0;
      border-bottom: 1px solid #eee;
    }

    .reminder-date {
      background-color: #f5f5f5;
      padding: 8px;
      border-radius: 5px;
      text-align: center;
      min-width: 50px;
      font-weight: bold;
      color: #333;
    }

    .reminder-info {
      flex: 1;
      padding: 0 15px;
    }

    .reminder-info h4 {
      margin: 0 0 5px 0;
      color: #333;
    }

    .reminder-info p {
      margin: 0;
      color: #666;
    }

    .reminder-status {
      color: #666;
      font-size: 0.9rem;
    }

    .due-soon {
      color: #FF9800;
      font-weight: bold;
    }

    .btn.small {
      padding: 6px 12px;
      font-size: 0.9rem;
    }

    /* Feature buttons styles */
    .feature-buttons {
      justify-content: space-between;
      margin: 20px 0 40px;
    }

    .feature-btn {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      background: linear-gradient(135deg, #2c5ce0, #4776E6);
      color: white;
      border: none;
      border-radius: 12px;
      padding: 20px;
      transition: all 0.3s ease;
      cursor: pointer;
      box-shadow: 0 4px 12px rgba(44, 92, 224, 0.3);
      height: 140px;
    }

    .bill-btn {
      background: linear-gradient(135deg, #2c5ce0, #4776E6);
    }

    .chatbot-btn {
      background: linear-gradient(135deg, #5F55E8, #9F7AF8);
    }

    .transaction-btn {
      background: linear-gradient(135deg, #4776E6, #4CAF50);
    }

    .feature-btn:hover {
      transform: translateY(-5px);
      box-shadow: 0 8px 15px rgba(44, 92, 224, 0.4);
    }

    .btn-icon {
      font-size: 2.5rem;
      margin-bottom: 10px;
    }

    .btn-text {
      font-weight: bold;
      font-size: 1.1rem;
    }

    @media (max-width: 768px) {
      .dashboard-summary {
        grid-template-columns: repeat(2, 1fr);
      }

      .dashboard-row {
        flex-direction: column;
      }

      .chart-container.half {
        width: 100%;
      }

      .csv-dropzone {
        width: 100%;
        left: 0;
      }
      
      .feature-buttons {
        flex-direction: column;
        gap: 15px;
      }
      
      .feature-btn {
        height: 100px;
      }
    }

    @media (max-width: 480px) {
      .dashboard-summary {
        grid-template-columns: 1fr;
      }

      .transaction-controls {
        flex-direction: column;
      }
    }

    /* Adding active state to nav links */
    .nav-link.active {
      font-weight: bold;
      text-decoration: underline;
    }
.reminders-container {
    background: #fff;
    border-radius: 10px;
    padding: 15px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.container-header h3 {
    margin-bottom: 10px;
    font-size: 18px;
}

.reminders-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.reminder {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f9f9f9;
    padding: 10px;
    border-radius: 5px;
}

.reminder-date {
    font-weight: bold;
    color: #007bff;
}

.reminder-status.due-soon {
    color: red;
    font-weight: bold;
}

.reminders-list p {
    color: black; /* Placeholder text */
}

.reminders-list p.dynamic {
    color: black !important; /* Dynamically inserted elements */
}
