/* CSS extrait des balises <style> des templates Twig
   Fichier généré pour centraliser les styles inline.
*/

/* ===== templates/base.html.twig ===== */
:root{
  --ink:#0b1324;
  --muted:#51607a;
  --glass: rgba(255,255,255,.72);
  --shadow: 0 18px 60px rgba(11,19,36,.10);
  --radius: 22px;
}
body{
  color: var(--ink);
  background:
    radial-gradient(900px 400px at 10% 0%, rgba(99,102,241,.18), transparent 60%),
    radial-gradient(900px 400px at 90% 10%, rgba(34,197,94,.14), transparent 55%),
    radial-gradient(900px 500px at 60% 100%, rgba(245,158,11,.14), transparent 55%),
    linear-gradient(180deg, #f8fafc 0%, #ffffff 55%, #ffffff 100%);
}
.glass{
  background: var(--glass);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(11,19,36,.06);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.brand{ letter-spacing: -.02em; }
.chip{
  border-radius: 999px;
  padding: .35rem .7rem;
  font-weight: 700;
  font-size: .85rem;
  border: 1px solid rgba(11,19,36,.08);
  background: rgba(255,255,255,.75);
}
.kpi{ font-weight: 900; letter-spacing: -.03em; }
.muted{ color: var(--muted); }
.btn-dark{
  border-radius: 14px;
  box-shadow: 0 12px 24px rgba(11,19,36,.18);
}
.card-kpi{
  border-radius: var(--radius);
  border: 1px solid rgba(11,19,36,.06);
  box-shadow: 0 14px 40px rgba(11,19,36,.10);
  overflow: hidden;
  background: white;
}
.card-kpi .top{
  padding: 14px 16px;
  background: rgba(248,250,252,.9);
  border-bottom: 1px solid rgba(11,19,36,.06);
}
.badge-up{ background:#ffe3e3; color:#b02a37; border:1px solid #ffc9c9; }
.badge-down{ background:#e6fcf5; color:#087f5b; border:1px solid #c3fae8; }
.badge-flat{ background:#f1f3f5; color:#495057; border:1px solid rgba(11,19,36,.10); }

.grad-gazole{ background: radial-gradient(800px 220px at 20% 0%, rgba(59,130,246,.20), transparent 60%); }
.grad-e10   { background: radial-gradient(800px 220px at 20% 0%, rgba(34,197,94,.20), transparent 60%); }
.grad-sp95  { background: radial-gradient(800px 220px at 20% 0%, rgba(249,115,22,.22), transparent 60%); }
.grad-sp98  { background: radial-gradient(800px 220px at 20% 0%, rgba(168,85,247,.22), transparent 60%); }
.grad-e85   { background: radial-gradient(800px 220px at 20% 0%, rgba(14,165,233,.20), transparent 60%); }
.grad-gplc  { background: radial-gradient(800px 220px at 20% 0%, rgba(245,158,11,.22), transparent 60%); }

a{ text-decoration: none; }
.nav-link{ color: rgba(11,19,36,.72); font-weight: 700; }
.nav-link:hover{ color: rgba(11,19,36,.95); }
.badge.freshness{
  border-radius: 999px;
  padding: .35rem .6rem;
  font-weight: 700;
  border: 1px solid rgba(11,19,36,.12);
}
.freshness-ok{ background:#dcfce7; color:#14532d; border-color:#bbf7d0; }
.freshness-warn{ background:#ffedd5; color:#7c2d12; border-color:#fed7aa; }
.freshness-old{ background:#fee2e2; color:#7f1d1d; border-color:#fecaca; }
.freshness-unk{ background:#e5e7eb; color:#111827; border-color:#d1d5db; }
.fuel-pill{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.25rem .55rem;
  border-radius:999px;
  border:1px solid rgba(11,19,36,.10);
  background:#fff;
  font-weight:800;
}
.fuel-dot{
  width:.7rem;height:.7rem;border-radius:999px;
  box-shadow: 0 0 0 2px rgba(255,255,255,.9);
}
.fuel-GAZOLE .fuel-dot{ background:#111827; }
.fuel-E10 .fuel-dot{ background:#10b981; }
.fuel-SP95 .fuel-dot{ background:#3b82f6; }
.fuel-SP98 .fuel-dot{ background:#7c3aed; }
.fuel-E85 .fuel-dot{ background:#22c55e; }
.fuel-GPLC .fuel-dot{ background:#6b7280; }
.fuel-price{ font-weight: 900; letter-spacing: -.02em; }
.fuel-GAZOLE .fuel-price{ color:#111827; }
.fuel-E10 .fuel-price{ color:#047857; }
.fuel-SP95 .fuel-price{ color:#1d4ed8; }
.fuel-SP98 .fuel-price{ color:#6d28d9; }
.fuel-E85 .fuel-price{ color:#15803d; }
.fuel-GPLC .fuel-price{ color:#374151; }
.price-tile{
  min-width: 110px;
  padding: .65rem .7rem;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(11,19,36,.10);
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
}
.price-tile.is-selected{
  border-color: #111827;
  box-shadow: 0 0 0 2px rgba(17,24,39,.12);
}
.fuel-dot{ width:.65rem;height:.65rem;border-radius:999px; display:inline-block; }
.price-tile .fuel-name{ display:flex; align-items:center; gap:.35rem; }
.price-tile .price-value{
  font-weight: 900;
  letter-spacing: -.02em;
  font-size: 1.02rem;
  line-height: 1.15;
  margin-top: .15rem;
}
.badge.freshness{
  border-radius: 999px;
  padding: .18rem .42rem;
  font-weight: 800;
  border: 1px solid rgba(11,19,36,.12);
  background:#fff;
  white-space: nowrap;
  font-size: .72rem;
}
.freshness-ok{ background:#dcfce7; color:#14532d; border-color:#bbf7d0; }
.freshness-warn{ background:#ffedd5; color:#7c2d12; border-color:#fed7aa; }
.freshness-old{ background:#fee2e2; color:#7f1d1d; border-color:#fecaca; }
.freshness-unk{ background:#e5e7eb; color:#111827; border-color:#d1d5db; }
.fuel-GAZOLE .fuel-dot{ background:#111827; }
.fuel-E10    .fuel-dot{ background:#10b981; }
.fuel-SP95   .fuel-dot{ background:#3b82f6; }
.fuel-SP98   .fuel-dot{ background:#7c3aed; }
.fuel-E85    .fuel-dot{ background:#22c55e; }
.fuel-GPLC   .fuel-dot{ background:#6b7280; }
.fuel-GAZOLE .price-value{ color:#111827; }
.fuel-E10    .price-value{ color:#047857; }
.fuel-SP95   .price-value{ color:#1d4ed8; }
.fuel-SP98   .price-value{ color:#6d28d9; }
.fuel-E85    .price-value{ color:#15803d; }
.fuel-GPLC   .price-value{ color:#374151; }
.badge-trend{
  border-radius: 999px;
  padding: .18rem .42rem;
  font-weight: 800;
  font-size: .72rem;
  border: 1px solid rgba(11,19,36,.12);
  background:#fff;
}
.badge-trend.up{ background:#ffedd5; color:#7c2d12; border-color:#fed7aa; }
.badge-trend.down{ background:#dcfce7; color:#14532d; border-color:#bbf7d0; }
.badge-trend.flat{ background:#e5e7eb; color:#111827; border-color:#d1d5db; }
.badge-trend.na{ background:#f3f4f6; color:#374151; border-color:#e5e7eb; }

/* ===== templates/station/show.html.twig ===== */
.glass { background: linear-gradient(135deg, rgba(255,255,255,.85), rgba(255,255,255,.65)); border:1px solid rgba(11,19,36,.08); border-radius: 1.25rem; }
.badge-up { background: #ffedd5; color:#7c2d12; border:1px solid #fed7aa; }
.badge-down { background:#dcfce7; color:#14532d; border:1px solid #bbf7d0; }
.badge-flat { background:#e5e7eb; color:#111827; border:1px solid #d1d5db; }
.freshness-ok { background:#dcfce7; color:#14532d; border:1px solid #bbf7d0; }
.freshness-warn { background:#ffedd5; color:#7c2d12; border:1px solid #fed7aa; }
.freshness-old { background:#fee2e2; color:#7f1d1d; border:1px solid #fecaca; }
.freshness-unk { background:#e5e7eb; color:#111827; border:1px solid #d1d5db; }
.price-tile { min-width: 130px; border-radius: 14px; border:1px solid rgba(11,19,36,.10); background:#fff; padding:.65rem .75rem; }
.price-value { font-weight:900; letter-spacing:-.02em; font-size: 1.05rem; }
.tile-head { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.fuel-dot { width:10px; height:10px; border-radius:999px; display:inline-block; margin-right:.35rem; }
.fuel-GAZOLE .fuel-dot { background:#111827; }
.fuel-E10 .fuel-dot { background:#16a34a; }
.fuel-SP95 .fuel-dot { background:#f59e0b; }
.fuel-SP98 .fuel-dot { background:#ef4444; }
.fuel-E85 .fuel-dot { background:#22c55e; }
.fuel-GPLC .fuel-dot { background:#3b82f6; }
.chip { display:inline-flex; gap:.35rem; align-items:center; padding:.35rem .7rem; border:1px solid rgba(11,19,36,.12); border-radius:999px; background:#fff; text-decoration:none; }
.muted { color: rgba(17,24,39,.72); }
#mapStation { height: 280px; border-radius: 1rem; overflow:hidden; border:1px solid rgba(11,19,36,.10); }

/* ===== templates/station/nearby.html.twig ===== */
#map { height: 420px; border-radius: 1rem; }
.price-big { font-weight: 900; letter-spacing: -.02em; }
.pill { border: 1px solid rgba(11,19,36,.12); border-radius: 999px; padding:.35rem .7rem; background:#fff; }
.badge-up { background: #ffedd5; color:#7c2d12; border:1px solid #fed7aa; }
.badge-down { background:#dcfce7; color:#14532d; border:1px solid #bbf7d0; }
.badge-flat { background:#e5e7eb; color:#111827; border:1px solid #d1d5db; }
.glass { background: linear-gradient(135deg, rgba(255,255,255,.85), rgba(255,255,255,.65)); border:1px solid rgba(11,19,36,.08); border-radius: 1.25rem; }
.trend { font-weight:700; }
.z-top { position: relative; z-index: 10; }

/* ===== templates/station/by_service.html.twig ===== */
#map { height: 420px; border-radius: 1rem; }
.price-big { font-weight: 900; letter-spacing: -.02em; }
.pill { border: 1px solid rgba(11,19,36,.12); border-radius: 999px; padding:.35rem .7rem; background:#fff; }
.badge-up { background: #ffedd5; color:#7c2d12; border:1px solid #fed7aa; }
.badge-down { background:#dcfce7; color:#14532d; border:1px solid #bbf7d0; }
.badge-flat { background:#e5e7eb; color:#111827; border:1px solid #d1d5db; }
.glass { background: linear-gradient(135deg, rgba(255,255,255,.85), rgba(255,255,255,.65)); border:1px solid rgba(11,19,36,.08); border-radius: 1.25rem; }
.trend { font-weight:700; }
.z-top { position: relative; z-index: 10; }
.tiles { display:grid; gap:.5rem; margin-top:.6rem; }
.price-tile { border:1px solid rgba(11,19,36,.08); border-radius:.85rem; padding:.65rem .75rem; background:#fff; }
.fuel-top { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.fuel-name { display:flex; align-items:center; gap:.45rem; font-size:.9rem; color:#374151; }
.fuel-dot { width:10px; height:10px; border-radius:99px; background:#111827; display:inline-block; }
.price-value { font-weight:900; font-size:1.2rem; margin-top:.15rem; }
.freshness { border-radius:999px; padding:.2rem .5rem; border:1px solid rgba(11,19,36,.12); background:#fff; font-size:.75rem; }
.freshness-ok { background:#dcfce7; border-color:#bbf7d0; color:#14532d; }
.freshness-warn { background:#ffedd5; border-color:#fed7aa; color:#7c2d12; }
.freshness-old { background:#fee2e2; border-color:#fecaca; color:#7f1d1d; }
.freshness-unk { background:#e5e7eb; border-color:#d1d5db; color:#111827; }
.badge-trend { border-radius:999px; padding:.2rem .55rem; border:1px solid rgba(11,19,36,.12); font-size:.75rem; font-weight:800; display:inline-block; }
.badge-trend.down { background:#dcfce7; border-color:#bbf7d0; color:#14532d; }
.badge-trend.up { background:#ffedd5; border-color:#fed7aa; color:#7c2d12; }
.badge-trend.flat { background:#e5e7eb; border-color:#d1d5db; color:#111827; }
.badge-trend.na { background:#f3f4f6; border-color:#e5e7eb; color:#374151; }

/* ===== templates/city/service.html.twig ===== */
.glass { background: linear-gradient(135deg, rgba(255,255,255,.85), rgba(255,255,255,.65)); border:1px solid rgba(11,19,36,.08); border-radius: 1.25rem; }
.pill { border: 1px solid rgba(11,19,36,.12); border-radius: 999px; padding:.35rem .7rem; background:#fff; }
.price-big { font-weight: 900; letter-spacing: -.02em; }
.badge-up { background:#ffedd5; color:#7c2d12; border:1px solid #fed7aa; }
.badge-down { background:#dcfce7; color:#14532d; border:1px solid #bbf7d0; }
.badge-flat { background:#e5e7eb; color:#111827; border:1px solid #d1d5db; }
.fuel-pill { font-weight:800; border-radius:999px; padding:.25rem .55rem; border:1px solid rgba(0,0,0,.08); }
.price-box { min-width: 98px; }
.muted { color: rgba(11,19,36,.62); }
.station-card { border-color: rgba(11,19,36,.08) !important; }

/* ===== templates/station/brand.html.twig ===== */
#map { height: 420px; border-radius: 1rem; }
.price-big { font-weight: 900; letter-spacing: -.02em; }
.pill { border: 1px solid rgba(11,19,36,.12); border-radius: 999px; padding:.35rem .7rem; background:#fff; }
.badge-up { background: #ffedd5; color:#7c2d12; border:1px solid #fed7aa; }
.badge-down { background:#dcfce7; color:#14532d; border:1px solid #bbf7d0; }
.badge-flat { background:#e5e7eb; color:#111827; border:1px solid #d1d5db; }
.glass { background: linear-gradient(135deg, rgba(255,255,255,.85), rgba(255,255,255,.65)); border:1px solid rgba(11,19,36,.08); border-radius: 1.25rem; }
.trend { font-weight:700; }
.z-top { position: relative; z-index: 10; }

