@charset "UTF-8";
/* ===========================================================================
   D@niel — habillage des pages « application » de Greenlight v3
   (salles, enregistrements, profil, administration) — v6
   v6 : vitrine de la page d'accueil (logos des solutions et distinctions, en grand)
   v5 : marges sur les côtés et grille des salles centrée
   v4 : menu du profil plus coupé (barre du haut sans flou, au premier plan), nom lisible
   v3 : page d'accueil (non connecté) de uhope-innovation.eu habillée aussi
   v2 : zone derrière les salles en bleu ciel dégradé (repérée par daniel-app.js)
   Injecté par nginx avec daniel-app.js. L'application n'est pas modifiée.

   Toutes les règles sont limitées à html[data-daniel-page="app"], posé par
   daniel-app.js : elles ne touchent donc jamais les pages de connexion, qui
   gardent leur propre feuille (daniel-brand.css).
   =========================================================================== */

html[data-daniel-page="app"]{
  --d-nuit:#0B3255; --d-bleu:#1272B8; --d-ciel:#00AEEF; --d-texte:#EAF5FD;
}

/* -- le fond : dégradé D@niel sur toute la page ----------------------------- */
html[data-daniel-page="app"],
html[data-daniel-page="app"] body{
  background:linear-gradient(135deg,#0B3255 0%,#1272B8 55%,#00AEEF 100%) fixed !important;
  min-height:100%;
}
html[data-daniel-page="app"] #root .regular-height,
html[data-daniel-page="app"] #root .wide-white{
  background:transparent !important; box-shadow:none !important;
}

/* -- la barre du haut, translucide ------------------------------------------- */
html[data-daniel-page="app"] #navbar{
  background:rgba(6,32,60,.35) !important;
  border-bottom:1px solid rgba(255,255,255,.15) !important;
  box-shadow:none !important;
}
html[data-daniel-page="app"] #navbar .nav-link,
html[data-daniel-page="app"] #navbar .dropdown-toggle,
html[data-daniel-page="app"] #navbar .navbar-text{
  color:#fff !important;
}

/* -- le texte posé sur le dégradé -------------------------------------------- */
html[data-daniel-page="app"] #root .regular-height{ color:var(--d-texte); }
html[data-daniel-page="app"] #root .wide-white h1,
html[data-daniel-page="app"] #root .wide-white h2,
html[data-daniel-page="app"] #root .wide-white h3,
html[data-daniel-page="app"] #root .wide-white h4,
html[data-daniel-page="app"] #root .wide-white p{
  color:#fff !important;
}

/* -- les onglets D@Conferences / Recordings ---------------------------------- */
html[data-daniel-page="app"] #root .nav-tabs{
  border-bottom:1px solid rgba(255,255,255,.25) !important;
}
html[data-daniel-page="app"] #root .nav-tabs .nav-link{
  color:#D7ECFA !important; background:transparent !important;
  border:0 !important; border-bottom:3px solid transparent !important;
}
html[data-daniel-page="app"] #root .nav-tabs .nav-link.active{
  color:#fff !important; font-weight:700;
  border-bottom-color:var(--d-ciel) !important;
}

/* -- les cartes (salles, tableaux), blanches et arrondies ---------------------- */
html[data-daniel-page="app"] #root .card,
html[data-daniel-page="app"] .modal-content,
html[data-daniel-page="app"] .dropdown-menu,
html[data-daniel-page="app"] #root table{
  color:#1B2A3A;
}
html[data-daniel-page="app"] #root .card{
  border:0 !important; border-radius:16px !important;
  box-shadow:0 14px 34px rgba(3,24,48,.28) !important;
}

/* -- champs et boutons -------------------------------------------------------- */
html[data-daniel-page="app"] #root .form-control{
  border:1px solid #D7E6F2 !important; border-radius:11px !important;
}
html[data-daniel-page="app"] #root .btn-brand{
  background:linear-gradient(135deg,var(--d-bleu),var(--d-ciel)) !important;
  border:0 !important; border-radius:12px !important;
  box-shadow:0 10px 24px rgba(0,70,125,.28) !important;
}

