/* Spec 009 Organigramme V2 — Styles principaux */

:root {
    --orgchart-card-bg: #ffffff;
    --orgchart-card-shadow: 0 2px 8px rgba(0,0,0,0.08);
    --orgchart-card-shadow-hover: 0 4px 16px rgba(0,0,0,0.12);
    --orgchart-edge-color: #94A3B8;
    --orgchart-text-primary: #1e293b;
    --orgchart-text-secondary: #64748b;
}

.orgchart-page {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    height: calc(100vh - 120px);
    min-height: 400px;
}

.orgchart-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.orgchart-page-header h1 {
    margin: 0;
    font-size: 1.5rem;
}

.orgchart-page-body {
    flex: 1;
    display: flex;
    position: relative;
    overflow: hidden;
}

.orgchart-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.orgchart-zoom-wrapper {
    flex: 1;
    min-height: 300px;
}

.orgchart-inner {
    padding: 1rem;
}

/* Drop feedback (drag & drop) */
.orgchart-drop-valid {
    outline: 2px solid #22c55e !important;
}

.orgchart-drop-invalid {
    outline: 2px solid #ef4444 !important;
}

/* Responsive mobile (T-009-45) */
@media (max-width: 768px) {
    .orgchart-page {
        height: auto;
        min-height: 300px;
    }
    .orgchart-page-header {
        flex-direction: column;
        align-items: stretch;
    }
    .orgchart-page-header h1 {
        font-size: 1.2rem;
    }
    .orgchart-toolbar {
        flex-wrap: wrap;
        gap: 0.5rem;
    }
    .orgchart-toolbar-btn {
        min-width: 36px;
        padding: 0.4rem;
    }
    .orgchart-page-body {
        flex-direction: column;
    }
    .orgchart-stats-panel {
        width: 95%;
        max-width: none;
    }
}

/* Accessibilité (T-009-46) — focus visible */
.orgchart-toolbar-btn:focus-visible,
.orgchart-node:focus-visible,
.orgchart-stats-close:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

/* Print (T-009-47) */
@media print {
    .orgchart-toolbar,
    .orgchart-search,
    .orgchart-detail-panel,
    .orgchart-export-menu,
    .orgchart-minimap,
    .orgchart-stats-panel,
    .orgchart-context-menu,
    .no-print {
        display: none !important;
    }
    .orgchart-page-body {
        overflow: visible;
    }
    .orgchart-page {
        height: auto;
        min-height: auto;
    }
    .orgchart-page-header h1 {
        font-size: 1.2rem;
    }
    @page {
        size: landscape;
        margin: 1.5cm;
    }
}
