/* =========================================================
   DISTRICT DE MISSION ROW — Police Academy Manager
   Design System v2 — Dark Professional
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Exo+2:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Share+Tech+Mono&display=swap');

/* ── Tokens ─────────────────────────────────────────────── */
:root {
  /* Palette */
  --bg:        #080a0e;
  --bg-1:      #0d1117;
  --bg-2:      #111822;
  --bg-3:      #161e2d;
  --bg-card:   #0f1520;
  --bg-hover:  #141c2a;

  --border:    #1e2d42;
  --border-2:  #243347;

  --fg:        #e8edf5;
  --fg-muted:  #8ca0bc;
  --fg-dim:    #4d637e;

  --gold:      #c9a84c;
  --gold-2:    #e0c068;
  --gold-glow: rgba(201,168,76,.18);
  --gold-dim:  rgba(201,168,76,.08);

  --blue:      #3b82f6;
  --blue-dim:  rgba(59,130,246,.12);
  --green:     #22c55e;
  --green-dim: rgba(34,197,94,.12);
  --red:       #ef4444;
  --red-dim:   rgba(239,68,68,.12);
  --orange:    #f59e0b;
  --purple:    #a855f7;

  /* Typography */
  --font-display: 'Rajdhani', 'Impact', sans-serif;
  --font-body:    'Poppins', 'Segoe UI', sans-serif;
  --font-mono:    'Share Tech Mono', 'Courier New', monospace;

  /* Spacing */
  --sidebar-w:    0px;
  --nav-w:        300px;
  --topbar-h:     64px;
  --radius:       8px;
  --radius-lg:    12px;

  /* Transitions */
  --ease:      cubic-bezier(.4,0,.2,1);
  --t-fast:    150ms;
  --t-base:    250ms;
  --t-slow:    400ms;
}

[data-theme="light"] {
  color-scheme:light;
  --bg:#e8edf3;
  --bg-1:#f5f7fa;
  --bg-2:#e9eef4;
  --bg-3:#dce4ed;
  --bg-card:rgba(247,249,252,.86);
  --bg-hover:#e1e8f0;
  --border:#cbd5e1;
  --border-2:#aebdce;
  --fg:#17202c;
  --fg-muted:#506176;
  --fg-dim:#78889b;
}
[data-theme="light"] body { background:#dce3eb }
[data-theme="light"] body::before { opacity:.24; filter:saturate(.6) contrast(.9) brightness(1.25) }
[data-theme="light"] body::after { background:linear-gradient(180deg,rgba(235,240,246,.64),rgba(225,232,240,.78)),radial-gradient(ellipse at center,transparent,rgba(195,205,217,.3)) }
[data-theme="light"] .topbar { background:rgba(241,245,249,.9) }
[data-theme="light"] .dash-hero,[data-theme="light"] .mr-gallery,[data-theme="light"] .dash-metric,[data-theme="light"] .dash-panel,[data-theme="light"] .settings-hero,[data-theme="light"] .settings-panel { background:rgba(245,248,251,.8); border-color:rgba(115,132,153,.32) }
[data-theme="light"] .nav-panel { background:linear-gradient(145deg,rgba(247,249,252,.99),rgba(224,231,239,.99)); border-color:#b7c2cf }
[data-theme="light"] .settings-field input { background:rgba(255,255,255,.72); color:var(--fg) }
[data-theme="light"] .settings-theme,[data-theme="light"] .settings-avatar-block,[data-theme="light"] .settings-shortcuts>div { background:rgba(255,255,255,.48) }
[data-theme="light"] .settings-theme.is-active { background:rgba(201,168,76,.13) }

/* ── Reset ──────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0 }

html {
  scroll-behavior: smooth;
  color-scheme: dark;
}

body {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
  color: var(--fg);
  background:#05070a;
  min-height: 100vh;
  overflow-x: hidden;
}

/* ── Fresque cinématographique Mission Row ─────────────── */
body::before {
  content: '';
  position: fixed;
  inset:0;
  background-image:url('/site-images/arriereplan.png');
  background-size:auto 112vh;
  background-repeat:no-repeat;
  background-position:center center;
  background-color:#030507;
  filter:saturate(.86) contrast(1.06) brightness(.84);
  opacity:.68;
  transform:none;
  transition:none;
  pointer-events: none;
  z-index: 0;
}

body::after {
  content: '';
  position: fixed;
  inset: 0;
  background:
    linear-gradient(180deg,rgba(3,5,8,.38) 0%,rgba(4,6,10,.54) 52%,rgba(3,5,8,.72) 100%),
    linear-gradient(90deg,rgba(3,5,8,.48) 0%,transparent 23%,transparent 77%,rgba(3,5,8,.48) 100%),
    radial-gradient(ellipse 72% 62% at 50% 45%,transparent 12%,rgba(2,4,7,.28) 78%,rgba(2,4,7,.52) 100%);
  opacity:1;
  pointer-events: none;
  z-index: 0;
}

@media (prefers-reduced-motion: reduce) {
  body::before { transition:none }
}

/* ── Topbar ─────────────────────────────────────────────── */
.topbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--topbar-h);
  background: rgba(8,10,14,.85);
  backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  padding: 0 24px;
  z-index: 100;
  gap: 16px;
}

.topbar::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .4;
}

.topbar-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  flex: 1;
}

.topbar-logo {
  width: 44px;
  height: 44px;
  object-fit: contain;
  filter: drop-shadow(0 0 8px rgba(201,168,76,.4));
  transition: filter var(--t-base) var(--ease);
  animation: logo-pulse 4s ease-in-out infinite;
}

@keyframes logo-pulse {
  0%, 100% { filter: drop-shadow(0 0 6px rgba(201,168,76,.4)); }
  50% { filter: drop-shadow(0 0 14px rgba(201,168,76,.7)); }
}

.topbar-brand:hover .topbar-logo {
  filter: drop-shadow(0 0 16px rgba(201,168,76,.8));
}

.topbar-text { display: flex; flex-direction: column; line-height: 1.15 }

.topbar-district {
  font-family: var(--font-display);
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--gold);
}

.topbar-name {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--fg);
  line-height: 1;
}

.topbar-center {
  display: flex;
  align-items: center;
  gap: 8px;
}

.status-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 8px var(--green);
  animation: blink 2.5s ease-in-out infinite;
}

@keyframes blink {
  0%, 90%, 100% { opacity: 1 }
  45% { opacity: .3 }
}

.status-label {
  font-family: var(--font-mono);
  font-size: .7rem;
  color: var(--fg-dim);
  letter-spacing: .05em;
}

.topbar-right {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: auto;
}

/* Agent badge in topbar */
.agent-badge {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
}

.agent-id {
  font-family: var(--font-mono);
  font-size: .8rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .05em;
  line-height: 1;
}

.agent-grade {
  font-family: var(--font-body);
  font-size: .68rem;
  color: var(--fg-dim);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.agent-profile { display:flex; align-items:center; gap:10px }
.agent-avatar {
  width:38px; height:38px; border-radius:10px; object-fit:cover;
  border:1px solid rgba(201,168,76,.5); box-shadow:0 0 18px rgba(201,168,76,.12);
}
.agent-avatar-fallback {
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--gold),#7d6327); color:#080a0e;
  font-family:var(--font-display); font-weight:800; font-size:.72rem;
}
.topbar-shortcuts { gap:6px }
.topbar-shortcut {
  padding:8px 10px; border-radius:7px; color:var(--fg-muted); text-decoration:none;
  font-size:.7rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  transition:background var(--t-base),color var(--t-base);
}
.topbar-shortcut:hover { color:var(--gold); background:var(--gold-dim) }
.topbar-separator { width:1px; height:22px; background:var(--border-2); margin:0 6px }
.topbar-live { font-size:.7rem; color:var(--fg-dim); white-space:nowrap }
.topbar-live strong { color:var(--green); font-family:var(--font-mono) }
.topbar-live.is-offline,.topbar-live.is-offline strong { color:var(--red) }
.topbar-clock { min-width:72px; font-family:var(--font-mono); font-size:.7rem; color:var(--fg-muted); text-transform:capitalize }
.topbar-title {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px;
  text-decoration:none; white-space:nowrap; line-height:1; z-index:1;
}
.topbar-title span {
  font-family:'Poppins','Segoe UI',sans-serif; font-size:.66rem; font-weight:500;
  letter-spacing:.34em; text-transform:uppercase; color:var(--gold);
  padding-left:.34em;
}
.topbar-title strong {
  font-family:'Poppins','Segoe UI',sans-serif; font-size:1.28rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; color:var(--fg); padding-left:.2em;
  text-shadow:0 0 20px rgba(232,237,245,.08);
}
.topbar-title::after {
  content:''; width:42px; height:1px; margin-top:5px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent); opacity:.65;
}
.topbar-title:hover strong { color:#fff }
.topbar-status { display:flex; align-items:center; gap:10px; padding-right:14px; border-right:1px solid var(--border) }

/* Hamburger nav trigger */
.nav-trigger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  border: 1px solid var(--border-2);
  border-radius: var(--radius);
  background: var(--bg-2);
  cursor: pointer;
  transition: all var(--t-base) var(--ease);
  position: relative;
  overflow: hidden;
}

.nav-trigger::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--gold-dim);
  opacity: 0;
  transition: opacity var(--t-base) var(--ease);
}

.nav-trigger:hover { border-color: var(--gold); }
.nav-trigger:hover::before { opacity: 1; }

.nav-trigger span {
  display: block;
  width: 18px;
  height: 2px;
  background: var(--fg-muted);
  border-radius: 2px;
  transition: all var(--t-base) var(--ease);
  transform-origin: center;
}

.nav-trigger:hover span { background: var(--gold); }

/* Hamburger → X animation */
.nav-open .nav-trigger span:nth-child(1) { transform: translateY(7px) rotate(45deg) }
.nav-open .nav-trigger span:nth-child(2) { opacity: 0; transform: scaleX(0) }
.nav-open .nav-trigger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) }

/* ── Right-side slide nav ────────────────────────────────── */
.nav-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  backdrop-filter: blur(4px);
  z-index: 199;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--t-slow) var(--ease);
}

.nav-overlay.active { opacity: 1; pointer-events: all; }

.nav-panel {
  position: fixed;
  top: 50%; left: 50%;
  width: min(440px, calc(100vw - 32px));
  max-height: min(720px, calc(100vh - 40px));
  background: rgba(12,15,20,.97);
  border: 1px solid var(--border-2);
  border-radius: 22px;
  z-index: 200;
  transform: translate(-50%,-46%) scale(.94);
  opacity:0;
  pointer-events:none;
  transition: transform var(--t-slow) var(--ease),opacity var(--t-base) var(--ease);
  display: flex;
  flex-direction: column;
  overflow: auto;
}

.nav-panel::before {
  content: '';
  position: absolute;
  top: 0; left: 15%; right:15%; height:1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .4;
}

.nav-panel.active {
  transform: translate(-50%,-50%) scale(1);
  opacity:1;
  pointer-events:auto;
  box-shadow: 0 35px 100px rgba(0,0,0,.65),0 0 0 1px rgba(201,168,76,.05);
}

.nav-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 28px 26px 24px;
  border-bottom: 1px solid var(--border);
  position: relative;
}

.nav-identity { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center }
.nav-logo-ring { width:76px; height:76px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle,rgba(201,168,76,.12),rgba(8,10,14,.95)); border:1px solid rgba(201,168,76,.35); box-shadow:0 0 0 6px rgba(201,168,76,.035),0 15px 35px rgba(0,0,0,.35); margin-bottom:16px }

.nav-header-logo {
  width: 59px; height: 59px;
  object-fit: contain;
  filter: drop-shadow(0 0 8px rgba(201,168,76,.5));
}

.nav-header-text { flex: 1 }

.nav-header-district {
  font-family: var(--font-display);
  font-size: .6rem;
  font-weight: 600;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--gold);
}

.nav-header-title {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--fg);
  line-height: 1.1;
}

.nav-close {
  position:absolute; top:18px; right:18px;
  width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--border-2);
  border-radius: var(--radius);
  background: transparent;
  color: var(--fg-dim);
  cursor: pointer;
  transition: all var(--t-fast) var(--ease);
  flex-shrink: 0;
}

.nav-close:hover { border-color: var(--red); color: var(--red); background: var(--red-dim); }

/* Agent card inside nav */
.nav-agent {
  margin: 16px;
  padding: 14px 16px;
  background: var(--bg-card);
  border: 1px solid var(--border-2);
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
}

.nav-agent::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--gold), transparent);
}

.nav-agent-id {
  font-family: var(--font-mono);
  font-size: .78rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .05em;
  line-height: 1;
}

.nav-agent-name {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--fg);
  letter-spacing: .03em;
  margin-top: 4px;
  line-height: 1.1;
}

.nav-agent-grade {
  display: inline-block;
  margin-top: 7px;
  padding: 2px 10px;
  background: var(--gold-dim);
  border: 1px solid rgba(201,168,76,.2);
  border-radius: 4px;
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 600;
  color: var(--gold);
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Nav links */
.nav-section {
  padding: 14px 26px 5px;
}

.nav-section-label {
  font-family: var(--font-mono);
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--fg-dim);
  padding: 8px 8px 6px;
}

.nav-links {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  overflow-y: auto;
  padding: 0 22px 12px;
}

.nav-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: var(--radius);
  text-decoration: none;
  color: var(--fg-muted);
  font-family: var(--font-display);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  transition: all var(--t-base) var(--ease);
  position: relative;
  overflow: hidden;
}
.nav-link>span:nth-child(2) { position:relative; z-index:1 }
.nav-link b { margin-left:auto; color:var(--fg-dim); font-weight:400; position:relative; z-index:1; transition:transform .15s,color .15s }
.nav-link:hover b { transform:translateX(3px); color:var(--gold) }
.nav-number { min-width:25px; color:var(--gold); font-family:var(--font-mono); font-size:.62rem; position:relative; z-index:1 }

.nav-link::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--gold-dim);
  opacity: 0;
  transition: opacity var(--t-base) var(--ease);
}

.nav-link:hover { color: var(--fg); }
.nav-link:hover::before { opacity: 1; }

.nav-link.active {
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid rgba(201,168,76,.15);
}

.nav-link.active::after {
  content: '';
  position: absolute;
  left: 0; top: 25%; bottom: 25%;
  width: 3px;
  background: var(--gold);
  border-radius: 0 2px 2px 0;
  box-shadow: 0 0 8px var(--gold);
}

.nav-icon {
  width: 18px; height: 18px;
  flex-shrink: 0;
  opacity: .7;
  transition: opacity var(--t-base) var(--ease);
}

.nav-link:hover .nav-icon,
.nav-link.active .nav-icon { opacity: 1; }

.nav-footer {
  padding: 14px 22px 20px;
  border-top: 1px solid var(--border);
  margin-top: auto;
}

.nav-logout {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: var(--radius);
  text-decoration: none;
  color: var(--fg-dim);
  font-family: var(--font-display);
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: .04em;
  transition: all var(--t-base) var(--ease);
  border: 1px solid transparent;
}

.nav-logout:hover {
  color: var(--red);
  background: var(--red-dim);
  border-color: rgba(239,68,68,.2);
}

/* ── Page layout ─────────────────────────────────────────── */
.page-wrap {
  min-height: 100vh;
  padding-top: calc(var(--topbar-h) + 32px);
  padding-bottom: 48px;
  padding-left: 32px;
  padding-right: 32px;
  position: relative;
  z-index: 1;
  max-width: 1400px;
  margin: 0 auto;
}

/* ── Page header ─────────────────────────────────────────── */
.page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 32px;
  animation: fade-up .5s var(--ease) both;
}

.page-eyebrow {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 6px;
}

.page-title {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--fg);
  line-height: 1;
}

.page-subtitle {
  font-size: .85rem;
  color: var(--fg-muted);
  margin-top: 6px;
}

/* ── Cards ───────────────────────────────────────────────── */
.card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
  transition: border-color var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
}

.card:hover {
  border-color: var(--border-2);
  box-shadow: 0 4px 24px rgba(0,0,0,.3);
}

.card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
}

.card-title {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--fg);
}

.card-body {
  padding: 20px;
}

/* ── Stat tiles ──────────────────────────────────────────── */
.stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

.stat-tile {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 20px 22px;
  position: relative;
  overflow: hidden;
  animation: fade-up .5s var(--ease) both;
  transition: all var(--t-base) var(--ease);
}

.stat-tile::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  transition: opacity var(--t-base) var(--ease);
}

.stat-tile.gold::before  { background: linear-gradient(90deg, var(--gold), transparent); }
.stat-tile.blue::before  { background: linear-gradient(90deg, var(--blue), transparent); }
.stat-tile.green::before { background: linear-gradient(90deg, var(--green), transparent); }
.stat-tile.red::before   { background: linear-gradient(90deg, var(--red), transparent); }

.stat-tile:hover {
  border-color: var(--border-2);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(0,0,0,.3);
}

.stat-label {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--fg-dim);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.stat-icon {
  width: 14px; height: 14px; flex-shrink: 0;
}

.stat-value {
  font-family: var(--font-display);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  color: var(--fg);
}

.stat-tile.gold .stat-value { color: var(--gold); }
.stat-tile.blue .stat-value { color: var(--blue); }
.stat-tile.green .stat-value { color: var(--green); }
.stat-tile.red .stat-value { color: var(--red); }

.stat-change {
  margin-top: 8px;
  font-size: .75rem;
  color: var(--fg-dim);
}

/* ── Tables ──────────────────────────────────────────────── */
.table-wrap { overflow-x: auto }

table {
  width: 100%;
  border-collapse: collapse;
}

thead tr {
  border-bottom: 1px solid var(--border);
}

th {
  padding: 10px 16px;
  font-family: var(--font-mono);
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--fg-dim);
  text-align: left;
  white-space: nowrap;
}

td {
  padding: 12px 16px;
  font-size: .9rem;
  color: var(--fg-muted);
  border-bottom: 1px solid rgba(30,45,66,.6);
  transition: background var(--t-fast) var(--ease);
}

tbody tr:last-child td { border-bottom: none }
tbody tr:hover td { background: var(--bg-hover) }

.text-mono { font-family: var(--font-mono); }
.text-muted { color: var(--fg-muted) }

