
/* =========================================================
   CREATIVE ENGINEERING — MIGRATION 2D-3K
   Dashboard Admin V2 — couche visuelle uniquement
   Cible : Filament 5 + dashboard custom déjà existant
   Aucun JS, aucune route, aucune BDD.
   ========================================================= */

:root{
  --ce-navy:#0B2A5B;
  --ce-blue:#0F5EC7;
  --ce-sky:#19B5E6;
  --ce-orange:#FF7A12;
  --ce-green:#16A765;
  --ce-red:#E5484D;
  --ce-yellow:#F4C95D;
  --ce-purple:#7A3CE8;
  --ce-ink:#10213A;
  --ce-muted:#6C7788;
  --ce-bg:#F4F7FB;
  --ce-card:#FFFFFF;
  --ce-border:#E3E8F0;
  --ce-shadow:0 10px 28px rgba(22,45,82,.08);
}

html, body {
  background: var(--ce-bg) !important;
}

/* ---------- Topbar ---------- */
.fi-topbar nav,
.fi-topbar {
  background: rgba(255,255,255,.98) !important;
  border-bottom: 1px solid var(--ce-border) !important;
  box-shadow: 0 4px 16px rgba(18,42,77,.05) !important;
}

.fi-topbar {
  min-height: 72px !important;
}

.fi-topbar .fi-icon-btn {
  border-radius: 12px !important;
}

