.login-card {
  max-width: 410px;
  width: 100%;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 6px 32px #007aff18, 0 1.5px 6px #ffad0b22 !important;
  margin: 32px auto;
  padding: 2.5rem 2rem 2.2rem 2rem !important;
}
.login-logo {
  height: 54px;
  margin-bottom: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.login-title {
  font-family: 'Barlow', 'Roboto', Arial, sans-serif;
  letter-spacing: 0.5px;
  color: #222;
  margin-bottom: 0.5rem;
}
.login-subtitle {
  color: #ffad0b;
  font-size: 1.08em;
  font-weight: 500;
  letter-spacing: 0.2px;
  margin-bottom: 1.2rem;
}
.login-input {
  border-radius: 8px;
  font-size: 1.08em;
  padding: 0.7rem 1rem;
  background: #f9fafb;
  border: 1.5px solid #e0e0e0;
  margin-bottom: 0.5rem;
}
.login-input:focus {
  border-color: #007aff;
  background: #fff;
  box-shadow: 0 0 0 2px #007aff33;
}
.login-btn {
  border-radius: 8px;
  font-size: 1.13em;
  box-shadow: 0 2px 8px #ffad0b33;
  border: none;
  margin-top: 0.7rem;
  padding: 0.7rem 0;
  letter-spacing: 0.5px;
}
.login-error {
  border-radius: 8px;
}
.form-label {
  color: #222;
  font-size: 1.04em;
  margin-bottom: 0.2rem;
}
@media (max-width: 600px) {
  .login-card {
  padding: 1.2rem 0.5rem 1.2rem 0.5rem !important;
  max-width: 98vw;
  }
  .login-logo {
  height: 44px;
  }
}
body {
  background: linear-gradient(120deg, #f8fafc 60%, #e3f0ff 100%) !important;
}
.login-card {
  max-width: 410px;
  width: 100%;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 6px 32px #007aff18, 0 1.5px 6px #ffad0b22 !important;
}
.login-logo {
  height: 54px;
  margin-bottom: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.login-title {
  font-family: 'Barlow', 'Roboto', Arial, sans-serif;
  letter-spacing: 0.5px;
  color: #222;
}
.login-subtitle {
  color: #ffad0b;
  font-size: 1.08em;
  font-weight: 500;
  letter-spacing: 0.2px;
}
.login-input {
  border-radius: 8px;
}
.login-btn {
  background: #ffad0b;
  color: #fff;
  border-radius: 8px;
  font-size: 1.13em;
  box-shadow: 0 2px 8px #ffad0b33;
  border: none;
}
.login-btn:hover, .login-btn:focus {
  background: #ffc107;
  color: #222;
}
.login-error {
  border-radius: 8px;
}
.form-label {
  color: #222;
}
.form-control:focus {
  border-color: #007aff;
  box-shadow: 0 0 0 2px #007aff33;
}
/* Box utente loggato */
.user-box {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px #0001;
  padding: 8px 20px 8px 12px;
  position: relative;
  cursor: pointer;
  min-width: 120px;
  gap: 8px;
  font-family: inherit;
}
.user-box .user-name {
  font-weight: 700;
  color: #222;
  font-size: 1.08em;
}
.user-box .fa-user-circle {
  color: #ffad0b;
  font-size: 1.5em;
  margin-right: 8px;
}
.user-menu {
  display: none;
  position: absolute;
  top: 110%;
  right: 0;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 24px #0002;
  min-width: 140px;
  z-index: 5000;
  padding: 8px 0;
  border: 1px solid #eee;
}
.user-menu .user-menu-link {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 10px 18px;
  color: #222;
  text-decoration: none;
  font-weight: 600;
  background: none;
  border: none;
  text-align: left;
  cursor: pointer;
  transition: background 0.18s, color 0.18s;
  box-shadow: none;
}
.user-menu .user-menu-link:visited {
  color: #222;
}
.user-menu .user-menu-link:hover {
  background: #ffad0b;
  color: #fff;
}
.user-menu .user-menu-link i {
  margin-right: 10px;
  font-size: 1.1em;
}
.nav-tabs .nav-link {
  margin-right: 12px !important;
}
.nav-tabs .nav-item:last-child .nav-link {
  margin-right: 0 !important;
}
/* Personalizzazione tab nav-link per admin.html */
.nav-tabs .nav-link.active, .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
  color: #fff !important;
  background-color: #ffad0b !important;
  border-color: #ffad0b #ffad0b #fff !important;
}
.nav-tabs .nav-link {
  color: #ffad0b !important;
  border: 1px solid #ffad0b !important;
  background: #fff !important;
  font-weight: 700;
  transition: background 0.18s, color 0.18s;
}
.btn-warning {
  background-color: #ffc107 !important;
  color: #222 !important;
  border: none;
}
.menu-link i {
  color: #ffc107 !important;
}
.menu-link {
  display: flex;
  align-items: center;
  font-size: 1em;
  color: #222 !important;
  font-weight: 700;
  text-transform: uppercase;
  padding: 10px;
  text-decoration: none;
  border-bottom: 1px solid #e0e0e0;
  background: none;
  transition: background 0.18s, color 0.18s;
}
.menu-link:last-child {
  border-bottom: none;
}
.menu-link i {
  font-size: 1.3em;
  min-width: 1.5em;
  vertical-align: middle;
  display: inline-block;
  margin-right: 10px;
  color: #ffc107 !important;
  font-weight: 700;;
}
.menu-link span {
  color: #222 !important;
  font-weight: 700;
}
.menu-link:hover {
  background: #ffc107;
  color: #fff !important;
  font-weight: 700;
}
.menu-link:hover i {
  color: #fff !important;
}
.menu-link:hover span {
  color: #fff !important;
}
.menu-content {
  display: none;
  flex-direction: column;
  position: absolute;
  left: 0;
  top: 100%;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 32px #0002;
  margin-top: 10px;
  margin-left: 20px;
  min-width: 180px;
  padding: 5px 0 5px 0;
  border: 1px solid #e0e0e0;
  z-index: 3000;
  gap: 10px;
}
.menu-relative {
  position: relative;
}
.rbx-title {
  font-family: var(--rbx-font-title, 'Barlow', 'Roboto', Arial, sans-serif);
  font-size: 2.1em;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: #222;
  margin-bottom: 0.2em;
}
.rbx-underline {
  width: 60px;
  height: 4px;
  background: var(--rbx-primary, #ffad0b);
  border-radius: 2px;
  margin: 0.5em auto 0 auto;
}
.btn-warning {
  color: #222 !important;
  border: none;
  font-weight: 700;
  box-shadow: 0 2px 8px #0001;
}
.btn-warning:hover, .btn-warning:focus {
  background-color: #ffad0b !important;
  color: #222 !important;
}
/* --- CSS da consegna.html --- */
.rbx-card {
  max-width: 960px;
  border-radius: 16px;
}
.scan-modal {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.7);
  align-items: center;
  justify-content: center;
}
.scan-modal-content {
  background: #fff;
  padding: 1.5em 1em 1em 1em;
  border-radius: 8px;
  max-width: 95vw;
  max-height: 90vh;
  position: relative;
}
.scan-modal-close {
  position: absolute;
  right: -18px;
  top: -18px;
  width: 44px;
  height: 44px;
  font-size: 2.2em;
  background: #fff;
  border-radius: 50%;
  border: 2px solid #ffad0b;
  color: #ffad0b;
  box-shadow: 0 2px 8px #0002;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qr-reader {
  width: 320px;
  max-width: 80vw;
}
.rbx-contatore {
  color: #333;
  font-family: inherit;
  letter-spacing: 0.5px;
}
.rbx-lista-numeri {
  list-style-type: none;
  padding-left: 0;
  font-family: inherit;
}
.rbx-btn-mostra-altro {
  background: #fff;
  color: #007aff;
  border: 2px solid #007aff;
  border-radius: 8px;
  font-family: inherit;
  transition: background 0.2s, color 0.2s;
}
.rbx-btn-mostra-altro:hover {
  background: #007aff;
  color: #fff;
}
.rbx-collapse-container {
  min-height: 180px;
}
.rbx-collapse-card {
  max-width: 600px;
  margin: 0 auto;
  border-radius: 16px;
  border: 1.5px solid #e0e0e0;
  box-shadow: 0 2px 12px #0001;
}
.rbx-collapse-header {
  padding: 1.2em 1.5em 1em 1.5em;
}
.rbx-collapse-toggle {
  font-weight: 600;
  color: #ffad0b;
  border-radius: 8px;
  border: 1.5px solid #ffad0b;
  background: #fffbe6;
  padding: 0.4em 1.2em;
  transition: background 0.2s, color 0.2s;
}
.rbx-collapse-toggle:hover {
  background: #ffad0b;
  color: #fff;
}
.rbx-collapse-body {
  padding: 0.5em 1.5em 1.2em 1.5em;
}
.spedizione-box {
  min-width: 220px;
  max-width: 420px;
  background: #f8f9fa;
  border-radius: 8px;
  padding: 0.25em 0.5em;
  margin-bottom: 0.25em;
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.spedizione-box span {
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 340px;
  font-size: 1.08em;
}
.spedizione-box .btn-danger {
  margin-left: 0.5em;
  padding: 0.25em 0.6em;
  font-size: 1em;
}
.rbx-corriere-row {
  border: none;
  font-family: 'Barlow', 'Roboto', sans-serif;
  font-size: 1.08em;
  padding: 0.7em 0.5em;
  background: #fff;
}
.rbx-corriere-nome {
  font-weight: 600;
  color: #222;
  letter-spacing: 0.5px;
}
.rbx-corriere-badge {
  display: inline-block;
  min-width: 32px;
  padding: 0.25em 0.7em;
  font-size: 1em;
  font-weight: 700;
  color: #fff;
  background: #2ecc40;
  border-radius: 8px;
  text-align: center;
  font-family: 'Barlow', 'Roboto', sans-serif;
  box-shadow: 0 2px 8px #0001;
}
.rbx-badge-success {
  background: #2ecc40 !important;
  color: #fff !important;
}
.rbx-badge-warning {
  background: #ffad0b !important;
  color: #222 !important;
}
.rbx-corriere-row:not(:last-child) {
  border-bottom: 1px solid #eee;
}
/* --- Fine CSS da consegna.html --- */
/* Miglioramento visualizzazione bottone menu */
.menu-toggle {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  font-size: 1.5em;
  box-shadow: 0 2px 8px #0001;
  margin: 20px 0 0 20px;
  background: #ffc107 !important;
  color: #222 !important;
  border: none;
  transition: box-shadow 0.18s, background 0.18s;
}
.menu-toggle:hover, .menu-toggle:focus {
  background: #ffad0b !important;
  color: #222 !important;
  box-shadow: 0 4px 16px #0002;
}
/* Label nera per popup admin */
.rbx-label-black {
  color: #222 !important;
}
/* --- Modal scansione fotocamera (Quagga/Barcode) --- */
.scan-modal {
    display: none;
    position: fixed;
    z-index: 20000;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.92);
    overflow: hidden;
    align-items: center;
    justify-content: center;
}
.scan-modal-content {
    position: relative;
    background: #111;
    border-radius: 16px;
    box-shadow: 0 2px 16px #0008;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 95vw;
    max-height: 90vh;
}
.scan-modal video, .scan-modal canvas, #qr-reader > video {
    display: block;
    max-width: 90vw;
    max-height: 70vh;
    width: auto !important;
    height: auto !important;
    margin: 0 auto;
    background: #000;
    border-radius: 12px;
}
.scan-modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
    background: #fff;
    color: #ffad0b;
    border: 2px solid #ffad0b;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    font-size: 1.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px #0002;
}
@media (max-width: 600px) {
    .scan-modal-content {
        max-width: 100vw;
        max-height: 100vh;
        border-radius: 0;
    }
    .scan-modal video, .scan-modal canvas, #qr-reader > video {
        max-width: 100vw;
        max-height: 60vh;
    }
}

