:root {
  --lab-bg: #0A1526;
  --lab-bg-deep: #050B14;
  --lab-surface: #12233C;
  --lab-surface-2: #16293F;
  --lab-card: rgba(22,41,63,.76);
  --lab-card-strong: rgba(18,35,60,.94);
  --lab-text: #f5f8fc;
  --lab-muted: #aab8ca;
  --lab-line: rgba(255,255,255,.11);
  --lab-cyan: #D4AF6A;
  --lab-violet: #B08D57;
  --lab-green: #7FB69E;
  --lab-warm: #E0A050;
  --lab-shadow: 0 26px 80px rgba(0,0,0,.30);
  --lab-radius-xl: 34px;
  --lab-radius-lg: 26px;
  --lab-radius-md: 19px;
  --lab-container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--lab-text);
  background: var(--lab-bg-deep);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.68;
  overflow-x: hidden;
}
a { color: inherit; }
img { display: block; max-width: 100%; height: auto; }
button, a { -webkit-tap-highlight-color: transparent; }

.lab-skip-link {
  position: fixed;
  left: 1rem;
  top: -5rem;
  z-index: 9999;
  padding: .8rem 1rem;
  border-radius: 12px;
  color: #04111d;
  background: var(--lab-cyan);
  font-weight: 900;
  text-decoration: none;
}
.lab-skip-link:focus { top: 1rem; }

