/* Minuano — visual moderno (tipografia + superfícies + micro-interações) */

:root {
  --font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --radius-sm: 10px;
  --radius: 14px;
  --radius-lg: 20px;
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
  --shadow: 0 4px 6px -1px rgba(15, 23, 42, 0.07), 0 2px 4px -2px rgba(15, 23, 42, 0.05);
  --shadow-lg: 0 20px 40px -12px rgba(15, 23, 42, 0.12);
  --ring: 0 0 0 3px rgba(99, 102, 241, 0.35);

  --bg: #f1f5f9;
  --bg-elevated: #ffffff;
  --text: #0f172a;
  --text-secondary: #64748b;
  --border: rgba(148, 163, 184, 0.35);

  --accent: #6366f1;
  --accent-hover: #4f46e5;
  --accent-muted: rgba(99, 102, 241, 0.12);
  --accent-glow: rgba(99, 102, 241, 0.25);

  --surface-glass: rgba(255, 255, 255, 0.72);
  --hero-gradient: linear-gradient(135deg, #0f172a 0%, #1e1b4b 45%, #312e81 100%);
  --mesh: radial-gradient(ellipse 80% 60% at 100% 0%, rgba(99, 102, 241, 0.15), transparent),
    radial-gradient(ellipse 60% 50% at 0% 100%, rgba(14, 165, 233, 0.12), transparent);

  --danger: #ef4444;
  --warning: #f59e0b;
  --success: #10b981;
  --primary-dark: #0f172a;

  /* App Ionic (theme/variables.scss) — pedidos moto/carro */
  --app-primary: #0d2847;
  --app-primary-tint: #1e3d5b;
  --app-secondary: #e6a800;
}

.theme-dark {
  color-scheme: dark;
  --bg: #030712;
  --bg-elevated: #111827;
  --text: #f8fafc;
  --text-secondary: #94a3b8;
  --border: rgba(71, 85, 105, 0.5);
  --surface-glass: rgba(17, 24, 39, 0.85);
  --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.35), 0 2px 4px -2px rgba(0, 0, 0, 0.25);
  --shadow-lg: 0 24px 48px -12px rgba(0, 0, 0, 0.45);
  --mesh: radial-gradient(ellipse 80% 60% at 100% 0%, rgba(99, 102, 241, 0.2), transparent),
    radial-gradient(ellipse 60% 50% at 0% 100%, rgba(56, 189, 248, 0.1), transparent);
  --accent-muted: rgba(99, 102, 241, 0.2);
  --hero-gradient: linear-gradient(135deg, #020617 0%, #1e1b4b 50%, #0c4a6e 100%);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html,
body {
  margin: 0;
  min-height: 100%;
  min-height: 100dvh;
  font-family: var(--font);
  font-feature-settings: "ss01" on, "cv11" on;
  background-color: var(--bg);
  background-image: var(--mesh);
  background-attachment: fixed;
  color: var(--text);
  line-height: 1.5;
}

a {
  color: var(--accent);
  text-decoration: none;
  transition: color 0.15s ease;
}

a:hover {
  color: var(--accent-hover);
  text-decoration: none;
}

/* ——— Header ——— */
.app-header {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.7rem 1.5rem;
  background: var(--surface-glass);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 40;
  box-shadow: var(--shadow-sm);
}

@media (min-width: 1200px) {
  .app-header {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

.nav-toggle {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
  color: var(--text);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.nav-toggle:hover {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent-muted);
}

.nav-toggle:active {
  transform: scale(0.96);
}

.app-title {
  flex: 1;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: -0.02em;
  min-width: 0;
}

.toolbar-user {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text);
}

.app-main {
  width: 100%;
  padding: 1.25rem 1.5rem max(1.5rem, env(safe-area-inset-bottom, 0px));
}

@media (min-width: 1200px) {
  .app-main {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

/* Login / splash em tela cheia */
.app-main.login-main,
.app-main.splash-main {
  padding: 0;
  min-height: 100dvh;
}

.home-main {
  padding-top: 0.35rem;
}

.app-main.home-atendente {
  padding-bottom: 1.5rem;
}

/* TV: sem header; botão flutuante voltar */
.tv-back-fab {
  position: fixed;
  z-index: 120;
  top: max(0.65rem, env(safe-area-inset-top, 0px));
  left: max(0.65rem, env(safe-area-inset-left, 0px));
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  padding: 0;
  margin: 0;
  line-height: 0;
  text-decoration: none;
  color: var(--text);
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-md);
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.12s ease, color 0.15s ease;
}

.tv-back-fab svg {
  display: block;
  flex-shrink: 0;
}

.tv-back-fab:hover {
  background: var(--accent-muted);
  border-color: var(--accent);
  color: var(--text);
}

.tv-back-fab:active {
  transform: scale(0.94);
}

/* TV (tv.php): mesmos painéis/bordas do home; tipografia compacta nas linhas */
.app-main.tv-main .split-center .corrida-row-item--tv {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  padding-left: 0.575rem;
  padding-right: 0.575rem;
}

@media (min-width: 1200px) {
  .app-main.tv-main .split-center .corrida-row-item--tv {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

.app-main.tv-main .split-center .corrida-row-item--tv .cri-top {
  gap: 0.25rem;
  margin-bottom: 0.1rem;
}

.app-main.tv-main .split-center .corrida-row-item--tv .cri-top .corrida-id {
  font-size: clamp(0.475rem, 0.85vw, 0.5625rem);
}

.app-main.tv-main .split-center .corrida-row-item--tv .cri-body {
  gap: 0.175rem 0.375rem;
  font-size: clamp(0.44rem, 0.78vw, 0.56rem);
  line-height: 1.5;
}

.app-main.tv-main .split-center .corrida-row-item--tv .cri-body .cri-meta {
  font-size: clamp(0.4rem, 0.72vw, 0.51rem);
}

.app-main.tv-main .split-center .corrida-row-item--tv .cri-body .admin-countdown {
  font-size: clamp(0.44rem, 0.78vw, 0.56rem);
}

.app-main.tv-main .split-center .corrida-row-item--tv .badge {
  font-size: clamp(0.3rem, 0.55vw, 0.4rem);
  padding: 0.1rem 0.275rem;
}

.app-main.tv-main .tv-corridas-empty {
  padding: 1.25rem 0.5rem !important;
  font-size: 0.525rem;
}

.app-main.tv-main .split-motoboys-rail .split-rail-stat-value {
  font-size: clamp(0.55rem, 1vw, 0.72rem);
}

.app-main.tv-main .split-motoboys-rail .split-rail-stat-icon svg {
  width: 14px;
  height: 14px;
}

.app-main.tv-main .split-motoboys-rail .motoboy-row-item {
  padding: 0.45rem 0.55rem;
}

.app-main.tv-main .split-motoboys-rail .mri-top {
  gap: 0.3rem;
  margin-bottom: 0.1rem;
}

.app-main.tv-main .split-motoboys-rail .mri-top strong {
  font-size: clamp(0.52rem, 0.95vw, 0.7rem);
}

.app-main.tv-main .split-motoboys-rail .mri-body {
  font-size: clamp(0.48rem, 0.88vw, 0.65rem);
  line-height: 1.5;
}

.app-main.tv-main .split-motoboys-rail .badge {
  font-size: clamp(0.34rem, 0.62vw, 0.48rem);
  padding: 0.08rem 0.24rem;
}

.app-main.tv-main .split-motoboys-rail .mri-actions {
  margin-top: 0.3rem;
  gap: 0.25rem;
}

.app-main.tv-main .split-motoboys-rail .mri-actions .btn-sm {
  font-size: clamp(0.42rem, 0.78vw, 0.58rem);
  padding: 0.22rem 0.48rem;
}

.app-main.tv-main .split-motoboys-rail .split-rail-empty {
  font-size: clamp(0.46rem, 0.82vw, 0.62rem);
  padding: 0.5rem 0.35rem;
}

/* ——— Drawer ——— */
.nav-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(4px);
  z-index: 90;
}

.nav-overlay[hidden] {
  display: none;
}

.side-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: min(19rem, 90vw);
  height: 100%;
  background: var(--bg-elevated);
  z-index: 100;
  padding: 1.25rem 1rem;
  border-right: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
  transform: translateX(-100%);
  transition: transform 0.28s cubic-bezier(0.32, 0.72, 0, 1);
  overflow-y: auto;
}

.side-nav.is-open {
  transform: translateX(0);
}

.side-nav-user {
  padding-bottom: 1.1rem;
  border-bottom: 1px solid var(--border);
  margin-bottom: 1rem;
}

.side-nav-user strong {
  font-size: 1.05rem;
  letter-spacing: -0.02em;
}

.side-nav-user .muted {
  display: block;
  color: var(--text-secondary);
  font-size: 0.875rem;
  margin-top: 0.2rem;
}

.role-badge {
  display: inline-block;
  margin-top: 0.5rem;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.role-1 {
  background: linear-gradient(135deg, #dbeafe, #e0e7ff);
  color: #3730a3;
}
.theme-dark .role-1 {
  background: rgba(99, 102, 241, 0.25);
  color: #c7d2fe;
}

.role-2 {
  background: linear-gradient(135deg, #fae8ff, #ede9fe);
  color: #6b21a8;
}
.theme-dark .role-2 {
  background: rgba(168, 85, 247, 0.2);
  color: #e9d5ff;
}

.role-0 {
  background: var(--border);
  color: var(--text-secondary);
}
.theme-dark .role-0 {
  background: #1f2937;
  color: #cbd5e1;
}

.role-3 {
  background: linear-gradient(135deg, #ccfbf1, #d1fae5);
  color: #0f766e;
}
.theme-dark .role-3 {
  background: rgba(45, 212, 191, 0.2);
  color: #99f6e4;
}

.role-4 {
  background: linear-gradient(135deg, #e0e7ff, #fae8ff);
  color: #5b21b6;
}
.theme-dark .role-4 {
  background: rgba(129, 140, 248, 0.22);
  color: #ddd6fe;
}

.side-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 0.85rem;
  color: var(--text);
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 0.9rem;
  transition: background 0.15s ease;
}

.side-link:hover {
  background: var(--accent-muted);
  text-decoration: none;
}

.side-link.is-active {
  background: var(--accent-muted);
  color: var(--accent);
  font-weight: 700;
}

.side-link.danger {
  color: var(--danger);
}
.side-link.danger:hover {
  background: rgba(239, 68, 68, 0.1);
}

.side-form {
  margin: 0.75rem 0;
}

.side-toggle {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text-secondary);
  padding: 0.5rem 0;
}

.side-toggle input {
  width: 1.1rem;
  height: 1.1rem;
  accent-color: var(--accent);
}

/* ——— Toast (canto superior direito; entra e sai deslizando) ——— */
.flash {
  position: fixed;
  top: max(1rem, env(safe-area-inset-top, 0px));
  right: max(1rem, env(safe-area-inset-right, 0px));
  left: auto;
  z-index: 200;
  padding: 0.75rem 1.15rem;
  border-radius: var(--radius);
  font-size: 0.875rem;
  font-weight: 600;
  box-shadow: var(--shadow-lg);
  max-width: min(calc(100vw - 2rem), 22rem);
  backdrop-filter: blur(8px);
  transform: translateX(0);
  animation: flash-in-right 0.45s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

body:has(> .app-header) .flash {
  top: max(4.25rem, calc(env(safe-area-inset-top, 0px) + 3.25rem));
}

@keyframes flash-in-right {
  from {
    opacity: 0;
    transform: translateX(calc(100% + 1.25rem));
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.flash.flash--out {
  animation: flash-out-right 0.42s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes flash-out-right {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(calc(100% + 1.25rem));
  }
}

.flash-success {
  background: linear-gradient(135deg, #ecfdf5, #d1fae5);
  color: #065f46;
  border: 1px solid rgba(16, 185, 129, 0.25);
}
.flash-danger {
  background: linear-gradient(135deg, #fef2f2, #fee2e2);
  color: #991b1b;
  border: 1px solid rgba(239, 68, 68, 0.25);
}
.flash-warning {
  background: linear-gradient(135deg, #fffbeb, #fef3c7);
  color: #92400e;
  border: 1px solid rgba(245, 158, 11, 0.3);
}
.flash-info {
  background: linear-gradient(135deg, #eff6ff, #e0f2fe);
  color: #075985;
  border: 1px solid rgba(14, 165, 233, 0.25);
}

.theme-dark .flash-success {
  background: rgba(6, 78, 59, 0.9);
  color: #a7f3d0;
  border-color: rgba(16, 185, 129, 0.35);
}
.theme-dark .flash-danger {
  background: rgba(127, 29, 29, 0.92);
  color: #fecaca;
  border-color: rgba(239, 68, 68, 0.35);
}
.theme-dark .flash-warning {
  background: rgba(120, 53, 15, 0.92);
  color: #fde68a;
  border-color: rgba(245, 158, 11, 0.35);
}
.theme-dark .flash-info {
  background: rgba(12, 74, 110, 0.92);
  color: #bae6fd;
  border-color: rgba(14, 165, 233, 0.35);
}

/* ——— Buttons ——— */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.65rem 1.1rem;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.btn:active:not(:disabled) {
  transform: scale(0.98);
}

.btn:focus-visible {
  outline: none;
  box-shadow: var(--ring);
}

.btn-block {
  width: 100%;
}

.btn-primary {
  background: linear-gradient(135deg, var(--accent) 0%, #4f46e5 100%);
  color: #fff;
  box-shadow: 0 2px 8px var(--accent-glow);
}

.btn-primary:hover {
  color: #fff;
  background: linear-gradient(135deg, #5b54e8 0%, #5f58f0 100%);
  box-shadow: 0 4px 16px var(--accent-glow);
  transform: translateY(-1px);
}

.btn-outline {
  border-color: var(--border);
  background: var(--bg-elevated);
  color: var(--text);
  box-shadow: var(--shadow-sm);
}

.btn-outline:hover {
  border-color: var(--accent);
  background: var(--accent-muted);
}

.btn-success {
  background: linear-gradient(135deg, #10b981, #059669);
  color: #fff;
  box-shadow: 0 2px 10px rgba(16, 185, 129, 0.35);
}

.btn-warning {
  border: 1px solid rgba(245, 158, 11, 0.5);
  color: #b45309;
  background: rgba(245, 158, 11, 0.08);
}

.theme-dark .btn-warning {
  color: #fcd34d;
  border-color: rgba(245, 158, 11, 0.4);
  background: rgba(245, 158, 11, 0.1);
}

.btn-danger {
  background: linear-gradient(135deg, #ef4444, #dc2626);
  color: #fff;
}

.btn-outline.btn-danger {
  background: transparent;
  color: var(--danger);
  border-color: rgba(239, 68, 68, 0.45);
  box-shadow: none;
}

.btn-sm {
  padding: 0.4rem 0.65rem;
  font-size: 0.8rem;
  border-radius: 8px;
}

.btn-icon {
  padding: 0.4rem 0.55rem;
  font-size: 1.15rem;
  line-height: 1;
  border: none;
  background: transparent;
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.btn-icon:hover {
  background: var(--accent-muted);
  color: var(--accent);
}

.app-header-actions {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.header-add-btn {
  white-space: nowrap;
}

.header-add-btn svg {
  vertical-align: -2px;
}

/* ——— Forms ——— */
.stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.field-coleta-label-row {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
}

.field-coleta-label-row > span {
  flex: 1;
  min-width: 0;
  text-align: right;
}

.field-coleta-paste-btn {
  flex-shrink: 0;
  white-space: nowrap;
}

/* Form nova corrida: entrega / observação com linha título + ícone exibir-ocultar */
.field-reveal-block {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}

.field-reveal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
}

.field-reveal-header-text {
  flex: 1;
  min-width: 0;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-secondary);
  line-height: 1.3;
  cursor: pointer;
  margin: 0;
}

.field-reveal-toggle {
  flex-shrink: 0;
  position: relative;
  width: 2.35rem;
  height: 2.35rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.field-reveal-toggle .field-reveal-svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/* Recolhido: olho (mostrar). Aberto: olho riscado (ocultar). Ícones via CSS — evita `hidden` em <svg>. */
.field-reveal-toggle .field-reveal-svg--eye-off {
  display: none;
}

.field-reveal-toggle[aria-expanded='true'] .field-reveal-svg--eye {
  display: none;
}

.field-reveal-toggle[aria-expanded='true'] .field-reveal-svg--eye-off {
  display: block;
}

.field-reveal-panel {
  width: 100%;
}

.field-reveal-panel[hidden] {
  display: none !important;
}

.field-reveal-panel .field {
  width: 100%;
}

.field-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
}

@media (min-width: 420px) {
  .field-row {
    gap: 1rem;
  }
}

.field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

/* [hidden] perde para `display: flex` em .field (mesma especificidade). */
.field[hidden] {
  display: none !important;
}

.field span {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-secondary);
}

.field input,
.field textarea,
.field select {
  width: 100%;
  padding: 0.7rem 0.85rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
  color: var(--text);
  font: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.field input:hover,
.field textarea:hover,
.field select:hover {
  border-color: rgba(99, 102, 241, 0.35);
}

.field input:focus,
.field textarea:focus,
.field select:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-muted);
}

.field.row-check {
  flex-direction: row;
  align-items: center;
  gap: 0.65rem;
}

.field.row-toggle {
  flex-direction: row;
  align-items: center;
  gap: 0.65rem;
}

.field.field-checkbox .field-checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
}

.field.field-checkbox .field-checkbox-row input[type="checkbox"] {
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.15rem;
  flex-shrink: 0;
  accent-color: var(--accent);
}

.field.field-checkbox .muted {
  display: block;
  margin-top: 0.35rem;
  margin-left: 0;
}

.toggle-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.toggle-switch input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.toggle-track {
  width: 44px;
  height: 24px;
  background: var(--border);
  border-radius: 12px;
  position: relative;
  cursor: pointer;
  transition: background 0.2s ease;
}

.toggle-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  transition: transform 0.2s ease;
}

.toggle-switch input:checked + .toggle-track {
  background: var(--accent);
}

.toggle-switch input:checked + .toggle-track .toggle-thumb {
  transform: translateX(20px);
}

.toggle-switch input:focus-visible + .toggle-track {
  box-shadow: 0 0 0 3px var(--accent-muted);
}

.form-error {
  color: var(--danger);
  font-size: 0.875rem;
  font-weight: 600;
  margin: 0;
}

.form-success {
  color: var(--success, #15803d);
  font-size: 0.875rem;
  font-weight: 600;
  margin: 0;
}

.theme-dark .form-success {
  color: #4ade80;
}

.login-register-footer {
  text-align: center;
  margin: 0.75rem 0 0;
}

.login-register-footer a {
  font-weight: 600;
}

.cadastro-resend-form {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-subtle, rgba(0, 0, 0, 0.08));
}

.theme-dark .cadastro-resend-form {
  border-top-color: rgba(255, 255, 255, 0.1);
}

.login-card .form-settings-hint.cadastro-reginfo {
  margin-bottom: 1rem;
}

.ion-padding {
  padding: 1rem;
}

.ion-margin-top {
  margin-top: 0.75rem;
}

.muted {
  color: var(--text-secondary);
}

.small {
  font-size: 0.875rem;
}

.center {
  text-align: center;
}

/* ——— Login (split-screen) ——— */
.login-wrap {
  display: flex;
  min-height: 100dvh;
}

.login-hero {
  display: none;
  position: relative;
  flex: 1;
  background: var(--hero-gradient);
  overflow: hidden;
  padding: 3rem;
}

.login-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--mesh);
  pointer-events: none;
}

.login-hero-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  max-width: 480px;
}

.login-hero-brand {
  font-size: 2.25rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.15;
  background: linear-gradient(135deg, #fff 0%, #c7d2fe 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-bottom: 1rem;
}

.login-hero-tagline {
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.6;
  max-width: 32ch;
}

.login-hero-dots {
  position: absolute;
  bottom: 3rem;
  left: 3rem;
  display: flex;
  gap: 0.5rem;
}

.login-hero-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.25);
}

.login-hero-dot:first-child {
  background: rgba(255, 255, 255, 0.8);
  width: 24px;
  border-radius: 999px;
}

@media (min-width: 900px) {
  .login-hero {
    display: flex;
  }
}

.login-form-side {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1.5rem;
  background: var(--bg);
  background-image: var(--mesh);
  min-height: 100dvh;
}

@media (min-width: 900px) {
  .login-form-side {
    max-width: 540px;
    min-width: 400px;
    border-left: 1px solid var(--border);
  }
}

.login-card {
  width: 100%;
  max-width: 400px;
}

.login-logo {
  margin-bottom: 2rem;
}

.login-logo-img {
  width: 120px;
  height: 120px;
  object-fit: contain;
  display: block;
  margin: 0 auto 1.25rem;
  border-radius: var(--radius-lg);
}

.login-logo-brand {
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--text);
  display: block;
  margin-bottom: 0.25rem;
}

.login-logo-accent {
  color: var(--accent);
}

.login-api-logo-hit {
  user-select: none;
  -webkit-user-select: none;
}

.login-api-code {
  font-size: 0.85em;
  word-break: break-all;
}

.login-logo-sub {
  color: var(--text-secondary);
  font-size: 0.92rem;
  margin: 0.35rem 0 0;
}

/* APK só em viewport estreita (telefone / janela estreita); escondido no layout largo tipo desktop */
.login-apk-row {
  display: none;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--border);
}

@media (max-width: 899px) {
  .login-apk-row {
    display: block;
  }
}

.login-apk-hint {
  margin: 0 0 0.65rem;
  text-align: center;
  line-height: 1.45;
}

a.login-apk-download {
  text-decoration: none;
  box-sizing: border-box;
}

/* ——— Splash ——— */
.splash {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: var(--hero-gradient);
  position: relative;
}

.splash::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--mesh);
  pointer-events: none;
}

.splash-logo-wrap {
  text-align: center;
  position: relative;
  z-index: 1;
}

.splash-logo-img {
  width: 160px;
  height: 160px;
  object-fit: contain;
  display: block;
  margin: 0 auto 1.25rem;
  border-radius: var(--radius-lg);
}

.splash-brand {
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  background: linear-gradient(135deg, #fff 0%, #c7d2fe 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.splash-sub {
  color: rgba(255, 255, 255, 0.65);
  margin-top: 0.35rem;
  font-size: 0.95rem;
  font-weight: 500;
}

/* ——— Position hero ——— */
.fila-mensagem-banner {
  background: #c62828;
  color: #fff;
  padding: 0.75rem 1rem;
  border-radius: var(--radius-lg);
  margin-bottom: 0.75rem;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.35;
  white-space: pre-wrap;
  word-break: break-word;
}

.position-box {
  position: relative;
  background: var(--hero-gradient);
  color: #f8fafc;
  border-radius: var(--radius-lg);
  padding: 1.75rem 1.25rem;
  text-align: center;
  margin-bottom: 1rem;
  overflow: hidden;
  box-shadow: var(--shadow-lg), 0 0 40px -8px var(--accent-glow);
}

.position-box::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.12), transparent 50%);
  pointer-events: none;
}

.position-box > * {
  position: relative;
  z-index: 1;
}

.position-box--delivery {
  text-align: left;
}

.position-label {
  opacity: 0.92;
  margin-bottom: 0.65rem;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.position-number {
  font-size: clamp(3rem, 12vw, 4rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.position-delivery p {
  margin: 0.4rem 0;
  line-height: 1.5;
  font-size: 0.92rem;
}

.delivery-actions {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.section-title {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-secondary);
  margin: 1.25rem 0 0.65rem;
}

.queue-list {
  list-style: none;
  margin: 0;
  padding: 0;
  background: var(--bg-elevated);
  border-radius: var(--radius);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

.queue-item {
  display: flex;
  gap: 0.85rem;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid var(--border);
}

.queue-item:last-child {
  border-bottom: none;
}

.queue-pos {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--accent), #4f46e5);
  color: #fff;
  border-radius: var(--radius-sm);
  font-weight: 800;
  font-size: 0.85rem;
  box-shadow: 0 2px 8px var(--accent-glow);
}

/* ——— Offer ——— */
.offer-banner {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.25rem;
  margin-bottom: 1.15rem;
  box-shadow: var(--shadow);
  border-left: 4px solid var(--accent);
}

.offer-banner h2 {
  margin: 0 0 0.85rem;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.offer-details p {
  margin: 0.4rem 0;
  font-size: 0.9rem;
  line-height: 1.45;
}

.countdown-line .countdown {
  display: block;
  margin-top: 0.45rem;
  font-weight: 800;
  font-size: 1rem;
  color: var(--warning);
  font-variant-numeric: tabular-nums;
}

.offer-actions {
  margin-top: 0.85rem;
}

.offer-actions + .offer-actions {
  margin-top: 0.5rem;
}

/* ——— Cards ——— */
.card {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1rem 1.1rem;
  margin-bottom: 0.85rem;
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.card:hover {
  box-shadow: var(--shadow);
  border-color: rgba(99, 102, 241, 0.2);
}

.corrida-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.6rem;
}

.corrida-id {
  font-weight: 800;
  font-size: 1.05rem;
  letter-spacing: -0.02em;
  margin-right: auto;
}

.badge {
  display: inline-block;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.st-offered {
  background: rgba(245, 158, 11, 0.15);
  color: #b45309;
}
.st-progress {
  background: rgba(99, 102, 241, 0.15);
  color: #4338ca;
}
.st-done {
  background: rgba(16, 185, 129, 0.15);
  color: #047857;
}
.st-canceled {
  background: rgba(100, 116, 139, 0.15);
  color: #475569;
}
.st-muted {
  background: rgba(148, 163, 184, 0.2);
  color: #64748b;
}

.theme-dark .st-offered {
  color: #fcd34d;
  background: rgba(245, 158, 11, 0.15);
}
.theme-dark .st-progress {
  color: #a5b4fc;
  background: rgba(99, 102, 241, 0.2);
}
.theme-dark .st-done {
  color: #6ee7b7;
  background: rgba(16, 185, 129, 0.15);
}
.theme-dark .st-canceled {
  color: #cbd5e1;
  background: rgba(71, 85, 105, 0.35);
}

.modal-sm {
  max-width: 380px;
}

.modal-historico-corrida {
  max-width: 520px;
}

.corrida-row-item--history {
  cursor: pointer;
}

.corrida-row-item--history .cri-top :is(button, a, input, label),
.corrida-row-item--history .cri-top form {
  cursor: auto;
}

/* País (amarelo/azul) e tipo de entrega — alinhado ao app */
.corrida-meta-badges,
.corrida-pais-badges {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.28rem;
  vertical-align: middle;
}

.cri-pais-tipo-badges {
  display: block;
  width: 100%;
  margin-bottom: 0.15rem;
}

.corrida-pais-badge,
.corrida-tipo-badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.01em;
  word-break: break-word;
  border: 1px solid transparent;
  vertical-align: middle;
}

.corrida-pais-badge--brasil {
  color: #7a5a00;
  background: rgba(255, 193, 7, 0.38);
  border-color: rgba(230, 160, 0, 0.55);
}

.corrida-pais-badge--uruguai {
  color: #0d4a8a;
  background: rgba(33, 150, 243, 0.22);
  border-color: rgba(33, 120, 210, 0.42);
}

.corrida-tipo-badge--passageiro {
  color: #0d5aa7;
  background: rgba(13, 90, 167, 0.12);
  border-color: rgba(13, 90, 167, 0.28);
}

.corrida-tipo-badge--mochila {
  color: #0d6b4a;
  background: rgba(13, 107, 74, 0.14);
  border-color: rgba(13, 107, 74, 0.32);
}

.corrida-tipo-badge--compras {
  color: #8a5a00;
  background: rgba(255, 193, 7, 0.2);
  border-color: rgba(230, 160, 0, 0.38);
}

.corrida-tipo-badge--carro {
  color: #7a5a00;
  background: rgba(120, 90, 0, 0.14);
  border-color: rgba(120, 90, 0, 0.32);
}

.position-box--delivery .corrida-pais-badge,
.position-box--delivery .corrida-tipo-badge,
.offer-banner .corrida-pais-badge,
.offer-banner .corrida-tipo-badge {
  color: #fff;
}

.position-box--delivery .corrida-pais-badge--brasil,
.offer-banner .corrida-pais-badge--brasil {
  background: rgba(255, 193, 7, 0.55);
  border-color: rgba(255, 220, 100, 0.72);
}

.position-box--delivery .corrida-pais-badge--uruguai,
.offer-banner .corrida-pais-badge--uruguai {
  background: rgba(33, 120, 220, 0.62);
  border-color: rgba(140, 200, 255, 0.65);
}

.position-box--delivery .corrida-tipo-badge--passageiro,
.offer-banner .corrida-tipo-badge--passageiro {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.4);
}

.position-box--delivery .corrida-tipo-badge--mochila,
.offer-banner .corrida-tipo-badge--mochila {
  background: rgba(120, 220, 170, 0.45);
  border-color: rgba(200, 255, 230, 0.55);
}

.position-box--delivery .corrida-tipo-badge--compras,
.offer-banner .corrida-tipo-badge--compras {
  background: rgba(255, 210, 100, 0.45);
  border-color: rgba(255, 235, 180, 0.55);
}

.position-box--delivery .corrida-tipo-badge--carro,
.offer-banner .corrida-tipo-badge--carro {
  background: rgba(255, 220, 120, 0.45);
  border-color: rgba(255, 240, 180, 0.55);
}

.theme-dark .corrida-pais-badge--brasil {
  color: #ffe08a;
  background: rgba(255, 193, 7, 0.28);
  border-color: rgba(255, 220, 100, 0.45);
}

.theme-dark .corrida-pais-badge--uruguai {
  color: #9ed0ff;
  background: rgba(33, 120, 220, 0.32);
  border-color: rgba(140, 200, 255, 0.48);
}

.corrida-historico-body {
  padding: 0.25rem 0 1rem;
}

.corrida-historico-summary {
  font-size: 0.9rem;
  line-height: 1.45;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border);
}

.corrida-historico-summary .chs-row {
  display: block;
  margin-bottom: 0.35rem;
}

.corrida-historico-summary .chs-row strong {
  font-weight: 600;
  margin-right: 0.35rem;
}

.corrida-historico-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}

.corrida-historico-timeline li {
  position: relative;
  padding: 0.65rem 0 0.65rem 1.35rem;
  border-left: 2px solid var(--border);
  margin-left: 0.45rem;
}

.corrida-historico-timeline li:last-child {
  border-left-color: transparent;
}

.corrida-historico-timeline li::before {
  content: '';
  position: absolute;
  left: -5px;
  top: 0.85rem;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 2px var(--bg-elevated);
}

.corrida-historico-time {
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
  color: var(--muted);
  margin-bottom: 0.2rem;
}

.corrida-historico-detail {
  font-size: 0.92rem;
  line-height: 1.4;
}

/* Cards em grid (desktop) — motoboys, histórico */
.cards-grid {
  display: grid;
  gap: 0.85rem;
}

@media (min-width: 800px) {
  .cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1300px) {
  .cards-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.cards-grid .card {
  margin-bottom: 0;
}

/* ——— Lista de corridas (colada, full-width) ——— */
.corridas-list-flush {
  margin-left: -1.5rem;
  margin-right: -1.5rem;
  border-top: 1px solid var(--border);
}

@media (min-width: 1200px) {
  .corridas-list-flush {
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }
}

.corrida-row-item {
  padding: 0.75rem 1.5rem;
  border-bottom: 1px solid var(--border);
  background: var(--bg-elevated);
  transition: background 0.12s ease;
}

@media (min-width: 1200px) {
  .corrida-row-item {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

.corrida-row-item:hover {
  background: var(--accent-muted);
}

.cri-top {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.2rem;
}

.cri-top .corrida-id {
  font-size: 0.95rem;
}

.cri-top .inline-form {
  margin-left: auto;
}

.cri-body {
  display: flex;
  flex-direction: column;
  gap: 0;
  font-size: 0.88rem;
  line-height: 1.55;
}

.cri-motoboy-recusar-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  column-gap: 1rem;
  row-gap: 0.25rem;
}

.cri-motoboy-recusar-row > span:first-child {
  flex: 1;
  min-width: 0;
}

.cri-body .cri-recusar-line--no {
  color: var(--text-secondary);
}

.cri-body .cri-meta {
  color: var(--text-secondary);
  font-size: 0.82rem;
}

.cri-body .admin-countdown {
  font-size: 0.88rem;
}

.cri-body .corrida-countdown {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}

.motoboy-card.inactive {
  opacity: 0.72;
  filter: grayscale(0.15);
}

.motoboy-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.4rem;
}

.motoboy-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.75rem;
}

.inline-form {
  display: inline;
}

/* ——— Modal ——— */
.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(6px);
  z-index: 150;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0.75rem;
  animation: fade-in 0.2s ease;
}

/* [hidden] sozinho perde para `display: flex` acima (mesma especificidade); sem isso o histórico aparecia ao carregar. */
.modal-backdrop[hidden] {
  display: none !important;
  pointer-events: none;
  visibility: hidden;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@media (min-width: 600px) {
  .modal-backdrop {
    align-items: center;
  }
}

.modal {
  background: var(--bg-elevated);
  border-radius: var(--radius-lg);
  width: 100%;
  max-width: 480px;
  max-height: 90vh;
  overflow-y: auto;
  padding: 0 1.15rem 1.15rem;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
  animation: modal-up 0.35s cubic-bezier(0.32, 0.72, 0, 1);
}

@keyframes modal-up {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--bg-elevated);
  padding: 1rem 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: 1rem;
}

.modal-head h2 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.corrida-countdown.expiring,
.countdown.expiring {
  color: var(--danger) !important;
}

.admin-countdown .corrida-countdown {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-feature-settings: "tnum" on;
}

.config-page .stack {
  max-width: 36rem;
}

.config-page .stack.form-settings {
  margin-inline: auto;
}

/* ——— Formulários: alterar senha + parâmetros (config) ——— */
.form-settings {
  max-width: 38rem;
  width: 100%;
  margin-inline: auto;
  box-sizing: border-box;
}

.form-settings-head {
  margin-bottom: 1.35rem;
  text-align: center;
}

.form-settings-icon-wrap {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-muted);
  color: var(--accent);
  margin: 0 auto 1rem;
}

.form-settings-icon-wrap svg {
  width: 1.35rem;
  height: 1.35rem;
}

.form-settings-title {
  margin: 0 0 0.35rem;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.2;
}

.form-settings-lead {
  margin: 0 auto;
  font-size: 0.9rem;
  color: var(--text-secondary);
  line-height: 1.45;
  max-width: 34rem;
  text-align: center;
}

.form-settings-card {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 1.25rem 1.35rem 1.35rem;
}

.form-settings-card + .form-settings-card {
  margin-top: 1rem;
}

.form-settings-section-title {
  margin: 0 0 1rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
  text-align: center;
}

.form-settings-fields.stack {
  gap: 1.1rem;
}

.form-settings-toggle-stack {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.form-settings-hint {
  margin: 0.35rem 0 0;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.5;
  text-align: center;
}

.form-settings-hint strong {
  color: var(--text);
  font-weight: 700;
}

.form-settings-divider {
  height: 1px;
  background: var(--border);
  margin: 1.35rem 0 1.25rem;
}

.form-settings input.input-readonly,
.form-settings input[readonly] {
  cursor: default;
  color: var(--text-secondary);
  background: var(--bg);
  border-style: dashed;
}

.form-settings-actions {
  margin-top: 1.35rem;
  padding-top: 0.25rem;
  text-align: center;
}

.form-settings-meta {
  margin: 1.15rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
  font-size: 0.8125rem;
  color: var(--text-secondary);
  text-align: center;
}

.form-settings-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 8rem;
  color: var(--text-secondary);
  font-size: 0.9rem;
}

.form-settings-error-box {
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.28);
  border-radius: var(--radius-sm);
  padding: 0.85rem 1rem;
  margin-bottom: 1rem;
  font-size: 0.9rem;
  color: var(--text);
  text-align: center;
}

.theme-dark .form-settings-error-box {
  background: rgba(239, 68, 68, 0.14);
  border-color: rgba(248, 113, 113, 0.35);
}

.form-settings-hint--top {
  margin-top: 0;
}

.form-settings-horario-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem 1rem;
  margin-top: 0.75rem;
}

@media (max-width: 520px) {
  .form-settings-horario-grid {
    grid-template-columns: 1fr;
  }
}

.form-settings-horario-status {
  margin: 0 0 0.75rem;
  padding: 0.55rem 0.75rem;
  border-radius: 8px;
  font-size: 0.9rem;
  line-height: 1.4;
}

.form-settings-horario-status--ok {
  background: rgba(34, 197, 94, 0.12);
  border: 1px solid rgba(34, 197, 94, 0.35);
  color: #166534;
}

.form-settings-horario-status--off {
  background: rgba(234, 179, 8, 0.14);
  border: 1px solid rgba(234, 179, 8, 0.4);
  color: #854d0e;
}

.theme-dark .form-settings-horario-status--ok {
  color: #86efac;
}

.theme-dark .form-settings-horario-status--off {
  color: #fde047;
}

.form-settings .field.row-toggle + .form-settings-hint {
  margin-top: 0.5rem;
}

/* ——— Responsivo (conteúdo do motoboy em telas grandes) ——— */
.tab-panel > form:has(.btn-block) {
  max-width: 400px;
}

.delivery-actions form {
  max-width: 400px;
}

/* ——— Split view (atendente: form + list side-by-side) ——— */
.split-layout {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

@media (min-width: 900px) {
  .split-layout {
    flex-direction: row;
    align-items: flex-start;
    gap: 1.5rem;
  }

  /*
   * Três colunas só a partir de 1100px (grid). Entre 900–1099px, row empurrava
   * form + corridas + motoboys na mesma linha — painéis espremidos. Empilha até o grid.
   */
  .split-layout--triple {
    flex-direction: column;
  }

  .split-layout--triple .split-left {
    width: 100%;
    max-width: 32rem;
    position: static;
    max-height: none;
    overflow: visible;
    align-self: stretch;
  }
}

.split-left {
  flex-shrink: 0;
}

@media (min-width: 900px) {
  .split-left {
    width: 380px;
    position: sticky;
    top: 4.5rem;
    max-height: calc(100dvh - 5.5rem);
    overflow-y: auto;
  }
}

.split-form-card {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.25rem;
  box-shadow: var(--shadow-sm);
}

.split-pedir-heading {
  margin: 0 0 1rem;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--text);
}

.split-pedir-pick__hint {
  margin: 0 0 0.65rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.split-pedir-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  margin: 0 0 0.5rem;
  padding: 1.1rem 0.75rem;
  border-radius: 14px;
  cursor: pointer;
  font: inherit;
  text-align: center;
  background: linear-gradient(
    165deg,
    rgba(13, 40, 71, 0.16) 0%,
    rgba(13, 40, 71, 0.06) 55%,
    var(--bg-elevated) 100%
  );
  border: 1px solid rgba(13, 40, 71, 0.28);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 20px rgba(13, 40, 71, 0.1);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.split-pedir-cta:hover {
  border-color: rgba(13, 40, 71, 0.45);
  box-shadow: 0 2px 8px rgba(13, 40, 71, 0.16);
}

.split-pedir-cta:active {
  transform: scale(0.98);
}

.split-pedir-cta--carro {
  background: linear-gradient(
    165deg,
    rgba(230, 168, 0, 0.16) 0%,
    rgba(230, 168, 0, 0.06) 55%,
    var(--bg-elevated) 100%
  );
  border-color: rgba(230, 168, 0, 0.32);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 20px rgba(230, 168, 0, 0.1);
}

.split-pedir-cta--carro:hover {
  border-color: rgba(230, 168, 0, 0.5);
}

.split-pedir-cta__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.75rem;
  height: 4.75rem;
  border-radius: 50%;
  background: rgba(13, 40, 71, 0.12);
}

.split-pedir-cta--carro .split-pedir-cta__icon-wrap {
  background: rgba(230, 168, 0, 0.14);
}

.split-pedir-cta__icon {
  width: 2.75rem;
  height: 2.75rem;
}

.split-pedir-cta .icon-pedir-moto {
  fill: var(--app-primary);
}

.split-pedir-cta--carro .icon-pedir-carro {
  color: var(--app-secondary);
}

.split-pedir-cta__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--app-primary);
}