/* -- le pied de page ----------------------------------------------------------- */
html[data-daniel-page="app"] #footer.footer{ background:transparent !important; border:0 !important; }
html[data-daniel-page="app"] #footer.footer,
html[data-daniel-page="app"] #footer.footer a{ color:#D7ECFA !important; }

/* -- v2 : la zone derrière les salles, en bleu ciel dégradé ------------------
   daniel-app.js repère le conteneur gris qui porte les cartes et lui ajoute
   la classe .daniel-zone (son nom réel varie selon les pages de Greenlight). */
html[data-daniel-page="app"] .daniel-zone{
  background-color:#CFEAF9 !important;
  background-image:linear-gradient(180deg,#DDF1FC 0%,#C2E4F8 55%,#A9D9F5 100%) !important;
  color:#04355E !important;
  border-radius:22px 22px 0 0;
}
html[data-daniel-page="app"] #root .tab-content,
html[data-daniel-page="app"] #root [class*="whitesmoke"]{
  background-color:transparent !important;
}

/* -- v3 : la page d'accueil (non connecté), là où elle n'a pas déjà son habillage
   daniel-app.js pose data-daniel-page="home" seulement dans ce cas. ---------- */
html[data-daniel-page="home"],
html[data-daniel-page="home"] body{
  background:linear-gradient(135deg,#0B3255 0%,#1272B8 55%,#00AEEF 100%) fixed !important;
  min-height:100%;
}
html[data-daniel-page="home"] #root .regular-height,
html[data-daniel-page="home"] #root .wide-white,
html[data-daniel-page="home"] #root .bg-white,
html[data-daniel-page="home"] #root .container,
html[data-daniel-page="home"] #root .container-fluid{
  background:transparent !important; box-shadow:none !important;
}
html[data-daniel-page="home"] #navbar{
  background:rgba(6,32,60,.35) !important;
  border-bottom:1px solid rgba(255,255,255,.15) !important;
  box-shadow:none !important;
}
html[data-daniel-page="home"] #navbar .btn-brand-outline-color,
html[data-daniel-page="home"] #navbar .btn-outline-brand{
  background:transparent !important; color:#fff !important;
  border:2px solid #fff !important; border-radius:12px !important;
}
html[data-daniel-page="home"] #navbar .btn-brand{
  background:linear-gradient(135deg,#1272B8,#00AEEF) !important;
  border:0 !important; border-radius:12px !important;
  box-shadow:0 10px 24px rgba(0,70,125,.28) !important;
}
html[data-daniel-page="home"] #root img:not(.small-logo):not(.logo):not(#daniel-vitrine img){
  border-radius:22px;
  box-shadow:0 18px 44px rgba(3,24,48,.32);
}
html[data-daniel-page="home"] #footer.footer{ background:transparent !important; border:0 !important; }
html[data-daniel-page="home"] #footer.footer,
html[data-daniel-page="home"] #footer.footer a{ color:#D7ECFA !important; }

/* -- v4 : barre du haut au premier plan, menu du profil entier et nom lisible -- */
html[data-daniel-page="app"] #navbar,
html[data-daniel-page="home"] #navbar{
  position:relative; z-index:1030;
  overflow:visible !important;
}
html[data-daniel-page="app"] #navbar .dropdown-menu{ z-index:1031; }
html[data-daniel-page="app"] #navbar .dropdown-toggle{
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.35) !important;
  border-radius:12px !important;
  color:#fff !important;
}
html[data-daniel-page="app"] #navbar .dropdown-toggle *{ color:#fff !important; }
html[data-daniel-page="app"] #navbar .dropdown-menu,
html[data-daniel-page="app"] #navbar .dropdown-menu *{ color:#1B2A3A !important; }

/* -- v5 : marges sur les côtés, grille des salles centrée ---------------------- */
html[data-daniel-page="app"] #root .regular-height{
  padding-left:clamp(12px, 3vw, 40px) !important;
  padding-right:clamp(12px, 3vw, 40px) !important;
}
html[data-daniel-page="app"] #root .regular-height .container,
html[data-daniel-page="app"] #root .regular-height .container-fluid{
  max-width:1880px; margin-left:auto !important; margin-right:auto !important;
}
html[data-daniel-page="app"] #root .row:has(> * > .card){
  justify-content:center;
}


