
    [role="tooltip"], .tooltip, [data-tooltip], [class*="tippy"], .echarts-tooltip {
      max-width: 90vw !important;
      overflow-wrap: break-word !important;
      word-wrap: break-word !important;
      white-space: normal !important;
    }




    canvas { max-width: 100%; }

    @media (max-width: 768px) {
      .calc-wrap, .calc-wrap { overflow-x: hidden; max-width: 100vw; }
          .com-content-article > .container > .main-rightsection .report-an-issue > .about.container {
        padding: 10px !important;
    }
    }

    @page { margin: 0; }

    @media print {
      .calc-wrap { background: #fff !important; color: #000 !important; padding: 12mm !important; margin: 0 !important; }
      * { color-adjust: exact !important; -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }

    .calc-wrap {
      max-width: 700px;
      margin: 0 auto;
      background: #fff;
      box-shadow: 0 2px 12px rgba(0, 0, 0, .12);
    }

    .header-bar {
      background: #16478E;
      color: #fff;
      text-align: center;
      padding: 14px 16px 6px;
      font-size: 17px;
      font-weight: 700;
      letter-spacing: .5px;
    }

    .header-subtitle {
      background: #16478E;
      color: #cfe0ff;
      text-align: center;
      padding: 0 16px 12px;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: .3px;
    }

    .inputs-section { padding: 20px 24px 12px; overflow: visible; }

    .input-row {
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
      margin-bottom: 14px;
      overflow: visible;
    }

    .input-group { flex: 1 1 200px; min-width: 140px; overflow: visible; }
    .input-group.third { flex: 1 1 140px; min-width: 120px; }

    .input-group label {
      display: block;
      font-weight: 700;
      font-size: 12px;
      color: #333;
      margin-bottom: 4px;
    }

    .input-group select,
    .input-group input {
      width: 100%;
      padding: 8px 10px;
      border: 1px solid #c5c9ce;
      border-radius: 4px;
      font-size: 13px;
      color: #333;
      background: #fff;
    }

    .input-group select:focus,
    .input-group input:focus {
      outline: 2px solid #16478E;
      outline-offset: 1px;
      border-color: #16478E;
      box-shadow: 0 0 0 2px rgba(22, 71, 142, .15);
    }

    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0,0,0,0);
      white-space: nowrap;
      border: 0;
    }

    .skip-link {
      position: absolute;
      top: -40px;
      left: 0;
      background: #16478E;
      color: #fff;
      padding: 8px 16px;
      font-size: 14px;
      font-weight: 700;
      text-decoration: none;
      z-index: 10000;
    }
    .skip-link:focus { top: 0; }

    .input-desc {
      font-size: 10px;
      color: #777;
      margin-top: 3px;
      line-height: 1.3;
    }

    .info-bar {
      background: #1AB8CE;
      color: #000;
      text-align: center;
      padding: 10px 20px;
      font-size: 12px;
      line-height: 1.5;
      font-weight: 500;
    }

    .budget-bar { display: none; }

    .charts-section { padding: 20px 24px 0; }

    .charts-half-title {
      text-align: center;
      font-size: 13px;
      font-weight: 700;
      color: #16478E;
      margin-bottom: 10px;
    }

    /* Comparison Table */
    .table-section { padding: 16px 24px 24px; }

    .bill-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 13px;
    }

    .bill-table thead tr th {
      background: #16478E;
      color: #fff;
      font-weight: 700;
      padding: 9px 10px;
      font-size: 12px;
      letter-spacing: .3px;
    }

    .bill-table thead tr th:not(:first-child) { text-align: right; }

    .bill-table caption {
      background: #16478E;
      color: #fff;
      font-weight: 700;
      padding: 9px 10px;
      font-size: 12px;
      letter-spacing: .3px;
      text-align: left;
    }

    .section-header th {
      font-weight: 700;
      color: #16478E;
      padding-top: 10px !important;
      padding-bottom: 4px !important;
      border-bottom: none !important;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: .4px;
      text-align: left;
    }

    .bill-table td {
      padding: 6px 10px;
      border-bottom: 1px solid #f0f0f0;
      vertical-align: middle;
      color: #333;
    }

    .bill-table td:not(:first-child) {
      text-align: right;
      white-space: nowrap;
    }

    .section-header td {
      font-weight: 700;
      color: #16478E;
      padding-top: 10px !important;
      padding-bottom: 4px !important;
      border-bottom: none !important;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: .4px;
    }

    .bill-table .indent { padding-left: 22px; }
    .bill-table .indent2 { padding-left: 36px; }

    .subtotal-row td {
      font-weight: 700;
      border-top: 1px solid #c5c9ce;
      border-bottom: none !important;
      padding-top: 7px !important;
    }

    .total-row td {
      font-weight: 700;
      background: #dce8f7;
      color: #16478E;
      font-size: 13.5px;
      padding: 9px 10px !important;
      border-top: 2px solid #16478E;
      border-bottom: none !important;
    }

    .bill-table tbody .change-col { background: #eef2f7; color: #333; }
    .bill-table thead .change-col { background: #16478E; color: #fff; }

    .change-pos { color: #000 !important; font-weight: 700; }
    .change-neg { color: #067a50 !important; font-weight: 700; }

    .total-row .change-col { background: #c8d9ee; color: #16478E; }
    .total-row .change-pos { color: #000 !important; font-weight: 700; }
    .total-row .change-neg { color: #067a50 !important; font-weight: 700; }

    .divider-row td { padding: 0 !important; border: none !important; }
    .divider-row td hr { margin: 2px 0; border: none; border-top: 1px solid #ddd; }

    .tier-row { color: #555; }
    .hidden-row { display: none; }

    .footer-bar {
      background: #f8f8f8;
      border-top: 1px solid #e0e0e0;
      padding: 14px 20px;
      text-align: center;
      font-size: 12px;
      color: #333;
      line-height: 1.6;
    }

    .footer-bar a {
      color: #16478E;
      font-weight: 700;
      text-decoration: none;
    }

    .footer-bar a:hover { text-decoration: underline; }

    @media (max-width: 520px) {
      .input-group { flex: 1 1 100%; }
      .bill-table { font-size: 11px; }
      .bill-table td { padding: 5px 6px !important; }
    }