/* --- Layout operativo Ritiro/Consegna responsive --- */
body[data-rbx-page="ritiri"],
body[data-rbx-page="consegna"] {
  min-height: 100vh;
  background:
    radial-gradient(circle at 85% 10%, rgba(255, 193, 7, 0.12), transparent 28rem),
    linear-gradient(145deg, #f8fafc 0%, #eef5fb 100%) !important;
}

body[data-rbx-page="ritiri"] .rbx-operation-hero {
  margin-top: 0 !important;
  margin-bottom: 1.5rem !important;
  padding-top: 0.4rem;
}

body[data-rbx-page="ritiri"] .rbx-logo {
  width: min(720px, 72vw);
  max-height: 132px;
  object-fit: contain;
}

body[data-rbx-page="ritiri"] .rbx-title {
  margin-top: 0.35rem;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
}

body[data-rbx-page="ritiri"] #form_ritira {
  margin-bottom: 1.5rem !important;
}

body[data-rbx-page="ritiri"] .rbx-operation-card {
  border: 1px solid rgba(33, 37, 41, 0.1);
  box-shadow: 0 12px 34px rgba(31, 50, 69, 0.1) !important;
  overflow: hidden;
}

body[data-rbx-page="ritiri"] #ritiroForm {
  padding: 1.5rem !important;
}

body[data-rbx-page="ritiri"] #ritiroForm > .row {
  display: grid;
  grid-template-columns: minmax(210px, 0.9fr) minmax(330px, 1.45fr) 52px 110px;
  gap: 0.85rem;
  align-items: end;
}

body[data-rbx-page="ritiri"] #ritiroForm > .row > div {
  width: auto;
  max-width: none;
  padding: 0;
}

body[data-rbx-page="ritiri"] #ritiroForm .form-label {
  margin-bottom: 0.45rem;
  font-size: 0.82rem;
  letter-spacing: 0.055em;
  color: #495057;
}

body[data-rbx-page="ritiri"] #ritiroForm .form-control,
body[data-rbx-page="ritiri"] #ritiroForm .form-select,
body[data-rbx-page="ritiri"] #ritiroForm .btn {
  min-height: 46px;
  border-radius: 10px;
}

body[data-rbx-page="ritiri"] #ritiroForm .input-group .form-control {
  border-radius: 10px 0 0 10px;
}

body[data-rbx-page="ritiri"] #ritiroForm .input-group .btn {
  border-radius: 0;
  min-width: 46px;
}

body[data-rbx-page="ritiri"] #ritiroForm .input-group .btn:last-child {
  border-radius: 0 10px 10px 0;
}

body[data-rbx-page="ritiri"] #btnScan,
body[data-rbx-page="ritiri"] #btnRitira {
  width: 100%;
}

body[data-rbx-page="ritiri"] #btnRitira {
  box-shadow: 0 6px 16px rgba(255, 173, 11, 0.25);
}

body[data-rbx-page="ritiri"] #lista_ritiri {
  margin-bottom: 0 !important;
}

body[data-rbx-page="ritiri"] .rbx-summary-section {
  margin-top: 0 !important;
  margin-bottom: 2rem !important;
}

body[data-rbx-page="ritiri"] .rbx-collapse-card {
  max-width: 720px;
  border: 1px solid rgba(33, 37, 41, 0.1);
  box-shadow: 0 10px 28px rgba(31, 50, 69, 0.09);
}

body[data-rbx-page="ritiri"] .rbx-collapse-header {
  gap: 1rem;
}

body[data-rbx-page="ritiri"] .rbx-collapse-toggle {
  min-height: 42px;
}

body[data-rbx-page="ritiri"] #lista_ritiri_per_corriere .list-group-item {
  border-color: #edf0f2;
  background: transparent;
}

