/* ==========================================================================
   DUNYON — Design System · EasyAdmin 5 dark theme
   Strategy: override EasyAdmin semantic CSS variables on body.ea
   (specificity 0,1,1 beats :root and .ea-dark-scheme — no conflicts)
   ========================================================================== */

/* ── Dunyon tokens ───────────────────────────────────────────────────────── */
:root {
    --d-bg:       #06111F;
    --d-bg-2:     #0D1B2A;
    --d-bg-3:     #14263A;
    --d-cyan:     #54D2FF;
    --d-green:    #5EE9B5;
    --d-fg:       #F3F6FA;
    --d-fg-2:     #C8D2DF;
    --d-fg-3:     #8FA0B3;
    --d-fg-4:     #5A6B80;
    --d-warning:  #F6C667;
    --d-alert:    #FF8CA0;
    --d-info:     #8FA0B3;
    --d-gradient: linear-gradient(135deg, #54D2FF 0%, #5EE9B5 100%);
    --d-border:   rgba(255, 255, 255, 0.08);
}

/* ── EasyAdmin semantic variable overrides ───────────────────────────────── */
/* Applied on body.ea to beat both :root (light) and .ea-dark-scheme (dark) */
body.ea {
    /* Color system */
    --color-primary:  var(--d-cyan);
    --color-success:  var(--d-green);
    --color-info:     var(--d-info);
    --color-warning:  var(--d-warning);
    --color-danger:   var(--d-alert);
    --color-danger-rgb: 255, 140, 160;

    /* Text */
    --text-color:          var(--d-fg-2);
    --text-color-rgb:      200, 210, 223;
    --text-color-dark:     var(--d-fg);
    --text-color-light:    var(--d-fg-3);
    --text-muted:          var(--d-fg-4);
    --text-primary-color:  var(--d-fg);
    --text-secondary-color: var(--d-fg-3);
    --text-tertiary-color: var(--d-fg-4);
    --text-on-primary:     var(--d-bg);

    /* Links */
    --link-color:       var(--d-cyan);
    --link-hover-color: var(--d-green);
    --link-color-rgb:   84, 210, 255;
    --link-hover-color-rgb: 94, 233, 181;

    /* Borders */
    --border-color:           var(--d-border);
    --border-primary-color:   var(--d-border);
    --border-secondary-color: rgba(255, 255, 255, 0.05);
    --border-tertiary-color:  rgba(255, 255, 255, 0.03);

    /* Backgrounds */
    --body-bg:      var(--d-bg);
    --content-bg:   var(--d-bg);
    --primary-bg:   var(--d-bg-3);
    --secondary-bg: var(--d-bg-2);
    --tertiary-bg:  var(--d-bg);

    --content-panel-bg: var(--d-bg-3);
    --fieldset-bg:      var(--d-bg-3);

    --content-top-border-color:     var(--d-border);
    --content-section-border-color: var(--d-border);
    --content-search-input-bg:      var(--d-bg-2);
    --content-search-icon-color:    var(--d-fg-4);
    --content-search-reset-button-bg:          var(--d-bg-3);
    --content-search-reset-button-color:       var(--d-fg-3);
    --content-search-reset-button-hover-bg:    var(--d-bg-2);
    --content-search-reset-button-hover-color: var(--d-fg);

    /* Responsive header */
    --responsive-header-bg:           var(--d-bg-2);
    --responsive-header-border-color: var(--d-border);
    --responsive-header-logo-color:   var(--d-cyan);
    --responsive-table-label-color:   var(--d-fg-3);
    --responsive-table-row-border-color: var(--d-border);

    /* Sidebar */
    --sidebar-bg:                     var(--d-bg-2);
    --sidebar-border-color:           var(--d-border);
    --sidebar-logo-color:             var(--d-cyan);
    --sidebar-menu-color:             var(--d-fg-3);
    --sidebar-menu-icon-color:        var(--d-fg-4);
    --sidebar-menu-header-color:      var(--d-fg-4);
    --sidebar-menu-submenu-color:     var(--d-fg-3);
    --sidebar-menu-badge-bg:          rgba(84, 210, 255, 0.1);
    --sidebar-menu-badge-color:       var(--d-cyan);
    --sidebar-menu-badge-active-bg:   var(--d-cyan);
    --sidebar-menu-badge-active-color: var(--d-bg);
    --sidebar-menu-active-item-bg:    rgba(84, 210, 255, 0.12);
    --sidebar-menu-active-item-color: var(--d-cyan);

    /* User menu */
    --user-avatar-icon-bg:             var(--d-bg-3);
    --user-avatar-icon-color:          var(--d-fg-3);
    --user-name-color:                 var(--d-fg-3);
    --user-menu-impersonated-link-color: var(--d-cyan);

    /* Popover */
    --popover-bg:           var(--d-bg-3);
    --popover-border-color: var(--d-border);
    --popover-color:        var(--d-fg-2);

    /* Dropdown */
    --dropdown-toggle-bg:           var(--d-bg-3);
    --dropdown-toggle-color:        var(--d-fg-2);
    --dropdown-toggle-border-color: var(--d-border);
    --dropdown-toggle-hover-border-color: rgba(255, 255, 255, 0.15);
    --dropdown-bg:           var(--d-bg-3);
    --dropdown-color:        var(--d-fg-2);
    --dropdown-border-color: var(--d-border);
    --dropdown-link-color:   var(--d-fg-2);
    --dropdown-link-hover-bg: rgba(84, 210, 255, 0.08);
    --dropdown-icon-color:   var(--d-fg-4);
    --dropdown-settings-icon-color:         var(--d-fg-4);
    --dropdown-settings-active-item-bg:     var(--d-bg);
    --dropdown-settings-active-item-color:  var(--d-cyan);
    --dropdown-settings-active-item-shadow: inset 0 0 0 1px var(--d-border);

    /* Table */
    --table-thead-color:           var(--d-fg);
    --table-cell-color:            var(--d-fg-2);
    --table-thead-marker-color:    var(--d-fg-4);
    --table-cell-border-color:     var(--d-border);
    --table-hover-cell-bg:         rgba(84, 210, 255, 0.04);
    --table-selected-cell-bg:      rgba(84, 210, 255, 0.10);
    --table-thead-sorted-color:    var(--d-cyan);
    --table-thead-sorted-marker-color: var(--d-cyan);
    --datagrid-noresults-placeholder-bg:  var(--d-bg-3);
    --datagrid-hidden-results-gradient-bg: var(--d-bg-3);

    /* Datalist */
    --datalist-border-color: var(--d-border);
    --datalist-label-color:  var(--d-fg-3);
    --datalist-value-color:  var(--d-fg-2);

    /* Pagination */
    --pagination-color:              var(--d-fg-3);
    --pagination-hover-border-color: rgba(255, 255, 255, 0.15);
    --pagination-active-bg:          var(--d-cyan);
    --pagination-active-color:       var(--d-bg);
    --pagination-disabled-color:     var(--d-fg-4);

    /* Modal */
    --modal-bg:                  var(--d-bg-3);
    --modal-border-color:        var(--d-border);
    --modal-header-bg:           var(--d-bg-2);
    --modal-header-border-color: var(--d-border);
    --modal-footer-bg:           var(--d-bg-2);
    --modal-title-color:         var(--d-fg);

    /* Forms */
    --form-label-color:               var(--d-fg-3);
    --form-control-bg:                var(--d-bg-2);
    --form-control-disabled-bg:       var(--d-bg-3);
    --form-control-disabled-color:    var(--d-fg-4);
    --form-input-border-color:        rgba(255, 255, 255, 0.10);
    --form-input-hover-border-color:  rgba(255, 255, 255, 0.20);
    --form-input-error-border-color:  var(--d-alert);
    --form-input-error-legend-color:  var(--d-alert);
    --form-input-shadow:              none;
    --form-input-hover-shadow:        none;
    --form-input-error-shadow:        0 0 0 3px rgba(255, 140, 160, 0.15);
    --form-input-text-color:          var(--d-fg-2);
    --form-input-group-text-bg:       var(--d-bg-3);
    --form-input-group-text-border-color: rgba(255, 255, 255, 0.10);
    --form-switch-bg:                 var(--d-bg-3);
    --form-switch-border-color:       rgba(255, 255, 255, 0.15);
    --form-switch-checked-bg:         var(--d-cyan);
    --form-type-check-input-border-color: rgba(255, 255, 255, 0.20);
    --form-type-check-input-box-shadow: none;
    --form-type-check-input-checked-bg: var(--d-cyan);
    --form-help-color:                var(--d-fg-4);
    --form-help-error-color:          var(--d-fg-2);
    --form-help-active-color:         var(--d-fg-3);
    --form-tabs-border-color:         var(--d-border);
    --form-tabs-help-color:           var(--d-fg-4);
    --form-column-header-color:       var(--d-fg);
    --form-column-help-color:         var(--d-fg-4);
    --form-column-icon-color:         var(--d-fg-4);
    --form-fieldset-header-color:     var(--d-fg);
    --form-fieldset-help-color:       var(--d-fg-4);
    --form-fieldset-border-color:     var(--d-border);
    --form-fieldset-header-border-color: var(--d-border);
    --form-fieldset-icon-color:       var(--d-fg-4);
    --form-fieldset-collapse-marker-color: var(--d-fg-4);
    --form-collection-item-collapse-marker-color: var(--d-fg-4);
    --form-type-text-editor-toolbar-bg:              var(--d-bg-2);
    --form-type-text-editor-toolbar-button-color:    var(--d-fg-3);
    --form-type-text-editor-toolbar-button-hover-color: var(--d-bg-3);
    --form-type-text-editor-toolbar-button-active-bg:   var(--d-bg-3);
    --form-type-text-editor-toolbar-button-active-color: var(--d-fg);
    --form-type-text-editor-dialog-bg:               var(--d-bg-3);
    --form-type-text-editor-dialog-box-shadow:       0 4px 12px rgba(0, 0, 0, 0.5);
    --form-type-text-editor-content-pre-bg:          var(--d-bg-3);
    --form-type-text-editor-content-pre-color:       var(--d-fg-2);
    --form-type-collection-item-collapsed-hover-bg:  var(--d-bg-2);
    --form-type-autocomplete-dropdown-bg:            var(--d-bg-3);
    --form-type-autocomplete-dropdown-input-wrapper-bg: var(--d-bg-2);
    --form-type-autocomplete-dropdown-input-border-color: transparent;
    --form-type-autocomplete-dropdown-active-item-bg: var(--d-bg-2);
    --form-type-autocomplete-close-button-bg:        var(--d-fg-4);
    --form-type-autocomplete-close-button-hover-bg:  var(--d-bg);
    --form-type-autocomplete-optgroup-bg:            var(--d-bg-3);
    --form-type-autocomplete-optgroup-color:         var(--d-fg-3);
    --form-type-autocomplete-multi-item-bg:          var(--d-bg-2);
    --form-type-autocomplete-multi-item-border-color: var(--d-border);
    --form-type-autocomplete-multi-item-remove-button-hover-bg: var(--d-bg);
    --form-global-error-bg:    transparent;
    --form-global-error-color: var(--d-alert);
    --form-global-error-border: 1px solid var(--d-alert);

    /* Badges */
    --badge-boolean-false-bg:        rgba(255, 255, 255, 0.06);
    --badge-boolean-false-box-shadow: inset 0 0 0 1px var(--d-border);
    --badge-boolean-false-color:     var(--d-fg-2);
    --badge-boolean-true-bg:         rgba(84, 210, 255, 0.15);
    --badge-boolean-true-box-shadow: inset 0 0 0 1px rgba(84, 210, 255, 0.3);
    --badge-boolean-true-color:      var(--d-cyan);
    --badge-success-bg:              rgba(94, 233, 181, 0.15);
    --badge-success-box-shadow:      inset 0 0 0 1px rgba(94, 233, 181, 0.3);
    --badge-success-color:           var(--d-green);
    --badge-warning-bg:              rgba(246, 198, 103, 0.15);
    --badge-warning-box-shadow:      inset 0 0 0 1px rgba(246, 198, 103, 0.3);
    --badge-warning-color:           var(--d-warning);
    --badge-danger-bg:               rgba(255, 140, 160, 0.15);
    --badge-danger-box-shadow:       inset 0 0 0 1px rgba(255, 140, 160, 0.3);
    --badge-danger-color:            var(--d-alert);
    --badge-info-bg:                 rgba(143, 160, 179, 0.15);
    --badge-info-box-shadow:         inset 0 0 0 1px rgba(143, 160, 179, 0.3);
    --badge-info-color:              var(--d-info);
    --badge-primary-bg:              rgba(84, 210, 255, 0.15);
    --badge-primary-box-shadow:      inset 0 0 0 1px rgba(84, 210, 255, 0.3);
    --badge-primary-color:           var(--d-cyan);
    --badge-secondary-bg:            rgba(255, 255, 255, 0.06);
    --badge-secondary-box-shadow:    inset 0 0 0 1px var(--d-border);
    --badge-secondary-color:         var(--d-fg-3);
    --badge-light-bg:                rgba(255, 255, 255, 0.08);
    --badge-light-box-shadow:        none;
    --badge-light-color:             var(--d-fg-2);
    --badge-dark-bg:                 rgba(0, 0, 0, 0.3);
    --badge-dark-box-shadow:         none;
    --badge-dark-color:              var(--d-fg-3);
    --badge-outline-box-shadow:      inset 0 0 0 1px var(--d-fg-4);
    --badge-outline-color:           var(--d-fg-2);

    /* Alerts */
    --alert-primary-bg:           rgba(84, 210, 255, 0.10);
    --alert-primary-color:        var(--d-cyan);
    --alert-primary-border-color: rgba(84, 210, 255, 0.25);
    --alert-secondary-bg:         var(--d-bg-3);
    --alert-secondary-color:      var(--d-fg-2);
    --alert-secondary-border-color: var(--d-border);
    --alert-success-bg:           rgba(94, 233, 181, 0.10);
    --alert-success-color:        var(--d-green);
    --alert-success-border-color: rgba(94, 233, 181, 0.25);
    --alert-info-bg:              rgba(143, 160, 179, 0.10);
    --alert-info-color:           var(--d-info);
    --alert-info-border-color:    rgba(143, 160, 179, 0.25);
    --alert-warning-bg:           rgba(246, 198, 103, 0.10);
    --alert-warning-color:        var(--d-warning);
    --alert-warning-border-color: rgba(246, 198, 103, 0.25);
    --alert-danger-bg:            rgba(255, 140, 160, 0.10);
    --alert-danger-color:         var(--d-alert);
    --alert-danger-border-color:  rgba(255, 140, 160, 0.25);
    --alert-light-bg:             var(--d-bg-3);
    --alert-light-color:          var(--d-fg-2);
    --alert-light-border-color:   var(--d-border);
    --alert-dark-bg:              var(--d-bg);
    --alert-dark-color:           var(--d-fg-2);
    --alert-dark-border-color:    var(--d-border);

    /* Buttons — primary */
    --button-primary-box-shadow:        none;
    --button-primary-bg:                var(--d-cyan);
    --button-primary-color:             var(--d-bg);
    --button-primary-icon-color:        var(--d-bg);
    --button-primary-border-color:      transparent;
    --button-primary-hover-bg:          var(--d-green);
    --button-primary-hover-color:       var(--d-bg);
    --button-primary-hover-border-color: transparent;
    --button-primary-active-box-shadow: none;
    --button-primary-active-bg:         var(--d-green);
    --button-primary-active-color:      var(--d-bg);
    --button-primary-active-border-color: transparent;

    /* Buttons — secondary */
    --button-secondary-box-shadow:        none;
    --button-secondary-bg:                var(--d-bg-3);
    --button-secondary-color:             var(--d-fg-2);
    --button-secondary-icon-color:        var(--d-fg-3);
    --button-secondary-border-color:      var(--d-border);
    --button-secondary-hover-bg:          rgba(255, 255, 255, 0.06);
    --button-secondary-hover-color:       var(--d-fg);
    --button-secondary-hover-border-color: rgba(255, 255, 255, 0.12);
    --button-secondary-active-box-shadow: none;
    --button-secondary-active-bg:         rgba(255, 255, 255, 0.08);
    --button-secondary-active-color:      var(--d-fg);
    --button-secondary-active-border-color: rgba(255, 255, 255, 0.15);

    /* Buttons — success */
    --button-success-box-shadow:        none;
    --button-success-bg:                var(--d-bg-3);
    --button-success-color:             var(--d-green);
    --button-success-icon-color:        inherit;
    --button-success-border-color:      var(--d-border);
    --button-success-hover-bg:          var(--d-green);
    --button-success-hover-color:       var(--d-bg);
    --button-success-hover-border-color: transparent;
    --button-success-active-box-shadow: none;
    --button-success-active-bg:         var(--d-green);
    --button-success-active-color:      var(--d-bg);
    --button-success-active-border-color: transparent;

    /* Buttons — warning */
    --button-warning-box-shadow:        none;
    --button-warning-bg:                var(--d-bg-3);
    --button-warning-color:             var(--d-warning);
    --button-warning-icon-color:        inherit;
    --button-warning-border-color:      var(--d-border);
    --button-warning-hover-bg:          var(--d-warning);
    --button-warning-hover-color:       var(--d-bg);
    --button-warning-hover-border-color: transparent;
    --button-warning-active-box-shadow: none;
    --button-warning-active-bg:         var(--d-warning);
    --button-warning-active-color:      var(--d-bg);
    --button-warning-active-border-color: transparent;

    /* Buttons — danger */
    --button-danger-box-shadow:        none;
    --button-danger-bg:                var(--d-bg-3);
    --button-danger-color:             var(--d-alert);
    --button-danger-icon-color:        inherit;
    --button-danger-border-color:      var(--d-border);
    --button-danger-hover-bg:          var(--d-alert);
    --button-danger-hover-color:       var(--d-bg);
    --button-danger-hover-border-color: transparent;
    --button-danger-active-box-shadow: none;
    --button-danger-active-bg:         var(--d-alert);
    --button-danger-active-color:      var(--d-bg);
    --button-danger-active-border-color: transparent;

    /* Login page */
    --page-login-bg:                       var(--d-bg);
    --page-login-form-bg:                  var(--d-bg-3);
    --page-login-form-control-bg:          var(--d-bg-2);
    --page-login-form-control-border-color: rgba(255, 255, 255, 0.10);
    --page-login-form-control-button-bg:   var(--d-cyan);

    /* Highlight */
    --highlight-bg:    rgba(84, 210, 255, 0.25);
    --highlight-color: var(--d-fg);

    /* Shadows */
    --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.3), 0 2px 4px -2px rgba(0,0,0,0.3);
    --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.3), 0 4px 6px -4px rgba(0,0,0,0.3);
    --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.4), 0 8px 10px -6px rgba(0,0,0,0.4);
}

