/* ═══ ZYNERIS CSS SPÉCIFIQUE ═══ */
:root {
  --z-dark: #040D1E;
  --z-dark2: #070F28;
  --z-blue: #2A6FC7;
  --z-blue2: #38A3F5;
  --z-gold: #F0B429;
  --z-red: #EF4444;
  --z-purple: #7C3AED;
  --z-green: #059669;
  --z-grey: #94A3B8;
  --z-border: rgba(42,111,199,.15);
}

body { background: #fff; color: #0B1E3D; }

.z-hero { min-height: calc(100vh - 60px); background: linear-gradient(145deg,#040D1E 0%,#0B1E3D 50%,#040D1E 100%); display: flex; align-items: center; position: relative; overflow: hidden; }
.z-section { padding: 5rem; max-width: 1280px; margin: 0 auto; }
.z-label { font-family: 'IBM Plex Mono', monospace; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--z-blue); background: rgba(42,111,199,.08); border: 1px solid rgba(42,111,199,.2); padding: .28rem .75rem; border-radius: 20px; display: inline-block; margin-bottom: 1.25rem; }
.z-label.red { color: var(--z-red); background: rgba(239,68,68,.08); border-color: rgba(239,68,68,.2); }
.z-label.gold { color: var(--z-gold); background: rgba(240,180,41,.08); border-color: rgba(240,180,41,.2); }
.z-label.purple { color: var(--z-purple); background: rgba(124,58,237,.08); border-color: rgba(124,58,237,.2); }
.z-label.green { color: var(--z-green); background: rgba(5,150,105,.08); border-color: rgba(5,150,105,.2); }

.z-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 12px; padding: 1.5rem; box-shadow: 0 1px 3px rgba(15,27,61,.07); transition: all .2s; }
.z-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(15,27,61,.12); }
.z-card.dark { background: #0B1E3D; border-color: rgba(255,255,255,.06); color: #fff; }
.z-card.blue-top { border-top: 3px solid var(--z-blue); }
.z-card.red-top { border-top: 3px solid var(--z-red); }
.z-card.gold-top { border-top: 3px solid var(--z-gold); }
.z-card.purple-top { border-top: 3px solid var(--z-purple); }

.z-btn { display: inline-flex; align-items: center; gap: .5rem; padding: .65rem 1.5rem; border-radius: 8px; font-weight: 700; font-size: .85rem; text-decoration: none; transition: all .2s; cursor: pointer; border: none; font-family: 'IBM Plex Sans', sans-serif; }
.z-btn-blue { background: linear-gradient(135deg,#2A6FC7,#1a4fa0); color: #fff; }
.z-btn-blue:hover { opacity: .88; transform: translateY(-1px); }
.z-btn-gold { background: linear-gradient(135deg,#C8960C,#F0B429); color: #0B1E3D; }
.z-btn-gold:hover { opacity: .88; transform: translateY(-1px); }
.z-btn-outline { background: transparent; color: #2A6FC7; border: 1.5px solid #2A6FC7; }
.z-btn-outline:hover { background: rgba(42,111,199,.06); }
.z-btn-red { background: linear-gradient(135deg,#B91C1C,#EF4444); color: #fff; }
.z-btn-red:hover { opacity: .88; transform: translateY(-1px); }

.z-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.z-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; }
.z-grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }

.z-stat { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 1.25rem; text-align: center; }
.z-stat .v { font-family: 'Syne', sans-serif; font-size: 2rem; font-weight: 800; color: var(--z-gold); letter-spacing: -.05em; line-height: 1; }
.z-stat .l { font-family: 'IBM Plex Mono', monospace; font-size: .6rem; color: var(--z-grey); margin-top: .2rem; text-transform: uppercase; letter-spacing: .1em; }

.z-tag { font-family: 'IBM Plex Mono', monospace; font-size: .6rem; background: #EFF6FF; color: #1D4ED8; padding: .15rem .5rem; border-radius: 20px; border: 1px solid #BFDBFE; }
.z-tag.red { background: #FEF2F2; color: #991B1B; border-color: #FECACA; }
.z-tag.purple { background: #F5F3FF; color: #5B21B6; border-color: #DDD6FE; }
.z-tag.green { background: #F0FDF4; color: #065F46; border-color: #BBF7D0; }

.z-divider { border: none; border-top: 1px solid #E2E8F0; margin: 3rem 0; }

.z-alert { border-radius: 10px; padding: 1.1rem 1.4rem; font-size: .86rem; line-height: 1.68; margin: 1.25rem 0; }
.z-alert.info { background: #EFF6FF; border-left: 4px solid #2A6FC7; color: #1D4ED8; }
.z-alert.warn { background: #FFFBEB; border-left: 4px solid #F59E0B; color: #92400E; }
.z-alert.danger { background: #FFF1F2; border-left: 4px solid #EF4444; color: #881337; }
.z-alert.ok { background: #F0FDF4; border-left: 4px solid #059669; color: #065F46; }

footer.z-footer { background: #040D1E; color: #94A3B8; padding: 3rem 5rem; border-top: 1px solid rgba(42,111,199,.15); }