/* ── Buttons ─────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 18px;
  font-family: var(--font-display);
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: var(--radius);
  cursor: pointer;
  white-space: nowrap;
  transition: all var(--t-base) var(--ease);
  position: relative;
  overflow: hidden;
}

.btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.05);
  opacity: 0;
  transition: opacity var(--t-fast) var(--ease);
}

.btn:hover::before { opacity: 1 }

.btn-primary {
  background: var(--gold);
  border-color: var(--gold);
  color: #000;
  box-shadow: 0 0 20px var(--gold-glow);
}

.btn-primary:hover {
  background: var(--gold-2);
  border-color: var(--gold-2);
  box-shadow: 0 0 30px rgba(201,168,76,.35);
  transform: translateY(-1px);
}

.btn-outline {
  background: transparent;
  border-color: var(--border-2);
  color: var(--fg-muted);
}

.btn-outline:hover {
  border-color: var(--gold);
  color: var(--gold);
  background: var(--gold-dim);
}

.btn-ghost {
  background: transparent;
  border-color: transparent;
  color: var(--fg-dim);
}

.btn-ghost:hover {
  background: var(--bg-hover);
  color: var(--fg);
}

.btn-danger {
  background: var(--red-dim);
  border-color: rgba(239,68,68,.25);
  color: var(--red);
}

.btn-danger:hover {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
}

.btn-sm {
  padding: 5px 12px;
  font-size: .78rem;
}

.btn-lg {
  padding: 12px 28px;
  font-size: 1.05rem;
}

/* ── Status badges ───────────────────────────────────────── */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 20px;
  font-family: var(--font-mono);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.badge-dot {
  width: 5px; height: 5px;
  border-radius: 50%;
  flex-shrink: 0;
}

.badge-gold    { background: var(--gold-dim);  border: 1px solid rgba(201,168,76,.25); color: var(--gold);   }
.badge-gold .badge-dot  { background: var(--gold); box-shadow: 0 0 4px var(--gold); }
.badge-green   { background: var(--green-dim); border: 1px solid rgba(34,197,94,.25);  color: var(--green);  }
.badge-green .badge-dot { background: var(--green); box-shadow: 0 0 4px var(--green); }
.badge-red     { background: var(--red-dim);   border: 1px solid rgba(239,68,68,.25);  color: var(--red);    }
.badge-red .badge-dot   { background: var(--red); box-shadow: 0 0 4px var(--red); }
.badge-blue    { background: var(--blue-dim);  border: 1px solid rgba(59,130,246,.25); color: var(--blue);   }
.badge-blue .badge-dot  { background: var(--blue); box-shadow: 0 0 4px var(--blue); }
.badge-gray    { background: var(--bg-3);      border: 1px solid var(--border);        color: var(--fg-dim); }

/* ── Forms ───────────────────────────────────────────────── */
.form-group { margin-bottom: 16px }

.form-label {
  display: block;
  font-family: var(--font-mono);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--fg-dim);
  margin-bottom: 6px;
}

.form-control {
  width: 100%;
  padding: 10px 14px;
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--fg);
  font-family: var(--font-body);
  font-size: .9rem;
  transition: all var(--t-base) var(--ease);
  outline: none;
}

.form-control:focus {
  border-color: var(--gold);
  background: var(--bg-3);
  box-shadow: 0 0 0 3px var(--gold-dim);
}

.form-control::placeholder { color: var(--fg-dim) }

.form-hint {
  display: block;
  margin-top: 4px;
  font-size: .75rem;
  color: var(--fg-dim);
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

/* ── Score slider ────────────────────────────────────────── */
.score-control {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
}

.score-display {
  font-family: var(--font-mono);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--gold);
  min-width: 48px;
  text-align: right;
}

input[type=range] {
  -webkit-appearance: none;
  width: 100%;
  height: 4px;
  border-radius: 4px;
  background: var(--border);
  outline: none;
  cursor: pointer;
}

input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 8px var(--gold-glow);
  cursor: pointer;
  transition: box-shadow var(--t-fast) var(--ease);
}

input[type=range]::-webkit-slider-thumb:hover {
  box-shadow: 0 0 14px rgba(201,168,76,.5);
}

/* ── Modals ──────────────────────────────────────────────── */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.65);
  backdrop-filter: blur(6px);
  z-index: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--t-base) var(--ease);
}

.modal-overlay.open {
  opacity: 1;
  pointer-events: all;
}

.modal {
  background: var(--bg-1);
  border: 1px solid var(--border-2);
  border-radius: var(--radius-lg);
  width: 100%;
  max-width: 560px;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  transform: translateY(20px) scale(.98);
  transition: transform var(--t-base) var(--ease);
}

.modal-overlay.open .modal {
  transform: translateY(0) scale(1);
}

.modal::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .6;
}

.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  border-bottom: 1px solid var(--border);
}

.modal-title {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--fg);
}

.modal-body { padding: 22px }
.modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 16px 22px;
  border-top: 1px solid var(--border);
}

/* ── Toast notifications ─────────────────────────────────── */
#toast-container {
  position: fixed;
  top: calc(var(--topbar-h) + 12px);
  right: 20px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}

.toast {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 16px;
  background: var(--bg-1);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  min-width: 260px;
  max-width: 360px;
  pointer-events: all;
  box-shadow: 0 8px 32px rgba(0,0,0,.4);
  animation: toast-in .3s var(--ease) both;
}

@keyframes toast-in {
  from { transform: translateX(40px); opacity: 0 }
  to   { transform: translateX(0);    opacity: 1 }
}

.toast.removing {
  animation: toast-out .25s var(--ease) both;
}

@keyframes toast-out {
  to { transform: translateX(40px); opacity: 0 }
}

.toast-icon { width: 16px; height: 16px; flex-shrink: 0; margin-top: 1px }
.toast-message { font-size: .85rem; color: var(--fg) }

.toast.success { border-left: 3px solid var(--green) }
.toast.error   { border-left: 3px solid var(--red)   }
.toast.info    { border-left: 3px solid var(--blue)  }

/* ── Spinner ─────────────────────────────────────────────── */
.spinner {
  display: inline-block;
  width: 14px; height: 14px;
  border: 2px solid rgba(255,255,255,.2);
  border-top-color: currentColor;
  border-radius: 50%;
  animation: spin .7s linear infinite;
}

@keyframes spin { to { transform: rotate(360deg) } }

/* ── Empty state ─────────────────────────────────────────── */
.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 24px;
  text-align: center;
}

.empty-state-icon {
  width: 48px; height: 48px;
  color: var(--fg-dim);
  margin-bottom: 16px;
  opacity: .5;
}

.empty-state-title {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--fg-muted);
  margin-bottom: 8px;
}

.empty-state-text { font-size: .85rem; color: var(--fg-dim) }

/* ── Score row (detail page) ─────────────────────────────── */
.score-row {
  display: grid;
  grid-template-columns: 180px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid rgba(30,45,66,.6);
}

.score-row:last-child { border-bottom: none }

.score-row-label {
  font-family: var(--font-mono);
  font-size: .75rem;
  letter-spacing: .1em;
  color: var(--fg-muted);
  text-transform: uppercase;
}

.score-bar-wrap {
  height: 6px;
  background: var(--border);
  border-radius: 6px;
  overflow: hidden;
}

.score-bar {
  height: 100%;
  border-radius: 6px;
  transition: width .5s var(--ease);
}

.score-bar.bon    { background: var(--green) }
.score-bar.moyen  { background: var(--orange) }
.score-bar.mauvais { background: var(--red) }

/* ── Decision buttons ────────────────────────────────────── */
.decision-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: var(--radius);
  font-family: var(--font-display);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all var(--t-base) var(--ease);
}

.decision-accept {
  background: var(--green-dim);
  border-color: rgba(34,197,94,.2);
  color: var(--green);
}

.decision-accept:hover, .decision-accept.active {
  background: var(--green);
  border-color: var(--green);
  color: #000;
  box-shadow: 0 0 16px rgba(34,197,94,.3);
}

.decision-refuse {
  background: var(--red-dim);
  border-color: rgba(239,68,68,.2);
  color: var(--red);
}

.decision-refuse:hover, .decision-refuse.active {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
  box-shadow: 0 0 16px rgba(239,68,68,.3);
}

/* ── Animations ──────────────────────────────────────────── */
@keyframes fade-up {
  from { opacity: 0; transform: translateY(16px) }
  to   { opacity: 1; transform: translateY(0) }
}

@keyframes fade-in {
  from { opacity: 0 }
  to   { opacity: 1 }
}

@keyframes slide-right {
  from { opacity: 0; transform: translateX(-12px) }
  to   { opacity: 1; transform: translateX(0) }
}

/* Staggered children */
.stagger > * { animation: fade-up .45s var(--ease) both }
.stagger > *:nth-child(1) { animation-delay: .05s }
.stagger > *:nth-child(2) { animation-delay: .10s }
.stagger > *:nth-child(3) { animation-delay: .15s }
.stagger > *:nth-child(4) { animation-delay: .20s }
.stagger > *:nth-child(5) { animation-delay: .25s }
.stagger > *:nth-child(6) { animation-delay: .30s }

/* ── Candidate note header (detail) ──────────────────────── */
.note-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  margin-bottom: 20px;
}

.note-day {
  font-family: var(--font-display);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--fg-dim);
}

.note-day strong {
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
  font-family: var(--font-display);
}

/* ── Login page ──────────────────────────────────────────── */
.login-wrap {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  position: relative;
  z-index: 1;
}

.login-card {
  width: 100%;
  max-width: 420px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  animation: fade-up .6s var(--ease) both;
  position: relative;
}

.login-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.login-header {
  padding: 32px 32px 24px;
  text-align: center;
  border-bottom: 1px solid var(--border);
}

.login-logo {
  width: 70px; height: 70px;
  object-fit: contain;
  filter: drop-shadow(0 0 12px rgba(201,168,76,.5));
  margin-bottom: 16px;
  animation: logo-pulse 4s ease-in-out infinite;
}

.login-district {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 4px;
}

.login-title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--fg);
  line-height: 1;
}

.login-subtitle {
  font-size: .78rem;
  color: var(--fg-dim);
  margin-top: 6px;
}

.login-body { padding: 28px 32px }
.login-footer { padding: 16px 32px 24px }