/* ── Logo / brand en dégradé signature ───────────────────────────────────── */
body.ea .sidebar .logo,
body.ea .sidebar a.logo,
body.ea .sidebar .logo-wrapper,
body.ea .main-header .logo-wrapper {
    background: var(--d-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 700;
}

/* ── Sections de menu ────────────────────────────────────────────────────── */
body.ea .sidebar .menu-section,
body.ea .sidebar [class*="section"] > span,
body.ea .sidebar .ea-sidebar-menu .nav-item.section-title {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.09em;
}

/* ── Page login ──────────────────────────────────────────────────────────── */
/* Le fond */
body.ea.ea-body-login {
    background-color: var(--d-bg) !important;
}

/* Carte de connexion */
body.ea .ea-login-form .content {
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}

/* Lien mot de passe oublié — exclure les boutons pour éviter cyan sur cyan */
body.ea .ea-login-form a:not(.btn),
body.ea .login-wrapper a:not(.btn) {
    color: var(--d-cyan);
}
body.ea .ea-login-form a:not(.btn):hover,
body.ea .login-wrapper a:not(.btn):hover {
    color: var(--d-green);
}

/* ── Scrollbar ───────────────────────────────────────────────────────────── */
body.ea ::-webkit-scrollbar       { width: 5px; height: 5px; }
body.ea ::-webkit-scrollbar-track { background: var(--d-bg); }
body.ea ::-webkit-scrollbar-thumb { background: var(--d-bg-3); border-radius: 3px; }
body.ea ::-webkit-scrollbar-thumb:hover { background: var(--d-fg-4); }

/* ===== DASHBOARD =========================================================== */

.dashboard-kpi-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.dashboard-kpi-card {
  background: var(--sidebar-bg, #0d1f33);
  border: 1px solid rgba(84, 210, 255, 0.15);
  border-radius: 8px;
  padding: 1.25rem;
}

.kpi-value {
  font-size: 2rem;
  font-weight: 700;
  color: #54D2FF;
  line-height: 1;
}

.kpi-label {
  font-size: 0.8rem;
  color: var(--text-muted, #8899aa);
  margin-top: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.kpi-link {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 0.75rem;
  color: #54D2FF;
  text-decoration: none;
  opacity: 0.7;
}
.kpi-link:hover { opacity: 1; color: #54D2FF; }

.dashboard-card {
  background: var(--sidebar-bg, #0d1f33);
  border: 1px solid rgba(84, 210, 255, 0.1);
  border-radius: 8px;
  padding: 1.25rem;
}

.dashboard-card-title {
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #54D2FF;
  margin-bottom: 1rem;
  border-bottom: 1px solid rgba(84, 210, 255, 0.15);
  padding-bottom: 0.5rem;
}

.dashboard-alert {
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: 6px;
  padding: 0.75rem 1rem;
  color: #fca5a5;
  font-size: 0.85rem;
}

.dashboard-ok {
  background: rgba(34, 197, 94, 0.1);
  border: 1px solid rgba(34, 197, 94, 0.3);
  border-radius: 6px;
  padding: 0.75rem 1rem;
  color: #86efac;
  font-size: 0.85rem;
}

.dashboard-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}

.dashboard-table th {
  text-align: left;
  padding: 0.4rem 0.6rem;
  color: var(--text-muted, #8899aa);
  font-weight: 500;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  cursor: pointer;
  user-select: none;
}

.dashboard-table th:hover { color: #54D2FF; }

.dashboard-table td {
  padding: 0.5rem 0.6rem;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  color: var(--text-color, #e2e8f0);
}

.dashboard-table tr:last-child td { border-bottom: none; }
.dashboard-table tr:hover td { background: rgba(84, 210, 255, 0.04); }

.instance-bar {
  height: 4px;
  background: rgba(84, 210, 255, 0.15);
  border-radius: 2px;
  margin-top: 4px;
}

.instance-bar-fill {
  height: 100%;
  background: #54D2FF;
  border-radius: 2px;
  transition: width 0.3s ease;
}

.bilan-date-form {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}

.bilan-date-form input[type="date"] {
  background: rgba(84, 210, 255, 0.05);
  border: 1px solid rgba(84, 210, 255, 0.2);
  border-radius: 4px;
  color: var(--text-color, #e2e8f0);
  padding: 0.3rem 0.6rem;
  font-size: 0.85rem;
}

.bilan-date-form label {
  font-size: 0.8rem;
  color: var(--text-muted, #8899aa);
}

.bilan-charts-row {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 1rem;
  margin-top: 1rem;
}

@media (max-width: 1024px) {
  .dashboard-kpi-row { grid-template-columns: repeat(2, 1fr); }
  .bilan-charts-row  { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .dashboard-kpi-row { grid-template-columns: 1fr; }
}

/* ── Tag plan sidebar ── */
/* La règle EasyAdmin ".main-header #header-logo a { display: block }" force pleine largeur.
   On surcharge avec un sélecteur plus spécifique incluant #header-logo. */
/* EasyAdmin force display:block sur tous les <a> dans #header-logo (base.css:147).
   Sélecteur plus spécifique (1,3,2 > 1,1,1) + !important pour l'emporter. */
body.ea .main-header #header-logo a.dunyon-plan-tag {
  display: inline-flex !important;
  width: auto !important;
  align-items: center;
  gap: 5px;
  margin: 0 0 10px 0;
  padding: 3px 9px;
  border-radius: 20px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  white-space: nowrap;
  line-height: 1.4;
  text-decoration: none;
}

body.ea .main-header #header-logo a.dunyon-plan-tag .dunyon-plan-tag__dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  min-width: 5px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* overflow:hidden du vendor cliperait le tag — on l'annule */
body.ea .main-header #header-logo {
  overflow: visible;
}

/* Variants — couleurs claires adaptées au fond de sidebar sombre (#0D1B2A) */
body.ea .main-header #header-logo a.dunyon-plan-tag--warning {
  background: rgba(246, 198, 103, 0.12);
  border: 1px solid rgba(246, 198, 103, 0.30);
  color: var(--d-warning);
}
body.ea .main-header #header-logo a.dunyon-plan-tag--warning .dunyon-plan-tag__dot {
  background: var(--d-warning);
}

body.ea .main-header #header-logo a.dunyon-plan-tag--danger {
  background: rgba(255, 140, 160, 0.10);
  border: 1px solid rgba(255, 140, 160, 0.28);
  color: var(--d-alert);
}
body.ea .main-header #header-logo a.dunyon-plan-tag--danger .dunyon-plan-tag__dot {
  background: var(--d-alert);
}

body.ea .main-header #header-logo a.dunyon-plan-tag--success {
  background: rgba(94, 233, 181, 0.10);
  border: 1px solid rgba(94, 233, 181, 0.28);
  color: var(--d-green);
}
body.ea .main-header #header-logo a.dunyon-plan-tag--success .dunyon-plan-tag__dot {
  background: var(--d-green);
}

/* ── Notification bell ───────────────────────────────────────────────────── */
/* Desktop : cloche dans .dunyon-bell-desktop-slot (content-top, à gauche de l'avatar).
   Mobile  : cloche dans .dunyon-bell-mobile-slot (responsive-header, à droite).
   Un seul controller Stimulus par instance — deux instances indépendantes dans le DOM.
   Le panneau bascule en drawer plein-écran sur mobile (CSS only, même controller). */

/* Slot wrappers — visibilité desktop/mobile */
.dunyon-bell-desktop-slot { display: contents; }
.dunyon-bell-mobile-slot  { display: none; align-items: center; margin-left: 6px; }

@media (max-width: 991px) {
    .dunyon-bell-desktop-slot { display: none; }
    .dunyon-bell-mobile-slot  { display: flex; }
}

.dunyon-bell {
    position: relative;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-right: 6px;
}

.dunyon-bell__btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 6px;
    color: var(--d-fg-3);
    cursor: pointer;
    transition: color 0.12s, background 0.12s;
}
.dunyon-bell__btn:hover,
.dunyon-bell__btn[aria-expanded="true"] {
    color: var(--d-fg);
    background: rgba(255, 255, 255, 0.06);
}

.dunyon-bell__badge {
    position: absolute;
    top: 4px;
    right: 4px;
    min-width: 15px;
    height: 15px;
    padding: 0 3px;
    font-size: 9px;
    font-weight: 700;
    line-height: 15px;
    text-align: center;
    background: var(--d-cyan);
    color: var(--d-bg);
    border-radius: 8px;
    pointer-events: none;
}

.dunyon-bell__dropdown {
    position: absolute;
    top: calc(100% + 6px);
    right: -8px;
    z-index: 1080;
    width: 320px;
    max-height: 440px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
    background: var(--d-bg-2);
    border: 1px solid var(--d-border);
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}
.dunyon-bell__dropdown[hidden] { display: none; }

.dunyon-bell__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px 8px;
    border-bottom: 1px solid var(--d-border);
    flex-shrink: 0;
}
.dunyon-bell__title {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--d-fg-3);
}
.dunyon-bell__mark-all {
    font-size: 11.5px;
    color: var(--d-cyan);
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    line-height: 1;
}
.dunyon-bell__mark-all:hover { text-decoration: underline; }

