/* ==========================================================================
   Newo — habillage « application » orange, commun aux pages restantes
   (portefeuille, historique, réglages, forfaits, localisation, suivi,
   mot de passe…). Chargé APRÈS les autres feuilles de style.
   ========================================================================== */
:root {
  --sk-o1: #ff9d1c;
  --sk-o2: #f26b00;
  --sk-grad: linear-gradient(135deg, #ff9d1c, #f26b00);
  --sk-shadow: 0 10px 24px -12px rgba(242, 107, 0, 0.65);
}

/* Accent de la marque : l'ambre devient l'orange Newo partout (dégradés,
   pastilles, bulles de chat…), avec du texte blanc dessus. */
:root, html[data-theme="light"], html[data-theme="dark"] {
  --amber: #f26b00;
  --amber-soft: #ff9d1c;
  --on-accent: #ffffff;
}

/* ---- Boutons principaux : dégradé orange, texte blanc ------------------ */
.btn-primary, .btn-primary-block, .subscription-gate .btn-primary,
.geo-share-btn.primary, .lp-sheet-ok {
  background: var(--sk-grad) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: var(--sk-shadow);
  font-weight: 600;
}
.btn-primary svg, .btn-primary-block svg { stroke: currentColor; }
.tab-link.active, .sidebar-nav a.active { color: var(--sk-o2); }

/* ---- Cartes plus rondes ------------------------------------------------- */
.stat-card, .settings-card, .plan-card, .panel, .geo-card {
  border-radius: 20px;
}
.geo-card { border-radius: 24px; }

/* ---- Pages « carte centrée » (localisation, forfait, mot de passe) ------- */
@media (max-width: 640px) {
  .geo-shell {
    position: relative;
    align-items: flex-start;
    padding: 64px 16px 28px;
    background: var(--navy-950);
    overflow: hidden;
  }
  .geo-shell::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 190px;
    background: var(--sk-grad); border-radius: 0 0 32px 32px;
    box-shadow: 0 12px 30px -16px rgba(242, 107, 0, 0.7);
  }
  .geo-shell > .geo-card { position: relative; box-shadow: 0 18px 40px -18px rgba(20, 25, 40, 0.35); }
  .geo-brand { justify-content: center; }
}

/* ---- Suivi (track) : bandeau orange ------------------------------------- */
@media (max-width: 900px) {
  .track-header {
    background: var(--sk-grad);
    color: #fff;
    border-bottom: 0;
    border-radius: 0 0 24px 24px;
    padding: calc(14px + env(safe-area-inset-top, 0px)) 16px 16px;
    box-shadow: 0 10px 26px -14px rgba(242, 107, 0, 0.7);
  }
  .track-header .brand-logo-img { filter: brightness(0) invert(1); height: 26px; }
  .track-header .track-client-info, .track-header .track-client-info * { color: #fff; }
}

/* ---- Pages à barre latérale (portefeuille, historique, réglages, forfaits) */
@media (max-width: 900px) {
  html:not(.has-app-home) .app-shell > .main > .topbar:first-child {
    margin: -18px -16px 16px;
    padding: calc(16px + env(safe-area-inset-top, 0px)) 18px 20px;
    background: var(--sk-grad);
    border-radius: 0 0 28px 28px;
    box-shadow: 0 10px 28px -14px rgba(242, 107, 0, 0.7);
    color: #fff;
  }
  html:not(.has-app-home) .main > .topbar:first-child h1,
  html:not(.has-app-home) .main > .topbar:first-child .topbar-eyebrow,
  html:not(.has-app-home) .main > .topbar:first-child p { color: #fff; }
  html:not(.has-app-home) .main > .topbar:first-child .topbar-eyebrow { opacity: 0.85; }
  html:not(.has-app-home) .main > .topbar:first-child .icon-btn {
    background: rgba(255, 255, 255, 0.2); border: 0; color: #fff; border-radius: 14px;
  }
  html:not(.has-app-home) .main > .topbar:first-child .btn-primary {
    background: #fff !important; color: var(--sk-o2) !important; box-shadow: none;
  }
  html:not(.has-app-home) .main > .topbar:first-child .profile-chip { color: #fff; }

  /* Barre du bas : flottante, arrondie */
  .mobile-tabbar {
    left: 12px; right: 12px; bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    padding: 8px 6px;
    background: var(--navy-900);
    border: 1px solid var(--navy-700);
    border-radius: 22px;
    box-shadow: 0 14px 34px -14px rgba(20, 25, 40, 0.45);
    backdrop-filter: none;
  }
  .tab-link.active { color: var(--sk-o2); font-weight: 600; }
  html:not(.has-app-home) .main { padding-bottom: 112px; }
}

/* ---- Cartes de statistiques (tableau de bord admin / gains) ------------- */
.stat-card { position: relative; overflow: hidden; }
.stat-card::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
  background: var(--sk-grad);
}
.stat-card .value { color: var(--sk-o2); }
.stat-card .delta, .stat-card .delta a { color: var(--fog); }
.stat-card .delta a { text-decoration-color: var(--sk-o2); }

/* ---- Barre du bas unifiée (app-nav.js) ----------------------------------- */
.nn-tabbar { display: none; }
@media (max-width: 900px) {
  .nn-tabbar {
    display: flex; position: fixed; z-index: 40;
    left: 12px; right: 12px; bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    padding: 8px 10px; gap: 4px; align-items: center; justify-content: space-around;
    background: var(--navy-900); border: 1px solid var(--navy-700); border-radius: 26px;
    box-shadow: 0 14px 34px -14px rgba(20, 30, 60, 0.45);
    view-transition-name: nn-nav;
  }
  .nn-tab {
    flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px;
    padding: 8px 0; border: 0; background: none; border-radius: 20px;
    color: var(--fog); text-decoration: none; font: 600 0.72rem var(--font-body); cursor: pointer;
  }
  .nn-tab svg { width: 24px; height: 24px; }
  .nn-tab.active { color: #fff; background: var(--sk-grad); flex: 1.25; }
  html .main { padding-bottom: 112px; }
}

/* ---- Navigation fluide : plus de « flash » de l'ancienne page ------------- */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 0.12s; }
html { background: var(--navy-950); }

/* ---- Carte de suivi : bouton « Démarrer le trajet » ---------------------- */
.btn-enable-driver {
  background: var(--sk-grad) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 14px;
  font-weight: 700;
  box-shadow: var(--sk-shadow);
  backdrop-filter: none;
}
.btn-enable-driver svg { color: #fff !important; }
.btn-enable-driver.active { background: #fff !important; color: var(--sk-o2) !important; }
.btn-enable-driver.active svg { color: var(--sk-o2) !important; }
