/* ===== Responsive ===== */

/* Audit Progress Responsive */
@media (max-width: 768px) {
    .audit-progress-container {
        padding: 12px;
    }
    .audit-progress-title {
        font-size: 16px;
    }
    .audit-progress-log {
        max-height: 200px;
    }
    .audit-progress-log-item {
        flex-wrap: wrap;
        gap: 4px;
    }
    .audit-progress-log-pe {
        min-width: 50px;
    }
    .audit-progress-log-msg {
        width: 100%;
        margin-left: 24px;
    }
}
@media (max-width: 768px) {
    .type-bar-label {
        width: 120px;
    }
    .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-8);
    }
    .modal-content {
        max-width: 100%;
        max-height: 90vh;
    }
    .ticket-list li {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    .ticket-summary {
        margin-left: 0;
    }

    /* ===== Mobile Sidebar ===== */
    .app-layout {
        flex-direction: column;
    }

    .sidebar {
        width: 100%;
        min-width: 0;
        height: auto;
        position: relative;
        top: 0;
        flex-direction: row;
        align-items: center;
        padding: var(--spacing-12) var(--spacing-16);
        gap: var(--spacing-16);
        overflow: visible;
    }

    .sidebar-header {
        padding: 0;
        border-bottom: none;
    }

    .sidebar-logo-text {
        font-size: 16px;
    }

    .sidebar-nav {
        flex: 1;
        padding: 0;
    }

    .sidebar-menu {
        flex-direction: row;
        gap: var(--spacing-8);
    }

    .sidebar-bottom {
        padding: 0;
        border-bottom: none;
    }

    .sidebar-menu-bottom {
        flex-direction: row;
        gap: var(--spacing-8);
    }

    .sidebar-menu-link {
        padding: var(--spacing-8) var(--spacing-12);
        font-size: 13px;
    }

    .sidebar-menu-icon {
        font-size: 14px;
        width: 18px;
    }

    .user-bar {
        flex-direction: row;
        align-items: center;
        padding: 0;
        border-top: none;
        gap: var(--spacing-8);
    }

    .user-bar-info {
        flex-direction: row;
        align-items: center;
        gap: var(--spacing-4);
    }

    .user-bar span {
        font-size: 12px;
        max-width: 100px;
    }

    .btn-logout {
        padding: 4px 10px;
        font-size: 11px;
    }

    /* ===== Mobile Dashboard ===== */
    .dashboard-kpi-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .dashboard-widgets-grid {
        grid-template-columns: 1fr;
    }

    .type-bar-label {
        width: 120px;
    }

    .recent-issue-item {
        flex-wrap: wrap;
        gap: var(--spacing-4);
    }

    .recent-issue-type {
        flex-basis: 100%;
    }

    /* ===== Mobile Project Search ===== */
    .project-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .project-toolbar-left {
        max-width: 100%;
    }

    .project-toolbar-right {
        justify-content: flex-end;
    }

    .project-status-area {
        flex-direction: column;
        align-items: flex-end;
        gap: var(--spacing-4);
    }

    .project-search-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .search-input-wrapper {
        max-width: 100%;
    }

    .search-result-count {
        text-align: right;
    }
}

@media (max-width: 480px) {
    .sidebar {
        flex-wrap: wrap;
        gap: var(--spacing-8);
    }

    .sidebar-logo-text {
        display: none;
    }

    .sidebar-menu-label {
        display: none;
    }

    .sidebar-menu-link {
        padding: var(--spacing-8);
    }

    .sidebar-menu-icon {
        width: auto;
    }

    .user-bar span {
        display: none;
    }

}
/* ===== Process Map Responsive ===== */
@media (max-width: 768px) {
    /* SVG 프로세스 맵 반응형 */
    .process-map-svg {
        min-width: 700px;
    }
}