.dunyon-bell__list {
    overflow-y: auto;
    flex: 1;
}

.dunyon-bell__item {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 9px 14px;
    cursor: pointer;
    border-bottom: 1px solid var(--d-border);
    transition: background 0.1s;
}
.dunyon-bell__item:last-child { border-bottom: none; }
.dunyon-bell__item:hover { background: rgba(255, 255, 255, 0.03); }

.dunyon-bell__item-dot {
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    margin-top: 4px;
    border-radius: 50%;
    background: var(--d-cyan);
    visibility: hidden;
}
.dunyon-bell__item--unread .dunyon-bell__item-dot { visibility: visible; }

.dunyon-bell__item-body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.dunyon-bell__item-text {
    font-size: 12.5px;
    color: var(--d-fg-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.dunyon-bell__item--unread .dunyon-bell__item-text {
    color: var(--d-fg);
    font-weight: 500;
}
.dunyon-bell__item-time {
    font-size: 11px;
    color: var(--d-fg-4);
}

.dunyon-bell__empty {
    padding: 28px 14px;
    text-align: center;
    font-size: 12.5px;
    color: var(--d-fg-4);
}

.dunyon-bell__footer {
    display: block;
    padding: 9px 14px;
    font-size: 11.5px;
    text-align: center;
    color: var(--d-fg-3);
    border-top: 1px solid var(--d-border);
    text-decoration: none;
    flex-shrink: 0;
    transition: color 0.12s;
}
.dunyon-bell__footer:hover { color: var(--d-cyan); text-decoration: none; }

/* Mobile drawer — overlay + panneau bas */
@media (max-width: 991px) {
    /* Agrandir la zone de tap du bouton cloche */
    .dunyon-bell__btn {
        width: 44px;
        height: 44px;
    }

    /* Overlay semi-transparent derrière le drawer */
    body.dunyon-bell-open::before {
        content: '';
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.55);
        z-index: 1079;
    }

    /* Dropdown devient un drawer pleine-largeur ancré en bas */
    .dunyon-bell__dropdown {
        position: fixed;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-height: 85vh;
        border-radius: 16px 16px 0 0;
        border-left: none;
        border-right: none;
        border-bottom: none;
        box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.6);
        z-index: 1080;
    }

    /* Handle visuel en haut du drawer */
    .dunyon-bell__dropdown::before {
        content: '';
        display: block;
        width: 36px;
        height: 4px;
        background: rgba(255, 255, 255, 0.18);
        border-radius: 2px;
        margin: 10px auto 0;
        flex-shrink: 0;
    }
}

