/* Barre de navigation commune à toutes les pages */
.oc-nav{
  --oc-paper:#FBFAF6;
  --oc-navy:#183140;
  --oc-sky:#9FD8F5;
  --oc-sky-deep:#2E97C7;
  position:relative;
  z-index:1000;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 20px;
  padding-top:calc(10px + env(safe-area-inset-top, 0px));
  background:var(--oc-paper);
  border-bottom:1px solid #DCE6EC;
  font-family:'Nunito', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.oc-nav-logo{display:flex;align-items:center;flex-shrink:0;}
.oc-nav-logo img{height:30px;width:auto;display:block;}
.oc-nav-links{
  display:flex;
  gap:4px;
  overflow-x:auto;
  scrollbar-width:none;
  min-width:0;
}
.oc-nav-links::-webkit-scrollbar{display:none;}
.oc-nav-links a{
  color:var(--oc-navy);
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  padding:7px 12px;
  border-radius:999px;
  white-space:nowrap;
  transition:background .15s ease;
}
.oc-nav-links a:hover{background:#EAF5FB;}
.oc-nav-links a:focus-visible{outline:2px solid var(--oc-sky-deep);outline-offset:2px;}
.oc-nav-links a[aria-current="page"]{background:var(--oc-navy);color:var(--oc-paper);}
@media (max-width:560px){
  .oc-nav{padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top, 0px));gap:8px;}
  .oc-nav-logo img{height:22px;}
  .oc-nav-links a{font-size:13px;padding:6px 9px;}
}
@media (max-width:500px){
  .oc-nav-logo{display:none;}
  .oc-nav{justify-content:center;padding-left:8px;padding-right:8px;}
  .oc-nav-links{gap:1px;}
  .oc-nav-links a{font-size:12.5px;padding:6px 7px;}
}

/* Invitation à installer l'application */
.oc-install{
  position:fixed;left:12px;right:12px;
  bottom:calc(12px + env(safe-area-inset-bottom, 0px));
  z-index:1500;
  max-width:520px;margin:0 auto;
  display:flex;align-items:center;gap:12px;
  background:#183140;color:#FBFAF6;
  border-radius:16px;padding:12px 12px 12px 14px;
  box-shadow:0 12px 32px -12px rgba(0,0,0,.45);
  font-family:'Nunito', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size:14px;line-height:1.4;
}
.oc-install[hidden]{display:none !important;}
.oc-install img{width:40px;height:40px;border-radius:10px;flex-shrink:0;}
.oc-install p{margin:0;flex:1;min-width:0;}
.oc-install button{
  font:inherit;font-weight:800;cursor:pointer;border:none;border-radius:999px;flex-shrink:0;
}
.oc-install [data-install-action]{background:#9FD8F5;color:#183140;padding:8px 14px;}
.oc-install [data-install-action][hidden]{display:none;}
.oc-install [data-install-close]{background:transparent;color:#FBFAF6;opacity:.75;width:32px;height:32px;font-size:16px;}
.oc-install button:focus-visible{outline:2px solid #9FD8F5;outline-offset:2px;}

/* Fenêtre de bienvenue : proposition d'activer les alertes */
.oc-welcome{
  position:fixed;inset:0;z-index:3000;
  background:rgba(10,24,34,.55);
  display:flex;align-items:flex-end;justify-content:center;
  padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom, 0px));
  font-family:'Nunito', system-ui, -apple-system, 'Segoe UI', sans-serif;
  animation:oc-fade .2s ease-out;
}
.oc-welcome-card{
  width:100%;max-width:420px;
  background:#FBFAF6;color:#183140;
  border-radius:22px;padding:26px 22px 18px;
  display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;
  box-shadow:0 20px 50px -16px rgba(0,0,0,.5);
  animation:oc-rise .25s ease-out;
}
.oc-welcome-card img{width:64px;height:64px;border-radius:16px;}
.oc-welcome-card h2{font-family:'Baloo 2','Nunito',system-ui,sans-serif;font-size:24px;font-weight:800;line-height:1.15;margin:4px 0 0;}
.oc-welcome-card p{margin:0;font-size:15px;line-height:1.5;color:#4B6372;}
.oc-welcome-card .oc-welcome-small{font-size:13px;}
.oc-welcome-card button{
  width:100%;font:inherit;font-weight:800;font-size:16px;cursor:pointer;
  border-radius:999px;padding:14px;border:2px solid transparent;
}
.oc-welcome-yes{background:#183140;color:#FBFAF6;margin-top:8px;}
.oc-welcome-no{background:transparent;color:#183140;border-color:#D7E3EA !important;}
.oc-welcome-card button:disabled{opacity:.6;cursor:wait;}
.oc-welcome-card button:focus-visible{outline:3px solid #9FD8F5;outline-offset:2px;}
.oc-welcome-status{min-height:1.2em;font-weight:700;font-size:14px !important;color:#2E7D57 !important;}
@media (min-width:600px){ .oc-welcome{align-items:center;} }
@keyframes oc-fade{from{opacity:0}to{opacity:1}}
@keyframes oc-rise{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion: reduce){ .oc-welcome,.oc-welcome-card{animation:none;} }

/* Pied de page commun (pages intérieures) */
.oc-pied{
  display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:center;
  padding:22px 20px calc(26px + env(safe-area-inset-bottom, 0px));
  border-top:1px solid var(--line, #D7E3EA);
  font-size:13.5px;color:var(--ink-soft, #4B6372);text-align:center;
}
.oc-pied a{color:inherit;font-weight:700;}
