/* Documentation Orcal : base commune aux propositions. Jetons et mesures du panel admin v2 (tokens.css + skin.css). */
@font-face{font-family:Geist;src:url("fonts/geist-latin.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Geist;src:url("fonts/geist-latin-ext.woff2") format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20CF}
:root{
  --bg:oklch(95.5% .012 85);--rail:oklch(97% .010 85);--surface:oklch(98.4% .008 85);--card:oklch(98.4% .008 85);--body:oklch(99% .008 85);
  --ink:oklch(22% .012 60);--text:oklch(32% .012 60);--muted:oklch(46% .012 70);--faint:oklch(53% .010 75);
  --line:oklch(93% .008 80);--track:oklch(91% .012 80);--hair:oklch(30% .02 70 / .07);
  --o:oklch(83% .095 58);--o-soft:oklch(95.5% .03 60);--o-ink:oklch(42% .1 48);--o-eye:#F77E2D;
  --ok:oklch(56% .12 250);--ok-soft:oklch(95.2% .026 250);--ok-ink:oklch(42% .11 250);
  --run:oklch(57% .14 295);--run-soft:oklch(95.5% .026 295);--run-ink:oklch(43% .13 295);
  --bad:oklch(58% .17 28);--bad-soft:oklch(95.5% .03 28);--bad-ink:oklch(45% .15 28);
  --dome:linear-gradient(180deg,oklch(100% 0 0),oklch(98.4% .006 85));
  --primary:linear-gradient(180deg,oklch(32% .012 60),oklch(20% .012 60));
  --primary-sh:inset 0 1px 0 oklch(100% 0 0 / .14),0 1px 2px oklch(20% .02 70 / .2),0 4px 10px oklch(20% .02 70 / .16);
  --lift:inset 0 0 0 1px oklch(100% 0 0 / .85),inset 0 1px 0 oklch(100% 0 0),0 1px 2px oklch(40% .02 70 / .05),0 8px 24px oklch(40% .02 70 / .06);
  --lift-sm:inset 0 0 0 1px oklch(100% 0 0 / .9),inset 0 1px 0 oklch(100% 0 0),inset 0 -1px 0 oklch(40% .02 70 / .04),0 1px 2px oklch(40% .02 70 / .07),0 3px 8px oklch(40% .02 70 / .05);
  --field:inset 0 1px 2px oklch(40% .02 70 / .07),0 0 0 1px oklch(100% 0 0 / .9);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Geist,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.55;color:var(--text);background:var(--bg);font-feature-settings:"tnum" 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} /* 09/11/2026 : même rendu que les pages légales */
a{color:inherit}
button{font:inherit;color:inherit}
svg{display:block}
:focus-visible{outline:2px solid var(--ok);outline-offset:2px}

/* briques du panel */
.btn{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 16px;border:0;border-radius:999px;background:var(--dome);box-shadow:var(--lift-sm);
  color:var(--ink);font-size:14px;font-weight:550;text-decoration:none;cursor:pointer;white-space:nowrap;transition:box-shadow .15s ease,transform .15s ease}
.btn:hover{box-shadow:var(--lift)}
.btn:active{transform:translateY(1px)}
.btn.pri{background:var(--primary);box-shadow:var(--primary-sh);color:oklch(99% .003 85)}
.btn svg{width:16px;height:16px}
.seg{display:inline-flex;padding:3px;border-radius:999px;background:var(--track);gap:2px}
.seg button{height:28px;padding:0 12px;border:0;border-radius:999px;background:transparent;font-size:13px;font-weight:550;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease}
.seg button[aria-pressed="true"]{background:var(--dome);box-shadow:var(--lift-sm);color:var(--ink)}
.puce{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:var(--track);color:var(--text);font-size:13px;font-weight:550;white-space:nowrap}
.puce.o{background:var(--o-soft);color:var(--o-ink)}
.logo{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--o);color:var(--ink);flex:none;
  box-shadow:inset 0 1px 0 oklch(100% 0 0 / .45),0 1px 2px oklch(50% .08 55 / .25)}
.logo svg{width:22px;height:22px}
.recherche{display:flex;align-items:center;gap:10px;height:38px;flex:1;min-width:0;max-width:380px;padding:0 10px 0 12px;border-radius:12px;background:var(--body);box-shadow:var(--field);color:var(--faint);font-size:14px;cursor:text}
.recherche svg{width:16px;height:16px;flex:none}
.recherche input{flex:1;min-width:0;border:0;background:transparent;font:inherit;color:var(--ink);outline:none}
.recherche kbd{font:inherit;font-size:11.5px;padding:1px 6px;border-radius:6px;background:var(--track);color:var(--muted)}
.carte{background:var(--card);border-radius:18px;box-shadow:var(--lift)}

/* article */
.article{color:var(--text);font-size:17px;line-height:1.65}
.article .corps{max-width:none}
.article h1{margin:0;font-size:30px;line-height:1.15;font-weight:700;color:var(--ink);letter-spacing:-.02em}
.article .chapo{margin:12px 0 0;font-size:19px;line-height:1.55;color:var(--text);max-width:none}
.article .meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;font-size:13.5px;color:var(--muted)}
.article h2{margin:44px 0 12px;font-size:21px;line-height:1.25;font-weight:700;color:var(--ink);letter-spacing:-.01em;scroll-margin-top:84px}
.article p{margin:0 0 14px}
.article ul,.article ol{margin:0 0 16px;padding-left:22px}
.article li{margin:6px 0}
.article li::marker{color:var(--o-ink)}
.article strong{color:var(--ink);font-weight:700}
.article a{text-decoration-color:var(--o);text-underline-offset:3px}
ol.etapes{list-style:none;padding:0;counter-reset:e}
ol.etapes li{counter-increment:e;position:relative;padding-left:40px;margin:12px 0}
ol.etapes li::before{content:counter(e);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:999px;display:grid;place-items:center;
  background:var(--dome);box-shadow:var(--lift-sm);font-size:13px;font-weight:600;color:var(--ink)}