.split-pedir-cta--carro .split-pedir-cta__title {
  color: var(--app-secondary);
}

.split-pedir-fields[hidden] {
  display: none !important;
}

.split-pedir-voltar {
  margin-bottom: 0.5rem;
}

.split-pedir-tipo-ativo {
  margin: 0 0 0.75rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text-muted);
}

.split-pedir-tipo {
  margin: 0 0 1rem;
  padding: 0;
  border: 0;
  min-width: 0;
}

.split-pedir-tipo__legend {
  padding: 0;
  margin: 0 0 0.5rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.split-pedir-tipo__choices {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.split-pedir-tipo-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  margin: 0;
  padding: 0.85rem 0.65rem;
  border-radius: 12px;
  cursor: pointer;
  font: inherit;
  text-align: center;
  background: linear-gradient(
    165deg,
    rgba(13, 40, 71, 0.14) 0%,
    rgba(13, 40, 71, 0.05) 55%,
    var(--bg-elevated) 100%
  );
  border: 1px solid rgba(13, 40, 71, 0.22);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.split-pedir-tipo-card:hover {
  border-color: rgba(13, 40, 71, 0.4);
  box-shadow: 0 2px 8px rgba(13, 40, 71, 0.12);
}

.split-pedir-tipo-card.is-active {
  border-color: var(--app-primary);
  box-shadow: 0 0 0 2px rgba(13, 40, 71, 0.2);
}

.split-pedir-tipo-card--carro {
  background: linear-gradient(
    165deg,
    rgba(230, 168, 0, 0.14) 0%,
    rgba(230, 168, 0, 0.05) 55%,
    var(--bg-elevated) 100%
  );
  border-color: rgba(230, 168, 0, 0.28);
}

.split-pedir-tipo-card--carro.is-active {
  border-color: var(--app-secondary);
  box-shadow: 0 0 0 2px rgba(230, 168, 0, 0.25);
}

.split-pedir-tipo-card__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: rgba(13, 40, 71, 0.1);
}

.split-pedir-tipo-card--carro .split-pedir-tipo-card__icon-wrap {
  background: rgba(230, 168, 0, 0.14);
}

.split-pedir-tipo-card__icon {
  width: 1.65rem;
  height: 1.65rem;
}

.split-pedir-tipo-card__icon--moto {
  fill: var(--app-primary);
}

.split-pedir-tipo-card__icon--carro {
  color: var(--app-secondary);
}

.split-pedir-tipo-card__title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--app-primary);
}