@media (max-width: 767.98px) {
  body[data-rbx-page="ritiri"] {
    padding-bottom: env(safe-area-inset-bottom);
  }

  body[data-rbx-page="ritiri"] .mobile-menu {
    min-height: 72px;
  }

  body[data-rbx-page="ritiri"] .menu-toggle {
    width: 48px;
    height: 48px;
    margin: 12px 0 0 12px;
    border-radius: 14px;
  }

  body[data-rbx-page="ritiri"] .user-box {
    max-width: 185px;
    padding: 8px 10px;
  }

  body[data-rbx-page="ritiri"] .user-box .user-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.95rem;
  }

  body[data-rbx-page="ritiri"] .rbx-operation-hero {
    margin-bottom: 1rem !important;
    padding: 0 0.75rem;
  }

  body[data-rbx-page="ritiri"] .rbx-logo {
    width: min(94vw, 520px);
    max-height: 94px;
  }

  body[data-rbx-page="ritiri"] .rbx-title {
    font-size: 1.7rem;
    margin-top: 0.25rem;
  }

  body[data-rbx-page="ritiri"] .rbx-underline {
    width: 48px;
    height: 3px;
    margin-top: 0.3rem;
  }

  body[data-rbx-page="ritiri"] #form_ritira,
  body[data-rbx-page="ritiri"] #lista_ritiri,
  body[data-rbx-page="ritiri"] .rbx-summary-section {
    padding-left: 12px;
    padding-right: 12px;
  }

  body[data-rbx-page="ritiri"] #ritiroForm {
    padding: 1rem !important;
  }

  body[data-rbx-page="ritiri"] #ritiroForm > .row {
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
  }

  body[data-rbx-page="ritiri"] #ritiroForm > .row > div:nth-child(1),
  body[data-rbx-page="ritiri"] #ritiroForm > .row > div:nth-child(2) {
    grid-column: 1 / -1;
  }

  body[data-rbx-page="ritiri"] #ritiroForm > .row > div:nth-child(3),
  body[data-rbx-page="ritiri"] #ritiroForm > .row > div:nth-child(4) {
    grid-column: auto;
  }

  body[data-rbx-page="ritiri"] #ritiroForm .form-control,
  body[data-rbx-page="ritiri"] #ritiroForm .form-select,
  body[data-rbx-page="ritiri"] #ritiroForm .btn {
    min-height: 50px;
    font-size: 1rem;
  }

  body[data-rbx-page="ritiri"] #btnScan::after {
    content: " Scansiona";
    margin-left: 0.4rem;
  }

  body[data-rbx-page="ritiri"] #btnRitira {
    font-size: 1.05rem;
  }

  body[data-rbx-page="ritiri"] .rbx-collapse-header {
    align-items: stretch !important;
    padding: 1rem;
  }

  body[data-rbx-page="ritiri"] .rbx-collapse-header > div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }

  body[data-rbx-page="ritiri"] .rbx-collapse-toggle {
    width: 100%;
    margin-top: 0.2rem;
    padding: 0.7rem 1rem;
  }

  body[data-rbx-page="ritiri"] .rbx-collapse-body {
    padding: 0 1rem 1rem;
  }

  body[data-rbx-page="ritiri"] #lista_ritiri_per_corriere .list-group-item {
    padding: 0.85rem 0 !important;
  }

  body[data-rbx-page="ritiri"] #lista_ritiri_per_corriere .row {
    row-gap: 0.55rem;
  }

  body[data-rbx-page="ritiri"] #lista_ritiri_per_corriere .rbx-corriere-nome {
    width: 100%;
    flex: 0 0 100%;
  }

  body[data-rbx-page="ritiri"] #lista_ritiri_per_corriere .col-3,
  body[data-rbx-page="ritiri"] #lista_ritiri_per_corriere .col-4 {
    width: 50%;
    flex: 0 0 50%;
    text-align: left !important;
  }

  body[data-rbx-page="ritiri"] .rbx-corriere-badge {
    width: 100%;
    padding: 0.45rem 0.55rem;
  }
}

@media (max-width: 380px) {
  body[data-rbx-page="ritiri"] #ritiroForm > .row {
    grid-template-columns: 1fr;
  }

  body[data-rbx-page="ritiri"] #ritiroForm > .row > div {
    grid-column: 1 / -1 !important;
  }
}

/* Palette dedicata ai corrieri: valori da salvare in corrieri.classe. */
.corriere-gls       { background-color: #f4b400 !important; color: #241a00 !important; }
.corriere-liccardi  { background-color: #168a4a !important; color: #fff !important; }
.corriere-lic-sda   { background-color: #23cdeb !important; color: #fff !important; }
.corriere-poste     { background-color: #2d0095 !important; color: #fff !important; }
.corriere-sda-extra { background-color: #470303 !important; color: #fff !important; }
.corriere-rb        { background-color: #1769aa !important; color: #fff !important; }
.corriere-brt       { background-color: #ec1b37 !important; color: #fff !important; }

.rbx-carrier-badge.corriere-gls,
.rbx-carrier-badge.corriere-liccardi,
.rbx-carrier-badge.corriere-lic-sda,
.rbx-carrier-badge.corriere-poste,
.rbx-carrier-badge.corriere-sda-extra,
.rbx-carrier-badge.corriere-rb,
.rbx-carrier-badge.corriere-brt {
  border-color: currentColor;
  border-left-width: 5px;
  font-weight: 800;
}

/* Consegna condivide la stessa struttura visuale compatta del Ritiro. */
body[data-rbx-page="consegna"] .rbx-operation-hero {
  margin-top: 0 !important;
  margin-bottom: 1.5rem !important;
  padding-top: 0.4rem;
}

body[data-rbx-page="consegna"] .rbx-logo {
  width: min(720px, 72vw);
  max-height: 132px;
  object-fit: contain;
}

body[data-rbx-page="consegna"] .rbx-title {
  margin-top: 0.35rem;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
}

body[data-rbx-page="consegna"] #form_consegna {
  margin-bottom: 1.5rem !important;
}

body[data-rbx-page="consegna"] .rbx-operation-card {
  max-width: 960px;
  border: 1px solid rgba(33, 37, 41, 0.1);
  box-shadow: 0 12px 34px rgba(31, 50, 69, 0.1) !important;
  overflow: hidden;
}

body[data-rbx-page="consegna"] #consegnaForm {
  padding: 1.5rem !important;
}

body[data-rbx-page="consegna"] #consegnaForm > .row {
  display: grid;
  grid-template-columns: minmax(210px, 0.9fr) minmax(330px, 1.45fr) 52px 132px;
  gap: 0.85rem;
  align-items: end;
}

body[data-rbx-page="consegna"] #consegnaForm > .row > div {
  width: auto;
  max-width: none;
  padding: 0;
}

body[data-rbx-page="consegna"] #consegnaForm .form-label {
  margin-bottom: 0.45rem;
  font-size: 0.82rem;
  letter-spacing: 0.055em;
  color: #495057;
}

body[data-rbx-page="consegna"] #consegnaForm .form-control,
body[data-rbx-page="consegna"] #consegnaForm .form-select,
body[data-rbx-page="consegna"] #consegnaForm .btn {
  min-height: 46px;
  border-radius: 10px;
}

body[data-rbx-page="consegna"] #consegnaForm .input-group .form-control {
  border-radius: 10px 0 0 10px;
}

body[data-rbx-page="consegna"] #consegnaForm .input-group .btn {
  border-radius: 0;
  min-width: 46px;
}

body[data-rbx-page="consegna"] #consegnaForm .input-group .btn:last-child {
  border-radius: 0 10px 10px 0;
}

body[data-rbx-page="consegna"] #btnScan,
body[data-rbx-page="consegna"] #btnConsegna {
  width: 100%;
}

body[data-rbx-page="consegna"] #btnConsegna {
  box-shadow: 0 6px 16px rgba(255, 173, 11, 0.25);
  white-space: nowrap;
  min-width: 132px;
}

