:root{
  --text:#f4f6ff;
  --muted:#aab1d6;
  --bg:#000;
  --accent:#7b2e2e;
  --line:rgba(255,255,255,.12);
  --chip:rgba(255,255,255,.06);
  --panel:rgba(8,10,18,.65);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* Header / nav */
.site-header{position:relative;border-bottom:1px solid var(--line);background:#000}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:68px;padding:8px 20px}
.brand img{height:38px;display:block;filter:brightness(0) invert(1);}
.nav-toggle{display:inline-flex;flex-direction:column;gap:4px;background:transparent;border:0;padding:8px;cursor:pointer}
.nav-toggle .bar{width:22px;height:2px;background:#fff;border-radius:2px;display:block}
.nav{position:relative}
.menu{display:flex;align-items:center;gap:18px;list-style:none;padding:0;margin:0}
.menu a, .menu button.sub-toggle{
  font-weight:500;
  text-decoration:none;
  color:#E6C229;
  padding:10px 8px;
  border-radius:8px;
  border:0;
  background:transparent;
  cursor:pointer;
}
.menu a:hover, .menu button.sub-toggle:hover{background:var(--chip)}
.has-sub{position:relative}
.submenu{
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  min-width:240px;
  background:#0e0e12;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 8px 28px rgba(0,0,0,.08);
  padding:8px;
  list-style:none;
  margin:0;
  display:none;
  z-index:50
}
.submenu.open{display:block}
.submenu a{display:block;padding:10px 12px;color:var(--text)}
.submenu a:hover{background:var(--chip)}
@media (max-width: 980px){
  .nav-toggle{display:flex}
  .nav{
    position:fixed;
    inset:68px 0 auto 0;
    background:#0e0e12;
    transform:translateY(-8px);
    opacity:0;
    visibility:hidden;
    transition:opacity .25s ease, visibility .25s ease;
    box-shadow:0 12px 24px rgba(0,0,0,.08)
  }
  .nav.open{opacity:1;visibility:visible;transform:none}
  .menu{flex-direction:column;align-items:flex-start;padding:12px 16px}
  .submenu{position:static;min-width:unset;border:none;box-shadow:none;padding:0;margin-left:8px}
}

/* Hero */
.hero{
  position:relative;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#000,#111)
}
.hero-fallback{
  height:220px;
  display:grid;
  place-items:center;
  margin:0;
  color:#fff;
  background:#000
}

/* Content */
.page-header{margin:28px 0 12px;text-align:center}
.page-header h1{font-size:clamp(26px,3.5vw,40px);margin:0}
.page-header .subtitle{color:var(--muted);margin-top:6px}
.cards-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
  margin:12px 0 28px
}
.card{
  grid-column:span 12;
  background:linear-gradient(180deg, rgba(71,99,255,.10), rgba(71,99,255,.04));
  border:1px solid rgba(163,181,255,.20);
  border-radius:16px;
  box-shadow:0 10px 28px rgba(0,0,0,.35);
  overflow:hidden
}
.card-body{padding:22px;background:var(--panel)}
.card-title{margin:0 0 6px;font-size:clamp(20px,2.8vw,28px);color:#fff}
.tagline{color:#cfd6ff;margin:0 0 12px}
.meta{color:#cfd6ff;font-size:14px;margin:10px 0 16px;line-height:1.55}
.h3{
  margin:16px 0 8px;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#fff
}
.pill-list{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;list-style:none}
.pill-list li{
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  background:var(--chip);
  color:#fff
}
.pill-list.two-col{column-gap:10px;row-gap:10px}
.steps{margin:8px 0 16px;padding-left:18px}
.note{color:#cfd6ff;margin:8px 0 0}
.cta-row{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.btn{
  display:inline-block;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--accent);
  color:#fff;
  text-decoration:none;
  background:linear-gradient(180deg,var(--accent),#5a1f1f)
}
.btn[aria-disabled="true"]{opacity:.85;cursor:not-allowed}
.badge{
  font-size:12px;
  color:#fff;
  border:1px dashed var(--line);
  border-radius:8px;
  padding:6px 8px
}
@media (min-width: 768px){ .card{grid-column:span 6} }
@media (min-width: 1100px){ .card{grid-column:span 4} }

/* Footer */
.site-footer{
  color:#e7ebf3;
  background:linear-gradient(180deg,#272a33,#1e2027);
  margin-top:40px
}
.site-footer .footer-content{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;
  gap:28px;
  padding:36px 20px
}
.site-footer a{color:#e7ebf3;text-decoration:none}
.site-footer a:hover{opacity:.95}
.f-brand .mark{height:44px;margin-bottom:10px;filter:brightness(0) invert(1)}
.f-brand p{color:#a8b0c2;margin:8px 0 0;line-height:1.6}
.f-columns{display:contents}
.f-col h3{margin:0 0 10px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.f-col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.newsletter{display:flex;gap:8px;margin-top:6px}
.newsletter input{
  flex:1;
  min-width:0;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #3a3f4b;
  background:#111723;
  color:#eaf0ff
}
.newsletter button{
  padding:10px 14px;
  border-radius:10px;
  border:1px solid #3a3f4b;
  background:#121826;
  color:#fff;
  cursor:pointer
}
.newsletter button:hover{background:#1a2130}
.social{display:flex;gap:10px;margin-top:12px}
.footbar{border-top:1px solid #2e3340;background:#161922}
.footbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;color:#a8b0c2}
.legal{display:flex;gap:14px;list-style:none;margin:0;padding:0}
@media (max-width: 980px){
  .site-footer .footer-content{grid-template-columns:1fr 1fr;gap:20px}
  .footbar-inner{flex-direction:column;align-items:flex-start}
}
/* --- Dashboard tables --- */
.card table { table-layout: fixed; width: 100%; }
.card th, .card td { vertical-align: middle; }
.card th { white-space: nowrap; }

/* colonnes fixes */
.col-date   { width: 120px; white-space: nowrap; }
.col-cap    { width: 90px;  text-align: right; white-space: nowrap; }
.col-actions{ width: 220px; white-space: nowrap; }

/* colonnes avec ellipse */
.ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.col-title { max-width: 260px; }
.col-venue { max-width: 360px; }

/* actions en ligne */
.row-actions { display: inline-flex; gap: 8px; align-items: center; }
.btn-pill { padding: 6px 10px; border-radius: 10px; border:1px solid rgba(255,255,255,.18); background:#1b1f2b; color:#fff; }
.btn-pill:hover { background:#232836; }

/* lignes + hover léger */
.table tr:hover td { background: rgba(255,255,255,.02); }

/* pastille état (ex: confirmé) */
.badge { display:inline-block; padding:4px 8px; border-radius:999px; font-size:12px; line-height:1; }
.badge.ok { background:#103b23; color:#c6ffd6; border:1px solid #1f6937; }
.badge.warn { background:#3b2a10; color:#ffe6b3; border:1px solid #8a6d2a; }
.badge.err { background:#2a1a1a; color:#ffd6d6; border:1px solid #7b2e2e; }
/* === Dashboard layout ==================================== */
.dashboard {
  max-width: 1200px;
  margin: 24px auto;
  padding: 0 16px;
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "recent shortcuts"
    "events events";
}
.card--recent    { grid-area: recent; }
.card--shortcuts { grid-area: shortcuts; }
.card--events    { grid-area: events; }

/* responsive */
@media (max-width: 960px) {
  .dashboard {
    grid-template-columns: 1fr;
    grid-template-areas:
      "recent"
      "shortcuts"
      "events";
  }
}

/* petits ajustements visu */
.card h2 { margin: 0 0 8px; }
/* --- Dashboard layout (déjà ajouté) --- */
/* ... */

/* --- Couleurs de cartes par section --- */
.card { border-radius: 14px; border:1px solid rgba(255,255,255,.08); }
.card--recent    { background:#0f1629; }   /* bleu nuit */
.card--shortcuts { background:#101a13; }   /* vert très sombre */
.card--events    { background:#18131e; }   /* prune sombre */

/* --- Table lisible + colonnes contrôlées --- */
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:middle}
.table th{white-space:nowrap}

.col-date{width:130px}
.col-cap{width:100px;text-align:right}
.col-actions{width:230px}

/* Titre / Lieu : retour à la ligne propre (pas de débord) */
.col-title,.col-venue{max-width:100%}
.col-title .wrap,.col-venue .wrap{
  display:block; white-space:normal; overflow-wrap:break-word; word-break:break-word;
}

/* Actions compactes */
.row-actions{display:inline-flex;gap:8px;flex-wrap:wrap}
.btn-pill{padding:6px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#1b1f2b}
.btn-pill:hover{background:#232836}

/* pastilles */
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;line-height:1}
.badge.ok{background:#103b23;color:#c6ffd6;border:1px solid #1f6937}
.badge.warn{background:#3b2a10;color:#ffe6b3;border:1px solid #8a6d2a}
.badge.err{background:#2a1a1a;color:#ffd6d6;border:1px solid #7b2e2e}

/* petit texte sous capacité */
.muted{opacity:.7;font-size:12px}

/* === AJOUTS / MODIFS ADMIN DASHBOARD === */
/* --- Dashboard layout --- */
.dashboard {
  max-width: 1200px;
  margin: 24px auto;
  padding: 0 16px;
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "recent shortcuts"
    "events events";
}

.card--recent    { 
  grid-area: recent;
  background: linear-gradient(180deg, #0d3615, #0b152c); /* bleu foncé accentué */
}

.card--shortcuts { 
  grid-area: shortcuts;
  background: linear-gradient(180deg, #0d2617, #0a1e12); /* vert foncé accentué */
}

.card--events    { 
  grid-area: events;
  background: linear-gradient(180deg, #2a1b33, #221529); /* prune accentuée */
}

/* responsive */
@media (max-width: 960px) {
  .dashboard {
    grid-template-columns: 1fr;
    grid-template-areas:
      "recent"
      "shortcuts"
      "events";
  }
}

/* --- Colonnes fixes et adaptatives --- */
.col-date { width: 130px; }
.col-cap  { width: 100px; text-align: right; }
.col-actions { width: 230px; }
.col-title, .col-venue { max-width: 100%; }
.wrap { display: block; white-space: normal; overflow-wrap: break-word; word-break: break-word; }

/* --- Actions --- */
.row-actions { display: inline-flex; gap: 8px; flex-wrap: wrap; }
.btn-pill {
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.18);
  background: #1b1f2b;
  color: #fff;
}
.btn-pill:hover { background: #232836; }

/* --- Pastilles --- */
.badge {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
}
.badge.ok   { background: #103b23; color: #c6ffd6; border: 1px solid #1f6937; }
.badge.warn { background: #3b2a10; color: #ffe6b3; border: 1px solid #8a6d2a; }
.badge.err  { background: #2a1a1a; color: #ffd6d6; border: 1px solid #7b2e2e; }

/* --- Texte secondaire --- */
.muted { opacity: .7; font-size: 12px; }
.admin-chip{
  position: fixed; right: 14px; bottom: 14px; /* ou top:14px */
  padding: 6px 10px; border-radius: 999px;
  background: rgba(255,255,255,.08); color:#fff;
  border:1px solid rgba(255,255,255,.18); font-size:12px;
 -webkit-backdrop-filter: blur(6px);  backdrop-filter: blur(6px); text-decoration:none;
}
.admin-chip:hover{ background: rgba(255,255,255,.18); }
fieldset > legend { opacity:.9; font-weight:600; }
#eaTable td { vertical-align: middle; }
#eaTable .row-actions { display:flex; gap:6px; align-items:center; }
#artistMenu > div:hover{ background:#1a2030; }
#artistMenu::-webkit-scrollbar{ width:8px; }
#artistMenu::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.15); border-radius:8px; }
.table { overflow: visible !important; }
/* === Overrides homepage cards === */
.home-wrap{
  max-width: 1240px !important;
  margin: 24px auto !important;
  padding: 0 16px !important;
}

.cards-grid{
  display: grid !important;
  gap: 24px !important;
  /* 3 colonnes max, chaque card garde au moins 340px */
  grid-template-columns: repeat(3, minmax(340px, 1fr)) !important;
  align-items: stretch;
  justify-content: center;
}

/* 2 colonnes si l’espace manque */
@media (max-width: 1100px){
  .cards-grid{
    grid-template-columns: repeat(2, minmax(340px, 1fr)) !important;
  }
}

/* 1 colonne sur mobile */
@media (max-width: 740px){
  .cards-grid{
    grid-template-columns: minmax(300px, 1fr) !important;
  }
}

/* Empêche d’éventuels styles globaux de rétrécir les cards */
.card.event-card,
.cards-grid > *{
  width: auto !important;
  min-width: 340px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
/* Boutons filtres : or brillant + texte bleu */
.filters .btn-pill{
  background: linear-gradient(135deg, #F9E07F 0%, #D4AF37 60%, #B88900 100%);
  color: #0B2A5B;                 /* bleu marine lisible */
  border-color: #A67C00;
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.4);
}
.filters .btn-pill:hover{
  filter: brightness(1.06);
}
.filters .btn-pill:active{
  transform: translateY(1px);
}

/* Bouton actif (sélectionné) : or un peu plus sombre + liseré bleu */
.filters .btn-active{
  background: linear-gradient(135deg, #EAC451 0%, #C99A12 70%, #A77700 100%);
  color: #0B2A5B;
  border-color: #0B2A5B;
  box-shadow: 0 0 0 2px rgba(11,42,91,.25) inset, 0 2px 6px rgba(0,0,0,.3);
}
/* optionnel */
.actions .btn[name="reschedule"]{
  border-color:#3b82f6;
}
.actions .btn[name="reschedule"]:hover{
  background:#1e293b;
}