/* -- v6 : vitrine de la page d'accueil (solutions et distinctions) ----------- */
#daniel-vitrine{ max-width:1240px; margin:48px auto 56px; padding:0 20px; color:#fff; text-align:center; font-family:inherit; }
#daniel-vitrine h2{ font-size:clamp(26px,3.2vw,40px); font-weight:800; margin:0 0 8px; letter-spacing:.3px; color:#fff; }
#daniel-vitrine h2:not(:first-child){ margin-top:64px; }
#daniel-vitrine .dv-sous{ margin:0 auto 28px; max-width:640px; font-size:18px; color:#D7ECFA; }
#daniel-vitrine .dv-solutions{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
#daniel-vitrine .dv-sol{ background:#fff; border-radius:22px; padding:34px 30px; display:flex; align-items:center; justify-content:center; min-height:190px;
  box-shadow:0 18px 40px rgba(4,30,60,.28); transition:transform .2s ease; }
#daniel-vitrine .dv-sol:hover{ transform:translateY(-4px); }
#daniel-vitrine .dv-sol img{ max-width:100%; max-height:150px; box-shadow:none !important; border-radius:0 !important; background:none !important; width:auto; height:auto; }
#daniel-vitrine .dv-awards{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; margin-top:24px; }
#daniel-vitrine .dv-award{ margin:0; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22); border-radius:18px; padding:12px 12px 14px;
  box-shadow:0 14px 32px rgba(4,30,60,.25); }
#daniel-vitrine .dv-award img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px; background:#fff; display:block; }
#daniel-vitrine .dv-award figcaption{ font-size:13px; line-height:1.35; color:#EAF5FD; margin-top:10px; }
@media (max-width:1000px){ #daniel-vitrine .dv-awards{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:640px){
  #daniel-vitrine{ margin-top:28px; padding:0 16px; }
  #daniel-vitrine .dv-solutions{ grid-template-columns:1fr; gap:14px; }
  #daniel-vitrine .dv-sol{ min-height:130px; padding:24px 20px; }
  #daniel-vitrine .dv-sol img{ max-height:96px; }
  #daniel-vitrine .dv-awards{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
}


/* -- v7 : Enregistrements façon plateforme vidéo (#daniel-ott) -------------- */
#daniel-ott{ --o-bg:#061A30; --o-s:#0B2A4A; --o-s2:#10365E; --o-c:#00AFF3; --o-t:#EAF5FD; --o-m:#9DB8D3; --o-l:rgba(127,211,250,.22);
  background:var(--o-bg); color:var(--o-t); border-radius:22px; padding:26px 26px 30px; margin:8px 0 22px; font-family:inherit;
  box-shadow:0 22px 50px rgba(2,14,30,.35); display:flex; flex-direction:column; gap:26px; overflow:hidden; }
#daniel-ott h1, #daniel-ott h2{ color:var(--o-t); margin:0; }
#daniel-ott h2{ font-size:19px; font-weight:800; letter-spacing:.2px; }
#daniel-ott .dott-note{ color:var(--o-m); margin:0; font-size:15px; }
#daniel-ott .dott-bar{ display:flex; justify-content:flex-end; }
#daniel-ott .dott-btn{ display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:0 20px; border-radius:12px; border:0;
  background:var(--o-c); color:#002847 !important; font-weight:800; font-size:15px; text-decoration:none !important; cursor:pointer; white-space:nowrap; }
#daniel-ott .dott-btn:hover{ filter:brightness(1.08); }
#daniel-ott .dott-ghost{ background:transparent; color:var(--o-t) !important; border:1px solid var(--o-l); font-weight:700; }
#daniel-ott .dott-ghost:hover{ background:rgba(255,255,255,.06); filter:none; }