body[data-rbx-page="consegna"] #lista_consegne {
  margin-bottom: 0 !important;
}

body[data-rbx-page="consegna"] .rbx-summary-section {
  margin-top: 0 !important;
  margin-bottom: 2rem !important;
}

body[data-rbx-page="ritiri"] .rbx-operation-list-card,
body[data-rbx-page="consegna"] .rbx-operation-list-card {
  border: 1px solid rgba(33, 37, 41, 0.1);
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(31, 50, 69, 0.09) !important;
}

/* Mobile app-shell: da chiuso occupa una viewport; aprendosi cresce naturalmente. */
@media (max-width: 767.98px) {
  body[data-rbx-page="ritiri"],
  body[data-rbx-page="consegna"] {
    min-height: 100vh;
    min-height: 100dvh;
    height: auto !important;
    overflow-x: hidden;
  }

  body[data-rbx-page="ritiri"] .rbx-operation-hero,
  body[data-rbx-page="consegna"] .rbx-operation-hero {
    flex: 0 0 auto;
  }

  body[data-rbx-page="ritiri"] #form_ritira,
  body[data-rbx-page="consegna"] #form_consegna {
    flex: 0 0 auto;
  }

  body[data-rbx-page="ritiri"] #lista_ritiri,
  body[data-rbx-page="consegna"] #lista_consegne {
    flex: 0 0 auto;
  }

  body[data-rbx-page="ritiri"] .rbx-summary-section,
  body[data-rbx-page="consegna"] .rbx-summary-section {
    margin-top: auto !important;
    margin-bottom: max(0.75rem, env(safe-area-inset-bottom)) !important;
  }

  body[data-rbx-page="consegna"] .mobile-menu {
    min-height: 72px;
  }

  body[data-rbx-page="consegna"] .menu-toggle {
    width: 48px;
    height: 48px;
    margin: 12px 0 0 12px;
    border-radius: 14px;
  }

  body[data-rbx-page="consegna"] .user-box {
    max-width: 185px;
    padding: 8px 10px;
  }

  body[data-rbx-page="consegna"] .user-box .user-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.95rem;
  }

  body[data-rbx-page="consegna"] .rbx-operation-hero {
    margin-bottom: 1rem !important;
    padding: 0 0.75rem;
  }

  body[data-rbx-page="consegna"] .rbx-logo {
    width: min(94vw, 520px);
    max-height: 94px;
  }

  body[data-rbx-page="consegna"] .rbx-title {
    font-size: 1.7rem;
    margin-top: 0.25rem;
  }

  body[data-rbx-page="consegna"] #form_consegna,
  body[data-rbx-page="consegna"] #lista_consegne,
  body[data-rbx-page="consegna"] .rbx-summary-section {
    padding-left: 12px;
    padding-right: 12px;
  }

  body[data-rbx-page="consegna"] #consegnaForm {
    padding: 1rem !important;
  }

  body[data-rbx-page="consegna"] #consegnaForm > .row {
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
  }

  body[data-rbx-page="consegna"] #consegnaForm > .row > div:nth-child(1),
  body[data-rbx-page="consegna"] #consegnaForm > .row > div:nth-child(2) {
    grid-column: 1 / -1;
  }

  body[data-rbx-page="consegna"] #consegnaForm .form-control,
  body[data-rbx-page="consegna"] #consegnaForm .form-select,
  body[data-rbx-page="consegna"] #consegnaForm .btn {
    min-height: 50px;
    font-size: 1rem;
  }

  body[data-rbx-page="consegna"] #btnScan::after {
    content: " Scansiona";
    margin-left: 0.4rem;
  }

  body[data-rbx-page="consegna"] #btnConsegna {
    font-size: 1.05rem;
    min-width: 0;
  }

  body[data-rbx-page="consegna"] .rbx-collapse-header {
    align-items: stretch !important;
    padding: 1rem;
  }

  body[data-rbx-page="consegna"] .rbx-collapse-header > div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }

  body[data-rbx-page="consegna"] .rbx-collapse-toggle {
    width: 100%;
    margin-top: 0.2rem;
    padding: 0.7rem 1rem;
  }

  body[data-rbx-page="consegna"] .rbx-collapse-body {
    padding: 0 1rem 1rem;
  }

  body[data-rbx-page="consegna"] #lista_consegne_per_corriere .list-group-item {
    padding: 0.85rem 0 !important;
  }

  body[data-rbx-page="consegna"] #lista_consegne_per_corriere .row {
    row-gap: 0.55rem;
  }

  body[data-rbx-page="consegna"] #lista_consegne_per_corriere .rbx-corriere-nome {
    width: 100%;
    flex: 0 0 100%;
  }

  body[data-rbx-page="consegna"] #lista_consegne_per_corriere .col-3,
  body[data-rbx-page="consegna"] #lista_consegne_per_corriere .col-4 {
    width: 50%;
    flex: 0 0 50%;
    text-align: left !important;
  }

  body[data-rbx-page="consegna"] .rbx-corriere-badge {
    width: 100%;
    padding: 0.45rem 0.55rem;
  }
}

@media (max-width: 380px) {
  body[data-rbx-page="consegna"] #consegnaForm > .row {
    grid-template-columns: 1fr;
  }

  body[data-rbx-page="consegna"] #consegnaForm > .row > div {
    grid-column: 1 / -1 !important;
  }
}


/* =========================================================
   Navigazione ResolutiveBox - menu gerarchico
   ========================================================= */
.menu-content {
  min-width: 270px;
  max-width: min(320px, calc(100vw - 28px));
  padding: 8px;
  gap: 4px;
  overflow: hidden;
}