.split-pedir-tipo-card--carro .split-pedir-tipo-card__title {
  color: var(--app-secondary);
}

.split-pedir-submit {
  margin-top: 0.25rem;
}

.split-criar-corrida-btns {
  display: flex;
  gap: 0.5rem;
}

.split-criar-corrida-btns .btn {
  flex: 1 1 0;
  min-width: 0;
}

/* Fundo como .position-box (Sua posição na fila); texto na cor do tipo (app) */
.split-criar-corrida-btns .btn-pedir-moto,
.split-criar-corrida-btns .btn-pedir-carro {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  background: var(--app-primary);
  border: 1px solid transparent;
  box-shadow: 0 2px 8px rgba(13, 40, 71, 0.35);
}

.split-criar-corrida-btns .btn-pedir-icon {
  width: 1.35rem;
  height: 1.35rem;
  flex-shrink: 0;
}

.split-criar-corrida-btns .btn-pedir-moto .icon-pedir-moto {
  fill: currentColor;
}

.split-criar-corrida-btns .btn-pedir-carro .icon-pedir-carro {
  color: currentColor;
}

.split-criar-corrida-btns .btn-pedir-moto {
  color: #ffffff;
}

.split-criar-corrida-btns .btn-pedir-carro {
  color: var(--app-secondary);
}

