/* ── 모바일 반응형 (768px, 480px) ── */

/* 768px 이하 — 태블릿/모바일 */
@media (max-width: 768px) {
    /* Nav */
    body > nav {
        flex-direction: column; gap: 10px; align-items: flex-start; padding: 12px 16px;
    }
    body > nav > div { flex-wrap: wrap; gap: 8px; }
    .nav-hide-mobile { display: none !important; }
    body > nav a[onclick] { font-size: 12px; padding: 6px 12px; }
    #companyBadge { font-size: 11px !important; padding: 4px 10px !important; }

    /* 콘텐츠 패딩 */
    body > nav + div { padding-left: 12px !important; padding-right: 12px !important; }
    .bg-white.rounded-2xl { padding: 20px 16px !important; }

    /* 제목 축소 */
    h1.text-2xl { font-size: 18px !important; }
    h2.text-lg { font-size: 15px !important; }

    /* Beta 뱃지 축소 */
    .beta-badge { font-size: 13px; padding: 3px 10px; }

    /* Stats bar */
    .stats-bar { gap: 4px; margin-bottom: 16px; }
    .stat-pill { font-size: 11px; padding: 4px 10px; }

    /* Pipeline steps: 세로 배치 */
    .pipeline-steps {
        flex-direction: column; gap: 6px; align-items: stretch; margin-bottom: 20px;
    }
    .pipeline-step { justify-content: center; padding: 8px 14px; }
    .pipeline-arrow {
        display: flex; justify-content: center;
        transform: rotate(90deg); margin: 0;
    }

    /* Upload area */
    .upload-area { padding: 20px 16px; }
    .upload-icon svg { width: 32px; height: 32px; }
    .upload-text-desktop { display: none; }
    .upload-text-mobile { display: block; }

    /* 명단 업로드: 세로 배치 */
    .contact-upload-row {
        flex-direction: column; align-items: stretch; gap: 8px;
    }
    .contact-upload-row input[type="text"] { min-width: unset; width: 100%; }
    .contact-upload-row input[type="file"] { width: 100%; }
    .contact-section { padding: 16px 12px; overflow-x: auto; }

    /* Preview modal 전폭 */
    .preview-modal {
        min-width: unset !important; width: 95vw !important;
        max-height: 90vh; border-radius: 12px;
    }
    .preview-header { padding: 16px; }
    .preview-body { padding: 12px; }
    .preview-table { font-size: 11px; }
    .preview-table th, .preview-table td { padding: 6px 8px; }

    /* 카드 */
    .card-buttons { gap: 3px; }
    .btn-small { padding: 5px 10px; font-size: 12px; }
    .dist-history-item { padding: 8px 10px; }

    /* Footer: 데스크톱 숨기고 모바일 심플 버전 */
    .footer-desktop { display: none !important; }
    .footer-mobile { display: block !important; }
}

/* 480px 이하 — 소형 모바일 */
@media (max-width: 480px) {
    .pipeline-steps { display: none; }
    .stats-bar { display: none; }
    .survey-item { padding: 14px; }
    .survey-name { font-size: 12px; }
    .btn-small { font-size: 11px; padding: 4px 8px; }
    .card-label { min-width: 36px; font-size: 10px; }
}