.rbx-menu-group {
  width: 100%;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.rbx-menu-group + .rbx-menu-group {
  margin-top: 3px;
}

.rbx-menu-group[open],
.rbx-menu-group.is-active {
  border-color: #eceff2;
  background: #fbfcfd;
}

.rbx-menu-group-toggle {
  min-height: 48px;
  padding: 11px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  list-style: none;
  user-select: none;
  color: #20252b;
  font-weight: 800;
  text-transform: uppercase;
  transition: background .18s ease, color .18s ease;
}

.rbx-menu-group-toggle::-webkit-details-marker {
  display: none;
}

.rbx-menu-group-toggle::marker {
  content: "";
}

.rbx-menu-group-toggle:hover,
.rbx-menu-group.is-active > .rbx-menu-group-toggle {
  background: #fff7da;
}

.rbx-menu-group-main {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 11px;
}

.rbx-menu-group-main > i {
  width: 25px;
  flex: 0 0 25px;
  margin: 0 !important;
  text-align: center;
  font-size: 1.12rem;
  color: #f0ad00 !important;
}

.rbx-menu-group-main > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rbx-menu-chevron {
  flex: 0 0 auto;
  margin: 0 !important;
  min-width: auto !important;
  font-size: .78rem !important;
  color: #7c838b !important;
  transform: rotate(0deg);
  transition: transform .2s ease, color .18s ease;
}

.rbx-menu-group[open] > .rbx-menu-group-toggle .rbx-menu-chevron {
  transform: rotate(180deg);
  color: #20252b !important;
}

.rbx-menu-submenu {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 2px 7px 8px 43px;
  position: relative;
}

.rbx-menu-sublink {
  min-height: 39px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border-radius: 9px;
  color: #41464d !important;
  text-decoration: none;
  font-weight: 700;
  font-size: .92rem;
  transition: background .16s ease, color .16s ease, transform .16s ease;
}

.rbx-menu-sublink > i {
  width: 19px;
  flex: 0 0 19px;
  text-align: center;
  margin: 0 !important;
  color: #8a9097 !important;
  font-size: .95rem;
}

.rbx-menu-sublink:hover {
  background: #f1f3f5;
  color: #111820 !important;
  transform: translateX(2px);
}

.rbx-menu-sublink.active {
  background: #ffc107;
  color: #202020 !important;
  box-shadow: 0 3px 10px rgba(255,193,7,.18);
}

.rbx-menu-sublink.active > i {
  color: #202020 !important;
}

.menu-content > .menu-link.active {
  background: #ffc107;
  border-radius: 10px;
}

@media (max-width: 767.98px) {
  .menu-content {
    margin-left: 12px;
    margin-top: 8px;
    min-width: min(300px, calc(100vw - 24px));
    max-height: calc(100dvh - 92px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .rbx-menu-group-toggle {
    min-height: 50px;
  }

  .rbx-menu-sublink {
    min-height: 42px;
  }
}


/* =========================================================
   Layout adattivo automatico: desktop sidebar / mobile menu
   ========================================================= */
@media (min-width: 1100px) {
  :root {
    --rbx-sidebar-width: 286px;
  }

  body:has(> .mobile-menu) {
    padding-left: var(--rbx-sidebar-width);
  }

  .mobile-menu {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--rbx-sidebar-width);
    min-height: 100vh;
    background: #ffffff;
    border-right: 1px solid #e7e9ec;
    box-shadow: 8px 0 28px rgba(24, 32, 44, .06);
    z-index: 2500;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 18px 12px 16px;
  }

  .mobile-menu .menu-relative {
    position: static;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }

  .mobile-menu .menu-toggle {
    display: none !important;
  }

  .mobile-menu .menu-content {
    display: flex !important;
    position: static;
    width: 100%;
    min-width: 0;
    max-width: none;
    max-height: none;
    overflow-y: auto;
    margin: 0;
    padding: 0 2px 10px 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    gap: 6px;
  }

  .mobile-menu .rbx-menu-group {
    border-color: #eceff2;
    background: #fff;
  }

  .mobile-menu .rbx-menu-group:not([open]) .rbx-menu-submenu {
    display: flex;
  }

  .mobile-menu .rbx-menu-group:not([open]) .rbx-menu-chevron {
    transform: rotate(180deg);
  }

  .mobile-menu .rbx-menu-group-toggle {
    cursor: default;
    pointer-events: none;
    background: #f8f9fa;
  }

  .mobile-menu .rbx-menu-submenu {
    display: flex !important;
  }

  .mobile-menu .user-box {
    position: fixed;
    left: 14px;
    bottom: 14px;
    width: calc(var(--rbx-sidebar-width) - 28px);
    max-width: none;
    z-index: 2600;
  }

  .mobile-menu > div[style*="position:absolute"] {
    position: static !important;
    margin-top: auto;
  }

  body > main,
  body > .container,
  body > .container-fluid,
  body > .rbx-operation-hero,
  body > #form_ritira,
  body > #lista_ritiri,
  body > #form_consegna,
  body > #lista_consegne,
  body > .rbx-summary-section {
    max-width: none;
  }
}

@media (min-width: 768px) and (max-width: 1099.98px) {
  .menu-content {
    min-width: 280px;
  }
}


/* =========================================================
   Menu v3 - minimal, coerente con renderer section/is-open
   ========================================================= */
.rbx-menu-group {
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.rbx-menu-group + .rbx-menu-group {
  margin-top: 10px;
}

.rbx-menu-group-toggle {
  width: 100%;
  min-height: 38px;
  padding: 7px 8px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #4b5563;
  font: inherit;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}

.rbx-menu-group-toggle:hover,
.rbx-menu-group.is-active > .rbx-menu-group-toggle {
  background: #f7f7f5;
  color: #1f2937;
}

.rbx-menu-group-main {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
}

.rbx-menu-group-main > i {
  width: 18px;
  flex: 0 0 18px;
  margin: 0 !important;
  color: #e3a600 !important;
  font-size: .94rem;
  text-align: center;
}

.rbx-menu-chevron {
  min-width: 0 !important;
  margin: 0 !important;
  color: #9ca3af !important;
  font-size: .68rem !important;
  transform: rotate(0deg);
  transition: transform .18s ease;
}

.rbx-menu-group.is-open .rbx-menu-chevron {
  transform: rotate(180deg);
}

.rbx-menu-submenu {
  display: none;
  flex-direction: column;
  gap: 2px;
  padding: 2px 0 0 27px;
  position: relative;
}

.rbx-menu-group.is-open .rbx-menu-submenu {
  display: flex;
}

.rbx-menu-sublink {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 9px;
  border-radius: 7px;
  color: #374151 !important;
  text-decoration: none;
  font-size: .9rem;
  font-weight: 650;
  transition: background .14s ease, color .14s ease;
}

.rbx-menu-sublink > i {
  width: 16px;
  flex: 0 0 16px;
  margin: 0 !important;
  color: #9ca3af !important;
  font-size: .86rem;
  text-align: center;
}

.rbx-menu-sublink:hover {
  background: #f4f4f2;
  color: #111827 !important;
  transform: none;
}

.rbx-menu-sublink.active {
  background: #ffc107;
  color: #1f2937 !important;
  box-shadow: none;
  font-weight: 800;
}

.rbx-menu-sublink.active > i {
  color: #1f2937 !important;
}

/* Smartphone/tablet: dropdown leggero, niente "card dentro card". */
@media (max-width: 1099.98px) {
  .menu-content {
    min-width: min(270px, calc(100vw - 24px));
    max-width: min(290px, calc(100vw - 24px));
    padding: 9px;
    gap: 0;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(17,24,39,.13);
  }

  .rbx-menu-group + .rbx-menu-group {
    margin-top: 5px;
  }

  .rbx-menu-group-toggle {
    min-height: 40px;
    padding: 8px 9px;
  }

  .rbx-menu-sublink {
    min-height: 36px;
  }
}

/* Desktop: vera sidebar persistente, categorie già espanse. */
@media (min-width: 1100px) {
  :root {
    --rbx-sidebar-width: 242px;
  }

  body:has(> .mobile-menu) {
    padding-left: var(--rbx-sidebar-width);
  }

  .mobile-menu {
    width: var(--rbx-sidebar-width);
    padding: 18px 12px 14px;
    background: #fff;
    border-right: 1px solid #e9eaec;
    box-shadow: none;
  }

  .mobile-menu .menu-content {
    display: flex !important;
    gap: 0;
    padding: 2px 0 82px;
    overflow-y: auto;
    scrollbar-width: thin;
  }

  .mobile-menu .rbx-menu-group {
    margin: 0 0 12px;
  }

  .mobile-menu .rbx-menu-group-toggle {
    min-height: 30px;
    padding: 4px 7px;
    pointer-events: none;
    cursor: default;
    background: transparent !important;
    color: #6b7280;
  }

  .mobile-menu .rbx-menu-chevron {
    display: none !important;
  }

  .mobile-menu .rbx-menu-submenu,
  .mobile-menu .rbx-menu-group.is-open .rbx-menu-submenu {
    display: flex !important;
    padding: 2px 0 0 9px;
  }

  .mobile-menu .rbx-menu-sublink {
    min-height: 36px;
    padding: 7px 9px;
    border-radius: 7px;
    font-size: .91rem;
  }

  .mobile-menu .rbx-menu-sublink.active {
    box-shadow: inset 3px 0 0 #d89f00;
  }

  .mobile-menu .user-box {
    left: 12px;
    bottom: 12px;
    width: calc(var(--rbx-sidebar-width) - 24px);
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid #eceef0;
    border-radius: 9px;
    box-shadow: none;
    gap: 6px;
  }

  .mobile-menu .user-box .user-name {
    font-size: .92rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .mobile-menu .user-box .fa-user-circle {
    margin-right: 3px;
    font-size: 1.2rem;
  }
}


/* =========================================================
   ResolutiveBox desktop shell v1
   Coerenza layout tra tutte le pagine applicative
   ========================================================= */
.rbx-page-shell {
  width: 100%;
  max-width: 1380px;
  margin-inline: auto;
  padding-top: 28px;
  padding-bottom: 48px;
}

.rbx-page-header {
  margin-bottom: 28px;
}

.rbx-page-header .rbx-logo,
.rbx-operation-hero .rbx-logo {
  width: auto;
  max-width: 210px !important;
  max-height: 58px;
  object-fit: contain;
}

.rbx-page-header .rbx-title,
.rbx-page-header > div[style*="font-size:2rem"],
.rbx-page-header > .fs-2,
.rbx-operation-hero .rbx-title {
  font-size: 2rem !important;
  line-height: 1.15;
  font-weight: 800 !important;
  color: #172033;
  margin-top: 10px !important;
}

.rbx-page-header .rbx-underline,
.rbx-operation-hero .rbx-underline,
.rbx-page-header > div[style*="width:120px"] {
  width: 96px !important;
  height: 3px !important;
  margin-top: 11px !important;
  border-radius: 999px !important;
}

.rbx-page-shell > .row.g-3,
.rbx-page-shell > .row.g-2 {
  --bs-gutter-y: .85rem;
}

.rbx-page-shell .summary-card,
.rbx-page-shell .metric,
.rbx-page-shell .settings-card,
.rbx-page-shell .toolbar,
.rbx-page-shell .users-toolbar,
.rbx-page-shell .table-wrap,
.rbx-page-shell .client-table-wrap,
.rbx-page-shell .rbx-panel,
.rbx-page-shell .event-card,
.rbx-page-shell .filter-card {
  border-radius: 12px !important;
}

.rbx-page-shell .summary-card,
.rbx-page-shell .metric {
  min-height: 88px;
  padding: 13px 15px !important;
}

.rbx-page-shell .summary-card .text-muted,
.rbx-page-shell .metric .text-muted {
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .035em;
}

.rbx-page-shell .summary-value,
.rbx-page-shell .metric-value {
  margin-top: 3px;
  line-height: 1;
}

@media (min-width: 1100px) {
  .rbx-page-shell {
    max-width: 1380px !important;
    padding-left: 28px;
    padding-right: 28px;
    padding-top: 24px;
  }

  .rbx-page-header {
    margin-bottom: 24px !important;
  }

  /* Le pagine operative storiche hanno header fuori dal main: stesso allineamento visivo */
  .rbx-operation-hero {
    width: 100%;
    max-width: 1380px;
    margin: 0 auto 24px !important;
    padding: 24px 28px 0;
  }

  #form_ritira,
  #lista_ritiri,
  #form_consegna,
  #lista_consegne,
  .rbx-summary-section {
    width: 100%;
    max-width: 1380px !important;
    padding-left: 28px;
    padding-right: 28px;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #form_ritira > .card,
  #form_consegna > .card {
    max-width: none !important;
  }

  #lista_ritiri > .row,
  #lista_consegne > .row {
    width: 100%;
    margin: 0;
  }

  #lista_ritiri > .row > [class*="col-"],
  #lista_consegne > .row > [class*="col-"] {
    width: 100%;
    max-width: none;
    flex: 0 0 100%;
  }

  /* Storico: limita il vecchio container-fluid allo stesso canvas */
  body:has(.rbx-storico-shell) .container-fluid.rbx-storico-shell {
    max-width: 1380px;
    margin-inline: auto;
    padding-left: 28px;
    padding-right: 28px;
  }
}

@media (max-width: 1099.98px) {
  .rbx-page-shell {
    padding: 20px 12px 38px;
  }

  .rbx-page-header {
    margin-bottom: 20px !important;
  }

  .rbx-page-header .rbx-logo,
  .rbx-operation-hero .rbx-logo {
    max-width: 190px !important;
  }

  .rbx-page-header .rbx-title,
  .rbx-page-header > div[style*="font-size:2rem"],
  .rbx-page-header > .fs-2,
  .rbx-operation-hero .rbx-title {
    font-size: 1.7rem !important;
  }
}


/* Rifiniture shell operative desktop */
@media (min-width: 1100px) {
  #form_ritira,
  #form_consegna {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    align-items: stretch !important;
  }

  #lista_ritiri,
  #lista_consegne {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    align-items: stretch !important;
  }

  .rbx-summary-section {
    margin-top: 16px !important;
    margin-bottom: 40px !important;
  }

  .rbx-operation-card,
  .rbx-operation-list-card,
  .rbx-collapse-card {
    border-radius: 12px !important;
  }

  .rbx-page-header #aziendaNome {
    font-size: 2rem !important;
    line-height: 1.15;
    font-weight: 800 !important;
    color: #172033;
  }
}

