.myhappyins-directory{
  --dir-blue:#0b4db7;
  --dir-blue-dark:#07357f;
  --dir-ink:#172033;
  --dir-soft:#516079;
  --dir-line:#d6deea;
  --dir-bg:#f5f8fc;
  --dir-white:#fff;
  max-width:1180px;
  margin:0 auto;
  padding:36px 20px 64px;
  color:var(--dir-ink);
  box-sizing:border-box;
}
.myhappyins-directory *{box-sizing:border-box}
.myhappyins-directory h1{
  margin:0 0 16px;
  color:#102a56;
  font-size:clamp(2rem,4.5vw,3.25rem);
  line-height:1.15;
  letter-spacing:-.025em;
}
.myhappyins-directory h2,
.myhappyins-directory h3{color:#163768;line-height:1.25}
.myhappyins-directory__lede{
  max-width:980px;
  margin:0 0 22px;
  color:#2d3b52;
  font-size:1.05rem;
  line-height:1.82;
}
.myhappyins-directory__stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:24px 0;
}
.myhappyins-directory__stat{
  min-height:98px;
  padding:18px;
  border:1px solid #cad8ec;
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 18px rgba(26,52,92,.07);
}
.myhappyins-directory__stat strong{
  display:block;
  color:var(--dir-blue-dark);
  font-size:1.75rem;
  line-height:1.1;
}
.myhappyins-directory__stat span{display:block;margin-top:7px;color:#45546c;font-size:.9rem}
.myhappyins-directory__notice{
  margin:22px 0;
  padding:16px 18px;
  border-left:5px solid #d89b10;
  border-radius:8px;
  background:#fff8e6;
  color:#513b08;
  line-height:1.65;
}
.myhappyins-directory__tools{
  position:sticky;
  top:12px;
  z-index:20;
  display:grid;
  grid-template-columns:minmax(220px,2fr) minmax(170px,1fr) minmax(150px,1fr) auto;
  gap:12px;
  margin:26px 0 18px;
  padding:16px;
  border:1px solid #cbd8e9;
  border-radius:14px;
  background:rgba(255,255,255,.97);
  box-shadow:0 8px 26px rgba(23,45,78,.1);
  backdrop-filter:blur(8px);
}
.myhappyins-directory__field label{display:block;margin:0 0 6px;color:#26364d;font-weight:700;font-size:.88rem}
.myhappyins-directory__field input,
.myhappyins-directory__field select{
  width:100%;
  min-height:46px;
  padding:9px 12px;
  border:1px solid #52647d;
  border-radius:9px;
  background:#fff;
  color:#111827;
  font:inherit;
}
.myhappyins-directory__reset{
  align-self:end;
  min-height:46px;
  padding:9px 16px;
  border:1px solid var(--dir-blue);
  border-radius:9px;
  background:#fff;
  color:var(--dir-blue-dark);
  font-weight:700;
  cursor:pointer;
}
.myhappyins-directory__reset:hover{background:#edf4ff}
.myhappyins-directory__summary{margin:0 0 18px;color:#34435a;font-weight:700}
.myhappyins-directory__category{margin:34px 0 0;scroll-margin-top:130px}
.myhappyins-directory__category-title{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:0 0 14px;
  padding-bottom:9px;
  border-bottom:2px solid #b8c9e1;
  font-size:1.45rem;
}
.myhappyins-directory__category-title span{color:#59677d;font-size:.9rem;font-weight:500}
.myhappyins-directory__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.myhappyins-provider{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:18px;
  border:1px solid var(--dir-line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 4px 15px rgba(30,55,88,.06);
}
.myhappyins-provider[hidden],.myhappyins-directory__category[hidden]{display:none!important}
.myhappyins-provider h2,.myhappyins-provider h3{margin:0 0 5px;color:#163768;font-size:1.13rem;line-height:1.25;overflow-wrap:anywhere}
.myhappyins-provider__specialty{margin:0 0 11px;color:#37465d;font-weight:650;line-height:1.45}
.myhappyins-provider__meta{display:grid;gap:7px;margin:0 0 14px;color:#3f4e65;font-size:.93rem;line-height:1.5}
.myhappyins-provider__meta div{overflow-wrap:anywhere}
.myhappyins-provider__meta strong{color:#263650}
.myhappyins-provider__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:4px}
.myhappyins-provider__button,
.myhappyins-directory__page-button{
  min-height:43px;
  padding:9px 14px;
  border:1px solid var(--dir-blue);
  border-radius:8px;
  background:var(--dir-blue);
  color:#fff!important;
  font-weight:750;
  line-height:1.2;
  text-decoration:none!important;
  cursor:pointer;
}
.myhappyins-provider__button:hover,
.myhappyins-directory__page-button:hover{background:var(--dir-blue-dark)}
.myhappyins-provider__npi{font-variant-numeric:tabular-nums}
.myhappyins-provider__missing{color:#7a3d00;font-weight:650}
.myhappyins-directory__empty{padding:28px;border:1px dashed #8fa1b9;border-radius:12px;background:#f8fafc;text-align:center}
.myhappyins-directory__pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:26px 0}
.myhappyins-directory__page-button[disabled]{border-color:#aab4c3;background:#e5e9ef;color:#5d6674!important;cursor:not-allowed}
.myhappyins-directory__page-status{min-width:110px;text-align:center;color:#34435a;font-weight:700}
.myhappyins-directory__footnote{margin:34px 0 0;padding-top:20px;border-top:1px solid var(--dir-line);color:#4a586d;font-size:.9rem;line-height:1.7}
.myhappyins-network-list{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 0;padding:0;list-style:none}
.myhappyins-network-list li{padding:5px 9px;border-radius:999px;background:#edf3fb;color:#263b5b;font-size:.82rem}
.myhappyins-network-list li[data-code="GREEN"]{background:#e5f6ea;color:#145c2b}
.myhappyins-network-list li[data-code="ORANGE"]{background:#fff3d6;color:#754b00}
.myhappyins-network-list li[data-code="RED"]{background:#fde8e8;color:#842525}
.myhappyins-dialog[hidden]{display:none!important}
.myhappyins-dialog{
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  padding:20px;
}
.myhappyins-dialog__backdrop{position:absolute;inset:0;background:rgba(8,19,36,.72)}
.myhappyins-dialog__panel{
  position:relative;
  width:min(720px,100%);
  max-height:min(82vh,820px);
  overflow:auto;
  padding:24px;
  border-radius:16px;
  background:#fff;
  color:#172033;
  box-shadow:0 24px 70px rgba(0,0,0,.35);
}
.myhappyins-dialog__close{
  position:sticky;
  top:0;
  float:right;
  width:44px;
  height:44px;
  border:1px solid #53657e;
  border-radius:50%;
  background:#fff;
  color:#172033;
  font-size:1.45rem;
  cursor:pointer;
}
.myhappyins-dialog__title{margin:3px 56px 16px 0;font-size:1.45rem}
.myhappyins-dialog__location{margin:14px 0;padding:15px;border:1px solid #d5deea;border-radius:10px;background:#f8fafc}
.myhappyins-dialog__location h3{margin:0 0 8px;font-size:1.04rem}
.myhappyins-dialog__location p{margin:5px 0;line-height:1.55;overflow-wrap:anywhere}
.myhappyins-dialog__location a{color:#0b4db7}
body.myhappyins-dialog-open{overflow:hidden}
.myhappyins-directory :focus-visible{outline:3px solid #ffbf47!important;outline-offset:3px!important}
.myhappyins-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (max-width:860px){
  .myhappyins-directory__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .myhappyins-directory__tools{position:static;grid-template-columns:1fr 1fr}
  .myhappyins-directory__grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .myhappyins-directory{padding:26px 14px 50px}
  .myhappyins-directory__stats,.myhappyins-directory__tools{grid-template-columns:1fr}
  .myhappyins-directory__stat{min-height:auto}
  .myhappyins-directory__reset{width:100%}
  .myhappyins-provider{padding:15px}
  .myhappyins-provider__button{width:100%}
  .myhappyins-dialog{padding:10px}
  .myhappyins-dialog__panel{padding:18px;max-height:90vh}
}
@media (prefers-reduced-motion:reduce){.myhappyins-directory *{scroll-behavior:auto!important;transition:none!important}}