/* ── Notifications list page ─────────────────────────────────────────────── */
.dunyon-bell-list-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 60px 0;
    color: var(--d-fg-4);
}
.dunyon-bell-list-empty svg { opacity: 0.35; }
.dunyon-bell-list-empty p { margin: 0; font-size: 13px; }

.dunyon-bell-list__row { cursor: pointer; }

/* ── Icon select (custom dropdown picker) ────────────────────────────────── */

.icon-select {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 360px;
}

/* Trigger button — styled like a native <select> */
.icon-select__btn {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 7px 12px;
    background: var(--d-bg-2);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 6px;
    color: var(--d-fg-2);
    font-size: 14px;
    cursor: pointer;
    text-align: left;
    transition: border-color 0.15s;
}
.icon-select__btn:hover,
.icon-select__btn[aria-expanded="true"] {
    border-color: var(--d-cyan);
    outline: none;
}
.icon-select__btn:focus-visible {
    outline: 2px solid var(--d-cyan);
    outline-offset: 2px;
}
.icon-select__current-icon {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    color: var(--d-cyan);
    min-width: 20px;
}
.icon-select__current-label {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.icon-select__chevron {
    flex-shrink: 0;
    color: var(--d-fg-4);
    transition: transform 0.15s;
}
.icon-select__btn[aria-expanded="true"] .icon-select__chevron {
    transform: rotate(180deg);
}

/* Dropdown panel */
.icon-select__panel {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 1000;
    background: var(--d-bg-2);
    border: 1px solid var(--d-border);
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.45);
    padding: 12px;
    width: max-content;
    min-width: 100%;
    max-width: min(580px, 90vw);
    max-height: 380px;
    overflow-y: auto;
}

