/* GENERATED by scripts/build_public_basket.py from src/labs/basket.html's inline styles (lab banner removed). */
    /* Simple-form (Basket) styles, shared by the public pages. LWO-118: taken from the lab page's inline <style>. Reuses the site's CSS variables
       (defined in /css/styles.css :root) so the page matches the site's
       look without duplicating the palette. */
    .bk-page { max-width: 820px; margin: 0 auto; }
    .bk-card {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 1.25rem 1.4rem;
      margin-bottom: 1.5rem;
    }
    .bk-card h2 { margin-top: 0; font-size: 1.15rem; }
    .bk-step-title { font-size: .95rem; font-weight: 800; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; margin: 0 0 .75rem; }

    /* ---- Step 1a: ZIP ---- */
    .bk-zip-row { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; }
    .bk-zip-row input { width: 130px; padding: .55rem .7rem; border: 1px solid var(--line); border-radius: 10px; font-size: .95rem; }
    .bk-error-text { color: #8a2418; font-size: .85rem; margin-top: .4rem; min-height: 1.1em; }

    /* ---- Step 1b: coverage ---- */
    .bk-coverage-row { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; }
    .bk-select { flex: 1; min-width: 220px; padding: .55rem .7rem; border: 1px solid var(--line); border-radius: 10px; font-size: .95rem; }
    .bk-note { background: var(--sky); border-radius: 10px; padding: .75rem .9rem; font-size: .88rem; margin-top: .85rem; }
    .bk-plan-search { margin-top: 1rem; }
    .bk-plan-search input { width: 100%; padding: .55rem .7rem; border: 1px solid var(--line); border-radius: 10px; font-size: .95rem; }
    .bk-plan-results { display: flex; flex-direction: column; gap: 6px; margin-top: .6rem; max-height: 230px; overflow-y: auto; }
    .bk-plan-opt { text-align: left; width: 100%; border: 1px solid var(--line); background: #fff; border-radius: 10px; padding: .5rem .7rem; cursor: pointer; font-size: .92rem; }
    .bk-plan-opt:hover { background: var(--sky); }
    .bk-plan-chosen { font-weight: 700; margin-top: .6rem; color: var(--ocean-dark); }
    .bk-deductible-row { display: flex; gap: .6rem; flex-wrap: wrap; margin-top: .75rem; }
    .bk-chip { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: .5rem 1rem; cursor: pointer; font-size: .9rem; }
    .bk-chip.solid { background: var(--ocean-dark); color: #fff; border-color: var(--ocean-dark); }

    /* ---- Step 2: prescriptions ---- */
    .bk-row { margin-bottom: .7rem; padding-bottom: .5rem; border-bottom: 1px dashed var(--line); }
    .bk-row:last-child { border-bottom: none; }
    .bk-row-main {
      display: grid;
      grid-template-columns: 1fr 90px auto;
      gap: .6rem;
      align-items: center;
    }
    .bk-row input[type="text"], .bk-row input[type="number"] {
      width: 100%;
      padding: .55rem .7rem;
      border: 1px solid var(--line);
      border-radius: 10px;
      font-size: .95rem;
    }
    .bk-row-remove {
      background: transparent;
      border: 1px solid var(--line);
      color: var(--muted);
      border-radius: 8px;
      width: 34px;
      height: 34px;
      cursor: pointer;
      font-size: 1rem;
      line-height: 1;
    }
    .bk-row-remove:hover { background: var(--sky); color: var(--ink); }
    .bk-row-remove:disabled { opacity: .35; cursor: default; }
    .bk-row-employer { margin-top: .5rem; }
    .bk-row-employer label { display: flex; align-items: center; gap: .5rem; }
    .bk-copay { padding: .4rem .6rem; border: 1px solid var(--line); border-radius: 8px; font-size: .88rem; }
    .bk-toolbar { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; margin-top: .5rem; }
    .bk-run { margin-top: 1.25rem; }
    .bk-error {
      background: #fbe9e7;
      color: #8a2418;
      border-radius: 10px;
      padding: .85rem 1rem;
      margin-top: 1rem;
      font-size: .92rem;
    }
    .bk-loading { color: var(--muted); font-size: .92rem; margin-top: .75rem; }

    /* ---- Results ---- */
    .bk-headline { background: #e5f4ec; border: 1px solid #bfe4cf; }
    .bk-headline-eyebrow { margin: 0; font-size: .85rem; font-weight: 700; color: #137a4f; text-transform: uppercase; letter-spacing: .04em; }
    .bk-headline-name { margin: .1rem 0 .3rem; font-size: 1.4rem; font-weight: 800; color: #137a4f; }
    .bk-headline-addr { font-size: .95rem; font-weight: 500; color: var(--muted); }
    .bk-headline-total { font-size: 2rem; font-weight: 800; margin: .2rem 0; }
    .bk-headline-suffix { font-size: 1rem; font-weight: 600; color: var(--muted); }
    .bk-headline-split { margin: .3rem 0 0; font-size: 1.02rem; }
    .bk-table-wrap { overflow-x: auto; }
    table.bk-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
    table.bk-table th, table.bk-table td { text-align: left; padding: .55rem .6rem; border-bottom: 1px solid var(--line); }
    table.bk-table th { color: var(--muted); font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; white-space: nowrap; }
    table.bk-table td.bk-td-addr, table.bk-table td.bk-td-note { white-space: normal; color: var(--muted); font-size: .85rem; }
    .bk-use-badge { display: inline-block; font-size: .78rem; font-weight: 800; padding: .2rem .6rem; border-radius: 999px; }
    .bk-use-plan { background: #e6f2f6; color: var(--ocean-dark); }
    .bk-use-card { background: #fbf3d6; color: #8a6d00; }
    .bk-other-list { margin: 0; padding-left: 1.2rem; }
    .bk-other-list li { margin-bottom: .5rem; }
    .bk-unpriced-note {
      background: #fbf3d6;
      color: #8a6d00;
      border-radius: 12px;
      padding: .85rem 1rem;
      font-size: .9rem;
    }
    .bk-provenance { font-size: .85rem; color: var(--muted); text-align: center; margin: 0; }
    .bk-badge { display: inline-block; font-size: .78rem; font-weight: 800; padding: .25rem .6rem; border-radius: 999px; background: #e6f2f6; color: var(--ocean-dark); margin-left: .4rem; }
    .bk-badge-pick { background: var(--ocean-dark); color: #fff; }
    .bk-row-pick { background: #f3faf6; }
    @media (max-width: 560px) {
      .bk-row-main { grid-template-columns: 1fr 74px auto; }
    }
