.patient-card-main[hidden]{display:none!important}
.patient-card-main{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:15px 17px;background:#f7fafb;color:#123f54;overflow:hidden}
.patient-card-main__header{display:flex;align-items:center;justify-content:space-between;gap:18px}.patient-card-main__header h1{margin:0;font-size:23px}.patient-card-main__header p,.patient-card-main__panel-head p{margin:4px 0 0;color:#708692;font-size:12px}
.patient-card-main__hero-action,.patient-card-main__start{border:0;border-radius:10px;background:#087a89;color:#fff;font-weight:900;cursor:pointer}.patient-card-main__hero-action{padding:13px 22px;font-size:15px}.patient-card-main__start{padding:9px 16px}.patient-card-main__start:disabled{opacity:.45;cursor:not-allowed}
.patient-card-main__panel{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;padding:14px;border:1px solid #d6e4e9;border-radius:12px;background:#fff}
.patient-card-main__panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.patient-card-main__panel-head h2{margin:0;font-size:18px}.patient-card-main__secondary-actions{display:flex;gap:8px;flex-wrap:wrap}.patient-card-main__secondary-actions button{padding:8px 13px;border:1px solid #79aeb5;border-radius:8px;background:#f7fffd;color:#176c65;font-weight:850;cursor:pointer}
.patient-card-main__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.patient-card-main__tabs,.patient-card-main__toolbar-right{display:flex;align-items:center;gap:7px}.patient-card-main__tab{padding:8px 14px;border:1px solid #c8dbe2;border-radius:9px;background:#fff;color:#416576;font-weight:850;cursor:pointer}.patient-card-main__tab.is-active{border-color:#0c7287;background:#0c7287;color:#fff}
.patient-card-main__period{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800}.patient-card-main__period select{padding:7px;border:1px solid #c8dbe2;border-radius:8px;background:#fff;color:#244f61}
.patient-card-main__table-wrap{min-height:0;overflow:auto;border:1px solid #d7e5ea;border-radius:10px;background:#fff;scrollbar-gutter:stable}.patient-card-main table{width:100%;border-collapse:collapse}.patient-card-main th,.patient-card-main td{padding:9px 10px;border-bottom:1px solid #e6eef1;text-align:left;font-size:12px;vertical-align:middle}.patient-card-main th{position:sticky;top:0;z-index:1;background:#edf4f6;color:#4a6674;font-size:11px}.patient-card-main__check{width:34px;text-align:center!important}.patient-card-main__patient strong{display:block}.patient-card-main__patient span{display:block;color:#81939c;font-size:10px}.patient-card-main__status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:850}.patient-card-main__status.is-pending{background:#fff0d5;color:#956317}.patient-card-main__status.is-printed{background:#dff2e5;color:#237548}.patient-card-main__empty{text-align:center!important;color:#81939d;padding:24px!important}.patient-card-main__footer{display:flex;align-items:center;justify-content:space-between;color:#607985;font-size:11px}.patient-card-main__pager{display:flex;align-items:center;gap:7px}.patient-card-main__pager button{padding:6px 9px;border:1px solid #c8dbe2;border-radius:7px;background:#fff;color:#355f70;font-weight:800;cursor:pointer}

.patient-card-working[hidden]{display:none!important}.patient-card-working{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:15px 17px;background:#f7fafb;color:#123f54;overflow:hidden}
.patient-card-working__header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.patient-card-working__back{padding:8px 12px;border:0;border-radius:8px;background:#087a89;color:#fff;font-weight:850;cursor:pointer}.patient-card-working__heading h2{margin:0;font-size:21px}.patient-card-working__heading p{margin:3px 0 0;color:#748995;font-size:11px}.patient-card-working__count{padding:6px 10px;border:1px solid #cfe0e5;border-radius:999px;background:#fff;font-size:11px;font-weight:850}
.patient-card-working__layout{min-height:0;display:grid;grid-template-columns:minmax(250px,31%) minmax(0,1fr);gap:12px}.patient-card-working__list,.patient-card-working__detail{min-height:0;border:1px solid #d5e4e9;border-radius:12px;background:#fff}.patient-card-working__list{padding:12px;overflow:auto}.patient-card-working__list h3{margin:0;font-size:16px}.patient-card-working__list>p{margin:4px 0 10px;color:#7a909b;font-size:11px}.patient-card-working__item{width:100%;padding:10px;margin:0 0 7px;border:1px solid #d9e6ea;border-radius:9px;background:#fff;text-align:left;color:#244f61;cursor:pointer}.patient-card-working__item strong{display:block}.patient-card-working__item span{display:block;margin-top:3px;color:#82959e;font-size:10px}.patient-card-working__item.is-active{border-color:#62b7b1;background:#eaf8f4}
.patient-card-working__detail{padding:13px;overflow:auto}.patient-card-working__state{padding:30px;text-align:center;color:#84969f}.patient-card-working__section{padding:12px;border:1px solid #e0eaed;border-radius:10px;margin-bottom:10px}.patient-card-working__section h3{margin:0 0 9px;font-size:15px}.patient-card-working__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.patient-card-working__grid div{padding:8px;border-radius:8px;background:#f7fafb}.patient-card-working__grid small{display:block;color:#7d9099;font-size:10px}.patient-card-working__grid strong{display:block;margin-top:2px}.patient-card-working__leads{margin-top:10px}.patient-card-working__leads h4{margin:0 0 5px}.patient-card-working__lead{padding:7px 8px;border-top:1px solid #e5edef;font-size:11px}.patient-card-working__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#7d9099;font-size:10px}.patient-card-working__footer button{padding:8px 12px;border:0;border-radius:8px;background:#90c6cd;color:#fff;font-weight:850}.patient-card-working__footer button:disabled{opacity:.6}

/* DEV-5.02A | 15-row viewport + pager always visible */
.patient-card-main__panel{
  overflow:hidden;
}
.patient-card-main__table-wrap{
  min-height:0;
  max-height:calc(100vh - 355px);
  overflow:auto;
}
.patient-card-main__footer{
  flex:0 0 auto;
  position:relative;
  z-index:2;
  padding-top:2px;
  background:#fff;
}
@media (max-height:760px){
  .patient-card-main__table-wrap{
    max-height:calc(100vh - 325px);
  }
}

/* DEV-5.03 | Card-name manual confirmation gate */
.patient-card-working__name-card{grid-column:span 1}
.patient-card-working__name-row{min-height:31px;display:flex;align-items:center}
.patient-card-working__name-row input{width:100%;padding:7px 8px;border:1px solid #8ebcc5;border-radius:7px;background:#fff;color:#173f51;font:inherit;font-weight:800}
.patient-card-working__name-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.patient-card-working__name-actions button{padding:5px 8px;border:1px solid #b9d4da;border-radius:7px;background:#fff;color:#356374;font-size:10px;font-weight:850;cursor:pointer}
.patient-card-working__name-actions button.is-primary{border-color:#0b7b88;background:#0b7b88;color:#fff}
.patient-card-working__name-status{display:inline-block;margin-top:5px;font-size:10px;color:#9a6a18}
.patient-card-working__name-status.is-confirmed{color:#237548;font-weight:850}
.patient-card-working__item-status{display:inline-block;margin-top:4px;padding:2px 6px;border-radius:999px;background:#e7f5ec;color:#237548;font-size:9px;font-weight:850}

/* DEV-5.04 | Product Master template + MRI asset routing */
.patient-card-working__routing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.patient-card-working__routing-grid div{padding:8px;border-radius:8px;background:#f7fafb}.patient-card-working__routing-grid small{display:block;color:#7d9099;font-size:10px}.patient-card-working__routing-grid strong{display:block;margin-top:2px}
.patient-card-working__routing-message{margin-top:8px;padding:7px 9px;border-radius:8px;background:#fff0d5;color:#93631a;font-size:10px;font-weight:800}.patient-card-working__routing-message.is-ready{background:#e6f5eb;color:#237548}
.patient-card-working__asset-preview{display:flex;align-items:center;gap:10px;margin-top:9px}.patient-card-working__asset-preview img{display:block;object-fit:contain;border:1px solid #dce7ea;border-radius:7px;background:#fff}.patient-card-working__asset-preview #card-work-template-reference{width:180px;aspect-ratio:3/2}.patient-card-working__asset-preview #card-work-mri-reference{width:72px;height:72px}

/* DEV-5.05 | Medical Device ID preview */
.patient-card-preview[hidden]{display:none!important}
.patient-card-preview{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:15px 17px;background:#f7fafb;color:#123f54;overflow:hidden}
.patient-card-preview__header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}
.patient-card-preview__header h2{margin:0;font-size:21px}.patient-card-preview__header p{margin:3px 0 0;color:#748995;font-size:11px}
.patient-card-preview__back{padding:8px 12px;border:0;border-radius:8px;background:#087a89;color:#fff;font-weight:850;cursor:pointer}
.patient-card-preview__meta{padding:6px 10px;border:1px solid #cfe0e5;border-radius:999px;background:#fff;font-size:11px;font-weight:850}
.patient-card-preview__body{min-height:0;overflow:auto;padding:12px;border:1px solid #d5e4e9;border-radius:12px;background:#fff}
.patient-card-preview__canvas{position:relative;width:min(100%,1050px);margin:0 auto;container-type:inline-size}
.patient-card-preview__template{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 3px 16px rgba(28,64,80,.12)}
.patient-card-preview__field{position:absolute;z-index:2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(9px,1.55cqw,18px);font-weight:850;color:#0b2c65;line-height:1.15}
.patient-card-preview__patient{left:28.7%;top:25.8%;width:34.8%}
.patient-card-preview__hospital{left:28.7%;top:35.4%;width:34.8%}
.patient-card-preview__date{left:28.7%;top:45.4%;width:34.8%}
.patient-card-preview__gen-model{left:48.5%;top:61.9%;width:19.2%;text-align:center}
.patient-card-preview__gen-serial{left:70.0%;top:61.9%;width:23%;text-align:center}
.patient-card-preview__ra-model{left:48.5%;top:72.0%;width:19.2%;text-align:center}
.patient-card-preview__ra-serial{left:70.0%;top:72.0%;width:23%;text-align:center}
.patient-card-preview__rv-model{left:48.5%;top:82.1%;width:19.2%;text-align:center}
.patient-card-preview__rv-serial{left:70.0%;top:82.1%;width:23%;text-align:center}
.patient-card-preview__sicd-model{left:49%;top:76.5%;width:20%;text-align:center}
.patient-card-preview__sicd-serial{left:71%;top:76.5%;width:22%;text-align:center}
.patient-card-preview__mri{position:absolute;z-index:3;right:11.2%;top:28.5%;width:8.5%;height:auto;object-fit:contain;background:#fff;border-radius:5px}
.patient-card-preview__canvas.is-icd .patient-card-preview__field{color:#9c0909}
.patient-card-preview__canvas.is-sicd .patient-card-preview__field{color:#075f2e}
.patient-card-preview__canvas.is-sicd .patient-card-preview__patient{left:28%;top:23.2%;width:34%}
.patient-card-preview__canvas.is-sicd .patient-card-preview__hospital{left:28%;top:34.0%;width:34%}
.patient-card-preview__canvas.is-sicd .patient-card-preview__date{left:28%;top:45.0%;width:34%}
.patient-card-preview__canvas.is-sicd .patient-card-preview__gen-model{left:48%;top:65.8%;width:20%}
.patient-card-preview__canvas.is-sicd .patient-card-preview__gen-serial{left:70.5%;top:65.8%;width:23%}
.patient-card-preview__canvas.is-sicd .patient-card-preview__mri{right:28%;top:24%;width:8.2%}
.patient-card-preview__canvas.is-sicd .patient-card-preview__ra-model,
.patient-card-preview__canvas.is-sicd .patient-card-preview__ra-serial,
.patient-card-preview__canvas.is-sicd .patient-card-preview__rv-model,
.patient-card-preview__canvas.is-sicd .patient-card-preview__rv-serial{display:none}
.patient-card-preview__canvas:not(.is-sicd) .patient-card-preview__sicd-model,
.patient-card-preview__canvas:not(.is-sicd) .patient-card-preview__sicd-serial{display:none}
.patient-card-preview__summary{width:min(100%,1050px);margin:10px auto 0;display:flex;gap:12px;flex-wrap:wrap;align-items:center;color:#718893;font-size:10px}
.patient-card-preview__summary strong{color:#123f54;font-size:12px}

/* DEV-5.05B | Preview overlay position + typography */
.patient-card-preview__field{
  font-size:clamp(12px,1.95cqw,23px);
  font-weight:900;
  line-height:1.05;
  letter-spacing:.01em;
}

/* Header data: align visually with the printed guide lines. */
.patient-card-preview__patient{
  left:30.2%;
  top:25.15%;
  width:38.5%;
}
.patient-card-preview__hospital{
  left:30.2%;
  top:35.05%;
  width:39.5%;
}
.patient-card-preview__date{
  left:30.2%;
  top:45.05%;
  width:38.5%;
}

/* Device grid: larger and vertically centered within each row. */
.patient-card-preview__gen-model{
  left:48.3%;
  top:61.45%;
  width:20.2%;
  text-align:center;
  font-size:clamp(13px,2.05cqw,24px);
}
.patient-card-preview__gen-serial{
  left:69.5%;
  top:61.45%;
  width:23.6%;
  text-align:center;
  font-size:clamp(13px,2.05cqw,24px);
}
.patient-card-preview__ra-model{
  left:48.3%;
  top:71.65%;
  width:20.2%;
  text-align:center;
  font-size:clamp(13px,2.05cqw,24px);
}
.patient-card-preview__ra-serial{
  left:69.5%;
  top:71.65%;
  width:23.6%;
  text-align:center;
  font-size:clamp(13px,2.05cqw,24px);
}
.patient-card-preview__rv-model{
  left:48.3%;
  top:81.85%;
  width:20.2%;
  text-align:center;
  font-size:clamp(13px,2.05cqw,24px);
}
.patient-card-preview__rv-serial{
  left:69.5%;
  top:81.85%;
  width:23.6%;
  text-align:center;
  font-size:clamp(13px,2.05cqw,24px);
}

/* MRI icon lives under MRI Status and must not overlap the device-family icon. */
.patient-card-preview__mri{
  right:20.4%;
  top:28.1%;
  width:8.6%;
  background:transparent;
}

/* Long content gets one controlled step smaller instead of clipping. */
.patient-card-preview__canvas.is-long-patient .patient-card-preview__patient{
  font-size:clamp(11px,1.72cqw,20px);
}
.patient-card-preview__canvas.is-long-hospital .patient-card-preview__hospital{
  font-size:clamp(10px,1.48cqw,18px);
}

/* S-ICD uses the same larger typography with its own geometry. */
.patient-card-preview__canvas.is-sicd .patient-card-preview__patient{
  left:29.2%;
  top:23.25%;
  width:39%;
}
.patient-card-preview__canvas.is-sicd .patient-card-preview__hospital{
  left:29.2%;
  top:34.15%;
  width:39%;
}
.patient-card-preview__canvas.is-sicd .patient-card-preview__date{
  left:29.2%;
  top:45.05%;
  width:39%;
}
.patient-card-preview__canvas.is-sicd .patient-card-preview__gen-model{
  left:47.9%;
  top:65.55%;
  width:20.8%;
}
.patient-card-preview__canvas.is-sicd .patient-card-preview__gen-serial{
  left:70.0%;
  top:65.55%;
  width:23.2%;
}
.patient-card-preview__canvas.is-sicd .patient-card-preview__sicd-model{
  left:47.9%;
  top:76.55%;
  width:20.8%;
  text-align:center;
  font-size:clamp(13px,2.05cqw,24px);
}
.patient-card-preview__canvas.is-sicd .patient-card-preview__sicd-serial{
  left:70.0%;
  top:76.55%;
  width:23.2%;
  text-align:center;
  font-size:clamp(13px,2.05cqw,24px);
}
.patient-card-preview__canvas.is-sicd .patient-card-preview__mri{
  right:25.5%;
  top:23.8%;
  width:8.5%;
}

/* DEV-5.05B1 | Header text baseline refinement */
.patient-card-preview__patient{
  top:23.95%;
}
.patient-card-preview__hospital{
  top:33.85%;
  font-size:clamp(11px,1.72cqw,20px);
}
.patient-card-preview__date{
  top:43.85%;
}

/* Long hospital full names need a second controlled shrink tier. */
.patient-card-preview__canvas.is-long-hospital .patient-card-preview__hospital{
  font-size:clamp(10px,1.38cqw,17px);
}

/* Keep MRI mark visually centered beneath "MRI Status". */
.patient-card-preview__mri{
  right:20.7%;
  top:27.6%;
}

/* Matching S-ICD header baseline correction. */
.patient-card-preview__canvas.is-sicd .patient-card-preview__patient{
  top:22.15%;
}
.patient-card-preview__canvas.is-sicd .patient-card-preview__hospital{
  top:33.05%;
}
.patient-card-preview__canvas.is-sicd .patient-card-preview__date{
  top:43.95%;
}

/* DEV-5.05B2 | Patient/date size + MRI refinement */
.patient-card-preview__patient{
  font-size:clamp(15px,2.25cqw,27px);
}
.patient-card-preview__date{
  font-size:clamp(15px,2.25cqw,27px);
}

/* Preserve controlled shrink for unusually long patient names. */
.patient-card-preview__canvas.is-long-patient .patient-card-preview__patient{
  font-size:clamp(12px,1.85cqw,22px);
}

/* MRI: larger and shifted left/up to sit cleanly under MRI Status. */
.patient-card-preview__mri{
  right:19.0%;
  top:26.6%;
  width:10.2%;
}

/* S-ICD keeps its own geometry. */
.patient-card-preview__canvas.is-sicd .patient-card-preview__mri{
  right:24.3%;
  top:22.9%;
  width:10.0%;
}

/* DEV-5.05B3 | MRI center + enlarge */
.patient-card-preview__mri{
  right:17.0%;
  top:25.7%;
  width:12.0%;
}
.patient-card-preview__canvas.is-sicd .patient-card-preview__mri{
  right:22.0%;
  top:22.0%;
  width:11.5%;
}

/* DEV-5.05B4 | MRI final position refinement */
.patient-card-preview__mri{
  right:18.4%;
  top:28.0%;
  width:12.0%;
}

/* S-ICD keeps its own template geometry. */
.patient-card-preview__canvas.is-sicd .patient-card-preview__mri{
  right:23.4%;
  top:24.0%;
  width:11.5%;
}

/* DEV-5.05C | ICD dynamic text black + alignment */
/* Only dynamic overlay text becomes black. The red ICD template artwork stays unchanged. */
.patient-card-preview__canvas.is-icd .patient-card-preview__field{
  color:#111;
}

/* ICD header overlays align to the red guide lines. */
.patient-card-preview__canvas.is-icd .patient-card-preview__patient{
  left:31.0%;
  top:24.0%;
  width:37.0%;
}
.patient-card-preview__canvas.is-icd .patient-card-preview__hospital{
  left:31.0%;
  top:34.2%;
  width:37.5%;
  font-size:clamp(10px,1.55cqw,19px);
}
.patient-card-preview__canvas.is-icd .patient-card-preview__date{
  left:31.0%;
  top:44.4%;
  width:37.0%;
}

/* ICD device table overlay positions. */
.patient-card-preview__canvas.is-icd .patient-card-preview__gen-model{
  left:49.0%;
  top:62.0%;
  width:20.0%;
}
.patient-card-preview__canvas.is-icd .patient-card-preview__gen-serial{
  left:70.0%;
  top:62.0%;
  width:23.0%;
}
.patient-card-preview__canvas.is-icd .patient-card-preview__ra-model{
  left:49.0%;
  top:72.2%;
  width:20.0%;
}
.patient-card-preview__canvas.is-icd .patient-card-preview__ra-serial{
  left:70.0%;
  top:72.2%;
  width:23.0%;
}
.patient-card-preview__canvas.is-icd .patient-card-preview__rv-model{
  left:49.0%;
  top:82.4%;
  width:20.0%;
}
.patient-card-preview__canvas.is-icd .patient-card-preview__rv-serial{
  left:70.0%;
  top:82.4%;
  width:23.0%;
}

/* DEV-5.05C1 | ICD table row vertical centering */
/* Header patient/hospital/date and MRI remain unchanged. */
.patient-card-preview__canvas.is-icd .patient-card-preview__gen-model,
.patient-card-preview__canvas.is-icd .patient-card-preview__gen-serial{
  top:64.2%;
}
.patient-card-preview__canvas.is-icd .patient-card-preview__ra-model,
.patient-card-preview__canvas.is-icd .patient-card-preview__ra-serial{
  top:74.4%;
}
.patient-card-preview__canvas.is-icd .patient-card-preview__rv-model,
.patient-card-preview__canvas.is-icd .patient-card-preview__rv-serial{
  top:84.6%;
}

/* DEV-5.05C2 | ICD table exact row centers */
/* Only the six dynamic Model / Serial overlays are adjusted. */
.patient-card-preview__canvas.is-icd .patient-card-preview__gen-model,
.patient-card-preview__canvas.is-icd .patient-card-preview__gen-serial{
  top:66.9%;
  transform:translateY(-50%);
}
.patient-card-preview__canvas.is-icd .patient-card-preview__ra-model,
.patient-card-preview__canvas.is-icd .patient-card-preview__ra-serial{
  top:77.4%;
  transform:translateY(-50%);
}
.patient-card-preview__canvas.is-icd .patient-card-preview__rv-model,
.patient-card-preview__canvas.is-icd .patient-card-preview__rv-serial{
  top:87.9%;
  transform:translateY(-50%);
}

/* DEV-5.05C3 | ICD patient baseline micro-adjust */
.patient-card-preview__canvas.is-icd .patient-card-preview__patient{
  top:23.55%;
}

/* DEV-5.05C4 | ICD patient/model micro-adjust */
/* Only two values move. Everything else stays unchanged. */
.patient-card-preview__canvas.is-icd .patient-card-preview__patient{
  top:23.10%;
}
.patient-card-preview__canvas.is-icd .patient-card-preview__gen-model{
  top:67.45%;
}

/* DEV-5.05D | S-ICD black text + generator row alignment */
/* Only S-ICD dynamic overlay text changes color. Green template artwork remains untouched. */
.patient-card-preview__canvas.is-sicd .patient-card-preview__field{
  color:#111;
}

/* Move S-ICD Generator Model / Serial down into the first data-row center. */
.patient-card-preview__canvas.is-sicd .patient-card-preview__gen-model,
.patient-card-preview__canvas.is-sicd .patient-card-preview__gen-serial{
  top:68.4%;
  transform:translateY(-50%);
}

/* DEV-5.05D1 | S-ICD generator row further down */
/* Only S-ICD Generator Model / Serial move downward. */
.patient-card-preview__canvas.is-sicd .patient-card-preview__gen-model,
.patient-card-preview__canvas.is-sicd .patient-card-preview__gen-serial{
  top:70.2%;
  transform:translateY(-50%);
}

/* DEV-5.06 | Preview action bar + print isolation */
.patient-card-preview__summary{
  justify-content:space-between;
}
.patient-card-preview__summary-text{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}
.patient-card-preview__actions{
  margin-left:auto;
  display:flex;
  gap:8px;
  align-items:center;
}
.patient-card-preview__actions button{
  padding:8px 12px;
  border:1px solid #bdd5db;
  border-radius:8px;
  background:#fff;
  color:#245568;
  font-weight:850;
  cursor:pointer;
}
.patient-card-preview__actions button.is-primary{
  border-color:#0b7b88;
  background:#0b7b88;
  color:#fff;
}
.patient-card-preview__actions button:disabled{
  opacity:.55;
  cursor:not-allowed;
}

@media print{
  body *{
    visibility:hidden!important;
  }
  #patient-card-preview-canvas,
  #patient-card-preview-canvas *{
    visibility:visible!important;
  }
  #patient-card-preview-canvas{
    position:fixed!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    box-shadow:none!important;
  }
  @page{
    margin:0;
    size:landscape;
  }
}

/* DEV-5.07 | Reissue patient search */
.patient-card-reissue[hidden]{display:none!important}
.patient-card-reissue{position:fixed;inset:0;z-index:1200;display:grid;place-items:center}
.patient-card-reissue__backdrop{position:absolute;inset:0;background:rgba(20,45,56,.34)}
.patient-card-reissue__dialog{position:relative;z-index:1;width:min(720px,calc(100vw - 36px));max-height:min(720px,calc(100vh - 48px));display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:12px;padding:16px;border:1px solid #cfe0e5;border-radius:14px;background:#fff;box-shadow:0 18px 52px rgba(20,45,56,.22);color:#123f54}
.patient-card-reissue__dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.patient-card-reissue__dialog h2{margin:0;font-size:20px}.patient-card-reissue__dialog header p{margin:3px 0 0;color:#748995;font-size:11px}
#patient-card-reissue-close{width:34px;height:34px;border:0;border-radius:8px;background:#eef5f6;color:#456b79;font-size:23px;cursor:pointer}
.patient-card-reissue__search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.patient-card-reissue__search input{min-width:0;padding:10px 11px;border:1px solid #bad2d8;border-radius:9px;font:inherit}
.patient-card-reissue__search button,.patient-card-reissue__dialog footer button{padding:9px 13px;border:0;border-radius:8px;background:#087a89;color:#fff;font-weight:850;cursor:pointer}
.patient-card-reissue__dialog footer button:disabled{opacity:.48;cursor:not-allowed}
.patient-card-reissue__state{padding:8px 10px;border-radius:8px;background:#f5f9fa;color:#748995;font-size:11px}
.patient-card-reissue__results{min-height:0;overflow:auto;display:grid;gap:7px}
.patient-card-reissue__candidate{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid #d7e5e9;border-radius:9px;background:#fff;text-align:left;color:#234f61;cursor:pointer}
.patient-card-reissue__candidate strong{display:block;font-size:14px}.patient-card-reissue__candidate span{display:block;margin-top:3px;color:#7b9099;font-size:10px}
.patient-card-reissue__candidate em{font-style:normal;font-size:10px;font-weight:850;color:#557681}
.patient-card-reissue__candidate.is-selected{border-color:#4ea99f;background:#eaf8f4}
.patient-card-reissue__dialog footer{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#758b95;font-size:10px}

/* DEV-5.08 | Fixed patient card back */
.patient-card-back-page[hidden]{display:none!important}
.patient-card-back-page{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:14px 18px;background:#f7fafb;color:#123f54}
.patient-card-back-page__header{display:flex;align-items:center;gap:14px}
.patient-card-back-page__header button{padding:9px 12px;border:0;border-radius:8px;background:#087a89;color:#fff;font-weight:850;cursor:pointer}
.patient-card-back-page__header h2{margin:0;font-size:21px}.patient-card-back-page__header p{margin:3px 0 0;color:#748995;font-size:11px}
.patient-card-back-page__body{min-height:0;overflow:auto;padding:12px;border:1px solid #d5e4e9;border-radius:12px;background:#fff}
.patient-card-back-page__canvas{width:min(100%,1120px);margin:0 auto}
.patient-card-back-page__canvas img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 3px 16px rgba(28,64,80,.12)}
.patient-card-back-page__footer{width:min(100%,1120px);margin:10px auto 0;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#758b95;font-size:10px}
.patient-card-back-page__footer>div{display:flex;gap:8px}
.patient-card-back-page__footer button{padding:8px 12px;border:1px solid #bdd5db;border-radius:8px;background:#fff;color:#245568;font-weight:850;cursor:pointer}
.patient-card-back-page__footer button:nth-child(2){border-color:#0b7b88;background:#0b7b88;color:#fff}

@media print{
  body.patient-card-back-printing *{
    visibility:hidden!important;
  }
  body.patient-card-back-printing #patient-card-back-canvas,
  body.patient-card-back-printing #patient-card-back-canvas *{
    visibility:visible!important;
  }
  body.patient-card-back-printing #patient-card-back-canvas{
    position:fixed!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  body.patient-card-back-printing #patient-card-back-canvas img{
    width:100%!important;
    max-width:none!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
}

/* DEV-5.09 | Address Work: AUTO 30D + MANUAL 24H */
.patient-card-address[hidden],
.patient-card-address-preview[hidden]{display:none!important}
.patient-card-address,
.patient-card-address-preview{height:100%;min-height:0;padding:14px 18px;background:#f7fafb;color:#123f54}
.patient-card-address__header,
.patient-card-address-preview>header{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.patient-card-address__header button,
.patient-card-address-preview>header button{padding:9px 12px;border:0;border-radius:8px;background:#087a89;color:#fff;font-weight:850;cursor:pointer}
.patient-card-address__header h2,
.patient-card-address-preview h2{margin:0;font-size:21px}
.patient-card-address__header p,
.patient-card-address-preview header p{margin:3px 0 0;color:#748995;font-size:11px}
.patient-card-address__panel,
.patient-card-address-preview>main{padding:12px;border:1px solid #d5e4e9;border-radius:12px;background:#fff}
.patient-card-address__search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.patient-card-address__search input{min-width:0;padding:10px 11px;border:1px solid #bad2d8;border-radius:9px;font:inherit}
.patient-card-address__search button{padding:9px 14px;border:0;border-radius:8px;background:#087a89;color:#fff;font-weight:850;cursor:pointer}
.patient-card-address__search-results{margin-top:8px;padding:6px;border:1px solid #d7e5e9;border-radius:9px;background:#f9fbfc;display:grid;gap:5px}
.patient-card-address__search-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 10px;border:1px solid #dce8eb;border-radius:8px;background:#fff;color:#234f61;text-align:left;cursor:pointer}
.patient-card-address__search-item strong{display:block;font-size:13px}
.patient-card-address__search-item span{display:block;margin-top:2px;color:#82959d;font-size:10px}
.patient-card-address__search-item em{font-style:normal;font-size:10px;font-weight:850;color:#087a89}
.patient-card-address__search-empty{padding:10px;color:#84969e;font-size:11px}
.patient-card-address__notice{margin-top:9px;padding:9px 11px;border-radius:8px;background:#fff7df;color:#80621c;font-size:11px}
.patient-card-address__toolbar{display:flex;align-items:center;justify-content:space-between;margin:10px 0}
.patient-card-address__toolbar button,
.patient-card-address-preview footer button{padding:9px 13px;border:0;border-radius:8px;background:#087a89;color:#fff;font-weight:850;cursor:pointer}
.patient-card-address__toolbar button:disabled{opacity:.48;cursor:not-allowed}
.patient-card-address__table-wrap{overflow:auto;border:1px solid #d8e6ea;border-radius:9px}
.patient-card-address table{width:100%;border-collapse:collapse;font-size:11px}
.patient-card-address th,
.patient-card-address td{padding:9px 8px;border-bottom:1px solid #e2ecef;text-align:left;vertical-align:middle}
.patient-card-address th{background:#edf5f7;color:#355d6c}
.patient-card-address td strong{display:block;font-size:12px}
.patient-card-address td small{display:block;margin-top:2px;color:#81949c}
.patient-card-address select{padding:6px 7px;border:1px solid #c8dce1;border-radius:7px;background:#fff}
.patient-card-address__source{display:inline-block;padding:3px 7px;border-radius:999px;background:#e8f4f6;color:#2f6877;font-size:9px;font-weight:850;white-space:nowrap}
.patient-card-address__source.is-manual{background:#fff1dc;color:#92611e}
.patient-card-address__empty{text-align:center!important;color:#8a9da5;padding:28px!important}
.patient-card-address-labels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.patient-card-address-label{min-height:120px;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:18px 22px;border:1px dashed #8eabb5;border-radius:10px;background:#fff;color:#111}
.patient-card-address-label strong{font-size:20px}
.patient-card-address-label span{font-size:17px;line-height:1.55}
.patient-card-address-preview footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
@media print{
  body.patient-address-printing *{visibility:hidden!important}
  body.patient-address-printing #patient-card-address-labels,
  body.patient-address-printing #patient-card-address-labels *{visibility:visible!important}
  body.patient-address-printing #patient-card-address-labels{position:fixed!important;left:0!important;top:0!important;width:100%!important;display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:8mm!important}
  body.patient-address-printing .patient-card-address-label{break-inside:avoid;min-height:35mm;border:1px dashed #777!important}
}

/* DEV-5.09A | Product Source Flow */
.patient-source-flow[hidden]{display:none!important}
.patient-source-flow{height:100%;min-height:0;padding:14px 18px;background:#f7fafb;color:#123f54}
.patient-source-flow__header{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.patient-source-flow__header>button{padding:9px 12px;border:0;border-radius:8px;background:#087a89;color:#fff;font-weight:850;cursor:pointer}
.patient-source-flow__header h2{margin:0;font-size:21px}
.patient-source-flow__header p{margin:3px 0 0;color:#748995;font-size:11px}
.patient-source-flow__panel{padding:12px;border:1px solid #d5e4e9;border-radius:12px;background:#fff}
.patient-source-flow__topline{display:flex;align-items:center;justify-content:space-between;gap:12px}
.patient-source-flow__tabs{display:flex;gap:7px}
.patient-source-flow__tabs button{padding:8px 14px;border:1px solid #bed7dd;border-radius:8px;background:#fff;color:#245568;font-weight:850;cursor:pointer}
.patient-source-flow__tabs button.is-active{border-color:#087a89;background:#087a89;color:#fff}
.patient-source-flow__note{padding:7px 10px;border-radius:8px;background:#fff7df;color:#80621c;font-size:10px}
.patient-source-flow__filters{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:12px;padding:10px;border-radius:9px;background:#f5f9fa}
.patient-source-flow__filters label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:750;color:#557480}
.patient-source-flow__filters input,.patient-source-flow__filters select{padding:8px 9px;border:1px solid #c5dbe0;border-radius:8px;background:#fff;color:#183f51}
.patient-source-flow__filters button{padding:8px 14px;border:0;border-radius:8px;background:#087a89;color:#fff;font-weight:850;cursor:pointer}
.patient-source-flow__filters button.is-secondary{border:1px solid #c5dbe0;background:#fff;color:#315d6c}
.patient-source-flow__summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:11px 0}
.patient-source-flow__summary>div{padding:9px 11px;border:1px solid #dbe8eb;border-radius:9px;background:#fbfcfd}
.patient-source-flow__summary span{display:block;color:#82969e;font-size:9px}
.patient-source-flow__summary strong{display:block;margin-top:3px;font-size:14px;color:#123f54}
.patient-source-flow__table-wrap{overflow:auto;border:1px solid #d8e6ea;border-radius:9px}
.patient-source-flow table{width:100%;border-collapse:collapse;font-size:11px}
.patient-source-flow th,.patient-source-flow td{padding:9px 8px;border-bottom:1px solid #e2ecef;text-align:left;vertical-align:middle}
.patient-source-flow th{background:#edf5f7;color:#355d6c;white-space:nowrap}
.patient-source-flow td strong{display:block;font-size:12px}
.patient-source-flow td small{display:block;margin-top:2px;color:#81949c;font-size:9px}
.patient-source-flow__lead{min-width:180px;color:#486a77}
.patient-source-flow__badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#fff0d6;color:#956117;font-size:9px;font-weight:850;white-space:nowrap}
.patient-source-flow__empty{text-align:center!important;padding:36px 12px!important;color:#7f939b}
.patient-source-flow__empty strong{display:block;font-size:13px}
.patient-source-flow__empty span{display:block;margin-top:5px;font-size:10px}
.patient-source-flow__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;color:#82949c;font-size:9px}
@media(max-width:900px){
  .patient-source-flow__summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .patient-source-flow__topline{align-items:flex-start;flex-direction:column}
}
