/* Homepage Rate Lookup layout. Extracted from index.html to cut HTML weight. */


  :root {
    --bg:#F6F4F0; --surface:#FFFFFF; --surface-2:#F0EDE8;
    --primary:#1B5E50; --primary-hover:#144A3E; --primary-dark:#0D2E27;
    --accent:#4CB8A4; --accent-light:#EBF7F4;
    --text:#0F1922; --text-2:#4A5568; --text-3:#8896A3;
    --border:#E0DDD8; --border-strong:#C5C0BA;
    --shadow-sm:0 1px 3px rgba(15,25,34,.07); --shadow-md:0 4px 16px rgba(15,25,34,.10);
    --radius:10px; --radius-sm:6px;
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
  body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
    background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;}

  /* NAV */
  .site-nav{position:sticky;top:0;z-index:100;background:rgba(246,244,240,.96);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid var(--border);}
  .nav-inner{max-width:1320px;margin:0 auto;padding:.45rem 1.5rem;display:flex;
    align-items:center;min-height:58px;height:auto;flex-wrap:wrap;gap:.75rem 1.5rem;}
  .logo{display:flex;align-items:center;gap:.55rem;font-weight:800;font-size:1rem;
    color:var(--text);text-decoration:none;white-space:nowrap;}
  .logo-mark{width:26px;height:26px;background:var(--primary);border-radius:5px;
    display:flex;align-items:center;justify-content:center;color:white;
    font-size:.8rem;font-weight:900;flex-shrink:0;}
  .module-nav{display:flex;gap:.15rem;flex:1;align-items:center;flex-wrap:wrap;
    overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0;scrollbar-width:thin;}
  .module-btn{display:flex;align-items:center;gap:.4rem;padding:.45rem .85rem;
    border:none;background:none;cursor:pointer;font-size:.84rem;font-weight:500;
    color:var(--text-2);border-radius:var(--radius-sm);transition:all .15s;
    white-space:nowrap;font-family:inherit;flex-shrink:0;}
  .module-btn:hover{color:var(--text);background:var(--surface-2);}
  .module-btn.active{color:var(--primary);background:var(--accent-light);font-weight:600;}
  .module-btn:disabled{opacity:.55;cursor:default;}
  .module-btn:disabled:hover{background:none;color:var(--text-2);}
  .coming-chip{font-size:.65rem;background:#EEEBE5;color:var(--text-3);
    border:1px solid var(--border-strong);padding:1px 5px;border-radius:20px;font-weight:500;}
  .nav-cta{margin-left:auto;padding:.45rem 1rem;background:var(--primary);color:white;
    border:none;border-radius:var(--radius-sm);font-size:.83rem;font-weight:600;
    cursor:pointer;transition:background .15s;white-space:nowrap;font-family:inherit;}
  .nav-cta:hover{background:var(--primary-hover);}

  /* HERO */
  .hero{background:linear-gradient(150deg,#1B5E50 0%,#0D2E27 100%);
    color:white;padding:3.5rem 1.5rem 2.75rem;}
  .hero-inner{max-width:1320px;margin:0 auto;}
  .hero-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.12em;color:var(--accent);
    text-transform:uppercase;margin-bottom:.8rem;}
  .hero h1{font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:800;line-height:1.18;
    margin-bottom:.9rem;max-width:920px;}
  .hero p{font-size:.97rem;color:rgba(255,255,255,.72);max-width:760px;
    line-height:1.65;margin-bottom:2rem;}
  .hero-stats{display:flex;gap:2.5rem;flex-wrap:wrap;}
  .hero-stat{display:flex;flex-direction:column;gap:.12rem;}
  .hero-stat-value{font-size:1.45rem;font-weight:800;color:white;}
  .hero-stat-label{font-size:.7rem;color:rgba(255,255,255,.55);text-transform:uppercase;
    letter-spacing:.07em;}
  .hero-divider{width:1px;background:rgba(255,255,255,.15);align-self:stretch;
    margin:0 .5rem;}

  /* MAIN */
  .main{max-width:1320px;margin:0 auto;padding:1.5rem;}

  /* FILTER PANEL: keep above table paywall overlay; native selects must stay clickable */
  .filter-panel{background:var(--surface);border:1px solid var(--border);
    border-radius:var(--radius);padding:1.2rem 1.4rem 1.3rem;margin-bottom:1.1rem;
    box-shadow:var(--shadow-sm);position:relative;z-index:5;overflow:visible;}
  .filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:.9rem 1.1rem;align-items:end;}
  .filter-field label{display:block;font-size:.69rem;font-weight:700;color:var(--text-3);
    text-transform:uppercase;letter-spacing:.07em;margin-bottom:.38rem;}
  .filter-field select{width:100%;padding:.55rem .75rem;border:1.5px solid var(--border);
    border-radius:var(--radius-sm);font-size:.87rem;color:var(--text);
    background:var(--surface);font-family:inherit;appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%238896A3' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right .65rem center;
    padding-right:1.9rem;transition:border-color .15s;cursor:pointer;
    pointer-events:auto;position:relative;z-index:1;}
  .filter-field select:focus{outline:none;border-color:var(--accent);
    box-shadow:0 0 0 3px rgba(76,184,164,.13);}
  .clear-link{font-size:.82rem;color:var(--text-3);background:none;border:none;
    cursor:pointer;padding:.55rem 0;text-decoration:underline;
    text-underline-offset:2px;font-family:inherit;transition:color .15s;}
  .clear-link:hover{color:var(--primary);}

  /* INFO BANNERS */
  .info-banner{display:none;padding:.7rem 1rem;border-radius:var(--radius-sm);
    font-size:.82rem;line-height:1.55;margin-bottom:.85rem;border-left:3px solid;}
  .info-banner.warn{background:#FEF9EE;border-color:#D97706;color:#78350F;}
  .info-banner.green{background:#F0FAF7;border-color:#16A57A;color:#084D38;}
  .info-banner.blue{background:#EFF6FF;border-color:#2B7CB8;color:#1A4D7E;}
  .info-banner.teal{background:#EBF7F4;border-color:#1B5E50;color:#0D3B2E;}

  /* INNER TABS */
  .tab-bar{display:flex;gap:.2rem;border-bottom:1.5px solid var(--border);
    margin-bottom:1.2rem;}
  .tab-btn{padding:.6rem 1rem;background:none;border:none;cursor:pointer;
    font-size:.84rem;font-weight:600;color:var(--text-3);
    border-bottom:2px solid transparent;margin-bottom:-1.5px;
    transition:all .15s;border-radius:var(--radius-sm) var(--radius-sm) 0 0;
    font-family:inherit;}
  .tab-btn:hover{color:var(--text);background:var(--surface-2);}
  .tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);
    background:var(--accent-light);}
  .tab-content{display:none;}.tab-content.active{display:block;}

  /* RATE TABLE */
  .table-wrap{background:var(--surface);border:1px solid var(--border);
    border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);}
  .rate-table{width:100%;border-collapse:collapse;}
  .rate-table thead{background:var(--primary);}
  .rate-table th{padding:.8rem 1rem;text-align:left;font-size:.73rem;font-weight:700;
    color:rgba(255,255,255,.88);text-transform:uppercase;letter-spacing:.06em;}
  .rate-table td{padding:.65rem 1rem;border-top:1px solid var(--border);
    font-size:.87rem;vertical-align:middle;}
  .rate-table tbody tr:hover{background:var(--accent-light);}
  .cat-badge{display:inline-block;padding:.18rem .52rem;border-radius:20px;
    font-size:.69rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;}
  .cat-em{background:#FEF3C7;color:#92400E;}
  .cat-sud{background:#DBEAFE;color:#1E40AF;}
  .cat-aba{background:#D1FAE5;color:#065F46;}
  .cat-therapy{background:#F1F5F9;color:#334155;}
  .cat-evaluation{background:#F5F3FF;color:#5B21B6;}
  .cat-testing{background:#FFF1F2;color:#9F1239;}
  .cat-group{background:#FEF9EE;color:#78350F;}
  .cat-family{background:#F0FDF4;color:#14532D;}
  .cat-crisis{background:#FFF7ED;color:#9A3412;}
  .rate-val{font-weight:700;color:var(--primary);}
  .per-unit-tag{font-size:.69rem;color:var(--text-3);font-weight:400;}
  .na-cell{color:var(--text-3);font-size:.8rem;font-style:italic;}
  .bcbs-badge{display:inline-block;font-size:.66rem;background:var(--surface-2);
    color:var(--text-3);padding:.15rem .42rem;border-radius:3px;margin-top:.22rem;
    border-left:2px solid #D97706;display:block;}
  .no-results{text-align:center;padding:3rem 1rem;color:var(--text-3);font-size:.9rem;}

  /* STATE GRID */
  .state-section-title{font-size:.82rem;color:var(--text-2);margin-bottom:.9rem;}
  .state-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:.45rem;}
  .state-tile{padding:.6rem .35rem;background:var(--surface);border:1.5px solid var(--border);
    border-radius:var(--radius-sm);text-align:center;cursor:pointer;font-weight:700;
    font-size:.8rem;transition:all .15s;color:var(--text-2);}
  .state-tile:hover{border-color:var(--accent);color:var(--primary);
    transform:translateY(-1px);box-shadow:var(--shadow-sm);}
  .state-tile.selected{background:var(--primary);color:white;border-color:var(--primary);}

  /* PAYER CARDS */
  .payer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:.9rem;}
  .payer-card{background:var(--surface);border:1px solid var(--border);
    border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);
    border-top:3px solid;transition:box-shadow .15s;}
  .payer-card:hover{box-shadow:var(--shadow-md);}
  .payer-card-head{padding:.9rem 1.1rem .75rem;border-bottom:1px solid var(--border);}
  .payer-name{font-weight:700;font-size:.9rem;color:var(--text);}
  .payer-short{font-size:.69rem;color:var(--text-3);text-transform:uppercase;
    letter-spacing:.08em;margin-top:.12rem;}
  .payer-card-body{padding:.9rem 1.1rem;}
  .rate-row{display:flex;justify-content:space-between;align-items:center;
    padding:.42rem 0;border-bottom:1px solid var(--border);}
  .rate-row:last-child{border-bottom:none;}
  .rate-label{font-size:.78rem;color:var(--text-2);}
  .rate-val-card{font-weight:700;color:var(--primary);font-size:.93rem;}

  /* CREDENTIAL CARDS */
  .cred-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:.9rem;}
  .cred-card{background:var(--surface);border:1px solid var(--border);
    border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow-sm);}
  .cred-title{font-weight:700;font-size:.85rem;color:var(--primary);margin-bottom:.75rem;
    padding-bottom:.55rem;border-bottom:1px solid var(--border);}
  .cred-row{display:flex;justify-content:space-between;padding:.38rem 0;
    font-size:.81rem;border-bottom:1px dashed var(--border);}
  .cred-row:last-child{border-bottom:none;}
  .cred-payer{color:var(--text-2);}
  .cred-val{font-weight:600;color:var(--primary);}

  /* METHODOLOGY */
  .methodology{margin-top:2.5rem;background:var(--surface);border:1px solid var(--border);
    border-radius:var(--radius);padding:1.75rem 1.75rem 2rem;box-shadow:var(--shadow-sm);}
  .section-eyebrow{font-size:.69rem;font-weight:700;letter-spacing:.1em;
    color:var(--accent);text-transform:uppercase;margin-bottom:.6rem;}
  .section-title{font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:1.25rem;}
  .method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.5rem;}
  .method-item{padding:1.1rem 1.2rem;background:var(--bg);border:1px solid var(--border);
    border-radius:var(--radius-sm);}
  .method-item h3{font-size:.83rem;font-weight:700;color:var(--primary);margin-bottom:.4rem;}
  .method-item p{font-size:.8rem;color:var(--text-2);line-height:1.65;}

  /* DATA SOURCES STRIP */
  .data-strip{margin-top:1rem;background:var(--primary-dark);border-radius:var(--radius);
    padding:1.5rem 1.75rem;display:flex;align-items:center;flex-wrap:wrap;gap:2rem;}
  .data-strip-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;
    color:var(--accent);text-transform:uppercase;white-space:nowrap;}
  .data-sources{display:flex;gap:1.5rem;flex-wrap:wrap;}
  .data-source{font-size:.8rem;color:rgba(255,255,255,.7);display:flex;
    align-items:center;gap:.4rem;}
  .data-source::before{content:'';width:6px;height:6px;border-radius:50%;
    background:var(--accent);flex-shrink:0;}

  /* FOOTER */
  .footer{background:#0D1E1A;color:rgba(255,255,255,.6);margin-top:3.5rem;
    padding:2.5rem 1.5rem 1.75rem;}
  .footer-inner{max-width:1320px;margin:0 auto;}
  .footer-top{display:flex;justify-content:space-between;gap:2rem;
    flex-wrap:wrap;margin-bottom:1.75rem;padding-bottom:1.75rem;
    border-bottom:1px solid rgba(255,255,255,.08);}
  .footer-brand p{font-size:.78rem;color:rgba(255,255,255,.42);margin-top:.55rem;
    max-width:270px;line-height:1.65;}
  .footer-logo{display:flex;align-items:center;gap:.55rem;
    font-weight:800;color:white;font-size:.95rem;}
  .footer-logo .logo-mark{background:rgba(76,184,164,.18);color:var(--accent);}
  .footer-cols{display:flex;gap:3rem;flex-wrap:wrap;}
  .footer-col h4{font-size:.7rem;font-weight:700;letter-spacing:.09em;
    text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:.75rem;}
  .footer-col a{display:block;font-size:.81rem;color:rgba(255,255,255,.5);
    text-decoration:none;margin-bottom:.45rem;transition:color .15s;}
  .footer-col a:hover{color:white;}
  .footer-bottom{font-size:.74rem;color:rgba(255,255,255,.3);line-height:1.7;}
  .footer-bottom p+p{margin-top:.6rem;}

  /* ── MOBILE BOTTOM TAB BAR ───────────────────────────────────────────── */
  .mobile-tab-bar{display:none;position:fixed;bottom:0;left:0;right:0;height:60px;
    background:var(--surface);border-top:1px solid var(--border);
    box-shadow:0 -2px 14px rgba(15,25,34,.10);z-index:300;
    padding-bottom:env(safe-area-inset-bottom,0px);}
  .mobile-tab{flex:1;display:flex;flex-direction:column;align-items:center;
    justify-content:center;gap:.18rem;background:none;border:none;cursor:pointer;
    font-family:inherit;font-size:.6rem;font-weight:600;color:var(--text-3);
    padding:.4rem .25rem;transition:color .15s;-webkit-tap-highlight-color:transparent;}
  .mobile-tab svg{width:22px;height:22px;stroke:currentColor;fill:none;
    stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .15s;}
  .mobile-tab.active{color:var(--primary);}
  .mobile-tab:disabled{opacity:.4;cursor:default;}
  .mobile-tab-label{line-height:1;}

  /* ── RESPONSIVE: TABLET (≤ 900px) ──────────────────────────────────── */
  @media(max-width:900px){
    .hero{padding:2.5rem 1rem 2rem;}
    .hero h1{font-size:1.65rem;}
    .hero-stats{gap:1.75rem;}
    .hero-divider{display:none;}
    .module-nav .coming-chip{display:none;}
    .nav-inner{gap:.75rem;padding:0 1rem;}
    .main{padding:1rem;}
    .filter-grid{grid-template-columns:1fr 1fr;}
    .footer-cols{gap:2rem;}
  }

  /* ── RESPONSIVE: MOBILE (≤ 768px) ──────────────────────────────────── */
  @media(max-width:768px){
    /* Body padding for fixed bottom tab bar */
    body{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px));}

    /* Nav: keep hub links as a scrollable secondary row; module buttons live in the tab bar */
    .module-nav{display:flex;flex:1 1 100%;order:3;flex-wrap:wrap;overflow-x:auto;
      -webkit-overflow-scrolling:touch;scrollbar-width:thin;max-width:100%;
      overscroll-behavior-x:contain;padding-bottom:.35rem;padding-inline-end:.25rem;
      row-gap:.2rem;}
    .module-nav .module-btn:not(.hub-link){display:none;}
    .module-nav .hub-link{flex-shrink:0;font-size:.78rem;padding:.35rem .65rem;scroll-snap-align:start;}
    .nav-cta{display:none;}
    .nav-inner{height:auto;min-height:50px;padding:.55rem 1rem;flex-wrap:wrap;gap:.4rem;}

    /* Show mobile tab bar */
    .mobile-tab-bar{display:flex;}

    /* Cookie banner sits above the 60px tab bar so Accept/Reject stay tappable */
    .cookie-banner{
      z-index:400;
      bottom:calc(60px + env(safe-area-inset-bottom,0px));
    }

    /* Hero */
    .hero{padding:1.75rem 1rem 1.5rem;}
    .hero h1{font-size:1.4rem;line-height:1.22;}
    .hero p{font-size:.86rem;margin-bottom:1.25rem;}
    .hero-stats{gap:1rem;flex-wrap:wrap;}
    .hero-stat-value{font-size:1.15rem;}
    .hero-divider{display:none;}

    /* Main */
    .main{padding:.75rem;}

    /* Filter panel */
    .filter-panel{padding:.85rem .9rem 1rem;}
    .filter-grid{grid-template-columns:1fr 1fr;gap:.55rem .75rem;}
    /* Prevent iOS auto-zoom on focus: keep font-size ≥ 16px on inputs */
    .filter-field select{font-size:16px;height:44px;padding:.5rem .9rem;padding-right:2rem;}

    /* Rate table: horizontal scroll */
    .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius);}
    .rate-table{min-width:540px;}
    .rate-table th,.rate-table td{padding:.55rem .65rem;font-size:.82rem;}

    /* Tabs */
    .tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;
      scrollbar-width:none;flex-shrink:0;}
    .tab-bar::-webkit-scrollbar{display:none;}
    .tab-btn{white-space:nowrap;padding:.65rem .85rem;font-size:.82rem;min-height:44px;}

    /* State grid */
    .state-tile{min-height:44px;display:flex;align-items:center;justify-content:center;}

    /* Market module */
    .market-module{padding:.75rem;}
    .market-title{font-size:1.3rem;}
    .market-controls{flex-direction:column;gap:.55rem;padding:.85rem .9rem;}
    .market-control-group select{min-width:0;width:100%;font-size:16px;height:44px;}
    .market-section{padding:.9rem;}

    /* Payer ranking */
    .payer-rank-row{padding:.6rem .75rem;gap:.6rem;}
    .payer-rank-rate{min-width:60px;}

    /* Market table: horizontal scroll */
    .mkt-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
    .mkt-table{min-width:500px;}

    /* Competitor search */
    .comp-search-bar{flex-direction:column;gap:.5rem;}
    .comp-npi-input{min-width:0;width:100%;font-size:16px;height:44px;}
    .comp-npi-btn{width:100%;height:44px;font-size:.9rem;}
    .comp-name-result-item{padding:.85rem 1rem;}
    .comp-ritem-select{padding:.5rem .9rem;min-height:38px;}

    /* NPI/pinned comparison table: horizontal scroll */
    .comp-result-card{padding:.85rem 1rem;}

    /* Footer */
    .footer-inner{padding:2rem 1rem 1.5rem;}
    .footer-top{flex-direction:column;gap:1.5rem;}
    .footer-cols{gap:1.25rem;}
  }

  /* ── RESPONSIVE: SMALL PHONE (≤ 480px) ─────────────────────────────── */
  @media(max-width:480px){
    .filter-grid{grid-template-columns:1fr;}
    .hero-stats{gap:.75rem;}
    .rate-table th:nth-child(3),.rate-table td:nth-child(3){display:none;}
    .rate-table{min-width:420px;}
    /* Hide less-critical market table columns */
    .mkt-table th:nth-child(n+5),.mkt-table td:nth-child(n+5){display:none;}
    .market-section-desc{font-size:.8rem;}
    .comp-ritem-detail{display:none;}
  }

  /* ── MARKET MODULE ──────────────────────────────────────────────────── */
  .market-module{max-width:1320px;margin:0 auto;padding:2rem 1.5rem;}
  .market-header{margin-bottom:1.5rem;}
  .market-title{font-size:1.75rem;font-weight:800;color:var(--text);}
  .market-subtitle{color:var(--text-2);margin-top:.4rem;font-size:.97rem;max-width:680px;}
  .market-controls{display:flex;gap:1.25rem;margin-bottom:2rem;flex-wrap:wrap;
    background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
    padding:1rem 1.25rem;align-items:flex-end;}
  .market-control-group{display:flex;flex-direction:column;gap:.35rem;}
  .market-control-group label{font-size:.78rem;font-weight:700;color:var(--text-2);
    text-transform:uppercase;letter-spacing:.05em;}
  .market-control-group select{padding:.48rem .75rem;border:1px solid var(--border-strong);
    border-radius:var(--radius-sm);font-size:.88rem;background:var(--surface);
    color:var(--text);min-width:180px;font-family:inherit;cursor:pointer;}
  .market-section{background:var(--surface);border:1px solid var(--border);
    border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem;
    box-shadow:var(--shadow-sm);}
  .market-section-title{font-size:1.02rem;font-weight:700;color:var(--text);margin-bottom:.35rem;}
  .market-section-desc{font-size:.83rem;color:var(--text-2);margin-bottom:1.25rem;max-width:720px;}
  .payer-ranking-list{display:flex;flex-direction:column;gap:.55rem;}
  .payer-rank-row{display:flex;align-items:center;gap:.85rem;padding:.65rem .85rem;
    border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);}
  .payer-rank-num{font-size:.85rem;font-weight:700;color:var(--text-3);width:22px;
    text-align:center;flex-shrink:0;}
  .payer-rank-info{flex:1;min-width:0;}
  .payer-rank-name{font-size:.88rem;font-weight:600;margin-bottom:.3rem;}
  .payer-rank-bar-wrap{height:7px;background:var(--surface-2);border-radius:4px;overflow:hidden;}
  .payer-rank-bar{height:100%;border-radius:4px;}
  .payer-rank-rate{font-size:1.05rem;font-weight:700;color:var(--text);
    flex-shrink:0;min-width:76px;text-align:right;}
  .mkt-table-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--border);}
  .mkt-table{width:100%;border-collapse:collapse;font-size:.84rem;}
  .mkt-table th{padding:.6rem .85rem;background:var(--bg);text-align:left;font-size:.77rem;
    font-weight:700;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;
    border-bottom:2px solid var(--border);white-space:nowrap;}
  .mkt-table td{padding:.6rem .85rem;border-bottom:1px solid var(--border);vertical-align:middle;}
  .mkt-table tbody tr:last-child td{border-bottom:none;}
  .mkt-table tbody tr:hover td{background:var(--bg);}
  .mkt-code-desc{font-size:.77rem;color:var(--text-2);font-weight:400;margin-left:.3rem;}
  .mkt-gap-badge{display:inline-block;padding:.15rem .5rem;border-radius:20px;
    font-size:.76rem;font-weight:700;}
  .mkt-empty{color:var(--text-3);font-size:.88rem;padding:1rem 0;}

  /* competitor section */
  .comp-search-bar{display:flex;gap:.6rem;margin-bottom:.75rem;flex-wrap:wrap;position:relative;}
  .comp-npi-input{flex:1;min-width:260px;padding:.52rem .9rem;
    border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);
    font-size:.9rem;font-family:inherit;color:var(--text);background:var(--surface);}
  .comp-npi-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(27,94,80,.12);}
  .comp-npi-btn{padding:.5rem 1.1rem;background:var(--primary);color:white;
    border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;
    cursor:pointer;font-family:inherit;transition:background .15s;white-space:nowrap;}
  .comp-npi-btn:hover{background:var(--primary-hover);}
  .comp-npi-btn:disabled{opacity:.5;cursor:default;}
  .comp-search-hint{font-size:.78rem;color:var(--text-3);margin-bottom:1rem;line-height:1.5;}
  /* name search results dropdown */
  .comp-name-results{background:var(--surface);border:1px solid var(--border-strong);
    border-radius:var(--radius);overflow:hidden;margin-bottom:1.25rem;
    box-shadow:var(--shadow-md);}
  .comp-name-result-item{padding:.7rem 1rem;border-bottom:1px solid var(--border);
    display:flex;align-items:center;gap:.85rem;cursor:pointer;transition:background .1s;}
  .comp-name-result-item:hover{background:var(--accent-light);}
  .comp-name-result-item:last-child{border-bottom:none;}
  .comp-ritem-name{font-weight:600;font-size:.88rem;flex:1;color:var(--text);}
  .comp-ritem-detail{font-size:.77rem;color:var(--text-2);white-space:nowrap;}
  .comp-ritem-select{padding:.3rem .75rem;background:var(--primary);color:white;
    border:none;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;
    cursor:pointer;font-family:inherit;flex-shrink:0;}
  .comp-ritem-select:hover{background:var(--primary-hover);}
  /* pinned comparison */
  .pinned-header{display:flex;align-items:center;justify-content:space-between;
    margin-bottom:.75rem;}
  .pinned-title{font-weight:700;font-size:.95rem;color:var(--primary-dark);}
  .pinned-clear{font-size:.78rem;color:var(--text-2);cursor:pointer;
    padding:.2rem .5rem;border-radius:var(--radius-sm);background:var(--surface-2);
    border:1px solid var(--border);}
  .pinned-remove{background:none;border:none;cursor:pointer;color:var(--text-3);
    font-size:.8rem;padding:.1rem .35rem;border-radius:3px;font-family:inherit;}
  .pinned-remove:hover{background:#FFCDD2;color:#B71C1C;}
  .comp-tier-select{padding:.2rem .4rem;border:1px solid var(--border);
    border-radius:3px;font-size:.75rem;background:var(--surface);
    color:var(--text-2);cursor:pointer;font-family:inherit;}
  .comp-result-card{background:var(--accent-light);border:1px solid var(--accent);
    border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1.25rem;}
  .comp-result-title{font-weight:700;font-size:.95rem;color:var(--primary-dark);margin-bottom:.3rem;}
  .comp-result-meta{font-size:.82rem;color:var(--text-2);margin-bottom:.75rem;}
  .tier-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;
    border-radius:20px;font-size:.73rem;font-weight:700;white-space:nowrap;}
  .tier-1{background:#1B5E5018;color:#0D3B2E;border:1px solid #1B5E5040;}
  .tier-2{background:#1565C018;color:#0A2F5A;border:1px solid #1565C040;}
  .tier-3{background:#E6510018;color:#4A2100;border:1px solid #E6510040;}
  .npi-tag{font-family:monospace;font-size:.78rem;background:var(--surface-2);
    padding:.1rem .4rem;border-radius:3px;color:var(--text-2);margin-left:.4rem;}
  .comp-rate-row{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;
    border-bottom:1px solid var(--border);font-size:.84rem;}
  .comp-rate-row:last-child{border-bottom:none;}
  .comp-rate-payer{flex:1;font-weight:500;color:var(--text-2);}
  .comp-rate-val{font-weight:700;color:var(--text);min-width:72px;text-align:right;}
  .comp-rate-delta{font-size:.75rem;padding:.1rem .4rem;border-radius:10px;margin-left:.3rem;
    font-weight:600;min-width:52px;text-align:center;}
  .delta-pos{background:#C8E6C9;color:#1B5E20;}
  .delta-neg{background:#FFCDD2;color:#B71C1C;}
  .delta-neu{background:#F5F5F5;color:#616161;}
  @media(max-width:768px){
    .market-module{padding:1rem;}
    .market-controls{gap:.75rem;}
  }

  /* ── PAYWALL ──────────────────────────────────────────────────────────── */
  /* Free Medicare panel stays above any commercial overlay. */
  .medicare-panel{position:relative;z-index:6;isolation:isolate;}
  .paywall-blur{position:relative;overflow:hidden;max-height:420px;}
  .paywall-blur>*{filter:blur(6px);pointer-events:none;user-select:none;}
  .paywall-blur .paywall-preview{filter:none;pointer-events:auto;user-select:auto;}
  .paywall-overlay{position:absolute;bottom:0;left:0;right:0;
    background:linear-gradient(0deg,rgba(246,244,240,1) 30%,rgba(246,244,240,.85) 60%,rgba(246,244,240,0) 100%);
    padding:3rem 1.5rem 2rem;display:flex;flex-direction:column;align-items:center;
    text-align:center;z-index:10;}
  /* Rate Lookup commercial CTA sits after the table so a short UHC result
     cannot overflow upward and cover free Medicare / Medicaid cells. */
  .paywall-overlay.paywall-below{position:relative;left:auto;right:auto;bottom:auto;
    background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
    margin-top:1rem;padding:1.5rem 1.25rem 1.35rem;z-index:1;box-shadow:var(--shadow-sm);}
  .paywall-overlay h3{font-size:1.15rem;font-weight:800;color:var(--text);margin-bottom:.5rem;}
  .paywall-overlay p{font-size:.88rem;color:var(--text-2);max-width:480px;margin-bottom:1.25rem;line-height:1.6;}
  .paywall-cta{padding:.65rem 1.75rem;background:var(--primary);color:white;border:none;
    border-radius:var(--radius-sm);font-size:.92rem;font-weight:700;cursor:pointer;
    font-family:inherit;transition:background .15s;box-shadow:0 2px 8px rgba(27,94,80,.25);}
  .paywall-cta:hover{background:var(--primary-hover);}
  .paywall-login-link{margin-top:.6rem;font-size:.82rem;color:var(--text-2);cursor:pointer;
    background:none;border:none;text-decoration:underline;text-underline-offset:2px;
    font-family:inherit;}
  .paywall-lock-icon{width:28px;height:28px;margin:0 auto .4rem;color:var(--primary);}
  .paywall-lock-icon svg{display:block;width:28px;height:28px;}
  .paywall-hidden{display:none !important;}

  /* Auth Modal */
  .auth-backdrop{position:fixed;inset:0;background:rgba(15,25,34,.5);z-index:500;
    display:flex;align-items:center;justify-content:center;backdrop-filter:blur(3px);
    opacity:0;pointer-events:none;transition:opacity .2s;}
  .auth-backdrop.open{opacity:1;pointer-events:auto;}
  .auth-modal{background:var(--surface);border-radius:14px;width:min(440px,92vw);
    max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px rgba(15,25,34,.25);
    padding:2.25rem;position:relative;}
  .auth-modal h2{font-size:1.3rem;font-weight:800;color:var(--text);margin-bottom:.3rem;}
  .auth-modal .auth-sub{font-size:.88rem;color:var(--text-2);margin-bottom:1.5rem;line-height:1.5;}
  .auth-field{margin-bottom:1rem;}
  .auth-field label{display:block;font-size:.78rem;font-weight:700;color:var(--text-2);
    text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem;}
  .auth-field input{width:100%;padding:.6rem .85rem;border:1.5px solid var(--border);
    border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit;color:var(--text);
    background:var(--surface);transition:border-color .15s;}
  .auth-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(76,184,164,.13);}
  .auth-submit{width:100%;padding:.7rem;background:var(--primary);color:white;border:none;
    border-radius:var(--radius-sm);font-size:.92rem;font-weight:700;cursor:pointer;
    font-family:inherit;margin-top:.5rem;transition:background .15s;}
  .auth-submit:hover{background:var(--primary-hover);}
  .auth-submit:disabled{opacity:.55;cursor:default;}
  .auth-toggle{text-align:center;margin-top:1rem;font-size:.82rem;color:var(--text-2);}
  .auth-toggle button{background:none;border:none;color:var(--primary);font-weight:600;
    cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-family:inherit;font-size:.82rem;}
  .auth-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;
    font-size:1.2rem;cursor:pointer;color:var(--text-3);padding:.25rem .4rem;border-radius:4px;}
  .auth-close:hover{background:var(--surface-2);}
  .auth-error{background:#FEF2F2;border:1px solid #FECACA;color:#991B1B;font-size:.82rem;
    padding:.5rem .75rem;border-radius:var(--radius-sm);margin-bottom:.75rem;display:none;}
  .auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;
    font-size:.78rem;color:var(--text-3);}
  .auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border);}

  /* Pricing Module */
  .pricing-module{display:none;}
  .pricing-module.active{display:block;}
  .pricing-inner{max-width:960px;margin:0 auto;padding:3rem 1.5rem;}
  .pricing-header{text-align:center;margin-bottom:2.5rem;}
  .pricing-header h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:var(--text);margin-bottom:.6rem;}
  .pricing-header p{font-size:.95rem;color:var(--text-2);max-width:560px;margin:0 auto;line-height:1.65;}
  .pricing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;
    max-width:720px;margin:0 auto;}
  .pricing-card{background:var(--surface);border:2px solid var(--border);border-radius:14px;
    padding:2rem;text-align:center;box-shadow:var(--shadow-sm);position:relative;
    transition:box-shadow .2s,border-color .2s;}
  .pricing-card:hover{box-shadow:var(--shadow-md);}
  .pricing-card.featured{border-color:var(--primary);box-shadow:0 8px 32px rgba(27,94,80,.15);}
  .pricing-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);
    background:var(--primary);color:white;font-size:.7rem;font-weight:700;
    padding:.25rem .85rem;border-radius:20px;letter-spacing:.05em;text-transform:uppercase;}
  .pricing-card h3{font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:.5rem;}
  .pricing-price{font-size:2.5rem;font-weight:800;color:var(--primary);margin-bottom:.2rem;}
  .pricing-price span{font-size:.9rem;font-weight:500;color:var(--text-2);}
  .pricing-desc{font-size:.84rem;color:var(--text-2);margin-bottom:1.5rem;line-height:1.55;}
  .pricing-features{list-style:none;text-align:left;margin-bottom:1.75rem;}
  .pricing-features li{padding:.4rem 0;font-size:.84rem;color:var(--text);
    display:flex;align-items:flex-start;gap:.5rem;line-height:1.45;}
  .pricing-features li::before{content:'-';color:var(--primary);font-weight:700;flex-shrink:0;margin-top:.05rem;}
  .pricing-subscribe{width:100%;padding:.7rem;background:var(--primary);color:white;border:none;
    border-radius:var(--radius-sm);font-size:.92rem;font-weight:700;cursor:pointer;
    font-family:inherit;transition:background .15s;}
  .pricing-subscribe:hover{background:var(--primary-hover);}
  .pricing-subscribe.outline{background:transparent;color:var(--primary);
    border:2px solid var(--primary);}
  .pricing-subscribe.outline:hover{background:var(--accent-light);}
  .pricing-guarantee{text-align:center;margin-top:2rem;font-size:.82rem;color:var(--text-3);line-height:1.6;}

  /* User menu (logged-in state) */
  .user-menu{display:flex;align-items:center;gap:.6rem;margin-left:auto;}
  .user-avatar{width:30px;height:30px;border-radius:50%;background:var(--primary);
    color:white;display:flex;align-items:center;justify-content:center;
    font-size:.75rem;font-weight:700;}
  .user-name{font-size:.82rem;font-weight:600;color:var(--text);}
  .user-logout{font-size:.78rem;color:var(--text-3);background:none;border:none;
    cursor:pointer;text-decoration:underline;font-family:inherit;}

  @media(max-width:768px){
    .pricing-inner{padding:2rem 1rem;}
    .pricing-cards{grid-template-columns:1fr;}
    .auth-modal{padding:1.5rem;}
    .paywall-overlay{padding:2rem 1rem 1.5rem;}
    .user-name{display:none;}
  }
  