/* Icon grid inside the panel */
.icon-select__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
    gap: 6px;
}

/* Individual icon tiles */
.icon-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 8px 4px 7px;
    border: 1px solid var(--d-border);
    border-radius: 8px;
    background: var(--d-bg-3);
    color: var(--d-fg-3);
    cursor: pointer;
    text-align: center;
    transition: border-color 0.12s, background 0.12s, color 0.12s;
    user-select: none;
    min-height: 64px;
}
.icon-tile:hover {
    border-color: rgba(84, 210, 255, 0.45);
    background: rgba(84, 210, 255, 0.06);
    color: var(--d-fg);
}
.icon-tile--selected {
    border-color: var(--d-cyan);
    background: rgba(84, 210, 255, 0.10);
    color: var(--d-cyan);
}
.icon-tile--none { color: var(--d-fg-4); }
.icon-tile--none.icon-tile--selected { color: var(--d-cyan); }
.icon-tile__svg {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.icon-tile__label {
    font-size: 10px;
    line-height: 1.2;
    word-break: break-word;
    hyphens: auto;
    max-width: 100%;
}
.dunyon-bell-list__row--unread td { color: var(--d-fg); font-weight: 500; }

/* ===== Login split-screen — layus commercial (page login uniquement) ===== */

.dunyon-login-split {
    display: flex;
    min-height: 100vh;
    width: 100%;
}

.dunyon-login-split__form {
    flex: 0 0 clamp(360px, 42%, 560px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dunyon-login-split__pitch {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3rem clamp(2rem, 5vw, 5rem);
    background: linear-gradient(135deg, #06111F 0%, #0b1d33 100%);
    color: #fff;
    border-left: 1px solid rgba(84, 210, 255, 0.15);
}

.dunyon-pitch__title {
    font-size: clamp(1.6rem, 2.4vw, 2.2rem);
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 1rem;
    color: #fff;
}

.dunyon-pitch__lead {
    font-size: 1.05rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.78);
    margin: 0 0 2rem;
    max-width: 46ch;
}

.dunyon-pitch__benefits {
    list-style: none;
    padding: 0;
    margin: 0 0 2.25rem;
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

.dunyon-pitch__benefits li {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    font-size: 1rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.88);
}

.dunyon-pitch__icon {
    flex: 0 0 auto;
    font-size: 1.25rem;
    line-height: 1.4;
}

.dunyon-pitch__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    padding: 0.85rem 1.6rem;
    border-radius: 10px;
    background: #54D2FF;
    color: #06111F;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
    box-shadow: 0 6px 20px rgba(84, 210, 255, 0.25);
}

.dunyon-pitch__cta:hover {
    background: #6fdcff;
    transform: translateY(-1px);
    box-shadow: 0 8px 26px rgba(84, 210, 255, 0.35);
    color: #06111F;
}

.dunyon-pitch__reassure {
    margin: 0.9rem 0 0;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.5);
}

/* Responsive : sous 900px, le pitch passe au-dessous du formulaire */
@media (max-width: 900px) {
    .dunyon-login-split {
        flex-direction: column-reverse;
        min-height: auto;
    }
    .dunyon-login-split__form,
    .dunyon-login-split__pitch {
        flex: 1 1 auto;
    }
    .dunyon-login-split__pitch {
        border-left: none;
        border-top: 1px solid rgba(84, 210, 255, 0.15);
        padding: 2.5rem 1.5rem;
    }
}

/* ===== MODULE REVIEW PUBLICATIONS ========================================= */

.pub-review-wrapper {
    padding: 0;
}

/* Onglets plateformes */
.pub-review-tabs {
    border-bottom: 1px solid var(--d-border);
    margin-bottom: 0;
}

.pub-review-tabs .nav-link {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--d-fg-3);
    padding: 0.5rem 1rem;
    border-radius: 0;
    cursor: pointer;
    transition: color .15s, border-color .15s;
}

