/* v199.2.2 — Kitchen printer modal: scrollport + true inner gutter.
   Loaded LAST after responsive.css. .kp-inner owns spacing independently
   of the generic .custmodal / #kp-body rules. */
#ovl-root #kpmodal {
  width: min(560px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  max-height: min(800px, calc(100dvh - 24px));
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  overflow: hidden;
}
#ovl-root #kpmodal > .cm-top {
  flex: 0 0 auto;
  padding: 18px 24px;
  box-sizing: border-box;
}
#ovl-root #kpmodal > #kp-body {
  display: block;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0 !important;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
#ovl-root #kpmodal #kp-body > .kp-inner {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 24px 26px 38px;
}
#ovl-root #kpmodal .kp-inner > .pr-section {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
}
#ovl-root #kpmodal .kp-inner .dm-label,
#ovl-root #kpmodal .kp-inner #kp-transport-fields {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}
#ovl-root #kpmodal .kp-inner input,
#ovl-root #kpmodal .kp-inner select,
#ovl-root #kpmodal .kp-inner button {
  max-width: 100%;
  box-sizing: border-box;
}
#ovl-root #kpmodal .kp-inner input,
#ovl-root #kpmodal .kp-inner select {
  width: 100%;
  min-width: 0;
}
#ovl-root #kpmodal .kp-inner .scan-row,
#ovl-root #kpmodal .kp-inner .bank-hint {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow-wrap: anywhere;
}
@media (max-width: 600px) {
  #ovl-root #kpmodal {
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
    max-height: calc(100dvh - 20px);
  }
  #ovl-root #kpmodal > .cm-top { padding: 16px 20px; }
  #ovl-root #kpmodal #kp-body > .kp-inner { padding: 22px 22px 34px; gap: 18px; }
}
@media (max-width: 380px) {
  #ovl-root #kpmodal #kp-body > .kp-inner { padding: 18px 16px 30px; }
}

/* v199.3: branch print target selector; preserve modal side/bottom gutters. */
#ovl-root #kpmodal .kp-agent-details[hidden] { display: none !important; }
#ovl-root #kpmodal .kp-agent-details { display:flex;flex-direction:column;gap:8px;width:100%;min-width:0;box-sizing:border-box; }
#ovl-root #kpmodal .kp-route-grid { display:grid;grid-template-columns:1fr;gap:10px;width:100%;min-width:0; }
#ovl-root #kpmodal .kp-route-card { display:flex;align-items:flex-start;gap:12px;border:1.5px solid #d6dce6;border-radius:14px;padding:14px;box-sizing:border-box;cursor:pointer;background:#f8fafc;max-width:100%; }
#ovl-root #kpmodal .kp-route-card.on { border-color:#ba502c;background:#fff6f0; }
#ovl-root #kpmodal .kp-route-card input { width:18px;flex:0 0 18px;margin-top:3px;accent-color:#ba502c; }
#ovl-root #kpmodal .kp-route-card span { display:flex;flex-direction:column;min-width:0;gap:4px; }
#ovl-root #kpmodal .kp-route-card small { color:#667085;line-height:1.4;font-weight:400;overflow-wrap:anywhere; }
#ovl-root #kpmodal .kp-route-section h4 { margin:0 0 6px; }
