/* Ajustes para handhelds y lectores portatiles del kiosco de asistencia. */

.assignment-button,
.assignment-input,
.assignment-select,
#cambiarEmpleado,
.login-link a {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

@supports (height: 100dvh) {
  .assignment-shell {
    min-height: 100dvh;
  }
}

@media (max-width: 640px) {
  body.lockscreen {
    background: linear-gradient(165deg, #f7faff 0%, #edf3fa 58%, #e3ebf5 100%);
  }

  .assignment-shell {
    min-height: 100svh;
    align-items: flex-start;
    padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
  }

  .assignment-shell > section,
  .assignment-card {
    max-width: none;
  }

  .assignment-card {
    padding: 20px 18px 18px;
    border-color: #dce6f2;
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(35, 58, 91, 0.13);
  }

  .brand-mark {
    width: 44px;
    height: 44px;
    margin-bottom: 9px;
    border-radius: 11px;
  }

  .brand-mark img {
    width: 33px;
  }

  .assignment-eyebrow {
    margin-bottom: 4px;
    font-size: 11px;
    letter-spacing: 3px;
  }

  .assignment-title {
    font-size: clamp(21px, 6vw, 24px);
  }

  .assignment-copy {
    margin: 5px 0 18px;
    font-size: 14px;
  }

  .assignment-field {
    margin-bottom: 13px;
  }

  .assignment-field label {
    margin-bottom: 7px;
    font-size: 14px;
  }

  .assignment-input,
  .assignment-select {
    height: 54px;
    border-radius: 12px;
    font-size: 16px;
  }

  .assignment-field.is-step-active .assignment-input,
  .assignment-field.is-step-active .assignment-select {
    border-color: #4c84e7;
    box-shadow: 0 0 0 3px rgba(47, 115, 223, 0.1);
  }

  .assignment-button {
    min-height: 54px;
    height: auto;
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 16px;
    line-height: 1.2;
  }

  .assignment-button-secondary {
    min-height: 56px;
    margin-top: 11px;
    border-color: #efaaa4;
    background: #fff5f4;
    color: #a52118;
    box-shadow: 0 8px 20px rgba(180, 35, 24, 0.1);
  }

  .step-num {
    width: 23px;
    height: 23px;
    line-height: 23px;
    margin-right: 7px;
  }

  .emp-info {
    padding: 12px;
    gap: 7px 10px;
    border-color: #bcd3f3;
    border-left: 4px solid var(--brand-blue);
    border-radius: 12px;
    background: linear-gradient(135deg, #f5f9ff 0%, #eaf3ff 100%);
    box-shadow: 0 7px 18px rgba(47, 115, 223, 0.08);
  }

  .emp-info strong {
    flex-basis: 180px;
    font-size: 15px;
  }

  #cambiarEmpleado {
    padding: 4px 7px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    font-size: 13px;
    white-space: nowrap;
  }

  .emp-estado {
    margin-top: 1px;
    font-size: 13px;
    line-height: 1.42;
  }

  .assignment-hint {
    position: relative;
    margin-top: 12px;
    padding: 10px 11px 10px 34px;
    border: 1px solid #e3eaf3;
    border-radius: 11px;
    background: #f7f9fc;
    color: #718098;
    font-size: 12.5px;
    line-height: 1.4;
    text-align: left;
  }

  .assignment-hint::before {
    content: "\f02a";
    position: absolute;
    top: 11px;
    left: 12px;
    color: var(--brand-blue);
    font-family: "FontAwesome";
    font-size: 14px;
  }

  .login-link {
    margin-top: 10px;
    font-size: 13px;
  }

  /* Tras identificar, el lector ya no necesita ocupar pantalla con el paso 1. */
  .assignment-card.is-employee-identified {
    padding-top: 14px;
  }

  .assignment-card.is-employee-identified #paso1 {
    display: none;
  }

  .assignment-card.is-employee-identified .brand-mark {
    width: 36px;
    height: 36px;
    margin-bottom: 6px;
  }

  .assignment-card.is-employee-identified .brand-mark img {
    width: 28px;
  }

  .assignment-card.is-employee-identified .assignment-eyebrow,
  .assignment-card.is-employee-identified .assignment-copy {
    display: none;
  }

  .assignment-card.is-employee-identified .assignment-title {
    margin-bottom: 12px;
    font-size: 19px;
  }

  #movimientos .activity-started-alert {
    width: calc(100% - 20px);
    max-width: 460px;
    gap: 10px;
    padding: 18px;
    border-radius: 16px;
  }

  .activity-started-heading strong {
    font-size: 16px;
  }

  .activity-started-content p {
    margin-top: 5px;
    line-height: 1.42;
  }

  .activity-started-close {
    min-height: 46px;
    margin-top: 14px;
    border-radius: 10px;
  }
}

@media (max-width: 360px) {
  .assignment-card {
    padding: 17px 14px 15px;
    border-radius: 15px;
  }

  .assignment-title {
    font-size: 20px;
  }

  .assignment-input,
  .assignment-select,
  .assignment-button {
    min-height: 52px;
  }

  .assignment-button {
    padding-right: 10px;
    padding-left: 10px;
    font-size: 15px;
  }

  .emp-info strong {
    flex-basis: 150px;
  }
}

@media (max-height: 600px) and (max-width: 900px) {
  .assignment-shell {
    align-items: flex-start;
    padding: 8px;
  }

  .assignment-card {
    max-width: 520px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .assignment-card.is-employee-identified #paso1,
  .assignment-card.is-employee-identified .assignment-eyebrow,
  .assignment-card.is-employee-identified .assignment-copy {
    display: none;
  }

  .assignment-card.is-employee-identified .brand-mark {
    width: 32px;
    height: 32px;
    margin-bottom: 4px;
  }

  .assignment-card.is-employee-identified .brand-mark img {
    width: 25px;
  }

  .assignment-card.is-employee-identified .assignment-title {
    margin-bottom: 8px;
    font-size: 18px;
  }

  .assignment-card.is-employee-identified .assignment-field {
    margin-bottom: 9px;
  }

  .assignment-card.is-employee-identified .assignment-input,
  .assignment-card.is-employee-identified .assignment-select,
  .assignment-card.is-employee-identified .assignment-button {
    min-height: 46px;
    height: 46px;
  }
}