.split-criar-corrida-btns .btn-pedir-moto:hover {
  color: #ffffff;
  background: var(--app-primary-tint);
  box-shadow: 0 4px 14px rgba(13, 40, 71, 0.4);
  transform: translateY(-1px);
}

.split-criar-corrida-btns .btn-pedir-carro:hover {
  color: var(--app-secondary);
  background: var(--app-primary-tint);
  box-shadow: 0 4px 14px rgba(13, 40, 71, 0.4);
  transform: translateY(-1px);
}

.split-form-tipo-alerta {
  padding: 0.85rem 1rem;
  border-radius: 0.65rem;
  border: 1px solid #e8d56a;
  background: #fff9c4;
}

.theme-dark .split-form-tipo-alerta {
  border-color: #a68b1f;
  background: #3d3520;
}

.split-form-tipo-alerta__text {
  margin: 0 0 0.5rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--text);
}

.split-form-tipo-alerta__hint {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.4;
  color: var(--text-muted);
}

.split-form-tipo-alerta__link {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 500;
  color: #38bdf8;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.split-form-tipo-alerta__link:hover {
  color: #0ea5e9;
}

.theme-dark .split-form-tipo-alerta__link {
  color: #7dd3fc;
}

.theme-dark .split-form-tipo-alerta__link:hover {
  color: #bae6fd;
}