/* À la une */
#daniel-ott .dott-hero{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:28px; align-items:center;
  background:radial-gradient(120% 140% at 0% 0%, #0E3E6E 0%, var(--o-s) 45%, var(--o-bg) 100%); border:1px solid var(--o-l); border-radius:20px; padding:26px; }
#daniel-ott .dott-hero-text{ display:flex; flex-direction:column; gap:12px; min-width:0; }
#daniel-ott .dott-hero h1{ font-size:clamp(24px,2.6vw,36px); font-weight:800; line-height:1.15; overflow-wrap:anywhere; }
#daniel-ott .dott-hero p{ margin:0; color:var(--o-m); font-size:15px; }
#daniel-ott .dott-tags{ display:flex; gap:8px; flex-wrap:wrap; }
#daniel-ott .dott-tag{ font-size:12px; font-weight:700; padding:4px 10px; border-radius:999px; background:rgba(255,255,255,.08); color:var(--o-m); }
#daniel-ott .dott-tag-new{ background:var(--o-c); color:#002847; }
#daniel-ott .dott-acts{ display:flex; gap:10px; flex-wrap:wrap; margin-top:6px; }

/* Filtres */
#daniel-ott .dott-chips{ display:flex; gap:8px; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin; }
#daniel-ott .dott-chip{ flex:none; min-height:38px; padding:0 16px; border-radius:999px; border:1px solid var(--o-l); background:var(--o-s); color:var(--o-t);
  font-weight:700; font-size:14px; cursor:pointer; white-space:nowrap; }
#daniel-ott .dott-chip:hover{ border-color:var(--o-c); }
#daniel-ott .dott-chip.on{ background:var(--o-c); border-color:var(--o-c); color:#002847; }

/* Rangées */
#daniel-ott .dott-row, #daniel-ott .dott-all{ display:flex; flex-direction:column; gap:12px; min-width:0; }
#daniel-ott .dott-row-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
#daniel-ott .dott-scroll{ display:grid; grid-auto-flow:column; grid-auto-columns:minmax(240px,280px); gap:16px; overflow-x:auto; padding:4px 2px 12px;
  scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:var(--o-s2) transparent; }
#daniel-ott .dott-scroll > *{ scroll-snap-align:start; }
#daniel-ott .dott-tools{ display:flex; gap:8px; flex-wrap:wrap; }
#daniel-ott .dott-input{ height:42px; border-radius:10px; border:1px solid var(--o-l); background:var(--o-s); color:var(--o-t); padding:0 12px; font:inherit; font-size:14px; min-width:0; }
#daniel-ott input.dott-input{ width:240px; }
#daniel-ott .dott-input::placeholder{ color:var(--o-m); }
#daniel-ott .dott-input:focus{ outline:2px solid var(--o-c); outline-offset:1px; }
#daniel-ott .dott-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:18px; }

/* Cartes */
#daniel-ott .dott-card{ display:flex; flex-direction:column; gap:10px; color:var(--o-t) !important; text-decoration:none !important; min-width:0; border-radius:14px; outline-offset:3px; }
#daniel-ott .dott-thumb{ position:relative; aspect-ratio:16/9; border-radius:14px; overflow:hidden; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 24px rgba(0,0,0,.3); transition:transform .18s ease, box-shadow .18s ease; }
#daniel-ott .dott-thumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:#fff; border-radius:0 !important; box-shadow:none !important; opacity:0; transition:opacity .25s ease; }
#daniel-ott .dott-thumb img.ok{ opacity:1; }
#daniel-ott .dott-mono{ font-size:40px; font-weight:800; letter-spacing:1px; color:rgba(255,255,255,.88); }
#daniel-ott .dott-play{ position:absolute; z-index:2; width:52px; height:52px; border-radius:50%; background:rgba(0,175,243,.92); color:#002847; display:flex; align-items:center; justify-content:center;
  font-size:20px; padding-left:3px; opacity:0; transform:scale(.85); transition:opacity .18s ease, transform .18s ease; }
#daniel-ott .dott-len, #daniel-ott .dott-vis{ position:absolute; z-index:2; bottom:8px; font-size:12px; font-weight:700; padding:3px 8px; border-radius:6px; background:rgba(4,16,32,.82); color:#fff; }
#daniel-ott .dott-len{ right:8px; }
#daniel-ott .dott-vis{ left:8px; color:var(--o-m); }
#daniel-ott .dott-card:hover .dott-thumb, #daniel-ott .dott-card:focus-visible .dott-thumb{ transform:translateY(-3px); box-shadow:0 0 0 2px var(--o-c), 0 16px 32px rgba(0,0,0,.4); }
#daniel-ott .dott-card:hover .dott-play, #daniel-ott .dott-card:focus-visible .dott-play{ opacity:1; transform:scale(1); }
#daniel-ott .dott-meta{ display:flex; flex-direction:column; gap:3px; min-width:0; }
#daniel-ott .dott-title{ font-weight:700; font-size:15px; line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#daniel-ott .dott-sub{ font-size:13px; color:var(--o-m); }
#daniel-ott .dott-card-big .dott-thumb{ border-radius:16px; }
#daniel-ott .dott-card-big .dott-mono{ display:none; }
#daniel-ott .dott-card-big .dott-play{ width:72px; height:72px; font-size:28px; opacity:1; transform:none; }
#daniel-ott .dott-card-big .dott-meta{ display:none; }
#daniel-ott .dott-card[aria-disabled="true"]{ pointer-events:none; opacity:.7; }