/* ── Dashboard specific ──────────────────────────────────── */
.dashboard-page { max-width:1720px; padding-left:clamp(18px,3vw,52px); padding-right:clamp(18px,3vw,52px) }
.dash-shell { display:flex; flex-direction:column; gap:22px }
.mr-gallery { margin:8px 0 2px; padding:26px; border:1px solid rgba(87,108,137,.28); border-radius:22px; background:linear-gradient(145deg,rgba(15,20,29,.76),rgba(8,11,16,.82)); backdrop-filter:blur(12px) saturate(120%); overflow:hidden; box-shadow:0 24px 70px rgba(0,0,0,.22) }
.mr-gallery-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:21px; padding:0 3px }
.mr-gallery-heading span { color:var(--gold); font-family:'Poppins',sans-serif; font-size:.58rem; font-weight:600; letter-spacing:.24em }
.mr-gallery-heading h2 { margin:4px 0 0; font-family:'Poppins',sans-serif; font-size:1.35rem; font-weight:600; letter-spacing:.015em }
.mr-gallery-heading p { max-width:390px; color:var(--fg-dim); font-size:.7rem; line-height:1.65; text-align:right }
.mr-gallery-stage { position:relative; height:clamp(360px,45vw,650px); border-radius:17px; overflow:hidden; background:#05070a; perspective:1200px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 18px 45px rgba(0,0,0,.3) }
.mr-gallery-stage::after { content:''; position:absolute; inset:0; pointer-events:none; z-index:4; box-shadow:inset 0 0 80px rgba(0,0,0,.45); border-radius:inherit }
.mr-gallery-slide { position:absolute; inset:0; opacity:0; visibility:hidden; transform:scale(1.035); transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.2s cubic-bezier(.2,.7,.2,1),visibility .9s; cursor:pointer; transform-style:preserve-3d }
.mr-gallery-slide.is-active { opacity:1; visibility:visible; transform:scale(1); z-index:2 }
.mr-gallery-card { width:100%; height:100%; position:relative; overflow:hidden; transform-style:preserve-3d; transition:transform .18s ease-out; will-change:transform }
.mr-gallery-card::before { content:''; position:absolute; inset:0; z-index:2; background:linear-gradient(90deg,rgba(4,6,9,.34),transparent 38%,transparent 72%,rgba(4,6,9,.2)),linear-gradient(0deg,rgba(4,6,9,.48),transparent 35%); pointer-events:none }
.mr-gallery-card img { width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.015); transition:transform 7s linear; user-select:none }
.mr-gallery:not(.is-paused) .mr-gallery-slide.is-active img { transform:scale(1.085) }
.mr-gallery-shine { position:absolute; z-index:3; inset:-45%; opacity:0; pointer-events:none; background:radial-gradient(circle,rgba(255,255,255,.16),transparent 37%); transition:opacity .2s,transform .12s }
.mr-gallery.is-paused .mr-gallery-slide.is-active .mr-gallery-shine { opacity:.6 }
.mr-gallery-overlay { position:absolute; left:24px; right:24px; bottom:20px; z-index:6; display:flex; align-items:center; justify-content:space-between; pointer-events:none }
.mr-gallery-count { font-family:'Poppins',sans-serif; color:rgba(255,255,255,.55); font-size:.58rem; letter-spacing:.15em }.mr-gallery-count strong { color:#fff; font-size:.9rem; font-weight:500 }
.mr-gallery-state { padding:7px 11px; border:1px solid rgba(255,255,255,.13); border-radius:20px; background:rgba(5,7,10,.48); backdrop-filter:blur(10px); color:rgba(255,255,255,.7); font-size:.58rem; letter-spacing:.04em }
.mr-gallery-arrow { position:absolute; z-index:7; top:50%; width:42px; height:58px; margin-top:-29px; border:1px solid rgba(255,255,255,.14); border-radius:11px; background:rgba(5,7,10,.42); backdrop-filter:blur(10px); color:#fff; font-family:'Poppins',sans-serif; font-size:1.45rem; cursor:pointer; opacity:.55; transition:opacity .2s,background .2s,transform .2s }
.mr-gallery-arrow:hover { opacity:1; background:rgba(201,168,76,.2); transform:scale(1.04) }.mr-gallery-prev { left:18px }.mr-gallery-next { right:18px }
.mr-gallery-controls { min-height:36px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 3px 0 }
.mr-gallery-toggle { display:flex; align-items:center; gap:8px; padding:0; border:0; background:none; color:var(--fg-muted); font-family:'Poppins',sans-serif; font-size:.62rem; cursor:pointer }.mr-gallery-toggle span { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 10px var(--green) }.mr-gallery.is-paused .mr-gallery-toggle span { background:var(--gold); box-shadow:0 0 10px var(--gold) }
.mr-gallery-dots { display:flex; align-items:center; gap:7px }.mr-gallery-dots button { width:19px; height:3px; padding:0; border:0; border-radius:3px; background:var(--border-2); cursor:pointer; transition:width .25s,background .25s }.mr-gallery-dots button.is-active { width:38px; background:var(--gold) }
.mr-gallery-empty { height:100%; display:flex; align-items:center; justify-content:center; color:var(--fg-dim); font-size:.75rem }.mr-gallery-empty strong { color:var(--fg-muted); margin-left:4px }
.mr-gallery-stage { height:clamp(330px,32vw,480px); perspective:900px; background:linear-gradient(#0b1017 0 20%,#15181d 52%,#090b0e 100%) }
.mr-gallery-stage::before { content:''; position:absolute; left:50%; bottom:-22%; width:130%; height:105%; transform:translateX(-50%) perspective(600px) rotateX(58deg); transform-origin:bottom; background:linear-gradient(90deg,#080a0d,#191d22 13%,#22262b 50%,#191d22 87%,#080a0d); border-top:1px solid rgba(201,168,76,.14); z-index:0 }
.mr-road-lines { position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; opacity:.5 }.mr-road-lines i { position:absolute; bottom:-15%; width:4px; height:92%; background:repeating-linear-gradient(to top,rgba(201,168,76,.75) 0 35px,transparent 35px 70px); transform:perspective(500px) rotateX(58deg); transform-origin:bottom }.mr-road-lines i:nth-child(1){left:16%}.mr-road-lines i:nth-child(2){left:50%}.mr-road-lines i:nth-child(3){right:16%}
.mr-road-track { position:absolute; left:0; top:50%; z-index:3; display:flex; align-items:center; gap:16px; width:max-content; padding:0 8px; transform:translateY(-50%); animation:mr-road-scroll 58s linear infinite; will-change:transform }
.mr-road-track.is-paused,.mr-road-track:hover { animation-play-state:paused }
@keyframes mr-road-scroll { from{transform:translate3d(0,-50%,0)} to{transform:translate3d(calc(-50% - 8px),-50%,0)} }
.mr-road-card { width:clamp(270px,27vw,390px); height:clamp(205px,21vw,290px); flex:0 0 auto; position:relative; padding:8px; border:1px solid rgba(255,255,255,.09); border-radius:17px; background:linear-gradient(145deg,#1a2029,#090c11); box-shadow:0 22px 42px rgba(0,0,0,.38); cursor:pointer; transform:perspective(850px) rotateY(-2deg) translateZ(0); transition:transform .32s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .25s; overflow:visible }
.mr-road-card:nth-child(even) { transform:perspective(850px) rotateY(2deg) translateY(13px) }.mr-road-card:hover { z-index:5; transform:perspective(850px) rotateY(0) translateY(-9px) scale(1.035); border-color:rgba(201,168,76,.5); box-shadow:0 30px 65px rgba(0,0,0,.55),0 0 28px rgba(201,168,76,.1) }
.mr-road-frame { width:100%; height:100%; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:11px; background:#05070a }.mr-road-frame img { width:100%; height:100%; object-fit:contain; display:block; user-select:none }
.mr-road-card small { position:absolute; left:18px; bottom:16px; padding:5px 8px; border-radius:7px; background:rgba(4,6,9,.72); backdrop-filter:blur(8px); color:#fff; font-family:'Poppins',sans-serif; font-size:.55rem; letter-spacing:.12em }
.mr-road-caption { position:absolute; z-index:6; left:50%; bottom:17px; transform:translateX(-50%); display:flex; align-items:center; gap:8px; padding:7px 12px; border:1px solid rgba(255,255,255,.09); border-radius:20px; background:rgba(5,7,10,.62); backdrop-filter:blur(10px); color:rgba(255,255,255,.62); font-family:'Poppins',sans-serif; font-size:.56rem; white-space:nowrap }.mr-road-caption span { width:6px; height:6px; border-radius:50%; background:var(--gold); box-shadow:0 0 9px var(--gold) }
.mr-viewer { position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center; padding:38px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .28s,visibility .28s; perspective:1400px }.mr-viewer.is-open { opacity:1; visibility:visible; pointer-events:auto }
.mr-viewer-backdrop { position:absolute; inset:0; background:rgba(2,4,7,.9); backdrop-filter:blur(18px) saturate(.75) }
.mr-viewer-dialog { position:relative; z-index:1; width:min(1180px,91vw); display:flex; flex-direction:column; align-items:center; transform:translateY(18px) scale(.96); transition:transform .35s cubic-bezier(.2,.8,.2,1) }.mr-viewer.is-open .mr-viewer-dialog { transform:none }
.mr-viewer-card { position:relative; width:100%; height:min(76vh,760px); display:flex; align-items:center; justify-content:center; padding:14px; border:1px solid rgba(255,255,255,.14); border-radius:21px; background:linear-gradient(145deg,#151b24,#06080c); box-shadow:0 45px 110px rgba(0,0,0,.72),0 0 0 1px rgba(201,168,76,.06); overflow:hidden; transform-style:preserve-3d; transition:transform .15s ease-out; will-change:transform }
.mr-viewer-card::before { content:''; position:absolute; inset:0; z-index:2; pointer-events:none; border-radius:inherit; box-shadow:inset 0 0 80px rgba(0,0,0,.28) }.mr-viewer-card img { position:relative; z-index:1; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border-radius:12px; transform:translateZ(18px); box-shadow:0 22px 55px rgba(0,0,0,.4) }
.mr-viewer-shine { position:absolute; inset:-45%; z-index:3; pointer-events:none; opacity:.5; background:radial-gradient(circle,rgba(255,255,255,.17),transparent 35%); transition:transform .1s }
.mr-viewer-close { position:absolute; z-index:5; top:-17px; right:-17px; width:46px; height:46px; display:flex; align-items:center; justify-content:center; padding:0 0 3px; border:1px solid rgba(255,255,255,.32); border-radius:50%; background:rgba(8,10,14,.92); color:#fff; font-family:'Poppins',sans-serif; font-size:1.65rem; font-weight:300; cursor:pointer; box-shadow:0 12px 32px rgba(0,0,0,.5); transition:transform .2s,background .2s }.mr-viewer-close:hover { transform:rotate(90deg) scale(1.06); background:var(--gold); color:#080a0e }
.mr-viewer-dialog>p { margin-top:16px; color:rgba(255,255,255,.55); font-family:'Poppins',sans-serif; font-size:.65rem; letter-spacing:.04em }.mr-viewer-open { overflow:hidden }
.dash-hero {
  min-height:330px; position:relative; overflow:hidden; display:flex; align-items:center;
  justify-content:space-between; gap:32px; padding:clamp(34px,5vw,74px);
  border:1px solid rgba(201,168,76,.24); border-radius:22px;
  background:linear-gradient(120deg,rgba(15,18,24,.78),rgba(19,22,29,.73) 55%,rgba(35,29,18,.7));
  backdrop-filter:blur(12px) saturate(120%);
  box-shadow:0 28px 80px rgba(0,0,0,.28);
}
.dash-hero::before { content:''; position:absolute; inset:-20%; opacity:.7; background:radial-gradient(ellipse 38% 55% at 76% 22%,rgba(201,168,76,.12),transparent 70%),radial-gradient(ellipse 45% 50% at 18% 90%,rgba(42,88,143,.1),transparent 72%); filter:blur(12px); pointer-events:none }
.dash-hero::after { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:linear-gradient(var(--gold),transparent) }
.dash-hero-glow { position:absolute; width:500px; height:500px; right:-150px; top:-230px; border-radius:50%; background:radial-gradient(circle,rgba(201,168,76,.25),transparent 67%) }
.dash-hero-copy,.dash-hero-side { position:relative; z-index:1 }
.dash-kicker { color:var(--gold); font-family:var(--font-mono); font-size:.68rem; letter-spacing:.24em; font-weight:700 }
.dash-hero h1 { margin:18px 0 10px; font-family:var(--font-display); font-size:clamp(2.7rem,5vw,5.7rem); line-height:.9; letter-spacing:-.025em; text-transform:uppercase; color:var(--fg) }
.dash-hero h1 em { color:var(--gold); font-style:normal }
.dash-hero-copy>p { margin:0; font-size:clamp(.95rem,1.35vw,1.25rem); color:var(--fg-muted); letter-spacing:.01em }
.dash-hero-copy>p strong { color:var(--fg); font-weight:600 }
.dash-hero-actions { display:flex; gap:10px; margin-top:30px }
.dash-hero-side { display:flex; align-items:center; gap:24px; padding-left:34px; border-left:1px solid var(--border-2) }
.dash-hero-side img { width:clamp(100px,11vw,165px); filter:drop-shadow(0 18px 28px rgba(0,0,0,.45)) }
.dash-hero-side div { display:flex; flex-direction:column }
.dash-hero-side strong { font-family:var(--font-mono); font-size:2rem; color:var(--fg) }
.dash-hero-side span { margin-top:4px; color:var(--fg-dim); font-size:.75rem; text-transform:capitalize; white-space:nowrap }
.dash-overview { display:grid; grid-template-columns:repeat(3,1fr); gap:16px }
.dash-metric { min-height:132px; display:flex; align-items:center; gap:18px; padding:24px; border-radius:16px; background:rgba(11,16,24,.74); backdrop-filter:blur(11px) saturate(115%); border:1px solid rgba(73,94,123,.3); position:relative; overflow:hidden }
.dash-metric::after { content:''; position:absolute; left:0; top:22px; bottom:22px; width:2px; background:var(--gold) }
.dash-metric-blue::after { background:var(--blue) }.dash-metric-green::after { background:var(--green) }
.dash-metric-icon { width:52px; height:52px; flex:0 0 52px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:var(--gold-dim); color:var(--gold); font-family:var(--font-display); font-weight:800 }
.dash-metric-blue .dash-metric-icon { background:rgba(66,153,225,.12); color:var(--blue) }
.dash-metric-green .dash-metric-icon { background:var(--green); width:14px; height:14px; flex-basis:14px; margin:19px; box-shadow:0 0 0 8px rgba(72,187,120,.1),0 0 25px var(--green) }
.dash-metric>div { min-width:0; display:flex; flex-direction:column }
.dash-metric small,.dash-command-role small { color:var(--fg-dim); text-transform:uppercase; letter-spacing:.13em; font-size:.62rem; font-weight:700 }
.dash-metric strong { color:var(--fg); font-family:var(--font-display); font-size:2.25rem; line-height:1.05; margin:5px 0 }
.dash-metric strong.dash-metric-date { font-size:clamp(1rem,1.4vw,1.3rem); text-transform:capitalize; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.dash-metric>div>span { color:var(--fg-dim); font-size:.72rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.dash-main-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:18px }
.dash-panel { border:1px solid rgba(73,94,123,.3); border-radius:18px; background:linear-gradient(145deg,rgba(15,21,32,.75),rgba(8,12,18,.8)); backdrop-filter:blur(12px) saturate(115%); overflow:hidden }
.dash-panel>header { display:flex; align-items:center; justify-content:space-between; padding:23px 25px 18px; border-bottom:1px solid var(--border) }
.dash-section-label { color:var(--gold); font-family:var(--font-mono); font-size:.58rem; letter-spacing:.2em }
.dash-panel h2 { margin:5px 0 0; font-family:var(--font-display); font-size:1.2rem; text-transform:uppercase; letter-spacing:.045em }
.dash-panel-mark { font-family:var(--font-display); font-weight:800; letter-spacing:.15em; color:var(--fg-dim); opacity:.35 }
.dash-command-grid { display:grid; grid-template-columns:1fr 1fr }
.dash-command-role { display:grid; grid-template-columns:44px 1fr; gap:12px; min-height:150px; padding:26px; border-right:1px solid var(--border) }
.dash-command-role:last-child { border-right:0 }
.dash-role-number { font-family:var(--font-mono); color:var(--gold); opacity:.65 }
.dash-people { display:flex; flex-wrap:wrap; gap:8px; margin-top:15px }
.dash-person { padding:9px 11px; border-radius:9px; background:rgba(255,255,255,.025); border:1px solid var(--border); display:flex; flex-direction:column }
.dash-person strong { color:var(--fg); font-family:var(--font-mono); font-size:.8rem }.dash-person small { margin-top:3px; letter-spacing:0; text-transform:none; font-size:.66rem }
.dash-empty-value { color:var(--fg-dim); font-size:.8rem; padding-top:9px }
.dash-next-content { min-height:150px; padding:25px; display:flex; align-items:center; gap:18px; color:inherit; text-decoration:none; transition:background var(--t-base) }
.dash-next-content:hover { background:rgba(201,168,76,.035) }
.dash-date-block { width:68px; height:76px; flex:0 0 68px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(201,168,76,.35); border-radius:12px; background:var(--gold-dim) }
.dash-date-block strong { font-family:var(--font-display); font-size:2rem; color:var(--gold); line-height:1 }.dash-date-block span { margin-top:4px; color:var(--fg-muted); text-transform:uppercase; font-size:.62rem }
.dash-next-content h3 { margin:0 0 7px; font-size:1rem }.dash-next-content p,.dash-next-content div>span { margin:0; color:var(--fg-dim); font-size:.72rem; text-transform:capitalize }.dash-next-content div>span { display:block; margin-top:7px }
.dash-arrow { margin-left:auto; color:var(--gold); font-size:1.5rem }.dash-no-session { min-height:150px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:7px; color:var(--fg-muted) }.dash-no-session span { color:var(--fg-dim); font-size:.75rem }
.dash-quick-grid { display:grid; grid-template-columns:1fr 1fr; padding:12px }
.dash-quick-grid>a { display:flex; align-items:center; gap:13px; padding:16px; color:inherit; text-decoration:none; border-radius:11px; transition:background var(--t-base) }.dash-quick-grid>a:hover { background:var(--gold-dim) }
.dash-quick-grid>a>span { font-family:var(--font-mono); color:var(--gold); font-size:.66rem }.dash-quick-grid>a div { display:flex; flex-direction:column }.dash-quick-grid strong { font-size:.8rem }.dash-quick-grid small { color:var(--fg-dim); font-size:.67rem; margin-top:3px }.dash-quick-grid b { margin-left:auto; color:var(--fg-dim) }
.dash-live-badge { color:var(--green); background:rgba(72,187,120,.1); border:1px solid rgba(72,187,120,.18); border-radius:20px; padding:5px 9px; font-size:.62rem }
.dash-activity-list>a { display:flex; align-items:center; gap:12px; min-height:66px; padding:12px 24px; color:inherit; text-decoration:none; border-bottom:1px solid var(--border); transition:background var(--t-base) }.dash-activity-list>a:last-child { border-bottom:0 }.dash-activity-list>a:hover { background:rgba(255,255,255,.02) }
.dash-activity-dot { width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 10px rgba(201,168,76,.45) }.dash-activity-list>a div { display:flex; flex-direction:column; min-width:0 }.dash-activity-list strong { font-size:.78rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }.dash-activity-list small { color:var(--fg-dim); font-size:.65rem; margin-top:4px; text-transform:capitalize }
.dash-status { margin-left:auto; padding:4px 7px; border-radius:5px; color:var(--fg-muted); background:rgba(255,255,255,.04); font-size:.58rem; text-transform:uppercase }.dash-status-en_cours { color:var(--blue); background:rgba(66,153,225,.1) }.dash-status-terminee { color:var(--green); background:rgba(72,187,120,.1) }
.dash-no-activity { padding:45px; text-align:center; color:var(--fg-dim); font-size:.78rem }
.dash-organization { grid-column:1/-1 }
.dash-org-chart { position:relative; min-height:500px; padding:34px clamp(18px,4vw,58px) 42px; display:flex; flex-direction:column; align-items:center; overflow:hidden }
.dash-org-watermark { position:absolute; z-index:0; left:50%; top:50%; width:min(430px,46vw); max-height:76%; object-fit:contain; transform:translate(-50%,-50%); opacity:.055; filter:grayscale(1) drop-shadow(0 0 45px rgba(201,168,76,.25)); pointer-events:none }
.dash-org-group { position:relative; z-index:1; width:100%; display:flex; flex-direction:column; align-items:center }.dash-org-group h3 { margin-bottom:12px; color:var(--gold); font-family:'Poppins',sans-serif; font-size:.58rem; font-weight:600; letter-spacing:.17em; text-transform:uppercase }
.dash-org-members { display:flex; flex-wrap:wrap; justify-content:center; gap:13px }
.dash-org-member { width:178px; min-height:116px; padding:15px 12px 13px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(84,107,138,.3); border-radius:14px; background:rgba(8,12,18,.68); backdrop-filter:blur(9px); box-shadow:0 12px 28px rgba(0,0,0,.2); transition:transform .22s,border-color .22s,box-shadow .22s }.dash-org-member:hover { transform:translateY(-4px); border-color:rgba(201,168,76,.45); box-shadow:0 18px 38px rgba(0,0,0,.3),0 0 20px rgba(201,168,76,.06) }.dash-org-member.is-featured { width:205px; border-color:rgba(201,168,76,.3); background:linear-gradient(145deg,rgba(31,27,18,.72),rgba(8,12,18,.72)) }
.dash-org-avatar { width:58px; height:58px; margin-bottom:10px; display:flex; align-items:center; justify-content:center; overflow:hidden; border:2px solid rgba(201,168,76,.48); border-radius:50%; background:linear-gradient(135deg,var(--gold),#66501f); box-shadow:0 0 0 5px rgba(201,168,76,.035) }.dash-org-member.is-featured .dash-org-avatar { width:68px; height:68px }.dash-org-avatar img { width:100%; height:100%; object-fit:cover }.dash-org-avatar span { color:#080a0e; font-size:.72rem; font-weight:700 }.dash-org-member strong { max-width:100%; color:var(--fg); font-family:'Poppins',sans-serif; font-size:.61rem; font-weight:500; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }.dash-org-member.is-empty { opacity:.45; border-style:dashed }.dash-org-member.is-empty .dash-org-avatar { background:rgba(255,255,255,.025); border-color:var(--fg-dim) }.dash-org-member.is-empty .dash-org-avatar span { color:var(--fg-dim); font-size:1rem }.dash-org-member.is-empty strong { color:var(--fg-dim) }
.dash-org-connector { position:relative; z-index:1; width:1px; height:30px; margin:5px 0; background:linear-gradient(var(--gold),rgba(201,168,76,.16)) }.dash-org-connector::after { content:''; position:absolute; bottom:-2px; left:-3px; width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 10px var(--gold) }
.dash-org-duo { position:relative; z-index:1; width:100%; display:grid; grid-template-columns:1fr 1fr; gap:35px }.dash-org-duo::before { content:''; position:absolute; left:25%; right:25%; top:-18px; height:1px; background:rgba(201,168,76,.35) }
.welcome-hero {
  position: relative;
  padding: 40px 40px 36px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: 32px;
  animation: fade-up .5s var(--ease) both;
}

.welcome-hero::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--blue), var(--gold));
  background-size: 200% 100%;
  animation: shimmer 3s linear infinite;
}

@keyframes shimmer {
  0%   { background-position: 200% 0 }
  100% { background-position: -200% 0 }
}

.welcome-hero::after {
  content: '';
  position: absolute;
  right: -30px; top: -30px;
  width: 220px; height: 220px;
  background: radial-gradient(circle, var(--gold-dim) 0%, transparent 70%);
  pointer-events: none;
}

.welcome-label {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.welcome-label::before {
  content: '';
  display: block;
  width: 20px; height: 2px;
  background: var(--gold);
}

.welcome-title {
  font-family: var(--font-display);
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--fg);
  line-height: 1;
  margin-bottom: 8px;
}

.welcome-title span { color: var(--gold) }

.welcome-sub {
  font-size: .9rem;
  color: var(--fg-muted);
  max-width: 520px;
  line-height: 1.6;
  margin-bottom: 24px;
}

.welcome-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.quick-link-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 28px;
}

.quick-link {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  text-decoration: none;
  color: var(--fg-muted);
  transition: all var(--t-base) var(--ease);
  position: relative;
  overflow: hidden;
  animation: fade-up .5s var(--ease) both;
}

.quick-link::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--t-base) var(--ease);
}

.quick-link:hover {
  border-color: var(--gold);
  color: var(--fg);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.3);
}

.quick-link:hover::before { transform: scaleX(1) }

.quick-link-icon {
  width: 40px; height: 40px;
  border-radius: var(--radius);
  background: var(--gold-dim);
  border: 1px solid rgba(201,168,76,.15);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all var(--t-base) var(--ease);
}

.quick-link:hover .quick-link-icon {
  background: var(--gold);
  border-color: var(--gold);
}

.quick-link:hover .quick-link-icon svg { color: #000 }

.quick-link-icon svg { width: 18px; height: 18px; color: var(--gold); }

.quick-link-label {
  font-family: var(--font-display);
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: inherit;
  line-height: 1.2;
}

.quick-link-desc {
  font-size: .75rem;
  color: var(--fg-dim);
  margin-top: 3px;
}

/* ── Scrollbar ───────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px }
::-webkit-scrollbar-track { background: transparent }
::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 6px }
::-webkit-scrollbar-thumb:hover { background: var(--fg-dim) }

/* ── Utilities ───────────────────────────────────────────── */
.flex { display: flex }
.items-center { align-items: center }
.justify-between { justify-content: space-between }
.gap-2 { gap: 8px }
.gap-3 { gap: 12px }
.gap-4 { gap: 16px }
.mt-2 { margin-top: 8px }
.mt-4 { margin-top: 16px }
.mt-6 { margin-top: 24px }
.mb-4 { margin-bottom: 16px }
.mb-6 { margin-bottom: 24px }
.p-4 { padding: 16px }
.p-5 { padding: 20px }
.w-full { width: 100% }
.text-center { text-align: center }
.hidden { display: none }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 768px) {
  .page-wrap { padding-left: 16px; padding-right: 16px; }
  .topbar-shortcuts { display:none }
  .topbar-status { display:none }
  .topbar-text { display:none }
  .topbar-title span { font-size:.54rem; letter-spacing:.24em }
  .topbar-title strong { font-size:1rem; letter-spacing:.13em }
  .agent-badge { display:none }
  .dash-hero { min-height:0; padding:34px 25px }
  .mr-gallery { padding:16px; border-radius:17px }
  .mr-gallery-heading { align-items:flex-start; flex-direction:column; gap:7px }
  .mr-gallery-heading p { text-align:left }
  .mr-gallery-stage { height:58vw; min-height:285px }
  .mr-road-track { animation-duration:48s }
  .mr-road-card { width:290px; height:220px }
  .mr-viewer { padding:20px }.mr-viewer-card { height:70vh; padding:8px }.mr-viewer-close { top:-14px; right:-8px }
  .dash-hero-side { display:none }
  .dash-overview,.dash-main-grid { grid-template-columns:1fr }
  .dash-command-grid { grid-template-columns:1fr }
  .dash-org-duo { grid-template-columns:1fr; gap:25px }.dash-org-duo::before { display:none }
  .dash-org-member { width:145px }.dash-org-member.is-featured { width:175px }
  .dash-command-role { border-right:0; border-bottom:1px solid var(--border) }
  .dash-command-role:last-child { border-bottom:0 }
  .dash-quick-grid { grid-template-columns:1fr }
  .welcome-title { font-size: 1.8rem }
  .form-grid { grid-template-columns: 1fr }
  .score-row { grid-template-columns: 140px 1fr auto }
  .stat-grid { grid-template-columns: repeat(2, 1fr) }
  .topbar { padding: 0 16px }
  .nav-panel { width:calc(100vw - 28px); max-width:440px }
  .welcome-hero { padding: 24px }
}

@media (max-width: 480px) {
  .topbar-title { left:46% }
  .topbar-title span { font-size:.47rem; letter-spacing:.16em }
  .topbar-title strong { font-size:.86rem; letter-spacing:.08em }
  .topbar-title::after { margin-top:4px }
  .admin-page .page-header { align-items:flex-start; flex-direction:column; gap:18px }
  .admin-page .admin-tabs { gap:5px; padding:5px }
  .admin-page .admin-tab { padding:12px 7px; gap:6px; font-size:.61rem }
  .admin-page .admin-tab span { display:none }
  .dash-hero h1 { font-size:2.35rem }
  .mr-gallery-heading p,.mr-gallery-state { display:none }
  .mr-gallery-stage { min-height:240px }
  .mr-road-card { width:250px; height:190px }
  .mr-viewer { padding:13px }.mr-viewer-card { height:62vh }.mr-viewer-dialog>p { text-align:center }
  .mr-gallery-arrow { width:34px; height:46px; margin-top:-23px }
  .mr-gallery-controls { flex-direction:column; align-items:flex-start }
  .dash-kicker { font-size:.55rem; letter-spacing:.14em }
  .dash-hero-actions { flex-direction:column }
  .dash-hero-actions .btn { justify-content:center }
  .dash-metric { min-height:112px; padding:19px }
  .dash-next-content { padding:18px }
  .dash-status { display:none }
  .dash-org-chart { padding-left:10px; padding-right:10px }.dash-org-members { gap:8px }.dash-org-member { width:132px; min-height:106px }.dash-org-member.is-featured { width:160px }
  .stat-grid { grid-template-columns: 1fr }
  .quick-link-grid { grid-template-columns: 1fr }
  .score-row { grid-template-columns: 1fr }
  .score-row-label { margin-bottom: 4px }
}

/* ══════════════════════════════════════════════════════════
   Classes complémentaires (settings, onboarding, titres)
   ══════════════════════════════════════════════════════════ */
.section-title {
  font-family: var(--font-display);
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: .03em;
  color: var(--fg);
  line-height: 1.05;
}
.section-sub {
  font-size: .88rem;
  color: var(--fg-muted);
  margin-top: 6px;
}

/* Aperçu photo / avatar */
.photo-preview-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.photo-preview {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--border);
  background: var(--bg-2);
}
.photo-preview-placeholder {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 2px dashed var(--border);
  background: var(--bg-2);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: var(--fg-dim);
  cursor: pointer;
  transition: border-color .15s, color .15s;
}
.photo-preview-placeholder:hover {
  border-color: var(--gold);
  color: var(--gold);
}

/* Boutons de choix de thème */
.theme-choice-btn {
  background: var(--bg-2);
  border: 1px solid var(--border);
  color: var(--fg-muted);
  width: 100%;
  justify-content: flex-start;
  transition: border-color .15s, color .15s, background .15s;
}
.theme-choice-btn:hover {
  border-color: var(--gold);
  color: var(--fg);
}
.theme-choice-btn.active {
  border-color: var(--gold);
  color: var(--gold);
  background: var(--bg-3);
}

/* Animation d'entrée */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
.fade-up { animation: fadeUp .35s ease both; }

/* ── Page header left group ── */
.page-header-left { display: flex; flex-direction: column; }

/* ── Onglets Administration ── */
.admin-tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--border);
}
.admin-tab {
  padding: 10px 20px;
  font-family: var(--font-display);
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--fg-muted);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color .15s, border-color .15s;
}
.admin-tab:hover { color: var(--fg); }
.admin-tab.active { color: var(--gold); border-bottom-color: var(--gold); }

/* ══════════════════════════════════════════════════════════
   ADMIN v2 — pages plus grandes, animations
   ══════════════════════════════════════════════════════════ */
.admin-page { animation: fade-up .4s var(--ease) both; }

/* Administration : beaucoup d'espace, typographie volontairement compacte. */
.admin-layout { max-width:1600px; padding-left:clamp(22px,4vw,64px); padding-right:clamp(22px,4vw,64px) }
.admin-page .page-header { margin-bottom: 34px; align-items: center; padding:16px 2px 0; }
.admin-page .page-eyebrow { font-size: .58rem; letter-spacing: .3em; margin-bottom: 11px; }
.admin-page .page-title { font-size: 2.2rem; letter-spacing: .035em; }
.admin-page .page-subtitle { font-size: .76rem; margin-top: 9px; }

/* Onglets agrandis */
.admin-page .admin-tabs { gap: 10px; margin-bottom: 36px; padding:8px; border:1px solid var(--border); background:rgba(255,255,255,.012); border-radius:14px; }
.admin-page .admin-tab {
  flex:1; display:flex; align-items:center; justify-content:center; gap:12px;
  padding: 14px 24px;
  font-size: .72rem;
  letter-spacing: .1em;
  border:1px solid transparent;
  border-radius: 9px;
  margin:0;
}
.admin-page .admin-tab span { color:var(--fg-dim); font-family:var(--font-mono); font-size:.58rem }
.admin-page .admin-tab:hover { background: var(--bg-2); border-color:var(--border); }
.admin-page .admin-tab.active { background: var(--gold-dim); border-color:rgba(201,168,76,.22); box-shadow:inset 3px 0 0 var(--gold); }
.admin-page .admin-tab.active span { color:var(--gold) }

/* Tables admin plus aérées + grandes */
.admin-page table { font-size: .76rem; }
.admin-page thead th {
  font-size: .58rem;
  letter-spacing: .17em;
  padding: 20px 22px;
}
.admin-page tbody td { padding: 21px 22px; }
.admin-page tbody tr { transition: background .18s ease; }
.admin-page .card { border-radius: 16px; overflow:hidden }
.admin-page .btn { font-size:.68rem }
.admin-page .form-control { font-size:.74rem !important }

/* Boutons animés (global, léger) */
.btn { transition: background .18s ease, border-color .18s ease, color .18s ease, transform .12s ease, box-shadow .18s ease; }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0) scale(.98); }
.btn-primary:hover { box-shadow: 0 6px 20px rgba(201,168,76,.28); }

/* Selects / inputs animés */
.form-control { transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.form-control:hover { border-color: var(--fg-dim); }
.form-control:focus { box-shadow: 0 0 0 3px rgba(201,168,76,.15); }
select.form-control { cursor: pointer; }

/* Icon-boutons d'action animés */
.icon-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 9px;
  background: var(--bg-2); border: 1px solid var(--border);
  color: var(--fg-muted); cursor: pointer;
  transition: all .16s ease;
}
.icon-btn:hover { transform: translateY(-2px); border-color: var(--gold); color: var(--gold); }
.icon-btn:active { transform: translateY(0) scale(.94); }
.icon-btn.danger:hover { border-color: var(--red); color: var(--red); }

/* Modal animé */
.modal-overlay .modal {
  transform: translateY(16px) scale(.97);
  opacity: 0;
  transition: transform .25s cubic-bezier(.2,.8,.2,1), opacity .2s ease;
}
.modal-overlay.open .modal { transform: translateY(0) scale(1); opacity: 1; }

/* Interrupteur animé (permissions) */
.switch { position: relative; display: inline-block; width: 50px; height: 28px; cursor: pointer; }
.switch input { opacity: 0; width: 0; height: 0; }
.switch .slider {
  position: absolute; inset: 0;
  background: var(--bg-3); border: 1px solid var(--border);
  border-radius: 28px; transition: background .22s ease, border-color .22s ease;
}
.switch .slider::before {
  content: ""; position: absolute; height: 20px; width: 20px;
  left: 3px; top: 3px; background: var(--fg-dim); border-radius: 50%;
  transition: transform .22s cubic-bezier(.2,.8,.2,1), background .22s ease;
}
.switch input:checked + .slider { background: rgba(201,168,76,.22); border-color: var(--gold); }
.switch input:checked + .slider::before { transform: translateX(22px); background: var(--gold); }
.switch input:disabled + .slider { opacity: .5; cursor: not-allowed; }

/* Panneau détail membre */
.member-detail {
  background: var(--bg-1);
  border-top: 1px solid var(--border);
  padding: 20px 24px;
  animation: fade-up .3s ease both;
}
.member-detail-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px; margin-bottom: 18px;
}
.member-stat {
  background: var(--bg-2); border: 1px solid var(--border);
  border-radius: 10px; padding: 14px 16px;
}
.member-stat-label { font-size: .68rem; text-transform: uppercase; letter-spacing: .14em; color: var(--fg-dim); margin-bottom: 6px; }
.member-stat-value { font-size: 1.05rem; font-weight: 600; color: var(--fg); }
.member-log-row {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 0; border-bottom: 1px solid var(--border);
  font-size: .85rem;
}
.member-log-row:last-child { border-bottom: none; }

/* Permissions v2 — plus grand */
.admin-page .switch { transform: scale(.88); }
.perm-row-label { font-size: .76rem; font-weight: 600; color: var(--fg); }
.perm-row-key { font-size: .58rem; color: var(--fg-dim); font-family: var(--font-mono); font-weight: 400; margin-top: 4px; }
.perm-group-title {
  font-family: var(--font-display); font-size: .78rem; font-weight: 700;
  color: var(--gold); text-transform: uppercase; letter-spacing: .08em;
  padding: 27px 22px 11px;
}

/* Tablet menu — composition paysage, profil utilisateur et Poppins */
.nav-panel {
  width:min(820px,calc(100vw - 40px)); height:min(560px,calc(100vh - 40px)); max-height:none;
  background:linear-gradient(145deg,rgba(17,22,30,.99),rgba(8,11,16,.99));
  border:8px solid #171c24; border-radius:34px; overflow:hidden;
  font-family:'Poppins','Segoe UI',sans-serif;
}
.nav-panel::before {
  top:7px; left:50%; right:auto; bottom:auto; width:7px; height:7px;
  transform:translateX(-50%); border-radius:50%; opacity:1;
  background:#05070a; box-shadow:0 0 0 2px #242b36,0 0 8px rgba(69,112,160,.35);
}
.nav-panel.active { box-shadow:0 45px 120px rgba(0,0,0,.72),0 0 0 1px #303744,0 0 60px rgba(201,168,76,.07) }
.nav-header { min-height:132px; padding:30px 42px 24px; background:linear-gradient(90deg,rgba(201,168,76,.055),transparent 48%) }
.nav-identity { flex:1; display:grid; grid-template-columns:78px 1fr; grid-template-rows:auto auto; column-gap:20px; align-items:center; text-align:left }
.nav-logo-ring { grid-row:1/3; width:76px; height:76px; margin:0; border-radius:50%; display:flex; align-items:center; justify-content:center; overflow:hidden; background:radial-gradient(circle,rgba(201,168,76,.15),rgba(8,10,14,.95)); border:2px solid rgba(201,168,76,.58); box-shadow:0 0 0 6px rgba(201,168,76,.04),0 15px 35px rgba(0,0,0,.35) }
.nav-header-logo { width:100%; height:100%; object-fit:cover; filter:none }
.nav-photo-fallback { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--gold),#765918); color:#080a0e; font-size:1.1rem; font-weight:700 }
.nav-agent-id { align-self:end; font-family:'Poppins',sans-serif; font-size:.92rem; font-weight:600; color:var(--fg); letter-spacing:.025em; line-height:1.3 }
.nav-agent-grade { align-self:start; margin-top:5px; padding:0; background:transparent; border:0; font-family:'Poppins',sans-serif; font-size:.62rem; font-weight:500 }
.nav-section { padding:14px 38px 5px }
.nav-section-label { font-family:'Poppins',sans-serif; font-size:.57rem }
.nav-links { display:grid; grid-template-columns:1fr 1fr; align-content:start; gap:8px 12px; padding:0 38px 18px }
.nav-links>.nav-section { grid-column:1/-1; padding:12px 2px 2px }
.nav-link { min-height:58px; padding:15px 18px; border-radius:13px; font-family:'Poppins',sans-serif; font-size:.72rem; font-weight:500; border:1px solid var(--border); background:rgba(255,255,255,.018) }
.nav-link.active { border-color:rgba(201,168,76,.28); box-shadow:inset 0 0 22px rgba(201,168,76,.04) }
.nav-number { font-family:'Poppins',sans-serif; font-size:.56rem; font-weight:600 }
.nav-footer { padding:13px 38px 24px }
.nav-logout { font-family:'Poppins',sans-serif; font-size:.68rem }
.admin-page,.admin-page button,.admin-page input,.admin-page select,.admin-page textarea,.admin-page .page-title,.admin-page .admin-tab,.admin-page .perm-group-title { font-family:'Poppins','Segoe UI',sans-serif }

@media (max-width:700px) {
  .nav-panel { width:calc(100vw - 24px); height:min(680px,calc(100vh - 24px)); border-width:6px; border-radius:26px; overflow-y:auto }
  .nav-header { min-height:120px; padding:26px 26px 20px }
  .nav-identity { grid-template-columns:64px 1fr; column-gap:16px }
  .nav-logo-ring { width:62px; height:62px }
  .nav-section { padding-left:24px; padding-right:24px }
  .nav-links { grid-template-columns:1fr; padding-left:22px; padding-right:22px }
  .nav-links>.nav-section { grid-column:1 }
  .nav-footer { padding-left:22px; padding-right:22px }
}

/* Paramètres — même langage visuel que le dashboard */
.settings-page { max-width:1540px; padding-left:clamp(20px,4vw,62px); padding-right:clamp(20px,4vw,62px) }
.settings-shell { font-family:'Poppins','Segoe UI',sans-serif }
.settings-hero { min-height:230px; display:flex; align-items:center; justify-content:space-between; gap:40px; margin-bottom:22px; padding:42px clamp(28px,4vw,58px); border:1px solid rgba(83,105,136,.32); border-radius:22px; background:linear-gradient(120deg,rgba(14,19,28,.78),rgba(19,24,33,.7),rgba(41,32,16,.62)); backdrop-filter:blur(13px) saturate(120%); box-shadow:0 25px 70px rgba(0,0,0,.25); overflow:hidden; position:relative }
.settings-hero::after { content:''; position:absolute; right:-100px; top:-170px; width:430px; height:430px; border-radius:50%; background:radial-gradient(circle,rgba(201,168,76,.15),transparent 68%); pointer-events:none }
.settings-hero>div { position:relative; z-index:1 }.settings-hero>div:first-child>span { color:var(--gold); font-size:.58rem; font-weight:600; letter-spacing:.25em }.settings-hero h1 { margin:9px 0 5px; font-size:clamp(2.5rem,4vw,4.4rem); line-height:1; font-weight:600; letter-spacing:-.025em }.settings-hero p { color:var(--fg-muted); font-size:.78rem }
.settings-identity { min-width:230px; padding:20px 24px; display:flex; flex-direction:column; align-items:flex-end; border-right:2px solid var(--gold) }.settings-identity strong { color:var(--gold); font-size:1.35rem; font-weight:600; letter-spacing:.08em }.settings-identity span { margin-top:3px; color:var(--fg); font-size:.82rem; font-weight:500; text-transform:uppercase }.settings-identity small { margin-top:4px; color:var(--fg-dim); font-size:.62rem; text-transform:uppercase; letter-spacing:.1em }
.settings-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; align-items:start }
.settings-panel { border:1px solid rgba(74,96,126,.3); border-radius:18px; background:linear-gradient(145deg,rgba(14,20,30,.76),rgba(8,12,18,.82)); backdrop-filter:blur(12px) saturate(115%); overflow:hidden; box-shadow:0 18px 45px rgba(0,0,0,.16) }
.settings-profile-panel,.settings-security-panel { grid-row:span 2 }
.settings-panel>header { min-height:88px; padding:21px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid rgba(74,96,126,.25) }.settings-panel>header>div { display:flex; align-items:center; gap:12px }.settings-panel>header>div>span { color:var(--gold); font-size:.58rem; font-weight:600; letter-spacing:.1em }.settings-panel h2 { font-size:.96rem; font-weight:600; letter-spacing:.015em }.settings-panel>header p { color:var(--fg-dim); font-size:.62rem; text-align:right }
.settings-panel-body { padding:25px }
.settings-avatar-block { display:flex; align-items:center; gap:18px; margin-bottom:26px; padding:17px; border:1px solid rgba(76,98,127,.28); border-radius:14px; background:rgba(255,255,255,.018) }.settings-avatar { width:82px; height:82px; flex:0 0 82px; position:relative; display:flex; align-items:center; justify-content:center; border:2px solid rgba(201,168,76,.48); border-radius:50%; overflow:hidden; cursor:pointer; background:linear-gradient(135deg,var(--gold),#67501d) }.settings-avatar img { width:100%; height:100%; object-fit:cover }.settings-avatar>span { color:#080a0e; font-size:1.1rem; font-weight:700 }.settings-avatar i { position:absolute; inset:auto 0 0; padding:5px; background:rgba(4,6,9,.78); color:#fff; font-size:.48rem; font-style:normal; text-align:center; opacity:0; transition:opacity .2s }.settings-avatar:hover i { opacity:1 }.settings-avatar-block>div { display:flex; flex-direction:column }.settings-avatar-block strong { font-size:.78rem }.settings-avatar-block p { margin:4px 0; color:var(--fg-dim); font-size:.62rem }.settings-avatar-block small { color:var(--fg-muted); font-size:.58rem }
.settings-form { display:grid; grid-template-columns:1fr 1fr; gap:17px 14px }.settings-field { display:flex; flex-direction:column; gap:7px }.settings-field.full,.settings-actions.full,.settings-password-meter.full { grid-column:1/-1 }.settings-field label { color:var(--fg-muted); font-size:.6rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase }.settings-field input { width:100%; min-height:45px; padding:11px 13px; border:1px solid var(--border-2); border-radius:10px; outline:none; background:rgba(4,7,11,.52); color:var(--fg); font-family:'Poppins',sans-serif; font-size:.72rem; transition:border-color .2s,box-shadow .2s }.settings-field input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,168,76,.1) }
.settings-readonly label { display:flex; align-items:center; justify-content:space-between }.settings-readonly label span { padding:3px 7px; border-radius:10px; background:rgba(88,101,242,.1); color:#8490ff; font-size:.48rem; letter-spacing:.05em }.settings-readonly input[readonly] { cursor:not-allowed; color:var(--fg-muted); border-style:dashed; background:rgba(88,101,242,.035) }.settings-readonly small { color:var(--fg-dim); font-size:.54rem; line-height:1.5 }
.settings-actions { min-height:40px; display:flex; align-items:center; justify-content:flex-end; gap:15px }.settings-actions>span { margin-right:auto; font-size:.61rem }.settings-actions>span.success,#avatar-status.success { color:var(--green) }.settings-actions>span.error,#avatar-status.error { color:var(--red) }.settings-actions .btn { font-size:.64rem }
.settings-theme-grid { display:grid; gap:9px }.settings-theme { width:100%; min-height:68px; padding:12px 14px; display:flex; align-items:center; gap:13px; border:1px solid var(--border); border-radius:12px; background:rgba(255,255,255,.015); color:var(--fg); text-align:left; font-family:'Poppins',sans-serif; cursor:pointer; transition:border-color .2s,background .2s,transform .2s }.settings-theme:hover { transform:translateX(3px); border-color:var(--border-2) }.settings-theme>b { width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:9px; background:rgba(255,255,255,.035); color:var(--fg-muted); font-size:1rem }.settings-theme>span { display:flex; flex-direction:column }.settings-theme strong { font-size:.72rem; font-weight:500 }.settings-theme small { margin-top:3px; color:var(--fg-dim); font-size:.58rem }.settings-theme>i { width:9px; height:9px; margin-left:auto; border:1px solid var(--fg-dim); border-radius:50% }.settings-theme.is-active { border-color:rgba(201,168,76,.4); background:var(--gold-dim) }.settings-theme.is-active>b,.settings-theme.is-active>i { color:var(--gold); border-color:var(--gold) }.settings-theme.is-active>i { background:var(--gold); box-shadow:0 0 10px var(--gold) }.settings-note { margin-top:15px; color:var(--fg-dim); font-size:.58rem; line-height:1.6 }
.settings-password-meter { height:3px; border-radius:4px; background:var(--border); overflow:hidden }.settings-password-meter span { display:block; width:0; height:100%; background:var(--red); transition:width .25s,background .25s }.settings-password-meter span[data-score="2"] { background:var(--orange) }.settings-password-meter span[data-score="3"] { background:var(--gold) }.settings-password-meter span[data-score="4"] { background:var(--green) }
.settings-session { margin-top:23px; padding-top:20px; display:flex; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid var(--border) }.settings-session strong { font-size:.7rem }.settings-session p { margin-top:3px; color:var(--fg-dim); font-size:.59rem }.settings-logout { padding:9px 12px; border:1px solid rgba(239,68,68,.3); border-radius:8px; background:rgba(239,68,68,.07); color:var(--red); font-family:'Poppins',sans-serif; font-size:.6rem; cursor:pointer }.settings-logout:hover { background:rgba(239,68,68,.14) }
.settings-discord { display:flex; align-items:center; gap:15px; padding:17px; border:1px solid rgba(88,101,242,.26); border-radius:14px; background:rgba(88,101,242,.07) }.settings-discord-logo { width:48px; height:48px; flex:0 0 48px; display:flex; align-items:center; justify-content:center; border-radius:14px; background:#5865f2; color:#fff; font-size:1rem; font-weight:700 }.settings-discord>div:nth-child(2) { display:flex; flex-direction:column; min-width:0 }.settings-discord strong { font-size:.74rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }.settings-discord p { margin-top:3px; color:var(--fg-muted); font-size:.61rem }.settings-discord small { margin-top:3px; color:var(--fg-dim); font-size:.54rem }.settings-discord>span { margin-left:auto; padding:5px 8px; border-radius:12px; background:rgba(34,197,94,.11); color:var(--green); font-size:.52rem; font-weight:600; letter-spacing:.1em }
.settings-discord-avatar { width:52px; height:52px; flex:0 0 52px; display:block; border-radius:50%; object-fit:cover; border:2px solid rgba(88,101,242,.7); box-shadow:0 0 0 5px rgba(88,101,242,.08),0 10px 24px rgba(0,0,0,.28) }
.settings-shortcuts { display:grid; grid-template-columns:1fr 1fr; gap:8px }.settings-shortcuts>div { min-height:48px; padding:10px 11px; display:flex; align-items:center; gap:5px; border:1px solid var(--border); border-radius:9px; background:rgba(255,255,255,.014) }.settings-shortcuts span { margin-right:auto; color:var(--fg-muted); font-size:.6rem }.settings-shortcuts kbd { min-width:24px; padding:4px 6px; border:1px solid var(--border-2); border-radius:5px; background:rgba(255,255,255,.04); color:var(--gold); font-family:'Poppins',sans-serif; font-size:.55rem; text-align:center }.settings-shortcuts b { color:var(--fg-dim); font-size:.5rem }
.nav-logout-form { margin:0 }.nav-logout { width:100%; border:0; font-family:'Poppins',sans-serif; cursor:pointer }
@media(max-width:950px){.settings-layout{grid-template-columns:1fr}.settings-profile-panel,.settings-security-panel{grid-row:auto}}
@media(max-width:620px){.settings-hero{align-items:flex-start;flex-direction:column}.settings-identity{width:100%;align-items:flex-start;border-right:0;border-left:2px solid var(--gold)}.settings-panel>header{align-items:flex-start;flex-direction:column}.settings-panel>header p{text-align:left}.settings-form,.settings-shortcuts{grid-template-columns:1fr}.settings-field,.settings-actions,.settings-password-meter{grid-column:1}.settings-session{align-items:flex-start;flex-direction:column}}

/* Signature commune à toutes les pages */
.site-signature { position:relative; z-index:2; width:min(680px,calc(100% - 32px)); margin:2px auto 34px; padding:20px 24px; display:flex; align-items:center; justify-content:center; gap:9px; flex-direction:column; border-top:1px solid rgba(201,168,76,.28); text-align:center; font-family:'Poppins','Segoe UI',sans-serif }
.site-signature::before { content:''; position:absolute; top:-1px; left:50%; width:72px; height:1px; transform:translateX(-50%); background:var(--gold); box-shadow:0 0 12px rgba(201,168,76,.5) }
.site-signature strong { color:var(--fg-muted); font-size:.64rem; font-weight:500; letter-spacing:.045em }.site-signature span { color:var(--fg-dim); font-size:.56rem }
.site-signature-standalone { margin-top:24px }

/* Administration de l'organigramme */
.org-admin-summary { min-width:135px; padding:15px 18px; display:flex; flex-direction:column; align-items:flex-end; border-right:2px solid var(--gold); background:rgba(201,168,76,.035) }.org-admin-summary strong { color:var(--gold); font-size:1.35rem; line-height:1 }.org-admin-summary span { margin-top:5px; color:var(--fg-dim); font-size:.55rem; text-transform:uppercase; letter-spacing:.08em }
.org-admin-list { display:grid; grid-template-columns:1fr 1fr; gap:16px }
.org-admin-position { border:1px solid rgba(75,98,129,.3); border-radius:16px; background:linear-gradient(145deg,rgba(14,20,30,.76),rgba(8,12,18,.82)); backdrop-filter:blur(12px); overflow:hidden }.org-admin-position>header { min-height:78px; padding:18px 20px; display:flex; align-items:center; gap:12px; border-bottom:1px solid var(--border) }.org-admin-position>header>span { color:var(--gold); font-size:.56rem; font-weight:600 }.org-admin-position>header>div { display:flex; flex-direction:column }.org-admin-position h2 { font-size:.78rem; font-weight:600 }.org-admin-position header p { margin-top:3px; color:var(--fg-dim); font-size:.55rem }.org-admin-position header i { margin-left:auto; padding:4px 7px; border-radius:12px; background:rgba(34,197,94,.09); color:var(--green); font-size:.47rem; font-style:normal; font-weight:600; letter-spacing:.08em }.org-admin-position header i.is-full { background:rgba(201,168,76,.09); color:var(--gold) }
.org-admin-members { min-height:105px; padding:14px; display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:9px }
.org-admin-member { min-height:74px; padding:10px; display:flex; align-items:center; gap:11px; position:relative; border:1px solid var(--border); border-radius:11px; background:rgba(255,255,255,.018) }.org-admin-avatar,.org-select-preview { width:52px; height:52px; flex:0 0 52px; display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid rgba(201,168,76,.38); border-radius:50%; background:linear-gradient(135deg,var(--gold),#66501f) }.org-admin-avatar img,.org-select-preview img { width:100%; height:100%; object-fit:cover }.org-admin-avatar span,.org-select-preview span { color:#080a0e; font-size:.66rem; font-weight:700 }.org-admin-member>div:nth-child(2) { min-width:0; display:flex; flex-direction:column }.org-admin-member strong { color:var(--fg); font-size:.59rem; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }.org-admin-member small { margin-top:4px; color:var(--fg-dim); font-size:.51rem }.org-remove { position:absolute; right:7px; top:7px; width:23px; height:23px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(239,68,68,.2); border-radius:50%; background:rgba(239,68,68,.05); color:var(--red); cursor:pointer; transition:background .15s,transform .15s }.org-remove:hover { background:rgba(239,68,68,.15); transform:scale(1.08) }
.org-admin-empty { grid-column:1/-1; display:flex; align-items:center; justify-content:center; min-height:70px; color:var(--fg-dim); font-size:.58rem; border:1px dashed var(--border); border-radius:10px }
.org-admin-add { padding:13px 14px; display:grid; grid-template-columns:42px 1fr auto; gap:9px; align-items:center; border-top:1px solid var(--border); background:rgba(4,7,11,.22) }.org-select-preview { width:38px; height:38px; flex-basis:38px }.org-select-preview span { color:var(--gold); font-size:.85rem }.org-user-select { min-width:0; height:40px; padding:0 11px; border:1px solid var(--border-2); border-radius:8px; outline:none; background:rgba(5,8,12,.72); color:var(--fg); font-family:'Poppins',sans-serif; font-size:.58rem }.org-user-select:focus { border-color:var(--gold) }.org-admin-add .btn { height:40px; padding:0 14px; font-size:.57rem }
@media(max-width:900px){.org-admin-list{grid-template-columns:1fr}}
@media(max-width:520px){.org-admin-add{grid-template-columns:36px 1fr}.org-admin-add .btn{grid-column:1/-1}.org-admin-members{grid-template-columns:1fr}.org-admin-summary{align-items:flex-start;border-right:0;border-left:2px solid var(--gold)}}

/* Session PA — espace de travail */
.pa-session-page{max-width:1500px}.pa-session-hero{position:relative;min-height:190px;padding:36px 40px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;border:1px solid rgba(201,168,76,.22);border-radius:24px;background:linear-gradient(105deg,rgba(8,12,18,.94),rgba(12,18,27,.72)),url('/public/image/LogoMR.webp') center/330px no-repeat;overflow:hidden}.pa-session-hero:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 50%,rgba(201,168,76,.11),transparent 30%);pointer-events:none}.pa-back{position:absolute;left:40px;top:24px;color:var(--fg-dim);font-size:.58rem;text-decoration:none}.pa-kicker,.pa-panel-heading>div>span,.pa-dialog>div>span{color:var(--gold);font-size:.53rem;font-weight:600;letter-spacing:.2em}.pa-session-hero h1{margin:9px 0 5px;font-size:clamp(1.5rem,3vw,2.6rem);font-weight:600}.pa-session-hero p{color:var(--fg-muted);font-size:.64rem}.pa-hero-results{z-index:1;display:flex;gap:8px}.pa-hero-results span{min-width:88px;padding:14px;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;background:rgba(5,8,12,.7);color:var(--fg-dim);font-size:.52rem}.pa-hero-results b{color:var(--fg);font-size:1.25rem}.pa-hero-results .ok b{color:var(--green)}.pa-hero-results .ko b{color:var(--red)}
.pa-workflow-tabs{position:relative;margin:24px 0;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:18px;background:rgba(7,11,17,.74);overflow:hidden}.pa-tab{height:76px;display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--fg-dim);font-family:Poppins,sans-serif;cursor:pointer;transition:.25s}.pa-tab:last-of-type{border:0}.pa-tab i{font-size:.52rem;font-style:normal}.pa-tab span{font-size:.67rem;font-weight:500}.pa-tab:hover,.pa-tab.active{color:var(--gold);background:rgba(201,168,76,.045)}.pa-tab.active{transform:translateY(-2px)}.pa-tab-line{position:absolute;bottom:0;left:calc(var(--tab-index,0)*25%);width:25%;height:2px;background:var(--gold);box-shadow:0 0 14px var(--gold);transition:left .35s cubic-bezier(.2,.8,.2,1)}
.pa-panel{display:none;animation:paPanel .4s ease}.pa-panel.active{display:block}@keyframes paPanel{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.pa-panel-heading{margin-bottom:18px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--border);border-radius:18px;background:rgba(8,13,20,.7)}.pa-panel-heading h2{margin:5px 0;font-size:1.1rem}.pa-panel-heading p{max-width:780px;color:var(--fg-muted);font-size:.61rem;line-height:1.65}.pa-panel-heading.compact{margin:28px 0 0;border-radius:18px 18px 0 0}.pa-action{padding:11px 16px;border:1px solid rgba(201,168,76,.5);border-radius:10px;background:var(--gold);color:#080a0e;font:600 .59rem Poppins,sans-serif;cursor:pointer}.pa-action.secondary{background:rgba(201,168,76,.08);color:var(--gold)}
.pa-candidate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.pa-candidate{position:relative;padding:21px;border:1px solid var(--border);border-radius:17px;background:linear-gradient(145deg,rgba(13,19,29,.86),rgba(6,10,15,.82));overflow:hidden}.pa-candidate-id{color:var(--gold);font-size:.51rem;letter-spacing:.12em}.pa-candidate h3{margin:13px 0 3px;font-size:.78rem}.pa-candidate p{color:var(--fg-dim);font-size:.55rem}.pa-checks{margin:18px 0 16px;display:flex;gap:6px}.pa-checks button{padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.02);color:var(--fg-dim);font:500 .52rem Poppins;cursor:pointer}.pa-checks button.done{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.08);color:var(--green)}.pa-score{display:flex;align-items:baseline}.pa-score strong{font-size:1.45rem}.pa-score span{color:var(--fg-dim);font-size:.6rem}.pa-score em{margin-left:auto;padding:5px 8px;border-radius:12px;background:rgba(100,116,139,.1);color:var(--fg-muted);font-size:.47rem;font-style:normal;text-transform:uppercase}.pa-score em.accepte{color:var(--green);background:rgba(34,197,94,.1)}.pa-score em.refuse{color:var(--red);background:rgba(239,68,68,.1)}
.pa-agent-table{border:1px solid var(--border);border-top:0;border-radius:0 0 18px 18px;overflow:hidden}.pa-agent-row{min-height:58px;padding:9px 18px;display:grid;grid-template-columns:100px 1fr 100px 190px;align-items:center;gap:12px;border-top:1px solid var(--border);font-size:.57rem;background:rgba(8,12,18,.62)}.pa-agent-row>b{color:var(--gold)}.pa-agent-row label{color:var(--fg-muted)}.pa-agent-row select,.pa-criteria select{height:35px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:#090e15;color:var(--fg);font:500 .55rem Poppins}
.pa-eval-layout{display:grid;grid-template-columns:270px 1fr;gap:14px}.pa-eval-layout aside{padding:9px;display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:16px;background:rgba(7,11,17,.72)}.pa-eval-layout aside button{padding:12px;display:flex;justify-content:space-between;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--fg-muted);font:500 .57rem Poppins;text-align:left;cursor:pointer}.pa-eval-layout aside button b{color:var(--gold)}.pa-eval-layout aside button.active,.pa-eval-layout aside button:hover{border-color:var(--border);background:rgba(201,168,76,.06);color:var(--fg)}.pa-eval-card{min-height:430px;padding:25px;border:1px solid var(--border);border-radius:16px;background:rgba(7,11,17,.76)}.pa-eval-card h3{margin-bottom:18px;font-size:.85rem}.pa-eval-placeholder,.pa-empty,.pa-waiting{min-height:300px;display:flex;align-items:center;justify-content:center;color:var(--fg-dim);font-size:.62rem}.pa-vehicle-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.pa-vehicle-list label,.pa-criteria label{padding:13px;display:flex;align-items:center;gap:11px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.018);font-size:.6rem;cursor:pointer}.pa-vehicle-list span{color:var(--gold);font-size:.5rem}.pa-criteria{display:grid;gap:8px;margin-bottom:18px}.pa-criteria label>span{display:flex;flex-direction:column}.pa-criteria b{font-size:.6rem}.pa-criteria small{margin-top:3px;color:var(--fg-dim);font-size:.51rem}.pa-criteria em{margin-left:auto;color:var(--gold);font-size:.55rem;font-style:normal}.pa-criteria .documents{cursor:default}.pa-criteria .documents select{margin-left:auto}.pa-waiting{min-height:420px;flex-direction:column;border:1px dashed var(--border);border-radius:18px}.pa-waiting>b{color:var(--gold);font-size:4rem;opacity:.35}.pa-waiting h3{font-size:.85rem}.pa-waiting p{margin-top:7px;color:var(--fg-dim)}
.pa-sport-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.pa-sport-rules>div{padding:18px;display:grid;grid-template-columns:1fr auto;gap:4px;border:1px solid var(--border);border-radius:14px;background:rgba(8,12,18,.72)}.pa-sport-rules b{font-size:.85rem}.pa-sport-rules span{grid-row:2;color:var(--fg-dim);font-size:.55rem}.pa-sport-rules strong{grid-row:1/3;grid-column:2;align-self:center;color:var(--green);font-size:.72rem}.pa-sport-rules .medium strong{color:var(--gold)}.pa-sport-rules .bad strong{color:var(--red)}.pa-sport-grid{display:grid;gap:8px}.pa-sport-grid form{padding:14px 18px;display:grid;grid-template-columns:1fr 100px 100px 70px auto;align-items:end;gap:10px;border:1px solid var(--border);border-radius:13px;background:rgba(8,12,18,.72)}.pa-sport-grid h3{font-size:.66rem}.pa-sport-grid small{color:var(--fg-dim);font-size:.5rem}.pa-sport-grid label,.pa-dialog label{display:flex;flex-direction:column;gap:5px;color:var(--fg-dim);font-size:.5rem}.pa-sport-grid input,.pa-dialog input{height:38px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:#080d14;color:var(--fg);font:500 .6rem Poppins}.pa-sport-grid form>strong{align-self:center;color:var(--gold);font-size:.75rem}
.pa-dialog[hidden]{display:none}.pa-dialog{position:fixed;z-index:500;inset:0;padding:20px;display:flex;align-items:center;justify-content:center;background:rgba(1,3,6,.8);backdrop-filter:blur(8px);opacity:0;transition:.18s}.pa-dialog.open{opacity:1}.pa-dialog>div{position:relative;width:min(560px,100%);max-height:90vh;padding:30px;border:1px solid var(--border-2);border-radius:20px;background:#0a1018;overflow:auto;transform:translateY(12px);transition:.18s}.pa-dialog.open>div{transform:none}.pa-dialog h2{margin:7px 0 20px;font-size:1rem}.pa-dialog-close{position:absolute;right:18px;top:15px;border:0;background:none;color:#fff;font-size:1.4rem;cursor:pointer}.pa-dialog form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.pa-dialog form>.pa-action{grid-column:1/-1}.pa-vehicle-inputs{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.pa-vehicle-inputs label{display:grid;grid-template-columns:25px 1fr;align-items:center;color:var(--gold)}
@media(max-width:800px){.pa-session-hero{align-items:flex-start;flex-direction:column;padding-top:55px}.pa-workflow-tabs{grid-template-columns:1fr 1fr}.pa-tab-line{display:none}.pa-eval-layout{grid-template-columns:1fr}.pa-eval-layout aside{display:grid;grid-template-columns:1fr 1fr}.pa-agent-row{grid-template-columns:70px 1fr}.pa-agent-row label,.pa-agent-row select{grid-row:2}.pa-sport-rules{grid-template-columns:1fr}.pa-sport-grid form{grid-template-columns:1fr 1fr}.pa-sport-grid form>div{grid-column:1/-1}.pa-vehicle-list{grid-template-columns:1fr}}

/* Session P.A compacte — photos et grands recensements */
.pa-candidate-grid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:8px}.pa-candidate{min-height:142px;padding:13px}.pa-candidate-number{position:absolute;right:10px;top:8px;color:rgba(201,168,76,.22);font-size:1.45rem;font-weight:700}.pa-person{min-width:0;display:flex;align-items:center;gap:9px}.pa-person>i{width:38px;height:38px;flex:0 0 38px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(201,168,76,.35);border-radius:50%;overflow:hidden;background:rgba(201,168,76,.08);color:var(--gold);font-size:.56rem;font-style:normal}.pa-person img{width:100%;height:100%;object-fit:cover}.pa-person>span{min-width:0;display:flex;flex-direction:column}.pa-person b{max-width:135px;color:var(--fg);font-size:.59rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pa-person small{margin-top:2px;color:var(--fg-dim);font-size:.45rem}.pa-candidate>p{margin:9px 0;color:var(--fg-dim);font-size:.48rem}.pa-candidate-bottom{display:flex;align-items:center;gap:6px}.pa-fouille{padding:6px 7px;border:1px solid var(--border);border-radius:7px;background:transparent;color:var(--fg-dim);font:500 .47rem Poppins;cursor:pointer}.pa-fouille.done{border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.08);color:var(--green)}.pa-candidate .pa-score{margin-left:auto}.pa-candidate .pa-score strong{font-size:.92rem}.pa-candidate .pa-score em{position:absolute;right:10px;bottom:9px;font-size:.4rem}.pa-eval-layout aside button{padding:7px 9px;align-items:center}.pa-eval-layout aside button>.pa-person{flex:1}.pa-eval-layout aside button>.pa-person b{max-width:110px}.pa-eval-person{margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid var(--border)}.pa-eval-person .pa-person>i{width:48px;height:48px;flex-basis:48px}.pa-eval-person .pa-person b{max-width:none;font-size:.7rem}
.pa-agent-row{min-height:52px;padding:7px 14px;grid-template-columns:38px 75px minmax(130px,1fr) minmax(110px,150px) 80px 170px}.pa-agent-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(201,168,76,.3);border-radius:50%;overflow:hidden;background:rgba(201,168,76,.08);color:var(--gold);font-size:.48rem}.pa-agent-avatar img{width:100%;height:100%;object-fit:cover}.pa-agent-row>em{color:var(--fg-muted);font-size:.51rem;font-style:normal}.pa-agent-row input[disabled]{opacity:.8}.pa-sport-grid form>.pa-person{align-self:center}.pa-sport-grid form>.pa-person b{max-width:180px}
.pa-photo-paste{grid-column:1/-1;padding:14px;display:flex;align-items:center;gap:14px;border:1px dashed rgba(201,168,76,.42);border-radius:13px;background:rgba(201,168,76,.035);outline:none;cursor:pointer;transition:.2s}.pa-photo-paste:focus,.pa-photo-paste:hover{border-color:var(--gold);background:rgba(201,168,76,.07)}.pa-photo-preview{width:70px;height:70px;flex:0 0 70px;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.035);color:var(--gold);font-size:1.4rem}.pa-photo-preview img{width:100%;height:100%;object-fit:cover}.pa-photo-paste>div:last-child{display:flex;flex-direction:column}.pa-photo-paste b{font-size:.61rem}.pa-photo-paste small{margin-top:5px;color:var(--fg-dim);font-size:.51rem;line-height:1.55}.pa-dialog label.full{grid-column:1/-1}
@media(max-width:900px){.pa-agent-row{grid-template-columns:38px 70px 1fr 140px}.pa-agent-row label,.pa-agent-row select{grid-column:auto}.pa-agent-row select{grid-column:3/5}.pa-sport-grid form{grid-template-columns:1fr 85px 85px}.pa-sport-grid form>.pa-person{grid-column:1/-1}}