/* Storico legacy: neutralizza il card-body duplicato senza alterare il DOM */
.rbx-storico-shell .card-body > .card-body {
  padding: 0 !important;
}


/* Header uniforme definitivo: Ritiri / Scarico / Anomalie */
.rbx-page-header-shell {
  width: 100%;
  max-width: 1380px;
  margin: 0 auto;
  padding: 24px 28px 0;
}

.rbx-page-header-shell .rbx-page-header {
  margin-bottom: 24px !important;
}

.rbx-page-header-shell .rbx-logo,
.rbx-page-header .rbx-logo {
  width: auto !important;
  max-width: 210px !important;
  max-height: 58px !important;
  object-fit: contain;
}

.rbx-page-header-shell .rbx-title,
.rbx-page-header .rbx-title {
  margin-top: 10px !important;
  font-size: 2rem !important;
  line-height: 1.15;
  font-weight: 800 !important;
  color: #172033 !important;
}

.rbx-page-header-shell .rbx-underline,
.rbx-page-header .rbx-underline {
  width: 96px !important;
  height: 3px !important;
  margin-top: 11px !important;
  border-radius: 999px !important;
  background: #ffc107 !important;
}

/* Neutralizza le vecchie hero operative specifiche */
body[data-rbx-page="ritiri"],
body[data-rbx-page="consegna"] {
  background: linear-gradient(120deg, #f8fafc 60%, #e3f0ff 100%) !important;
}

body[data-rbx-page="ritiri"] .rbx-page-header-shell .rbx-logo,
body[data-rbx-page="consegna"] .rbx-page-header-shell .rbx-logo {
  width: auto !important;
  max-width: 210px !important;
  max-height: 58px !important;
}

body[data-rbx-page="ritiri"] .rbx-page-header-shell .rbx-title,
body[data-rbx-page="consegna"] .rbx-page-header-shell .rbx-title {
  font-size: 2rem !important;
  margin-top: 10px !important;
}

@media (max-width: 1099.98px) {
  .rbx-page-header-shell {
    padding: 20px 12px 0;
  }

  .rbx-page-header-shell .rbx-page-header {
    margin-bottom: 20px !important;
  }

  .rbx-page-header-shell .rbx-logo,
  .rbx-page-header .rbx-logo {
    max-width: 190px !important;
    max-height: 54px !important;
  }

  .rbx-page-header-shell .rbx-title,
  .rbx-page-header .rbx-title {
    font-size: 1.7rem !important;
  }
}

/* Storico > Anomalie */
.rbx-storico-anomaly {
  border: 1px solid #e5e7eb;
  border-left: 4px solid #ffc107;
  border-radius: 12px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 3px 12px rgba(17,24,39,.05);
}

.rbx-storico-anomaly.alta {
  border-left-color: #dc3545;
}

.rbx-storico-anomaly.media {
  border-left-color: #ffc107;
}

#anomalie .rbx-reconcile-card {
  height: 100%;
}

#anomalie .font-monospace {
  overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
  .rbx-storico-anomaly {
    padding: 13px;
  }
}