@media (max-width:860px){
  #daniel-ott{ padding:18px 16px 22px; border-radius:18px; gap:22px; }
  #daniel-ott .dott-hero{ grid-template-columns:1fr; padding:18px; gap:18px; }
  #daniel-ott .dott-hero .dott-card-big{ order:-1; }
  #daniel-ott .dott-scroll{ grid-auto-columns:minmax(200px,72%); }
  #daniel-ott input.dott-input{ width:100%; }
  #daniel-ott .dott-tools{ width:100%; }
  #daniel-ott .dott-tools > *{ flex:1 1 140px; }
  #daniel-ott .dott-grid{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; }
  #daniel-ott .dott-mono{ font-size:30px; }
}

/* daniel-samson */
#daniel-vitrine .dv-sol{position:relative;}
#daniel-vitrine .dv-solutions>.dv-sol:last-child:nth-child(odd){grid-column:1 / -1;}
#daniel-vitrine .dv-sol.dv-new{flex-direction:column;gap:12px;box-shadow:0 0 0 3px #FACC15,0 18px 40px rgba(0,0,0,0.25);}
#daniel-vitrine .dv-sol .dv-badge{position:absolute;top:14px;left:14px;padding:4px 12px;border-radius:999px;background:#FACC15;color:#0B1B2E;font-weight:800;font-size:13px;letter-spacing:0.4px;text-transform:uppercase;}
#daniel-vitrine .dv-sol .dv-sol-txt{margin:0;max-width:560px;text-align:center;font-size:15px;line-height:1.5;color:#0B3B66;font-weight:600;}

/* _DMP_VITRINE_TELECHARGER_V1 : bandeau « D@niel pour ordinateur » de la vitrine */
#daniel-vitrine .dv-dl{ display:flex; align-items:center; gap:18px; margin:22px 0 0; padding:18px 22px; box-sizing:border-box; background:linear-gradient(135deg,#0B3255 0%,#1272B8 100%); border:1px solid rgba(255,255,255,.24); box-shadow:0 14px 34px rgba(3,24,48,.22); border-radius:18px; color:#fff !important; text-decoration:none !important; text-align:start; transition:background-color .15s ease; }
#daniel-vitrine .dv-dl:hover{ filter:brightness(1.08); }
#daniel-vitrine .dv-dl:focus-visible{ outline:3px solid #4DAAE8; outline-offset:3px; }
#daniel-vitrine .dv-dl-ico{ flex:0 0 auto; width:52px; height:52px; border-radius:14px; background:#fff; color:#1272B8; display:grid; place-items:center; }
#daniel-vitrine .dv-dl-t{ flex:1 1 auto; min-width:0; }
#daniel-vitrine .dv-dl-t b{ display:block; font-size:20px; font-weight:800; line-height:1.25; }
#daniel-vitrine .dv-dl-t span{ display:block; font-size:15px; color:#D7ECFA; margin-top:2px; }
#daniel-vitrine .dv-dl-b{ flex:0 0 auto; background:#E8572A; color:#fff; border-radius:999px; padding:12px 24px; font-weight:700; font-size:16px; white-space:nowrap; box-shadow:0 8px 20px rgba(232,87,42,.35); }
#daniel-vitrine .dv-dl:hover .dv-dl-b{ background:#C9441C; }
@media (max-width:640px){
  #daniel-vitrine .dv-dl{ flex-wrap:wrap; padding:16px; }
  #daniel-vitrine .dv-dl-b{ width:100%; box-sizing:border-box; text-align:center; }
}