/* País / selects do pedido: contraste explícito no light e no .theme-dark */
.split-form-card .field select {
  color: var(--text);
  background-color: var(--bg-elevated);
}

.split-form-card-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 0.5rem;
  margin: 0 0 0.5rem;
}

.split-form-card-toolbar--motoboys {
  display: block;
}

.staff-panel-toggle--icon {
  display: inline-grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
}

.staff-panel-toggle__ic {
  display: none;
  place-items: center;
}

.staff-panel-toggle__ic svg {
  display: block;
}

.staff-panel-toggle[aria-expanded='true'] .staff-panel-toggle__ic--hide {
  display: grid;
}

.staff-panel-toggle[aria-expanded='false'] .staff-panel-toggle__ic--show {
  display: grid;
}

.split-form-kbd-hint {
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.35;
}

.split-form-kbd-hint--footer {
  margin: 0;
}

.split-right,
.split-center {
  flex: 1;
  min-width: 0;
}

@media (min-width: 900px) and (max-width: 1099px) {
  .split-layout--center-rail .split-motoboys-rail {
    flex: 0 0 260px;
    max-width: 300px;
  }
}

.split-panel-search {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.5rem 0.65rem;
  margin-bottom: 0.75rem;
}

.split-panel-search-field {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0;
}