.tw{margin:6px 0 18px;padding:6px 10px;overflow-x:auto;border-radius:14px;background:var(--body);box-shadow:var(--lift-sm)}
.tw table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.45}
.tw th{text-align:left;font-weight:550;color:var(--muted);font-size:13px;padding:10px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.tw td{padding:11px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.tw tr:last-child td{border-bottom:0}
.tw table.dense td{padding:7px 8px}
.tw td:first-child{color:var(--ink)}
.note{margin:6px 0 18px;padding:14px 18px;border-radius:14px;background:var(--o-soft);color:var(--o-ink);font-size:14.5px}
.note strong{display:block;color:var(--o-ink);margin-bottom:2px}
.note p{margin:0}
details.qr{border-radius:14px;background:var(--body);box-shadow:var(--lift-sm);margin:0 0 10px}
details.qr summary{cursor:pointer;list-style:none;padding:14px 44px 14px 18px;font-weight:550;color:var(--ink);position:relative}
details.qr summary::-webkit-details-marker{display:none}
details.qr summary::after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:translateY(-70%) rotate(45deg);transition:transform .2s var(--ease)}
details.qr[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
details.qr p{margin:0;padding:0 18px 16px;font-size:15px}
.pt{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 10px 0 8px;border-radius:999px;background:var(--dome);box-shadow:var(--lift-sm);color:var(--ink);font-size:13px;font-weight:550;white-space:nowrap}
.pt::before{content:"";width:8px;height:8px;border-radius:999px;background:currentColor}
.pt-ok::before{background:var(--ok)}.pt-ch::before{background:var(--o-eye)}.pt-su::before{background:var(--bad)}
.cartes-liens{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:18px 0 8px}
.carte-lien{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:16px;background:var(--body);box-shadow:var(--lift-sm);text-decoration:none;transition:box-shadow .15s ease,transform .15s ease}
.carte-lien:hover{box-shadow:var(--lift);transform:translateY(-1px)}
.cl-t{font-weight:600;color:var(--ink)}
.cl-d{font-size:14px;color:var(--muted);line-height:1.45}
.precsuiv{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:48px}
.precsuiv a{display:flex;flex-direction:column;gap:2px;padding:14px 18px;border-radius:16px;background:var(--body);box-shadow:var(--lift-sm);text-decoration:none}
.precsuiv a span{font-size:13px;color:var(--muted)}
.precsuiv a strong{color:var(--ink);font-weight:600}
.precsuiv .suiv{text-align:right;grid-column:2}
.vide{padding:36px;text-align:center;color:var(--muted)}

/* visuel animé in-app, réservé aux comptes */
.vis{margin:8px 0 22px}
.vis-cadre{position:relative;border-radius:14px;background:oklch(99% .004 85);box-shadow:var(--lift),0 18px 40px oklch(40% .02 70 / .10);overflow:hidden}
.vis figcaption{margin-top:10px;font-size:13.5px;color:var(--muted)}
.vis .scene{position:absolute;left:0;top:0;transform-origin:0 0;transition:filter .4s var(--ease),opacity .4s var(--ease)}
.vis.fermee .fx-ecran{filter:blur(10px) saturate(.8);opacity:.8} /* 09/11/2026, fondateur : flou renforcé (4 px avant), plus aucun texte lisible */
.porte{position:absolute;inset:0;display:grid;place-items:center;padding:16px}
.porte-in{max-width:360px;padding:20px 22px;border-radius:18px;background:var(--card);box-shadow:var(--lift),0 12px 32px oklch(40% .02 70 / .08);text-align:center}
.porte-ic{width:36px;height:36px;margin:0 auto 10px;border-radius:999px;display:grid;place-items:center;background:var(--dome);box-shadow:var(--lift-sm);color:var(--ink)}
.porte-ic svg{width:18px;height:18px}
.porte-t{margin:0 0 14px;font-size:15.5px;font-weight:600;color:var(--ink)}
.porte-d{margin:4px 0 14px;font-size:14px;color:var(--muted)}
.porte-b{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}

/* scènes : app Orcal en miniature */
.app{position:absolute;inset:0;display:grid;grid-template-columns:44px 1fr;background:var(--bg);font-size:13px;color:var(--text)}
.app-rail{display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 0;background:var(--bg);box-shadow:inset -1px 0 0 var(--line)}
.app-rail i{width:24px;height:24px;border-radius:7px;display:block;background:var(--track)}
.app-rail i.on{background:var(--dome);box-shadow:var(--lift-sm)}
.app-rail i.lg{background:var(--o)}
.app-main{position:relative;padding:14px 18px;overflow:hidden}
.app-h{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.app-h b{font-size:16px;font-weight:600;color:var(--ink)}
.app-card{background:var(--card);border-radius:12px;box-shadow:var(--lift);padding:12px 14px}
.app-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.app-k{color:var(--muted);font-size:12px}
.app-v{font-size:22px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1}
.app-btn{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:var(--primary);box-shadow:var(--primary-sh);color:oklch(99% .003 85);font-weight:550;font-size:12.5px;white-space:nowrap;flex:none;transition:transform .12s ease,opacity .2s}
.app-btn.press{transform:scale(.96)}
.app-pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px 0 7px;border-radius:999px;background:var(--dome);box-shadow:var(--lift-sm);color:var(--ink);font-size:12px;font-weight:550;white-space:nowrap}
.app-pill::before{content:"";width:7px;height:7px;border-radius:999px;background:var(--dot,var(--track))}
.app-bar{height:6px;border-radius:999px;background:var(--track);overflow:hidden}
.app-bar>span{display:block;height:100%;width:0;border-radius:999px;background:var(--ok);transition:width .9s var(--ease),background .4s}
.app-tag{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;background:var(--o-soft);color:var(--o-ink);font-size:12px;font-weight:550;white-space:nowrap}
.app-av{width:26px;height:26px;border-radius:999px;display:grid;place-items:center;background:var(--o-soft);color:var(--o-ink);font-size:12px;font-weight:600;flex:none}
.app-txt{font-size:12.5px;color:var(--muted);line-height:1.45}
.cur{position:absolute;left:0;top:0;width:18px;height:18px;z-index:5;transition:transform .7s var(--ease);pointer-events:none;filter:drop-shadow(0 1px 1px oklch(20% .02 70 / .35))}
.in{animation:entre .45s var(--ease) both}
@keyframes entre{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.fenetre-li{position:absolute;right:18px;bottom:18px;width:46%;padding:12px;border-radius:12px;background:var(--body);box-shadow:var(--lift),0 12px 32px oklch(40% .02 70 / .12);transition:opacity .3s,transform .3s var(--ease)}
.fenetre-li.cache{opacity:0;transform:translateY(8px)}
@media (prefers-reduced-motion:reduce){.in{animation:none}.cur{transition:none}.app-bar>span{transition:none}}

@media (max-width:640px){.recherche kbd{display:none}.app-row{flex-wrap:wrap}}
.carte .tw,.carte details.qr,.carte .carte-lien,.carte .precsuiv a,.carte .vis-cadre{box-shadow:inset 0 0 0 1px var(--line);background:var(--body)}
.carte .vis-cadre{background:oklch(99% .004 85);box-shadow:inset 0 0 0 1px var(--line),0 1px 2px oklch(40% .02 70 / .06),0 14px 32px oklch(40% .02 70 / .09)}
.app-h b{white-space:nowrap}
.lead{padding:8px 12px}
.lead-a{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lead-l{display:flex;align-items:center;gap:8px;min-width:0}
.lead-n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead-n b{color:var(--ink);font-weight:600}
.lead-r{display:flex;gap:6px;flex:none}

/* fenêtre de l'app : barre de fenêtre + écran 1440 x 900 réduit */
.fx-barre{display:flex;align-items:center;gap:12px;height:34px;padding:0 12px;background:oklch(96.5% .008 85);box-shadow:inset 0 -1px 0 var(--line)}
.fx-pts{display:flex;gap:6px;flex:none}
.fx-pts i{width:10px;height:10px;border-radius:999px;background:oklch(86% .01 80)}
.fx-url{flex:0 1 340px;margin:0 auto;height:22px;display:flex;align-items:center;justify-content:center;border-radius:7px;background:oklch(99.5% .003 85);box-shadow:inset 0 0 0 1px var(--line);font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px}
.fx-ecran{position:relative;overflow:hidden;background:var(--bg);transition:filter .4s var(--ease),opacity .4s var(--ease)}
.fx-vue{position:absolute;left:0;top:0;width:1200px;height:750px;border:0;zoom:var(--k,.5);opacity:0;transition:opacity .45s var(--ease);pointer-events:none;background:var(--bg)}
.fx-vue.on{opacity:1}
.fx-cur{position:absolute;left:0;top:0;width:20px;height:20px;z-index:5;transition:transform .8s var(--ease);filter:drop-shadow(0 1px 1px oklch(20% .02 70 / .35))}
.fx-cur.clic{scale:.82}
.fx-cible{position:absolute;left:0;top:0;width:0;height:0;z-index:4;border-radius:10px;box-shadow:0 0 0 2px oklch(68% .17 48),0 0 0 6px oklch(68% .17 48 / .18);opacity:0;transition:opacity .25s var(--ease);pointer-events:none}
.fx-cible.on{opacity:1}
.fx-li{position:absolute;left:50%;top:50%;width:min(320px,60%);padding:16px 18px;border-radius:14px;background:#fff;box-shadow:0 1px 2px oklch(20% .02 70 / .12),0 20px 50px oklch(20% .02 70 / .22);transform:translate(-50%,-50%);transition:opacity .3s,transform .3s var(--ease);z-index:4}
.fx-li.fx-cache{opacity:0;transform:translate(-50%,-46%)}
.fx-li-h{font-weight:700;color:#0a66c2;font-size:15px}
.fx-li p{margin:6px 0 12px;font-size:13px;color:var(--text)}
.fx-li-b{height:6px;border-radius:999px;background:var(--track);overflow:hidden}
.fx-li-b span{display:block;height:100%;width:0;border-radius:999px;background:#0a66c2}
@media (max-width:640px){.fx-url{font-size:11px}.fx-barre{height:28px}}