.pub-review-tabs .nav-link:hover {
    color: var(--d-fg);
    border-bottom-color: rgba(84, 210, 255, .4);
}

.pub-review-tabs .nav-link.active {
    color: var(--d-cyan);
    border-bottom-color: var(--d-cyan);
    font-weight: 600;
}

/* Panneau de contenu */
.pub-review-panel {
    background: var(--d-bg-3);
    border: 1px solid var(--d-border);
    border-top: none;
    border-radius: 0 0 6px 6px;
    padding: 1.25rem;
    margin-bottom: 1rem;
}

/* Textarea de texte */
.pub-review-textarea {
    background: var(--d-bg-2) !important;
    border-color: rgba(255,255,255,.1) !important;
    color: var(--d-fg-2) !important;
    font-family: inherit;
    resize: vertical;
    min-height: 200px;
    line-height: 1.6;
}

.pub-review-textarea:focus {
    border-color: rgba(84, 210, 255, .4) !important;
    box-shadow: 0 0 0 3px rgba(84, 210, 255, .08) !important;
}

.pub-review-textarea:disabled {
    opacity: .65;
    cursor: default;
}

/* Médias */
.pub-review-media-item {
    background: var(--d-bg-2);
    border: 1px solid var(--d-border);
    border-radius: 4px;
    padding: 4px 8px;
    font-size: .8rem;
    color: var(--d-fg-3);
}