.split-panel-search-label {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--text-muted, var(--ion-color-medium-shade, #666));
  letter-spacing: 0.02em;
}

.split-panel-search-field input[type="search"] {
  width: 100%;
  padding: 0.45rem 0.65rem;
  font-size: 0.9rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-elevated);
  color: inherit;
}

.split-panel-search-field--date {
  flex: 0 0 auto;
  min-width: 9.5rem;
  max-width: 11rem;
}

.split-panel-search-field--date input[type="date"] {
  width: 100%;
  padding: 0.4rem 0.5rem;
  font-size: 0.88rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-elevated);
  color: inherit;
}

.split-panel-search-field--sit {
  flex: 0 0 auto;
  min-width: 9rem;
  max-width: 12rem;
}

.split-panel-search-field--sit select {
  width: 100%;
  padding: 0.4rem 0.5rem;
  font-size: 0.88rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-elevated);
  color: inherit;
}

.split-panel-search-hint {
  flex-basis: 100%;
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.35;
}

.split-panel-search-submit {
  flex-shrink: 0;
}

.split-panel-search--rail {
  margin-bottom: 0.65rem;
}

.split-panel-search--tab-motoboys {
  max-width: 32rem;
  margin-bottom: 1rem;
}

.split-right .corridas-list-flush,
.split-center .corridas-list-flush {
  margin-left: 0;
  margin-right: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}

.split-right .corrida-row-item,
.split-center .corrida-row-item,
.split-right .motoboy-row-item {
  padding-left: 1.15rem;
  padding-right: 1.15rem;
}

.split-right .motoboys-list-flush,
.split-motoboys-rail .motoboys-list-flush,
.tab-panel .motoboys-list-flush {
  margin-left: 0;
  margin-right: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}

/* Staff (admin/atendente): ocultar/mostrar conteúdo por painel (aba Corridas) */
.staff-panel-chrome-actions {
  flex-shrink: 0;
  margin-left: auto;
  align-self: flex-start;
}

.staff-motoboys-chrome-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  width: 100%;
}

.staff-motoboys-chrome-leading {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  flex: 1;
  min-width: 0;
}


.split-left.staff-panel-collapsed .staff-panel-inner,
.split-center.staff-panel-collapsed .staff-panel-inner,
.split-motoboys-rail.staff-panel-collapsed .staff-panel-inner {
  display: none !important;
}

/* Conveniado / cliente: Meus pedidos = só lista + filtros (sem formulário). Pedir motoboy = formulário + lista, sem barra de filtros. */
.conveniado-home--pedidos .split-left {
  display: none !important;
}

.conveniado-home--pedir .conveniado-corridas-search {
  display: none !important;
}

@media (min-width: 1100px) {
  .conveniado-home--pedidos .split-layout.split-layout--double {
    grid-template-columns: minmax(0, 1fr);
  }

  .split-layout--double {
    display: grid;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
  }

  .split-layout--double .split-left {
    width: auto;
    max-width: none;
  }

  .split-layout--double .split-center {
    min-width: 0;
  }

  .split-layout--triple {
    display: grid;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr) minmax(240px, 320px);
    gap: 1.25rem;
    align-items: start;
  }

  /* TV / vista só corridas + motoboys (sem coluna do formulário) */
  .split-layout--center-rail {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
    gap: 1.25rem;
    align-items: start;
  }

  .split-layout--center-rail .split-center,
  .split-layout--center-rail .split-motoboys-rail {
    min-width: 0;
  }

  .split-layout--center-rail .split-motoboys-rail {
    position: sticky;
    top: 4.5rem;
    max-height: calc(100dvh - 5.5rem);
    overflow-y: auto;
  }

  .app-main.tv-main .split-layout--center-rail .split-motoboys-rail {
    top: max(0.65rem, env(safe-area-inset-top, 0px));
    max-height: calc(100dvh - 1.25rem);
  }

  .split-layout--triple .split-left {
    width: auto;
    max-width: none;
    position: sticky;
    top: 4.5rem;
    align-self: start;
    max-height: calc(100dvh - 5.5rem);
    overflow-y: auto;
    z-index: 2;
  }

  .split-layout--triple .split-center,
  .split-layout--triple .split-motoboys-rail {
    min-width: 0;
  }

  .split-motoboys-rail {
    position: sticky;
    top: 4.5rem;
    max-height: calc(100dvh - 5.5rem);
    overflow-y: auto;
  }
}

.split-rail-card {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1rem 1rem 1.15rem;
  box-shadow: var(--shadow-sm);
}

.split-rail-heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin: 0 0 0.75rem;
}

.split-rail-heading {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0;
}

.split-rail-heading-fila {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0.65rem 0.85rem;
  flex-wrap: nowrap;
}

.split-rail-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  min-width: 2rem;
}

.split-rail-stat-value {
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  font-variant-numeric: tabular-nums;
  color: var(--text);
  line-height: 1.1;
}

.split-rail-stat-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  cursor: help;
  line-height: 0;
  border-radius: var(--radius, 6px);
  padding: 0.1rem;
  transition: color 0.15s ease, background 0.15s ease;
}

.split-rail-stat-icon:hover {
  color: var(--text);
  background: color-mix(in srgb, var(--border) 55%, transparent);
}

.split-rail-stat-icon svg {
  display: block;
}

.split-rail-empty {
  padding: 1rem 0.5rem;
  font-size: 0.9rem;
}

.split-motoboys-rail .motoboy-row-item {
  padding-left: 1rem;
  padding-right: 1rem;
}

.split-motoboys-rail .mri-actions {
  flex-direction: column;
  align-items: stretch;
}

.split-motoboys-rail .mri-actions .btn {
  width: 100%;
  justify-content: center;
}

.motoboy-row-item {
  padding: 0.75rem 1.5rem;
  border-bottom: 1px solid var(--border);
  background: var(--bg-elevated);
  transition: background 0.12s ease;
}

.motoboy-row-item:last-child {
  border-bottom: none;
}

.motoboy-row-item:hover {
  background: var(--accent-muted);
}

.motoboy-row-item.inactive {
  opacity: 0.55;
}

.motoboy-row-item.editing {
  border-left: 3px solid var(--accent);
  background: var(--accent-muted);
}

.mri-top {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.2rem;
}

.mri-body {
  display: flex;
  flex-direction: column;
  gap: 0;
  font-size: 0.88rem;
  line-height: 1.55;
}

.mri-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.4rem;
}

.aguardando-motoboy {
  color: #e67e22;
  font-style: italic;
}

/* Nome do solicitante na linha de coleta (só exibição; endereço gravado sem o nome) */
.coleta-solicitante-nome {
  font-weight: 700;
  display: inline-block;
  padding: 0.12em 0.45em;
  margin-inline-end: 0.25em;
  border-radius: 0.3rem;
}

.coleta-solicitante-nome--conveniado {
  color: #fff;
  background: #15803d;
}

.coleta-solicitante-nome--cliente {
  color: #fff;
  background: #b91c1c;
}

.theme-dark .coleta-solicitante-nome--conveniado {
  color: #fff;
  background: #166534;
}

.theme-dark .coleta-solicitante-nome--cliente {
  color: #fff;
  background: #991b1b;
}

/* ===== Página de Relatórios (admin) ===== */
.relatorios-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 0.5rem;
}

.relatorio-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.85rem;
  text-align: center;
  text-decoration: none;
  color: var(--text);
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.6rem 1.2rem 1.4rem;
  min-height: 200px;
  box-shadow: var(--shadow);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
  overflow: hidden;
}

.relatorio-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 6px;
  background: linear-gradient(90deg, var(--accent), #8b5cf6);
  opacity: 0.85;
}

.relatorio-card:hover,
.relatorio-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
  border-color: var(--accent);
  outline: none;
}

.relatorio-card:focus-visible {
  box-shadow: var(--shadow-lg), var(--ring);
}

.relatorio-card__icon-wrap {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-muted);
  color: var(--accent);
  flex-shrink: 0;
  margin-top: 0.25rem;
  transition: transform 160ms ease, background 160ms ease, color 160ms ease;
}

.relatorio-card:hover .relatorio-card__icon-wrap,
.relatorio-card:focus-visible .relatorio-card__icon-wrap {
  background: var(--accent);
  color: #fff;
  transform: scale(1.05);
}