/* Campanella notifiche backend desktop */
.rbx-backend-notify{position:fixed;top:12px;right:22px;z-index:12000;display:flex;align-items:center;gap:10px}
.rbx-backend-user{height:42px;display:flex;align-items:center;padding:0 12px;border:1px solid #e4e7ec;border-radius:11px;background:#fff;color:#667085;font-size:.88rem;box-shadow:0 4px 14px rgba(16,24,40,.06);white-space:nowrap}
.rbx-backend-user strong{color:#1f2937;margin-left:4px}
.rbx-backend-notify-btn{width:42px;height:42px;border-radius:11px;border:1px solid #dfe3e8;background:#fff;display:flex;align-items:center;justify-content:center;color:#344054;box-shadow:0 4px 14px rgba(16,24,40,.08);position:relative}
.mobile-menu .rbx-sidebar-logout{cursor:default}
.mobile-menu .rbx-sidebar-logout-link{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:40px;border-radius:8px;color:#667085;text-decoration:none;font-weight:800;font-size:.9rem}
.mobile-menu .rbx-sidebar-logout-link i{color:#d92d20}
.mobile-menu .rbx-sidebar-logout-link:hover{background:#fff5f4;color:#b42318}
.rbx-backend-notify-btn:hover{background:#fffaf0;border-color:#ffc107;color:#101828}
.rbx-backend-notify-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:#dc3545;color:#fff;font-size:.68rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.rbx-backend-notify-panel{position:absolute;top:50px;right:0;width:390px;max-height:520px;background:#fff;border:1px solid #e4e7ec;border-radius:14px;box-shadow:0 18px 45px rgba(16,24,40,.2);overflow:hidden;display:none}
.rbx-backend-notify-panel.open{display:block}
.rbx-backend-notify-head{padding:13px 14px;border-bottom:1px solid #eef1f4;display:flex;align-items:center;justify-content:space-between}
.rbx-backend-notify-list{max-height:430px;overflow-y:auto}
.rbx-backend-notify-item{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:11px 13px;border-bottom:1px solid #f0f2f5;text-decoration:none;color:#344054}
.rbx-backend-notify-item:hover{background:#fffcf2;color:#101828}
.rbx-backend-notify-item.unread{background:#fffdf5}
.rbx-backend-notify-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#f2f4f7;color:#475467}
.rbx-backend-notify-icon.importante{background:#fff4cc;color:#806000}
.rbx-backend-notify-icon.urgente{background:#fee4e2;color:#b42318}
.rbx-backend-notify-title{font-size:.86rem;font-weight:800}
.rbx-backend-notify-text{font-size:.78rem;color:#667085;margin-top:2px}
.rbx-backend-notify-time{font-size:.69rem;color:#98a2b3;margin-top:4px}
@media(max-width:1099.98px){.rbx-backend-notify{display:none}}


/* =========================================================
   Large display / TV presentation tuning
   Migliora la leggibilita su Full HD/4K senza alterare desktop standard
   ========================================================= */
@media (min-width: 1800px) {
  :root { --rbx-sidebar-width: 258px; }

  .rbx-page-shell,
  .rbx-operation-hero,
  #form_ritira,
  #lista_ritiri,
  #form_consegna,
  #lista_consegne,
  .rbx-summary-section,
  body:has(.rbx-storico-shell) .container-fluid.rbx-storico-shell {
    max-width: 1600px !important;
  }

  .rbx-page-shell,
  .rbx-operation-hero,
  #form_ritira,
  #lista_ritiri,
  #form_consegna,
  #lista_consegne,
  .rbx-summary-section {
    padding-left: 34px;
    padding-right: 34px;
  }

  .rbx-page-header .rbx-logo,
  .rbx-operation-hero .rbx-logo {
    max-width: 235px !important;
    max-height: 66px;
  }

  .rbx-page-header .rbx-title,
  .rbx-page-header > div[style*="font-size:2rem"],
  .rbx-page-header > .fs-2,
  .rbx-operation-hero .rbx-title,
  .rbx-page-header #aziendaNome {
    font-size: 2.25rem !important;
  }

  .rbx-page-shell .summary-card,
  .rbx-page-shell .metric {
    min-height: 98px;
    padding: 16px 18px !important;
  }

  .rbx-page-shell .summary-card .text-muted,
  .rbx-page-shell .metric .text-muted {
    font-size: .82rem;
  }

  .mobile-menu .rbx-menu-sublink {
    min-height: 39px;
    font-size: .96rem;
  }

  .mobile-menu .rbx-menu-group-toggle {
    font-size: .79rem;
  }

  .form-control,
  .form-select,
  .btn {
    font-size: 1rem;
  }
}

@media (min-width: 2400px) {
  .rbx-page-shell,
  .rbx-operation-hero,
  #form_ritira,
  #lista_ritiri,
  #form_consegna,
  #lista_consegne,
  .rbx-summary-section,
  body:has(.rbx-storico-shell) .container-fluid.rbx-storico-shell {
    max-width: 1880px !important;
  }

  body {
    font-size: 1.06rem;
  }

  .rbx-page-header .rbx-title,
  .rbx-page-header > div[style*="font-size:2rem"],
  .rbx-page-header > .fs-2,
  .rbx-operation-hero .rbx-title,
  .rbx-page-header #aziendaNome {
    font-size: 2.5rem !important;
  }
}

/* RSB 2.1 - navigazione mobile full screen */
@media(max-width:767.98px){
 body.rbx-menu-open{overflow:hidden!important}
 .mobile-menu .menu-content.rbx-full-open{display:flex!important}
 .mobile-menu .menu-content{position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;max-width:none!important;min-width:0!important;max-height:100dvh!important;height:100dvh!important;margin:0!important;padding:70px 18px max(22px,env(safe-area-inset-bottom))!important;border-radius:0!important;box-shadow:none!important;z-index:60001!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;background:#f8fafc!important;flex-direction:column!important;gap:7px!important}
 .mobile-menu .menu-content:not(.rbx-full-open){display:none!important}
 .mobile-menu .rbx-menu-group{width:100%}
 .mobile-menu .rbx-menu-group-toggle{min-height:53px}
 .mobile-menu .rbx-menu-sublink{min-height:48px;padding:11px 13px;font-size:.96rem}
 .mobile-menu .rbx-mobile-menu-close{position:fixed;top:max(14px,env(safe-area-inset-top));right:18px;z-index:60003;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#ffc107;border:0;border-radius:12px;color:#18212f;font-size:1.4rem;box-shadow:0 3px 12px #0002}
 .mobile-menu .rbx-menu-backdrop{display:none}
}
@media(min-width:768px){.rbx-mobile-menu-close{display:none!important}}
/* Controlli di selezione operativi */
@media(max-width:767.98px){
 body[data-rbx-page="ritiri"] .form-select,body[data-rbx-page="cambio"] .form-select,body[data-rbx-page="consegna"] .form-select,
 body[data-rbx-page="ritiri"] select,body[data-rbx-page="cambio"] select,body[data-rbx-page="consegna"] select,
 .rbx-operational-select{min-height:46px;border:1px solid #d0d5dd;border-radius:11px;background-color:#fff;color:#202733;font-size:16px;box-shadow:0 2px 8px #1e2a3c0a}
 .choices__inner{min-height:46px!important;border:1px solid #d0d5dd!important;border-radius:11px!important;background:#fff!important;display:flex;align-items:center;font-size:16px!important}
 .choices.is-focused .choices__inner,.choices.is-open .choices__inner{border-color:#75a7ff!important;box-shadow:0 0 0 3px #2470ec24!important}
 .choices__list--dropdown,.choices__list[aria-expanded]{z-index:1050!important;border-radius:10px!important;box-shadow:0 12px 30px #10182825!important}
}

/* RSB 2.1 - fix logout sidebar e tipografia navigazione */
.mobile-menu .rbx-sidebar-exit{display:none}
@media(min-width:1100px){
 .mobile-menu .rbx-sidebar-exit{position:fixed;left:12px;bottom:12px;display:flex;align-items:center;justify-content:center;gap:9px;width:calc(var(--rbx-sidebar-width,242px) - 24px);min-height:43px;padding:9px;border:1px solid #eceef0;border-radius:9px;background:#fff;text-decoration:none;color:#667085;font-size:.9rem;font-weight:700;z-index:2600}
 .mobile-menu .rbx-sidebar-exit i{color:#d92d20}
}
@media(max-width:767.98px){
 .mobile-menu .rbx-sidebar-exit{display:none!important}
 .mobile-menu .menu-content.rbx-full-open .rbx-mobile-exit{display:flex;align-items:center;justify-content:center;gap:9px;flex-shrink:0;margin-top:auto;padding:13px;min-height:48px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;color:#344054;font-size:15px;font-weight:700;text-decoration:none}
 .mobile-menu .rbx-mobile-exit i{color:#d92d20}
 .mobile-menu .rbx-menu-group-toggle{font-size:12px!important;font-weight:700!important;letter-spacing:.035em!important;text-transform:uppercase}
 .mobile-menu .rbx-menu-group-main > span{font-size:12px!important;letter-spacing:.035em!important}
 .mobile-menu .rbx-menu-sublink{font-size:15px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:0!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
 .mobile-menu .rbx-menu-sublink.active{font-weight:700!important}
 .mobile-menu .menu-content{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important}
 .mobile-menu .rbx-menu-submenu{gap:4px}
}

.mobile-menu .rbx-mobile-exit{display:none}
@media(max-width:1099.98px){.mobile-menu .rbx-sidebar-exit,.mobile-menu .rbx-sidebar-logout{display:none!important}}
@media(max-width:767.98px){.mobile-menu .menu-content.rbx-full-open .rbx-mobile-exit{display:flex!important}}

/* RSB22_NAV_UNIFIED_BEGIN */
/* ResolutiveBox 2.2: SINGLE navigation layer, loaded synchronously by mobile.css. */
@media(min-width:1100px){
 body:has(> .mobile-menu){padding-left:242px!important}
 body>.mobile-menu{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:242px!important;padding:22px 12px 14px!important;background:#fffdf8!important;border-right:1px solid #dce5ec!important;box-shadow:2px 0 16px #223b500b!important;z-index:2000!important}
 body>.mobile-menu .menu-content{display:flex!important;flex-direction:column!important;gap:4px!important;width:218px!important;max-height:calc(100dvh - 65px)!important;overflow-y:auto!important;overflow-x:hidden!important;padding:4px 0 12px!important;scrollbar-width:thin!important;scrollbar-color:#dce5ec transparent!important}
 body>.mobile-menu .menu-toggle{display:none!important}
 body>.mobile-menu .rbx-menu-group{margin:0 0 5px!important;width:100%!important;position:relative!important}
 body>.mobile-menu .rbx-menu-group-toggle{display:flex!important;align-items:center!important;justify-content:space-between!important;pointer-events:auto!important;cursor:pointer!important;width:100%!important;height:42px!important;min-height:42px!important;padding:8px 11px!important;border-radius:10px!important;background:transparent!important}
 body>.mobile-menu .rbx-menu-group-main{display:flex!important;gap:11px!important;align-items:center!important}
 body>.mobile-menu .rbx-menu-group-main>span{display:inline!important;font-size:12px!important;font-weight:800!important;color:#314961!important}
 body>.mobile-menu .rbx-menu-group-main>i{font-size:17px!important;color:#8095a7!important}
 body>.mobile-menu .rbx-menu-chevron{display:inline!important;font-size:11px!important}
 body>.mobile-menu .rbx-menu-group.is-open>.rbx-menu-group-toggle,body>.mobile-menu .rbx-menu-group.is-active>.rbx-menu-group-toggle{background:#fff3d5!important}
 body>.mobile-menu .rbx-menu-group .rbx-menu-submenu{display:none!important;position:static!important;width:100%!important;padding:4px 0 8px 12px!important;gap:3px!important;border:0!important;background:transparent!important;box-shadow:none!important}
 body>.mobile-menu .rbx-menu-group.is-open .rbx-menu-submenu{display:flex!important;flex-direction:column!important}
 body>.mobile-menu .rbx-menu-sublink{min-height:36px!important;height:auto!important;width:100%!important;padding:8px 10px!important;font-size:12.5px!important;border-radius:9px!important;display:flex!important;align-items:center!important;gap:10px!important;white-space:normal!important;overflow:visible!important}
 body>.mobile-menu .rbx-menu-sublink>span{display:inline!important}
 body>.mobile-menu .rbx-menu-sublink i{font-size:15px!important;color:#91a0af!important}
 body>.mobile-menu .rbx-menu-sublink.active{background:#fff0c4!important;color:#213a50!important;box-shadow:inset 3px 0 #e4b53b!important}
 body>.mobile-menu .rbx-nav-edge,body>.mobile-menu .rbx-sidebar-mode-toggle,body>.mobile-menu .rbx-side-rail{display:none!important}
}
@media(max-width:1099.98px) and (min-width:768px){
 body>.mobile-menu .rbx-nav-edge,body>.mobile-menu .rbx-sidebar-mode-toggle{display:none!important}
}
@media(max-width:767.98px){
 body.rbx-menu-open{overflow:hidden!important}
 body>.mobile-menu .menu-content{position:fixed!important;top:0!important;left:0!important;right:auto!important;bottom:0!important;inset:0 auto 0 0!important;width:min(320px,88vw)!important;min-width:0!important;max-width:min(320px,88vw)!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:65px 14px 22px!important;border-radius:0 16px 16px 0!important;border-right:1px solid #dce5ec!important;background:#fcfbf7!important;box-shadow:9px 0 30px #223a5040!important;z-index:60001!important;flex-direction:column!important;gap:4px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important}
 body>.mobile-menu .menu-content:not(.rbx-full-open){display:none!important}
 body>.mobile-menu .menu-content.rbx-full-open{display:flex!important}
 body>.mobile-menu .rbx-menu-group{margin:0!important;padding:0 0 4px!important;border-bottom:1px solid #e7edf1!important;width:100%!important}
 body>.mobile-menu .rbx-menu-group-toggle{display:flex!important;width:100%!important;min-height:50px!important;padding:11px 10px!important;justify-content:space-between!important;align-items:center!important;background:transparent!important;border-radius:10px!important;pointer-events:auto!important;cursor:pointer!important}
 body>.mobile-menu .rbx-menu-group-toggle .rbx-menu-group-main{display:flex!important;gap:12px!important;align-items:center!important}
 body>.mobile-menu .rbx-menu-group-main>span{font-size:13px!important;display:inline!important;font-weight:800!important}
 body>.mobile-menu .rbx-menu-group-main>i{font-size:17px!important;color:#d2a019!important}
 body>.mobile-menu .rbx-menu-group:not(.is-open) .rbx-menu-submenu{display:none!important;visibility:hidden!important;max-height:0!important;padding:0!important}
 body>.mobile-menu .rbx-menu-group.is-open .rbx-menu-submenu{display:flex!important;visibility:visible!important;flex-direction:column!important;position:static!important;max-height:45dvh!important;overflow-y:auto!important;gap:3px!important;padding:4px 0 12px 12px!important}
 body>.mobile-menu .rbx-menu-group.is-open>.rbx-menu-group-toggle{background:#edf4fa!important}
 body>.mobile-menu .rbx-menu-sublink{min-height:43px!important;padding:10px!important;font-size:14px!important;border-radius:10px!important}
 body>.mobile-menu .rbx-menu-sublink.active{background:#fff2cc!important}
 body>.mobile-menu .rbx-mobile-menu-close{position:fixed!important;top:14px!important;left:min(260px,calc(88vw - 60px))!important;right:auto!important;width:40px!important;height:40px!important;border-radius:11px!important;background:#edf4fa!important;border:1px solid #ccdde8!important;box-shadow:none!important}
 body>.mobile-menu .rbx-menu-backdrop{display:none!important}
 body>.mobile-menu .rbx-mobile-brand{display:none!important}
}

/* RSB22_NAV_UNIFIED_END */