/* Historique des versions */
.pub-review-versions {
    border-top: 1px solid var(--d-border);
    padding-top: 1rem;
    margin-top: 1rem;
}

/* Diff output */
.pub-review-diff {
    background: var(--d-bg-2);
    border: 1px solid var(--d-border);
    border-radius: 6px;
    padding: .875rem 1rem;
    font-size: .875rem;
    line-height: 1.7;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 300px;
    overflow-y: auto;
}

.pub-diff-content { display: inline; }

.pub-diff-added {
    background: rgba(94, 233, 181, .18);
    color: #5EE9B5;
    text-decoration: none;
    border-radius: 2px;
    padding: 0 2px;
}

.pub-diff-removed {
    background: rgba(255, 140, 160, .18);
    color: #FF8CA0;
    text-decoration: line-through;
    border-radius: 2px;
    padding: 0 2px;
}

/* Cartes de la colonne droite */
.pub-review-card {
    background: var(--d-bg-3) !important;
    border: 1px solid var(--d-border) !important;
    border-radius: 8px;
}

.pub-review-card-title {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--d-cyan);
    font-weight: 600;
    margin-bottom: .875rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid rgba(84, 210, 255, .15);
}

/* Définitions (dl) */
.pub-review-dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .25rem .75rem;
    font-size: .85rem;
}

.pub-review-dl dt {
    color: var(--d-fg-4);
    font-weight: 500;
    white-space: nowrap;
}

.pub-review-dl dd {
    color: var(--d-fg-2);
    margin: 0;
}

/* Table de review */
.pub-review-table {
    font-size: .82rem;
    margin-bottom: 0;
}

/* Commentaires */
.pub-review-comments {
    max-height: 320px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: .625rem;
}

.pub-review-comment {
    background: var(--d-bg-2);
    border: 1px solid var(--d-border);
    border-radius: 6px;
    padding: .625rem .875rem;
}

.pub-review-comment-meta {
    display: flex;
    align-items: baseline;
    gap: .5rem;
    margin-bottom: .25rem;
}

.pub-review-comment-author {
    font-size: .78rem;
    font-weight: 600;
    color: var(--d-cyan);
}

.pub-review-comment-date {
    font-size: .72rem;
    color: var(--d-fg-4);
}

.pub-review-comment-content {
    font-size: .85rem;
    color: var(--d-fg-2);
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}

/* Statut de sauvegarde */
.pub-review-save-status {
    font-size: .78rem;
    color: var(--d-green);
    transition: opacity .2s;
}

/* ===== MODULE META OAUTH ================================================== */

.pub-meta-page-option {
    padding: .75rem 1rem;
    border: 1px solid var(--d-border);
    border-radius: var(--d-radius);
    margin-bottom: .5rem;
    transition: border-color .15s, background .15s;
}

.pub-meta-page-option:has(.form-check-input:checked) {
    border-color: var(--d-cyan);
    background: rgba(84, 210, 255, .06);
}

.pub-meta-connected {
    padding: 1rem;
    border: 1px solid var(--d-border);
    border-radius: var(--d-radius);
    background: var(--d-bg-2);
}

.pub-meta-connected .pub-review-dl {
    grid-template-columns: 140px 1fr;
}

/* ===== PANNEAU PUBLICATIONS (fiche Action) ================================= */

.pub-action-list {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.pub-action-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem 1rem;
    border: 1px solid var(--d-border);
    border-radius: var(--d-radius);
    background: var(--d-bg-2);
    transition: border-color .15s;
}