/* ===== Agent & Audit Modal Responsive ===== */
@media (max-width: 768px) {
    .agent-card-actions {
        flex-direction: row;
        flex-wrap: nowrap;
    }

    .agent-card-actions .btn-agent-launch,
    .agent-card-actions .btn-agent-instructions,
    .agent-card-actions .btn-agent-preview {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        padding-left: 6px;
        padding-right: 6px;
        font-size: 12px;
    }

    /* Draft List 모바일 레이아웃 - 프로젝트명/상태는 한 행, 버튼은 다음 행 */
    .draft-item {
        gap: 8px;
        padding: 12px;
    }

    .draft-item-title {
        flex: 1 1 auto;
        font-size: 14px;
    }

    .draft-item-actions {
        width: auto;
        justify-content: flex-end;
    }

    .draft-item-actions .btn-draft-load,
    .draft-item-actions .btn-draft-load-input,
    .draft-item-actions .btn-draft-load-report,
    .draft-item-actions .btn-draft-delete {
        flex: 0 0 auto;
        font-size: 11px;
        padding: 5px 10px;
    }

    /* Instruction Modal 좌우 레이아웃 - 모바일에서는 세로 배치 */
    .instruction-modal-layout {
        flex-direction: column;
        height: auto;
        max-height: 80vh;
    }

    .instruction-tabs {
        width: 100%;
        min-width: 100%;
        max-height: 150px;
        border-right: none;
        border-bottom: 1px solid var(--color-ash);
        display: flex;
        flex-wrap: wrap;
        padding: var(--spacing-4);
    }

    .instruction-tab {
        width: auto;
        flex: 1 1 auto;
        min-width: 80px;
        text-align: center;
        padding: var(--spacing-8) var(--spacing-12);
        border-left: none;
        border-bottom: 2px solid transparent;
        border-radius: var(--radius-inputs);
    }

    .instruction-tab.active {
        border-left: none;
        border-bottom-color: var(--color-primary);
    }

    .instruction-modal-body {
        min-height: 300px;
    }

    .audit-overall-result,
    #page-audit .audit-overall-result {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-16);
    }

    .audit-overall-grade,
    #page-audit .audit-overall-grade {
        width: 80px;
        height: 80px;
    }

    .audit-grade-letter,
    #page-audit .audit-grade-letter {
        font-size: 28px;
    }

    .audit-findings-grid,
    #page-audit .audit-findings-grid {
        grid-template-columns: 1fr;
    }

    .scroll-nav {
        right: 12px;
        bottom: 12px;
    }

    .scroll-nav-btn {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }

    .audit-form-actions,
    #page-audit .audit-form-actions,
    .audit-form-toolbar,
    #page-audit .audit-form-toolbar {
        flex-direction: column-reverse;
    }

    .audit-form-toolbar .btn-save-draft,
    .audit-form-toolbar .btn-load-draft,
    .audit-form-toolbar .btn-agent-cancel,
    #page-audit .audit-form-toolbar .btn-save-draft,
    #page-audit .audit-form-toolbar .btn-load-draft,
    #page-audit .audit-form-toolbar .btn-agent-cancel {
        width: 100%;
    }

    .audit-form-actions .btn-agent-launch,
    .audit-form-actions .btn-run-audit,
    .audit-form-actions .btn-agent-cancel,
    .audit-form-actions .btn-save-draft,
    .audit-form-actions .btn-load-draft,
    #page-audit .audit-form-actions .btn-agent-launch,
    #page-audit .audit-form-actions .btn-run-audit,
    #page-audit .audit-form-actions .btn-agent-cancel,
    #page-audit .audit-form-actions .btn-save-draft,
    #page-audit .audit-form-actions .btn-load-draft {
        width: 100%;
    }

    .audit-pe-header,
    #page-audit .audit-pe-header {
        flex-wrap: wrap;
        gap: var(--spacing-8);
    }

    .audit-pe-name,
    #page-audit .audit-pe-name {
        flex-basis: 100%;
    }

    .audit-pe-questions-table,
    #page-audit .audit-pe-questions-table {
        font-size: 11px;
    }

    .audit-pe-questions-table th,
    .audit-pe-questions-table td,
    #page-audit .audit-pe-questions-table th,
    #page-audit .audit-pe-questions-table td {
        padding: 6px 8px;
    }

    .audit-pe-questions-table td.audit-q-text,
    #page-audit .audit-pe-questions-table td.audit-q-text {
        min-width: 120px;
    }

    .audit-pe-questions-table td.audit-q-findings,
    #page-audit .audit-pe-questions-table td.audit-q-findings {
        min-width: 100px;
    }

    .audit-result-meta,
    #page-audit .audit-result-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-4);
    }
}

/* ===== VDA6.3 체크리스트 Deck (P2~P7 탭 네비게이션) 반응형 ===== */
@media (max-width: 768px) {
    .audit-checklist-deck,
    #page-audit .audit-checklist-deck {
        padding: var(--spacing-8) var(--spacing-12);
    }

    .audit-checklist-deck-tab,
    #page-audit .audit-checklist-deck-tab {
        padding: 4px 8px;
        font-size: 11px;
        gap: 4px;
    }

    .audit-checklist-deck-tab-name,
    #page-audit .audit-checklist-deck-tab-name {
        display: none;
    }

    .audit-checklist-deck-tab-pe,
    #page-audit .audit-checklist-deck-tab-pe {
        font-size: 11px;
    }
}