
    /* ===== CARD ===== */
    .er-section {
    /*  min-height: 100vh;*/
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 40px 16px;
    }

    .er-card {
      background: var(--white);
      border-radius: 16px;
      box-shadow: 0 4px 24px rgba(15, 23, 42, 0.08);
      padding: 36px 32px 32px;
      width: 100%;
      max-width: 600px;
      position: relative;
      overflow: hidden;
    }

    .er-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(
        90deg,
        var(--primary-color),
        var(--secondary-color)
      );
    }

    /* ===== CARD HEADER ===== */
    .er-card h2 {
      font-family: var(--body-font);
      font-size: var(--heading-sm);
      font-weight: 700;
      color: var(--secondary-color);
      margin-bottom: 6px;
      letter-spacing: -0.3px;
    }

    .er-subtitle {
      font-size: var(--text-sm);
      color: var(--gray-600);
      margin-bottom: 28px;
      font-weight: 400;
    }

    .er-divider {
      height: 1px;
      background: var(--secondary-extra-light);
      margin: 0 0 24px;
    }

    /* ===== FIELD GRID ===== */
    .field-group {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-bottom: 16px;
    }

    .field-row {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .field-row.full {
      grid-column: 1 / -1;
    }

    /* ===== LABELS ===== */
    .er-card label {
      font-size: 12px;
      font-weight: 600;
      color: var(--gray-700);
      text-transform: uppercase;
      letter-spacing: 0.6px;
      font-family: var(--body-font);
      display: block;
      margin-top: 0;
    }

    /* ===== INPUTS & SELECT ===== */
    .er-card input[type="number"],
    .er-card .form-control {
      width: 100%;
      padding: 11px 14px;
      border: 1.5px solid var(--secondary-extra-light);
      border-radius: 8px;
      font-family: var(--body-font);
      font-size: var(--text-md);
      color: var(--gray-800);
      background: var(--white);
      transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease;
      outline: none;
      appearance: none;
      -webkit-appearance: none;
      margin-top: 0;
    }

    .er-card input[type="number"]:focus,
    .er-card .form-control:focus {
      border-color: var(--primary-color);
      box-shadow: 0 0 0 3px rgba(0, 200, 154, 0.12);
    }

    .er-card input[type="number"]::placeholder {
      color: var(--gray-400);
    }
    .form-control {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 12px center;
      padding-right: 36px;
      cursor: pointer;
    }

    .er-card .form-control {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 12px center;
      padding-right: 36px;
      cursor: pointer;
    }

    /* ===== BUTTON (matches .btn-primary from common.css) ===== */
     .cal-btn-primary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      width: 100%;
      padding: 14px 32px;
      border-radius: 50px;
      font-weight: 600;
      font-family: var(--body-font);
      font-size: var(--text-md);
      background: var(--primary-color);
      color: var(--white);
      border: 2px solid var(--primary-color);
      box-shadow: 0 4px 15px rgba(0, 200, 154, 0.3);
      cursor: pointer;
      transition: all 0.3s ease;
      margin-top: 8px;
      text-decoration: none;
    }
    
    .er-card button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      width: 100%;
      padding: 14px 32px;
      border-radius: 50px;
      font-weight: 600;
      font-family: var(--body-font);
      font-size: var(--text-md);
      background: var(--primary-color);
      color: var(--white);
      border: 2px solid var(--primary-color);
      box-shadow: 0 4px 15px rgba(0, 200, 154, 0.3);
      cursor: pointer;
      transition: all 0.3s ease;
      margin-top: 8px;
    }

    .er-card button:hover {
      background: transparent;
      color: var(--primary-color);
      border-color: var(--primary-color);
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(0, 200, 154, 0.4);
    }

    .er-card button:active {
      transform: translateY(0);
    }

    /* ===== RESULT PANEL ===== */
    .er-result {
      margin-top: 24px;
      border-radius: 12px;
      overflow: hidden;
      background: var(--primary-light);
      border: 1px solid rgba(0, 200, 154, 0.2);
      padding: 20px;
      font-size: var(--text-sm);
      color: var(--gray-600);
    }

    .er-result strong {
      color: var(--secondary-color);
    }

    /* ===== RESULT GRID (shown after calculation) ===== */
    .result-header {
      background: var(--secondary-color);
      padding: 14px 20px;
      display: flex;
      align-items: center;
      gap: 8px;
      margin: -20px -20px 20px -20px;
      border-radius: 11px 11px 0 0;
    }

    .result-header span {
      font-size: var(--text-sm);
      font-weight: 600;
      color: var(--white);
      letter-spacing: 0.4px;
    }

    .result-dot {
      width: 8px;
      height: 8px;
      background: var(--primary-color);
      border-radius: 50%;
      flex-shrink: 0;
    }

    .result-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }

    .result-item {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .result-item:first-child {
      border-right: 1px solid rgba(0, 200, 154, 0.25);
      padding-right: 16px;
    }

    .result-label {
      font-size: 11px;
      font-weight: 600;
      color: var(--gray-600);
      text-transform: uppercase;
      letter-spacing: 0.6px;
    }

    .result-value {
      font-size: var(--text-xl);
      font-weight: 700;
      color: var(--secondary-color);
    }

    .result-value.monthly {
      font-size: var(--text-lg);
      color: var(--primary-dark);
    }

    /* ===== ERROR STATE ===== */
    .er-error-state {
      display: flex;
      align-items: center;
      gap: 10px;
      color: #b91c1c;
      font-size: var(--text-sm);
      font-weight: 500;
    }

    .er-error-state::before {
      content: "!";
      width: 20px;
      height: 20px;
      background: #fecaca;
      color: #b91c1c;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      font-weight: 700;
      flex-shrink: 0;
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 480px) {
      body {
        padding: 24px 12px;
      }

      .er-card {
        padding: 28px 20px 24px;
      }

      .field-group {
        grid-template-columns: 1fr;
      }

      .field-row.full {
        grid-column: 1;
      }

      .result-grid {
        grid-template-columns: 1fr;
      }

      .result-item:first-child {
        border-right: none;
        border-bottom: 1px solid rgba(0, 200, 154, 0.25);
        padding-right: 0;
        padding-bottom: 12px;
      }
    }
  
  /* ===== BUTTON (matches .cal-btn-primary from common.css) ===== */
    .cal-btn-primary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      width: 100%;
      padding: 14px 32px;
      border-radius: 50px;
      font-weight: 600;
      font-family: var(--body-font);
      font-size: var(--text-md);
      background: var(--primary-color);
      color: var(--white);
      border: 2px solid var(--primary-color);
      box-shadow: 0 4px 15px rgba(0, 200, 154, 0.3);
      cursor: pointer;
      transition: all 0.3s ease;
      margin-top: 8px;
      text-decoration: none;
    }

    .cal-btn-primary:hover {
      background: transparent;
      color: var(--primary-color);
      border-color: var(--primary-color);
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(0, 200, 154, 0.4);
    }

    .cal-btn-primary:active {
      transform: translateY(0);
    }

    .cal-btn-icon {
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
      flex-shrink: 0;
    }

    /* ===== ERROR ===== */
    .er-error {
      margin-top: 20px;
      padding: 12px 16px;
      border-radius: 8px;
      background: #fef2f2;
      border: 1px solid #fecaca;
      color: #b91c1c;
      font-size: var(--text-sm);
      font-weight: 500;
      display: none;
    }

    .er-error.show {
      display: block;
    }

    /* ===== RESULT PANEL ===== */
    .er-result {
      margin-top: 24px;
      border-radius: 12px;
      overflow: hidden;
      display: none;
    }

    .er-result.show {
      display: block;
    }

    .result-header {
      background: var(--secondary-color);
      padding: 14px 20px;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .result-header span {
      font-size: var(--text-sm);
      font-weight: 600;
      color: var(--white);
      letter-spacing: 0.4px;
    }

    .result-dot {
      width: 8px;
      height: 8px;
      background: var(--primary-color);
      border-radius: 50%;
      flex-shrink: 0;
    }

    .result-grid {
      background: var(--primary-light);
      padding: 20px;
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 16px;
    }

    .result-item {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .result-label {
      font-size: 11px;
      font-weight: 600;
      color: var(--gray-600);
      text-transform: uppercase;
      letter-spacing: 0.6px;
      text-wrap-mode: nowrap;
    }

    .result-value {
      font-size: var(--text-lg);
      font-weight: 700;
      color: var(--secondary-color);
    }

    .result-value.positive {
      color: #059669;
    }

    .result-value.negative {
      color: #dc2626;
    }

    .result-item.expenses-col {
      border-right: 1px solid rgba(0, 200, 154, 0.25);
      padding-right: 16px;
    }

    .result-item.savings-col {
      border-right: 1px solid rgba(0, 200, 154, 0.25);
      padding-right: 16px;
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 480px) {
      body {
        padding: 24px 12px;
      }

      .er-card {
        padding: 28px 20px 24px;
      }

      .field-group {
        grid-template-columns: 1fr;
      }

      .field-row.full {
        grid-column: 1;
      }

      .result-grid {
        grid-template-columns: 1fr;
      }

      .result-item.expenses-col,
      .result-item.savings-col {
        border-right: none;
        border-bottom: 1px solid rgba(0, 200, 154, 0.25);
        padding-right: 0;
        padding-bottom: 12px;
      }
    }