.relatorio-card__icon-wrap svg {
  width: 32px;
  height: 32px;
}

.relatorio-card__title {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.relatorio-card__desc {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.92rem;
  line-height: 1.4;
}

.relatorio-card__cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 600;
  color: var(--accent);
  font-size: 0.92rem;
}

.relatorio-card:hover .relatorio-card__cta {
  color: var(--accent-hover);
}

.theme-dark .relatorio-card {
  background: var(--bg-elevated);
}

@media (max-width: 720px) {
  .relatorios-grid {
    gap: 0.7rem;
  }
  .relatorio-card {
    min-height: 160px;
    padding: 1.05rem 0.7rem 0.9rem;
    gap: 0.55rem;
  }
  .relatorio-card__icon-wrap {
    width: 48px;
    height: 48px;
    margin-top: 0.1rem;
  }
  .relatorio-card__icon-wrap svg {
    width: 24px;
    height: 24px;
  }
  .relatorio-card__title {
    font-size: 1rem;
  }
  .relatorio-card__desc {
    font-size: 0.8rem;
    line-height: 1.3;
  }
  .relatorio-card__cta {
    font-size: 0.82rem;
  }
}

@media (max-width: 420px) {
  .relatorio-card {
    min-height: 140px;
    padding: 0.85rem 0.55rem 0.75rem;
  }
  .relatorio-card__desc {
    display: none;
  }
}

/* Aviso de limite na lista de corridas (admin home) */
.corridas-limit-hint {
  margin: 0.25rem 0.6rem 0.6rem;
  padding: 0.35rem 0.6rem;
  font-size: 0.82rem;
  color: var(--text-secondary);
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
}

/* Wrapper full-width para páginas de relatório (sem o cap de form-settings) */
.rel-page {
  width: 100%;
  max-width: 78rem;
  margin-inline: auto;
  box-sizing: border-box;
}

/* Toolbar de filtro / breadcrumb das páginas de relatório */
.rel-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem 1rem;
  padding: 1rem 1.1rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  margin-bottom: 1rem;
}

.rel-toolbar .rel-toolbar__back {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 0.9rem;
  min-height: 2.4rem;
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  margin-right: auto;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.rel-toolbar .rel-toolbar__back:hover,
.rel-toolbar .rel-toolbar__back:focus-visible {
  color: var(--accent);
  border-color: var(--accent);
}

.rel-toolbar .rel-toolbar__back svg {
  width: 16px;
  height: 16px;
}

.rel-toolbar form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: flex-end;
}

.rel-toolbar label {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.78rem;
  color: var(--text-secondary);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.rel-toolbar input[type="date"],
.rel-toolbar select {
  font-family: inherit;
  font-size: 0.95rem;
  padding: 0.45rem 0.55rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
}

.rel-page-title {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0 0 0.25rem;
}

.rel-page-sub {
  margin: 0 0 1rem;
  color: var(--text-secondary);
  font-size: 0.95rem;
}

/* Grade de KPIs */
.rel-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.85rem;
  margin-bottom: 1.2rem;
}

.rel-stat {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.85rem 1rem;
  box-shadow: var(--shadow-sm);
}

.rel-stat__label {
  display: block;
  font-size: 0.78rem;
  color: var(--text-secondary);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.2rem;
}

.rel-stat__value {
  display: block;
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--text);
}

.rel-stat__hint {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.78rem;
  color: var(--text-secondary);
}

.rel-stat--success .rel-stat__value { color: var(--success, #16a34a); }
.rel-stat--warning .rel-stat__value { color: var(--warning, #f59e0b); }
.rel-stat--danger  .rel-stat__value { color: var(--danger,  #ef4444); }
.rel-stat--accent  .rel-stat__value { color: var(--accent); }

/* Grade de gráficos */
.rel-charts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1rem;
  margin-bottom: 1.2rem;
}

.rel-chart-card {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.85rem 1rem 1rem;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  min-height: 320px;
}

.rel-chart-card--wide {
  grid-column: 1 / -1;
  min-height: 360px;
}

.rel-chart-card__title {
  margin: 0 0 0.6rem;
  font-size: 0.95rem;
  font-weight: 700;
}

.rel-chart-card__sub {
  margin: -0.4rem 0 0.6rem;
  color: var(--text-secondary);
  font-size: 0.8rem;
}

.rel-chart-card__canvas-wrap {
  position: relative;
  flex: 1 1 auto;
  min-height: 240px;
}

.rel-chart-card__empty {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  color: var(--text-secondary);
  font-size: 0.9rem;
  padding: 1rem;
  text-align: center;
}

/* Bloco / tabela */
.rel-block {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  margin-bottom: 1.2rem;
  overflow: hidden;
}

.rel-block__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--border);
  gap: 0.75rem;
}

.rel-block__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}

.rel-block__sub {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.85rem;
}

.rel-block__body {
  padding: 0.65rem 0;
}

.rel-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}

.rel-table th,
.rel-table td {
  padding: 0.55rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
}

.rel-table tr:last-child td {
  border-bottom: none;
}

.rel-table th {
  background: transparent;
  font-weight: 600;
  font-size: 0.78rem;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.rel-table td.num,
.rel-table th.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.rel-table td.muted {
  color: var(--text-secondary);
}

.rel-empty {
  padding: 1.5rem 1rem;
  text-align: center;
  color: var(--text-secondary);
}

.rel-warn {
  margin: 0 0 1rem;
  padding: 0.6rem 0.9rem;
  background: rgba(245, 158, 11, 0.12);
  border-left: 3px solid var(--warning, #f59e0b);
  border-radius: var(--radius-sm);
  color: var(--text);
  font-size: 0.88rem;
}

@media (max-width: 540px) {
  .rel-toolbar form {
    width: 100%;
  }
  .rel-toolbar input[type="date"] {
    flex: 1 1 auto;
  }
}

/* Tabela rola horizontalmente em telas pequenas para preservar todas as colunas */
.rel-block__body {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 720px) {
  .rel-page-title { font-size: 1.35rem; }
  .rel-stat__value { font-size: 1.4rem; }
  .rel-table { min-width: 560px; }
  .rel-table th,
  .rel-table td { padding: 0.5rem 0.7rem; }
}

/* ====== Mapa em tempo real (maps.php) ====== */
/* Leaflet e controis do mapa usam z-index alto (ex.: botão Painel 1100); manter menu do site acima */
body:has(main.maps-page) .nav-overlay {
  z-index: 1150;
}
body:has(main.maps-page) .side-nav {
  z-index: 1200;
}
body:has(main.maps-page) .app-header {
  z-index: 1250;
}

.maps-page {
  max-width: 1400px;
  margin: 0 auto;
  padding: 1rem 1.25rem 2rem;
}


.maps-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.9rem;
  color: var(--text);
  cursor: pointer;
}

/* Toggle/slide style — usado em "Mostrar todos" e "Centralizar automaticamente" */
.maps-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.9rem;
  color: var(--text);
  cursor: pointer;
  user-select: none;
}

.maps-switch input[type='checkbox'] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}

.maps-switch__track {
  position: relative;
  display: inline-block;
  width: 38px;
  height: 22px;
  background: #cbd5e1;
  border-radius: 999px;
  transition: background 0.18s ease;
  flex: 0 0 auto;
}

.maps-switch__thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  transition: transform 0.18s ease;
}

.maps-switch input[type='checkbox']:checked + .maps-switch__track {
  background: var(--brand, #6366f1);
}

.maps-switch input[type='checkbox']:checked + .maps-switch__track .maps-switch__thumb {
  transform: translateX(16px);
}

.maps-switch input[type='checkbox']:focus-visible + .maps-switch__track {
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.25);
}

.maps-switch__label {
  white-space: nowrap;
}

/* Painel lateral: texto à esquerda, toggle à direita */
.maps-switch--side {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--border, #e5e7eb);
}

.maps-switch--side:last-of-type {
  border-bottom: 0;
}

.maps-switch--side .maps-switch__label {
  white-space: normal;
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.3;
  font-size: 0.88rem;
}

