:root {
  --bg: #04111d;
  --panel: #071a2a;
  --panel2: #0a2236;
  --line: #173b56;
  --text: #eef7ff;
  --muted: #8fa7b9;
  --accent: #21b7ff;
  --green: #28d17c;
  --red: #ff4e5f;
  --yellow: #f0b429;
  --dark: #111827;
  --shadow: rgba(0, 0, 0, .35);
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  min-height: 100%;
  background: var(--bg);
  color: var(--text);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body {
  padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}

button, input, textarea, select {
  font: inherit;
}

.app-shell {
  width: min(720px, 100%);
  min-height: 100vh;
  margin: 0 auto;
  background: linear-gradient(180deg, #061522 0%, #03101b 100%);
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  min-height: 62px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(3, 12, 20, .96);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
}

.brand {
  font-weight: 800;
  letter-spacing: .06em;
  font-size: 18px;
  text-transform: uppercase;
}

.subtitle {
  color: var(--muted);
  font-size: 12px;
  margin-top: 2px;
}

main { padding: 12px; }

.view { animation: fade .16s ease-out; }
.hidden { display: none !important; }

@keyframes fade {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

.card, .hero-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 14px 26px var(--shadow);
  margin-bottom: 12px;
}

.hero-card {
  text-align: center;
  padding: 24px 14px;
  background: radial-gradient(circle at top, #0e3b58 0%, var(--panel) 55%);
}

.shield, .pending-icon {
  font-size: 34px;
  margin-bottom: 6px;
}

h1, h2 {
  margin: 0 0 8px;
  line-height: 1.2;
}

h1 { font-size: 22px; }
h2 { font-size: 17px; }

.muted, .message, .map-note {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.message {
  margin-top: 10px;
  min-height: 18px;
}

.message.ok { color: var(--green); }
.message.warn { color: var(--yellow); }
.message.error { color: var(--red); }

label {
  display: block;
  margin-top: 12px;
  margin-bottom: 5px;
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .04em;
}

input, textarea, select {
  width: 100%;
  border: 1px solid #1f4b68;
  background: #020b13;
  color: var(--text);
  border-radius: 12px;
  padding: 12px;
  outline: none;
}

input:focus, textarea:focus, select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(33, 183, 255, .16);
}

.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.actions-row {
  display: flex;
  gap: 10px;
  margin-top: 14px;
}

button {
  border: 0;
  border-radius: 12px;
  min-height: 44px;
  padding: 0 14px;
  color: white;
  font-weight: 800;
  letter-spacing: .03em;
  cursor: pointer;
}

button:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.primary { background: #0d7fb6; }
.secondary { background: #17364c; }
.success { background: #12834d; }
.danger { background: #a82636; }
.warning { background: #a87110; }
.dark { background: #111827; border: 1px solid #334155; }
.icon-button { background: transparent; min-height: 38px; width: 42px; font-size: 20px; }
.link-button { background: transparent; color: var(--accent); }
.full { width: 100%; margin-top: 10px; }
.small { min-height: 34px; padding: 0 10px; font-size: 12px; }
.center { text-align: center; }

.status-strip {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  background: var(--panel2);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px;
  margin-bottom: 10px;
}

.status-strip strong { display: block; font-size: 15px; }
.status-strip span { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }

.tile-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}

.tile {
  position: relative;
  background: #061522;
  border: 1px solid var(--line);
  color: var(--muted);
}

.tile.active {
  border-color: var(--accent);
  color: var(--text);
}

.badge {
  position: absolute;
  top: -7px;
  right: -7px;
  background: var(--red);
  border-radius: 99px;
  min-width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  color: white;
  font-size: 12px;
}

.card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.list {
  display: grid;
  gap: 10px;
}

.order-item {
  border: 1px solid var(--line);
  background: #04121e;
  border-radius: 14px;
  padding: 12px;
}

.order-item h3 {
  margin: 0 0 6px;
  font-size: 15px;
}

.order-meta {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.order-item-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: #17364c;
  color: var(--text);
  font-weight: 800;
  font-size: 12px;
  margin: 4px 0 10px;
}

.pill.waiting { background: #5b3b06; }
.pill.accepted { background: #095a8b; }
.pill.progress { background: #0b6a3f; }
.pill.interrupted { background: #841b2b; }
.pill.arrived { background: #334155; }

.detail-text { color: var(--text); line-height: 1.45; }

.detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 12px 0;
}

.detail-grid div {
  background: #03101b;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px;
}

.detail-grid span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  margin-bottom: 5px;
}

.detail-grid strong {
  display: block;
  font-size: 13px;
  line-height: 1.35;
}

.map {
  height: 250px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--line);
  margin: 8px 0 12px;
  background: #020b13;
}

.commission-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: rgba(0, 0, 0, .72);
  display: grid;
  place-items: center;
  padding: 14px;
}

.modal-card {
  width: min(520px, 100%);
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .5);
}

.leaflet-control-attribution { font-size: 10px; }

@media (max-width: 520px) {
  .grid-2, .detail-grid { grid-template-columns: 1fr; }
  .actions-row { flex-direction: column; }
  .card-header { align-items: flex-start; flex-direction: column; }
  .card-header button { width: 100%; }
}

/* =========================================================
 * REPORT MOBILE v4.0 - REPORTES Y EVACUADOS
 * ========================================================= */
.main-menu-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.report-menu-grid {
  display: grid;
  gap: 10px;
}

.report-menu-card {
  min-height: 84px;
  text-align: left;
  background: #061522;
  border: 1px solid var(--line);
  color: var(--text);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 6px;
  padding: 14px;
}

.report-menu-card strong {
  font-size: 15px;
  letter-spacing: .05em;
}

.report-menu-card span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 500;
}

.report-map {
  height: 230px;
}

.compact-actions {
  gap: 8px;
}

.compact-actions button {
  flex: 1;
  font-size: 12px;
}

.qr-video {
  width: 100%;
  max-height: 280px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #020b13;
  margin: 10px 0;
}

input[type="file"] {
  padding: 10px;
  background: #020b13;
}

@media (max-width: 520px) {
  .main-menu-grid {
    grid-template-columns: 1fr 1fr;
  }
}


.qr-raw {
  max-height: 92px;
  overflow: auto;
  word-break: break-all;
  white-space: pre-wrap;
  background: rgba(2, 11, 19, .72);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 8px;
}

.report-menu-card:not(.hidden) {
  display: flex;
}

/* ===== ETAPA 4.0.2 - OCR DNI DIGITAL ===== */
.ocr-card {
  margin: 10px 0 12px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #03101b;
}

.dni-preview {
  width: 100%;
  max-height: 240px;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 12px;
  margin-top: 10px;
  background: #020b13;
}

.qr-raw {
  max-height: 84px;
  overflow: auto;
  word-break: break-all;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 8px;
  background: #03101b;
}

/* =========================================================
 * ETAPA 4.5 - ACTA DE ENTREGA / RECEPCIÓN
 * ========================================================= */
.delivery-act-panel {
  margin-top: 12px;
  border-color: rgba(255, 213, 79, .42);
  background: rgba(255, 213, 79, .055);
}

.delivery-act-panel h3 {
  margin: 0 0 6px 0;
  color: #ffd54f;
  font-size: 16px;
  letter-spacing: .4px;
}

.photo-preview {
  display: block;
  width: 100%;
  max-height: 260px;
  object-fit: contain;
  margin: 8px 0;
  border: 1px solid rgba(103, 214, 255, .35);
  border-radius: 10px;
  background: #020A14;
}


/* =========================================================
 * ETAPA 4.6 - MENSAJERÍA OPERATIVA
 * ========================================================= */
.message-toolbar {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 8px;
  margin-bottom: 10px;
}

.messages-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 340px;
  overflow: auto;
  margin: 10px 0;
  padding-right: 2px;
}

.mobile-message-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px;
  background: rgba(3, 16, 27, .88);
}

.mobile-message-card.from-sipac {
  border-color: rgba(103, 214, 255, .55);
  background: rgba(7, 55, 99, .38);
}

.mobile-message-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 4px;
}

.mobile-message-title {
  font-weight: 900;
  color: var(--text);
}

.mobile-message-body {
  white-space: pre-wrap;
  line-height: 1.35;
}

.mobile-message-related {
  margin-top: 5px;
  font-size: 11px;
  color: var(--accent);
}

@media (max-width: 520px) {
  .message-toolbar {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
 * WEB PUSH NOTIFICATIONS v4.7
 * ========================================================= */
.push-panel {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(3, 16, 27, .70);
}

.push-status {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.25;
}

@media (max-width: 520px) {
  .push-panel {
    align-items: stretch;
    flex-direction: column;
  }
}


.push-panel.mandatory {
  border-color: rgba(255, 193, 7, 0.55);
  background: rgba(255, 193, 7, 0.08);
}

.push-status {
  font-weight: 800;
}


/* =========================================================
 * REPORT MOBILE v4.8.1 — ETAPA 1A
 * EXPERIENCIA VISUAL DE OPERACIÓN / NAVEGACIÓN
 * ========================================================= */
body.operation-active {
  overflow: hidden;
  background: #020b13;
}

body.operation-active .topbar {
  display: none;
}

body.operation-active main {
  padding: 0;
}

body.operation-active .app-shell {
  max-width: 500px;
  background: #020b13;
}

.operation-view {
  min-height: 100dvh;
  background: #020b13;
  color: #f7fbff;
  position: relative;
}

.operation-appbar {
  height: 58px;
  padding: max(8px, env(safe-area-inset-top)) 12px 8px;
  display: grid;
  grid-template-columns: 42px 1fr 42px;
  align-items: center;
  background: linear-gradient(180deg, #06223a 0%, #031827 100%);
  border-bottom: 1px solid rgba(255,255,255,.06);
  position: sticky;
  top: 0;
  z-index: 1200;
}

.operation-back-button,
.operation-overflow-button {
  border: 0;
  background: transparent;
  color: #fff;
  min-height: 38px;
  width: 38px;
  padding: 0;
  font-size: 27px;
  font-weight: 500;
}

.operation-overflow-button { font-size: 30px; justify-self: end; }

.operation-appbar-title {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.operation-appbar-title strong {
  font-size: 17px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.operation-appbar-title span {
  color: #9bb2c4;
  font-size: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.operation-statebar {
  height: 36px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 7px;
  background: #020b12;
  border-bottom: 1px solid #213442;
  font-size: 11px;
  position: sticky;
  top: 58px;
  z-index: 1190;
}

.operation-statebar strong {
  margin-left: auto;
  font-size: 11px;
}

.operation-state-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #18bd68;
  box-shadow: 0 0 8px rgba(24,189,104,.42);
}

.order-received-layout {
  padding: 14px;
  min-height: calc(100dvh - 94px);
  display: grid;
  align-items: start;
  background: linear-gradient(180deg, #041522 0%, #020b13 100%);
}

.received-order-card {
  background: #071a2a;
  border: 1px solid #174465;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 18px 40px rgba(0,0,0,.34);
}

.received-order-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}

.received-order-kicker {
  color: #59c8ff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}

.received-order-heading h2 {
  margin: 5px 0 0;
  font-size: 20px;
}

.received-order-description {
  color: #b8cfdf;
  line-height: 1.5;
  font-size: 13px;
  max-height: 200px;
  overflow: auto;
}

.received-order-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin: 15px 0;
}

.received-order-grid > div {
  background: #03111c;
  border: 1px solid #153a55;
  border-radius: 12px;
  padding: 10px;
}

.received-order-grid span {
  display: block;
  color: #7f9aad;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 5px;
}

.received-order-grid strong {
  display: block;
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.received-accept-button {
  width: 100%;
  min-height: 54px;
  border-radius: 11px;
  background: linear-gradient(180deg, #18aa5b 0%, #0d8b47 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 14px;
  box-shadow: 0 9px 20px rgba(14,139,71,.26);
}

.received-accept-icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255,255,255,.2);
  display: grid;
  place-items: center;
}

.operation-workspace {
  min-height: calc(100dvh - 94px);
  padding-bottom: calc(72px + env(safe-area-inset-bottom));
  background: #020b13;
}

.operation-tab {
  min-height: calc(100dvh - 166px);
}

.operation-map-tab {
  background: #020b13;
}

.turn-instruction-panel {
  margin: 8px 8px 0;
  border: 1px solid #526575;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(2,20,32,.98), rgba(0,35,55,.98));
  padding: 10px 12px;
  min-height: 84px;
  display: grid;
  grid-template-columns: 54px 1fr 46px;
  align-items: center;
  gap: 8px;
  position: relative;
  z-index: 800;
  box-shadow: 0 6px 20px rgba(0,0,0,.3);
}

.turn-instruction-icon {
  font-size: 49px;
  line-height: 1;
  text-align: center;
}

.turn-instruction-main strong {
  display: block;
  font-size: 29px;
  line-height: 1;
}

.turn-instruction-main span {
  display: block;
  margin-top: 5px;
  font-size: 14px;
}

.turn-instruction-next {
  color: #aeb8c1;
  text-align: right;
}

.turn-instruction-next strong { display: block; color: #fff; font-size: 34px; }

.operation-map-stage {
  height: min(52dvh, 500px);
  min-height: 330px;
  position: relative;
  background: #d7dde0;
  overflow: hidden;
}

.operation-map {
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
}

.map-priority-legend {
  position: absolute;
  left: 12px;
  bottom: 16px;
  z-index: 750;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 9px 10px;
  border-radius: 8px;
  background: rgba(1,16,26,.92);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
  font-size: 10px;
  box-shadow: 0 4px 14px rgba(0,0,0,.35);
}

.map-priority-legend span { display: flex; align-items: center; gap: 6px; }
.legend-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.legend-dot.critical { background: #e83131; }
.legend-dot.medium { background: #f7931a; }
.legend-dot.low { background: #24a85c; }
.legend-dot.agent { background: #0878dd; }
.legend-dot.own { background: #168dff; border: 2px solid #fff; }

.map-round-button {
  position: absolute;
  z-index: 760;
  width: 46px;
  min-height: 46px;
  border-radius: 50%;
  background: rgba(255,255,255,.96);
  color: #132334;
  font-size: 27px;
  box-shadow: 0 4px 12px rgba(0,0,0,.28);
}

.map-center-button { left: 14px; top: 14px; }

.map-zoom-control {
  position: absolute;
  right: 13px;
  bottom: 18px;
  z-index: 760;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,.28);
}

.map-zoom-control button {
  display: block;
  width: 42px;
  min-height: 42px;
  border-radius: 0;
  background: rgba(255,255,255,.97);
  color: #132334;
  font-size: 24px;
  padding: 0;
}

.map-zoom-control button + button { border-top: 1px solid #d7dde2; }

.operation-speed-badge {
  position: absolute;
  left: 14px;
  top: 14px;
  z-index: 770;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: rgba(255,255,255,.96);
  border: 4px solid #e32727;
  color: #0b1117;
  display: none;
  place-items: center;
  align-content: center;
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
}

.operation-speed-badge strong { font-size: 21px; line-height: 1; }
.operation-speed-badge span { font-size: 8px; line-height: 1; }
.operation-map-tab.trip-in-progress .operation-speed-badge { display: grid; }
.operation-map-tab.trip-in-progress .map-center-button { top: auto; bottom: 82px; }

.operation-destination-panel {
  background: linear-gradient(180deg, #03131f 0%, #020b13 100%);
  border-top: 1px solid #17374d;
  padding: 12px 14px 14px;
}

.operation-destination-title span {
  display: block;
  color: #9db0bf;
  font-size: 10px;
  margin-bottom: 4px;
}

.operation-destination-title strong {
  display: block;
  font-size: 13px;
}

.operation-destination-panel > p {
  color: #c1d0da;
  font-size: 11px;
  margin: 5px 0 10px;
  line-height: 1.35;
}

.operation-metrics {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid #183041;
  margin-top: 8px;
}

.operation-metrics > div {
  padding: 10px 7px 4px;
  text-align: left;
}

.operation-metrics > div + div { border-left: 1px solid #183041; }
.operation-metrics span { display: block; color: #8fa3b2; font-size: 9px; }
.operation-metrics strong { display: block; font-size: 18px; margin-top: 3px; }
.operation-metrics:has(#operationNextPointMetric:not(.hidden)) { grid-template-columns: repeat(3, 1fr); }

.operation-start-button {
  width: 100%;
  min-height: 49px;
  margin-top: 10px;
  border-radius: 7px;
  background: linear-gradient(180deg, #16ad5a 0%, #0a9148 100%);
  font-size: 15px;
}

.operation-controls-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 5px;
  margin-top: 8px;
}

.operation-control {
  min-width: 0;
  min-height: 78px;
  border-radius: 7px;
  padding: 7px 3px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  font-size: 9px;
  line-height: 1.15;
}

.operation-control-icon { font-size: 23px; }
.danger-control { background: linear-gradient(#df2d31,#bb171d); }
.warning-control { background: linear-gradient(#f79812,#dd7500); }
.arrival-control { background: linear-gradient(#158c47,#08723b); }
.arrival-control.waypoint { background: linear-gradient(#0d79df,#075db8); }

.operation-resume-button,
.operation-finish-button {
  width: 100%;
  min-height: 50px;
  margin-top: 8px;
  border-radius: 7px;
  background: linear-gradient(#0878dd,#075eb3);
}

.operation-finish-button { background: linear-gradient(#18894c,#0c6d3a); }

.operation-arrival-summary {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  margin-top: 9px;
  padding-top: 9px;
  border-top: 1px solid #183041;
}

.operation-arrival-summary div { text-align: center; }
.operation-arrival-summary strong { display:block; font-size:19px; }
.operation-arrival-summary span { color:#9eb0bd; font-size:9px; }
.operation-detail-message { padding: 0 14px 8px; background: #020b13; margin: 0; }

.operation-light-screen {
  background: #f7f8fa;
  color: #111820;
  padding: 22px 16px 24px;
}

.operation-screen-heading h2 { margin:0; font-size:20px; }
.operation-screen-heading p { margin:5px 0 18px; color:#373d43; font-size:13px; }
.operation-report-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.operation-report-card {
  min-height: 164px;
  border-radius: 14px;
  border: 1px solid #d6d9de;
  background: #fff;
  color:#1e2328;
  padding: 16px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  box-shadow: 0 2px 7px rgba(0,0,0,.05);
}
.operation-report-card strong { font-size:14px; }
.operation-report-card small { color:#3e4449; text-align:center; line-height:1.45; font-weight:500; }
.operation-report-icon {
  width:48px; height:48px; display:grid; place-items:center; font-size:29px; font-weight:900;
}
.request-icon { border:5px solid #e32d2d; border-radius:50%; color:#e32d2d; }
.incident-icon { color:#f39a15; font-size:42px; clip-path: polygon(50% 0, 100% 100%, 0 100%); background:#f39a15; color:#fff; padding-top:9px; }
.flood-icon { background:#1375cc; color:#fff; border-radius:50%; }
.fire-icon { color:#fff; background:#d92a2a; border-radius:50%; font-size:34px; }
.operation-report-note { margin-top:26px; border:1px solid #c9dff6; background:#f5f9ff; color:#405c77; border-radius:12px; padding:14px; font-size:12px; line-height:1.45; }

.operation-message-tabs { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid #d5d8dc; margin:-10px -16px 12px; }
.operation-message-tabs button { border-radius:0; background:transparent; color:#18222b; min-height:48px; }
.operation-message-tabs button.active { color:#075db8; border-bottom:3px solid #2c7cff; }
.operation-conversation { min-height:calc(100dvh - 270px); max-height:calc(100dvh - 270px); overflow:auto; display:flex; flex-direction:column; gap:12px; padding:8px 0 76px; }
.operation-chat-bubble { max-width:88%; border-radius:14px; padding:12px; background:#dceafa; color:#17222c; line-height:1.45; font-size:13px; }
.operation-chat-bubble.mine { align-self:flex-end; background:#fff; border:1px solid #d8dadd; }
.operation-chat-head { display:flex; justify-content:space-between; gap:10px; font-size:10px; margin-bottom:6px; color:#4a5964; }
.operation-message-compose { position:sticky; bottom:72px; display:grid; grid-template-columns:38px 1fr 44px; align-items:center; gap:5px; background:#fff; border:1px solid #d4d8dd; border-radius:24px; padding:4px; box-shadow:0 3px 14px rgba(0,0,0,.1); }
.operation-message-compose button { min-height:38px; padding:0; background:transparent; color:#66727d; font-size:20px; }
.operation-message-compose input { border:0; background:transparent; color:#17222c; padding:9px 5px; box-shadow:none; }
.operation-message-compose .operation-send-message { background:#075db8; color:#fff; border-radius:50%; }

.operation-more-screen { padding-top:12px; }
.operation-settings-card { background:#fff; border:1px solid #d9dde1; border-radius:12px; padding:10px; margin-bottom:10px; }
.operation-settings-card h3 { margin:0 0 10px; font-size:14px; }
.operation-map-style-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.map-style-option { background:transparent; color:#25303a; min-height:88px; padding:0; display:flex; flex-direction:column; gap:5px; align-items:center; font-size:11px; }
.map-style-preview { width:100%; height:60px; border-radius:7px; border:2px solid transparent; display:block; background-size:cover; }
.map-style-preview.light { background:linear-gradient(135deg,#e8edf0 0 45%,#c6d6c7 46% 55%,#f5f5f5 56%); }
.map-style-preview.dark { background:linear-gradient(135deg,#101820,#1c2a36); }
.map-style-preview.satellite { background:linear-gradient(135deg,#4f6d47,#273a2a 48%,#7a8061); }
.map-style-option.active .map-style-preview { border-color:#2877ff; }
.settings-switch-row { margin:0; min-height:32px; display:flex; align-items:center; justify-content:space-between; color:#252d34; font-size:12px; text-transform:none; letter-spacing:0; }
.settings-switch-row input { display:none; }
.settings-switch-row i { width:34px; height:20px; border-radius:20px; background:#b9bec3; position:relative; }
.settings-switch-row i::after { content:''; position:absolute; width:16px; height:16px; background:#fff; border-radius:50%; top:2px; left:2px; transition:.15s; box-shadow:0 1px 4px rgba(0,0,0,.25); }
.settings-switch-row input:checked + i { background:#28a35e; }
.settings-switch-row input:checked + i::after { left:16px; }
.settings-segment-row { display:flex; align-items:center; justify-content:space-between; min-height:40px; color:#252d34; font-size:12px; }
.settings-segment-row div { display:grid; grid-template-columns:1fr 1fr; min-width:135px; }
.settings-segment-row button { min-height:30px; border-radius:5px; background:#f4f5f6; border:1px solid #ccd1d6; color:#4c5359; padding:0 12px; }
.settings-segment-row button.active { background:#0c68c8; color:#fff; border-color:#0c68c8; }
.operation-settings-list { border:1px solid #d9dde1; border-radius:12px; overflow:hidden; background:#fff; }
.operation-settings-list > button { width:100%; min-height:54px; border-radius:0; background:#fff; color:#1b252e; display:grid; grid-template-columns:28px 1fr 16px; text-align:left; align-items:center; gap:8px; padding:8px 10px; }
.operation-settings-list > button + button { border-top:1px solid #e0e3e6; }
.operation-settings-list span { font-size:21px; }
.operation-settings-list div strong { display:block; font-size:12px; }
.operation-settings-list div small { display:block; color:#68737d; font-weight:500; margin-top:2px; }
.operation-settings-list b { color:#77818a; font-size:22px; }

.operation-bottom-nav {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1500;
  width: min(500px, 100%);
  height: calc(66px + env(safe-area-inset-bottom));
  padding-bottom: env(safe-area-inset-bottom);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#020b12;
  border-top:1px solid #1b2e3b;
}
.operation-bottom-nav button { position:relative; border-radius:0; background:transparent; color:#a7b2ba; min-height:62px; padding:5px 2px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; }
.operation-bottom-nav button > span { font-size:21px; line-height:1; }
.operation-bottom-nav button > strong { font-size:9px; }
.operation-bottom-nav button.active { color:#0a8cff; }
.operation-nav-badge { position:absolute; top:5px; left:55%; min-width:18px; height:18px; border-radius:10px; background:#ee3030; color:#fff; font-size:9px; display:grid; place-items:center; font-style:normal; }

.report-mobile-route-line { stroke-linecap: round; stroke-linejoin: round; }
.report-mobile-driver-marker { filter: drop-shadow(0 4px 8px rgba(0,80,180,.32)); }
.report-mobile-driver-arrow { width:28px; height:28px; border-radius:50%; background:#1478e5; border:3px solid #fff; display:grid; place-items:center; color:#fff; font-size:16px; box-shadow:0 0 0 10px rgba(20,120,229,.18); transform:rotate(-30deg); }
.report-mobile-destination-marker { width:28px; height:28px; border-radius:50%; background:#e93232; border:3px solid #fff; color:#fff; display:grid; place-items:center; font-weight:900; box-shadow:0 3px 10px rgba(0,0,0,.3); }
.report-mobile-waypoint-marker { width:28px; height:28px; border-radius:50%; background:#f49316; border:3px solid #fff; color:#fff; display:grid; place-items:center; font-weight:900; box-shadow:0 3px 10px rgba(0,0,0,.3); }

@media (min-width: 501px) {
  body.operation-active { background:#dfe4e8; }
  body.operation-active .app-shell { box-shadow:0 0 50px rgba(0,0,0,.35); }
}

@media (max-width: 420px) {
  .operation-map-stage { min-height:300px; height:47dvh; }
  .received-order-grid { grid-template-columns:1fr; }
  .operation-control { min-height:72px; font-size:8px; }
  .operation-report-card { min-height:145px; }
}


/* =========================================================
   ETAPA 1A.2 — AJUSTES SOLICITADOS
   ========================================================= */

.map-priority-legend {
  display: none !important;
}

.operation-appbar-title span.hidden {
  display: none !important;
}

.operation-map-tab {
  height: calc(100dvh - 94px);
  padding-bottom: calc(66px + env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.operation-map-tab .turn-instruction-panel {
  flex: 0 0 auto;
}

.operation-map-stage {
  flex: 1 1 auto;
  height: auto;
  min-height: 245px;
  max-height: none;
}

.operation-destination-panel {
  flex: 0 0 auto;
  padding: 7px 10px 9px;
  max-height: 190px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.operation-destination-title,
#operationDestinationAddress {
  display: none !important;
}

.operation-metrics {
  margin-top: 0;
}

.operation-metrics > div {
  padding: 5px 6px 3px;
}

.operation-metrics strong {
  font-size: 16px;
}

.operation-start-button {
  min-height: 44px;
  margin-top: 7px;
}

.operation-controls-panel {
  margin-top: 4px;
}

.operation-control {
  min-height: 68px;
}

.operation-arrival-summary {
  margin-top: 4px;
  padding-top: 4px;
}

.turn-instruction-panel {
  min-height: 89px;
  padding: 9px 12px;
}

.turn-instruction-main span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.turn-instruction-next {
  max-width: 112px;
}

.turn-instruction-next small {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.operation-conversation {
  min-height: calc(100dvh - 220px);
  max-height: calc(100dvh - 220px);
  padding-top: 10px;
}

.operation-message-compose {
  grid-template-columns: 44px 1fr 44px;
}

.operation-voice-button {
  border-radius: 50% !important;
  color: #075db8 !important;
  font-size: 21px !important;
  transition:
    background .15s ease,
    color .15s ease,
    transform .15s ease;
}

.operation-voice-button.recording {
  background: #d92a2a !important;
  color: #fff !important;
  animation: voiceRecordingPulse 1s infinite;
}

.operation-voice-status {
  position: sticky;
  bottom: 126px;
  z-index: 3;
  margin: 0 auto 8px;
  width: max-content;
  max-width: 90%;
  padding: 7px 12px;
  border-radius: 18px;
  background: #d92a2a;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  box-shadow: 0 3px 12px rgba(0,0,0,.18);
}

.operation-audio-message {
  display: grid;
  gap: 5px;
  min-width: 220px;
}

.operation-audio-message audio {
  width: 100%;
  height: 36px;
}

.operation-audio-message small {
  color: #5a6872;
  font-size: 9px;
}

@keyframes voiceRecordingPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(217,42,42,.42);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 0 0 8px rgba(217,42,42,0);
  }
}

@media (max-height: 720px) {
  .operation-map-stage {
    min-height: 205px;
  }

  .turn-instruction-panel {
    min-height: 76px;
  }

  .turn-instruction-main strong {
    font-size: 24px;
  }

  .operation-control {
    min-height: 60px;
  }
}


/* =========================================================
   ETAPA 1A.3 — CORRECCIÓN AUDIO Y MODAL OPERACIONAL
   ========================================================= */

/*
 * El mapa y la navegación inferior utilizan z-index entre 750 y 1500.
 * El modal debe quedar por encima de todos los componentes Leaflet,
 * encabezados y barra inferior.
 */
body.operation-active .modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 20000 !important;
  display: grid;
  place-items: center;
  width: 100vw;
  height: 100dvh;
  padding:
    max(18px, env(safe-area-inset-top))
    max(14px, env(safe-area-inset-right))
    max(18px, env(safe-area-inset-bottom))
    max(14px, env(safe-area-inset-left));
  background: rgba(0, 8, 15, .84);
  backdrop-filter: blur(3px);
  overflow-y: auto;
  pointer-events: auto;
}

body.operation-active .modal.hidden {
  display: none !important;
}

body.operation-active .modal-card {
  position: relative;
  z-index: 20001 !important;
  width: min(440px, 100%);
  max-height: calc(100dvh - 36px);
  overflow-y: auto;
  pointer-events: auto;
  box-shadow:
    0 24px 70px rgba(0, 0, 0, .72),
    0 0 0 1px rgba(103, 214, 255, .18);
}

body.operation-active .modal-card button,
body.operation-active .modal-card select,
body.operation-active .modal-card textarea,
body.operation-active .modal-card input {
  position: relative;
  z-index: 20002;
  pointer-events: auto;
}

.operation-send-message.voice-ready {
  background: #d92a2a !important;
  color: #fff !important;
  animation: voiceSendReadyPulse 1s infinite;
}

@keyframes voiceSendReadyPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(217, 42, 42, .42);
  }

  50% {
    box-shadow: 0 0 0 8px rgba(217, 42, 42, 0);
  }
}


/* =========================================================
   ETAPA 1B — POSICIÓN HÍBRIDA Y ANIMACIÓN ESTIMADA
   ========================================================= */

.operation-statebar {
  gap: 7px;
}

.operation-position-mode-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 17px;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .35px;
  white-space: nowrap;
}

.operation-position-mode-pill.gps {
  background: rgba(0, 184, 107, .18);
  border: 1px solid rgba(0, 230, 118, .56);
  color: #65f0aa;
}

.operation-position-mode-pill.estimated {
  background: rgba(10, 115, 232, .2);
  border: 1px solid rgba(103, 214, 255, .72);
  color: #8de4ff;
}

.operation-position-mode-pill.paused {
  background: rgba(255, 152, 0, .18);
  border: 1px solid rgba(255, 193, 7, .68);
  color: #ffd36a;
}

.operation-position-mode-pill.arrival-estimated {
  background: rgba(217, 42, 42, .22);
  border: 1px solid rgba(255, 104, 104, .76);
  color: #ffb1b1;
  animation: arrivalEstimatedPulse 1.15s infinite;
}

.report-mobile-driver-marker.estimated
.report-mobile-driver-arrow {
  background: #1478e5;
  border-style: dashed;
  box-shadow:
    0 0 0 10px rgba(20,120,229,.14),
    0 0 18px rgba(103,214,255,.66);
}

.report-mobile-driver-marker.arrival-estimated
.report-mobile-driver-arrow {
  background: #d92a2a;
  box-shadow:
    0 0 0 10px rgba(217,42,42,.16),
    0 0 20px rgba(255,72,72,.72);
  animation: arrivalEstimatedPulse 1.15s infinite;
}

@keyframes arrivalEstimatedPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.06); opacity: .82; }
}


/* =========================================================
   ETAPA 1C — REPORTES Y FOTOGRAFÍAS OPTIMIZADAS
   ========================================================= */

.report-photo-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.report-photo-toolbar {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin: 4px 0 8px;
}

.report-photo-action {
  display: grid;
  place-items: center;
  min-height: 46px;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid rgba(103, 214, 255, .42);
  border-radius: 12px;
  background: rgba(7, 55, 99, .55);
  color: #eaf8ff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .25px;
  text-align: center;
  cursor: pointer;
  user-select: none;
}

.report-photo-action.camera {
  border-color: rgba(44, 183, 114, .55);
  background: rgba(22, 107, 65, .55);
}

.report-photo-action:active {
  transform: scale(.985);
}

.report-photo-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: #a9bed0;
}

.report-photo-summary span {
  font-size: 11px;
  font-weight: 900;
  color: #67d6ff;
}

.report-photo-summary small {
  font-size: 9px;
  text-align: right;
}

.report-photo-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.report-photo-preview-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(103, 214, 255, .3);
  border-radius: 12px;
  background: #020a14;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .22);
}

.report-photo-preview-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #07121e;
}

.report-photo-preview-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-height: 34px;
  padding: 5px 7px;
}

.report-photo-preview-card span {
  min-width: 0;
  overflow: hidden;
  color: #bcd2e3;
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.report-photo-preview-card button {
  display: grid;
  place-items: center;
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  min-height: 26px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #d92a2a;
  color: #fff;
  font-size: 19px;
  font-weight: 900;
  line-height: 1;
}

.report-pending-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 12px 0;
  padding: 11px 12px;
  border: 1px solid rgba(255, 170, 0, .5);
  border-radius: 13px;
  background: rgba(255, 170, 0, .1);
}

.report-pending-panel.hidden {
  display: none !important;
}

.report-pending-panel > div {
  display: grid;
  gap: 2px;
}

.report-pending-panel strong {
  color: #ffb229;
  font-size: 11px;
}

.report-pending-panel small {
  color: #aebdcc;
  font-size: 9px;
}

.report-pending-panel button {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid rgba(255, 178, 41, .55);
  border-radius: 10px;
  background: rgba(90, 54, 0, .65);
  color: #ffd37c;
  font-size: 10px;
  font-weight: 900;
}

.operation-light-screen .report-pending-panel {
  margin: 14px 16px 90px;
  background: #fff7e2;
  border-color: #e7a52e;
}

.operation-light-screen .report-pending-panel strong {
  color: #9a5a00;
}

.operation-light-screen .report-pending-panel small {
  color: #6b747d;
}

.operation-light-screen .report-pending-panel button {
  background: #0a66c2;
  border-color: #0a66c2;
  color: #fff;
}

@media (max-width: 390px) {
  .report-photo-toolbar {
    grid-template-columns: 1fr;
  }

  .report-photo-summary {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* =========================================================
   ETAPA 1D — ROLES Y MÓDULOS MÓVILES
   ========================================================= */
.role-preview-panel {
  display: grid;
  gap: 9px;
  border-color: rgba(41, 144, 255, .45);
  background: linear-gradient(145deg, rgba(5, 38, 69, .96), rgba(2, 17, 31, .96));
}
.role-preview-panel.hidden { display: none !important; }
.role-preview-panel > div { display: grid; gap: 3px; }
.role-preview-panel strong { color: #67d6ff; font-size: 12px; }
.role-preview-panel small, .role-preview-panel span { color: #a9bed0; font-size: 10px; }
.role-preview-panel select, .settings-role-select { width: 100%; min-height: 42px; font-weight: 800; }
.settings-description { margin: 0 0 9px; color: #65717c; font-size: 11px; }

.role-module-view { padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
.role-module-header > div { display: grid; gap: 2px; }
.role-module-header span { color: #67d6ff; font-size: 9px; font-weight: 900; letter-spacing: 1px; }
.role-module-header h2 { margin: 0; }
.role-module-card { margin-bottom: 12px; }
.role-inline-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.role-inline-control select { margin: 0; }
.role-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }
.role-summary-grid article { display: grid; gap: 4px; min-width: 0; padding: 10px 8px; border: 1px solid rgba(103, 214, 255, .25); border-radius: 11px; background: rgba(3, 27, 48, .72); text-align: center; }
.role-summary-grid span { color: #99adbf; font-size: 9px; }
.role-summary-grid strong { overflow: hidden; color: #eef9ff; font-size: 16px; text-overflow: ellipsis; }
.role-record-list { display: grid; gap: 8px; margin: 10px 0; }
.role-record-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; width: 100%; min-height: 64px; padding: 10px 11px; border: 1px solid rgba(103, 214, 255, .25); border-radius: 12px; background: rgba(2, 19, 34, .9); color: #edf8ff; text-align: left; }
.role-record-card.static { cursor: default; }
.role-record-card.alert { border-color: rgba(255, 168, 40, .7); background: rgba(81, 45, 0, .45); }
.role-record-card > div { display: grid; gap: 4px; min-width: 0; }
.role-record-card > div:last-child { justify-items: end; text-align: right; }
.role-record-card strong, .role-record-card span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.role-record-card strong { font-size: 12px; }
.role-record-card span, .role-record-card small { color: #9fb2c2; font-size: 9px; }
.role-record-card b { color: #67d6ff; font-size: 11px; }
.role-record-card:hover { border-color: rgba(103, 214, 255, .55); }
.role-empty { padding: 16px; border: 1px dashed rgba(148, 170, 188, .35); border-radius: 11px; color: #93a6b5; font-size: 11px; text-align: center; }
.role-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 10px 0 12px; }
.role-action-grid button { min-height: 44px; }
.role-evidence-preview { display: block; width: 100%; max-height: 240px; margin: 8px 0 12px; border-radius: 12px; object-fit: cover; }
.role-list-details { margin: 10px 0 14px; border: 1px solid rgba(103, 214, 255, .25); border-radius: 12px; padding: 9px 10px; }
.role-list-details summary { color: #cceeff; font-size: 11px; font-weight: 900; cursor: pointer; }
.role-mini-danger { width: auto; min-height: 30px; padding: 5px 8px; border-radius: 8px; background: #a92020; color: white; font-size: 9px; font-weight: 900; }

.operation-light-screen .settings-role-select { border: 1px solid #cbd5df; background: #fff; color: #10243a; }
.operation-light-screen .operation-settings-card.hidden { display: none !important; }

@media (max-width: 390px) {
  .role-summary-grid { grid-template-columns: 1fr 1fr; }
  .role-summary-grid article:last-child { grid-column: 1 / -1; }
}


/* ETAPA 1E — ROBUSTEZ Y DIAGNÓSTICO */
.network-status-banner{position:sticky;top:0;z-index:25000;display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid rgba(255,180,43,.45);background:#8b4300;color:#fff;box-shadow:0 5px 18px rgba(0,0,0,.32)}
.network-status-banner.hidden{display:none!important}.network-status-banner>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.22);font-size:17px}.network-status-banner div{display:grid;gap:1px}.network-status-banner strong{font-size:11px;letter-spacing:.5px}.network-status-banner small{font-size:9px;opacity:.92}body.is-offline .operation-status-dot{background:#ff9d18!important;box-shadow:0 0 12px rgba(255,157,24,.7)}
.diagnostic-settings-card{display:grid;gap:12px}.diagnostic-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.diagnostic-heading h3{margin-bottom:2px}.diagnostic-overall-pill{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#edf0f3;color:#5c6872;font-size:8px;font-weight:950;letter-spacing:.35px}.diagnostic-overall-pill.ok{background:#dff5e9;color:#08723d}.diagnostic-overall-pill.warn{background:#fff0cf;color:#925600}.diagnostic-status-grid{overflow:hidden;border:1px solid #d5dce2;border-radius:12px}.diagnostic-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;padding:7px 10px;border-bottom:1px solid #e2e6e9;background:#fff}.diagnostic-row:last-child{border-bottom:0}.diagnostic-row span{color:#24323d;font-size:10px}.diagnostic-row strong{text-align:right;color:#63707b;font-size:9px;font-weight:950}.diagnostic-row strong[data-status="ok"]{color:#087b45}.diagnostic-row strong[data-status="warn"]{color:#a46200}.diagnostic-row strong[data-status="error"]{color:#c02424}.diagnostic-main-actions,.diagnostic-device-actions{display:grid;gap:8px}.diagnostic-main-actions{grid-template-columns:1.35fr 1fr}.diagnostic-device-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.diagnostic-primary-button,.diagnostic-secondary-button,.diagnostic-device-actions button,.diagnostic-danger-button{min-height:40px;padding:8px 10px;border-radius:10px;font-size:9px;font-weight:950;letter-spacing:.2px}.diagnostic-primary-button{border:1px solid #0768c7;background:#0768c7;color:#fff}.diagnostic-secondary-button{border:1px solid #92a1ac;background:#f1f4f6;color:#20313d}.diagnostic-device-actions button{border:1px solid #b7c3cc;background:#fff;color:#15364f}.diagnostic-danger-button{width:100%;border:1px solid #d29a9a;background:#fff1f1;color:#a91e1e}@media(max-width:390px){.diagnostic-device-actions,.diagnostic-main-actions{grid-template-columns:1fr}}


/* =========================================================
   v4.8.5.1 — CORRECCIÓN DE SCROLL EN CONFIGURACIÓN
   ========================================================= */

/*
 * Durante la operación el body permanece bloqueado para impedir que
 * el mapa arrastre toda la página. Por eso CONFIGURACIÓN necesita un
 * contenedor desplazable propio.
 */
body.operation-active .operation-workspace {
  height: calc(100dvh - 94px);
  min-height: 0;
  padding-bottom: 0;
  overflow: hidden;
}

/*
 * Desplazamiento vertical táctil independiente.
 * El espacio final evita que CERRAR SESIÓN quede debajo del menú fijo.
 */
body.operation-active #operationMoreTab.operation-more-screen {
  display: block;
  width: 100%;
  height: calc(100dvh - 94px);
  min-height: 0;
  max-height: calc(100dvh - 94px);
  padding:
    12px
    16px
    calc(104px + env(safe-area-inset-bottom));
  overflow-x: hidden;
  overflow-y: auto !important;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  scrollbar-gutter: stable;
}

/* Mantener el comportamiento de la clase hidden. */
body.operation-active #operationMoreTab.operation-more-screen.hidden {
  display: none !important;
}

/*
 * La lista final conserva separación con la barra inferior aun en
 * pantallas pequeñas y en modo PWA.
 */
body.operation-active #operationMoreTab .operation-settings-list {
  margin-bottom: calc(26px + env(safe-area-inset-bottom));
}

/* El cierre de sesión queda visualmente destacado y fácilmente pulsable. */
body.operation-active #operationLogoutButton {
  min-height: 60px;
  color: #a91f28;
  background: #fff7f7;
}

body.operation-active #operationLogoutButton span,
body.operation-active #operationLogoutButton b {
  color: #c52b35;
}

/* Android/Chrome: impedir que una tarjeta ancha bloquee el gesto vertical. */
body.operation-active #operationMoreTab,
body.operation-active #operationMoreTab * {
  max-width: 100%;
}

@media (max-height: 700px) {
  body.operation-active #operationMoreTab.operation-more-screen {
    padding-bottom: calc(118px + env(safe-area-inset-bottom));
  }
}


/* =========================================================
   v4.8.5.3 — CONFIRMACIÓN SEGURA DEL ENVÍO
   ========================================================= */

.report-success-overlay {
  position: fixed;
  inset: 0;
  z-index: 50000;
  display: grid;
  place-items: center;
  width: 100vw;
  height: 100dvh;
  padding: 22px;
  background: #000;
  color: #fff;
  pointer-events: all;
}

.report-success-overlay.hidden {
  display: none !important;
}

.report-success-card {
  display: grid;
  justify-items: center;
  gap: 9px;
  width: min(430px, 100%);
  padding: 28px 22px;
  border: 2px solid #00d873;
  border-radius: 16px;
  background:
    linear-gradient(
      180deg,
      rgba(0, 58, 31, .3),
      rgba(0, 0, 0, .96)
    );
  box-shadow:
    0 0 0 1px rgba(0, 216, 115, .18),
    0 0 34px rgba(0, 216, 115, .3);
  text-align: center;
}

.report-success-check {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 5px;
  border: 3px solid #00e57b;
  border-radius: 50%;
  color: #00e57b;
  font-size: 35px;
  font-weight: 950;
  line-height: 1;
}

.report-success-card strong {
  color: #fff;
  font-size: 16px;
  font-weight: 950;
  letter-spacing: .35px;
}

.report-success-card span {
  color: #75efb5;
  font-size: 12px;
  font-weight: 850;
}

.report-success-card small {
  color: #b6c7bf;
  font-size: 10px;
}


/* =========================================================
   REPORT MOBILE v4.9 — NUEVA GRÁFICA BASE
   ========================================================= */
:root {
  --rm-blue:#0869df; --rm-blue2:#0957c8; --rm-navy:#07172b; --rm-text:#101f38;
  --rm-muted:#586781; --rm-line:#dbe3ef; --rm-bg:#f7f9fc; --rm-card:#fff;
  --rm-green:#16a158; --rm-red:#ef2828; --rm-orange:#ff7900; --rm-amber:#ffb000;
  --rm-shadow:0 8px 28px rgba(20,45,80,.08);
}
*{box-sizing:border-box}
html,body{background:var(--rm-bg);color:var(--rm-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{margin:0}.app-shell{max-width:none;min-height:100dvh;background:var(--rm-bg)}
body.rm-modern-active .topbar{display:none!important} body.rm-modern-active main{padding:0!important;max-width:none!important}
.rm-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.rm-svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.view{min-height:100dvh}.rm-page{min-height:100dvh;background:var(--rm-bg);padding-bottom:calc(88px + env(safe-area-inset-bottom))}.rm-page-content{padding:18px 16px 24px;max-width:760px;margin:0 auto}.rm-gradient-header{background:linear-gradient(135deg,#0b6fe7,#0752bd);color:#fff;padding:calc(24px + env(safe-area-inset-top)) 20px 22px}.rm-gradient-header h1{margin:0;font-size:31px;line-height:1.1}.rm-gradient-header p{margin:7px 0 0;font-size:17px;color:rgba(255,255,255,.92)}
.rm-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.rm-page-header>div{flex:1}.rm-header-icon,.rm-header-back,.rm-header-text-button{border:0;background:transparent;color:#fff;padding:7px;display:flex;align-items:center;gap:7px;font-size:16px}.rm-header-large-icon{width:36px;height:36px}.rm-header-back .rm-svg{width:32px;height:32px}.rm-header-text-button .rm-svg{width:27px;height:27px}
.rm-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:9000;display:grid;grid-template-columns:repeat(5,1fr);padding:9px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98);border-top:1px solid #dfe5ed;box-shadow:0 -8px 24px rgba(15,30,50,.07)}.rm-bottom-nav.hidden{display:none!important}.rm-bottom-nav button{position:relative;border:0;background:transparent;color:#26364e;display:grid;justify-items:center;gap:4px;padding:4px 1px;font-size:10px}.rm-bottom-nav button .rm-svg{width:27px;height:27px}.rm-bottom-nav button strong{font-size:10px;white-space:nowrap}.rm-bottom-nav button.active{color:var(--rm-blue)}.rm-count-badge{position:absolute;top:0;right:20%;min-width:20px;height:20px;padding:0 5px;border-radius:12px;background:var(--rm-red);color:#fff;font-size:11px;font-style:normal;display:grid;place-items:center;border:2px solid #fff}.rm-count-badge.hidden{display:none!important}
/* Splash */
.rm-splash{position:relative;min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 50% 15%,#102b45 0,#061522 42%,#020910 100%);color:#fff;display:flex;flex-direction:column}.rm-splash-top{position:relative;z-index:3;text-align:center;padding:calc(95px + env(safe-area-inset-top)) 18px 0}.rm-brand-mark{width:142px;height:142px;margin:0 auto 18px}.rm-brand-mark.large{width:160px;height:160px}.rm-brand-mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 28px rgba(0,104,255,.25))}.rm-wordmark{display:flex;justify-content:center;gap:14px;align-items:baseline;font-size:42px;letter-spacing:.4px}.rm-wordmark strong{font-weight:900;color:#0b1729}.rm-wordmark b{font-weight:900;color:#0871eb}.rm-wordmark.light strong{color:#fff}.rm-splash-top>p,.rm-auth-brand>p{font-size:19px;margin:8px 0;color:#fff}.rm-splash-scene{position:absolute;z-index:1;left:0;right:0;bottom:0;height:65%;background-image:linear-gradient(to bottom,rgba(4,16,29,.2),rgba(1,7,13,.74) 75%,#020910 100%),url('splash-emergency.webp');background-size:cover;background-position:center top}.rm-splash-bottom{position:relative;z-index:3;margin-top:auto;padding:20px 42px calc(38px + env(safe-area-inset-bottom));text-align:center}.rm-signal-symbol{font-size:48px;color:#0877ff;line-height:1}.rm-splash-bottom p{font-size:20px;line-height:1.35;margin:8px 0 25px;text-shadow:0 2px 8px #000}.rm-carousel-dots{display:flex;justify-content:center;gap:18px;margin-bottom:26px}.rm-carousel-dots i{width:18px;height:18px;border-radius:50%;background:#d8d9da}.rm-carousel-dots i.active{background:#0871eb}.rm-primary-action{width:100%;min-height:58px;border:0;border-radius:14px;background:linear-gradient(135deg,#0877f1,#0966d9);color:#fff;font-size:18px;font-weight:850;letter-spacing:.4px;display:flex;align-items:center;justify-content:center;gap:10px}.rm-primary-action .rm-svg{width:23px;height:23px}
/* Auth */
.rm-auth-page{min-height:100dvh;background:#fff;padding:calc(48px + env(safe-area-inset-top)) 28px calc(90px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.rm-auth-brand{text-align:center}.rm-auth-brand .rm-brand-mark{width:120px;height:120px;margin-bottom:10px}.rm-auth-brand .rm-wordmark{font-size:35px;gap:8px}.rm-auth-brand>p{color:#657087;font-size:16px}.rm-auth-copy{text-align:center;margin:36px 0 24px}.rm-auth-copy h1{font-size:28px;margin:0 0 10px}.rm-auth-copy p{margin:0;color:#586781;font-size:16px}.rm-auth-form{display:grid;gap:11px}.rm-auth-form label{font-weight:800;font-size:15px;margin-top:4px}.rm-input-shell{height:58px;border:1px solid #ced8e6;border-radius:14px;display:flex;align-items:center;gap:12px;padding:0 14px;background:#fff}.rm-input-shell .rm-svg{color:#42516b}.rm-input-shell input{border:0!important;box-shadow:none!important;background:transparent!important;height:100%!important;padding:0!important;font-size:16px!important;color:#17243b!important}.rm-input-action{border:0;background:transparent;color:#42516b;padding:5px}.rm-text-action{border:0;background:transparent;color:var(--rm-blue);font-size:15px;padding:10px}.rm-text-action.subdued{font-size:13px}.rm-outline-action{min-height:54px;border:2px solid var(--rm-blue);border-radius:14px;background:#fff;color:var(--rm-blue);display:flex;align-items:center;justify-content:center;gap:12px;font-size:16px;font-weight:800}.rm-auth-separator{display:flex;align-items:center;gap:18px;margin:12px 0}.rm-auth-separator span{height:1px;background:#d5dce5;flex:1}.rm-legal-copy{text-align:center;color:#28364d;font-size:13px;line-height:1.45;margin:24px 0}.rm-legal-copy a{color:var(--rm-blue)}.rm-auth-nav{display:none}
/* Home */
.rm-home-header{display:flex;justify-content:space-between;align-items:center}.rm-home-header h1{font-size:30px}.rm-home-header p{font-size:22px}.rm-home-header span{display:block;margin-top:7px;color:#73d4ff;font-weight:700}.rm-header-icon{position:relative}.rm-header-icon .rm-svg{width:35px;height:35px}.rm-connection-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #b9d2f4;border-radius:15px;padding:16px;box-shadow:var(--rm-shadow);margin-bottom:22px}.rm-online-dot{width:13px;height:13px;border-radius:50%;background:#1677e8}.rm-connection-card>div{display:grid;gap:3px;flex:1}.rm-connection-card strong{font-size:16px}.rm-connection-card small{color:#54647d;font-size:13px}.rm-connection-icon{width:42px!important;height:42px!important;color:var(--rm-blue);padding:8px;border-radius:50%;background:#edf6ff}.rm-section-title{font-size:21px;margin:20px 0 14px}.rm-access-list{display:grid;gap:10px}.rm-access-card{position:relative;width:100%;border:1px solid #d6dfeb;border-radius:16px;background:#fff;display:grid;grid-template-columns:60px 1fr 24px;align-items:center;gap:13px;padding:15px;text-align:left;color:var(--rm-text);box-shadow:0 4px 14px rgba(15,40,75,.04)}.rm-access-card>.rm-svg{color:#24415e}.rm-access-card.hidden{display:none!important}.rm-access-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff}.rm-access-icon .rm-svg{width:29px;height:29px}.rm-access-icon.blue{background:linear-gradient(135deg,#0e61d1,#0679f0)}.rm-access-icon.orange{background:linear-gradient(135deg,#ff6900,#ff9b00)}.rm-access-icon.amber{background:linear-gradient(135deg,#ffa900,#ffc12c)}.rm-access-icon.green{background:linear-gradient(135deg,#078840,#19b45e)}.rm-access-icon.violet{background:linear-gradient(135deg,#6550d7,#8e75ff)}.rm-access-card div strong{font-size:18px;display:block}.rm-access-card div small{font-size:14px;line-height:1.4;color:#596982}.rm-new-badge{display:inline-block;margin-left:8px;border-radius:10px;background:#d6eeff;color:#0874dd;padding:3px 8px;font-size:10px;font-style:normal}.rm-info-callout{display:grid;grid-template-columns:42px 1fr 22px;align-items:center;gap:12px;border:1px solid #b9d7ff;border-radius:15px;background:#f0f7ff;padding:16px;margin-top:20px;color:#1658af}.rm-info-callout.compact{grid-template-columns:38px 1fr;margin:0 0 20px}.rm-info-callout>.rm-svg{width:35px;height:35px}.rm-info-callout strong{color:#11233e}.rm-info-callout p{margin:4px 0 0;line-height:1.45}.rm-admin-preview{margin-top:18px;padding:15px;border-radius:15px;background:#fff;border:1px solid #d8e1ec;display:grid;gap:7px}.rm-admin-preview.hidden{display:none!important}.rm-admin-preview select{background:#f7f9fc;color:#14243e}
/* Reports */
.rm-report-list{display:grid;gap:14px}.rm-report-option{width:100%;display:grid;grid-template-columns:72px 1fr 24px;align-items:center;gap:18px;text-align:left;border:1px solid #d5deeb;border-radius:16px;background:#fff;padding:18px;color:var(--rm-text)}.rm-report-round{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;color:#fff}.rm-report-round .rm-svg{width:38px;height:38px}.rm-report-round.request{background:linear-gradient(135deg,#e42a1d,#ff3b25)}.rm-report-round.incident{background:linear-gradient(135deg,#ff6a00,#ff9300)}.rm-report-round.flood{background:linear-gradient(135deg,#0758c3,#0d7cf0)}.rm-report-round.fire{background:linear-gradient(135deg,#d92020,#ff4b35)}.rm-report-option div strong{display:block;font-size:20px}.rm-report-option div small{display:block;font-size:15px;line-height:1.45;color:#596982}.rm-report-option>.rm-svg{color:#0870e5;width:30px;height:30px}
/* Lists and orders */
.rm-order-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.rm-order-stats article{border:1px solid #d8e1ec;border-radius:14px;background:#fff;text-align:center;padding:12px 5px;display:grid;justify-items:center;gap:6px}.rm-order-stats article span{width:35px;height:35px;border-radius:50%;display:grid;place-items:center}.rm-order-stats article span.blue{color:#0873e5;background:#eef5ff}.rm-order-stats article span.green{color:#0aa059;background:#eaf9f0}.rm-order-stats article span.amber{color:#e99a00;background:#fff6df}.rm-order-stats article span.red{color:#ef3f46;background:#fff0f1}.rm-order-stats article strong{font-size:22px}.rm-order-stats article small{font-size:11px}.rm-tab-strip{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid #dce4ee;border-radius:14px;margin-bottom:18px;overflow:hidden}.rm-tab-strip button{border:0;background:#fff;padding:14px 5px;color:#25334b;font-weight:700}.rm-tab-strip button.active{color:var(--rm-blue);border-bottom:4px solid var(--rm-blue)}.rm-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 12px}.rm-list-toolbar h2{font-size:19px;margin:0}.rm-icon-text-button{border:0;background:transparent;color:var(--rm-blue);display:flex;align-items:center;gap:6px}.rm-orders-panel{background:transparent}.rm-orders-panel>.card-header{display:none}.rm-orders-list{display:grid;gap:13px}.rm-orders-list .order-item{background:#fff;border:1px solid #d8e1ec;border-radius:17px;padding:16px;box-shadow:var(--rm-shadow)}
/* Center pages */
.rm-role-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center}.rm-center-card,.rm-form-card,.rm-movement-form,.rm-profile-hero,.rm-profile-fields,.rm-profile-grid{background:#fff;border:1px solid #d8e1ec;border-radius:16px;padding:18px;box-shadow:var(--rm-shadow)}.rm-card-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.rm-card-title-row h2{font-size:20px;margin:0}.rm-card-title-row button{border:0;border-radius:10px;background:#eef6ff;color:var(--rm-blue);padding:9px 11px;display:flex;align-items:center;gap:6px}.rm-card-title-row button .rm-svg{width:18px;height:18px}.rm-center-data{display:grid;gap:13px}.rm-center-data p{display:grid;grid-template-columns:25px 115px 1fr;gap:8px;align-items:center;margin:0}.rm-center-data p>.rm-svg{color:var(--rm-blue)}.rm-center-data p span{color:#5e6d86}.rm-center-data p strong{text-align:right;font-weight:600}.rm-select-inline{display:flex;gap:8px;margin-top:14px}.rm-select-inline select{flex:1}.rm-select-inline button{width:48px;border:0;border-radius:10px;background:#eef6ff;color:var(--rm-blue)}.rm-capacity-grid,.rm-infrastructure-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.rm-capacity-grid article,.rm-infrastructure-grid article{background:#fff;border:1px solid #d8e1ec;border-radius:14px;padding:14px;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center}.rm-capacity-grid article span,.rm-infrastructure-grid article span{grid-row:1/3;color:var(--rm-blue)}.rm-capacity-grid small,.rm-infrastructure-grid small{color:#5d6c84}.rm-capacity-grid strong,.rm-infrastructure-grid strong{font-size:20px;color:#075dd1}.rm-status-card{margin-top:12px;border-radius:14px;background:#effaf4;border:1px solid #c6ead6;padding:14px;display:flex;justify-content:space-between}.rm-status-card>div{display:grid;gap:3px}.rm-status-card i{width:11px;height:11px;border-radius:50%;background:#0ba05b}.rm-status-card strong{color:#079553}.rm-movement-form{margin-top:18px}.rm-movement-form h2{margin-top:0}.rm-details-card{margin-top:16px;background:#fff;border:1px solid #d8e1ec;border-radius:14px;padding:14px}.rm-form-card{margin-top:18px}.rm-form-card h2{margin-top:0}
/* Profile */
.rm-profile-hero{display:grid;grid-template-columns:105px 1fr 24px;align-items:center;gap:14px;margin-top:-8px}.rm-profile-avatar{position:relative;width:96px;height:96px;border-radius:50%;background:#e9f3ff;color:#0870e2;display:grid;place-items:center}.rm-profile-avatar .rm-svg{width:65px;height:65px}.rm-profile-avatar i{position:absolute;right:5px;bottom:7px;width:18px;height:18px;border-radius:50%;background:#11a557;border:3px solid #fff}.rm-profile-hero h2{font-size:26px;margin:0 0 5px}.rm-profile-hero span{display:inline-block;background:#d9eaff;color:#0865ce;border-radius:10px;padding:3px 10px;font-weight:800}.rm-profile-hero p{margin:9px 0 5px;color:#43526a}.rm-profile-hero small{color:#4f5f75}.rm-profile-hero small i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#13a45a}.rm-complete-label{color:#0a9b55}.rm-profile-fields{display:grid;gap:10px}.rm-profile-fields label{display:grid;grid-template-columns:52px 1fr;align-items:center;border:1px solid #dce4ee;border-radius:13px;padding:10px}.rm-profile-fields label>span{width:43px;height:43px;border-radius:50%;background:#edf5ff;color:#0871e2;display:grid;place-items:center}.rm-profile-fields small,.rm-profile-grid small{color:#66758d}.rm-profile-fields input,.rm-profile-grid input{border:0!important;background:transparent!important;padding:4px 0!important;font-size:17px!important;color:#17243a!important}.rm-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rm-profile-grid label{border:1px solid #dce4ee;border-radius:12px;padding:10px}.rm-profile-grid .wide{grid-column:1/-1}.rm-profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rm-profile-actions button{min-height:52px;border-radius:12px;background:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;gap:9px}.rm-profile-actions button:first-child{border:1px solid var(--rm-blue);color:var(--rm-blue)}.rm-profile-actions button:last-child{border:1px solid #ef4b4b;color:#df3030}
/* Messages */
.rm-modern-messages-panel{background:#fff;border:1px solid #d8e1ec;border-radius:16px;padding:16px}.rm-modern-messages-panel .messages-list{min-height:42dvh}.rm-modern-messages-panel textarea{margin-top:10px}
/* Existing forms made visually consistent */
body.rm-modern-active .card-header{background:linear-gradient(135deg,#0b6fe7,#0752bd);color:#fff;padding:calc(24px + env(safe-area-inset-top)) 18px 20px;border:0}body.rm-modern-active .card-header h2{font-size:25px}body.rm-modern-active .card-header button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55)}body.rm-modern-active .card{border:0;border-radius:0;background:#fff;padding:18px 16px;box-shadow:none}body.rm-modern-active input,body.rm-modern-active select,body.rm-modern-active textarea{background:#fff;color:#17243a;border:1px solid #d6dfeb;border-radius:12px;min-height:46px}body.rm-modern-active label{color:#26354b;font-weight:700}.report-map{border-radius:15px;overflow:hidden}.report-photo-action{color:#fff}
@media(min-width:700px){.rm-page-content{padding-left:28px;padding-right:28px}.rm-access-list{grid-template-columns:1fr 1fr}.rm-report-list{grid-template-columns:1fr 1fr}.rm-splash{max-width:520px;margin:0 auto;box-shadow:0 0 60px rgba(0,0,0,.25)}.rm-auth-page{max-width:520px;margin:0 auto;box-shadow:0 0 60px rgba(0,0,0,.12)}}
@media(max-width:390px){.rm-gradient-header h1{font-size:27px}.rm-page-content{padding:14px 12px 22px}.rm-access-card{grid-template-columns:52px 1fr 20px;padding:12px}.rm-access-icon{width:50px;height:50px}.rm-report-option{grid-template-columns:60px 1fr 20px;padding:14px;gap:12px}.rm-report-round{width:58px;height:58px}.rm-center-data p{grid-template-columns:22px 92px 1fr;font-size:12px}.rm-order-stats{gap:5px}.rm-profile-hero{grid-template-columns:78px 1fr 18px}.rm-profile-avatar{width:72px;height:72px}.rm-profile-grid{grid-template-columns:1fr}.rm-profile-grid .wide{grid-column:auto}.rm-bottom-nav button strong{font-size:8px}}

/* v4.9.1 Reportes y cancelación */
.rm-report-compose-page,.rm-report-result-page{min-height:100dvh;padding-bottom:calc(84px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#03152c 0,#061b38 23%,#f7f9fc 23%,#f7f9fc 100%);color:#0b1730}.rm-report-compose-header{min-height:118px;padding:calc(15px + env(safe-area-inset-top)) 18px 13px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;color:#fff;background:radial-gradient(circle at 50% 0,rgba(9,96,211,.2),transparent 48%)}.rm-report-header-back,.rm-report-header-bell{border:0;background:transparent;color:#fff}.rm-report-header-back{display:grid;place-items:center;width:45px;height:45px}.rm-report-header-back .rm-svg{width:34px;height:34px}.rm-report-header-brand{display:flex;align-items:center;justify-content:center;gap:9px}.rm-report-brand-pin{display:grid;place-items:center;width:48px;height:58px;color:#fff;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:linear-gradient(145deg,#167df4,#003bd4);box-shadow:0 8px 22px rgba(0,85,220,.36)}.rm-report-brand-pin .rm-svg{width:28px;height:28px;transform:rotate(45deg)}.rm-report-header-brand div{display:grid;line-height:.92}.rm-report-header-brand strong{font-size:22px;color:#fff}.rm-report-header-brand b{margin-top:7px;font-size:18px;color:#116ff2}.rm-report-header-bell{position:relative;display:grid;place-items:center;justify-self:end;width:45px;height:45px}.rm-report-header-bell .rm-svg{width:30px;height:30px}.rm-report-header-bell i{position:absolute;top:0;right:0;display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#f0202c;color:#fff;font-size:11px;font-style:normal;font-weight:900}.rm-report-intro{display:grid;grid-template-columns:74px 1fr;align-items:center;gap:18px;margin:0 22px 16px;padding:16px 18px;min-height:116px;border:1px solid rgba(128,156,201,.5);border-radius:14px;color:#fff;background:linear-gradient(135deg,rgba(4,21,46,.95),rgba(7,32,65,.9))}.rm-report-intro>span{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;color:#fff;background:linear-gradient(145deg,#f5252f,#d90012);box-shadow:0 10px 22px rgba(222,0,24,.25)}.rm-report-intro>span .rm-svg{width:38px;height:38px}.rm-report-intro strong{display:block;margin-bottom:6px;color:#ff2430;font-size:14px}.rm-report-intro h1{margin:0;font-size:17px;color:#fff}.rm-report-intro p{margin:5px 0 0;color:#fff;font-size:14px}.rm-report-form-sheet,.rm-report-result-sheet{width:min(760px,calc(100% - 24px));margin:0 auto;padding:20px 20px 26px;border-radius:16px 16px 0 0;background:#fff;box-shadow:0 -5px 28px rgba(3,18,43,.08)}.rm-report-preserved-control{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.rm-report-form-section{margin-bottom:22px}.rm-report-form-section h2,.rm-report-result-heading{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:15px;color:#101b34}.rm-report-form-section h2 .rm-svg,.rm-report-result-heading .rm-svg{width:22px;height:22px;color:#0869ef}.rm-report-select-shell{display:grid;grid-template-columns:42px 1fr 24px;align-items:center;min-height:64px;padding:0 12px;border:1px solid #cad3e1;border-radius:10px;background:#fff}.rm-report-select-shell>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#ef2532;background:#ffe3e6}.rm-report-select-shell>span .rm-svg{width:21px;height:21px}.rm-report-select-shell select{min-width:0;height:58px;padding:0 8px;border:0;outline:0;background:transparent;color:#0c1831;font-size:16px;font-weight:700;appearance:none}.rm-report-select-shell>.rm-svg{width:22px;height:22px;color:#0766e9;transform:rotate(90deg)}.rm-report-location-card{position:relative;display:grid;grid-template-columns:42px 1fr auto;align-items:start;gap:10px;padding:15px 14px 46px;border:1px solid #d4dce7;border-radius:10px;background:#fff}.rm-report-location-card .location-icon{width:30px;height:30px;color:#0769ed}.rm-report-location-card div{display:grid;gap:4px}.rm-report-location-card strong{font-size:14px}.rm-report-location-card span,.rm-report-location-card small{color:#465875;font-size:12px}.rm-report-location-card button{border:0;background:transparent;color:#0969e8;font-size:9px;font-weight:900}.rm-report-location-card b{position:absolute;top:15px;right:14px;padding:5px 8px;border-radius:8px;color:#18742b;background:#dff5de;font-size:9px}.rm-report-location-card b.manual{color:#8b5a00;background:#fff0cf}.rm-report-map-select{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 28px);min-height:44px;margin:-42px 14px 12px;position:relative;z-index:2;border:1px solid #0869ef;border-radius:8px;background:#fff;color:#0763dc;font-size:12px;font-weight:900}.rm-report-map-select .rm-svg{width:20px;height:20px}.rm-report-map{height:210px;border-radius:11px;overflow:hidden}.rm-report-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.rm-report-section-heading span{color:#65728d;font-size:10px}.rm-report-form-section textarea{width:100%;min-height:142px;padding:14px;border:1px solid #ccd4df;border-radius:10px;outline:0;resize:vertical;background:#fff;color:#17233b;font:inherit;font-size:13px;line-height:1.55}.rm-photo-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.rm-photo-slot{position:relative;display:grid;place-items:center;align-content:center;gap:8px;min-height:122px;padding:10px 5px;border:1px dashed #c7d1e1;border-radius:9px;background:#fff;color:#66738f;text-align:center;cursor:pointer;overflow:hidden}.rm-photo-slot.empty .rm-svg{width:32px;height:32px;color:#0869ef}.rm-photo-slot.empty span{font-size:10px}.rm-photo-slot.selected{border-style:solid;padding:0}.rm-photo-slot.selected img{width:100%;height:122px;object-fit:cover}.rm-photo-slot.selected small{position:absolute;left:5px;bottom:5px;padding:3px 5px;border-radius:5px;background:rgba(2,16,36,.74);color:#fff;font-size:8px}.rm-photo-remove{position:absolute;top:5px;right:5px;display:grid;place-items:center;width:25px;height:25px;border:0;border-radius:50%;background:#ee2632;color:#fff;font-size:17px;font-weight:900}.rm-photo-status-text{display:block;margin-top:7px;color:#6e7890;font-size:9px;text-align:right}.rm-report-help-note,.rm-report-result-info,.rm-report-result-offline{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:10px;margin:14px 0;padding:13px 14px;border:1px solid #c9ddff;border-radius:9px;background:#edf5ff;color:#102346}.rm-report-help-note .rm-svg,.rm-report-result-info .rm-svg,.rm-report-result-offline .rm-svg{width:25px;height:25px;color:#0769ed}.rm-report-help-note p,.rm-report-result-info p,.rm-report-result-offline p{margin:0;font-size:11px;line-height:1.45}.rm-report-submit-button,.rm-report-home-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:58px;border:0;border-radius:8px;color:#fff;background:linear-gradient(135deg,#083fe0,#065cf0);font-size:17px;font-weight:900}.rm-report-submit-button .rm-svg,.rm-report-home-button .rm-svg{width:25px;height:25px}.rm-report-result-sheet{padding-top:30px}.rm-report-result-hero{display:grid;justify-items:center;text-align:center}.rm-report-result-symbol{display:grid;place-items:center;width:126px;height:126px;margin-bottom:18px;border-radius:50%;color:#fff;background:radial-gradient(circle,#11ae45 0 48%,#e2f7e8 49% 64%,#f3fbf5 65%)}.rm-report-result-symbol .rm-svg{width:58px;height:58px}.rm-report-result-symbol .error-symbol{display:none}.rm-report-result-page.failed .rm-report-result-symbol{background:radial-gradient(circle,#f01425 0 48%,#ffe1e4 49% 64%,#fff3f4 65%)}.rm-report-result-page.failed .success-symbol{display:none}.rm-report-result-page.failed .error-symbol{display:block}.rm-report-result-hero h1{margin:0;color:#079c36;font-size:27px}.rm-report-result-page.failed .rm-report-result-hero h1{color:#ed1425}.rm-report-result-hero p{max-width:580px;margin:9px 0 20px;color:#17223b;font-size:14px}.rm-report-result-summary{display:grid;grid-template-columns:90px 1fr;gap:16px;align-items:center;margin-bottom:18px;padding:18px;border:1px solid #b8e8c7;border-radius:10px;background:#effbf2}.rm-report-result-page.failed .rm-report-result-summary{border-color:#ffc8cd;background:#fff1f2}.rm-report-result-summary>span{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;color:#0a9e3a;background:#dff6e6}.rm-report-result-page.failed .rm-report-result-summary>span{color:#ee1525;background:#ffe2e5}.rm-report-result-summary>span .rm-svg{width:34px;height:34px}.rm-report-result-summary div{display:grid;gap:4px}.rm-report-result-summary small{color:#65708a;font-size:11px}.rm-report-result-summary strong{font-size:15px}.rm-report-result-summary b{color:#059c36;font-size:16px}.rm-report-result-page.failed .rm-report-result-summary b{color:#ed1425}.rm-report-result-summary p{margin:6px 0 0;color:#41516d;font-size:11px;line-height:1.45}.rm-report-result-details{margin-bottom:18px}.rm-report-result-details p{display:grid;grid-template-columns:30px 130px 1fr;align-items:center;gap:8px;min-height:56px;margin:0;border-bottom:1px solid #e1e5ec}.rm-report-result-details .rm-svg{width:22px;height:22px;color:#858da4}.rm-report-result-details span{color:#68738c;font-size:12px}.rm-report-result-details strong{text-align:right;color:#101b34;font-size:12px;line-height:1.35}.rm-report-result-assistance{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:12px;margin:18px 0;padding:14px;border:1px solid #cfd7e4;border-radius:10px}.rm-report-result-assistance>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#079c36;background:#e1f6e7}.rm-report-result-assistance>span .rm-svg{width:27px;height:27px}.rm-report-result-assistance strong{font-size:13px}.rm-report-result-assistance p{margin:3px 0 0;color:#54617b;font-size:11px}.rm-report-result-assistance button{display:flex;align-items:center;gap:7px;min-height:42px;padding:0 13px;border:1px solid #0767eb;border-radius:7px;background:#fff;color:#0767eb;font-size:10px;font-weight:900}.rm-report-result-assistance button .rm-svg{width:19px;height:19px}.rm-report-result-offline{border-color:#f2c76c;background:#fffaf0}.rm-report-result-offline .rm-svg{color:#f29d12}.rm-report-result-actions{display:grid;grid-template-columns:1fr;gap:10px}.rm-report-result-page.failed .rm-report-result-actions{grid-template-columns:1fr 1fr}.rm-report-retry-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:56px;border:1px solid #0769ed;border-radius:8px;background:#fff;color:#0769ed;font-size:13px;font-weight:900}.rm-report-retry-button .rm-svg{width:22px;height:22px}.operation-cancel-order-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:45px;margin-top:8px;border:1px solid #e63b43;border-radius:9px;background:rgba(230,59,67,.08);color:#ff646b;font-size:11px;font-weight:900}.operation-cancel-order-button.hidden{display:none!important}.operation-cancel-order-button .rm-svg{width:19px;height:19px}.rm-cancel-order-modal{text-align:center}.rm-cancel-order-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 10px;border-radius:50%;color:#e6313a;background:#ffe6e8}.rm-cancel-order-icon .rm-svg{width:32px;height:32px}@media(max-width:520px){.rm-report-compose-header{min-height:102px}.rm-report-intro{grid-template-columns:58px 1fr;gap:12px;margin-inline:12px;padding:13px}.rm-report-intro>span{width:54px;height:54px}.rm-report-form-sheet,.rm-report-result-sheet{width:calc(100% - 12px);padding:17px 14px 23px}.rm-photo-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rm-photo-slot{min-height:110px}.rm-report-result-details p{grid-template-columns:26px 94px 1fr}.rm-report-result-assistance{grid-template-columns:42px 1fr}.rm-report-result-assistance button{grid-column:1/-1;justify-self:stretch;justify-content:center}.rm-report-result-page.failed .rm-report-result-actions{grid-template-columns:1fr}}


/* =========================================================
   v4.9.2 — MÓDULO ÓRDENES
   ========================================================= */
.rm-orders-list { display: grid; gap: 14px; }
.rm-order-card { border: 1px solid #d6deea; border-radius: 15px; background: #fff; overflow: hidden; box-shadow: 0 4px 14px rgba(20,53,91,.06); }
.rm-order-card-main { display: grid; grid-template-columns: 58px 1fr 28px; gap: 12px; padding: 15px; align-items: start; }
.rm-order-card-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; color:#fff; background:#0869ed; }
.rm-order-card-icon .rm-svg { width:29px; height:29px; }
.rm-order-card-content { min-width:0; }
.rm-order-card-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.rm-order-card-head span { padding:5px 9px; border-radius:999px; background:#fff0c9; color:#b06b00; font-size:10px; font-weight:900; }
.status-en_camino .rm-order-card-head span,.status-en_curso .rm-order-card-head span { background:#dff6e8; color:#079b49; }
.status-finalizada .rm-order-card-head span { background:#e8edf4; color:#607088; }
.status-interrumpida .rm-order-card-head span { background:#ffe3e5; color:#d92834; }
.rm-order-card-head small { color:#63718a; font-size:9px; }
.rm-order-card h3 { margin:9px 0 7px; font-size:17px; color:#0d1830; }
.rm-order-card p { display:flex; align-items:flex-start; gap:7px; margin:5px 0; color:#40506b; font-size:11px; line-height:1.4; }
.rm-order-card p .rm-svg { flex:0 0 16px; width:16px; height:16px; color:#0769ed; }
.rm-order-card-arrow { border:0; background:transparent; color:#0869ed; font-size:34px; }
.rm-order-card footer { display:grid; grid-template-columns:1fr auto auto auto; align-items:center; gap:10px; padding:11px 14px; border-top:1px solid #e1e6ed; }
.rm-order-card footer span { display:flex; align-items:center; gap:5px; color:#34445f; font-size:10px; }
.rm-order-card footer .rm-svg { width:17px; height:17px; color:#0769ed; }
.rm-order-card footer button { min-height:35px; padding:0 11px; border:1px solid #8db9ff; border-radius:7px; background:#f2f7ff; color:#0765df; font-size:9px; font-weight:900; }
.rm-priority-label { font-weight:900; color:#e78900 !important; }
.rm-empty-orders { display:grid; gap:6px; padding:35px 15px; text-align:center; color:#53627b; }

.rm-order-detail-card { width:min(720px,calc(100% - 24px)); margin:16px auto 100px; padding:18px; border-radius:16px; background:#fff; box-shadow:0 8px 25px rgba(0,26,62,.12); }
.rm-order-detail-top { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:10px; }
.rm-order-detail-back { width:40px;height:40px;border:0;border-radius:50%;background:#edf5ff;color:#0769ed;font-size:22px; }
.rm-order-detail-top small { color:#0870ec;font-size:9px;font-weight:900;letter-spacing:.4px; }
.rm-order-detail-top h2 { margin:3px 0 0;font-size:19px; }
.rm-order-priority-row { display:flex; justify-content:space-between; align-items:center; margin:14px 0; padding:10px 12px; border-radius:9px; background:#f4f7fb; }
.rm-order-priority-row span { color:#e48a00;font-size:10px;font-weight:900; }
.rm-order-priority-row b { color:#5d6b83;font-size:11px; }
.rm-order-main-summary { display:grid; grid-template-columns:58px 1fr; gap:12px; padding:15px; border:1px solid #d7e1ef;border-radius:12px; }
.rm-order-main-icon { display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e8f2ff;color:#0769ed; }
.rm-order-main-icon .rm-svg { width:30px;height:30px; }
.rm-order-main-summary small { color:#65738c;font-size:10px; }
.rm-order-main-summary strong { display:block;margin:3px 0;font-size:16px; }
.rm-order-main-summary p { margin:5px 0 0;color:#44536c;font-size:12px;line-height:1.45; }
.rm-order-detail-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0; }
.rm-order-detail-grid article { display:grid;grid-template-columns:25px 1fr;gap:4px 9px;align-items:center;padding:12px;border:1px solid #dde4ed;border-radius:10px; }
.rm-order-detail-grid .rm-svg { grid-row:1/3;width:22px;height:22px;color:#0869ed; }
.rm-order-detail-grid small { color:#66758e;font-size:9px; }
.rm-order-detail-grid strong { font-size:11px;line-height:1.35; }
.rm-order-observation-box { padding:13px;border-left:4px solid #0869ed;border-radius:6px;background:#eef5ff; }
.rm-order-observation-box strong { font-size:11px; }
.rm-order-observation-box p { margin:5px 0 0;color:#40516f;font-size:11px; }
.rm-order-detail-actions { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px; }
.rm-order-reject-button { min-height:54px;border:1px solid #e3343e;border-radius:9px;background:#fff5f5;color:#d92430;font-weight:900; }
.rm-order-reject-button.hidden { display:none!important; }

.rm-order-flow-page { min-height:100dvh;padding-bottom:calc(85px + env(safe-area-inset-bottom));background:#f6f8fc; }
.rm-order-flow-page .rm-page-content { max-width:720px;margin:0 auto; }
.rm-order-arrival-hero,.rm-order-success-card,.rm-order-waiting-card { display:grid;justify-items:center;text-align:center;padding:24px 18px;border:1px solid #cfe0f5;border-radius:15px;background:#fff; }
.rm-order-arrival-hero>span,.rm-order-success-card>span,.rm-order-waiting-card>span { display:grid;place-items:center;width:82px;height:82px;border-radius:50%;background:#e4f0ff;color:#0769ed; }
.rm-order-arrival-hero .rm-svg,.rm-order-success-card .rm-svg,.rm-order-waiting-card .rm-svg { width:42px;height:42px; }
.rm-order-arrival-hero h2,.rm-order-success-card h2,.rm-order-waiting-card h2 { margin:14px 0 5px;font-size:21px; }
.rm-order-arrival-hero p,.rm-order-success-card p,.rm-order-waiting-card p { margin:0;color:#53627b;font-size:12px; }
.rm-order-arrival-hero div { display:flex;gap:12px;margin-top:14px;align-items:center; }
.rm-order-arrival-hero b { padding:6px 10px;border-radius:999px;background:#dff6e7;color:#089743;font-size:9px; }
.rm-order-arrival-hero small { color:#69768c;font-size:10px; }
.rm-waypoint-choice-grid { display:grid;grid-template-columns:1fr 1fr;gap:13px; }
.rm-waypoint-choice-grid button { display:grid;justify-items:center;gap:8px;min-height:180px;padding:18px 12px;border:1px solid #d4deea;border-radius:14px;background:#fff;color:#0e1931; }
.rm-waypoint-choice-grid button>span { display:grid;place-items:center;width:68px;height:68px;border-radius:50%; }
.rm-waypoint-choice-grid .people { background:#e4f1ff;color:#0769ed; }
.rm-waypoint-choice-grid .cargo { background:#fff0db;color:#f08a00; }
.rm-waypoint-choice-grid .rm-svg { width:36px;height:36px; }
.rm-waypoint-choice-grid strong { font-size:13px; }
.rm-waypoint-choice-grid small { color:#5b6880;font-size:10px;line-height:1.35; }
.rm-order-flow-card { margin-bottom:14px;padding:18px;border:1px solid #d6dfeb;border-radius:14px;background:#fff; }
.rm-order-flow-card label { display:block;margin:13px 0 6px;color:#273651;font-size:11px;font-weight:800; }
.rm-order-flow-card input,.rm-order-flow-card select,.rm-order-flow-card textarea { width:100%;min-height:48px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#10203b;font:inherit;font-size:12px; }
.rm-order-flow-icon { display:grid;place-items:center;width:62px;height:62px;margin:0 auto 10px;border-radius:50%; }
.rm-order-flow-icon.people { color:#0769ed;background:#e4f1ff; }
.rm-order-flow-icon.cargo { color:#ec8700;background:#fff0d8; }
.rm-order-flow-icon.delivery { color:#0aa050;background:#e1f7e9; }
.rm-order-flow-icon .rm-svg { width:33px;height:33px; }
.rm-stepper-control { display:grid;grid-template-columns:50px 1fr 50px;gap:6px; }
.rm-stepper-control button { border:0;border-radius:9px;background:#e8f2ff;color:#0769ed;font-size:25px;font-weight:900; }
.rm-stepper-control input { text-align:center;font-size:19px;font-weight:900; }
.rm-grid-two { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.rm-order-photo-preview { display:block;width:100%;max-height:230px;margin-top:10px;object-fit:cover;border-radius:10px; }
.rm-order-confirm-summary p { display:flex;justify-content:space-between;gap:15px;margin:0;padding:11px 0;border-bottom:1px solid #e1e6ec;font-size:11px; }
.rm-order-confirm-summary p:last-child { border-bottom:0; }
.rm-order-confirm-summary span { color:#65728a; }
.rm-order-confirm-summary strong { text-align:right; }
.rm-secondary-action { width:100%;min-height:52px;margin-top:10px;border:1px solid #0769ed;border-radius:9px;background:#fff;color:#0769ed;font-weight:900; }
.rm-order-waiting-card { margin-bottom:18px; }
.rm-order-waiting-card>span { background:#e2f7ea;color:#079d48; }
#viewNextOrdersButton b { display:inline-grid;place-items:center;min-width:23px;height:23px;margin-left:8px;border-radius:999px;background:#ed2530;color:#fff; }

@media(max-width:520px){
  .rm-order-card-main { grid-template-columns:50px 1fr 22px;padding:13px; }
  .rm-order-card-icon { width:48px;height:48px; }
  .rm-order-card footer { grid-template-columns:1fr auto; }
  .rm-order-card footer span:nth-child(2),.rm-order-card footer .rm-priority-label { display:none; }
  .rm-order-detail-grid,.rm-waypoint-choice-grid,.rm-order-detail-actions,.rm-grid-two { grid-template-columns:1fr; }
  .rm-order-detail-card { width:calc(100% - 12px);padding:14px; }
}