/* Answer block sits inside the dark hero. These beat rates-app.css so the
   deferred sheet cannot change the hero card's box or text metrics. */
.hero .answer-block{margin:1.25rem 0 1.5rem;background:var(--accent-light);
  border-left:3px solid var(--primary);padding:1rem 1.15rem;
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;}
.hero .answer-block p{color:var(--text);max-width:none;margin:0;font-size:.95rem;line-height:1.7;}
.hero .answer-block p+p{margin-top:.75rem;}
.cookie-banner{position:fixed;z-index:400;left:0;right:0;bottom:0;}
.related-links{max-width:900px;margin:1.25rem auto 0;padding:0 1.5rem;font-size:.8rem;color:var(--text-3);}
.related-links a{color:var(--text-2);text-decoration:none;margin-right:.35rem;}
.related-links a:hover{color:var(--primary);}
.related-links span{margin:0 .35rem;color:var(--border-strong);}

/* 2026-10-10: nav fits one row at 1280 and gets a Menu button at 900px and below. */
@media(min-width:901px) and (max-width:1440px){
.site-nav .module-btn{padding:.45rem .55rem}
.site-nav .nav-inner{column-gap:1rem}
}
@media(max-width:900px){
.site-nav .nav-menu-btn{display:inline-flex;align-items:center;margin-left:auto;min-height:44px;padding:.4rem .9rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);font-family:inherit;font-size:.84rem;font-weight:600;line-height:1.2;color:var(--text);cursor:pointer}
.site-nav.nav-open .module-nav .module-btn:not(.hub-link){display:flex;font-size:.84rem;padding:.5rem .65rem}
.site-nav.nav-open #navAuthArea{order:4;flex:1 1 100%;padding-bottom:.5rem}
.site-nav.nav-open #navAuthArea .nav-cta{display:inline-block;margin-left:0;min-height:44px}
}