.pub-action-item:hover {
    border-color: rgba(84, 210, 255, .4);
}

.pub-action-item-main {
    flex: 1;
    min-width: 0;
}

.pub-action-title {
    font-weight: 600;
    font-size: .9rem;
    color: var(--d-cyan);
    text-decoration: none;
}

.pub-action-title:hover {
    text-decoration: underline;
}

.pub-action-badge {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 10px;
    font-size: .75rem;
    font-weight: 600;
    border: 1px solid;
}

.pub-action-platforms {
    font-size: 1rem;
}

.pub-action-preview {
    font-size: .8rem;
    color: var(--d-fg-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pub-action-meta {
    display: flex;
    gap: 1rem;
    font-size: .75rem;
    color: var(--d-fg-4);
    flex-wrap: wrap;
}

.pub-action-item-actions {
    flex-shrink: 0;
}

/* ── Publication form (new / edit) ─────────────────────────────────────── */
.pub-tab--disabled {
    opacity: .38 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

.pub-form-char-counter {
    font-size: .78rem;
    color: var(--d-fg-4);
    text-align: right;
    margin-top: .3rem;
    transition: color .2s;
}
.pub-form-char-counter.warn   { color: var(--d-warning); }
.pub-form-char-counter.danger { color: var(--d-alert); font-weight: 600; }

.pub-form-dropzone {
    border: 2px dashed var(--d-border);
    border-radius: 8px;
    background: var(--d-bg-2);
    transition: border-color .2s, background .2s;
}
.pub-form-dropzone:hover,
.pub-form-dropzone.dragging {
    border-color: var(--d-cyan);
    background: rgba(84, 210, 255, .04);
}
.pub-form-dropzone-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.5rem;
    cursor: pointer;
    text-align: center;
    margin: 0;
    gap: .4rem;
}
.pub-form-dropzone input[type="file"] {
    display: none;
}
.pub-form-dropzone-icon {
    font-size: 2rem;
    color: var(--d-fg-4);
}
.pub-form-dropzone-text {
    font-size: .9rem;
    color: var(--d-fg-3);
}
.pub-form-dropzone-hint {
    font-size: .75rem;
    color: var(--d-fg-4);
}
.pub-form-dropzone-preview {
    display: none;
    align-items: center;
    gap: .75rem;
    padding: .75rem 1rem;
    border-top: 1px solid var(--d-border);
}
.pub-form-dropzone-preview.visible {
    display: flex;
}
.pub-form-dropzone-preview img {
    max-height: 72px;
    max-width: 100px;
    border-radius: 4px;
    border: 1px solid var(--d-border);
    object-fit: cover;
    flex-shrink: 0;
}
.pub-form-dropzone-preview-meta {
    flex: 1;
    font-size: .8rem;
    color: var(--d-fg-3);
    word-break: break-all;
    min-width: 0;
}
.pub-form-dropzone-clear {
    background: rgba(255, 140, 160, .12);
    border: 1px solid var(--d-alert);
    border-radius: 4px;
    color: var(--d-alert);
    font-size: .78rem;
    padding: .25rem .6rem;
    cursor: pointer;
    flex-shrink: 0;
    white-space: nowrap;
    transition: background .15s;
}
.pub-form-dropzone-clear:hover {
    background: rgba(255, 140, 160, .25);
}
.pub-form-ig-warning {
    display: none;
    align-items: center;
    gap: .4rem;
    font-size: .8rem;
    color: var(--d-warning);
    margin-top: .5rem;
}
.pub-form-ig-warning.visible {
    display: flex;
}
.pub-form-existing-media {
    border-top: 1px solid var(--d-border);
    padding: .6rem 1rem;
    font-size: .8rem;
    color: var(--d-fg-4);
}
.pub-form-existing-media ul {
    margin: .2rem 0 0;
    padding-left: 1.25rem;
    color: var(--d-fg-3);
}

/* Dark-theme overrides for inputs NOT wrapped by EasyAdmin's .form-widget */
form.pub-form .form-control,
form.pub-form .form-select {
    background-color: var(--form-control-bg);
    color: var(--form-input-text-color);
    border: 1px solid var(--form-input-border-color);
}
form.pub-form .form-control:focus,
form.pub-form .form-select:focus {
    background-color: var(--form-control-bg);
    color: var(--form-input-text-color);
    border-color: var(--d-cyan);
    box-shadow: 0 0 0 3px rgba(84, 210, 255, .15);
    outline: none;
}
form.pub-form .input-group-text {
    background-color: var(--form-input-group-text-bg);
    color: var(--d-fg-3);
    border: 1px solid var(--form-input-group-text-border-color);
}

/* ── Onboarding tour ──────────────────────────────────────────────────────── */

.dunyon-help-btn-wrapper {
    display: flex;
    align-items: center;
    margin-right: .5rem;
}

.dunyon-help-btn {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1.5px solid var(--d-cyan);
    background: transparent;
    color: var(--d-cyan);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s, color .15s;
    flex-shrink: 0;
}

.dunyon-help-btn:hover {
    background: var(--d-cyan);
    color: var(--d-bg);
}

/* Driver.js popover overrides — dark Dunyon theme */
.dunyon-tour-popover .driver-popover-title {
    color: #F3F6FA;
    font-size: 15px;
    font-weight: 600;
    margin-bottom: .4rem;
}

.dunyon-tour-popover .driver-popover-description {
    color: #C8D2DF;
    font-size: 13.5px;
    line-height: 1.65;
}

.dunyon-tour-popover .driver-popover-footer button {
    font-size: 12.5px;
}

.dunyon-tour-cta-btn {
    display: inline-block;
    margin-top: .75rem;
    padding: 7px 16px;
    background: #54D2FF;
    color: #06111F !important;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    transition: background .15s;
}

.dunyon-tour-cta-btn:hover {
    background: #5EE9B5;
    color: #06111F !important;
}
