/* 薬局 経営指標カリキュレーター（.ksim の中だけに効く） */
.ksim{--k-ink:var(--ink,#23323a);--k-sub:var(--sub,#5b6b70);--k-line:var(--line,#dde8e4);--k-wash:var(--wash,#f4f9f7);--k-ai:var(--ai,#14806f);--k-ai-w:var(--ai-wash,#e4f4ef);--k-am:var(--amber,#8a4b00);--k-am-w:var(--amber-wash,#fff1db);color:var(--k-ink);font-size:15px;line-height:1.7}
.ksim *{box-sizing:border-box}
.ksim-lead{margin:0 0 16px;color:var(--k-sub);font-size:14.5px}
.ksim-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;align-items:start}
.ksim-form fieldset{border:1.5px solid var(--k-line);border-radius:18px;margin:0 0 14px;padding:12px 16px 14px;background:#fff;min-width:0}
.ksim-form legend{font-weight:700;font-size:15px;padding:0 6px}
.ksim-f{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;border-bottom:1px dashed var(--k-line);font-size:14px}
.ksim-f:last-child{border-bottom:0}
.ksim-f label{display:flex;flex-direction:column;line-height:1.5}
.ksim small{font-size:12px;color:var(--k-sub);font-weight:400}
.ksim-in{display:flex;align-items:center;gap:6px;flex:none}
.ksim-in input{width:100px;font:inherit;font-size:15px;text-align:right;padding:6px 8px;border:1.5px solid #c9d8d3;border-radius:10px;font-variant-numeric:tabular-nums}
.ksim-in input:focus{outline:0;border-color:var(--k-ai);box-shadow:0 0 0 3px var(--k-ai-w)}
.ksim-in em{font-style:normal;font-size:12.5px;color:var(--k-sub);min-width:2.6em}
.ksim-hint{margin:8px 0 0;font-size:12.5px;color:var(--k-sub)}
.ksim-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ksim-seg label{cursor:pointer}
.ksim-seg input{position:absolute;opacity:0;pointer-events:none}
.ksim-seg span{display:block;text-align:center;padding:9px 8px;border:1.5px solid var(--k-line);border-radius:14px;font-weight:700}
.ksim-seg input:checked+span{border-color:var(--k-ai);background:var(--k-ai-w);color:var(--k-ai)}
.ksim-seg input:focus-visible+span{box-shadow:0 0 0 3px var(--k-ai-w)}
.ksim-out{position:sticky;top:16px}
.ksim-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ksim-card{border-radius:16px;padding:12px 14px;background:var(--k-wash);display:flex;flex-direction:column}
.ksim-card span{font-size:12.5px;color:var(--k-sub);font-weight:700}
.ksim-card b{font-size:22px;font-variant-numeric:tabular-nums;line-height:1.4}
.ksim-card b em{font-style:normal;color:var(--k-sub)}
.ksim-card.is-warn{background:var(--k-am-w)}
.ksim-card.is-warn b{color:var(--k-am)}
.ksim-warn{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.ksim-warn li{background:var(--k-am-w);color:var(--k-am);border-radius:12px;padding:8px 12px;font-size:13.5px;line-height:1.6}
.ksim-break{margin-top:12px;font-size:13.5px}
.ksim-break summary{cursor:pointer;font-weight:700;color:var(--k-ai)}
.ksim-break ul{margin:8px 0 0;padding-left:1.2em;color:var(--k-sub);line-height:1.8}
.ksim-print{margin-top:12px;font:inherit;font-weight:700;font-size:14px;padding:8px 18px;border-radius:999px;border:1.5px solid var(--k-ai);background:#fff;color:var(--k-ai);cursor:pointer}
.ksim-foot{margin-top:20px;font-size:12.5px;color:var(--k-sub);line-height:1.7;border-top:1px solid var(--k-line);padding-top:12px}
@media (max-width:820px){.ksim-layout{grid-template-columns:1fr}.ksim-out{position:static}}
@media (max-width:420px){.ksim-grid{grid-template-columns:1fr}}
@media print{.ksim-print,.ksim-lead{display:none}.ksim-layout{display:block}.ksim-out{margin-top:12px}.ksim-break[open] summary{display:none}.ksim-card{border:1px solid #ccc}}