/* ---------- Sidebar desktop ---------- */
@media (min-width: 1025px){
  .fi-sidebar {
    background: linear-gradient(180deg,#0A52B8 0%, #0A397F 55%, #082B62 100%) !important;
    border-right: none !important;
    box-shadow: 8px 0 30px rgba(5,39,88,.12) !important;
  }

  .fi-sidebar-header {
    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
  }

  .fi-sidebar-header .fi-logo,
  .fi-sidebar-header a,
  .fi-sidebar-header span {
    color:#fff !important;
  }

  .fi-sidebar-group-label {
    color:#7FC0FF !important;
    letter-spacing:.05em !important;
    font-weight:700 !important;
  }

  .fi-sidebar-item-button {
    color:rgba(255,255,255,.94) !important;
    border-radius:12px !important;
    transition:.18s ease !important;
  }

  .fi-sidebar-item-button:hover {
    background:rgba(255,255,255,.10) !important;
  }

  .fi-sidebar-item.fi-active > .fi-sidebar-item-button,
  .fi-sidebar-item-button[aria-current="page"] {
    background:rgba(255,255,255,.15) !important;
    box-shadow: inset -4px 0 0 var(--ce-orange) !important;
    color:#fff !important;
  }

  .fi-sidebar-item-icon {
    color:rgba(255,255,255,.90) !important;
  }

  .fi-sidebar-group-collapse-button {
    color:#A7D3FF !important;
  }
}

/* ---------- Main area ---------- */
.fi-main {
  background: var(--ce-bg) !important;
}

.fi-header-heading {
  color:var(--ce-ink) !important;
  font-weight:800 !important;
  letter-spacing:-.025em !important;
}

/* ---------- Custom Dashboard ---------- */
.ce-v2d3i-welcome,
.ce-v2d3k-welcome {
  background:transparent !important;
}

.ce-v2d3i-welcome h2,
.ce-v2d3k-welcome h2 {
  color:var(--ce-ink) !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
}

.ce-v2d3i-welcome p,
.ce-v2d3k-welcome p {
  color:var(--ce-muted) !important;
}

.ce-v2d3i-date,
.ce-v2d3k-date {
  background:#fff !important;
  border:1px solid var(--ce-border) !important;
  box-shadow:0 6px 18px rgba(22,45,82,.06) !important;
  border-radius:14px !important;
}

/* ---------- KPI cards ---------- */
.ce-v2d3i-card,
.ce-v2d3k-card {
  background:var(--ce-card) !important;
  border:1px solid var(--ce-border) !important;
  border-radius:16px !important;
  box-shadow:var(--ce-shadow) !important;
  overflow:hidden !important;
  transition:transform .18s ease, box-shadow .18s ease !important;
}

.ce-v2d3i-card:hover,
.ce-v2d3k-card:hover {
  transform:translateY(-2px) !important;
  box-shadow:0 14px 34px rgba(22,45,82,.12) !important;
}

.ce-card-title {
  color:#31517B !important;
  font-weight:700 !important;
}

.ce-card-value {
  color:#0B1830 !important;
  font-weight:800 !important;
}

.ce-card-subtitle {
  font-weight:600 !important;
}

.ce-card-footer {
  border-top:1px solid var(--ce-border) !important;
  background:#FBFCFE !important;
  font-weight:700 !important;
}

/* Tonalités existantes + fallback par ordre */
.ce-v2d3i-grid > *:nth-child(1),
.ce-v2d3k-grid > *:nth-child(1){ border-top:4px solid var(--ce-blue) !important; }
.ce-v2d3i-grid > *:nth-child(2),
.ce-v2d3k-grid > *:nth-child(2){ border-top:4px solid var(--ce-orange) !important; }
.ce-v2d3i-grid > *:nth-child(3),
.ce-v2d3k-grid > *:nth-child(3){ border-top:4px solid #3C82F6 !important; }
.ce-v2d3i-grid > *:nth-child(4),
.ce-v2d3k-grid > *:nth-child(4){ border-top:4px solid var(--ce-green) !important; }
.ce-v2d3i-grid > *:nth-child(5),
.ce-v2d3k-grid > *:nth-child(5){ border-top:4px solid var(--ce-sky) !important; }
.ce-v2d3i-grid > *:nth-child(6),
.ce-v2d3k-grid > *:nth-child(6){ border-top:4px solid var(--ce-purple) !important; }
.ce-v2d3i-grid > *:nth-child(7),
.ce-v2d3k-grid > *:nth-child(7){ border-top:4px solid #11A889 !important; }
.ce-v2d3i-grid > *:nth-child(8),
.ce-v2d3k-grid > *:nth-child(8){ border-top:4px solid var(--ce-yellow) !important; }
.ce-v2d3i-grid > *:nth-child(9),
.ce-v2d3k-grid > *:nth-child(9){ border-top:4px solid var(--ce-red) !important; }

.ce-v2d3i-grid > *:nth-child(1) .ce-card-subtitle,
.ce-v2d3k-grid > *:nth-child(1) .ce-card-subtitle{color:var(--ce-blue)!important;}
.ce-v2d3i-grid > *:nth-child(2) .ce-card-subtitle,
.ce-v2d3k-grid > *:nth-child(2) .ce-card-subtitle{color:#B76500!important;}
.ce-v2d3i-grid > *:nth-child(4) .ce-card-subtitle,
.ce-v2d3k-grid > *:nth-child(4) .ce-card-subtitle{color:#16844F!important;}
.ce-v2d3i-grid > *:nth-child(9) .ce-card-subtitle,
.ce-v2d3k-grid > *:nth-child(9) .ce-card-subtitle{color:var(--ce-red)!important;}

.ce-card-icon {
  border-radius:999px !important;
  background:#EDF6FF !important;
  box-shadow:inset 0 0 0 1px rgba(15,94,199,.08) !important;
}

/* ---------- Alert / error blocks ---------- */
.ce-alert,
.fi-banner,
.fi-section {
  border-radius:16px !important;
}

.ce-alert-warning {
  background:#FFF8DD !important;
  border:1px solid #F3D987 !important;
  color:#8B6400 !important;
}

.ce-alert-danger {
  background:#FFF0F1 !important;
  border:1px solid #F4B6BB !important;
  color:#B72C37 !important;
}

.ce-alert-success {
  background:#EAF8F1 !important;
  border:1px solid #A8E1C5 !important;
  color:#167A4C !important;
}

/* ---------- Chart / panels ---------- */
.ce-chart-panel,
.ce-v2d3i-bottom-grid > *,
.ce-v2d3k-bottom-grid > * {
  background:#fff !important;
  border:1px solid var(--ce-border) !important;
  border-radius:16px !important;
  box-shadow:var(--ce-shadow) !important;
}

.ce-panel-head {
  border-bottom:1px solid var(--ce-border) !important;
  background:linear-gradient(180deg,#fff,#FBFCFF) !important;
}

.ce-panel-head h3 {
  color:var(--ce-ink) !important;
  font-weight:800 !important;
}

.ce-panel-head p {
  color:var(--ce-muted) !important;
}

/* ---------- Buttons ---------- */
.fi-btn {
  border-radius:11px !important;
  font-weight:700 !important;
}

.fi-btn.fi-color-primary,
.fi-btn[data-color="primary"] {
  background:var(--ce-blue) !important;
}

.fi-btn.fi-color-primary:hover,
.fi-btn[data-color="primary"]:hover {
  background:var(--ce-orange) !important;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-button {
  position:relative !important;
}

/* ---------- Tables / forms ---------- */
.fi-ta,
.fi-section,
.fi-fo-field-wrp {
  border-radius:14px !important;
}

.fi-ta-ctn,
.fi-section {
  border-color:var(--ce-border) !important;
  box-shadow:0 7px 22px rgba(22,45,82,.06) !important;
}

/* ---------- Mobile/tablet ---------- */
@media (max-width:1024px){
  .fi-sidebar {
    background:#fff !important;
  }

  .fi-sidebar-item.fi-active > .fi-sidebar-item-button,
  .fi-sidebar-item-button[aria-current="page"] {
    background:#FFF1E6 !important;
    color:#B85300 !important;
    box-shadow:inset 4px 0 0 var(--ce-orange) !important;
  }

  .fi-sidebar-item.fi-active .fi-sidebar-item-icon {
    color:var(--ce-orange) !important;
  }

  .fi-main {
    padding-top:16px !important;
  }
}

@media (max-width:640px){
  .ce-v2d3i-card,
  .ce-v2d3k-card {
    border-radius:15px !important;
  }

  .ce-card-main {
    padding:18px !important;
  }

  .ce-card-value {
    font-size:2.25rem !important;
  }
}
