/* SIMRS — komponen klinis */
.pt-banner{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;padding:12px 16px;border:1px solid var(--bs-border-color);border-radius:10px;background:#fff;margin-bottom:12px}
.pt-banner .pt-name{font-size:17px;font-weight:700}
.pt-banner .pt-meta{color:#5B6472;font-size:13px}
.pt-flags{display:flex;flex-wrap:wrap;gap:6px}
.flag{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}
.flag-allergy{background:#FDECEC;color:#B42318;border:1px solid #F5C2C0}
.flag-alert{background:#FFF4DB;color:#8A5A00;border:1px solid #F3DDA4}
.flag-ok{background:#E7F6EC;color:#1B7A3D}
.chart-tabs{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}
.note-card{border-left:3px solid #714B67}
.note-card.nurse{border-left-color:#016A6F}
.note-card.addendum{border-left-color:#8A5A00;margin-left:24px}
.soap-k{font-weight:700;color:#714B67;width:22px;display:inline-block}
.queue-tile{border-radius:12px;padding:16px;background:#fff;border:1px solid var(--bs-border-color);height:100%}
.queue-now{font-size:40px;font-weight:800;line-height:1;color:#714B67;white-space:nowrap;font-variant-numeric:tabular-nums}
.queue-tv body,.queue-tv{background:#1d1b22}
.queue-tv .queue-tile{background:#2a2730;color:#fff;border-color:#3a3640}
.queue-tv .queue-now{color:#ffd36e;font-size:64px}
.queue-next span{display:inline-block;min-width:44px;text-align:center;border-radius:8px;background:#F3EDF2;color:#714B67;font-weight:700;margin:2px;padding:4px 6px}
.queue-tv .queue-next span{background:#3a3640;color:#fff}
.kiosk{max-width:720px;margin:24px auto}
.kiosk .btn-lg{padding:18px 22px;font-size:19px}
.kiosk .practice-btn{text-align:left;width:100%}
.ticket{width:300px;margin:0 auto;text-align:center;font-family:Inter,system-ui,sans-serif}
.ticket .big{font-size:64px;font-weight:800;line-height:1}
.odonto{display:grid;grid-template-columns:repeat(16,minmax(30px,1fr));gap:4px}
.odonto.deci{grid-template-columns:repeat(10,minmax(30px,1fr));max-width:640px;margin:0 auto}
.tooth{border:1px solid var(--bs-border-color);border-radius:6px;text-align:center;font-size:12px;padding:4px 0;cursor:pointer;background:#fff;user-select:none}
.tooth input{display:none}
.tooth .c{display:block;font-size:10px;font-weight:700;text-transform:uppercase;min-height:14px}
.tooth:has(input:checked){outline:2px solid #714B67;background:#F3EDF2}
.t-car{background:#FDECEC}.t-mis{background:#EEF0F3;color:#999}.t-amf,.t-cof{background:#E6F4F5}.t-rrx,.t-nvt{background:#FFF4DB}.t-poc{background:#F3EDF2}
.stat-tile{border-radius:12px;padding:14px 16px;background:#fff;border:1px solid var(--bs-border-color);height:100%}
.stat-tile .v{font-size:26px;font-weight:800}.stat-tile .l{color:#5B6472;font-size:13px}
.spark{width:100%;height:120px}
.rx-label{width:9cm;border:1px dashed #999;padding:8px 10px;margin:0 auto 10px;font-size:12px;page-break-inside:avoid}
.rx-label .sig{font-size:15px;font-weight:700;margin:4px 0}
@media print{.no-print{display:none!important}.rx-label{border:1px solid #000}}
/* fase 2: tempat tidur */
.bed-cell{border-radius:8px;padding:6px 8px;border:1px solid var(--bs-border-color)}
.bed-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:middle;border:1px solid #ccc}
.b-kosong{background:#E7F6EC}.b-terisi{background:#F3EDF2}.b-kotor{background:#FFF4DB}.b-dipesan{background:#E6F4F5}.b-rusak{background:#EEF0F3;color:#777}
.roster td,.roster th{padding:2px!important;text-align:center;font-size:12px}
.roster input{width:28px;border:1px solid #ddd;border-radius:4px;text-align:center;text-transform:uppercase;font-size:12px;padding:2px 0}
.roster .wk{background:#FDECEC}
.sh-P{background:#E6F4F5}.sh-S{background:#FFF4DB}.sh-M{background:#F3EDF2}.sh-L,.sh-C{background:#EEF0F3}