.lab-background {
  position: fixed;
  inset: 0;
  z-index: -10;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 0%, rgba(212,175,106,.13), transparent 32rem),
    radial-gradient(circle at 90% 10%, rgba(176,141,87,.15), transparent 34rem),
    linear-gradient(180deg, #04101d 0%, #0A1526 48%, #091421 100%);
}
#labNeuralCanvas,
.lab-grid { position: absolute; inset: 0; width: 100%; height: 100%; }
.lab-grid {
  opacity: .4;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(180deg, #000 0%, transparent 80%);
}
.lab-aurora { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .14; }
.lab-aurora-one { width: 34rem; height: 34rem; top: 8rem; right: -10rem; background: var(--lab-violet); animation: lab-drift 16s ease-in-out infinite; }
.lab-aurora-two { width: 27rem; height: 27rem; top: 42rem; left: -12rem; background: var(--lab-cyan); animation: lab-drift 20s ease-in-out infinite reverse; }

.lab-site-shell { min-height: 100vh; overflow: clip; }
.lab-container { width: min(calc(100% - 2rem), var(--lab-container)); margin-inline: auto; }

.lab-topbar { border-bottom: 1px solid rgba(255,255,255,.07); background: rgba(5,11,20,.88); }
.lab-topbar-inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--lab-muted); font-size: .78rem; }
.lab-topbar i { color: var(--lab-cyan); }
.lab-topbar a { color: #F7EFDD; text-decoration: none; font-weight: 800; }

.lab-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid transparent;
  background: rgba(5,14,26,.70);
  backdrop-filter: blur(20px);
  transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.lab-header.is-scrolled { background: rgba(5,14,26,.94); border-color: var(--lab-line); box-shadow: 0 12px 38px rgba(0,0,0,.16); }
.lab-nav-wrap { min-height: 76px; display: flex; align-items: center; gap: 1.5rem; }
.lab-brand { display: inline-flex; align-items: center; gap: .75rem; flex: 0 0 auto; text-decoration: none; }
.lab-brand-mark { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 15px; background: linear-gradient(135deg,var(--lab-cyan),var(--lab-violet)); box-shadow: 0 12px 32px rgba(212,175,106,.18); }
.lab-brand-mark span { width: 19px; height: 19px; border: 4px solid #06101c; border-radius: 50%; position: relative; }
.lab-brand-mark span::before,.lab-brand-mark span::after { content:""; position:absolute; width:5px; height:5px; border-radius:50%; background:#06101c; top:3px; }
.lab-brand-mark span::before { left:-10px; } .lab-brand-mark span::after { right:-10px; }
.lab-brand-copy strong { display:block; color:#fff; font-size:1rem; line-height:1; font-weight:900; letter-spacing:-.03em; }
.lab-brand-copy small { display:block; margin-top:.3rem; color:var(--lab-muted); font-size:.66rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.lab-main-nav { display:flex; align-items:center; justify-content:center; gap:.15rem; flex:1; }
.lab-main-nav a { padding:.68rem .78rem; border-radius:999px; color:var(--lab-muted); text-decoration:none; font-size:.88rem; font-weight:800; white-space:nowrap; transition:.2s ease; }
.lab-main-nav a:hover,.lab-main-nav a:focus-visible,.lab-main-nav a.is-active { color:#fff; background:rgba(255,255,255,.07); }
.lab-nav-actions { display:flex; align-items:center; gap:.65rem; }
.lab-nav-toggle { display:none; width:44px; height:44px; padding:10px; border:1px solid var(--lab-line); border-radius:14px; background:rgba(255,255,255,.05); cursor:pointer; }
.lab-nav-toggle span { display:block; height:2px; margin:5px 0; border-radius:2px; background:#fff; }

.lab-btn { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:.55rem; padding:.72rem 1rem; border:1px solid var(--lab-line); border-radius:14px; color:#fff; background:rgba(255,255,255,.045); text-decoration:none; font-weight:900; transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease; }
.lab-btn:hover { transform:translateY(-2px); border-color:rgba(255,255,255,.23); box-shadow:0 15px 32px rgba(0,0,0,.20); }
.lab-btn-primary { color:#04111d; border-color:transparent; background:linear-gradient(135deg,var(--lab-cyan),var(--lab-violet)); box-shadow:0 12px 30px rgba(212,175,106,.17); }
.lab-btn-primary:hover { background:linear-gradient(135deg,#E8C888,#95C4AE); }
.lab-btn-secondary { border-color:rgba(176,141,87,.30); background:linear-gradient(135deg,rgba(176,141,87,.20),rgba(212,175,106,.10)); }
.lab-btn-ghost { background:rgba(255,255,255,.035); }
.lab-action-group { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.7rem; }

.lab-hero { position:relative; padding:clamp(4.5rem,9vw,8rem) 0 clamp(4rem,8vw,7rem); }
.lab-hero-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr); gap:clamp(2.4rem,6vw,5rem); align-items:center; }
.lab-eyebrow { display:inline-flex; align-items:center; gap:.55rem; padding:.48rem .75rem; border:1px solid rgba(212,175,106,.25); border-radius:999px; color:#F2E4C4; background:rgba(212,175,106,.07); font-size:.78rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.lab-hero h1,.lab-page-hero h1 { margin:1.15rem 0 0; font-family:Montserrat,Inter,sans-serif; font-size:clamp(3rem,7vw,6.2rem); line-height:.97; letter-spacing:-.065em; }
.lab-page-hero h1 { max-width:18ch; font-size:clamp(2.7rem,6vw,5rem); }
.lab-gradient-text { color:transparent; background:linear-gradient(105deg,#fff 5%,var(--lab-cyan) 40%,var(--lab-violet) 76%,#EDE0C8); -webkit-background-clip:text; background-clip:text; }
.lab-hero-lead,.lab-page-hero p { max-width:790px; margin:1.35rem 0 0; color:#DAD2C0; font-size:clamp(1.05rem,2vw,1.27rem); }
.lab-trust-row { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.45rem; }
.lab-trust-row span { display:inline-flex; align-items:center; gap:.45rem; padding:.47rem .68rem; border:1px solid var(--lab-line); border-radius:999px; color:#c6d4e4; background:rgba(255,255,255,.025); font-size:.8rem; font-weight:750; }
.lab-trust-row i { color:var(--lab-cyan); }
.lab-hero-visual { position:relative; min-height:520px; display:grid; place-items:center; }
.lab-hero-visual > img { position:relative; z-index:2; width:min(100%,510px); filter:drop-shadow(0 32px 70px rgba(0,0,0,.32)); animation:lab-float 8s ease-in-out infinite; }
.lab-orbit { position:absolute; border:1px solid rgba(212,175,106,.14); border-radius:50%; }
.lab-orbit-one { width:88%; aspect-ratio:1; animation:lab-spin 24s linear infinite; }
.lab-orbit-two { width:68%; aspect-ratio:1; border-color:rgba(176,141,87,.18); animation:lab-spin 18s linear infinite reverse; }
.lab-floating-card { position:absolute; z-index:4; display:flex; align-items:center; gap:.7rem; max-width:235px; padding:.75rem .85rem; border:1px solid rgba(212,175,106,.18); border-radius:17px; background:rgba(8,21,36,.78); backdrop-filter:blur(14px); box-shadow:0 20px 45px rgba(0,0,0,.24); }
.lab-floating-card i { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border-radius:11px; color:var(--lab-cyan); background:rgba(212,175,106,.09); }
.lab-floating-card strong,.lab-floating-card span { display:block; }
.lab-floating-card strong { color:#fff; font-size:.86rem; }
.lab-floating-card span { color:var(--lab-muted); font-size:.74rem; line-height:1.35; }
.lab-floating-card-one { top:9%; left:-2%; animation:lab-float 7s ease-in-out infinite; }
.lab-floating-card-two { top:44%; right:-5%; animation:lab-float 9s ease-in-out infinite reverse; }
.lab-floating-card-three { bottom:7%; left:4%; animation:lab-float 8s ease-in-out infinite; }

.lab-metrics-strip { border-block:1px solid var(--lab-line); background:rgba(255,255,255,.018); }
.lab-metrics-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.lab-metric { min-height:118px; display:flex; flex-direction:column; justify-content:center; padding:1.25rem 1.45rem; border-right:1px solid var(--lab-line); }
.lab-metric:last-child { border-right:0; }
.lab-metric strong { color:#fff; font-size:1.55rem; letter-spacing:-.04em; }
.lab-metric span { color:var(--lab-muted); font-size:.85rem; }

.lab-section { padding:clamp(4rem,8vw,7rem) 0; }
.lab-section-surface { border-block:1px solid rgba(255,255,255,.065); background:rgba(255,255,255,.018); }
.lab-section-head { max-width:820px; margin-bottom:clamp(2rem,5vw,3.5rem); }
.lab-section-head-center { margin-inline:auto; text-align:center; }
.lab-kicker { display:inline-block; margin:0 0 .75rem; color:var(--lab-cyan); font-size:.76rem; font-weight:950; letter-spacing:.15em; text-transform:uppercase; }
.lab-section h2,.lab-conversion-band h2,.lab-final-cta h2 { margin:0; font-family:Montserrat,Inter,sans-serif; font-size:clamp(2rem,4.6vw,3.55rem); line-height:1.08; letter-spacing:-.05em; }
.lab-section-head p,.lab-lead { margin:1rem 0 0; color:var(--lab-muted); font-size:1.05rem; }

.lab-pillar-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.lab-card { position:relative; padding:1.45rem; border:1px solid var(--lab-line); border-radius:var(--lab-radius-lg); background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018)); box-shadow:0 18px 50px rgba(0,0,0,.10); transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease; }
.lab-card:hover { transform:translateY(-5px); border-color:rgba(212,175,106,.27); background:linear-gradient(180deg,rgba(212,175,106,.075),rgba(255,255,255,.018)); box-shadow:0 24px 55px rgba(0,0,0,.17); }
.lab-card-featured { border-color:rgba(212,175,106,.24); background:linear-gradient(145deg,rgba(212,175,106,.09),rgba(176,141,87,.07)); }
.lab-card-icon { width:48px; height:48px; display:grid; place-items:center; margin-bottom:1.1rem; border-radius:15px; color:var(--lab-cyan); background:rgba(212,175,106,.09); font-size:1.1rem; }
.lab-card-number { display:block; color:var(--lab-cyan); font-size:.72rem; font-weight:950; letter-spacing:.13em; text-transform:uppercase; }
.lab-card h3 { margin:.5rem 0 .6rem; font-size:1.25rem; line-height:1.24; }
.lab-card p { margin:0; color:var(--lab-muted); font-size:.94rem; }
.lab-card ul { margin:1rem 0 0; padding-left:1.15rem; color:#d4dfec; font-size:.87rem; }
.lab-card li { margin:.28rem 0; }

.lab-conversion-band { padding:1.5rem 0; border-block:1px solid rgba(212,175,106,.14); background:linear-gradient(135deg,rgba(212,175,106,.07),rgba(176,141,87,.055)); }
.lab-conversion-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:center; padding:1.5rem 1.7rem; border:1px solid var(--lab-line); border-radius:var(--lab-radius-lg); background:rgba(4,13,24,.48); }
.lab-conversion-inner h2 { font-size:clamp(1.55rem,3vw,2.35rem); }
.lab-conversion-inner p { margin:.7rem 0 0; color:var(--lab-muted); }
.lab-conversion-inner .lab-action-group { justify-content:flex-end; margin-top:0; max-width:530px; }

.lab-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.9rem; }
.lab-process-step { position:relative; min-height:210px; padding:1.35rem; border:1px solid var(--lab-line); border-radius:var(--lab-radius-md); background:rgba(255,255,255,.025); overflow:hidden; }
.lab-process-step > span { display:block; color:rgba(212,175,106,.28); font-family:Montserrat,sans-serif; font-size:3.2rem; font-weight:900; line-height:1; }
.lab-process-step h3 { margin:1rem 0 .5rem; }
.lab-process-step p { margin:0; color:var(--lab-muted); font-size:.91rem; }
.lab-process-step::after { content:""; position:absolute; width:9rem; height:9rem; right:-4rem; bottom:-5rem; border-radius:50%; background:radial-gradient(circle,rgba(212,175,106,.18),transparent 68%); }

.lab-split { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:clamp(2rem,6vw,5rem); align-items:center; }
.lab-check-list { display:grid; gap:.65rem; margin-top:1.4rem; }
.lab-check-list span { display:flex; align-items:flex-start; gap:.65rem; color:#d5dfeb; }
.lab-check-list i { width:24px; height:24px; flex:0 0 auto; display:grid; place-items:center; margin-top:.05rem; border-radius:50%; color:#06101c; background:var(--lab-green); font-size:.7rem; }
.lab-opportunity-panel { padding:clamp(1.5rem,4vw,2.3rem); border:1px solid rgba(212,175,106,.20); border-radius:var(--lab-radius-xl); background:radial-gradient(circle at 100% 0%,rgba(176,141,87,.17),transparent 42%),rgba(18,35,60,.86); box-shadow:var(--lab-shadow); }
.lab-panel-label { display:inline-flex; padding:.38rem .65rem; border-radius:999px; color:var(--lab-cyan); background:rgba(212,175,106,.08); font-size:.75rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.lab-opportunity-panel h3 { margin:1rem 0 .8rem; font-size:1.6rem; line-height:1.25; }
.lab-opportunity-panel p { margin:0; color:var(--lab-muted); }
.lab-action-stack { display:grid; gap:.7rem; margin-top:1.3rem; }

.lab-gateway-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.lab-gateway-card { display:block; min-height:250px; text-decoration:none; }
.lab-gateway-card > i { color:var(--lab-cyan); font-size:1.55rem; }
.lab-gateway-card h3 { margin:1rem 0 .6rem; }
.lab-gateway-card span { display:inline-flex; align-items:center; gap:.45rem; margin-top:1.2rem; color:#F7EFDD; font-size:.88rem; font-weight:900; }

.lab-research-card { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.4rem; align-items:start; padding:clamp(1.6rem,4vw,2.5rem); border:1px solid var(--lab-line); border-radius:var(--lab-radius-xl); background:linear-gradient(135deg,rgba(176,141,87,.09),rgba(212,175,106,.06)); }
.lab-research-icon { width:68px; height:68px; display:grid; place-items:center; border-radius:21px; color:#06101c; background:linear-gradient(135deg,var(--lab-cyan),var(--lab-violet)); font-size:1.5rem; }
.lab-research-card h2 { font-size:clamp(1.65rem,3vw,2.45rem); }
.lab-research-card p { color:var(--lab-muted); }
.lab-text-link { display:inline-flex; align-items:center; gap:.5rem; color:#F7EFDD; font-weight:900; text-decoration:none; }

.lab-final-cta { padding:clamp(4rem,8vw,7rem) 0; }
.lab-final-cta-inner { padding:clamp(2rem,6vw,4.2rem); border:1px solid rgba(212,175,106,.21); border-radius:var(--lab-radius-xl); background:radial-gradient(circle at 0% 0%,rgba(212,175,106,.14),transparent 35%),radial-gradient(circle at 100% 100%,rgba(176,141,87,.16),transparent 42%),rgba(255,255,255,.025); text-align:center; }
.lab-final-cta h2 { max-width:19ch; margin-inline:auto; }
.lab-final-cta p { max-width:720px; margin:1rem auto 0; color:var(--lab-muted); }
.lab-final-cta .lab-action-group { justify-content:center; }

.lab-page-hero { padding:clamp(4.5rem,9vw,7.5rem) 0 clamp(3rem,6vw,5rem); }
.lab-page-hero-inner { max-width:1000px; }
.lab-quote-card { padding:2rem; border:1px solid rgba(176,141,87,.22); border-radius:var(--lab-radius-xl); background:linear-gradient(145deg,rgba(176,141,87,.11),rgba(212,175,106,.055)); box-shadow:var(--lab-shadow); }
.lab-quote-card > i { color:var(--lab-violet); font-size:2rem; }
.lab-quote-card blockquote { margin:1rem 0; color:#edf4ff; font-family:Georgia,serif; font-size:1.35rem; line-height:1.55; }
.lab-quote-card span { color:var(--lab-muted); font-size:.85rem; }
.lab-vision-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.lab-vision-grid .lab-card { min-height:300px; }
.lab-vision-grid h2 { margin:.8rem 0; font-size:clamp(1.8rem,3.5vw,2.7rem); }
.lab-audience-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.lab-audience-grid .lab-card > i { color:var(--lab-cyan); font-size:1.55rem; }
.lab-funnel { display:grid; gap:.65rem; padding:1.5rem; border:1px solid var(--lab-line); border-radius:var(--lab-radius-xl); background:rgba(18,35,60,.78); }
.lab-funnel > div { display:grid; grid-template-columns:42px 1fr; column-gap:.8rem; padding:.9rem; border:1px solid var(--lab-line); border-radius:15px; background:rgba(255,255,255,.025); }
.lab-funnel > div > span { grid-row:1/3; width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:var(--lab-cyan); background:rgba(212,175,106,.08); font-weight:900; }
.lab-funnel strong { align-self:end; }
.lab-funnel small { color:var(--lab-muted); }
.lab-funnel > i { justify-self:center; color:var(--lab-muted); }
.lab-funnel .is-highlight { border-color:rgba(212,175,106,.24); background:linear-gradient(135deg,rgba(212,175,106,.09),rgba(127,182,158,.06)); }

.lab-footer { padding:4.2rem 0 1.4rem; border-top:1px solid var(--lab-line); background:rgba(5,11,20,.72); }
.lab-footer-grid { display:grid; grid-template-columns:1.35fr repeat(4,minmax(0,1fr)); gap:2rem; }
.lab-footer-brand p { max-width:350px; color:var(--lab-muted); font-size:.9rem; }
.lab-footer-brand .lab-initiative { color:#d8e4f1; }
.lab-footer-brand .lab-initiative a { color:var(--lab-cyan); text-decoration:none; font-weight:900; }
.lab-socials { display:flex; gap:.6rem; margin-top:1rem; }
.lab-socials a { width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--lab-line); border-radius:13px; color:#F7EFDD; text-decoration:none; background:rgba(255,255,255,.035); }
.lab-footer-column h3 { margin:0 0 1rem; font-size:.92rem; }
.lab-footer-column a { display:block; margin:.58rem 0; color:var(--lab-muted); text-decoration:none; font-size:.86rem; }
.lab-footer-column a:hover { color:#fff; }
.lab-footer-bottom { display:flex; justify-content:space-between; gap:1rem; margin-top:2.5rem; padding-top:1.25rem; border-top:1px solid var(--lab-line); color:var(--lab-muted); font-size:.78rem; }
.lab-footer-bottom a { text-decoration:none; }

.lab-reveal { opacity:0; transform:translateY(24px); transition:opacity .72s ease,transform .72s ease; }
.lab-reveal.is-visible { opacity:1; transform:none; }

@keyframes lab-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-11px)} }
@keyframes lab-spin { to{transform:rotate(360deg)} }
@keyframes lab-drift { 0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(2rem,-1.5rem,0)} }

@media (max-width:1100px) {
  .lab-nav-toggle { display:block; margin-left:auto; }
  .lab-main-nav { position:absolute; top:calc(100% + .55rem); left:1rem; right:1rem; display:none; flex-direction:column; align-items:stretch; padding:.8rem; border:1px solid var(--lab-line); border-radius:18px; background:rgba(6,17,31,.98); box-shadow:var(--lab-shadow); }
  .lab-main-nav.is-open { display:flex; }
  .lab-main-nav a { border-radius:12px; }
  .lab-nav-actions { display:none; }
  .lab-hero-grid,.lab-split { grid-template-columns:1fr; }
  .lab-hero-copy { order:1; }
  .lab-hero-visual { order:0; min-height:440px; max-width:600px; margin-inline:auto; width:100%; }
  .lab-pillar-grid,.lab-process-grid,.lab-gateway-grid,.lab-audience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lab-conversion-inner { grid-template-columns:1fr; }
  .lab-conversion-inner .lab-action-group { justify-content:flex-start; max-width:none; }
  .lab-footer-grid { grid-template-columns:1.4fr repeat(2,minmax(0,1fr)); }
}

@media (max-width:720px) {
  .lab-container { width:min(calc(100% - 1.2rem),var(--lab-container)); }
  .lab-topbar-inner { justify-content:center; text-align:center; min-height:34px; }
  .lab-topbar-inner > a { display:none; }
  .lab-nav-wrap { min-height:68px; }
  .lab-brand-mark { width:40px; height:40px; }
  .lab-hero { padding-top:3rem; }
  .lab-hero h1,.lab-page-hero h1 { font-size:clamp(2.5rem,13vw,4.3rem); }
  .lab-hero-visual { min-height:340px; }
  .lab-floating-card { max-width:190px; padding:.58rem .66rem; }
  .lab-floating-card-one { left:0; top:4%; }
  .lab-floating-card-two { right:0; top:42%; }
  .lab-floating-card-three { left:5%; bottom:0; }
  .lab-metrics-grid,.lab-pillar-grid,.lab-process-grid,.lab-gateway-grid,.lab-audience-grid,.lab-vision-grid { grid-template-columns:1fr; }
  .lab-metric { border-right:0; border-bottom:1px solid var(--lab-line); }
  .lab-metric:last-child { border-bottom:0; }
  .lab-research-card { grid-template-columns:1fr; }
  .lab-footer-grid { grid-template-columns:1fr 1fr; }
  .lab-footer-brand { grid-column:1/-1; }
  .lab-footer-bottom { flex-direction:column; }
  .lab-action-group .lab-btn { width:100%; }
}

@media (max-width:480px) {
  .lab-brand-copy small { font-size:.58rem; }
  .lab-footer-grid { grid-template-columns:1fr; }
  .lab-footer-brand { grid-column:auto; }
  .lab-floating-card { position:static; margin-top:.55rem; max-width:none; width:100%; }
  .lab-hero-visual { display:block; min-height:auto; }
  .lab-hero-visual > img { margin-inline:auto; }
  .lab-orbit { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .lab-reveal { opacity:1; transform:none; }
}

/* =========================================================
   Phase 2 — Parcours pédagogiques et ressources
   ========================================================= */
.lab-content-hero { padding-bottom: clamp(3rem, 6vw, 5rem); }
.lab-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; color:var(--lab-muted); font-size:.8rem; font-weight:800; }
.lab-breadcrumb a { color:#F7EFDD; text-decoration:none; }
.lab-breadcrumb i { font-size:.6rem; opacity:.7; }

.lab-module-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.lab-module-card { position:relative; display:block; min-height:310px; text-decoration:none; overflow:hidden; }
.lab-module-card::after { content:""; position:absolute; width:13rem; height:13rem; right:-6rem; bottom:-7rem; border-radius:50%; background:radial-gradient(circle,rgba(212,175,106,.16),transparent 70%); transition:transform .3s ease; }
.lab-module-card:hover::after { transform:scale(1.25); }
.lab-module-card .lab-card-number { position:absolute; top:1rem; right:1rem; color:rgba(255,255,255,.17); font-family:Montserrat,sans-serif; font-size:2rem; font-weight:900; }
.lab-module-card h3 { margin:1rem 0 .65rem; font-size:1.32rem; }
.lab-module-card p { margin:0; color:var(--lab-muted); }
.lab-module-link { position:relative; z-index:1; display:inline-flex; align-items:center; gap:.5rem; margin-top:1.25rem; color:#F7EFDD; font-size:.88rem; font-weight:900; }

.lab-learning-roadmap { display:grid; gap:.65rem; margin-top:1.4rem; }
.lab-learning-roadmap a { display:grid; grid-template-columns:44px minmax(0,1fr); gap:.8rem; align-items:center; padding:.85rem; border:1px solid var(--lab-line); border-radius:16px; color:#fff; background:rgba(255,255,255,.026); text-decoration:none; transition:.2s ease; }
.lab-learning-roadmap a:hover { transform:translateX(4px); border-color:rgba(212,175,106,.28); background:rgba(212,175,106,.055); }
.lab-learning-roadmap a > span { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; color:#04111d; background:linear-gradient(135deg,var(--lab-cyan),var(--lab-violet)); font-weight:950; }
.lab-learning-roadmap strong,.lab-learning-roadmap small { display:block; }
.lab-learning-roadmap small { margin-top:.15rem; color:var(--lab-muted); }

.lab-concept-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.lab-concept-card { min-height:230px; }
.lab-concept-card > i { color:var(--lab-cyan); font-size:1.6rem; }
.lab-concept-card h3 { margin:1rem 0 .55rem; }
.lab-concept-card p { margin:0; color:var(--lab-muted); }

.lab-process-list { display:grid; gap:.7rem; margin-top:1.4rem; }
.lab-process-list article { display:grid; grid-template-columns:45px minmax(0,1fr); gap:.85rem; padding:.9rem; border:1px solid var(--lab-line); border-radius:16px; background:rgba(255,255,255,.025); }
.lab-process-list article > span { width:45px; height:45px; display:grid; place-items:center; border-radius:14px; color:var(--lab-cyan); background:rgba(212,175,106,.09); font-weight:950; }
.lab-process-list strong { display:block; }
.lab-process-list p { margin:.2rem 0 0; color:var(--lab-muted); font-size:.9rem; }

.lab-notice { display:flex; align-items:flex-start; gap:1rem; padding:1.25rem 1.35rem; border:1px solid rgba(212,175,106,.22); border-radius:var(--lab-radius-lg); background:linear-gradient(135deg,rgba(212,175,106,.09),rgba(176,141,87,.055)); }
.lab-notice > i { width:48px; height:48px; flex:0 0 auto; display:grid; place-items:center; border-radius:15px; color:#04111d; background:linear-gradient(135deg,var(--lab-cyan),var(--lab-violet)); font-size:1.15rem; }
.lab-notice h3 { margin:0 0 .35rem; }
.lab-notice p { margin:0; color:var(--lab-muted); }
.lab-notice-warning { border-color:rgba(224,160,80,.28); background:linear-gradient(135deg,rgba(224,160,80,.09),rgba(176,141,87,.05)); }
.lab-notice-warning > i { background:linear-gradient(135deg,var(--lab-warm),#E8A060); }

.lab-acronym-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.8rem; }
.lab-acronym-grid .lab-card { min-height:245px; padding:1.2rem; }
.lab-acronym-grid .lab-card > strong { display:block; color:var(--lab-cyan); font-family:Montserrat,sans-serif; font-size:2.2rem; line-height:1; }
.lab-acronym-grid h3 { margin:1rem 0 .5rem; font-size:1rem; }
.lab-acronym-grid p { margin:0; color:var(--lab-muted); font-size:.88rem; }

.lab-exercise { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.5rem; align-items:center; padding:clamp(1.5rem,4vw,2.5rem); border:1px solid rgba(127,182,158,.22); border-radius:var(--lab-radius-xl); background:radial-gradient(circle at 100% 0%,rgba(127,182,158,.14),transparent 40%),rgba(18,35,60,.82); }
.lab-exercise h2 { margin:0 0 .65rem; font-size:clamp(1.65rem,3vw,2.55rem); }
.lab-exercise p { margin:0; color:var(--lab-muted); }

.lab-usecase-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.lab-usecase-grid .lab-card { min-height:220px; }
.lab-usecase-grid h3 { margin:0 0 .65rem; }
.lab-usecase-grid p { margin:0; color:var(--lab-muted); }

.lab-role-table { overflow:hidden; border:1px solid var(--lab-line); border-radius:var(--lab-radius-lg); background:rgba(18,35,60,.78); }
.lab-role-row { display:grid; grid-template-columns:1fr 1.25fr 1.25fr; gap:1rem; padding:1rem 1.15rem; border-bottom:1px solid var(--lab-line); }
.lab-role-row:last-child { border-bottom:0; }
.lab-role-row span { color:var(--lab-muted); }
.lab-role-head { color:#F7EFDD; background:rgba(212,175,106,.07); font-size:.82rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.lab-role-head span { color:#F7EFDD; }

.lab-definition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.lab-definition-grid .lab-card { min-height:300px; }
.lab-definition-grid h2 { margin:.55rem 0 .8rem; font-size:clamp(1.7rem,3vw,2.5rem); }
.lab-definition-grid p { margin:0; color:var(--lab-muted); }

.lab-vibe-cycle { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.75rem; }
.lab-vibe-cycle .lab-card { min-height:220px; padding:1.05rem; }
.lab-vibe-cycle .lab-card > span { display:block; width:38px; height:38px; display:grid; place-items:center; border-radius:12px; color:#04111d; background:linear-gradient(135deg,var(--lab-cyan),var(--lab-violet)); font-weight:950; }
.lab-vibe-cycle h3 { margin:.9rem 0 .45rem; }
.lab-vibe-cycle p { margin:0; color:var(--lab-muted); font-size:.86rem; }

.lab-project-ideas { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.lab-project-ideas .lab-card { min-height:245px; }
.lab-project-ideas i { color:var(--lab-cyan); font-size:1.45rem; }
.lab-project-ideas h3 { margin:1rem 0 .55rem; }
.lab-project-ideas p { margin:0; color:var(--lab-muted); }
.lab-project-ideas span { display:inline-flex; margin-top:1rem; padding:.35rem .55rem; border-radius:999px; color:#F2E4C4; background:rgba(212,175,106,.08); font-size:.72rem; font-weight:900; }

.lab-offer-builder { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.75rem; }
.lab-offer-builder > div { min-height:220px; padding:1.1rem; border:1px solid var(--lab-line); border-radius:var(--lab-radius-md); background:rgba(255,255,255,.025); }
.lab-offer-builder span { width:38px; height:38px; display:grid; place-items:center; margin-bottom:.9rem; border-radius:12px; color:var(--lab-cyan); background:rgba(212,175,106,.09); font-weight:950; }
.lab-offer-builder strong { display:block; }
.lab-offer-builder p { margin:.4rem 0 0; color:var(--lab-muted); font-size:.87rem; }

.lab-seven-day-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.65rem; }
.lab-seven-day-grid .lab-card { min-height:155px; padding:1rem; }
.lab-seven-day-grid span { color:var(--lab-cyan); font-weight:950; }
.lab-seven-day-grid h3 { margin:.8rem 0 0; font-size:.96rem; }

.lab-prompt-filters { display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:1.5rem; }
.lab-prompt-filters button { min-height:40px; padding:.55rem .78rem; border:1px solid var(--lab-line); border-radius:999px; color:var(--lab-muted); background:rgba(255,255,255,.03); font:inherit; font-size:.8rem; font-weight:900; cursor:pointer; }
.lab-prompt-filters button:hover,.lab-prompt-filters button.is-active { color:#04111d; border-color:transparent; background:linear-gradient(135deg,var(--lab-cyan),var(--lab-violet)); }
.lab-prompt-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.lab-prompt-card { padding:1.25rem; border:1px solid var(--lab-line); border-radius:var(--lab-radius-lg); background:var(--lab-card-strong); box-shadow:0 18px 42px rgba(0,0,0,.14); }
.lab-prompt-card[hidden] { display:none !important; }
.lab-prompt-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.lab-prompt-head > span { padding:.35rem .55rem; border-radius:999px; color:var(--lab-cyan); background:rgba(212,175,106,.08); font-size:.72rem; font-weight:900; }
.lab-copy-btn { min-height:38px; display:inline-flex; align-items:center; gap:.45rem; padding:.5rem .65rem; border:1px solid var(--lab-line); border-radius:12px; color:#fff; background:rgba(255,255,255,.04); font:inherit; font-size:.78rem; font-weight:900; cursor:pointer; }
.lab-copy-btn.is-copied { color:#04111d; border-color:transparent; background:var(--lab-green); }
.lab-prompt-card h3 { margin:1rem 0 .4rem; }
.lab-prompt-card > p { margin:0 0 .85rem; color:var(--lab-muted); font-size:.88rem; }
.lab-prompt-card pre { max-height:260px; margin:0; padding:1rem; overflow:auto; white-space:pre-wrap; border:1px solid rgba(255,255,255,.08); border-radius:14px; color:#E9E2D2; background:#06101c; font:500 .82rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; }

.lab-resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.lab-resource-card { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1rem; align-items:start; }
.lab-resource-card .lab-btn { grid-column:1/-1; justify-self:start; }
.lab-resource-card h3 { margin:.1rem 0 .45rem; }
.lab-resource-card p { margin:0; color:var(--lab-muted); }

@media (max-width:1100px) {
  .lab-module-grid,.lab-concept-grid,.lab-project-ideas { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lab-acronym-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .lab-vibe-cycle { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .lab-offer-builder { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .lab-seven-day-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (max-width:720px) {
  .lab-module-grid,.lab-concept-grid,.lab-usecase-grid,.lab-definition-grid,.lab-project-ideas,.lab-prompt-grid,.lab-resource-grid { grid-template-columns:1fr; }
  .lab-acronym-grid,.lab-vibe-cycle,.lab-offer-builder,.lab-seven-day-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lab-role-row { grid-template-columns:1fr; gap:.35rem; }
  .lab-role-head { display:none; }
  .lab-role-row strong { color:var(--lab-cyan); }
  .lab-exercise { grid-template-columns:1fr; }
  .lab-exercise .lab-btn { width:100%; }
}

@media (max-width:480px) {
  .lab-acronym-grid,.lab-vibe-cycle,.lab-offer-builder,.lab-seven-day-grid { grid-template-columns:1fr; }
  .lab-notice { flex-direction:column; }
  .lab-prompt-filters button { flex:1 1 auto; }
}

/* =========================================================
   Phase 3 — Recherche académique et administration
   ========================================================= */
.lab-narrow { width:min(calc(100% - 2rem),900px); }
.lab-research-home { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4rem); align-items:center; padding:clamp(1.6rem,4vw,3rem); border:1px solid rgba(212,175,106,.20); border-radius:var(--lab-radius-xl); background:radial-gradient(circle at 100% 0%,rgba(176,141,87,.14),transparent 38%),rgba(18,35,60,.80); }
.lab-research-home h2 { margin:0; font-size:clamp(2rem,4vw,3.4rem); line-height:1.08; letter-spacing:-.045em; }
.lab-research-home p { color:var(--lab-muted); }
.lab-research-home-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.lab-research-home-steps article { padding:1rem; border:1px solid var(--lab-line); border-radius:17px; background:rgba(255,255,255,.035); }
.lab-research-home-steps span,.lab-research-home-steps strong,.lab-research-home-steps small { display:block; }
.lab-research-home-steps span { color:var(--lab-cyan); font-family:Montserrat,sans-serif; font-size:1.35rem; font-weight:900; }
.lab-research-home-steps strong { margin:.45rem 0 .2rem; }
.lab-research-home-steps small { color:var(--lab-muted); line-height:1.5; }

.lab-research-status-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.lab-research-step { display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:1rem; align-items:center; color:inherit; text-decoration:none; }
.lab-research-step-number { width:58px; height:58px; display:grid; place-items:center; border-radius:18px; color:var(--lab-cyan); background:rgba(212,175,106,.09); font-family:Montserrat,sans-serif; font-size:1.1rem; font-weight:900; }
.lab-research-step h3 { margin:0 0 .25rem; }
.lab-research-step p { margin:0; color:var(--lab-muted); font-size:.9rem; }
.lab-research-step > i { color:var(--lab-muted); }
.lab-research-step.is-complete { border-color:rgba(127,182,158,.28); background:linear-gradient(135deg,rgba(127,182,158,.08),rgba(255,255,255,.025)); }
.lab-research-step.is-complete .lab-research-step-number,.lab-research-step.is-complete > i { color:var(--lab-green); }

.lab-form-layout { display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-items:start; }
.lab-research-information h2,.lab-research-form h2 { margin-top:0; }
.lab-research-information h3 { margin:1.2rem 0 .25rem; font-size:1rem; }
.lab-research-information p { margin:0; color:var(--lab-muted); font-size:.91rem; }
.lab-research-form { padding:clamp(1.25rem,3vw,2rem); }
.lab-research-form fieldset { min-width:0; margin:0 0 1.4rem; padding:0; border:0; }
.lab-research-form legend { width:100%; margin-bottom:1rem; padding-bottom:.65rem; border-bottom:1px solid var(--lab-line); color:#fff; font-size:1.1rem; font-weight:900; }
.lab-field { display:grid; gap:.45rem; margin-bottom:1rem; }
.lab-field > span { color:#E9E2D2; font-size:.86rem; font-weight:850; }
.lab-field input,.lab-field select,.lab-field textarea { width:100%; padding:.82rem .9rem; border:1px solid var(--lab-line); border-radius:14px; color:#fff; background:#071321; font:inherit; outline:none; transition:border-color .2s ease,box-shadow .2s ease; }
.lab-field textarea { resize:vertical; }
.lab-field input:focus,.lab-field select:focus,.lab-field textarea:focus { border-color:rgba(212,175,106,.65); box-shadow:0 0 0 4px rgba(212,175,106,.09); }
.lab-field select option { color:#fff; background:#071321; }
.lab-field-help { margin:-.4rem 0 1.1rem; color:var(--lab-muted); font-size:.85rem; }
.lab-check { display:flex; align-items:flex-start; gap:.75rem; margin:1rem 0; color:#d7e3f0; font-size:.9rem; }
.lab-check input { width:18px; height:18px; flex:0 0 auto; margin-top:.15rem; accent-color:var(--lab-cyan); }
.lab-research-form button[disabled] { opacity:.5; cursor:not-allowed; transform:none; }
.lab-form-alert { display:flex; align-items:flex-start; gap:.75rem; margin:0 0 1rem; padding:.9rem 1rem; border:1px solid rgba(255,125,125,.28); border-radius:15px; color:#ffdede; background:rgba(255,90,90,.08); font-size:.86rem; }
.lab-form-alert ul { margin:0; padding-left:1.1rem; }
.lab-form-alert-warning { border-color:rgba(224,160,80,.30); color:#F7E7C6; background:rgba(224,160,80,.08); }
.lab-form-alert-info { border-color:rgba(212,175,106,.26); color:#F7EFDD; background:rgba(212,175,106,.07); }
.lab-form-alert code { font-size:.82rem; }
.lab-form-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.lab-form-header h2 { margin:0; font-size:1.25rem; }
.lab-form-progress { padding:.38rem .65rem; border-radius:999px; color:var(--lab-cyan); background:rgba(212,175,106,.08); font-size:.75rem; font-weight:900; }

.lab-likert-question { padding:1rem 0; border-bottom:1px solid var(--lab-line); }
.lab-likert-question:last-child { border-bottom:0; }
.lab-likert-question > strong { display:block; margin-bottom:.8rem; font-size:.92rem; }
.lab-likert-options { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.45rem; }
.lab-likert-options label { position:relative; cursor:pointer; }
.lab-likert-options input { position:absolute; opacity:0; pointer-events:none; }
.lab-likert-options span { min-height:54px; display:grid; place-items:center; padding:.45rem; border:1px solid var(--lab-line); border-radius:12px; color:var(--lab-muted); background:rgba(255,255,255,.025); text-align:center; font-size:.73rem; font-weight:800; line-height:1.25; transition:.2s ease; }
.lab-likert-options input:checked + span { color:#04111d; border-color:transparent; background:linear-gradient(135deg,var(--lab-cyan),var(--lab-violet)); box-shadow:0 10px 25px rgba(212,175,106,.14); }
.lab-likert-options input:focus-visible + span { outline:2px solid var(--lab-cyan); outline-offset:2px; }

.lab-completion-section { min-height:68vh; display:grid; align-items:center; }
.lab-completion-card { padding:clamp(2rem,6vw,4rem); text-align:center; }
.lab-completion-icon { width:84px; height:84px; display:grid; place-items:center; margin:0 auto 1.3rem; border-radius:25px; color:#04111d; background:linear-gradient(135deg,var(--lab-cyan),var(--lab-violet)); font-size:2rem; box-shadow:0 18px 45px rgba(212,175,106,.18); }
.lab-completion-card h1 { margin:.4rem 0 .8rem; font-size:clamp(2.2rem,5vw,4rem); line-height:1.05; }
.lab-completion-card p { max-width:720px; margin:0 auto; color:var(--lab-muted); }
.lab-completion-card .lab-action-group { justify-content:center; }

.lab-admin-login-section { min-height:68vh; display:grid; align-items:center; }
.lab-admin-login-wrap { width:min(calc(100% - 2rem),560px); }
.lab-admin-login-wrap h1 { margin:1rem 0 .5rem; font-size:clamp(2rem,5vw,3.2rem); }
.lab-admin-login-wrap p { color:var(--lab-muted); }
.lab-admin-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.lab-admin-stats article span,.lab-admin-stats article strong,.lab-admin-stats article small { display:block; }
.lab-admin-stats article span { color:var(--lab-muted); font-size:.8rem; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.lab-admin-stats article strong { margin:.45rem 0; color:var(--lab-cyan); font-family:Montserrat,sans-serif; font-size:2.25rem; }
.lab-admin-stats article small { color:var(--lab-muted); }
.lab-admin-analysis-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.lab-admin-analysis-grid h2,.lab-admin-table-card h2 { margin-top:0; }
.lab-score-comparison { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1.2rem 0; }
.lab-score-comparison > div { flex:1; padding:1rem; border:1px solid var(--lab-line); border-radius:16px; text-align:center; background:rgba(255,255,255,.025); }
.lab-score-comparison span,.lab-score-comparison strong,.lab-score-comparison small { display:block; }
.lab-score-comparison strong { color:var(--lab-cyan); font-size:2rem; }
.lab-big-score { color:var(--lab-green); font-family:Montserrat,sans-serif; font-size:4rem; font-weight:900; }
.lab-big-score small { color:var(--lab-muted); font:800 1rem Inter,sans-serif; }
.lab-role-bars { display:grid; gap:.8rem; }
.lab-role-bars > div > div { display:flex; justify-content:space-between; gap:1rem; font-size:.86rem; }
.lab-bar { display:block; height:8px; margin-top:.35rem; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.07); }
.lab-bar i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--lab-cyan),var(--lab-violet)); }
.lab-funnel { display:grid; gap:.6rem; }
.lab-funnel div { display:flex; justify-content:space-between; gap:1rem; padding:.8rem 1rem; border:1px solid var(--lab-line); border-radius:14px; background:rgba(255,255,255,.025); }
.lab-funnel strong { color:var(--lab-cyan); }
.lab-admin-table-card { margin-top:1rem; }
.lab-table-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.lab-table-head span { color:var(--lab-green); font-size:.78rem; font-weight:900; }
.lab-table-wrap { overflow:auto; }
.lab-table-wrap table { width:100%; min-width:800px; border-collapse:collapse; font-size:.82rem; }
.lab-table-wrap th,.lab-table-wrap td { padding:.75rem; border-bottom:1px solid var(--lab-line); text-align:left; }
.lab-table-wrap th { color:var(--lab-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; }

@media (max-width:980px) {
  .lab-research-home,.lab-form-layout { grid-template-columns:1fr; }
  .lab-admin-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lab-likert-options { grid-template-columns:1fr; }
  .lab-likert-options span { min-height:44px; justify-items:start; text-align:left; }
}
@media (max-width:720px) {
  .lab-research-status-grid,.lab-admin-analysis-grid { grid-template-columns:1fr; }
  .lab-research-step { grid-template-columns:48px minmax(0,1fr) auto; }
  .lab-research-step-number { width:48px; height:48px; }
}
@media (max-width:520px) {
  .lab-research-home-steps,.lab-admin-stats { grid-template-columns:1fr; }
  .lab-score-comparison { flex-direction:column; }
  .lab-score-comparison > div { width:100%; }
  .lab-form-header,.lab-table-head { align-items:flex-start; flex-direction:column; }
}

/* =========================================================
   Phase 4 — Espace participant, progression et projets
   ========================================================= */
.lab-account-link { max-width:180px; display:flex; align-items:center; gap:.5rem; padding:.55rem .7rem; border:1px solid var(--lab-line); border-radius:14px; color:#F7F0E0; background:rgba(255,255,255,.035); text-decoration:none; font-size:.8rem; font-weight:850; }
.lab-account-link i { color:var(--lab-cyan); font-size:1rem; }
.lab-account-link span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lab-flash-wrap { margin-top:1rem; }
.lab-flash { display:flex; align-items:flex-start; gap:.7rem; padding:.85rem 1rem; border:1px solid rgba(212,175,106,.25); border-radius:15px; color:#F7EFDD; background:rgba(212,175,106,.08); box-shadow:0 12px 30px rgba(0,0,0,.12); }
.lab-flash-success { border-color:rgba(127,182,158,.28); color:#dbffef; background:rgba(127,182,158,.08); }
.lab-flash-error { border-color:rgba(255,115,115,.3); color:#ffe3e3; background:rgba(255,90,90,.08); }
.lab-auth-hero { padding-bottom:3rem; }
.lab-auth-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:clamp(1.5rem,4vw,3rem); align-items:start; }
.lab-auth-layout-narrow { grid-template-columns:minmax(0,.9fr) minmax(300px,.8fr); max-width:1000px; }
.lab-form-card { padding:clamp(1.25rem,3vw,2rem); border:1px solid var(--lab-line); border-radius:var(--lab-radius-xl); background:rgba(18,35,60,.88); box-shadow:var(--lab-shadow); }
.lab-form-card .lab-form-header > i { width:48px; height:48px; display:grid; place-items:center; border-radius:15px; color:var(--lab-cyan); background:rgba(212,175,106,.09); }
.lab-form-card h2 { margin:0; }
.lab-field small { color:var(--lab-muted); font-size:.78rem; }
.lab-form-grid-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.lab-checkbox { display:flex; align-items:flex-start; gap:.7rem; margin:1rem 0 1.2rem; color:#d5e1ef; font-size:.87rem; }
.lab-checkbox input { width:18px; height:18px; margin-top:.15rem; flex:0 0 auto; accent-color:var(--lab-cyan); }
.lab-checkbox a,.lab-form-foot a { color:var(--lab-cyan); font-weight:850; }
.lab-btn-wide { width:100%; }
.lab-btn[disabled] { opacity:.48; cursor:not-allowed; transform:none; box-shadow:none; }
.lab-form-foot { margin:1rem 0 0; color:var(--lab-muted); text-align:center; font-size:.86rem; }
.lab-alert { margin:0 0 1rem; padding:.9rem 1rem; border:1px solid var(--lab-line); border-radius:15px; color:#F7F0E0; background:rgba(255,255,255,.035); font-size:.86rem; }
.lab-alert ul { margin:.45rem 0 0; padding-left:1.1rem; }
.lab-alert-error { border-color:rgba(255,115,115,.30); color:#ffe5e5; background:rgba(255,80,80,.08); }
.lab-alert-warning { border-color:rgba(224,160,80,.30); color:#F7E7C6; background:rgba(224,160,80,.08); }
.lab-auth-benefits { padding:clamp(1.5rem,4vw,2.5rem); border:1px solid rgba(212,175,106,.18); border-radius:var(--lab-radius-xl); background:radial-gradient(circle at 100% 0%,rgba(176,141,87,.16),transparent 38%),rgba(18,35,60,.74); }
.lab-auth-benefits h2 { margin:1rem 0 .8rem; font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.1; }
.lab-auth-benefits > p { color:var(--lab-muted); }
.lab-privacy-note { display:flex; align-items:flex-start; gap:.8rem; margin-top:1.5rem; padding:1rem; border:1px solid rgba(127,182,158,.22); border-radius:17px; background:rgba(127,182,158,.07); }
.lab-privacy-note i { color:var(--lab-green); margin-top:.2rem; }
.lab-privacy-note p { margin:0; color:#dcefe7; font-size:.84rem; }
.lab-form-aside { position:sticky; top:110px; }
.lab-form-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.2rem; }
.lab-form-note { display:flex; align-items:flex-start; gap:.6rem; margin:1rem 0 0; color:var(--lab-muted); font-size:.8rem; }
.lab-form-note i { color:var(--lab-cyan); margin-top:.15rem; }

.lab-member-hero { padding:clamp(3.5rem,7vw,6rem) 0 2.8rem; }
.lab-member-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:end; }
.lab-member-hero h1 { margin:1rem 0 .5rem; font-family:Montserrat,sans-serif; font-size:clamp(2.5rem,6vw,4.8rem); line-height:1; letter-spacing:-.055em; }
.lab-member-hero p { max-width:760px; margin:0; color:var(--lab-muted); font-size:1.02rem; }
.lab-member-page-hero { padding-bottom:3.2rem; }
.lab-account-card { min-width:300px; display:grid; grid-template-columns:56px minmax(0,1fr) 38px; gap:.85rem; align-items:center; padding:1rem; border:1px solid var(--lab-line); border-radius:20px; background:rgba(18,35,60,.84); box-shadow:0 18px 45px rgba(0,0,0,.16); }
.lab-avatar { width:56px; height:56px; display:grid; place-items:center; border-radius:18px; color:#04111d; background:linear-gradient(135deg,var(--lab-cyan),var(--lab-violet)); font-family:Montserrat,sans-serif; font-size:1.35rem; font-weight:900; }
.lab-account-card strong,.lab-account-card span,.lab-account-card small { display:block; }
.lab-account-card span,.lab-account-card small { overflow:hidden; color:var(--lab-muted); text-overflow:ellipsis; white-space:nowrap; }
.lab-account-card span { font-size:.8rem; }.lab-account-card small { margin-top:.15rem; font-size:.72rem; }
.lab-account-card > a { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--lab-line); border-radius:12px; color:var(--lab-cyan); text-decoration:none; background:rgba(255,255,255,.03); }
.lab-dashboard-section { padding-top:2rem; }
.lab-dashboard-stats { display:grid; grid-template-columns:1.35fr repeat(3,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.lab-dashboard-stat { min-height:155px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem; border:1px solid var(--lab-line); border-radius:22px; background:rgba(18,35,60,.78); }
.lab-dashboard-stat > i { width:48px; height:48px; display:grid; place-items:center; flex:0 0 auto; border-radius:15px; color:var(--lab-cyan); background:rgba(212,175,106,.08); font-size:1.1rem; }
.lab-dashboard-stat span,.lab-dashboard-stat strong,.lab-dashboard-stat small { display:block; }
.lab-dashboard-stat span { color:var(--lab-muted); font-size:.78rem; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.lab-dashboard-stat strong { margin:.35rem 0; font-family:Montserrat,sans-serif; font-size:1.55rem; line-height:1.05; }
.lab-dashboard-stat small { color:var(--lab-muted); font-size:.78rem; }
.lab-progress-ring { --value:0; width:82px; height:82px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:conic-gradient(var(--lab-cyan) calc(var(--value) * 1%),rgba(255,255,255,.07) 0); position:relative; }
.lab-progress-ring::before { content:""; position:absolute; inset:8px; border-radius:50%; background:#0b192a; }
.lab-progress-ring span { position:relative; z-index:1; color:#fff; font-size:1rem; font-weight:900; }
.lab-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:1rem; margin-top:1rem; }
.lab-dashboard-grid-secondary { grid-template-columns:1fr 1fr; }
.lab-dashboard-panel { padding:1.35rem; border:1px solid var(--lab-line); border-radius:24px; background:rgba(18,35,60,.76); }
.lab-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.lab-panel-head h2 { margin:0; font-size:1.45rem; }.lab-panel-head > a { color:var(--lab-cyan); text-decoration:none; font-size:.8rem; font-weight:850; }
.lab-dashboard-panel > p { color:var(--lab-muted); }
.lab-dashboard-actions-list { display:grid; gap:.55rem; }
.lab-dashboard-actions-list a { display:grid; grid-template-columns:42px minmax(0,1fr) 12px; gap:.75rem; align-items:center; padding:.7rem; border:1px solid var(--lab-line); border-radius:15px; color:inherit; background:rgba(255,255,255,.025); text-decoration:none; }
.lab-dashboard-actions-list a > i { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:var(--lab-cyan); background:rgba(212,175,106,.08); }
.lab-dashboard-actions-list strong,.lab-dashboard-actions-list small { display:block; }.lab-dashboard-actions-list small { color:var(--lab-muted); font-size:.76rem; }
.lab-status-dot { width:9px; height:9px; border-radius:50%; background:#596778; }.lab-status-dot.lab-status-started { background:var(--lab-warm); }.lab-status-dot.lab-status-completed { background:var(--lab-green); }
.lab-eligibility-list { display:grid; gap:.65rem; margin:1rem 0 1.2rem; }
.lab-eligibility-list span { display:flex; align-items:center; gap:.6rem; color:var(--lab-muted); }
.lab-eligibility-list i { width:24px; height:24px; display:grid; place-items:center; border:1px solid var(--lab-line); border-radius:50%; color:#677688; font-size:.7rem; }
.lab-eligibility-list .is-done { color:#e5fff2; }.lab-eligibility-list .is-done i { color:#04111d; border-color:transparent; background:var(--lab-green); }
.lab-privacy-panel { display:flex; align-items:flex-start; gap:1rem; border-color:rgba(127,182,158,.2); background:rgba(127,182,158,.05); }
.lab-privacy-panel > i { width:50px; height:50px; display:grid; place-items:center; flex:0 0 auto; border-radius:16px; color:var(--lab-green); background:rgba(127,182,158,.1); }.lab-privacy-panel h2 { margin:0 0 .5rem; font-size:1.15rem; }.lab-privacy-panel p { margin:0; font-size:.86rem; }
.lab-logout-row { display:flex; justify-content:flex-end; margin-top:1rem; }.lab-text-button { padding:.5rem; border:0; color:var(--lab-muted); background:transparent; cursor:pointer; font:inherit; font-size:.82rem; }.lab-text-button:hover { color:#fff; }

.lab-progress-summary { max-width:620px; margin-top:1.4rem; }.lab-progress-summary strong { display:block; color:var(--lab-cyan); font-family:Montserrat,sans-serif; font-size:2rem; }.lab-progress-summary span { color:var(--lab-muted); }.lab-progress-summary > div { height:9px; margin-top:.55rem; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.07); }.lab-progress-summary i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--lab-cyan),var(--lab-violet)); }
.lab-progress-cards { display:grid; gap:.8rem; }
.lab-progress-card { display:grid; grid-template-columns:58px minmax(0,1fr) minmax(190px,.35fr); gap:1rem; align-items:center; padding:1rem 1.1rem; border:1px solid var(--lab-line); border-radius:20px; background:rgba(18,35,60,.75); }
.lab-progress-card-icon { width:58px; height:58px; display:grid; place-items:center; border-radius:18px; color:var(--lab-cyan); background:rgba(212,175,106,.08); font-size:1.1rem; }
.lab-progress-card-title { display:flex; align-items:center; gap:.6rem; }.lab-progress-card-title h2 { margin:0; font-size:1.12rem; }.lab-progress-card-title span { padding:.22rem .5rem; border-radius:999px; color:var(--lab-cyan); background:rgba(212,175,106,.08); font-size:.65rem; font-weight:900; text-transform:uppercase; }.lab-progress-card-title .is-optional { color:var(--lab-violet); background:rgba(176,141,87,.09); }
.lab-progress-card-copy p { margin:.25rem 0; color:var(--lab-muted); font-size:.83rem; }.lab-progress-card-copy a { color:#F7EFDD; text-decoration:none; font-size:.8rem; font-weight:850; }
.lab-progress-card-actions { display:grid; justify-items:end; gap:.55rem; }.lab-progress-card-actions form { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.35rem; }.lab-progress-card-actions button { padding:.42rem .55rem; border:1px solid var(--lab-line); border-radius:10px; color:#E9E2D2; background:rgba(255,255,255,.03); cursor:pointer; font:inherit; font-size:.68rem; font-weight:800; }.lab-progress-card-actions button.is-complete { color:#04111d; border-color:transparent; background:var(--lab-green); }.lab-progress-card-actions button.is-reset { color:var(--lab-muted); }
.lab-status-badge { display:inline-flex; width:max-content; padding:.3rem .58rem; border-radius:999px; color:var(--lab-muted); background:rgba(255,255,255,.06); font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }.lab-status-badge.lab-status-started { color:#F7E7C6; background:rgba(224,160,80,.1); }.lab-status-badge.lab-status-completed { color:#E2EFE8; background:rgba(127,182,158,.1); }

.lab-empty-state { padding:clamp(2rem,6vw,4rem); border:1px dashed rgba(212,175,106,.28); border-radius:var(--lab-radius-xl); background:rgba(18,35,60,.55); text-align:center; }.lab-empty-state > i { color:var(--lab-cyan); font-size:2.3rem; }.lab-empty-state h1,.lab-empty-state h2 { margin:1rem auto .6rem; max-width:22ch; }.lab-empty-state p { max-width:680px; margin:0 auto 1.2rem; color:var(--lab-muted); }
.lab-project-owner-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.lab-project-owner-card { padding:1.25rem; border:1px solid var(--lab-line); border-radius:22px; background:rgba(18,35,60,.78); }.lab-project-owner-card h2 { margin:.75rem 0 .55rem; font-size:1.35rem; }.lab-project-owner-card > p { color:var(--lab-muted); }
.lab-project-card-top { display:flex; align-items:center; justify-content:space-between; gap:.6rem; }.lab-project-category { color:var(--lab-cyan); font-size:.7rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }.lab-project-status-draft { color:var(--lab-muted); }.lab-project-status-submitted { color:#F7E7C6; background:rgba(224,160,80,.1); }.lab-project-status-approved { color:#E2EFE8; background:rgba(127,182,158,.1); }.lab-project-status-rejected { color:#ffe0e0; background:rgba(255,90,90,.09); }
.lab-project-meta { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1rem; color:var(--lab-muted); font-size:.72rem; }.lab-project-meta i { color:var(--lab-cyan); }.lab-project-actions { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1rem; padding-top:.85rem; border-top:1px solid var(--lab-line); }.lab-project-actions a { padding:.4rem .55rem; border:1px solid var(--lab-line); border-radius:10px; color:#F7EFDD; text-decoration:none; font-size:.72rem; font-weight:800; }
.lab-project-filters { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1.2rem; }.lab-project-filters a { padding:.48rem .7rem; border:1px solid var(--lab-line); border-radius:999px; color:var(--lab-muted); background:rgba(255,255,255,.025); text-decoration:none; font-size:.73rem; font-weight:800; }.lab-project-filters a.is-active { color:#04111d; border-color:transparent; background:linear-gradient(135deg,var(--lab-cyan),var(--lab-violet)); }
.lab-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.lab-gallery-card { overflow:hidden; border:1px solid var(--lab-line); border-radius:23px; background:rgba(18,35,60,.76); transition:.25s ease; }.lab-gallery-card:hover { transform:translateY(-4px); border-color:rgba(212,175,106,.27); box-shadow:0 22px 48px rgba(0,0,0,.16); }.lab-gallery-card-visual { min-height:150px; display:flex; align-items:center; justify-content:center; position:relative; background:radial-gradient(circle at 50% 50%,rgba(212,175,106,.16),transparent 38%),linear-gradient(135deg,rgba(176,141,87,.12),rgba(127,182,158,.06)); }.lab-gallery-card-visual > i { color:var(--lab-cyan); font-size:2.6rem; }.lab-gallery-card-visual > span { position:absolute; top:.8rem; right:.8rem; padding:.3rem .55rem; border-radius:999px; color:#F7EFDD; background:rgba(5,11,20,.68); font-size:.66rem; font-weight:850; }.lab-gallery-card-copy { padding:1.15rem; }.lab-gallery-card-copy h2 { margin:.55rem 0; font-size:1.25rem; }.lab-gallery-card-copy h2 a { text-decoration:none; }.lab-gallery-card-copy > p { color:var(--lab-muted); font-size:.88rem; }.lab-project-author { display:flex; align-items:center; gap:.45rem; margin-top:1rem; padding-top:.8rem; border-top:1px solid var(--lab-line); color:var(--lab-muted); font-size:.72rem; }.lab-project-author i { color:var(--lab-cyan); }.lab-project-author em { margin-left:auto; color:var(--lab-green); font-style:normal; }
.lab-project-hero { padding:clamp(4rem,8vw,7rem) 0 3rem; }.lab-project-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:clamp(2rem,5vw,4rem); align-items:center; }.lab-project-hero h1 { margin:1rem 0; font-family:Montserrat,sans-serif; font-size:clamp(2.6rem,6vw,5rem); line-height:1; letter-spacing:-.055em; }.lab-project-hero p { max-width:800px; color:#DAD2C0; }.lab-project-author-large { display:flex; align-items:center; gap:.75rem; margin-top:1.4rem; }.lab-project-author-large .lab-avatar { width:46px; height:46px; border-radius:14px; font-size:1rem; }.lab-project-author-large strong,.lab-project-author-large span { display:block; }.lab-project-author-large span { color:var(--lab-muted); font-size:.78rem; }
.lab-project-score-card { min-height:260px; display:grid; place-items:center; align-content:center; padding:1.4rem; border:1px solid rgba(212,175,106,.2); border-radius:28px; background:radial-gradient(circle at center,rgba(212,175,106,.14),transparent 50%),rgba(18,35,60,.8); text-align:center; }.lab-project-score-card > span { color:var(--lab-muted); font-size:.75rem; font-weight:850; text-transform:uppercase; }.lab-project-score-card > strong { margin:.55rem 0; color:var(--lab-cyan); font-family:Montserrat,sans-serif; font-size:4rem; line-height:1; }.lab-project-score-card > strong small { font-size:1.1rem; }.lab-project-score-card > i { margin:.8rem 0; color:var(--lab-cyan); font-size:2rem; }.lab-project-score-card p { margin:0; color:var(--lab-muted); font-size:.78rem; }
.lab-project-detail-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:1rem; align-items:start; }.lab-project-content { display:grid; gap:1rem; }.lab-project-content section { padding:1.35rem; border:1px solid var(--lab-line); border-radius:22px; background:rgba(18,35,60,.7); }.lab-project-content h2 { margin:0 0 .7rem; font-size:1.45rem; }.lab-project-content p { color:#DAD2C0; }.lab-project-sidebar { display:grid; gap:1rem; position:sticky; top:110px; }.lab-project-sidebar h3 { margin-top:0; }.lab-project-sidebar h4 { margin:1rem 0 .3rem; }.lab-mini-scores { display:grid; gap:.45rem; }.lab-mini-scores span { display:flex; justify-content:space-between; gap:1rem; padding:.55rem .65rem; border:1px solid var(--lab-line); border-radius:11px; color:var(--lab-muted); font-size:.78rem; }.lab-mini-scores strong { color:var(--lab-cyan); }

.lab-evaluation-field { margin:0 0 1.4rem; padding:1rem; border:1px solid var(--lab-line); border-radius:18px; background:rgba(255,255,255,.022); }.lab-evaluation-field legend { width:100%; padding:0; }.lab-evaluation-field legend strong,.lab-evaluation-field legend span { display:block; }.lab-evaluation-field legend span { color:var(--lab-muted); font-size:.8rem; font-weight:500; }.lab-score-options { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.45rem; margin-top:.8rem; }.lab-score-options label { position:relative; cursor:pointer; }.lab-score-options input { position:absolute; opacity:0; }.lab-score-options label > span { min-height:58px; display:grid; place-items:center; padding:.4rem; border:1px solid var(--lab-line); border-radius:12px; color:#fff; background:rgba(255,255,255,.025); font-size:1rem; font-weight:900; }.lab-score-options small { display:block; color:var(--lab-muted); font-size:.58rem; }.lab-score-options input:checked + span { color:#04111d; border-color:transparent; background:linear-gradient(135deg,var(--lab-cyan),var(--lab-violet)); }.lab-score-options input:checked + span small { color:#183746; }

.lab-attestation-pending { display:grid; grid-template-columns:minmax(0,1fr) 130px; gap:2rem; align-items:center; padding:clamp(1.7rem,5vw,3rem); border:1px solid var(--lab-line); border-radius:var(--lab-radius-xl); background:rgba(18,35,60,.76); }.lab-attestation-pending > i { color:rgba(212,175,106,.25); font-size:6rem; text-align:center; }.lab-attestation-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.7rem; margin-bottom:1rem; }
.lab-certificate { max-width:1050px; margin:auto; padding:18px; color:#102033; background:#eef5f9; box-shadow:0 30px 90px rgba(0,0,0,.35); }.lab-certificate-border { min-height:690px; padding:42px; border:3px double #B08D57; background:radial-gradient(circle at 50% 40%,rgba(212,175,106,.13),transparent 35%),#fff; }.lab-certificate header,.lab-certificate footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; }.lab-certificate-brand { display:flex; align-items:center; gap:.75rem; }.lab-certificate-brand .lab-brand-mark { box-shadow:none; }.lab-certificate-brand strong,.lab-certificate-brand small { display:block; }.lab-certificate-brand small { color:#557083; }.lab-certificate-code { color:#557083; font-size:.78rem; font-weight:800; }.lab-certificate-body { max-width:800px; margin:65px auto 55px; text-align:center; }.lab-certificate-kicker { color:#B08D57; font-size:.8rem; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }.lab-certificate-body h1 { margin:1rem 0 2rem; font-family:Georgia,serif; font-size:2.3rem; line-height:1.15; }.lab-certificate-body h2 { margin:.7rem 0 1rem; color:#8A6A3F; font-family:Montserrat,sans-serif; font-size:2.5rem; }.lab-certificate-body p { color:#445c6d; }.lab-certificate-skills { display:flex; flex-wrap:wrap; justify-content:center; gap:.45rem; margin-top:1.5rem; }.lab-certificate-skills span { padding:.42rem .65rem; border:1px solid #bdd3df; border-radius:999px; color:#8A6A3F; background:#f5fafc; font-size:.72rem; font-weight:800; }.lab-certificate footer > div span,.lab-certificate footer > div strong { display:block; }.lab-certificate footer > div span { color:#708795; font-size:.7rem; text-transform:uppercase; }.lab-certificate-seal { width:90px; height:90px; display:grid!important; place-items:center; align-content:center; border:2px solid #B08D57; border-radius:50%; color:#B08D57; text-align:center; }.lab-certificate-seal i { font-size:1.25rem; }.lab-certificate-seal span { color:#B08D57!important; font-size:.62rem!important; font-weight:900; }.lab-certificate-disclaimer { margin:32px 0 0; color:#6b7f8b; text-align:center; font-size:.67rem; }
.lab-verification-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:1rem; align-items:start; }.lab-verification-result { display:flex; align-items:flex-start; gap:1rem; padding:1.4rem; border:1px solid var(--lab-line); border-radius:24px; background:rgba(18,35,60,.76); }.lab-verification-result > i { font-size:2rem; }.lab-verification-result.is-valid { border-color:rgba(127,182,158,.3); }.lab-verification-result.is-valid > i { color:var(--lab-green); }.lab-verification-result.is-invalid { border-color:rgba(255,100,100,.28); }.lab-verification-result.is-invalid > i { color:#ff8c8c; }.lab-verification-result span { color:var(--lab-muted); font-size:.75rem; font-weight:900; text-transform:uppercase; }.lab-verification-result h2 { margin:.3rem 0; }.lab-verification-result p { color:var(--lab-muted); }.lab-verification-result dl { display:grid; gap:.45rem; }.lab-verification-result dl div { display:flex; justify-content:space-between; gap:1rem; padding:.5rem 0; border-bottom:1px solid var(--lab-line); }.lab-verification-result dt { color:var(--lab-muted); }.lab-verification-result dd { margin:0; font-weight:850; }.lab-verification-result small { color:var(--lab-warm); }

@media (max-width:1100px) {
  .lab-dashboard-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lab-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .lab-auth-layout,.lab-auth-layout-narrow,.lab-member-hero-grid,.lab-dashboard-grid,.lab-dashboard-grid-secondary,.lab-project-hero-grid,.lab-project-detail-grid,.lab-verification-layout { grid-template-columns:1fr; }
  .lab-form-aside,.lab-project-sidebar { position:static; }
  .lab-account-card { min-width:0; width:100%; }
  .lab-progress-card { grid-template-columns:52px minmax(0,1fr); }.lab-progress-card-actions { grid-column:1/-1; justify-items:start; }.lab-progress-card-actions form { justify-content:flex-start; }
}
@media (max-width:680px) {
  .lab-form-grid-two,.lab-dashboard-stats,.lab-project-owner-grid,.lab-gallery-grid { grid-template-columns:1fr; }
  .lab-project-author em { display:none; }
  .lab-score-options { grid-template-columns:repeat(5,minmax(44px,1fr)); }
  .lab-certificate { padding:7px; }.lab-certificate-border { min-height:0; padding:24px 18px; }.lab-certificate header,.lab-certificate footer { flex-direction:column; text-align:center; }.lab-certificate-body { margin:38px auto; }.lab-certificate-body h1 { font-size:1.7rem; }.lab-certificate-body h2 { font-size:1.9rem; }
  .lab-attestation-pending { grid-template-columns:1fr; }.lab-attestation-pending > i { display:none; }
}
@media print {
  .lab-no-print,.lab-header,.lab-topbar,.lab-footer,.lab-background,.lab-flash-wrap { display:none!important; }
  body { background:#fff!important; }
  .lab-section { padding:0!important; }
  .lab-certificate { max-width:none; margin:0; box-shadow:none; }
  .lab-certificate-border { min-height:95vh; }
}

/* Phase 5 — Administration du laboratoire */
.lab-admin-shell { padding:2rem 0 6rem; }
.lab-admin-nav { position:sticky; top:84px; z-index:45; display:flex; align-items:center; gap:.35rem; margin:0 0 2rem; padding:.55rem; overflow-x:auto; border:1px solid var(--lab-line); border-radius:18px; background:rgba(10,21,38,.92); backdrop-filter:blur(18px); box-shadow:0 14px 38px rgba(0,0,0,.16); }
.lab-admin-nav a { flex:0 0 auto; display:inline-flex; align-items:center; gap:.5rem; min-height:42px; padding:.65rem .8rem; border-radius:12px; color:var(--lab-muted); text-decoration:none; font-size:.78rem; font-weight:850; white-space:nowrap; }
.lab-admin-nav a:hover,.lab-admin-nav a.is-active { color:#04111d; background:linear-gradient(135deg,var(--lab-cyan),var(--lab-violet)); }
.lab-admin-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; margin-bottom:1.5rem; }
.lab-admin-heading h1 { margin:.5rem 0 .4rem; font-family:Montserrat,sans-serif; font-size:clamp(2.2rem,5vw,4rem); line-height:1; letter-spacing:-.05em; }
.lab-admin-heading p { max-width:800px; margin:0; color:var(--lab-muted); }
.lab-admin-count { flex:0 0 auto; padding:.5rem .75rem; border:1px solid var(--lab-line); border-radius:999px; color:var(--lab-cyan); background:rgba(212,175,106,.06); font-size:.78rem; font-weight:900; }
.lab-admin-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:.8rem; margin:1rem 0; }
.lab-admin-kpis article { min-height:130px; padding:1rem; border:1px solid var(--lab-line); border-radius:20px; background:linear-gradient(180deg,rgba(212,175,106,.055),rgba(255,255,255,.02)); }
.lab-admin-kpis span,.lab-admin-kpis strong,.lab-admin-kpis small { display:block; }
.lab-admin-kpis span { color:var(--lab-muted); font-size:.7rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.lab-admin-kpis strong { margin:.45rem 0; color:#fff; font-family:Montserrat,sans-serif; font-size:2rem; line-height:1; }
.lab-admin-kpis small { color:var(--lab-muted); font-size:.72rem; }
.lab-admin-two-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1rem; align-items:start; }
.lab-admin-table-card { padding:0; overflow:hidden; }
.lab-admin-table-card .lab-table-head { padding:1rem 1.1rem; }
.lab-admin-table-card table small { display:block; color:var(--lab-muted); font-size:.7rem; }
.lab-admin-table-card table a { color:inherit; text-decoration:none; }
.lab-admin-table-card table a:hover { color:var(--lab-cyan); }
.lab-admin-status { display:inline-flex; align-items:center; justify-content:center; padding:.28rem .55rem; border-radius:999px; color:#d7e1ee; background:rgba(255,255,255,.07); font-size:.67rem; font-weight:900; text-transform:uppercase; }
.lab-admin-status.is-active,.lab-admin-status.is-approved,.lab-admin-status.is-issued { color:#0d3326; background:var(--lab-green); }
.lab-admin-status.is-suspended,.lab-admin-status.is-rejected,.lab-admin-status.is-revoked { color:#471616; background:#ff9797; }
.lab-admin-status.is-submitted { color:#42300a; background:var(--lab-warm); }
.lab-admin-status.is-draft { color:#182a42; background:#a6b6ca; }
.lab-admin-shortcuts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.lab-admin-shortcuts a { min-height:190px; display:flex; flex-direction:column; align-items:flex-start; padding:1.25rem; border:1px solid var(--lab-line); border-radius:22px; color:inherit; background:rgba(18,35,60,.74); text-decoration:none; transition:.2s ease; }
.lab-admin-shortcuts a:hover { transform:translateY(-4px); border-color:rgba(212,175,106,.3); }
.lab-admin-shortcuts i { width:48px; height:48px; display:grid; place-items:center; margin-bottom:1rem; border-radius:15px; color:var(--lab-cyan); background:rgba(212,175,106,.08); }
.lab-admin-shortcuts strong { font-size:1rem; }.lab-admin-shortcuts span { margin-top:.35rem; color:var(--lab-muted); font-size:.8rem; }
.lab-admin-filters { display:flex; flex-wrap:wrap; gap:.65rem; margin:0 0 1rem; padding:.8rem; border:1px solid var(--lab-line); border-radius:17px; background:rgba(18,35,60,.65); }
.lab-admin-filters input,.lab-admin-filters select { min-height:45px; min-width:200px; flex:1 1 220px; padding:.7rem .8rem; border:1px solid var(--lab-line); border-radius:12px; color:#fff; background:#0a1828; font:inherit; }
.lab-admin-pagination { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:1rem; }
.lab-admin-pagination a { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--lab-line); border-radius:10px; color:var(--lab-muted); text-decoration:none; }
.lab-admin-pagination a.is-active { color:#04111d; border-color:transparent; background:var(--lab-cyan); }
.lab-admin-definition { display:grid; gap:.5rem; margin:0 0 1rem; }
.lab-admin-definition div { display:grid; grid-template-columns:130px 1fr; gap:1rem; padding:.65rem 0; border-bottom:1px solid var(--lab-line); }
.lab-admin-definition dt { color:var(--lab-muted); }.lab-admin-definition dd { margin:0; font-weight:800; }
.lab-admin-action-stack { display:grid; gap:.7rem; }
.lab-btn-danger { color:#fff; border-color:rgba(255,100,100,.28); background:rgba(255,80,80,.11); }
.lab-btn-danger:hover { background:rgba(255,80,80,.18); }
.lab-link-button { padding:0; border:0; color:var(--lab-cyan); background:transparent; cursor:pointer; font:inherit; font-size:.78rem; font-weight:850; }
.lab-link-button.is-danger { color:#ff9b9b; }
.lab-back-link { color:var(--lab-cyan); text-decoration:none; font-size:.78rem; font-weight:850; }
.lab-admin-status-tabs { display:flex; gap:.45rem; margin:0 0 1rem; padding-bottom:.2rem; overflow-x:auto; }
.lab-admin-status-tabs a { flex:0 0 auto; display:inline-flex; align-items:center; gap:.45rem; padding:.6rem .75rem; border:1px solid var(--lab-line); border-radius:999px; color:var(--lab-muted); text-decoration:none; font-size:.75rem; font-weight:850; white-space:nowrap; }
.lab-admin-status-tabs a.is-active { color:#04111d; border-color:transparent; background:linear-gradient(135deg,var(--lab-cyan),var(--lab-violet)); }
.lab-admin-status-tabs a span { min-width:20px; height:20px; display:grid; place-items:center; border-radius:999px; color:inherit; background:rgba(255,255,255,.18); font-size:.62rem; }
.lab-admin-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.lab-admin-project-grid > article { display:flex; flex-direction:column; }
.lab-admin-project-grid h2 { margin:.8rem 0 .5rem; font-size:1.2rem; }.lab-admin-project-grid p { color:var(--lab-muted); font-size:.84rem; }
.lab-admin-project-grid .lab-btn { margin-top:auto; }
.lab-admin-project-meta { display:flex; flex-wrap:wrap; gap:.55rem; margin:1rem 0; color:var(--lab-muted); font-size:.7rem; }
.lab-admin-project-meta span { display:inline-flex; align-items:center; gap:.3rem; }
.lab-admin-review-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:1rem; align-items:start; }
.lab-admin-moderation { position:sticky; top:160px; }
.lab-admin-moderation h2 { margin-top:0; }.lab-admin-moderation > p { color:var(--lab-muted); }
.lab-admin-editor { display:grid; gap:1rem; padding:1.35rem; }
.lab-admin-editor h2 { margin:0; }
.lab-admin-editor .lab-field { margin:0; }
.lab-admin-bars { display:grid; gap:.8rem; padding:1.2rem; }
.lab-admin-bars > div { display:grid; grid-template-columns:90px minmax(0,1fr) 40px; gap:.8rem; align-items:center; }
.lab-admin-bars i { height:13px; border-radius:999px; background:linear-gradient(90deg,var(--lab-cyan) var(--bar),rgba(255,255,255,.06) var(--bar)); }
.lab-admin-bars span { color:var(--lab-muted); font-size:.78rem; }.lab-admin-bars strong { text-align:right; }
.lab-project-feedback { margin:1rem 0; padding:.8rem; border:1px solid rgba(224,160,80,.28); border-radius:14px; background:rgba(224,160,80,.07); }
.lab-project-feedback strong { color:var(--lab-warm); }.lab-project-feedback p { margin:.35rem 0 0; color:#f3e5c7; font-size:.8rem; }
.lab-section-tight { padding:1.2rem 0; }
.lab-admin-login-section { min-height:65vh; display:grid; place-items:center; }
.lab-admin-login-wrap { max-width:720px; }

@media (max-width:1180px) {
  .lab-admin-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .lab-admin-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lab-admin-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .lab-admin-two-columns,.lab-admin-review-grid { grid-template-columns:1fr; }
  .lab-admin-moderation { position:static; }
  .lab-admin-heading { align-items:flex-start; flex-direction:column; }
  .lab-admin-nav { top:74px; }
}
@media (max-width:680px) {
  .lab-admin-kpis,.lab-admin-shortcuts,.lab-admin-project-grid { grid-template-columns:1fr; }
  .lab-admin-definition div { grid-template-columns:1fr; gap:.15rem; }
  .lab-admin-filters .lab-btn { width:100%; }
}

/* =========================================================
   Phase 6 — Assistant IA guidé, quotas et gouvernance
   ========================================================= */
.lab-ai-hero { padding-bottom:3rem; }
.lab-ai-status-card { min-width:320px; display:grid; gap:.55rem; padding:1.2rem; border:1px solid var(--lab-line); border-radius:22px; background:rgba(18,35,60,.86); box-shadow:0 18px 45px rgba(0,0,0,.18); }
.lab-ai-status-card strong { font-family:Montserrat,sans-serif; font-size:1.25rem; }
.lab-ai-status-card small { color:var(--lab-muted); }
.lab-ai-status { display:inline-flex; align-items:center; gap:.5rem; width:max-content; padding:.42rem .65rem; border-radius:999px; font-size:.76rem; font-weight:900; }
.lab-ai-status.is-online { color:#E5F0EA; background:rgba(127,182,158,.11); border:1px solid rgba(127,182,158,.24); }
.lab-ai-status.is-manual { color:#F7E7C6; background:rgba(224,160,80,.09); border:1px solid rgba(224,160,80,.24); }
.lab-ai-workspace-section { padding-top:2.4rem; }
.lab-ai-workspace { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.55fr); gap:1.2rem; align-items:start; }
.lab-ai-task-panel,.lab-ai-builder,.lab-ai-output-card { border:1px solid var(--lab-line); border-radius:var(--lab-radius-xl); background:rgba(18,35,60,.82); box-shadow:0 18px 45px rgba(0,0,0,.14); }
.lab-ai-task-panel { position:sticky; top:108px; padding:1.2rem; }
.lab-ai-task-list { display:grid; gap:.65rem; margin-top:1rem; }
.lab-ai-task { width:100%; display:grid; grid-template-columns:42px minmax(0,1fr); gap:.75rem; align-items:center; padding:.8rem; border:1px solid var(--lab-line); border-radius:16px; color:var(--lab-text); background:rgba(255,255,255,.025); text-align:left; cursor:pointer; transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.lab-ai-task:hover,.lab-ai-task.is-active { transform:translateY(-2px); border-color:rgba(212,175,106,.32); background:linear-gradient(135deg,rgba(212,175,106,.10),rgba(176,141,87,.07)); }
.lab-ai-task > i { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:var(--lab-cyan); background:rgba(212,175,106,.09); }
.lab-ai-task strong,.lab-ai-task small { display:block; }
.lab-ai-task strong { font-size:.88rem; }
.lab-ai-task small { margin-top:.2rem; color:var(--lab-muted); font-size:.72rem; line-height:1.4; }
.lab-ai-principles { display:grid; gap:.55rem; margin-top:1.2rem; padding-top:1.1rem; border-top:1px solid var(--lab-line); }
.lab-ai-principles strong { margin-bottom:.2rem; font-size:.84rem; }
.lab-ai-principles span { display:flex; align-items:center; gap:.55rem; color:var(--lab-muted); font-size:.78rem; }
.lab-ai-principles i { width:22px; color:var(--lab-green); }
.lab-ai-builder { padding:clamp(1.2rem,3vw,2rem); }
.lab-ai-builder-head,.lab-ai-output-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.lab-ai-builder-head h2,.lab-ai-output-head h2 { margin:.2rem 0 0; }
.lab-ai-cost-badge { display:inline-flex; align-items:center; gap:.45rem; flex:0 0 auto; padding:.45rem .65rem; border:1px solid rgba(127,182,158,.22); border-radius:999px; color:#E5F0EA; background:rgba(127,182,158,.08); font-size:.75rem; font-weight:900; }
.lab-ai-form .lab-field textarea { resize:vertical; }
.lab-ai-sensitive-check { padding:1rem; border:1px solid rgba(224,160,80,.23); border-radius:16px; background:rgba(224,160,80,.06); }
.lab-ai-form-actions { align-items:center; }
.lab-btn.is-loading { pointer-events:none; opacity:.72; }
.lab-ai-output-section { padding-top:3rem; }
.lab-ai-output-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:start; }
.lab-ai-output-card { min-height:440px; padding:clamp(1.2rem,3vw,1.8rem); }
.lab-ai-result-card { border-color:rgba(212,175,106,.17); background:radial-gradient(circle at 100% 0%,rgba(176,141,87,.12),transparent 34%),rgba(18,35,60,.82); }
.lab-ai-output-text { min-height:285px; max-height:620px; margin:0; padding:1rem; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; border:1px solid var(--lab-line); border-radius:16px; color:#EDE7D8; background:rgba(2,9,18,.54); font:500 .88rem/1.7 Inter,sans-serif; }
.lab-ai-generation-status { min-height:28px; display:flex; align-items:center; gap:.5rem; margin:0 0 .65rem; font-size:.78rem; font-weight:800; }
.lab-ai-generation-status.is-loading { color:var(--lab-cyan); }
.lab-ai-generation-status.is-success { color:var(--lab-green); }
.lab-ai-generation-status.is-error { color:#ffaaaa; }
.lab-ai-feedback { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; margin-top:.85rem; padding:.8rem; border:1px solid var(--lab-line); border-radius:15px; background:rgba(255,255,255,.025); }
.lab-ai-feedback > span { margin-right:auto; color:var(--lab-muted); font-size:.78rem; font-weight:800; }
.lab-ai-feedback button { padding:.4rem .62rem; border:1px solid var(--lab-line); border-radius:10px; color:#EDE7D8; background:rgba(255,255,255,.035); cursor:pointer; }
.lab-ai-feedback button.is-active { border-color:rgba(127,182,158,.3); color:#dcffef; background:rgba(127,182,158,.09); }
.lab-ai-feedback small { width:100%; color:var(--lab-green); }

.lab-ai-admin-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.lab-ai-admin-summary article { padding:1rem; border:1px solid var(--lab-line); border-radius:18px; background:rgba(18,35,60,.78); }
.lab-ai-admin-summary span,.lab-ai-admin-summary strong,.lab-ai-admin-summary small { display:block; }
.lab-ai-admin-summary span { color:var(--lab-muted); font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.lab-ai-admin-summary strong { margin:.3rem 0; font-family:Montserrat,sans-serif; font-size:1.5rem; }
.lab-ai-admin-summary small { color:var(--lab-muted); font-size:.75rem; }
.lab-ai-provider-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin:1rem 0; }
.lab-ai-provider-option { display:block; padding:1rem; border:1px solid var(--lab-line); border-radius:16px; background:rgba(255,255,255,.025); }
.lab-ai-provider-option input { margin-right:.45rem; accent-color:var(--lab-cyan); }
.lab-ai-provider-option strong,.lab-ai-provider-option small { display:block; }
.lab-ai-provider-option small { margin-top:.3rem; color:var(--lab-muted); }
.lab-ai-key-status { display:flex; align-items:center; gap:.55rem; padding:.75rem .9rem; border-radius:14px; font-size:.8rem; }
.lab-ai-key-status.is-ok { color:#E5F0EA; background:rgba(127,182,158,.08); border:1px solid rgba(127,182,158,.22); }
.lab-ai-key-status.is-missing { color:#F7E7C6; background:rgba(224,160,80,.07); border:1px solid rgba(224,160,80,.22); }
.lab-ai-template-editor { display:grid; gap:1rem; }
.lab-ai-template-card { padding:1rem; border:1px solid var(--lab-line); border-radius:18px; background:rgba(255,255,255,.025); }
.lab-ai-template-card h3 { margin:0 0 .8rem; }

@media (max-width:980px) {
  .lab-ai-workspace,.lab-ai-output-grid { grid-template-columns:1fr; }
  .lab-ai-task-panel { position:static; }
  .lab-ai-task-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lab-ai-admin-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lab-ai-provider-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .lab-ai-task-list,.lab-ai-admin-summary { grid-template-columns:1fr; }
  .lab-ai-builder-head,.lab-ai-output-head { flex-direction:column; }
  .lab-ai-status-card { min-width:0; width:100%; }
  .lab-ai-output-card { min-height:0; }
  .lab-ai-output-text { min-height:240px; }
}
