/**
 * ==========================================================================
 * DRONE REUNION THEME - EspoCRM
 * ==========================================================================
 * Version: 2.0.0
 * Date: 02 février 2026
 * Description: Thème Drone Reunion — Layout, boutons, inputs, responsive.
 *              La NAVBAR est gérée par navbar.css (Variante Aérien).
 *              Ce fichier ne contient PLUS de styles navbar/sidebar.
 *
 * Changelog v2.0.0:
 *   - BREAKING: Suppression complète des sections navbar/sidebar (2, 3)
 *     → Toute la sidebar est désormais gérée par navbar.css
 *   - BREAKING: Suppression des styles minimized navbar dans le responsive
 *   - Les variables --dr-sidebar-* sont conservées pour le layout container
 *
 * Sections:
 *   1. Variables CSS
 *   2. Layout général — Container
 *   3. Boutons
 *   4. Inputs
 *   5. Responsive
 * ==========================================================================
 */


/* ==========================================================================
   1. VARIABLES CSS
   ========================================================================== */

:root {
    /* Couleurs primaires */
    --dr-primary: #2563EB;
    --dr-primary-hover: #1d4ed8;
    --dr-primary-light: #dbeafe;

    /* Couleurs de fond */
    --dr-bg-page: #ffffff;
    --dr-bg-sidebar: #ffffff;
    --dr-bg-header: #ffffff;
    --dr-bg-card: #ffffff;

    /* Couleurs de texte */
    --dr-text-primary: #111827;
    --dr-text-secondary: #374151;
    --dr-text-muted: #6b7280;
    --dr-text-light: #9ca3af;

    /* Bordures */
    --dr-border: #e5e7eb;
    --dr-border-light: #f3f4f6;

    /* Sidebar (utilisé par navbar.css ET par le layout container) */
    --dr-sidebar-width: 224px;
    --dr-sidebar-minimized-width: 50px;
    --dr-sidebar-gap: 20px;
    --dr-sidebar-item-padding: 10px 12px;
    --dr-sidebar-item-active-bg: #dbeafe;
    --dr-sidebar-item-active-border: #2563EB;
    --dr-sidebar-item-hover-bg: #f3f4f6;

    /* Container */
    --dr-container-padding-top: 20px;
    --dr-container-padding: 20px;

    /* Typographie */
    --dr-font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --dr-font-size-xs: 12px;
    --dr-font-size-sm: 14px;
    --dr-font-size-base: 16px;
    --dr-font-size-lg: 20px;

    /* Espacements */
    --dr-space-xs: 4px;
    --dr-space-sm: 8px;
    --dr-space-md: 12px;
    --dr-space-lg: 16px;
    --dr-space-xl: 24px;

    /* Border radius */
    --dr-radius-sm: 4px;
    --dr-radius-md: 8px;
    --dr-radius-lg: 12px;

    /* Transitions */
    --dr-transition: 0.2s ease;
}


/* ==========================================================================
   2. LAYOUT GÉNÉRAL — Container
   ========================================================================== */

/**
 * Suppression du padding-top du body
 */
body.has-navbar {
    background-color: var(--dr-bg-page);
    padding-top: 0 !important;
}

/**
 * Container positionné à droite de la navbar
 */
body.has-navbar .container.content#content {
    margin-left: calc(var(--dr-sidebar-width)) !important;
    width: calc(100% - var(--dr-sidebar-width)) !important;
    padding: var(--dr-container-padding-top) var(--dr-container-padding) var(--dr-container-padding) var(--dr-container-padding) !important;
    min-height: 100vh !important;
    background-color: var(--dr-bg-page) !important;
    max-width: none !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/**
 * Mode minimized
 */
body.minimized .container.content#content {
    margin-left: calc(var(--dr-sidebar-minimized-width) + var(--dr-sidebar-gap)) !important;
    width: calc(100% - var(--dr-sidebar-minimized-width) - var(--dr-sidebar-gap)) !important;
}

/**
 * Page header
 */
.page-header {
    border-bottom: none;
    margin-bottom: var(--dr-space-sm);
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.page-header h3,
.page-header h4,
.page-header .title {
    color: var(--dr-text-primary);
    font-weight: 600;
    font-size: var(--dr-font-size-lg);
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/**
 * Footer principal — masqué
 */
footer#footer {
    display: none !important;
}


/* ==========================================================================
   3. BOUTONS
   ========================================================================== */

.btn-primary {
    background-color: var(--dr-primary) !important;
    border-color: var(--dr-primary) !important;
    color: #fff !important;
    border-radius: var(--dr-radius-md) !important;
    font-weight: 500 !important;
    padding: var(--dr-space-sm) var(--dr-space-lg) !important;
    transition: all var(--dr-transition);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--dr-primary-hover) !important;
    border-color: var(--dr-primary-hover) !important;
}

.mode-button {
    border-radius: var(--dr-radius-md) !important;
    border-color: var(--dr-border) !important;
    color: var(--dr-text-secondary) !important;
    background-color: var(--dr-bg-card) !important;
    transition: all var(--dr-transition);
}

.mode-button:hover {
    background-color: var(--dr-sidebar-item-hover-bg) !important;
    border-color: var(--dr-border) !important;
}

.mode-button.active {
    background-color: var(--dr-primary) !important;
    border-color: var(--dr-primary) !important;
    color: #fff !important;
}


/* ==========================================================================
   4. INPUTS
   ========================================================================== */

input[type="search"],
input[type="text"].form-control,
.form-control {
    border: 1px solid var(--dr-border) !important;
    border-radius: var(--dr-radius-md) !important;
    color: var(--dr-text-primary) !important;
    font-size: var(--dr-font-size-sm) !important;
    transition: border-color var(--dr-transition), box-shadow var(--dr-transition);
}

input[type="search"]:focus,
input[type="text"].form-control:focus,
.form-control:focus {
    border-color: var(--dr-primary) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
    outline: none !important;
}

input::placeholder {
    color: var(--dr-text-light) !important;
}


/* ==========================================================================
   5. RESPONSIVE
   ========================================================================== */

@media (max-width: 768px) {
    :root {
        --dr-sidebar-width: 200px;
    }
}


/* ==========================================================================
   6. INLINE EDIT — Désactivé globalement
   ========================================================================== */

.inline-edit-link {
    display: none !important;
}

/* ==========================================================================
   7. PORTAL — Désactiver les liens cliquables
   ==========================================================================
   Les champs link/linkMultiple rendent des <a> en mode list et detail.
   Pour les portal users, on les transforme en texte brut :
   - pointer-events: none → pas de clic, pas de hover status bar
   - color: inherit → même couleur que le texte parent
   - text-decoration: none → pas de souligné
   - cursor: default → pas de main/pointer
   ========================================================================== */

body.portal-user .field a[href^="#"],
body.portal-user .list-row a.text-default[href^="#"],
body.portal-user .list-row a.link[href^="#"],
body.portal-user .kanban-group .item a[href^="#"] {
    pointer-events: none;
    color: inherit !important;
    text-decoration: none !important;
    cursor: default !important;
}

/* ==========================================================================
   FIN DU FICHIER — v2.2.0
   ========================================================================== */