/* 医療用医薬品の供給状況 */
.sup{--ink:#23323a;--sub:#5b6b70;--line:#dde8e4;--wash:#f4f9f7;--ok:#14806f;--ok-w:#e4f4ef;--lim:#a15c07;--lim-w:#fdf1d8;--stop:#b42318;--stop-w:#fde8e6;--new:#1b6f8c;--new-w:#e0f1f7;color:var(--ink);font-size:15px}
.sup-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.sup-stat{font:inherit;text-align:left;cursor:pointer;border:1.5px solid transparent;border-radius:18px;padding:14px 16px 12px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:baseline;column-gap:6px;transition:transform .12s,box-shadow .12s}
.sup-stat:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(20,50,60,.08)}
.sup-stat span{grid-column:1/-1;font-size:13.5px;font-weight:700}
.sup-stat b{font-size:30px;line-height:1.25;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.sup-stat small{font-size:13px;color:var(--sub)}
.s-lim{background:var(--lim-w);color:var(--lim)}.s-stop{background:var(--stop-w);color:var(--stop)}.s-ok{background:var(--ok-w);color:var(--ok)}.s-new{background:var(--new-w);color:var(--new)}
.sup-asof{margin:0 2px 18px;font-size:13.5px;color:var(--sub);display:flex;flex-wrap:wrap;gap:4px 14px}
.sup-asof b{color:var(--ink)}

.sup-bar{position:sticky;top:0;z-index:5;background:#fff;padding:12px 0 10px;border-bottom:1px solid var(--line);margin-bottom:6px}
.admin-bar .sup-bar{top:32px}
.sup-q{position:relative;display:flex;align-items:center}
.sup-q svg{position:absolute;left:16px;color:var(--ok);pointer-events:none}
.sup-q input{width:100%;font:inherit;font-size:16px;padding:12px 16px 12px 46px;border:1.5px solid #c9d8d3;border-radius:999px;background:#fff;color:var(--ink);min-height:50px}
.sup-q input:focus{outline:0;border-color:var(--ok);box-shadow:0 0 0 4px var(--ok-w)}
.sup-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px}
.sup-chips{display:flex;flex-wrap:wrap;gap:6px}
.sup-chips button{font:inherit;font-size:13.5px;font-weight:700;padding:6px 13px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--sub);cursor:pointer}
.sup-chips button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.sup-toggle,.sup-sort{font-size:13.5px;color:var(--sub);display:flex;align-items:center;gap:6px;cursor:pointer}
.sup-sort{margin-left:auto}
.sup-sort select{font:inherit;font-size:13.5px;padding:5px 8px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.sup-hit{margin:12px 2px 8px;font-size:14px;font-weight:700;color:var(--sub)}

.sup-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sup-item{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px;padding:14px 16px;border:1.5px solid var(--line);border-radius:16px;background:#fff}
.sup-item.st-stop{border-color:#f6c9c4}.sup-item.st-lim{border-color:#f3dcae}
.sup-badge{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:12px;padding:8px 6px;gap:2px;align-self:start}
.sup-badge b{font-size:14.5px}.sup-badge small{font-size:11.5px;line-height:1.3}
.b-ok{background:var(--ok-w);color:var(--ok)}.b-lim{background:var(--lim-w);color:var(--lim)}.b-stop{background:var(--stop-w);color:var(--stop)}.b-na{background:var(--wash);color:var(--sub)}
.sup-name{margin:0;font-weight:700;font-size:16px;line-height:1.45;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.sup-tag{font-size:11.5px;font-weight:700;padding:3px 7px;border-radius:6px;background:var(--wash);color:var(--sub);line-height:1}
.sup-tag.t-new{background:var(--new);color:#fff}
.sup-sub{margin:3px 0 0;font-size:13.5px;color:var(--sub)}
.sup-meta{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:4px 10px;margin:10px 0 0;font-size:13.5px}
.sup-meta dt{color:var(--sub);white-space:nowrap}
.sup-meta dd{margin:0;font-weight:500}
.sup-meta .v-down{color:var(--stop)}.sup-meta .v-up{color:var(--ok)}
.sup-code{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.sup-more{display:block;margin:16px auto 0;font:inherit;font-weight:700;font-size:14.5px;padding:10px 24px;border-radius:999px;border:1.5px solid var(--ok);background:#fff;color:var(--ok);cursor:pointer}
.sup-more:hover{background:var(--ok-w)}

.sup-changes{margin-top:40px}
.sup-changes h2{font-size:20px;margin:0 0 4px}
.sup-help{margin:0 0 12px;font-size:13.5px;color:var(--sub)}
.sup-changes ol{list-style:none;margin:0;padding:0;border:1.5px solid var(--line);border-radius:16px;overflow:hidden}
.sup-day{background:var(--wash);font-size:13px;font-weight:700;color:var(--sub);padding:7px 16px}
.sup-ch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px;border-top:1px solid var(--line);font-size:14.5px}
.sup-ch a{color:var(--ink);text-decoration:none;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sup-ch a:hover{color:var(--ok);text-decoration:underline}
.sup-ft{display:flex;align-items:center;gap:6px;flex:none}
.sup-mini{font-size:12px;font-weight:700;padding:3px 8px;border-radius:999px}
.sup-arrow{color:var(--sub)}
.sup-ch.is-better{box-shadow:inset 4px 0 0 var(--ok)}.sup-ch.is-worse{box-shadow:inset 4px 0 0 var(--stop)}

.sup-note{margin-top:32px;padding:14px 18px;border-radius:14px;background:var(--wash);font-size:13px;color:var(--sub);line-height:1.75}
.sup-note p{margin:0}.sup-note p+p{margin-top:6px}

@media (max-width:760px){
  .sup-sum{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .sup-stat{padding:11px 13px 9px}.sup-stat b{font-size:24px}
  .sup-item{grid-template-columns:1fr;gap:8px;padding:12px 14px}
  .sup-badge{flex-direction:row;justify-self:start;padding:5px 10px;gap:6px}
  .sup-meta{grid-template-columns:auto 1fr}
  .sup-sort{margin-left:0}
  .sup-ch{flex-direction:column;align-items:flex-start;gap:4px}
  .sup-bar{position:static}
}
