.tjbpd-shell{--yellow:#FED100;--green:#009B3A;--ink:#111;--line:#dedede;max-width:1180px;margin:20px auto;padding:18px;color:var(--ink);font-family:Arial,sans-serif}.tjbpd-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.tjbpd-hero small{font-weight:900;text-transform:uppercase;color:var(--green);letter-spacing:.6px}.tjbpd-hero h2{font-size:clamp(28px,4vw,46px);margin:5px 0}.tjbpd-hero p{margin:0;max-width:760px}.tjbpd-kpi{text-align:center;min-width:120px}.tjbpd-kpi strong{font-size:34px;display:block}.tjbpd-kpi span{font-size:12px;font-weight:800}.tjbpd-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.tjbpd-tabs button{border:1px solid #111;background:#fff;border-radius:10px;padding:10px 15px;font-weight:900;cursor:pointer}.tjbpd-tabs button.is-active{background:#111;color:#fff}.tjbpd-panel{display:none}.tjbpd-panel.is-active{display:block}.tjbpd-card,.tjbpd-parcel,.tjbpd-form,.tjbpd-empty,.tjbpd-notice,.tjbpd-info,.tjbpd-alert{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin:14px 0}.tjbpd-notice{border-left:5px solid var(--green)}.tjbpd-info{border-left:5px solid #2364aa}.tjbpd-alert{border-left:5px solid #c62828}.tjbpd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.tjbpd-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.tjbpd-form label{display:flex;flex-direction:column;gap:6px;font-weight:850;margin-bottom:12px}.tjbpd-form input,.tjbpd-form select,.tjbpd-form textarea{width:100%;padding:10px;border:1px solid #bbb;border-radius:8px;background:#fff;color:#111}.tjbpd-form select[multiple]{min-height:120px}.tjbpd-inline{display:flex;gap:6px}.tjbpd-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important}.tjbpd-check input{width:auto!important}.tjbpd-primary,.tjbpd-secondary,.tjbpd-link-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:11px 15px;font-weight:950;cursor:pointer;text-decoration:none}.tjbpd-primary{background:var(--yellow);color:#111}.tjbpd-secondary{background:#111;color:#fff;margin-right:6px}.tjbpd-primary.small{padding:8px 11px}.tjbpd-parcels{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.tjbpd-parcel-head{display:flex;justify-content:space-between;gap:10px}.tjbpd-parcel h4{font-size:20px;margin:3px 0}.tjbpd-badge{background:#111;color:#fff;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;height:max-content}.tjbpd-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.tjbpd-link,.tjbpd-link-btn{border:1px solid #111;background:#fff;color:#111;padding:7px 9px;font-size:12px}.tjbpd-link.danger{border-color:#b00020;color:#b00020}.tjbpd-inline-form{display:flex;gap:5px;align-items:center;margin:0}.tjbpd-inline-form input[type=text],.tjbpd-inline-form select{max-width:160px;padding:7px;border:1px solid #bbb;border-radius:7px}.tjbpd-table-wrap{overflow:auto}.tjbpd-table{width:100%;border-collapse:collapse;background:#fff}.tjbpd-table th,.tjbpd-table td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}.tjbpd-dialog{max-width:720px;width:min(96vw,720px);border:0;border-radius:16px;padding:20px;box-shadow:0 24px 80px rgba(0,0,0,.35)}.tjbpd-dialog::backdrop{background:rgba(0,0,0,.65)}.tjbpd-dialog input{width:100%;padding:10px;margin:6px 0 12px}.tjbpd-sign canvas{width:100%;height:220px;border:2px solid #111;border-radius:8px;touch-action:none;background:#fff}.tjbpd-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.tjbpd-track{margin-top:15px}.tjbpd-diag{list-style:none;padding:0}.tjbpd-diag li{padding:7px 0;border-bottom:1px solid #eee}.tjbpd-operator-overlay{position:fixed;inset:0;z-index:99990;background:#f5f5f5;overflow:auto}.tjbpd-operator-inner{min-height:100vh;padding-top:10px}.tjbpd-admin .tjbpd-grid{margin-top:20px}@media(max-width:640px){.tjbpd-shell{padding:10px}.tjbpd-hero{align-items:flex-start;flex-direction:column}.tjbpd-form-grid{grid-template-columns:1fr}.tjbpd-parcels{grid-template-columns:1fr}.tjbpd-inline{flex-direction:column}.tjbpd-actions{align-items:stretch}.tjbpd-inline-form{width:100%}.tjbpd-inline-form button{flex:1}}

.tjbpd-currency-matrix{display:grid;gap:8px;margin:10px 0 18px}.tjbpd-currency-row{display:grid;grid-template-columns:70px repeat(3,minmax(160px,1fr));gap:10px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fafafa}.tjbpd-currency-row>strong{align-self:center;font-size:18px}.tjbpd-currency-row label{margin:0}.tjbpd-currency-row input{margin:0}@media(max-width:760px){.tjbpd-currency-row{grid-template-columns:1fr}.tjbpd-currency-row>strong{padding-bottom:4px}}
.tjbpd-grace{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#fff8d6;border:1px solid #d8b100;font-size:12px;font-weight:900}
.tjbpd-protection{padding:8px 10px;border-radius:9px;background:#f7f7f7;border-left:4px solid #111;font-size:12px}
.tjbpd-native-drawer .tjbpd-shell{max-width:none;margin:0;padding:0}.tjbpd-native-drawer .tjbpd-hero{border-radius:14px}.tjbpd-driver-native-panel{margin-top:18px}.tjbpd-driver-native-panel .tjbpd-shell{max-width:none;margin:0;padding:0}.tjbpd-native-nav .tjb-nav-icon{flex:0 0 auto}.tjbpd-native-drawer .tjbpd-shell h2,.tjbpd-native-drawer .tjbpd-shell h3,.tjbpd-native-drawer .tjbpd-shell h4{color:inherit}

/* v0.1.3 — pricing discounts + native dark-mode contrast */
.tjbpd-currency-row{grid-template-columns:70px repeat(2,minmax(180px,1fr))}
.tjbpd-muted{opacity:.78;margin:.25rem 0 1rem}
.tjbpd-discount-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;background:#e8f6ec;border:1px solid #79b989;color:#075d22;font-size:11px;font-weight:900;white-space:nowrap}
.tjbpd-discount-note{font-size:12px;font-weight:800;color:#087d2d}
.tjbpd-form input[data-tjbpd-price].has-discount{font-weight:900;border-color:#009B3A}
.tjbpd-admin-fees{display:grid;gap:10px;margin:12px 0 16px}
.tjbpd-admin-fee-row{display:grid;grid-template-columns:70px repeat(2,minmax(190px,1fr));gap:10px;align-items:end;padding:12px;border:1px solid #dcdcde;border-radius:10px;background:#fff}
.tjbpd-admin-fee-row>strong{align-self:center;font-size:18px}
.tjbpd-admin-fee-row label{display:flex;flex-direction:column;gap:5px;font-weight:700}

.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-shell,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-shell{--ink:#f7f7f7;--line:#46505d;color:#f7f7f7}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-hero,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-card,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-parcel,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-form,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-empty,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-notice,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-info,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-alert,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-table,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-hero,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-card,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-parcel,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-form,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-empty,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-notice,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-info,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-alert,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-table{background:#18202a;color:#f7f7f7;border-color:#46505d}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-currency-row,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-protection,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-currency-row,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-protection{background:#202a36;color:#f7f7f7;border-color:#46505d}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-form input,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-form select,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-form textarea,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-inline-form input,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-inline-form select,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-form input,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-form select,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-form textarea,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-inline-form input,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-inline-form select{background:#0f151d;color:#fff;border-color:#667383}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-form input::placeholder,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-form textarea::placeholder,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-form input::placeholder,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-form textarea::placeholder{color:#aeb8c4}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-tabs button,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-link,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-link-btn,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-tabs button,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-link,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-link-btn{background:#202a36;color:#fff;border-color:#7b8794}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-tabs button.is-active,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-tabs button.is-active{background:#FED100;color:#111;border-color:#FED100}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-table th,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-table td,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-table th,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-table td{border-color:#46505d;color:#f7f7f7}
.tjb-content-theme-dark .tjbpd-native-drawer details>summary,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer details>summary{color:#fff}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-discount-note,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-discount-note{color:#75df93}

@media(max-width:760px){.tjbpd-admin-fee-row{grid-template-columns:1fr}.tjbpd-currency-row{grid-template-columns:1fr}}


/* v0.1.6 — customer parcel history + operational AJAX */
.tjbpd-customer-history{margin-top:24px;padding-top:8px;border-top:2px solid var(--line)}
.tjbpd-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:8px 0 12px}
.tjbpd-section-head h3{margin:0}
.tjbpd-customer-record-actions{margin:14px 0}
.tjbpd-customer-parcel .tjbpd-primary.small{text-decoration:none}
.tjbpd-action-error{flex-basis:100%;width:100%}
@media(max-width:640px){.tjbpd-section-head{align-items:flex-start;flex-direction:column}.tjbpd-customer-record-actions>*{flex:1 1 auto}}

.tjbpd-status-help{margin:.45rem 0;color:#475569;font-size:.92rem;line-height:1.45}.tjbpd-status-explain{margin:0 0 14px}

/* v0.1.7 — editable native route/bus rules + route-stop selectors */
.tjbpd-rule-delete-form{display:inline-flex;margin:0}
.tjbpd-link-btn.danger{border-color:#b00020;color:#b00020}
.tjbpd-form select:disabled{opacity:.72;cursor:not-allowed;background:#f3f4f6}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-form select:disabled,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-form select:disabled{background:#18202a;color:#cbd5e1;border-color:#46505d;opacity:.85}

/* v0.1.8 — parcel capacity, Search Panel, audit notes, confirmations and undo */
.tjb-side-nav .tjb-side-link.tjbpd-native-nav,
.tjb-side-nav .tjb-side-link.tjbpd-native-nav:hover,
.tjb-side-nav .tjb-side-link.tjbpd-native-nav:focus,
.tjb-side-nav .tjb-side-link.tjbpd-native-nav.active,
.tjb-side-nav .tjb-side-link.tjbpd-native-nav[aria-current="page"]{
  background:#fff!important;
  color:#c40000!important;
  border-color:#fff!important;
  box-shadow:0 1px 0 rgba(0,0,0,.08)!important;
}
.tjb-side-nav .tjb-side-link.tjbpd-native-nav .tjb-nav-icon{color:#c40000!important;stroke:currentColor!important}
.tjbpd-vendor-audit{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.tjbpd-audit-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.tjbpd-audit-head strong{display:block;font-size:14px}.tjbpd-audit-head small{display:block;margin-top:3px;color:#64748b}
.tjbpd-note-history{display:grid;gap:7px;margin:8px 0 12px}.tjbpd-note-history article{padding:9px 10px;border-left:3px solid #64748b;background:#fff;border-radius:7px}.tjbpd-note-history article small{color:#64748b}.tjbpd-note-history article p{margin:4px 0 0;white-space:normal}
.tjbpd-vendor-audit form{display:grid;gap:8px;margin-top:10px}.tjbpd-vendor-audit label{font-weight:800}.tjbpd-vendor-audit textarea{width:100%;margin-top:5px;padding:9px;border:1px solid #b9c1ca;border-radius:8px;resize:vertical}
.tjbpd-undo-collapsible{margin-top:12px;border:1px solid #d6a900;border-radius:10px;background:#fffaf0;overflow:hidden}.tjbpd-undo-collapsible-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px}.tjbpd-undo-collapsible-head strong{display:block;color:#7a5200}.tjbpd-undo-collapsible-head small{display:block;margin-top:3px;color:#6b7280}.tjbpd-undo-content{border-top:1px solid #ead59a;padding:0 12px 12px}.tjbpd-undo-content[hidden]{display:none!important}.tjbpd-undo-actions{display:flex;gap:8px;flex-wrap:wrap}.tjbpd-undo-meta{margin:0;font-size:12px}.tjbpd-required{color:#b00020}.tjbpd-finance-warning{padding:10px 12px;border:1px solid #e0a400;border-left:5px solid #e0a400;border-radius:8px;background:#fff7d6;color:#4f3900;font-size:12px;line-height:1.45}
.tjbpd-search-focus{outline:4px solid #FED100!important;outline-offset:4px;box-shadow:0 0 0 8px rgba(254,209,0,.22)!important;transition:outline-color .25s ease,box-shadow .25s ease}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-vendor-audit,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-vendor-audit{background:#202a36;color:#f7f7f7;border-color:#46505d}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-note-history article,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-note-history article{background:#18202a;color:#f7f7f7;border-left-color:#94a3b8}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-audit-head small,
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-note-history article small,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-audit-head small,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-note-history article small{color:#cbd5e1}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-vendor-audit textarea,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-vendor-audit textarea{background:#0f151d;color:#fff;border-color:#667383}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-finance-warning,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-finance-warning{background:#4b3a09;color:#fff3bf;border-color:#d6a900}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-undo-collapsible,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-undo-collapsible{background:#2d260f;border-color:#d6a900;color:#fff}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-undo-collapsible-head small,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-undo-collapsible-head small{color:#d7dce3}
@media(max-width:640px){.tjbpd-audit-head{flex-direction:column}.tjbpd-vendor-audit .tjbpd-link-btn{width:100%}}

/* v0.1.9 — shared delivery workflow milestone rail */
.tjbpd-progress-wrap{
  margin:12px 0 14px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.tjbpd-progress{
  display:grid;
  grid-template-columns:repeat(7,minmax(78px,1fr));
  min-width:650px;
  position:relative;
  align-items:start;
  padding:3px 2px 1px;
}
.tjbpd-progress:before{
  content:"";
  position:absolute;
  left:7.2%;
  right:7.2%;
  top:22px;
  height:3px;
  border-radius:999px;
  background:#d8dee7;
}
.tjbpd-progress-step{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  min-width:0;
  text-align:center;
  color:#8792a2;
  font-size:10px;
  font-weight:900;
  line-height:1.15;
  letter-spacing:.01em;
}
.tjbpd-progress-step:not(:last-child):after{
  content:"";
  position:absolute;
  top:19px;
  left:calc(50% + 20px);
  width:calc(100% - 40px);
  height:3px;
  border-radius:999px;
  background:#d8dee7;
  z-index:-1;
}
.tjbpd-progress-step.is-reached:not(.is-current):not(:last-child):after{background:#FED100}
.tjbpd-progress-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:2px solid #cbd3df;
  background:#eef1f5;
  color:#8792a2;
  box-shadow:0 0 0 4px #fff;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.tjbpd-progress-icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tjbpd-progress-label{white-space:nowrap}
.tjbpd-progress-step.is-reached{color:#111827}
.tjbpd-progress-step.is-reached .tjbpd-progress-icon{
  background:#FED100;
  border-color:#e6bb00;
  color:#111;
  box-shadow:0 0 0 4px #fff,0 3px 10px rgba(0,0,0,.13);
}
.tjbpd-progress-step.is-current .tjbpd-progress-icon{
  background:#c40000;
  border-color:#c40000;
  color:#fff;
  box-shadow:0 0 0 4px #fff,0 0 0 6px rgba(196,0,0,.16),0 4px 12px rgba(0,0,0,.18);
  transform:scale(1.06);
}
.tjbpd-progress-step.is-current .tjbpd-progress-label{color:#c40000}
.tjbpd-progress[data-tjbpd-progress-status="collected"] .tjbpd-progress-step.is-current .tjbpd-progress-icon{
  background:#12843b;
  border-color:#12843b;
}
.tjbpd-progress[data-tjbpd-progress-status="collected"] .tjbpd-progress-step.is-current .tjbpd-progress-label{color:#12843b}

.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-progress:before,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-progress:before{background:#46505d}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-progress-step,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-progress-step{color:#94a3b8}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-progress-step:not(:last-child):after,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-progress-step:not(:last-child):after{background:#46505d}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-progress-step.is-reached:not(.is-current):not(:last-child):after,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-progress-step.is-reached:not(.is-current):not(:last-child):after{background:#FED100}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-progress-icon,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-progress-icon{background:#263240;border-color:#5d6a78;color:#aeb8c4;box-shadow:0 0 0 4px #18202a}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-progress-step.is-reached,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-progress-step.is-reached{color:#f8fafc}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-progress-step.is-reached .tjbpd-progress-icon,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-progress-step.is-reached .tjbpd-progress-icon{background:#FED100;border-color:#FED100;color:#111;box-shadow:0 0 0 4px #18202a,0 3px 10px rgba(0,0,0,.32)}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-progress-step.is-current .tjbpd-progress-icon,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-progress-step.is-current .tjbpd-progress-icon{background:#ff3b30;border-color:#ff3b30;color:#fff;box-shadow:0 0 0 4px #18202a,0 0 0 6px rgba(255,59,48,.2)}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-progress-step.is-current .tjbpd-progress-label,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-progress-step.is-current .tjbpd-progress-label{color:#ff7068}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-progress[data-tjbpd-progress-status="collected"] .tjbpd-progress-step.is-current .tjbpd-progress-icon,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-progress[data-tjbpd-progress-status="collected"] .tjbpd-progress-step.is-current .tjbpd-progress-icon{background:#25a75a;border-color:#25a75a}
.tjb-content-theme-dark .tjbpd-native-drawer .tjbpd-progress[data-tjbpd-progress-status="collected"] .tjbpd-progress-step.is-current .tjbpd-progress-label,
.tjb-operator-app[data-content-theme="dark"] .tjbpd-native-drawer .tjbpd-progress[data-tjbpd-progress-status="collected"] .tjbpd-progress-step.is-current .tjbpd-progress-label{color:#65d28d}

@media(max-width:640px){
  .tjbpd-progress-wrap{margin-left:-2px;margin-right:-2px;padding-bottom:5px}
  .tjbpd-progress{grid-template-columns:repeat(7,82px);min-width:574px}
  .tjbpd-progress:before{left:41px;right:41px;top:20px}
  .tjbpd-progress-icon{width:36px;height:36px;box-shadow:0 0 0 3px #fff}
  .tjbpd-progress-step.is-reached .tjbpd-progress-icon{box-shadow:0 0 0 3px #fff,0 3px 8px rgba(0,0,0,.12)}
  .tjbpd-progress-step.is-current .tjbpd-progress-icon{box-shadow:0 0 0 3px #fff,0 0 0 5px rgba(196,0,0,.14)}
  .tjbpd-progress-icon svg{width:19px;height:19px}
  .tjbpd-progress-label{font-size:9px}
}


/* v0.1.10 — mobile Operator Center drawer ownership + portrait overflow */
.tjbpd-native-drawer{min-width:0;max-width:100%;box-sizing:border-box}
.tjbpd-native-drawer .tjbpd-shell,
.tjbpd-native-drawer .tjbpd-panel,
.tjbpd-native-drawer .tjbpd-card,
.tjbpd-native-drawer .tjbpd-parcel,
.tjbpd-native-drawer .tjbpd-form,
.tjbpd-native-drawer .tjbpd-info,
.tjbpd-native-drawer .tjbpd-notice,
.tjbpd-native-drawer .tjbpd-alert{min-width:0;max-width:100%;box-sizing:border-box}
.tjbpd-native-drawer .tjbpd-table-wrap,
.tjbpd-native-drawer .tjbpd-progress-wrap{max-width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y}

@media(max-width:760px){
  .tjb-operator-main .tjbpd-native-drawer,
  [data-tjb-operator-main] .tjbpd-native-drawer{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    touch-action:pan-x pan-y;
  }
  .tjbpd-native-drawer .tjbpd-shell{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .tjbpd-native-drawer .tjbpd-hero,
  .tjbpd-native-drawer .tjbpd-section-head,
  .tjbpd-native-drawer .tjbpd-parcel-head{min-width:0;max-width:100%}
  .tjbpd-native-drawer .tjbpd-grid,
  .tjbpd-native-drawer .tjbpd-form-grid,
  .tjbpd-native-drawer .tjbpd-parcels{grid-template-columns:minmax(0,1fr)!important;min-width:0}
  .tjbpd-native-drawer .tjbpd-table-wrap{
    width:100%;
    overflow-x:auto!important;
    overflow-y:hidden;
    padding-bottom:6px;
  }
  .tjbpd-native-drawer .tjbpd-table{min-width:720px;width:100%;max-width:none}
  .tjbpd-native-drawer .tjbpd-progress-wrap{
    width:100%;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding-bottom:8px;
  }
  .tjbpd-native-drawer input,
  .tjbpd-native-drawer select,
  .tjbpd-native-drawer textarea,
  .tjbpd-native-drawer button{max-width:100%;box-sizing:border-box}
  .tjbpd-native-drawer .tjbpd-inline-form{min-width:0;max-width:100%;flex-wrap:wrap}
  .tjbpd-native-drawer .tjbpd-inline-form input[type=text],
  .tjbpd-native-drawer .tjbpd-inline-form select{max-width:100%;flex:1 1 160px}
}


/* v0.1.11 — first-class JAMBus native panel + portrait touch scrolling */
@media(max-width:860px){
  .tjbpd-native-drawer{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    touch-action:auto!important;
  }
  .tjbpd-native-drawer .tjbpd-shell,
  .tjbpd-native-drawer .tjbpd-panel,
  .tjbpd-native-drawer .tjbpd-card,
  .tjbpd-native-drawer .tjbpd-parcel,
  .tjbpd-native-drawer .tjbpd-form,
  .tjbpd-native-drawer .tjbpd-info,
  .tjbpd-native-drawer .tjbpd-alert,
  .tjbpd-native-drawer .tjbpd-notice{width:100%!important;min-width:0!important;max-width:100%!important}
  .tjbpd-native-drawer .tjbpd-table-wrap,
  .tjbpd-native-drawer .tjbpd-progress-wrap{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain;
    touch-action:pan-x!important;
    scrollbar-width:thin;
  }
  .tjbpd-native-drawer .tjbpd-table{width:max-content!important;min-width:720px!important;max-width:none!important}
  .tjbpd-native-drawer .tjbpd-progress{width:max-content!important;min-width:574px!important;max-width:none!important}
  .tjbpd-native-drawer .tjbpd-actions{max-width:100%;min-width:0}
}


/* v0.1.12 — Driver / Crew / Conductor console portrait containment + touch scrolling.
 * The driver console uses .tjbpd-driver-native-panel rather than the Operator
 * Center's .tjbpd-native-drawer, so it needs its own min-width/overflow chain.
 */
.tjbpd-driver-native-panel,
.tjbpd-driver-native-panel .tjbpd-shell,
.tjbpd-driver-native-panel .tjbpd-parcels,
.tjbpd-driver-native-panel .tjbpd-parcel,
.tjbpd-driver-native-panel .tjbpd-card,
.tjbpd-driver-native-panel .tjbpd-form,
.tjbpd-driver-native-panel .tjbpd-info,
.tjbpd-driver-native-panel .tjbpd-notice,
.tjbpd-driver-native-panel .tjbpd-alert{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.tjbpd-driver-native-panel .tjbpd-progress-wrap,
.tjbpd-driver-native-panel .tjbpd-table-wrap{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x;
  scrollbar-width:thin;
}

@media(max-width:860px){
  body.tjb-page-driver .tjbpd-driver-native-panel{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
    touch-action:auto!important;
  }
  body.tjb-page-driver .tjbpd-driver-native-panel > .tjbpd-shell{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  body.tjb-page-driver .tjbpd-driver-native-panel .tjbpd-parcels{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  body.tjb-page-driver .tjbpd-driver-native-panel .tjbpd-parcel,
  body.tjb-page-driver .tjbpd-driver-native-panel .tjbpd-card,
  body.tjb-page-driver .tjbpd-driver-native-panel .tjbpd-form,
  body.tjb-page-driver .tjbpd-driver-native-panel .tjbpd-info,
  body.tjb-page-driver .tjbpd-driver-native-panel .tjbpd-notice,
  body.tjb-page-driver .tjbpd-driver-native-panel .tjbpd-alert{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  body.tjb-page-driver .tjbpd-driver-native-panel .tjbpd-progress-wrap{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:scroll!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x!important;
    padding:2px 0 9px!important;
  }
  body.tjb-page-driver .tjbpd-driver-native-panel .tjbpd-progress{
    width:max-content!important;
    min-width:574px!important;
    max-width:none!important;
  }
  body.tjb-page-driver .tjbpd-driver-native-panel .tjbpd-table-wrap{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:scroll!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x!important;
    padding-bottom:8px;
  }
  body.tjb-page-driver .tjbpd-driver-native-panel .tjbpd-table{
    width:max-content!important;
    min-width:720px!important;
    max-width:none!important;
  }
  body.tjb-page-driver .tjbpd-driver-native-panel .tjbpd-actions{
    width:100%;
    min-width:0;
    max-width:100%;
    flex-wrap:wrap;
  }
  body.tjb-page-driver .tjbpd-driver-native-panel .tjbpd-inline-form{
    min-width:0;
    max-width:100%;
    flex-wrap:wrap;
  }
  body.tjb-page-driver .tjbpd-driver-native-panel input,
  body.tjb-page-driver .tjbpd-driver-native-panel select,
  body.tjb-page-driver .tjbpd-driver-native-panel textarea,
  body.tjb-page-driver .tjbpd-driver-native-panel button,
  body.tjb-page-driver .tjbpd-driver-native-panel a{
    box-sizing:border-box;
    max-width:100%;
  }
}


/* v0.1.13 — Customer PWA parcel surfaces portrait containment + milestone swipe.
 * /send-a-parcel/, /my-parcels/ and /parcel-tracking/ use the public/customer
 * shortcode wrapper rather than the native Operator or Driver panel wrappers.
 * Keep the page/card within the portrait viewport and let only intentionally
 * wide controls (progress rail / tables) own horizontal touch scrolling.
 */
.tjbpd-customer-surface,
.tjbpd-customer-surface .tjbpd-customer-history,
.tjbpd-customer-surface .tjbpd-parcels,
.tjbpd-customer-surface .tjbpd-customer-parcel,
.tjbpd-customer-surface .tjbpd-parcel,
.tjbpd-customer-surface .tjbpd-card,
.tjbpd-customer-surface .tjbpd-form,
.tjbpd-customer-surface .tjbpd-hero,
.tjbpd-customer-surface .tjbpd-info,
.tjbpd-customer-surface .tjbpd-notice,
.tjbpd-customer-surface .tjbpd-alert{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.tjbpd-customer-surface .tjbpd-progress-wrap,
.tjbpd-customer-surface .tjbpd-table-wrap{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x;
  scrollbar-width:thin;
}

@media(max-width:860px){
  .tjbpd-customer-surface{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    touch-action:auto!important;
  }
  .tjbpd-customer-surface .tjbpd-customer-history,
  .tjbpd-customer-surface .tjbpd-parcels{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .tjbpd-customer-surface .tjbpd-parcels{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .tjbpd-customer-surface .tjbpd-customer-parcel,
  .tjbpd-customer-surface .tjbpd-parcel,
  .tjbpd-customer-surface .tjbpd-card,
  .tjbpd-customer-surface .tjbpd-form,
  .tjbpd-customer-surface .tjbpd-hero,
  .tjbpd-customer-surface .tjbpd-info,
  .tjbpd-customer-surface .tjbpd-notice,
  .tjbpd-customer-surface .tjbpd-alert{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .tjbpd-customer-surface .tjbpd-progress-wrap{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:scroll!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x!important;
    padding:2px 0 9px!important;
  }
  .tjbpd-customer-surface .tjbpd-progress{
    width:max-content!important;
    min-width:574px!important;
    max-width:none!important;
  }
  .tjbpd-customer-surface .tjbpd-table-wrap{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:scroll!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x!important;
    padding-bottom:8px;
  }
  .tjbpd-customer-surface .tjbpd-table{
    width:max-content!important;
    min-width:720px!important;
    max-width:none!important;
  }
  .tjbpd-customer-surface .tjbpd-actions,
  .tjbpd-customer-surface .tjbpd-customer-record-actions{
    width:100%;
    min-width:0;
    max-width:100%;
    flex-wrap:wrap;
  }
  .tjbpd-customer-surface .tjbpd-grid,
  .tjbpd-customer-surface .tjbpd-form-grid{
    grid-template-columns:minmax(0,1fr)!important;
    min-width:0!important;
  }
  .tjbpd-customer-surface input,
  .tjbpd-customer-surface select,
  .tjbpd-customer-surface textarea,
  .tjbpd-customer-surface button,
  .tjbpd-customer-surface a{
    box-sizing:border-box;
    max-width:100%;
  }
}

/* v0.1.14 — permanent parcel archive, proof-of-collection and finance identity. */
.tjbpd-archive-groups{display:grid;gap:14px;margin-top:16px;min-width:0}
.tjbpd-archive-group{min-width:0;border:1px solid rgba(127,127,127,.28);border-radius:14px;background:rgba(127,127,127,.045);overflow:hidden}
.tjbpd-archive-group>summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer;list-style:none;padding:14px 16px;font-weight:900}
.tjbpd-archive-group>summary::-webkit-details-marker{display:none}
.tjbpd-archive-group>summary:before{content:'›';font-size:24px;line-height:1;transform:rotate(0deg);transition:transform .16s ease}
.tjbpd-archive-group[open]>summary:before{transform:rotate(90deg)}
.tjbpd-archive-group>summary span{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#FED100;color:#111;font-size:12px;font-weight:950;padding:0 8px}
.tjbpd-archive-group>summary small{flex-basis:100%;padding-left:34px;opacity:.75;font-weight:650}
.tjbpd-archive-group>.tjbpd-parcels,.tjbpd-archive-group>.tjbpd-empty{margin:0 14px 14px}
.tjbpd-proof-link{font-weight:900!important;border-color:#009B3A!important;color:#007d31!important}
.tjbpd-proof-summary{padding:10px 12px;border-left:4px solid #009B3A;background:rgba(0,155,58,.07);border-radius:7px}
.tjbpd-commission{padding:10px 12px;border:1px solid rgba(0,155,58,.28);background:rgba(0,155,58,.06);border-radius:9px}
.tjbpd-commission.warning{border-color:rgba(192,0,0,.35);background:rgba(192,0,0,.06)}
.tjbpd-commission small{display:block;margin-top:3px;opacity:.8}
.tjb-content-theme-dark .tjbpd-proof-link{color:#8be4ad!important;border-color:#45b96f!important}
.tjb-content-theme-dark .tjbpd-archive-group{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.14)}
.tjb-content-theme-dark .tjbpd-commission{background:rgba(0,155,58,.12);border-color:rgba(69,185,111,.4)}
@media(max-width:860px){
  .tjbpd-archive-groups,.tjbpd-archive-group{width:100%;max-width:100%;min-width:0}
  .tjbpd-archive-group>summary{padding:12px}
  .tjbpd-archive-group>summary small{padding-left:0}
  .tjbpd-archive-group>.tjbpd-parcels,.tjbpd-archive-group>.tjbpd-empty{margin:0 8px 10px}
}
.tjbpd-archive-pagination{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:16px 0 4px;padding:12px;border-top:1px solid rgba(127,127,127,.22)}
.tjbpd-archive-pagination span{font-weight:900}
.tjbpd-history-more{margin:14px 0;padding:11px 13px;border-radius:9px;background:rgba(254,209,0,.12)}

/* v0.1.15 — admin production-readiness status. */
.tjbpd-admin .tjbpd-ready{color:#087a31}.tjbpd-admin .tjbpd-not-ready{color:#b00020}.tjbpd-readiness .notice.inline{margin:12px 0 0}.tjbpd-readiness small{font-weight:600;color:#666}

/* v0.1.16 — admin finance/readiness layout and status clarity. */
.tjbpd-admin{--line:#dcdcde;--ink:#1d2327}
.tjbpd-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:20px}
.tjbpd-admin-grid>.tjbpd-card{min-width:0;margin:0;box-sizing:border-box;overflow:hidden}
.tjbpd-admin-finance,.tjbpd-admin-profiles,.tjbpd-admin-readiness{grid-column:1/-1}
.tjbpd-admin .tjbpd-card *{box-sizing:border-box}
.tjbpd-admin .tjbpd-diag li,.tjbpd-admin .description,.tjbpd-admin code{overflow-wrap:anywhere;word-break:normal}
.tjbpd-admin .tjbpd-admin-fee-row{min-width:0;grid-template-columns:70px minmax(0,1fr) minmax(0,1fr)}
.tjbpd-admin .tjbpd-admin-fee-row input{width:100%;max-width:100%}
.tjbpd-readiness{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.tjbpd-readiness-block{min-width:0;padding:14px;border:1px solid #dcdcde;border-radius:10px;background:#fff}
.tjbpd-admin .tjbpd-review{color:#996800}.tjbpd-admin .tjbpd-muted-status{color:#646970}.tjbpd-admin .tjbpd-muted-status+small{color:#646970}
@media(max-width:1100px){.tjbpd-admin-grid,.tjbpd-readiness{grid-template-columns:1fr}.tjbpd-admin-finance,.tjbpd-admin-profiles,.tjbpd-admin-readiness{grid-column:auto}}
@media(max-width:760px){.tjbpd-admin .tjbpd-admin-fee-row{grid-template-columns:1fr}.tjbpd-admin-grid{gap:12px}.tjbpd-readiness-block{padding:12px}}


/* v0.1.19 — Parcel Global Settings shared JAMBus policy summary. */
.tjbpd-policy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 18px;min-width:0}
.tjbpd-policy-grid p{margin:0;padding:12px;border:1px solid #dcdcde;border-radius:8px;background:#f6f7f7;min-width:0;overflow-wrap:anywhere}
.tjbpd-policy-grid small{display:block;margin-top:3px;color:#646970}
@media(max-width:1100px){.tjbpd-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.tjbpd-policy-grid{grid-template-columns:1fr}}
