/* HOSPPG v1 hosp.css — /insight/inpatients/assets/ 配下 */
.mb-gate{position:relative;min-height:120px}
.mb-on>*:not(.mb-ov){filter:blur(7px);pointer-events:none;user-select:none;-webkit-user-select:none}
.mb-ov{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:rgba(255,255,255,.35);z-index:5}
.mb-cta{background:#0b7285;color:#fff;padding:9px 18px;border-radius:6px;text-decoration:none;font-weight:700}
.mb-cta:hover{background:#095d6b;color:#fff}
.mb-tx{color:#1a2333;font-size:13px;background:rgba(255,255,255,.85);padding:4px 10px;border-radius:4px}
/* HOSPPG v1.3: 施設基準の届出（HOSPKJ v1） */
.kjsum{font-size:14px;margin:2px 0 8px}
.kjcnt{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.kjchip{background:#eef2f6;border-radius:12px;padding:3px 10px;font-size:12px;white-space:nowrap}
.kjchip b{color:#0b7285;margin-left:3px}
.kjh{font-size:14px;margin:12px 0 4px}
.kjtbl{width:100%;border-collapse:collapse;font-size:13px}
.kjtbl th,.kjtbl td{border-bottom:1px solid #e6ecf1;padding:5px 8px;text-align:left;vertical-align:top}
.kjtbl td.kjd{white-space:nowrap;color:#5a6b7d;text-align:right}
.kjd2{margin:4px 0}
.hb{display:grid;grid-template-columns:12em 1fr 6em;gap:6px;align-items:center;font-size:13px;margin:3px 0}
.hb>*{min-width:0}
.hb .hbar{background:#eef2f6;height:14px;border-radius:3px;overflow:hidden}
.hb .hbar i{display:block;height:100%;background:#0b7285}
.hb.alt .hbar i{background:#4a89c3}
.hb .hv{text-align:right;white-space:nowrap}
.flowbar{display:flex;height:22px;border-radius:4px;overflow:hidden;margin:4px 0;background:#f4f6f8}
.flowbar span{display:block;height:100%}
.fleg{font-size:12px;color:#555;display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 10px}
.fleg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.wtbl th,.wtbl td{white-space:nowrap}
.wtbl td.wr{white-space:normal;min-width:10em}
.wtbl td.wn{white-space:nowrap} /* HOSPPG v1.2: 病棟名は改行しない */
.minitbl{border-collapse:collapse;font-size:13px}
.minitbl th,.minitbl td{padding:3px 10px;border-bottom:1px solid #eee;text-align:right}
.minitbl th:first-child,.minitbl td:first-child{text-align:left}
.badgeline{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.badge2{background:#eef2f6;color:#5a6572;border-radius:4px;padding:2px 8px;font-size:12px}
.badge2.on{background:#0b7285;color:#fff}
.hosp-meta{font-size:13px;color:#555;margin:4px 0}
.radwrap{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start}
.chartnote{font-size:12px;color:#777;margin:4px 0}
.hfilter{width:100%;max-width:420px;padding:8px 10px;border:1px solid #cfd6dd;border-radius:6px;font-size:14px;margin:8px 0}
.hlist{list-style:none;padding:0;margin:6px 0}
.hlist li{padding:3px 0;border-bottom:1px solid #f0f2f4;font-size:14px}
.hlist .mt{color:#888;font-size:12px;margin-left:8px}
/* HOSPPG v1.1b: 一覧の圏域・市区町村グルーピングとリンク色（リンクは青く） */
.hlist a{color:#2f6bb0;text-decoration:underline}
.agrp{margin:10px 0 2px}
.ah{font-size:14px;margin:10px 0 2px;border-left:3px solid #2f6bb0;padding-left:7px}
.ah a{color:#2f6bb0;text-decoration:underline}
.ah .mt{color:#888;font-size:12px;margin-left:8px;font-weight:400}
.mgrp{margin:0 0 2px 4px}
.mh{display:block;font-size:12.5px;color:#555;font-weight:700;margin:6px 0 0}
/* HOSPPG v1.2: Material Symbols・KPIピアバッジ・機能バッジ・ドーナツ・サンキー */
.msi{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;
  font-size:22px;line-height:1;display:inline-block;vertical-align:-4px;margin-right:7px;
  color:#0b7285;letter-spacing:normal;text-transform:none;white-space:nowrap;
  -webkit-font-smoothing:antialiased}
.card h2 .msi{font-size:23px}
.kpb{display:inline-block;font-size:11px;border-radius:9px;padding:1px 8px;margin-top:3px;font-weight:700}
.kpb.hi{background:#e7f2fb;color:#1d6fb8}
.kpb.lo{background:#fdeee4;color:#c05621}
.kpb.mid{background:#eef2f6;color:#5a6572}
.wkino{display:inline-block;border-radius:4px;padding:1px 8px;font-size:12px;color:#fff;white-space:nowrap}
.wkino.k1{background:#c2255c}.wkino.k2{background:#0b7285}.wkino.k3{background:#5f87b8}
.wkino.k4{background:#868e96}.wkino.k0{background:#adb5bd}
.wkihon{display:inline-block;background:#eef2f6;color:#40505f;border-radius:4px;padding:1px 7px;
  font-size:11.5px;white-space:nowrap} /* HOSPPG v1.2: 略称化にあわせ1行化 */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:14px} /* HOSPPG v1.2: 稼働率|日平均の2段組 */
@media(max-width:980px){.duo{grid-template-columns:1fr}}
.dnwrap{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.dnleg{font-size:12.5px;min-width:15em}
.dnleg div{display:flex;align-items:center;gap:6px;padding:1.5px 0}
.dnleg i{display:inline-block;width:11px;height:11px;border-radius:2px;flex:none}
.dnleg .pv{margin-left:auto;color:#555;white-space:nowrap}
.mdcsum{font-size:14.5px;font-weight:700;color:#12314f;margin:2px 0 8px}
.mdcsum .msi{font-size:19px;vertical-align:-3px}
.snk text{font-size:11.5px;fill:#333}
.snk .pv{fill:#666;font-size:10.5px}
.kpi .l .kmed{display:block;font-size:10.5px;color:#889;font-weight:400}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch} /* HOSPPG v1.2: MDC|診療科の2段組・高さ揃え */
.two-col>.card{margin:0;height:100%;box-sizing:border-box}
@media(max-width:980px){.two-col{grid-template-columns:1fr}.two-col>.card{height:auto}}
.sevbar{position:relative;height:10px;background:linear-gradient(90deg,#eef2f6,#cfe3f2);border-radius:5px;
  max-width:440px;margin:8px 0 2px} /* HOSPPG v1.2: 重症度のピア内位置ゲージ */
.sevbar i{position:absolute;top:-4px;width:4px;height:18px;background:#c2255c;border-radius:2px;transform:translateX(-2px)}
.sevbar b{position:absolute;top:-2px;width:2px;height:14px;background:#8896a5}
.wkiki{display:inline-block;background:#eef2f6;color:#40505f;border:1px solid #dfe6ec;border-radius:4px;
  padding:2px 9px;font-size:12px;white-space:nowrap}
.wkiki b{color:#0b7285;font-weight:700;margin-left:3px}
/* HOSPKJ v2: 施設基準の特徴・5群・推移・履歴 */
.kjfeat{margin:6px 0 2px;padding-left:1.2em;font-size:13.5px}
.kjfeat li{margin:2px 0}
.kjw5{margin:6px 0}
.kjw5h{display:inline-block;border-radius:4px;padding:1px 9px;font-size:12px;color:#fff;margin-right:6px;white-space:nowrap}
.kjw5h.b1{background:#c2255c}.kjw5h.b2{background:#0b7285}.kjw5h.b3{background:#5f87b8}
.kjw5h.b4{background:#868e96}.kjw5h.b5{background:#7048a8}.kjw5h.b0{background:#adb5bd}
.kjwch{display:inline-block;background:#f2f5f8;border:1px solid #e2e9ef;border-radius:4px;padding:1px 8px;font-size:12px;margin:2px 3px 2px 0}
.kjtg{display:inline-flex;border:1px solid #cfd6dd;border-radius:6px;overflow:hidden;margin:4px 0}
.kjtg button{border:0;background:#fff;padding:4px 12px;font-size:12.5px;cursor:pointer;color:#40505f}
.kjtg button.on{background:#0b7285;color:#fff}
.kjsp{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px 14px;margin:6px 0}
.kjsp .c{font-size:12px;color:#444}
.kjsp .c b{color:#12314f}
.kjmiss{padding-left:1.2em;font-size:13px;margin:4px 0}
.kjmiss li{margin:2px 0}
.kjnew td.kjc{color:#5a6b7d;white-space:nowrap}
h4.kjh{font-size:13.5px;margin:10px 0 2px}
/* HOSPKJ v3: 推移カード・履歴（KIJUNPG プロトタイプ v0.6 準拠） */
.kjtsum{margin:0 0 8px;font-size:13px}
.kjtsum b{background:linear-gradient(transparent 62%,#d9edf5 62%);font-weight:700}
.kjsm{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:13px;margin:8px 0}
.kjsm figure{margin:0;min-width:0;border:1px solid #dde5ec;border-radius:4px;padding:9px 10px 7px}
.kjsm figcaption{font-size:12px;display:flex;align-items:center;gap:6px;margin-bottom:6px}
.kjsm figcaption em{width:8px;height:8px;border-radius:2px;font-style:normal;flex:none}
.kjsv{width:100%;height:58px;display:block}
.kjrt{margin-left:auto;font-size:11px;border-radius:99px;padding:1px 8px;font-weight:700;white-space:nowrap}
.kjrt.up{background:#e6f3ee;color:#0d7a5f}
.kjrt.dn{background:#f7ecee;color:#9c5560}
.kjrt.eq{background:#eef3f7;color:#5b6b7c}
.kjsx{display:flex;justify-content:space-between;font-size:11px;color:#5b6b7c;margin-top:4px;gap:8px}
.kjsx b{color:#16202c;font-weight:700}
.kjsy{font-size:10.5px;color:#b45309;margin-top:3px}
.kjyr{border-top:1px solid #dde5ec;padding:11px 0}
.kjyr:first-child{border-top:0}
.kjyh{display:flex;align-items:baseline;gap:11px}
.kjyh b{font-size:16px;min-width:60px}
.kjyh s{text-decoration:none;font-size:11.5px;color:#5b6b7c}
.kjkt{font-size:10.5px;color:#b45309;border:1px solid #f0dcb8;background:#fff8ec;border-radius:2px;padding:0 5px}
.kjysum{font-size:13px;margin:4px 0 0 71px}
.kjyd{border:0;margin:5px 0 0 71px}
.kjyd summary{padding:0;font-size:12px;color:#0b7285;width:max-content;cursor:pointer}
.kjchips{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}
.kjchip{font-size:12px;border:1px solid #dde5ec;border-radius:3px;padding:2px 8px;background:#fbfdfe;
 max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kjchip em.kjc0{background:#0f6e8c}
.kjchip em.kjc1{background:#2f7d5e}
.kjchip em.kjc2{background:#8a5a2b}
.kjchip em.kjc3{background:#7a4a86}
.kjchip em.kjc4{background:#1f5f9e}
.kjchip em.kjc5{background:#a3563c}
.kjchip em.kjc6{background:#4a6b8a}
.kjchip em.kjc7{background:#5c7a2e}
.kjchip em.kjc8{background:#8c4f6b}
.kjchip em.kjc9{background:#3b6f74}
.kjchip em.kjc10{background:#6b5b95}
.kjchip em.kjc11{background:#9a6b1f}
.kjchip em.kjc12{background:#9aa7b4}
.kjchip em{font-style:normal;width:7px;height:7px;border-radius:2px;display:inline-block;margin-right:6px;vertical-align:1px}
@media(max-width:700px){.kjysum,.kjyd{margin-left:8px}}
/* HOSPKJ v2.1: 履歴の内訳 */
.kjhsum{font-size:13px;color:#40505f;margin:4px 0 6px}
.kjhx{margin:0}
.kjhx>summary{list-style:none;cursor:pointer}
.kjhx>summary::-webkit-details-marker{display:none}
.kjhx>summary .hb{margin:3px 0}
.kjhx>summary:hover .hbar{outline:1px solid #cfd6dd}
.kjhx[open]>summary .hv{font-weight:700}
.kjhl{list-style:none;margin:2px 0 8px;padding:0 0 0 12em;font-size:12.5px;border-left:2px solid #e6ecf1}
.kjhl li{padding:1px 0;display:flex;gap:8px}
.kjhc{color:#8895a3;font-size:11.5px;margin-left:auto;white-space:nowrap}
@media(max-width:700px){.kjhl{padding-left:8px}}

/* KJPOP v1 — 基準名タップのポップアップ（KIJUNPG proto v0.6 準拠・共有JSON遅延fetch）
   z-indexはプロトの40/41から200/201へ: 本番ヘッダーがfixed z100・pagetopがz50（2026-08-07実測） */
.kjtap{cursor:pointer;color:#0b6e8c;border-bottom:1px dotted #7fa8c0}
#kjbd{position:fixed;inset:0;background:rgba(22,32,44,.42);opacity:0;pointer-events:none;transition:opacity .18s;z-index:200}
#kjbd.on{opacity:1;pointer-events:auto}
#kjsh{position:fixed;z-index:201;background:#fff;box-shadow:0 -6px 28px rgba(22,32,44,.22);left:0;right:0;bottom:0;max-height:86vh;border-radius:14px 14px 0 0;transform:translateY(101%);transition:transform .22s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}
#kjsh.on{transform:none}
.kjshh{padding:16px 18px 12px;border-bottom:1px solid #dde5ec;position:relative}
.kjshh .kjgrip{width:36px;height:4px;border-radius:2px;background:#dde5ec;margin:0 auto 11px}
.kjshh h3{margin:0 40px 5px 0;font-size:16px;line-height:1.45}
.kjshk{font-size:11.5px;color:#5b6b7c;display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.kjshk b{background:#eef4f8;color:#0a5069;border-radius:3px;padding:1px 7px;font-size:11px}
#kjshx{position:absolute;top:12px;right:12px;border:0;background:#f2f6f9;border-radius:50%;width:32px;height:32px;cursor:pointer;color:#5b6b7c;font-size:16px;line-height:1}
#kjshx:hover{background:#e6eef4;color:#16202c}
.kjshb{padding:14px 18px 22px;overflow:auto}
.kjshb h4{margin:16px 0 7px;font-size:12px;color:#5b6b7c;letter-spacing:.04em}
.kjshb h4:first-child{margin-top:0}
.kjbig{font-size:15px;margin:0 0 6px}
.kjbig b{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}
.kjtrow{display:grid;grid-template-columns:96px 1fr 62px;gap:9px;align-items:center;font-size:12.5px;padding:3px 0}
.kjtrow .b{height:9px;background:#eef3f7;border-radius:2px;overflow:hidden;min-width:0}
.kjtrow .b i{display:block;height:100%}
.kjtrow s{text-decoration:none;text-align:right;color:#5b6b7c;font-variant-numeric:tabular-nums}
.kjco{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:4px 0;border-top:1px dotted #eef3f7}
.kjco span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kjco b{flex:none;font-variant-numeric:tabular-nums;color:#0a5069}
.kjco b s{text-decoration:none;color:#5b6b7c;font-weight:400}
.kjgen{border:1px dashed #c3d2de;border-radius:4px;padding:12px 14px;font-size:12.5px;color:#5b6b7c;background:#fbfdfe}
.kjgen b{color:#16202c}
.kjnote{font-size:11px;color:#8895a3;margin:6px 0 0}
.kjwn{font-style:normal;font-size:10.5px;color:#5b6b7c;margin-left:3px}
@media(min-width:720px){
 #kjsh{left:50%;right:auto;bottom:auto;top:50%;width:560px;max-height:82vh;border-radius:10px;transform:translate(-50%,-46%) scale(.98);opacity:0}
 #kjsh.on{transform:translate(-50%,-50%);opacity:1}
 .kjshh .kjgrip{display:none}
}
@media(prefers-reduced-motion:reduce){#kjsh,#kjbd{transition:none}}
/* HOSPPG v1.4 — 患者の流れ: PC=サンキー / スマホ=帯グラフ */
.snkmb{display:none}
@media(max-width:700px){.snkpc{display:none}.snkmb{display:block}}
/* HOSPPG v1.5 — 手術テーブルの比率バー・minitblスマホ最適化・kjtap当たり判定 */
.otbl .ob{display:inline-block;width:96px;height:10px;background:#eef3f7;border-radius:2px;vertical-align:-1px;margin-right:6px}
.otbl .ob i{display:block;height:100%;background:#a9c8e0;border-radius:2px}
.otbl .obc{white-space:nowrap}
span.kjtap:not(.kjwch):not(.kjchip){padding:5px 2px;margin:-5px -2px}
@media(max-width:700px){
 .minitbl{font-size:12px}
 .minitbl th,.minitbl td{padding:3px 6px}
 .minitbl th:first-child,.minitbl td:first-child{min-width:6.5em}
 .otbl .ob{width:52px}
}