.pa-session-actions{margin-top:14px;display:flex;gap:8px}.pa-session-actions button{padding:8px 11px;border:1px solid rgba(239,68,68,.38);border-radius:8px;background:rgba(239,68,68,.08);color:#ff7575;font:600 .53rem Poppins;cursor:pointer}.pa-session-actions button[data-session-status="archivee"]{border-color:rgba(201,168,76,.4);background:rgba(201,168,76,.08);color:var(--gold)}.pa-session-actions em{padding:7px 10px;border-radius:8px;background:rgba(100,116,139,.12);color:var(--fg-muted);font-size:.52rem;font-style:normal}
.pa-review-fields{margin:16px 0;display:grid;grid-template-columns:minmax(210px,.7fr) 1.3fr;gap:9px}.pa-evaluator{position:relative}.pa-evaluator>button{width:100%;height:50px;padding:7px 10px;display:flex;align-items:center;gap:8px;border:1px solid var(--border-2);border-radius:10px;background:#090e15;color:var(--fg-muted);font:500 .53rem Poppins;text-align:left;cursor:pointer}.pa-evaluator>button b{color:var(--fg);font-size:.52rem}.pa-evaluator>div{position:absolute;z-index:20;left:0;right:0;top:54px;max-height:230px;padding:5px;border:1px solid var(--border-2);border-radius:10px;background:#080d14;overflow:auto;box-shadow:0 18px 45px rgba(0,0,0,.45)}.pa-evaluator>div button{width:100%;padding:7px;display:flex;align-items:center;gap:8px;border:0;border-radius:7px;background:transparent;color:var(--fg);font:500 .51rem Poppins;text-align:left;cursor:pointer}.pa-evaluator>div button:hover{background:rgba(201,168,76,.08)}.pa-review-comment{display:flex;flex-direction:column;gap:5px;color:var(--fg-dim);font-size:.48rem}.pa-review-comment textarea{min-height:74px;padding:10px;border:1px solid var(--border-2);border-radius:10px;outline:none;resize:vertical;background:#090e15;color:var(--fg);font:500 .55rem/1.5 Poppins}.pa-review-comment textarea:focus{border-color:var(--gold)}
.pa-profile-open{padding:5px 7px;border:1px solid rgba(201,168,76,.25);border-radius:7px;background:rgba(201,168,76,.05);color:var(--gold);font:500 .43rem Poppins;cursor:pointer}.pa-profile-dialog>div{width:min(760px,100%)}.pa-profile-dialog>div>header{padding:0 45px 18px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.pa-profile-dialog>div>header>div{display:flex;flex-direction:column;align-items:flex-end}.pa-profile-dialog>div>header strong{color:var(--gold);font-size:1.1rem}.pa-profile-dialog>div>header span{color:var(--fg-dim);font-size:.48rem;text-transform:uppercase}.pa-profile-photo{height:190px;margin:16px 0;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.02)}.pa-profile-photo img{width:100%;height:100%;object-fit:contain;background:#05080c}.pa-profile-dialog section>span{color:var(--gold);font-size:.48rem;letter-spacing:.16em}.pa-profile-dialog section>article{margin-top:9px;padding:14px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.015)}.pa-profile-dialog article>div{display:flex;justify-content:space-between}.pa-profile-dialog article b{font-size:.58rem}.pa-profile-dialog article small{color:var(--fg-dim);font-size:.45rem}.pa-profile-dialog article p{margin:10px 0;color:var(--fg-muted);font-size:.54rem;line-height:1.65;white-space:pre-wrap}.pa-profile-dialog article footer{display:flex;align-items:center;gap:7px}.pa-profile-dialog article footer img{width:25px;height:25px;border-radius:50%;object-fit:cover}.pa-profile-dialog article footer b{color:var(--gold);font-size:.48rem}.pa-no-review{margin-top:10px;padding:24px;border:1px dashed var(--border);border-radius:10px;color:var(--fg-dim);font-size:.54rem;text-align:center}
.pa-sport-grid form{display:block}.pa-sport-line{display:grid;grid-template-columns:1fr 100px 100px 70px;align-items:end;gap:10px}.pa-sport-grid form>.pa-action{margin-top:2px}.pa-sport-line>strong{align-self:center;color:var(--gold);font-size:.75rem}
@media(max-width:700px){.pa-review-fields{grid-template-columns:1fr}.pa-sport-line{grid-template-columns:1fr 1fr}.pa-sport-line>.pa-person{grid-column:1/-1}.pa-profile-photo{height:150px}}
.pa-session-locked [data-save-vehicle],.pa-session-locked [data-scenario-form]>.pa-action,.pa-session-locked [data-sport-form]>.pa-action,.pa-session-locked [data-edit-vehicles],.pa-session-locked .pa-fouille{display:none!important}.pa-session-locked .pa-eval-card input,.pa-session-locked .pa-eval-card select,.pa-session-locked .pa-eval-card textarea,.pa-session-locked .pa-sport-grid input,.pa-session-locked .pa-sport-grid textarea{pointer-events:none;opacity:.65}

/* ===== PA : tiroirs latéraux, Discord, permis, refus ===== */
.pa-help-drawer,.pa-log-drawer{position:fixed;z-index:460;top:0;bottom:0;pointer-events:none}
.pa-help-drawer{right:0}.pa-log-drawer{left:0}
.pa-help-drawer>button,.pa-log-drawer>button,.pa-discord-open{position:fixed;z-index:461;writing-mode:vertical-rl;text-orientation:mixed;border:0;padding:16px 9px;font-family:var(--font-display);font-weight:700;letter-spacing:.14em;font-size:.78rem;cursor:pointer;pointer-events:auto;transition:filter .15s}
.pa-help-drawer>button:hover,.pa-log-drawer>button:hover,.pa-discord-open:hover{filter:brightness(1.12)}
.pa-help-drawer>button{right:0;top:130px;border-radius:12px 0 0 12px;background:var(--gold);color:#07090d;box-shadow:-6px 0 22px rgba(0,0,0,.45)}
.pa-log-drawer>button{left:0;top:130px;border-radius:0 12px 12px 0;background:#1b2636;color:var(--gold);box-shadow:6px 0 22px rgba(0,0,0,.45)}
.pa-discord-open{right:0;top:300px;border-radius:12px 0 0 12px;background:#5865F2;color:#fff;box-shadow:-6px 0 22px rgba(0,0,0,.45)}
.pa-help-drawer>div,.pa-log-drawer>div{position:absolute;top:0;bottom:0;width:min(400px,86vw);background:#0a1018;padding:30px 26px 40px;overflow-y:auto;pointer-events:auto;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.pa-help-drawer>div{right:0;border-left:1px solid var(--border-2);transform:translateX(100%)}
.pa-log-drawer>div{left:0;border-right:1px solid var(--border-2);transform:translateX(-100%)}
.pa-help-drawer.open>div,.pa-log-drawer.open>div{transform:translateX(0);box-shadow:0 0 70px rgba(0,0,0,.7)}
.pa-help-drawer h2,.pa-log-drawer h2{font-family:var(--font-display);color:var(--gold);font-size:1.15rem;margin:0 0 18px;letter-spacing:.05em}
.pa-help-drawer h3{font-family:var(--font-display);color:#fff;font-size:.95rem;margin:16px 0 6px}
.pa-help-drawer p{color:var(--fg-muted);font-size:.86rem;line-height:1.6;margin:0 0 8px}
.pa-help-drawer section{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}
.pa-help-drawer section:first-of-type{border-top:0;margin-top:0;padding-top:0}
.pa-log-drawer article{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}
.pa-log-drawer article:last-child{border-bottom:0}
.pa-log-drawer article img,.pa-log-drawer article>span{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:0 0 38px;display:flex;align-items:center;justify-content:center;background:var(--bg-3,#161e2d);color:var(--fg-muted);font-size:.7rem;font-weight:700}
.pa-log-drawer article b{display:block;color:#fff;font-size:.82rem}
.pa-log-drawer article p{color:var(--gold);font-size:.8rem;margin:2px 0}
.pa-log-drawer article small{color:var(--fg-dim);font-size:.72rem}
.pa-discord-text{width:100%;min-height:230px;resize:vertical;background:#070b12;border:1px solid var(--border-2);border-radius:12px;padding:14px;color:#dfe6f2;font-family:var(--font-mono);font-size:.82rem;line-height:1.5;margin-bottom:14px;white-space:pre-wrap}
.pa-permis-check{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;cursor:pointer}
.pa-permis-check input{width:18px;height:18px;accent-color:var(--gold)}
.pa-candidate-tags{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.pa-permis-badge{font-size:.68rem;font-weight:700;padding:3px 9px;border-radius:20px;letter-spacing:.03em}
.pa-permis-badge.ok{background:rgba(34,197,94,.14);color:#4ade80;border:1px solid rgba(34,197,94,.3)}
.pa-permis-badge.no{background:rgba(148,163,184,.12);color:#94a3b8;border:1px solid rgba(148,163,184,.25)}
.pa-permis-badge.ko{background:rgba(217,79,79,.16);color:#f87171;border:1px solid rgba(217,79,79,.35)}
.pa-refused-note{margin:8px 0 0;color:#f87171;font-size:.78rem;line-height:1.4}
.pa-refused-banner{margin:14px 0;padding:12px 14px;border-radius:12px;background:rgba(217,79,79,.12);border:1px solid rgba(217,79,79,.35);color:#fca5a5;font-size:.85rem;line-height:1.4}
.pa-profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.pa-btn-refuse,.pa-btn-delete{border:1px solid var(--border-2);background:var(--bg-2,#111822);color:var(--fg-muted);padding:10px 16px;border-radius:10px;cursor:pointer;font-weight:600;font-size:.82rem;transition:all .15s}
.pa-btn-refuse:hover{border-color:#f87171;color:#f87171}
.pa-btn-delete:hover,.pa-btn-delete.arm{border-color:#f87171;background:rgba(217,79,79,.14);color:#fca5a5}
.pa-refuse-form{margin-top:14px;display:grid!important;grid-template-columns:1fr!important;gap:10px}
.pa-refuse-form textarea{width:100%;min-height:90px;resize:vertical;background:#070b12;border:1px solid var(--border-2);border-radius:10px;padding:12px;color:#dfe6f2;font-family:inherit;font-size:.85rem}
.pa-profile-dialog{z-index:520}

/* ===== PA v3 : échelle lisible ===== */
.pa-candidate-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.pa-candidate{min-height:170px;padding:18px 18px 16px}
.pa-candidate .pa-person b{font-size:.95rem}
.pa-candidate .pa-person small{font-size:.72rem}
.pa-candidate>p{font-size:.74rem;margin:10px 0 6px}
.pa-candidate-number{font-size:2rem;right:14px;top:10px}
.pa-candidate-bottom{gap:8px;flex-wrap:wrap}
.pa-fouille,.pa-profile-open{font:600 .74rem Poppins,sans-serif!important;padding:7px 12px!important;border-radius:9px!important;cursor:pointer;transition:transform .12s,filter .15s}
.pa-fouille:hover,.pa-profile-open:hover{transform:translateY(-1px);filter:brightness(1.15)}
.pa-candidate .pa-score strong{font-size:1.25rem}
.pa-candidate .pa-score span{font-size:.75rem}
.pa-candidate .pa-score em{position:static;display:block;font-size:.62rem;text-align:right;text-transform:uppercase;letter-spacing:.08em}
.pa-permis-badge{font-size:.72rem;padding:4px 10px}
.pa-refused-note{font-size:.8rem}
.pa-dialog h2{font-size:1.35rem}
.pa-dialog label{font-size:.85rem}
.pa-dialog input,.pa-dialog select,.pa-dialog textarea{font-size:.9rem}
.pa-photo-paste{cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}
.pa-photo-paste:focus{border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(201,168,76,.18)}

/* ===== Fiche candidat ===== */
.pa-profile-dialog>div.pa-fiche{width:min(820px,100%);padding:30px 32px}
.pa-fiche-top{display:grid;grid-template-columns:190px 1fr auto;gap:24px;align-items:start;padding-bottom:22px;border-bottom:1px solid var(--border)}
.pa-fiche-photo{width:190px;height:230px;border-radius:16px;overflow:hidden;background:#05080c;border:1px solid var(--border-2);display:flex;align-items:center;justify-content:center}
.pa-fiche-photo img{width:100%;height:100%;object-fit:cover}
.pa-fiche-photo span{font-family:var(--font-display);font-size:3rem;color:rgba(201,168,76,.35)}
.pa-fiche-kicker{font-size:.7rem;letter-spacing:.2em;color:var(--gold)}
.pa-fiche-info h2{font-family:var(--font-display);font-size:2rem!important;margin:6px 0 10px!important;color:#fff;line-height:1.05}
.pa-fiche-status{display:inline-block;padding:5px 14px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:rgba(148,163,184,.12);color:#cbd5e1;border:1px solid rgba(148,163,184,.25)}
.pa-fiche-status.st-accepte{background:rgba(34,197,94,.14);color:#4ade80;border-color:rgba(34,197,94,.35)}
.pa-fiche-status.st-refuse,.pa-fiche-status.st-exclu{background:rgba(217,79,79,.16);color:#f87171;border-color:rgba(217,79,79,.4)}
.pa-fiche-status.st-en_cours{background:rgba(201,168,76,.14);color:var(--gold);border-color:rgba(201,168,76,.35)}
.pa-fiche-info dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:18px 0 0}
.pa-fiche-info dl div{margin:0}
.pa-fiche-info dt{font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:var(--fg-dim);margin-bottom:3px}
.pa-fiche-info dd{margin:0;font-size:.95rem;color:#fff;font-weight:500}
.pa-fiche-info dd.ok{color:#4ade80}.pa-fiche-info dd.ko{color:#f87171}
.pa-fiche-total{text-align:right;padding:14px 18px;border-radius:14px;background:rgba(201,168,76,.06);border:1px solid rgba(201,168,76,.22);min-width:120px}
.pa-fiche-total strong{display:block;font-family:var(--font-display);font-size:2.6rem;color:var(--gold);line-height:1}
.pa-fiche-total span{color:var(--fg-muted);font-size:.9rem}
.pa-fiche-total small{display:block;margin-top:6px;color:var(--fg-dim);font-size:.7rem}
.pa-fiche-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}
.pa-fiche-scores>div{padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.02);border:1px solid var(--border);position:relative;overflow:hidden}
.pa-fiche-scores span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-dim)}
.pa-fiche-scores b{display:block;font-family:var(--font-display);font-size:1.6rem;color:#fff;margin-top:4px}
.pa-fiche-scores i{font-style:normal;font-size:.85rem;color:var(--fg-dim)}
.pa-fiche-scores em{position:absolute;left:0;bottom:0;height:3px;width:var(--p);background:var(--gold);transition:width .5s}
.pa-fiche-reports h3{font-family:var(--font-display);font-size:1rem;color:var(--gold);text-transform:uppercase;letter-spacing:.1em;margin:0 0 10px}
.pa-fiche-reports article{padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.015);margin-bottom:10px}
.pa-fiche-reports article header{display:flex;justify-content:space-between;align-items:center}
.pa-fiche-reports article header b{font-size:.9rem;color:#fff}
.pa-fiche-reports article header small{font-size:.72rem;color:var(--fg-dim)}
.pa-fiche-reports article p{margin:8px 0;font-size:.86rem;color:var(--fg-muted);line-height:1.6;white-space:pre-wrap}
.pa-fiche-reports article footer{display:flex;align-items:center;gap:8px}
.pa-fiche-reports article footer img{width:26px;height:26px;border-radius:50%;object-fit:cover}
.pa-fiche-reports article footer span{font-size:.78rem;color:var(--gold);font-weight:600}
.pa-no-review{font-size:.85rem}
@media(max-width:720px){.pa-fiche-top{grid-template-columns:1fr}.pa-fiche-photo{width:100%;height:240px}.pa-fiche-total{text-align:left}.pa-fiche-scores{grid-template-columns:1fr}}

/* ===== P.A non démarrée : écran verrouillé ===== */
.pa-not-started .pa-workflow-tabs,.pa-not-started .pa-panels{filter:blur(5px) grayscale(.4);opacity:.3;pointer-events:none;user-select:none}
.pa-not-started [data-open-candidate]{display:none!important}
.pa-lock-screen{position:relative;margin:26px auto 30px;max-width:720px;padding:46px 40px 38px;text-align:center;border:1px solid rgba(201,168,76,.35);border-radius:22px;background:radial-gradient(ellipse at 50% 0%,rgba(201,168,76,.14),transparent 65%),linear-gradient(160deg,rgba(13,19,29,.96),rgba(6,10,15,.94));box-shadow:0 25px 70px rgba(0,0,0,.55);animation:paLockIn .55s cubic-bezier(.2,.8,.2,1) both;z-index:5}
.pa-lock-icon{width:96px;height:96px;margin:0 auto 18px;color:var(--gold);display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(201,168,76,.08);animation:paLockGlow 2.4s ease-in-out infinite}
.pa-lock-icon svg{width:58px;height:58px;animation:paLockShake 3.2s ease-in-out infinite}
.pa-lock-shackle{transform-origin:44px 28px;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.pa-lock-screen h2{font-family:var(--font-display);font-size:1.9rem;color:#fff;margin:8px 0 12px;line-height:1.1}
.pa-lock-screen p{color:var(--fg-muted);font-size:.95rem;line-height:1.7;margin:0 0 26px}
.pa-lock-screen p b{color:#fff}
.pa-start-btn{display:inline-flex;align-items:center;gap:12px;padding:16px 34px;border:0;border-radius:14px;background:linear-gradient(135deg,#d9b85a,#b8932f);color:#07090d;font:700 1.05rem var(--font-display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 30px rgba(201,168,76,.35);transition:transform .15s,box-shadow .2s,background .2s}
.pa-start-btn span{display:inline-flex;width:26px;height:26px;border-radius:50%;background:rgba(7,9,13,.15);align-items:center;justify-content:center;font-size:.8rem}
.pa-start-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 40px rgba(201,168,76,.5)}
.pa-start-btn.arm{background:linear-gradient(135deg,#ef6b6b,#c94141);color:#fff;box-shadow:0 10px 30px rgba(217,79,79,.45);animation:paArm .7s ease-in-out infinite alternate}
.pa-start-btn:disabled{opacity:.7;cursor:wait}
.pa-start-hint{display:block;margin-top:14px;color:var(--fg-dim);font-size:.78rem}
.pa-lock-screen.unlocking .pa-lock-shackle{transform:translateY(-8px) rotate(-28deg)}
.pa-lock-screen.unlocking{animation:paUnlock .9s ease forwards}
@keyframes paLockIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@keyframes paLockGlow{0%,100%{box-shadow:0 0 0 0 rgba(201,168,76,.35)}50%{box-shadow:0 0 0 16px rgba(201,168,76,0)}}
@keyframes paLockShake{0%,86%,100%{transform:rotate(0)}89%{transform:rotate(-9deg)}92%{transform:rotate(8deg)}95%{transform:rotate(-5deg)}}
@keyframes paArm{from{transform:scale(1)}to{transform:scale(1.03)}}
@keyframes paUnlock{40%{transform:scale(1.03);border-color:#4ade80}100%{opacity:0;transform:scale(.96) translateY(-10px)}}

/* ===== Tableau de bord : P.A en direct ===== */
.dash-live-banner{display:flex;align-items:center;gap:20px;margin:0 0 26px;padding:18px 24px;border-radius:18px;text-decoration:none;color:#fff;border:1px solid rgba(239,68,68,.45);background:linear-gradient(110deg,rgba(127,29,29,.55),rgba(13,19,29,.92) 55%);box-shadow:0 14px 40px rgba(0,0,0,.45),0 0 0 1px rgba(239,68,68,.08) inset;position:relative;overflow:hidden;animation:paLockIn .5s ease both;transition:transform .18s,box-shadow .2s}
.dash-live-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.07) 50%,transparent 70%);transform:translateX(-100%);animation:dashShine 3.5s ease-in-out infinite}
.dash-live-banner:hover{transform:translateY(-2px);box-shadow:0 20px 50px rgba(0,0,0,.55),0 0 30px rgba(239,68,68,.2)}
.dash-live-pulse{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:30px;background:rgba(239,68,68,.18);border:1px solid rgba(239,68,68,.5);color:#fca5a5;font:700 .72rem var(--font-display);letter-spacing:.16em;white-space:nowrap}
.dash-live-pulse i{width:9px;height:9px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 0 rgba(239,68,68,.7);animation:dashPulse 1.4s ease-out infinite}
.dash-live-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.dash-live-text b{font-family:var(--font-display);font-size:1.25rem;letter-spacing:.02em}
.dash-live-text small{color:#cbd5e1;font-size:.85rem}
.dash-live-cta{padding:11px 20px;border-radius:12px;background:#ef4444;color:#fff;font:700 .85rem var(--font-display);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transition:background .15s}
.dash-live-banner:hover .dash-live-cta{background:#dc2626}
@keyframes dashPulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.7)}100%{box-shadow:0 0 0 12px rgba(239,68,68,0)}}
@keyframes dashShine{0%,60%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@media(max-width:720px){.dash-live-banner{flex-wrap:wrap}.dash-live-cta{width:100%;text-align:center}}

/* ===== Équipe P.A — recensement des agents (v2) ===== */
.pa-agent-roster{margin-top:22px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(160deg,rgba(13,19,29,.9),rgba(6,10,15,.85));overflow:hidden}
.pa-agent-roster .pa-panel-heading{padding:26px 28px 20px;border-bottom:1px solid var(--border);margin:0}
.pa-agent-roster .pa-agent-table{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;padding:20px 22px 24px;border:0!important;border-radius:0!important;overflow:visible}
.pa-agent-roster .pa-agent-row{display:grid!important;grid-template-columns:56px 1fr auto!important;grid-template-areas:"av name name" "av grade test" "sel sel sel";align-items:center;gap:6px 14px;min-height:0;padding:16px 18px!important;border:1px solid var(--border)!important;border-radius:14px;background:rgba(255,255,255,.025)!important;font-size:.9rem!important;transition:border-color .18s,transform .18s,box-shadow .18s}
.pa-agent-roster .pa-agent-row:hover{border-color:rgba(201,168,76,.45)!important;transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.35)}
.pa-agent-roster .pa-agent-row>.pa-agent-avatar{grid-area:av;width:56px!important;height:56px!important;border-radius:50%;overflow:hidden;border:2px solid rgba(201,168,76,.5);display:flex;align-items:center;justify-content:center;background:#121a26;font-family:var(--font-display);font-weight:700;color:var(--gold);font-size:1.1rem}
.pa-agent-roster .pa-agent-row>.pa-agent-avatar img{width:100%;height:100%;object-fit:cover}
.pa-agent-roster .pa-agent-name{grid-area:name;font-size:1rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-agent-roster .pa-agent-name b{color:var(--gold);margin-right:6px;font-family:var(--font-display);font-size:1.08rem}
.pa-agent-roster .pa-agent-row>em{grid-area:grade;font-style:normal;justify-self:start;font-size:.7rem!important;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;border-radius:20px;background:rgba(201,168,76,.12);color:var(--gold)!important;border:1px solid rgba(201,168,76,.3)}
.pa-agent-roster .pa-agent-row>label{grid-area:test;display:flex;align-items:center;gap:6px;font-size:.74rem!important;color:var(--fg-dim);justify-self:end}
.pa-agent-roster .pa-agent-row>label input{accent-color:var(--gold)}
.pa-agent-roster .pa-agent-row>select{grid-area:sel;margin-top:10px;width:100%;padding:11px 14px!important;border-radius:10px;border:1px solid var(--border-2);background:#0a1018;color:#fff;font:600 .85rem Poppins,sans-serif!important;height:auto!important;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.pa-agent-roster .pa-agent-row>select:hover{border-color:var(--gold)}
.pa-agent-roster .pa-agent-row>select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.18)}

/* ===== Carte candidat (v3, compacte) ===== */
.pa-candidate-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important;gap:12px!important}
.pa-cand{position:relative;display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:14px;padding:14px 16px 14px 14px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(150deg,rgba(14,20,30,.92),rgba(7,11,17,.9));cursor:pointer;overflow:hidden;transition:border-color .18s,transform .18s,box-shadow .18s}
.pa-cand::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:rgba(148,163,184,.35)}
.pa-cand.st-accepte::before{background:#22c55e}.pa-cand.st-refuse::before,.pa-cand.st-exclu::before{background:#ef4444}.pa-cand.st-en_cours::before{background:var(--gold)}
.pa-cand:hover,.pa-cand:focus-visible{outline:none;border-color:rgba(201,168,76,.45);transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.4)}
.pa-cand-photo{width:54px;height:54px;border-radius:12px;overflow:hidden;background:#0c121b;border:1px solid var(--border-2);display:flex;align-items:center;justify-content:center}
.pa-cand-photo img{width:100%;height:100%;object-fit:cover}
.pa-cand-photo span{font:700 1rem var(--font-display);color:rgba(201,168,76,.6)}
.pa-cand-body{min-width:0;display:flex;flex-direction:column;gap:2px}
.pa-cand-head{display:flex;align-items:center;gap:8px}
.pa-cand-num{font:700 .62rem var(--font-display);letter-spacing:.14em;color:var(--gold)}
.pa-cand-st{font-style:normal;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 7px;border-radius:20px;background:rgba(148,163,184,.12);color:#94a3b8}
.st-accepte .pa-cand-st{background:rgba(34,197,94,.14);color:#4ade80}.st-refuse .pa-cand-st,.st-exclu .pa-cand-st{background:rgba(239,68,68,.15);color:#f87171}.st-en_cours .pa-cand-st{background:rgba(201,168,76,.14);color:var(--gold)}
.pa-cand-name{font-size:.88rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-cand-id{font-size:.7rem;color:var(--fg-dim)}
.pa-cand-refus{font-size:.68rem;color:#f87171;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-cand-score{text-align:right;line-height:1}
.pa-cand-score strong{font:700 1.35rem var(--font-display);color:#fff}
.pa-cand-score span{font-size:.7rem;color:var(--fg-dim);margin-left:1px}
.pa-cand.st-accepte .pa-cand-score strong{color:#4ade80}.pa-cand.st-refuse .pa-cand-score strong{color:#f87171}
.pa-cand-open{position:absolute;right:14px;bottom:6px;font-style:normal;font-size:.6rem;color:var(--gold);opacity:0;transform:translateY(4px);transition:.18s}
.pa-cand:hover .pa-cand-open{opacity:.85;transform:none}

/* ===== Recensement : contrôles obligatoires ===== */
.pa-recens-checks{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.pa-recens-title{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.pa-check-card{display:flex!important;flex-direction:row!important;align-items:center;gap:14px;padding:13px 15px;border:1px solid var(--border-2);border-radius:13px;background:rgba(255,255,255,.02);cursor:pointer;transition:border-color .2s,background .2s,transform .12s}
.pa-check-card:hover{border-color:rgba(201,168,76,.5)}
.pa-check-card:active{transform:scale(.99)}
.pa-check-card input{position:absolute;opacity:0;pointer-events:none}
.pa-check-box{flex:0 0 28px;width:28px;height:28px;border-radius:8px;border:2px solid var(--border-2);display:flex;align-items:center;justify-content:center;color:#07090d;transition:background .2s,border-color .2s,transform .25s cubic-bezier(.3,1.6,.5,1)}
.pa-check-box svg{width:17px;height:17px;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .3s ease .05s}
.pa-check-txt{display:flex;flex-direction:column;gap:2px}
.pa-check-txt b{font-size:.88rem;color:#fff}
.pa-check-txt small{font-size:.74rem;color:var(--fg-dim)}
.pa-check-card.checked{border-color:rgba(34,197,94,.55);background:rgba(34,197,94,.07)}
.pa-check-card.checked .pa-check-box{background:#22c55e;border-color:#22c55e;transform:scale(1.08)}
.pa-check-card.checked .pa-check-box svg{stroke-dashoffset:0}
.pa-check-card input:focus-visible+.pa-check-box{box-shadow:0 0 0 3px rgba(201,168,76,.3)}
.pa-recens-submit{position:relative;transition:background .25s,opacity .25s,transform .15s}
.pa-recens-submit .go{display:none}
.pa-recens-submit.ready .go{display:inline}.pa-recens-submit.ready .lock{display:none}
.pa-recens-submit:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.6)}
.pa-recens-submit.ready{animation:paReady .45s ease}
@keyframes paReady{0%{transform:scale(.97)}60%{transform:scale(1.03)}100%{transform:scale(1)}}
.pa-btn-unrefuse{display:inline-flex;margin-top:10px;padding:8px 14px;border-radius:9px;border:1px solid rgba(252,165,165,.45);background:rgba(255,255,255,.04);color:#fecaca;font:600 .8rem Poppins,sans-serif;cursor:pointer;transition:all .15s}
.pa-btn-unrefuse:hover{background:rgba(34,197,94,.12);border-color:#4ade80;color:#bbf7d0}
.pa-btn-unrefuse.arm{background:rgba(34,197,94,.18);border-color:#4ade80;color:#dcfce7}

/* ===== Évaluateurs multiples ===== */
.pa-multi-eval{display:flex;flex-direction:column;gap:8px;position:relative}
.pa-eval-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}
.pa-eval-label small{text-transform:none;letter-spacing:0;color:var(--fg-dim)}
.pa-eval-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pa-eval-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 8px 5px 5px;border-radius:30px;border:1px solid rgba(201,168,76,.4);background:rgba(201,168,76,.08);animation:paChipIn .22s ease both}
.pa-eval-chip .pa-agent-avatar{width:26px!important;height:26px!important;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;background:#121a26;color:var(--gold)}
.pa-eval-chip .pa-agent-avatar img{width:100%;height:100%;object-fit:cover}
.pa-eval-chip b{font-size:.78rem;color:#fff;font-weight:600}
.pa-eval-chip i{font-style:normal;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-dim);cursor:pointer;transition:background .15s,color .15s}
.pa-eval-chip i:hover{background:rgba(239,68,68,.2);color:#f87171}
.pa-eval-add{padding:7px 13px;border-radius:30px;border:1px dashed var(--border-2);background:transparent;color:var(--fg-muted);font:600 .78rem Poppins,sans-serif;cursor:pointer;transition:all .15s}
.pa-eval-add:hover{border-color:var(--gold);color:var(--gold)}
.pa-eval-menu{position:absolute;z-index:60;top:100%;left:0;right:0;margin-top:6px;max-height:260px;overflow:auto;padding:6px;border:1px solid var(--border-2);border-radius:12px;background:#0a1018;box-shadow:0 18px 40px rgba(0,0,0,.55);animation:paChipIn .18s ease both}
.pa-eval-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:#fff;cursor:pointer;text-align:left;transition:background .12s}
.pa-eval-menu button:hover{background:rgba(255,255,255,.05)}
.pa-eval-menu button b{flex:1;font-size:.82rem;font-weight:500}
.pa-eval-menu button em{font-style:normal;color:#22c55e;opacity:0;transition:opacity .15s}
.pa-eval-menu button.on{background:rgba(34,197,94,.08)}
.pa-eval-menu button.on em{opacity:1}
.pa-eval-menu .pa-agent-avatar{width:28px!important;height:28px!important;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;background:#121a26;color:var(--gold)}
.pa-eval-menu .pa-agent-avatar img{width:100%;height:100%;object-fit:cover}
.pa-fiche-reports article footer{flex-wrap:wrap}
.pa-fiche-eval{display:inline-flex;align-items:center;gap:6px;margin-right:10px}
.pa-fiche-eval .pa-agent-avatar{width:24px!important;height:24px!important;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;font-size:.55rem;background:#121a26;color:var(--gold)}
.pa-fiche-eval .pa-agent-avatar img{width:100%;height:100%;object-fit:cover}
@keyframes paChipIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}

/* ===== Évaluateurs multiples : correctif d'échelle ===== */
.pa-evaluator.pa-multi-eval{padding:14px 16px;border:1px solid var(--border-2);border-radius:12px;background:#090e15}
.pa-evaluator.pa-multi-eval>div{position:static;max-height:none;padding:0;border:0;background:none;box-shadow:none;overflow:visible;top:auto}
.pa-evaluator.pa-multi-eval>.pa-eval-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:36px}
.pa-evaluator.pa-multi-eval>.pa-eval-menu{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 6px);max-height:260px;overflow:auto;padding:6px;border:1px solid var(--border-2);border-radius:12px;background:#0a1018;box-shadow:0 18px 45px rgba(0,0,0,.6)}
.pa-evaluator.pa-multi-eval>.pa-eval-menu[hidden]{display:none}
.pa-evaluator.pa-multi-eval .pa-eval-label{font-size:.68rem}
.pa-evaluator.pa-multi-eval .pa-eval-chip{height:34px;padding:3px 6px 3px 3px}
.pa-evaluator.pa-multi-eval .pa-eval-chip b{font-size:.76rem;color:#fff}
.pa-evaluator.pa-multi-eval .pa-eval-chip .pa-agent-avatar{width:26px!important;height:26px!important;flex:0 0 26px}
.pa-evaluator.pa-multi-eval>.pa-eval-chips>button.pa-eval-add{width:auto;height:34px;padding:0 14px;display:inline-flex;align-items:center;border:1px dashed var(--border-2);border-radius:30px;background:transparent;color:var(--fg-muted);font:600 .74rem Poppins,sans-serif}
.pa-evaluator.pa-multi-eval>.pa-eval-chips>button.pa-eval-add:hover{border-color:var(--gold);color:var(--gold)}
.pa-evaluator.pa-multi-eval>.pa-eval-menu button{width:100%;height:auto;padding:8px 10px;display:flex;align-items:center;gap:10px;border:0;border-radius:9px;background:transparent;color:#fff;font:500 .8rem Poppins,sans-serif;text-align:left;cursor:pointer}
.pa-evaluator.pa-multi-eval>.pa-eval-menu button b{flex:1;font-size:.8rem;font-weight:500;color:#fff}
.pa-evaluator.pa-multi-eval>.pa-eval-menu button:hover{background:rgba(201,168,76,.08)}
.pa-evaluator.pa-multi-eval>.pa-eval-menu button.on{background:rgba(34,197,94,.09)}
.pa-evaluator.pa-multi-eval>.pa-eval-menu .pa-agent-avatar{width:28px!important;height:28px!important;flex:0 0 28px}

/* ===== Barre de synchronisation temps réel ===== */
.live-sync-bar{position:fixed;left:50%;bottom:22px;z-index:900;display:flex;align-items:center;gap:14px;max-width:calc(100% - 32px);padding:12px 14px 12px 18px;border-radius:14px;border:1px solid rgba(201,168,76,.45);background:rgba(10,16,24,.96);backdrop-filter:blur(10px);box-shadow:0 18px 50px rgba(0,0,0,.6);color:#e8edf5;font-size:.85rem;transform:translate(-50%,30px);opacity:0;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .3s}
.live-sync-bar.show{transform:translate(-50%,0);opacity:1}
.live-sync-dot{flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:var(--gold);animation:dashPulse 1.4s ease-out infinite}
.live-sync-bar button{flex:0 0 auto;padding:8px 14px;border:0;border-radius:9px;background:var(--gold);color:#07090d;font:700 .78rem Poppins,sans-serif;cursor:pointer}
.live-sync-bar button:hover{filter:brightness(1.1)}

/* ===== Tiroirs Aide P.A / Journal — v2 ===== */
.pa-drawer.pa-help-drawer,.pa-drawer.pa-log-drawer{position:fixed;top:0;bottom:0;width:min(430px,92vw);z-index:470;pointer-events:auto;transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.pa-drawer.pa-help-drawer{right:0;left:auto;transform:translateX(100%)}
.pa-drawer.pa-log-drawer{left:0;right:auto;transform:translateX(-100%)}
.pa-drawer.open{transform:translateX(0)!important}
.pa-drawer>.pa-drawer-tab{position:absolute!important;top:140px!important;width:42px;padding:18px 0!important;display:flex;flex-direction:column;align-items:center;gap:8px;writing-mode:vertical-rl;border:0;font:700 .74rem var(--font-display)!important;letter-spacing:.2em;cursor:pointer;transition:filter .15s,padding .2s}
.pa-drawer.pa-help-drawer>.pa-drawer-tab{left:-42px!important;right:auto!important;border-radius:12px 0 0 12px!important;background:linear-gradient(180deg,#e0c167,#b8932f)!important;color:#07090d!important;box-shadow:-8px 0 24px rgba(0,0,0,.45)}
.pa-drawer.pa-log-drawer>.pa-drawer-tab{right:-42px!important;left:auto!important;border-radius:0 12px 12px 0!important;background:linear-gradient(180deg,#1f2c3f,#131c29)!important;color:var(--gold)!important;border:1px solid rgba(201,168,76,.35)!important;border-left:0!important;box-shadow:8px 0 24px rgba(0,0,0,.45)}
.pa-drawer>.pa-drawer-tab:hover{filter:brightness(1.12);padding:22px 0!important}
.pa-drawer>.pa-drawer-tab i{writing-mode:horizontal-tb;font-style:normal;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--gold);color:#07090d;font:700 .62rem Poppins,sans-serif;display:flex;align-items:center;justify-content:center;letter-spacing:0}
.pa-drawer>.pa-drawer-panel{position:absolute!important;inset:0!important;width:auto!important;transform:none!important;padding:0!important;display:flex;flex-direction:column;overflow:hidden!important;background:linear-gradient(180deg,#0c131d,#080d14)!important;box-shadow:0 0 80px rgba(0,0,0,.75)}
.pa-drawer.pa-help-drawer>.pa-drawer-panel{border-left:1px solid rgba(201,168,76,.3)!important}
.pa-drawer.pa-log-drawer>.pa-drawer-panel{border-right:1px solid rgba(201,168,76,.3)!important}
html.pa-drawer-open .pa-discord-open{opacity:0;pointer-events:none}
.pa-discord-open{transition:opacity .2s}
.pa-drawer-head{display:flex;align-items:center;gap:14px;padding:26px 26px 20px;border-bottom:1px solid var(--border);background:radial-gradient(ellipse at 0% 0%,rgba(201,168,76,.14),transparent 70%)}
.pa-drawer-ico{flex:0 0 44px;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.35);color:var(--gold);font:700 1.3rem var(--font-display)}
.pa-drawer-head small{font-size:.62rem;letter-spacing:.22em;color:var(--gold)}
.pa-drawer-head h2{margin:2px 0 0!important;font:700 1.35rem var(--font-display)!important;color:#fff!important;letter-spacing:.02em}

/* Aide */
.pa-help-drawer .pa-drawer-panel{overflow-y:auto!important}
.ph-block{padding:22px 26px;border-bottom:1px solid var(--border);border-top:0!important;margin:0!important}
.ph-block h3{display:flex;align-items:center;gap:10px;margin:0 0 14px!important;font:700 1.05rem var(--font-display)!important;color:#fff!important;text-transform:uppercase;letter-spacing:.06em}
.ph-block h3 i{font-style:normal;font-size:.7rem;padding:3px 8px;border-radius:6px;background:var(--gold);color:#07090d}
.ph-block h4{margin:16px 0 8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold)}
.ph-intro{margin:0 0 12px!important;color:var(--fg-muted)!important;font-size:.84rem!important;line-height:1.55}
.ph-intro b{color:#fff}
.ph-steps{list-style:none;margin:0;padding:0;counter-reset:st;display:flex;flex-direction:column;gap:8px}
.ph-steps li{counter-increment:st;position:relative;padding:11px 12px 11px 44px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.02)}
.ph-steps li::before{content:counter(st);position:absolute;left:12px;top:11px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(201,168,76,.15);color:var(--gold);font:700 .72rem Poppins,sans-serif}
.ph-steps b{display:block;font-size:.86rem;color:#fff}
.ph-steps span{font-size:.78rem;color:var(--fg-muted);line-height:1.5}
.ph-steps li.danger{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.06)}
.ph-steps li.danger::before{background:rgba(239,68,68,.2);color:#f87171}
.ph-steps u{color:#f87171;text-decoration:none;font-weight:600}
.ph-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ph-cards div{padding:12px 8px;text-align:center;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.02);display:flex;flex-direction:column;gap:3px}
.ph-cards em{font-style:normal;font-size:1.3rem}
.ph-cards b{font-size:.78rem;color:#fff}
.ph-cards span{font-size:.66rem;color:var(--fg-dim)}
.ph-cards strong{font:700 .95rem var(--font-display);color:var(--gold)}
.ph-verdict{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ph-verdict div{padding:9px 6px;border-radius:10px;text-align:center;font-size:.76rem;font-weight:600}
.ph-verdict b{display:block;font:700 .8rem var(--font-display);margin-bottom:2px}
.ph-verdict .ko{background:rgba(239,68,68,.12);color:#fca5a5;border:1px solid rgba(239,68,68,.3)}
.ph-verdict .ok{background:rgba(34,197,94,.1);color:#86efac;border:1px solid rgba(34,197,94,.28)}
.ph-table{width:100%;border-collapse:collapse;font-size:.8rem}
.ph-table td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--fg-muted)}
.ph-table td:last-child{text-align:right;color:var(--gold);font-weight:600;white-space:nowrap}
.ph-table tr:last-child td{border-bottom:0}
.ph-table .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px}
.dot.good{background:#22c55e}.dot.mid{background:var(--gold)}.dot.bad{background:#ef4444}
.ph-seuil{margin-top:16px;padding:12px 14px;border-radius:11px;text-align:center;background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.3);color:var(--fg-muted);font-size:.84rem}
.ph-seuil b{color:var(--gold);font-family:var(--font-display);font-size:1rem}

/* Journal */
.pj-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px 22px 0}
.pj-stats div{padding:10px 6px;text-align:center;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.02)}
.pj-stats b{display:block;font:700 1.2rem var(--font-display);color:#fff}
.pj-stats span{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-dim)}
.pj-filters{padding:14px 22px 10px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:10px}
.pj-chips{display:flex;flex-wrap:wrap;gap:6px}
.pj-chips button{padding:6px 12px;border-radius:20px;border:1px solid var(--border-2);background:transparent;color:var(--fg-muted);font:600 .74rem Poppins,sans-serif;cursor:pointer;transition:all .15s}
.pj-chips button:hover{border-color:var(--gold);color:#fff}
.pj-chips button.on{background:var(--gold);border-color:var(--gold);color:#07090d}
.pj-row{display:grid;grid-template-columns:1fr 150px;gap:8px}
.pj-row input,.pj-row select{width:100%;padding:9px 12px;border-radius:9px;border:1px solid var(--border-2);background:#070b12;color:#fff;font:500 .8rem Poppins,sans-serif;outline:none;transition:border-color .15s}
.pj-row input:focus,.pj-row select:focus{border-color:var(--gold)}
.pj-count{font-size:.72rem;color:var(--fg-dim)}
.pj-count b{color:var(--gold)}
.pj-list{flex:1;overflow-y:auto;padding:8px 22px 30px}
.pj-item{display:flex!important;gap:12px;align-items:flex-start!important;padding:12px 0!important;border-bottom:1px solid var(--border);animation:paChipIn .25s ease both}
.pj-item[hidden]{display:none!important}
.pj-av{position:relative;flex:0 0 38px;width:38px;height:38px}
.pj-av img,.pj-av>span{width:38px!important;height:38px!important;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:#151f2d;color:var(--fg-muted);font:700 .7rem Poppins,sans-serif;border:1px solid var(--border-2)}
.pj-av i{position:absolute;right:-4px;bottom:-4px;width:19px;height:19px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:.6rem;background:#1b2636;border:2px solid #0a1018;color:#fff}
.c-cand .pj-av i{background:#1e3a5f}.c-note .pj-av i{background:#5b4613}.c-team .pj-av i{background:#14532d}.c-session .pj-av i{background:#3b2a5c}
.pj-body{flex:1;min-width:0}
.pj-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.pj-top b{font-size:.82rem!important;color:#fff!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pj-top time{flex:0 0 auto;font-size:.68rem;color:var(--fg-dim)}
.pj-body p{margin:3px 0 0!important;font-size:.82rem!important;color:var(--fg-muted)!important;line-height:1.45}
.pj-body p b{color:var(--gold)}
.pj-body small{display:block;margin-top:5px;padding:6px 9px;border-radius:8px;background:rgba(255,255,255,.03);border-left:2px solid var(--border-2);font-size:.74rem!important;color:var(--fg-dim)!important;line-height:1.45}
.c-cand .pj-body small{border-left-color:#3b82f6}.c-note .pj-body small{border-left-color:var(--gold)}.c-team .pj-body small{border-left-color:#22c55e}.c-session .pj-body small{border-left-color:#8b5cf6}
.pj-body small b{color:#fff}
@media(max-width:520px){.pj-row{grid-template-columns:1fr}.ph-cards{grid-template-columns:1fr}}

/* ===== Tiroirs : sous la barre du haut + échelle réduite ===== */
.pa-drawer.pa-help-drawer,.pa-drawer.pa-log-drawer{top:var(--topbar-h,64px)!important;bottom:0!important;width:min(380px,90vw)!important;z-index:300!important}
.pa-drawer>.pa-drawer-tab{top:80px!important;width:36px;font-size:.66rem!important;padding:14px 0!important}
.pa-drawer.pa-help-drawer>.pa-drawer-tab{left:-36px!important}
.pa-drawer.pa-log-drawer>.pa-drawer-tab{right:-36px!important}
.pa-drawer>.pa-drawer-tab:hover{padding:17px 0!important}
.pa-drawer-head{padding:16px 18px 14px;gap:11px}
.pa-drawer-ico{flex:0 0 34px;width:34px;height:34px;border-radius:9px;font-size:1rem}
.pa-drawer-head small{font-size:.56rem}
.pa-drawer-head h2{font-size:1.05rem!important}
.ph-block{padding:16px 18px}
.ph-block h3{font-size:.86rem!important;margin:0 0 10px!important}
.ph-block h3 i{font-size:.6rem;padding:2px 6px}
.ph-block h4{font-size:.62rem;margin:12px 0 6px}
.ph-intro{font-size:.74rem!important;margin:0 0 9px!important}
.ph-steps{gap:6px}
.ph-steps li{padding:8px 10px 8px 36px;border-radius:9px}
.ph-steps li::before{left:9px;top:8px;width:18px;height:18px;font-size:.6rem}
.ph-steps b{font-size:.76rem}
.ph-steps span{font-size:.69rem;line-height:1.4}
.ph-cards{gap:6px}
.ph-cards div{padding:9px 5px;gap:2px;border-radius:9px}
.ph-cards em{font-size:1rem}
.ph-cards b{font-size:.68rem}
.ph-cards span{font-size:.58rem}
.ph-cards strong{font-size:.8rem}
.ph-verdict div{padding:7px 4px;font-size:.66rem;border-radius:8px}
.ph-verdict b{font-size:.7rem}
.ph-table{font-size:.7rem}
.ph-table td{padding:6px 8px}
.ph-seuil{margin-top:12px;padding:9px 12px;font-size:.74rem}
.ph-seuil b{font-size:.86rem}
.pj-stats{padding:12px 16px 0;gap:6px}
.pj-stats div{padding:7px 4px}
.pj-stats b{font-size:.95rem}
.pj-stats span{font-size:.55rem}
.pj-filters{padding:10px 16px 8px;gap:8px}
.pj-chips{gap:5px}
.pj-chips button{padding:4px 9px;font-size:.66rem}
.pj-row{grid-template-columns:1fr 120px;gap:6px}
.pj-row input,.pj-row select{padding:7px 9px;font-size:.7rem}
.pj-count{font-size:.64rem}
.pj-list{padding:4px 16px 24px}
.pj-item{gap:10px;padding:9px 0!important}
.pj-av,.pj-av img,.pj-av>span{flex:0 0 30px;width:30px!important;height:30px!important}
.pj-av>span{font-size:.6rem}
.pj-av i{width:15px;height:15px;font-size:.5rem;right:-3px;bottom:-3px}
.pj-top b{font-size:.72rem!important}
.pj-top time{font-size:.6rem}
.pj-body p{font-size:.72rem!important}
.pj-body small{font-size:.65rem!important;padding:5px 8px;margin-top:4px}

/* ===== FolkOS : envoi d'image par lien, confirmations 2 temps, aide connexion IG ===== */
.settings-avatar-url{display:flex;gap:6px;margin-top:10px;max-width:340px}
.settings-avatar-url input{flex:1;min-width:0;padding:8px 10px;border-radius:9px;border:1px solid var(--border-2);background:#070b12;color:#fff;font:500 .78rem Poppins,sans-serif}
.settings-avatar-url input:focus{outline:none;border-color:var(--gold)}
.pa-photo-url input{font-size:.85rem}
.login-ig-hint{margin:14px 0 0;text-align:center;font-size:.75rem;color:var(--fg-dim);line-height:1.5}
.act-delete.arm,[data-confirm].arm{border-color:#f87171!important;color:#f87171!important;background:rgba(239,68,68,.12)!important}
