/**
 * ACTS Admission Portal — persona-driven mobile UX (Tier 3).
 * Applicant: timeline stepper, document cards, sticky CTA.
 */

@media (max-width: 767px) {
  /* Vertical application timeline stepper (3.4a) */
  .timeline-track {
    padding-left: 0;
    margin-top: 1rem;
  }

  .timeline-track::before {
    display: none;
  }

  .tl-item {
    padding: 0.85rem 1rem;
    padding-left: 1rem;
    margin-bottom: 10px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  }

  .tl-item::before {
    display: none;
  }

  .tl-item.done {
    border-left: 4px solid #27ae60;
  }

  .tl-item.current {
    border-left: 4px solid var(--red);
  }

  .tl-item.upcoming {
    border-left: 4px solid var(--border);
    opacity: 0.92;
  }

  /* Document summary cards (3.4b) */
  .document-summary-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .document-summary-card {
    padding: 1rem 1.1rem;
  }

  .upload-grid {
    grid-template-columns: 1fr;
  }

  .upload-card,
  .doc-upload-card {
    min-height: 44px;
  }

  /* Sticky continue / auth CTA (3.4c) */
  .auth-section .auth-panel .btn-primary,
  .auth-section .auth-panel .btn-register,
  .dashboard-section .dash-stat-value .status-badge {
    min-height: 44px;
  }

  .mobile-sticky-cta {
    position: sticky;
    bottom: max(12px, env(safe-area-inset-bottom));
    z-index: 100;
    padding: 12px 0 4px;
    background: linear-gradient(to top, var(--off, #f8fafc) 85%, transparent);
  }

  .mobile-sticky-cta .btn-primary,
  .mobile-sticky-cta .btn-register {
    width: 100%;
    justify-content: center;
    font-size: 1rem;
  }

  input.form-control,
  select.form-select,
  textarea.form-control {
    font-size: 16px;
  }
}

@media (max-width: 576px) {
  .dash-side-horizontal {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  .dash-side-btn {
    width: 100%;
    min-height: 44px;
    justify-content: flex-start;
  }
}
