/* DELIVERY JURUTI - PACOTES V1 */
.consumer-bottom-nav {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.package-nav-icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.package-nav-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.consumer-bottom-nav [data-nav-route="packages"] {
  min-width: 0;
}
.consumer-bottom-nav [data-nav-route="packages"] .package-nav-label {
  display: block;
}

.packages-view {
  width: min(900px, 100%);
  margin: 0 auto;
  padding-bottom: 110px;
}
.package-page-head {
  padding: 8px 2px 12px;
}
.package-page-head h1 {
  margin: 4px 0 5px;
  font-size: clamp(30px, 5vw, 42px);
  line-height: 1;
}
.package-page-head p {
  margin: 0;
  color: var(--muted, #756a67);
  line-height: 1.45;
}
.package-mode-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 5px;
  margin: 12px 0 16px;
  border: 1px solid var(--line, #ded8d5);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
}
.package-mode-tabs button {
  border: 0;
  border-radius: 14px;
  min-height: 46px;
  background: transparent;
  font: inherit;
  font-weight: 800;
  color: var(--muted, #675d59);
}
.package-mode-tabs button.active {
  background: #8f1823;
  color: #fff;
  box-shadow: 0 8px 20px rgba(143,24,35,.18);
}

.package-request-form {
  display: grid;
  gap: 14px;
}
.package-form-card,
.package-quote-card,
.package-created-card,
.package-history-card,
.package-admin-pricing,
.package-admin-list-section,
.courier-package-card {
  background: #fff;
  border: 1px solid var(--line, #ded8d5);
  border-radius: 22px;
  box-shadow: 0 12px 34px rgba(68,32,35,.07);
}
.package-form-card {
  padding: 20px;
}
.package-section-title {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 17px;
}
.package-section-title > span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 11px;
  background: #f8e3e6;
  color: #8f1823;
  font-weight: 900;
  flex: 0 0 auto;
}
.package-section-title h2 {
  margin: 0 0 2px;
  font-size: 20px;
}
.package-section-title p {
  margin: 0;
  color: var(--muted, #756a67);
  font-size: 13px;
}
.package-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}
.package-form-grid label {
  display: grid;
  gap: 7px;
  font-size: 13px;
  font-weight: 800;
  color: #4f4543;
}
.package-form-grid .package-full {
  grid-column: 1 / -1;
}
.package-form-grid input,
.package-form-grid select,
.package-form-grid textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--line, #d9d0cd);
  border-radius: 14px;
  background: #fffdfa;
  color: #211b1c;
  font: inherit;
  font-weight: 500;
  padding: 12px 14px;
  outline: 0;
}
.package-form-grid input,
.package-form-grid select {
  min-height: 47px;
}
.package-form-grid input:focus,
.package-form-grid select:focus,
.package-form-grid textarea:focus {
  border-color: #a92b37;
  box-shadow: 0 0 0 3px rgba(169,43,55,.10);
}
.package-map-select {
  width: 100%;
  margin-top: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  padding: 13px 15px;
  border: 1px solid #dcc8ca;
  border-radius: 15px;
  background: #fff8f8;
  color: #6f1520;
  cursor: pointer;
}
.package-map-select > span:last-child {
  display: grid;
  gap: 2px;
}
.package-map-select strong {
  font-size: 14px;
}
.package-map-select small {
  color: #8c7773;
  font-size: 12px;
}
.package-map-select small.confirmed {
  color: #16804d;
  font-weight: 800;
}

.package-quote-card {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 16px;
  padding: 18px 20px;
  align-items: center;
}
.package-quote-card > div:first-child {
  display: grid;
  gap: 5px;
}
.package-quote-card > div:first-child > span,
.package-payment-note b {
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 11px;
  font-weight: 900;
  color: #7c6965;
}
.package-quote-card > div:first-child > strong {
  font-size: 30px;
  line-height: 1;
}
.package-quote-card small,
.package-payment-note span {
  color: var(--muted, #806f6b);
  font-size: 12px;
}
.package-payment-note {
  border-left: 1px solid var(--line, #ded8d5);
  padding-left: 18px;
  display: grid;
  gap: 5px;
}
.package-submit {
  min-height: 52px !important;
  font-size: 16px !important;
}

.package-map-dialog {
  border: 0;
  padding: 0;
  width: min(680px, calc(100vw - 24px));
  max-width: 680px;
  border-radius: 24px;
  background: transparent;
}
.package-map-dialog::backdrop {
  background: rgba(30,21,22,.62);
  backdrop-filter: blur(3px);
}
.package-map-card {
  background: #fff;
  border-radius: 24px;
  padding: 18px;
}
.package-map-heading {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}
.package-map-heading h2 {
  margin: 3px 0 0;
}
.package-map-close {
  border: 0;
  background: #f4efed;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  font-size: 24px;
  cursor: pointer;
}
.package-map-card > p {
  color: var(--muted, #756a67);
  font-size: 13px;
  line-height: 1.4;
}
.package-map-frame {
  position: relative;
  overflow: hidden;
  height: min(52vh, 420px);
  min-height: 300px;
  border-radius: 18px;
  border: 1px solid #ddd4d1;
  background: #ece9e6;
}
#package-map-canvas {
  position: absolute;
  inset: 0;
}
.package-map-pin {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -100%);
  z-index: 3;
  font-size: 42px;
  line-height: 1;
  color: #991d29;
  pointer-events: none;
  text-shadow: 0 2px 3px rgba(0,0,0,.2);
}
#package-map-status {
  display: block;
  padding: 9px 2px 0;
  color: #766b68;
}
.package-map-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}

.package-created-card {
  padding: 28px 22px;
  text-align: center;
}
.package-created-check {
  margin: 0 auto 12px;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #dff3e8;
  color: #16804d;
  font-size: 27px;
  font-weight: 900;
}
.package-created-card h2 {
  margin: 5px 0 5px;
  font-size: 28px;
}
.package-created-card > p {
  color: var(--muted, #756a67);
}
.package-secret-code {
  margin: 22px auto 14px;
  max-width: 460px;
  padding: 18px;
  border: 1px dashed #b12a37;
  border-radius: 18px;
  background: #fff6f7;
  display: grid;
  gap: 5px;
}
.package-secret-code > span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #7b5055;
}
.package-secret-code > strong {
  font-size: 38px;
  letter-spacing: .18em;
  color: #8f1823;
}
.package-secret-code small {
  color: #725f5c;
  line-height: 1.4;
}
.package-created-summary {
  display: grid;
  gap: 3px;
  margin: 16px 0;
}
.package-created-summary strong {
  font-size: 25px;
}
.package-created-summary small,
.package-created-summary span {
  color: var(--muted, #756a67);
}
.package-created-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  max-width: 460px;
  margin: 20px auto 0;
}

.package-history-list {
  display: grid;
  gap: 12px;
}
.package-history-card {
  padding: 17px;
}
.package-history-top,
.package-history-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.package-history-top > div {
  display: grid;
  gap: 3px;
}
.package-history-top span {
  font-size: 11px;
  font-weight: 900;
  color: #8f1823;
}
.package-history-top strong {
  font-size: 16px;
}
.package-history-top > b {
  font-size: 20px;
}
.package-route-mini {
  margin: 14px 0;
  padding: 13px 0;
  border-top: 1px solid #eee7e4;
  border-bottom: 1px solid #eee7e4;
  display: grid;
  gap: 11px;
}
.package-route-mini > div {
  display: grid;
  gap: 2px;
}
.package-route-mini i {
  font-style: normal;
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 900;
  color: #8b7975;
}
.package-route-mini strong {
  font-size: 13px;
  line-height: 1.35;
}
.package-history-code {
  padding: 12px 14px;
  border-radius: 14px;
  background: #fff3f4;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3px 12px;
  align-items: center;
  margin-bottom: 12px;
}
.package-history-code span {
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 900;
  color: #7d6662;
}
.package-history-code strong {
  grid-row: 1 / 3;
  grid-column: 2;
  font-size: 24px;
  letter-spacing: .1em;
  color: #8f1823;
}
.package-history-code small {
  font-size: 11px;
  color: #83716d;
}
.package-history-foot {
  color: #806f6b;
  font-size: 12px;
}
.package-history-foot button {
  border: 0;
  background: transparent;
  color: #9b1e2a;
  font-weight: 800;
  cursor: pointer;
}

/* Gestor */
#admin-packages-panel {
  display: grid;
  gap: 18px;
}
#admin-packages-panel[hidden] { display: none !important; }
#view-admin .admin-tabs [data-admin-tab="packages"] {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
#view-admin .admin-tabs [data-admin-tab="packages"] .package-nav-icon {
  width: 18px;
  height: 18px;
}
.package-admin-pricing,
.package-admin-list-section {
  padding: 20px;
}
.package-admin-pricing-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 15px;
}
.package-admin-pricing-head h3 {
  margin: 0 0 3px;
  font-size: 18px;
}
.package-admin-pricing-head p {
  margin: 0;
  color: var(--muted, #756a67);
  font-size: 13px;
}
#package-pricing-rows {
  display: grid;
  gap: 8px;
}
.package-pricing-row {
  display: grid;
  grid-template-columns: 34px 180px 180px 40px;
  gap: 10px;
  align-items: end;
  padding: 10px;
  border: 1px solid #e6dedb;
  border-radius: 14px;
  background: #fffdfa;
}
.package-pricing-index {
  width: 32px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #f4ecea;
  font-weight: 900;
  color: #8f1823;
}
.package-pricing-row label {
  display: grid;
  gap: 5px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  color: #756661;
}
.package-pricing-row input {
  height: 42px;
  border: 1px solid #d9d0cd;
  border-radius: 11px;
  padding: 0 11px;
  font: inherit;
  background: #fff;
}
.package-remove-band {
  width: 40px;
  height: 42px;
  border: 0;
  border-radius: 11px;
  background: #f7ebed;
  color: #9b1e2a;
  font-size: 22px;
  cursor: pointer;
}
.package-admin-actions {
  margin-top: 13px;
  display: flex;
  justify-content: flex-end;
}
.package-admin-list {
  display: grid;
  gap: 8px;
}
.package-admin-list article {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid #e6dedb;
  border-radius: 14px;
}
.package-admin-list article > div {
  display: grid;
  gap: 3px;
}
.package-admin-list article span,
.package-admin-list article small {
  color: #81716d;
  font-size: 11px;
}
.package-admin-list article > div:last-child {
  text-align: right;
}
.package-admin-list article > div:last-child b {
  font-size: 12px;
  color: #8f1823;
}

