/* GenericSection — fallback render for unknown/placeholder section types.
   All selectors scoped under .generic-section. Generic names (.section-type-badge, .section-title,
   .section-indicator, .action-id, .placeholder-*) collide with other section files (e.g.
   .section-indicator is also in custom-section.css / movement-sections.css, same values), so scoping
   is required as a head-linked global. Badge/indicator/instruction colors have no exact --pp-* token
   (no generic-badge token) and stay literal. Global file is the reliable home for print-composed
   components. */
.generic-section {
    background: var(--pp-bg-white);
    border: var(--pp-border);
    font-family: Arial, sans-serif;
    font-size: var(--pp-font-size-sm);
    page-break-inside: avoid;
}

.generic-section .generic-header {
    display: flex;
    align-items: center;
    gap: var(--pp-spacing-md);
    background: var(--pp-bg-header);
    border-bottom: var(--pp-border-light);
    padding: var(--pp-spacing-sm) var(--pp-spacing-lg);
}

.generic-section .section-type-badge {
    display: inline-block;
    padding: 2px var(--pp-spacing-sm);
    background: #e0e7ff;
    color: #3730a3;
    border-radius: var(--pp-radius-sm);
    font-size: var(--pp-font-size-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.generic-section .section-title {
    font-weight: 600;
    font-size: var(--pp-font-size-md);
    color: var(--pp-text-primary);
}

.generic-section .action-id {
    margin-left: auto;
    font-size: var(--pp-font-size-sm);
    color: var(--pp-text-muted);
}

.generic-section .section-indicator {
    margin-left: var(--pp-spacing-md, 8px);
    padding: 2px 8px;
    background: #e2e8f0;
    color: #475569;
    font-size: var(--pp-font-size-xs, 11px);
    font-weight: 600;
    border-radius: 4px;
}

.generic-section .generic-body {
    padding: var(--pp-spacing-lg);
}

.generic-section .placeholder-message {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--pp-spacing-sm);
    padding: var(--pp-spacing-xl);
    background: var(--pp-bg-card);
    border: var(--pp-border-dashed);
    border-radius: var(--pp-radius-md);
    color: var(--pp-text-muted);
    font-size: var(--pp-font-size-md);
}

.generic-section .placeholder-icon {
    width: 20px;
    height: 20px;
    opacity: 0.5;
}

.generic-section .generic-instructions {
    margin-top: var(--pp-spacing-lg);
    padding: var(--pp-spacing-md);
    background: var(--pp-bg-instructions);
    border-radius: var(--pp-radius-sm);
    font-size: var(--pp-font-size-sm);
    color: #78350f;
}

.generic-section .generic-details {
    margin-top: var(--pp-spacing-lg);
    font-size: var(--pp-font-size-sm);
    color: var(--pp-text-secondary);
}

/* Print styles */
@media print {
    .generic-section {
        border: 2px solid #000 !important;
        page-break-inside: avoid;
    }

    .generic-section .generic-header {
        background: #f0f0f0 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .generic-section .section-type-badge {
        background: #e0e7ff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .generic-section .placeholder-message {
        background: #f5f5f5 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
