/* Tenant (contribuyente) picker card.
 * --sm renders inside the desktop app mock-up, --md stands alone on mobile. */

.tenant-picker {
  background: var(--nx-bone);
  border: 1px solid var(--nx-bone-3);
  overflow: hidden;
}

.tenant-picker--sm {
  border-radius: 14px;
  width: 302px;
  max-width: 100%;
  box-shadow: 0 30px 60px -22px rgba(14, 28, 42, .6);
}

.tenant-picker--md {
  border-radius: 16px;
  box-shadow: 0 26px 56px -30px rgba(14, 28, 42, .5);
}

.tenant-picker__head {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--nx-ink);
}

.tenant-picker--sm .tenant-picker__head {
  padding: 11px 14px;
}

.tenant-picker--md .tenant-picker__head {
  padding: 14px 16px;
}

.tenant-picker__head img {
  opacity: .9;
}

.tenant-picker--sm .tenant-picker__head img {
  width: 16px;
  height: 16px;
}

.tenant-picker--md .tenant-picker__head img {
  width: 19px;
  height: 19px;
}

.tenant-picker__title {
  font-family: var(--font-display);
  font-weight: 500;
  color: var(--nx-white);
}

.tenant-picker--sm .tenant-picker__title {
  font-size: 11.5px;
}

.tenant-picker--md .tenant-picker__title {
  font-size: 14px;
}

/* Search field */

.tenant-picker__search-wrap {
  padding: 10px 10px 4px;
}

.tenant-picker--md .tenant-picker__search-wrap {
  padding: 14px 14px 6px;
}

.tenant-picker__search {
  display: flex;
  align-items: center;
  gap: 9px;
  background: var(--nx-white);
  border: 1px solid var(--nx-bone-3);
  color: var(--nx-400);
}

.tenant-picker--sm .tenant-picker__search {
  border-radius: 8px;
  padding: 7px 10px;
  font-size: 11px;
}

.tenant-picker--md .tenant-picker__search {
  border-radius: 9px;
  padding: 11px 13px;
  font-size: 14.5px;
}

.tenant-picker__search .icon {
  --icon-size: 15px;
}

/* List */

.tenant-picker__list {
  list-style: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.tenant-picker--sm .tenant-picker__list {
  padding: 4px 7px 8px;
}

.tenant-picker--md .tenant-picker__list {
  padding: 6px 9px 12px;
}

.tenant-picker__item {
  display: flex;
  align-items: center;
  border: 1px solid transparent;
}

.tenant-picker--sm .tenant-picker__item {
  gap: 9px;
  padding: 7px 9px;
  border-radius: 9px;
}

.tenant-picker--md .tenant-picker__item {
  gap: 13px;
  padding: 12px 14px;
  border-radius: var(--r);
}

.tenant-picker__item--active {
  background: rgba(16, 185, 129, .09);
  border-color: rgba(16, 185, 129, .35);
}

.tenant-picker__avatar {
  flex: 0 0 auto;
  border-radius: var(--r-pill);
  background: var(--nx-bone-3);
  color: var(--nx-600);
  font-family: var(--font-display);
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tenant-picker__item--active .tenant-picker__avatar {
  background: var(--nx-billing);
  color: var(--nx-white);
}

.tenant-picker--sm .tenant-picker__avatar {
  width: 25px;
  height: 25px;
  font-size: 9.5px;
}

.tenant-picker--md .tenant-picker__avatar {
  width: 38px;
  height: 38px;
  font-size: 13px;
}

.tenant-picker__text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.tenant-picker__name {
  font-weight: 600;
  color: var(--nx-ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tenant-picker__ruc {
  font-family: var(--font-mono);
  color: var(--nx-400);
}

.tenant-picker--sm .tenant-picker__name {
  font-size: 11px;
}

.tenant-picker--sm .tenant-picker__ruc {
  font-size: 8.5px;
}

.tenant-picker--md .tenant-picker__name {
  font-size: 14.5px;
}

.tenant-picker--md .tenant-picker__ruc {
  font-size: 11.5px;
}

.tenant-picker__regime {
  flex: 0 0 auto;
  font-weight: 500;
  color: var(--nx-600);
  background: var(--nx-100);
  border: 1px solid var(--nx-200);
  border-radius: var(--r-pill);
  white-space: nowrap;
}

.tenant-picker--sm .tenant-picker__regime {
  font-size: 8.5px;
  padding: 3px 7px;
}

.tenant-picker--md .tenant-picker__regime {
  font-size: 11.5px;
  padding: 5px 10px;
}

.tenant-picker__check {
  color: var(--nx-billing);
}

.tenant-picker--sm .tenant-picker__check {
  --icon-size: 16px;
}

.tenant-picker--md .tenant-picker__check {
  --icon-size: 19px;
}

/* Reserves the check column on non-selected rows so names stay aligned */
.tenant-picker__check-slot {
  flex: 0 0 auto;
}

.tenant-picker--sm .tenant-picker__check-slot {
  width: 16px;
}

.tenant-picker--md .tenant-picker__check-slot {
  width: 19px;
}

.tenant-picker__foot {
  border-top: 1px solid var(--nx-bone-3);
  background: var(--nx-bone-2);
  color: var(--nx-500);
}

.tenant-picker--sm .tenant-picker__foot {
  padding: 10px 14px;
}

.tenant-picker--sm .tenant-picker__foot span {
  font-size: 9px;
}

.tenant-picker--md .tenant-picker__foot {
  padding: 13px 16px;
}

/* Size sits on the inline span, not the block, so the line box keeps the
 * parent strut and the bar stays the same height as the original. */
.tenant-picker--md .tenant-picker__foot span {
  font-size: 12.5px;
}

/* Very narrow phones: the row becomes a two-line grid so the company name
 * keeps its width instead of being truncated to a few characters. The avatar
 * spans both rows, the regime chip moves under the name. */
@media (max-width: 420px) {
  .tenant-picker--md .tenant-picker__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "avatar text   check"
      "avatar regime check";
    column-gap: 10px;
    row-gap: 4px;
    align-items: center;
    padding: 10px 12px;
  }

  .tenant-picker--md .tenant-picker__avatar {
    grid-area: avatar;
    width: 34px;
    height: 34px;
    font-size: 12px;
  }

  .tenant-picker--md .tenant-picker__text {
    grid-area: text;
    min-width: 0;
  }

  .tenant-picker--md .tenant-picker__regime {
    grid-area: regime;
    justify-self: start;
    font-size: 10.5px;
    padding: 3px 8px;
  }

  .tenant-picker--md .tenant-picker__check,
  .tenant-picker--md .tenant-picker__check-slot {
    grid-area: check;
  }

  .tenant-picker--md .tenant-picker__name {
    font-size: 13.5px;
  }

  .tenant-picker--md .tenant-picker__ruc {
    font-size: 11px;
  }
}