/* Entregador PWA */
.courier-package-section {
  margin-top: 20px;
}
.courier-package-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.courier-package-list > h3 {
  margin: 4px 0;
}
.courier-package-card {
  padding: 16px;
  display: grid;
  gap: 10px;
}
.courier-package-card-head,
.courier-package-pay {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.courier-package-card-head span {
  color: #8f1823;
  font-weight: 900;
  font-size: 12px;
}
.courier-package-card p {
  margin: 0;
  line-height: 1.45;
  font-size: 13px;
}
.courier-package-card > small {
  color: var(--muted, #756a67);
}
.courier-package-pay {
  padding: 10px 12px;
  border-radius: 12px;
  background: #f9f4f1;
}
.courier-package-pay span {
  font-size: 12px;
}
.courier-package-pay strong {
  font-size: 20px;
}
.courier-package-code-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: end;
}
.courier-package-code-form label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
}
.courier-package-code-form input {
  min-height: 46px;
  border: 1px solid #d7cdca;
  border-radius: 12px;
  padding: 0 14px;
  font-size: 22px;
  letter-spacing: .18em;
  text-align: center;
}

@media (max-width: 720px) {
  .packages-view { padding-left: 0; padding-right: 0; }
  .package-form-card { padding: 17px; border-radius: 19px; }
  .package-form-grid { grid-template-columns: 1fr; }
  .package-form-grid .package-full { grid-column: auto; }
  .package-quote-card { grid-template-columns: 1fr; }
  .package-payment-note { border-left: 0; border-top: 1px solid var(--line, #ded8d5); padding-left: 0; padding-top: 13px; }
  .package-created-actions { grid-template-columns: 1fr; }
  .package-pricing-row { grid-template-columns: 32px 1fr 1fr 38px; gap: 7px; }
  .package-admin-pricing-head { align-items: flex-start; flex-direction: column; }
  .package-admin-list article { grid-template-columns: 1fr; }
  .package-admin-list article > div:last-child { text-align: left; grid-template-columns: 1fr auto; }
  .courier-package-code-form { grid-template-columns: 1fr; }
  .consumer-bottom-nav [data-nav-route="packages"] .package-nav-label { font-size: inherit; }
}

@media (max-width: 410px) {
  .consumer-bottom-nav { gap: 0 !important; }
  .consumer-bottom-nav button { padding-left: 3px !important; padding-right: 3px !important; font-size: 11px !important; }
  .consumer-bottom-nav .package-nav-icon { width: 22px; height: 22px; }
  .package-pricing-row { grid-template-columns: 30px 1fr; }
  .package-pricing-row label { grid-column: 2; }
  .package-remove-band { grid-column: 1; grid-row: 2; }
}


/* DELIVERY JURUTI PACKAGE ADMIN SINGLE ICON R3 */

/*
 * A aba Pacotes já possui seu ícone próprio:
 *
 *   .package-nav-icon
 *
 * Qualquer ícone genérico adicionado diretamente ao botão
 * deve permanecer invisível.
 */

#view-admin .admin-tabs
[data-admin-tab="packages"]::before,

#view-admin .admin-tabs
[data-admin-tab="packages"]::after {
    content: none !important;
    display: none !important;
}

/*
 * Mantém apenas o wrapper oficial package-nav-icon.
 *
 * O texto "Pacotes" é um text-node e não é afetado.
 */
#view-admin .admin-tabs
[data-admin-tab="packages"] > :not(.package-nav-icon) {
    display: none !important;
}

#view-admin .admin-tabs
[data-admin-tab="packages"] > .package-nav-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 18px !important;
    height: 18px !important;

    flex: 0 0 18px !important;

    margin: 0 6px 0 0 !important;
}

#view-admin .admin-tabs
[data-admin-tab="packages"]
.package-nav-icon svg {
    display: block !important;

    width: 18px !important;
    height: 18px !important;

    margin: 0 !important;
}

/*
 * Pequena compactação, sem alterar display,
 * visibilidade ou comportamento das demais abas.
 */
#view-admin .admin-tabs {
    column-gap: 6px !important;
}

#view-admin .admin-tabs button {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

@media (max-width: 1600px) {

    #view-admin .admin-tabs {
        column-gap: 3px !important;
    }

    #view-admin .admin-tabs button {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}

/* DELIVERY JURUTI PACKAGE ADMIN SINGLE ICON R3 END */

.packaging-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0}
.packaging-type-card{display:flex;flex-direction:column;align-items:center;gap:8px;border:1px solid #ddd;border-radius:16px;padding:16px;background:#fff;color:inherit;text-align:center}
button.packaging-type-card{cursor:pointer}
.packaging-type-card[aria-pressed="true"]{border:2px solid #a52021;background:#fff3f3}
.packaging-type-card img,.packaging-preview img{object-fit:contain;width:64px;height:64px}
.packaging-type-icon{width:64px;height:64px;fill:none;stroke:#a52021;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.packaging-editor{display:flex;flex-direction:column;gap:14px;max-height:85vh;overflow-y:auto}
.packaging-editor label{display:flex;flex-direction:column;gap:5px}
.packaging-editor input,.packaging-editor select,.packaging-editor textarea{padding:12px;border:1px solid #ddd;border-radius:10px}
.packaging-editor-feedback{color:#a52021}
