/* Mobile-first shell for field sales + supervisor */
.role-field .field-dock {
  position: sticky;
  bottom: 0;
  z-index: 45;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 2px;
  padding: 6px 6px calc(6px + var(--safe-bottom));
  background: rgba(255, 255, 255, .96);
  border-top: 1px solid var(--gray-200);
  backdrop-filter: blur(10px);
}
.role-field .field-dock-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 48px;
  padding: 4px 2px;
  border: 0;
  background: transparent;
  color: var(--gray-500);
  text-decoration: none;
  font-size: 10px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
}
.role-field .field-dock-item.active { color: var(--brand-dark); }
.role-field .field-dock-icon {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
}
.role-field .field-dock-icon .app-icon-svg,
.role-field .field-dock-icon svg {
  width: 20px;
  height: 20px;
}
.role-field .content {
  padding: 12px 12px 18px;
}
.role-field .topbar-subtitle { display: block; }
.role-field .btn {
  min-height: 44px;
}
.role-field .btn-sm { min-height: 36px; }
.role-field .input,
.role-field .select,
.role-field .textarea {
  min-height: 44px;
  font-size: 16px;
}
.role-field .filter-row {
  flex-direction: column;
  align-items: stretch;
}
.role-field .filter-row .search-input,
.role-field .filter-row .input,
.role-field .filter-row .select,
.role-field .filter-row .btn {
  width: 100%;
}
.role-field .visits-table-wrapper { margin: 0; }
.role-field .table { min-width: 0; font-size: 13px; }
.role-field .table thead { display: none; }
.role-field .table,
.role-field .table tbody,
.role-field .table tr,
.role-field .table td {
  display: block;
  width: 100%;
}
.role-field .table tr {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  padding: 12px;
  margin-bottom: 10px;
}
.role-field .table td {
  border: 0;
  padding: 3px 0;
}
.role-field .table td:first-child { font-weight: 700; color: var(--gray-900); }
.role-field .map-container { border-radius: 14px; }
.role-field #trackingMap { height: 260px; }
.role-field .map-sidebar-panel { max-height: none; }
.role-field .map-emp-item { min-height: 56px; align-items: flex-start; }
.role-field .card .btn + .btn { margin-top: 0; }
.role-field .toast { bottom: calc(72px + var(--safe-bottom)); }

@media (min-width: 900px) {
  .role-field .field-dock { display: none; }
  .role-field .filter-row { flex-direction: row; align-items: center; }
  .role-field .filter-row .search-input,
  .role-field .filter-row .input,
  .role-field .filter-row .select,
  .role-field .filter-row .btn { width: auto; }
  .role-field .table { min-width: 520px; }
  .role-field .table thead { display: table-header-group; }
  .role-field .table,
  .role-field .table tbody { display: table; }
  .role-field .table tr { display: table-row; border: 0; border-radius: 0; padding: 0; margin: 0; }
  .role-field .table td { display: table-cell; padding: 11px 12px; border-bottom: 1px solid var(--gray-100); }
  .role-field .input,
  .role-field .select,
  .role-field .textarea { font-size: 15px; min-height: 0; }
  .role-field .btn { min-height: 0; }
  .role-field #trackingMap { height: 480px; }
  .role-field .toast { bottom: calc(20px + var(--safe-bottom)); }
}