.maps-side-menu {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid var(--border, #e5e7eb);
}

.maps-side-menu__refresh {
  width: 100%;
  justify-content: center;
  margin-bottom: 0.35rem;
}

.theme-dark .maps-switch__track {
  background: #475569;
}

.maps-container {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 1rem;
  min-height: 70vh;
}

.maps-container.maps-container--no-sidebar {
  grid-template-columns: 1fr;
}

.maps-container.maps-container--no-sidebar .maps-sidebar {
  display: none;
}

main.maps-page.maps-map-focus {
  max-width: none;
  width: 100%;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

main.maps-page.maps-map-focus .maps-canvas-wrap {
  min-height: calc(100vh - 5.5rem);
}

main.maps-page.maps-map-focus .maps-canvas {
  height: calc(100vh - 5.5rem);
  min-height: 520px;
}

.maps-sidebar-reveal {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1100;
  margin: 0;
  padding: 0.45rem 0.3rem;
  min-height: 4.5rem;
  border: 1px solid var(--border, #e5e7eb);
  border-left: 0;
  border-radius: 0 10px 10px 0;
  background: var(--surface, #fff);
  color: var(--text);
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.15;
  cursor: pointer;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: 0.06em;
  box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.12);
}

.maps-sidebar-reveal:hover {
  background: var(--surface-alt, #f1f5f9);
}

.theme-dark .maps-sidebar-reveal {
  background: var(--surface, #0f172a);
}

.theme-dark .maps-sidebar-reveal:hover {
  background: rgba(255, 255, 255, 0.06);
}

.maps-sidebar {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius, 12px);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-height: calc(100vh - 8rem);
  overflow: hidden;
}

.maps-stats {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.3rem;
}

.maps-stat {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  padding: 0.2rem 0.3rem;
  background: var(--surface-alt, #f8fafc);
  border-radius: var(--radius-sm, 6px);
  border: 1px solid var(--border, #e5e7eb);
}

.maps-stat-num {
  flex: 0 0 auto;
  font-size: 0.82rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  color: var(--text);
}

.maps-stat-lbl {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.58rem;
  line-height: 1.05;
  color: var(--text-secondary, #64748b);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.maps-layers {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding-top: 0.35rem;
  border-top: 1px solid var(--border, #e5e7eb);
}

.maps-layers__title {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-secondary, #64748b);
}

.maps-switch--layer {
  padding: 0.35rem 0;
}

.maps-layers .maps-switch--layer:last-of-type {
  border-bottom: 0;
}

.maps-switch__label--layer {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem;
  flex-wrap: nowrap;
  min-width: 0;
}

.maps-layer-label-text {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  flex: 1 1 auto;
}

.maps-layer-count {
  flex: 0 0 auto;
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  background: var(--surface-alt, #f1f5f9);
  color: var(--text-secondary, #64748b);
  border: 1px solid var(--border, #e5e7eb);
}

.theme-dark .maps-layer-count {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
}

.maps-legend ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  font-size: 0.85rem;
}

.maps-legend li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.legend-dot {
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.05);
}

.maps-list-wrap {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.maps-search {
  width: 100%;
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--border, #d1d5db);
  border-radius: var(--radius-sm, 8px);
  background: var(--surface-alt, #fff);
  color: var(--text);
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
}

.maps-list {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  flex: 1 1 auto;
  border-top: 1px solid var(--border, #e5e7eb);
}

.maps-list-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.4rem;
  border-bottom: 1px solid var(--border, #e5e7eb);
  cursor: pointer;
  transition: background 0.15s ease;
}

.maps-list-item:hover {
  background: var(--surface-alt, #f1f5f9);
}

.maps-list-item.is-no-pos {
  opacity: 0.55;
  cursor: default;
}

.maps-list-dot {
  flex: 0 0 auto;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.05);
}

.maps-list-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.maps-list-info strong {
  font-size: 0.92rem;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.maps-list-meta {
  font-size: 0.77rem;
  color: var(--text-secondary, #64748b);
}

.maps-list-empty {
  padding: 1rem 0;
  text-align: center;
  font-size: 0.88rem;
}

.maps-canvas-wrap {
  position: relative;
  background: var(--surface, #fff);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius, 12px);
  overflow: hidden;
  min-height: 70vh;
}

.maps-canvas {
  height: calc(100vh - 8rem);
  min-height: 480px;
  width: 100%;
}

.maps-status {
  position: absolute;
  left: 0.75rem;
  bottom: 0.75rem;
  background: rgba(15, 23, 42, 0.85);
  color: #fff;
  font-size: 0.78rem;
  padding: 0.35rem 0.6rem;
  border-radius: 6px;
  z-index: 1000;
  pointer-events: none;
}

.maps-status[data-kind='err'] {
  background: rgba(239, 68, 68, 0.9);
}

.maps-status[data-kind='ok'] {
  background: rgba(16, 185, 129, 0.9);
}

/* Pin custom — tag com nome do motoboy e seta apontando pro chão */
.map-pin {
  background: transparent;
  border: 0;
}

/* Leaflet define z-index inline no .leaflet-marker-icon (empilhamento por latitude); no hover forçamos à frente */
main.maps-page .leaflet-marker-pane .leaflet-marker-icon.map-pin.leaflet-interactive:hover,
main.maps-page .leaflet-marker-pane .leaflet-marker-icon.map-pin.leaflet-interactive:focus-within {
  z-index: 900000 !important;
}

.map-pin-tag {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5px 10px 6px;
  background: var(--tag-color, #6366f1);
  color: #fff;
  border-radius: 14px;
  border: 2px solid #fff;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.15;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
  transform: translateY(-4px);
  pointer-events: auto;
}

.map-pin-tag__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  text-align: center;
}

.map-pin-tag__name {
  display: inline-block;
  max-width: 14ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  letter-spacing: 0.01em;
}

.map-pin-tag__ago {
  display: block;
  font-size: 0.62rem;
  font-weight: 500;
  opacity: 0.92;
  letter-spacing: 0.02em;
  white-space: nowrap;
  max-width: 18ch;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Seta no rodapé apontando para a coordenada (cor segue --tag-color) */
.map-pin-tag__arrow {
  position: absolute;
  left: 50%;
  bottom: -7px;
  transform: translateX(-50%);
  width: 12px;
  height: 8px;
  background: var(--tag-color, #6366f1);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

/* Brilho no hover (empilhamento: regra main.maps-page .leaflet-marker-icon acima + bringToFront em maps.js) */
.leaflet-marker-icon:hover .map-pin-tag,
.leaflet-marker-icon:focus .map-pin-tag {
  filter: brightness(1.08);
}

/* Popup do marker */
.map-popup {
  min-width: 200px;
  font-size: 0.85rem;
}

.map-popup__name {
  display: block;
  font-size: 1rem;
  margin-bottom: 0.4rem;
  color: #0f172a;
}

.map-popup__row {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.15rem 0;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.08);
}

.map-popup__row:last-child {
  border-bottom: 0;
}

.map-popup__lbl {
  color: #64748b;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.map-popup__actions {
  margin-top: 0.65rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.map-popup__actions .map-popup-btn-clear-loc {
  width: 100%;
  font-size: 0.8rem;
}

@media (max-width: 900px) {
  .maps-container {
    grid-template-columns: 1fr;
  }
  .maps-sidebar {
    max-height: none;
  }
  .maps-canvas {
    height: 60vh;
    min-height: 360px;
  }
  main.maps-page.maps-map-focus .maps-canvas {
    height: calc(100vh - 7.5rem);
    min-height: 380px;
  }
}

/* Modo escuro */
.theme-dark .maps-sidebar,
.theme-dark .maps-canvas-wrap {
  background: var(--surface, #0f172a);
}

.theme-dark .maps-stat {
  background: rgba(255, 255, 255, 0.04);
}

.theme-dark .map-popup__name {
  color: #0f172a; /* popup do leaflet usa fundo branco */
}

/* Documentos legais (Play Store / LGPD) — termos-de-uso.php, politica-de-privacidade.php */
.legal-doc {
  text-align: left;
  max-height: min(70vh, 42rem);
  overflow-y: auto;
  padding-right: 0.25rem;
  font-size: 0.95rem;
  line-height: 1.55;
}

.legal-doc-meta {
  margin: 0 0 0.75rem;
}

.legal-doc-lead {
  margin: 0 0 1rem;
}

.legal-doc h2 {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 1.35rem 0 0.5rem;
  color: var(--ion-color-dark, #0f172a);
}

.theme-dark .legal-doc h2 {
  color: var(--ion-color-light, #f1f5f9);
}

.legal-doc ul {
  margin: 0.35rem 0 0.75rem 1.1rem;
  padding: 0;
}

.legal-doc li {
  margin-bottom: 0.35rem;
}

.legal-doc a {
  color: var(--ion-color-primary, #6366f1);
}

.legal-doc-footer {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.theme-dark .legal-doc-footer {
  border-top-color: rgba(255, 255, 255, 0.08);
}

/* solicitar-exclusao.php — formulário de encerramento de conta (Play Store / LGPD) */
.solicitar-exclusao-card.legal-doc {
  max-height: none;
  overflow: visible;
}

.solicitar-exclusao-title {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 0.65rem;
  color: var(--ion-color-dark, #0f172a);
}

.theme-dark .solicitar-exclusao-title {
  color: var(--ion-color-light, #f1f5f9);
}

.solicitar-exclusao-sub {
  font-size: 0.98rem;
  font-weight: 700;
  margin: 1.1rem 0 0.45rem;
  color: var(--accent, #6366f1);
}

.solicitar-exclusao-form {
  margin-top: 0.5rem;
}

.solicitar-exclusao-links {
  margin-top: 1.25rem;
}

/* feedback.php */
.feedback-card {
  text-align: left;
}

.feedback-title {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--ion-color-dark, #0f172a);
}

.theme-dark .feedback-title {
  color: var(--ion-color-light, #f1f5f9);
}

.feedback-lead {
  margin: 0 0 1rem;
  line-height: 1.5;
  font-size: 0.95rem;
}

.feedback-form textarea {
  width: 100%;
  min-height: 8rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--border, #d0d5dd);
  border-radius: 10px;
  font: inherit;
  resize: vertical;
  box-sizing: border-box;
  background: var(--input-bg, #fff);
  color: inherit;
}

.feedback-form select {
  width: 100%;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--border, #d0d5dd);
  border-radius: 10px;
  font: inherit;
  background: var(--input-bg, #fff);
  color: inherit;
}

.feedback-links {
  margin-top: 1.25rem;
}
