/* =========================================================================
   PTI 2026 — « Sable, encre & lagon »                         Refonte 0.15.0
   Couche de design commune à la plateforme, à la Gestion, au générateur
   et à Clair. Chargée EN DERNIER sur chaque page : elle ne change aucun
   identifiant, champ, formulaire ni action, et ne touche pas aux documents
   imprimés (devis, factures, tickets restent identiques).
   Effets : uniquement transform / opacity, coupés si l'appareil demande
   moins d'animations.
   ========================================================================= */

/* ---------- 1. Polices (servies par le site, sous-ensemble latin) ---------- */
@font-face{font-family:"Geist";src:url("/assets/shared/fonts/geist-latin.woff2") format("woff2");font-weight:300 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Serif";src:url("/assets/shared/fonts/instrument-serif-italic-latin.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- 2. Jetons ---------- */
:root{
  --lg-font:"Geist",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --lg-serif:"Instrument Serif",ui-serif,Georgia,"Times New Roman",serif;
  --lg-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --lg-ease:cubic-bezier(.22,1,.36,1);
  --lg-spring:cubic-bezier(.34,1.36,.64,1);
  --lg-r-xs:8px;--lg-r-sm:10px;--lg-r:14px;--lg-r-lg:18px;--lg-r-xl:26px;

  --lg-bg:#F4F2EE;--lg-bg-2:#ECE9E3;
  --lg-surface:#FFFFFF;--lg-surface-2:#FAF9F6;--lg-surface-3:#F2F0EB;
  --lg-ink:#141413;--lg-ink-2:#3C3B38;--lg-muted:#76736C;--lg-faint:#A9A59D;
  --lg-line:#E7E4DD;--lg-line-2:#D9D5CC;
  --lg-accent:#0B7A71;--lg-accent-2:#13A193;--lg-accent-ink:#075C55;
  --lg-accent-soft:rgba(11,122,113,.085);--lg-accent-line:rgba(11,122,113,.30);
  --lg-on-ink:#FFFFFF;
  --lg-ok:#2A7A45;--lg-ok-soft:#EAF4EC;
  --lg-warn:#A35D06;--lg-warn-soft:#FBF1E0;
  --lg-danger:#B83A2F;--lg-danger-soft:#FBEDEB;
  --lg-side:#FAF9F6;--lg-glass:rgba(244,242,238,.80);
  --lg-shadow-1:0 1px 2px rgba(30,24,12,.04),0 2px 10px -4px rgba(30,24,12,.06);
  --lg-shadow-2:0 1px 2px rgba(30,24,12,.04),0 16px 34px -14px rgba(30,24,12,.18);
  --lg-shadow-3:0 40px 90px -24px rgba(30,24,12,.35),0 10px 24px -10px rgba(30,24,12,.12);
  --lg-hero:#0F1313;--lg-hero-ink:#F3F1EC;
  --lg-focus:0 0 0 4px rgba(11,122,113,.14);
}
html[data-pti-theme="dark"],html body.theme-dark,html body.generator-dark{
  --lg-bg:#0B0C0C;--lg-bg-2:#111313;
  --lg-surface:#141616;--lg-surface-2:#181B1B;--lg-surface-3:#1E2222;
  --lg-ink:#F1F0EC;--lg-ink-2:#CDCBC5;--lg-muted:#8F8C85;--lg-faint:#5E5C57;
  --lg-line:#232727;--lg-line-2:#303434;
  --lg-accent:#3DCBB8;--lg-accent-2:#62E0CD;--lg-accent-ink:#8BEADC;
  --lg-accent-soft:rgba(61,203,184,.10);--lg-accent-line:rgba(61,203,184,.38);
  --lg-on-ink:#111211;
  --lg-ok:#5BCB83;--lg-ok-soft:#14261B;
  --lg-warn:#F0A63A;--lg-warn-soft:#2A2114;
  --lg-danger:#F07A6E;--lg-danger-soft:#2D1A18;
  --lg-side:#0E1010;--lg-glass:rgba(11,12,12,.74);
  --lg-shadow-1:inset 0 1px 0 rgba(255,255,255,.025),0 2px 10px -4px rgba(0,0,0,.6);
  --lg-shadow-2:inset 0 1px 0 rgba(255,255,255,.04),0 20px 40px -18px rgba(0,0,0,.8);
  --lg-shadow-3:0 40px 90px -20px rgba(0,0,0,.85);
  --lg-hero:#101616;--lg-focus:0 0 0 4px rgba(61,203,184,.18);
  color-scheme:dark;
}

/* ---------- 3. Base commune ---------- */
html body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"ss01" 0}
html body ::selection{background:var(--lg-accent-soft);color:inherit}
html body :focus-visible{outline:2px solid var(--lg-accent);outline-offset:2px}
.lg-serif,em.lg-serif{font-family:var(--lg-serif)!important;font-style:italic!important;font-weight:400!important;letter-spacing:0!important}
@media (hover:hover){html body *{scrollbar-width:thin;scrollbar-color:var(--lg-line-2) transparent}}

/* Lumière qui suit le pointeur (variables --mx/--my posées par pti-lagon.js) */
@keyframes lg-rise{from{opacity:0;transform:translate3d(0,10px,0)}}
@keyframes lg-drift{0%{transform:translate3d(0,0,0) rotate(0) scale(1)}50%{transform:translate3d(-7%,5%,0) rotate(9deg) scale(1.1)}100%{transform:translate3d(5%,-4%,0) rotate(-7deg) scale(1.03)}}
@keyframes lg-ping{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(3.2);opacity:0}}
@keyframes lg-bar{0%{transform:translateX(-110%)}100%{transform:translateX(260%)}}

/* =========================================================================
   4. GESTION — espace unique (body.pti-unified) et pages sœurs
   ========================================================================= */
html:root body.pti-unified,html:root body.pti-clair-skin{
  --c-bg:var(--lg-bg);--c-surface:var(--lg-surface);--c-soft:var(--lg-surface-2);--c-ink:var(--lg-ink);--c-ink-2:var(--lg-ink-2);--c-muted:var(--lg-muted);
  --c-line:var(--lg-line);--c-line-2:var(--lg-line-2);--c-green:var(--lg-ink);--c-green-2:var(--lg-ink);--c-sage:var(--lg-surface-3);--c-sage-2:var(--lg-bg-2);
  --c-amber:var(--lg-warn);--c-amber-bg:var(--lg-warn-soft);--c-red:var(--lg-danger);--c-red-bg:var(--lg-danger-soft);--c-ok:var(--lg-ok);--c-ok-bg:var(--lg-ok-soft);
  --c-on-accent:var(--lg-on-ink);--c-side:var(--lg-side);--c-radius:var(--lg-r-lg);--c-top-h:68px;
  --c-font:var(--lg-font);
}
html.pti-unified-html,html:has(body.pti-unified),html:has(body.pti-clair-skin){background:var(--lg-bg)!important}
html body.pti-unified,html body.pti-clair-skin{font-feature-settings:"tnum" 0;letter-spacing:-.003em}
html body.pti-unified .content [data-sensitive],html body.pti-unified .pti-today strong,html body.pti-unified .value,html body.pti-unified td.right,html body.pti-unified .entity-total-mini{font-variant-numeric:tabular-nums}

/* ----- Barre latérale ----- */
html body.pti-unified aside.pti-side{background:var(--lg-side)!important;border-right:1px solid var(--lg-line)!important;padding:20px 14px 14px!important}
html body.pti-unified .pti-side-head{padding:2px 6px 16px}
html body.pti-unified .pti-side-brand img{width:150px}
html body.pti-unified .pti-side-pin{border-radius:10px!important;border-color:var(--lg-line)!important;background:var(--lg-surface)!important;box-shadow:var(--lg-shadow-1)}
html body.pti-unified .pti-company-label,html body.pti-unified .pti-company-switch{margin:0 2px 16px!important;padding:10px 12px!important;border-radius:13px!important;border:1px solid var(--lg-line)!important;background:var(--lg-surface)!important;box-shadow:var(--lg-shadow-1);transition:border-color .2s}
html body.pti-unified .pti-company-switch:hover{border-color:var(--lg-line-2)!important}
html body.pti-unified .pti-company-label span,html body.pti-unified .pti-company-switch span{font-size:10px!important;letter-spacing:.14em!important;color:var(--lg-faint)!important}
html body.pti-unified .pti-company-label strong{font-size:13.5px!important;letter-spacing:-.01em}
html body.pti-unified .pti-side-nav{position:relative;gap:2px}
html body.pti-unified .pti-side-nav>*,html body.pti-unified .pti-nav-items>*,html body.pti-unified .pti-nav-top>*{position:relative;z-index:1}
html body.pti-unified aside.pti-side .tab-btn,html body.pti-unified aside.pti-side .pti-nav-link{min-height:36px!important;padding:7px 10px!important;border-radius:10px!important;color:var(--lg-ink-2)!important;font-size:13.5px!important;font-weight:500!important;border:1px solid transparent!important;transition:color .2s,background-color .2s,border-color .2s!important}
html body.pti-unified aside.pti-side .tab-btn:hover,html body.pti-unified aside.pti-side .pti-nav-link:hover{background:var(--lg-surface-3)!important;color:var(--lg-ink)!important}
html body.pti-unified aside.pti-side .tab-btn.active,html body.pti-unified aside.pti-side .pti-nav-link.active{background:var(--lg-surface)!important;border-color:var(--lg-line)!important;box-shadow:var(--lg-shadow-1)!important;color:var(--lg-ink)!important;font-weight:600!important}
html body.pti-unified aside.pti-side .tab-icon{color:var(--lg-muted)!important;transition:color .2s,transform .35s var(--lg-spring)}
html body.pti-unified aside.pti-side .tab-btn:hover .tab-icon,html body.pti-unified aside.pti-side .pti-nav-link:hover .tab-icon{transform:scale(1.08)}
html body.pti-unified aside.pti-side .tab-btn.active .tab-icon,html body.pti-unified aside.pti-side .pti-nav-link.active .tab-icon{color:var(--lg-accent)!important}
/* Indicateur glissant : quand il est présent, il dessine lui-même l'entrée active. */
.lg-nav-ind{position:absolute;left:0;right:0;top:0;height:36px;z-index:0!important;border-radius:10px;background:var(--lg-surface);border:1px solid var(--lg-line);box-shadow:var(--lg-shadow-1);pointer-events:none;opacity:0;transition:transform .5s var(--lg-spring),height .3s var(--lg-ease),opacity .2s}
.lg-nav-ind.is-on{opacity:1}
html body.pti-unified aside.pti-side .lg-has-ind .tab-btn.active,html body.pti-unified aside.pti-side .lg-has-ind .pti-nav-link.active{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
html body.pti-unified .pti-nav-group{margin-top:10px}
html body.pti-unified .pti-nav-group>summary{padding:6px 10px!important;font-size:10.5px!important;letter-spacing:.13em!important;color:var(--lg-faint)!important;border-radius:8px}
html body.pti-unified .pti-nav-group>summary:hover{color:var(--lg-muted)!important}
html body.pti-unified .pti-nav-group>summary svg{transition:transform .3s var(--lg-ease)!important}
html body.pti-unified .pti-nav-link .pti-badge{background:var(--lg-danger)!important}
html body.pti-unified .pti-side-user{border-top:1px solid var(--lg-line)!important;padding:12px 6px 2px!important}
html body.pti-unified .pti-avatar{background:var(--lg-surface)!important;border:1px solid var(--lg-line);color:var(--lg-ink)!important;box-shadow:var(--lg-shadow-1)}
html body.pti-unified .pti-side-logout{border-radius:10px!important;color:var(--lg-muted)!important;transition:color .2s,background .2s}
html body.pti-unified .pti-side-logout:hover{color:var(--lg-danger)!important;background:var(--lg-danger-soft)!important}
html body.pti-unified .pti-support-banner{border-radius:12px!important}

/* ----- Barre du haut : fil d'Ariane, recherche, icônes, action principale (comme l'esquisse) ----- */
html body.pti-unified .topbar{min-height:var(--c-top-h)!important;padding:0 28px!important;gap:12px!important;background:var(--lg-glass)!important;-webkit-backdrop-filter:saturate(1.5) blur(14px)!important;backdrop-filter:saturate(1.5) blur(14px)!important;border-bottom:1px solid transparent!important;transition:border-color .3s}
html body.pti-unified.lg-scrolled .topbar{border-bottom-color:var(--lg-line)!important}
html body.pti-unified .pti-workspace-heading{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;min-width:0!important;white-space:nowrap}
html body.pti-unified .pti-workspace-heading small{font-size:13px!important;letter-spacing:0!important;text-transform:none!important;font-weight:500!important;color:var(--lg-muted)!important;overflow:hidden;text-overflow:ellipsis}
html body.pti-unified .pti-workspace-heading small::after{content:"›";margin-left:8px;color:var(--lg-faint);font-size:15px}
html body.pti-unified .pti-workspace-heading strong{font-size:13.5px!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.3!important;color:var(--lg-ink)!important;overflow:hidden;text-overflow:ellipsis}
html body.pti-unified .pti-workspace-heading span{display:none!important}
html body.pti-unified .top-actions{flex:1 1 auto!important;justify-content:flex-end!important;gap:6px!important;min-width:0}
html body.pti-unified .top-actions>.lg-search{order:0}
html body.pti-unified .top-secondary-actions{order:1;gap:2px!important}
html body.pti-unified .top-primary-actions{order:2;gap:2px!important}
html body.pti-unified .top-primary-actions .btn-link.primary{order:9;margin-left:6px!important}
html body.pti-unified .top-actions .btn-link{height:38px!important;min-height:38px!important;min-width:38px!important;border-radius:11px!important;border:1px solid transparent!important;background:transparent!important;color:var(--lg-ink-2)!important;font-weight:550!important;box-shadow:none!important;transition:background .2s,border-color .2s,transform .2s var(--lg-ease)!important}
html body.pti-unified .top-actions .btn-link:hover{background:var(--lg-surface)!important;border-color:var(--lg-line)!important}
html body.pti-unified .top-actions .btn-link:active{transform:scale(.94)!important}
html body.pti-unified .top-primary-actions .btn-link:not(.primary) .top-action-label{display:none!important}
html body.pti-unified .top-primary-actions .btn-link:not(.primary){width:38px!important;padding:0!important}
html body.pti-unified .top-actions .btn-link.primary{position:relative;overflow:hidden;width:auto!important;padding:0 15px!important;background:var(--lg-ink)!important;border-color:var(--lg-ink)!important;color:var(--lg-on-ink)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 18px -8px rgba(0,0,0,.45)!important}
html body.pti-unified .top-actions .btn-link.primary::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);transform:translateX(-120%);transition:transform .8s var(--lg-ease);pointer-events:none}
html body.pti-unified .top-actions .btn-link.primary:hover::after{transform:translateX(120%)}
html body.pti-unified .top-secondary-actions .pti-badge{background:var(--lg-danger)!important;box-shadow:0 0 0 2px var(--lg-bg)}
.lg-search{display:flex;align-items:center;gap:10px;height:38px;flex:0 1 340px;min-width:0;margin-right:6px;padding:0 8px 0 12px;border:1px solid var(--lg-line);border-radius:11px;background:var(--lg-surface);color:var(--lg-faint);font:inherit;font-size:13px;box-shadow:var(--lg-shadow-1);cursor:pointer;transition:border-color .2s,box-shadow .25s}
.lg-search:hover{border-color:var(--lg-line-2);box-shadow:var(--lg-shadow-2)}
.lg-search svg{width:16px;height:16px;flex:0 0 auto}
.lg-search .lg-search-txt{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg-kbd,.lg-search kbd{font-family:var(--lg-mono);font-size:10.5px;font-weight:500;padding:2px 6px;border-radius:6px;border:1px solid var(--lg-line);background:var(--lg-surface-2);color:var(--lg-muted);white-space:nowrap}
@media (max-width:1240px){.lg-search{flex:0 0 38px;padding:0;justify-content:center;border-color:transparent;background:transparent;box-shadow:none;margin-right:0}.lg-search .lg-search-txt,.lg-search kbd{display:none}}

/* ----- Contenu ----- */
html body.pti-unified .content{padding:26px 32px 72px!important}
@media (min-width:1600px){html body.pti-unified .content{padding:30px 44px 72px!important}html body.pti-unified .topbar{padding:0 44px!important}}
html body.pti-unified .content>.tab-panel.active>*,html body.pti-unified .content .overview-shell>*,html body.pti-unified .lg-home>*{animation:lg-rise .7s var(--lg-ease) both}
html body.pti-unified .lg-home>:nth-child(2){animation-delay:.08s}
html body.pti-unified .content .overview-shell>:nth-child(2){animation-delay:.14s}
html body.pti-unified .content .overview-shell>:nth-child(n+3){animation-delay:.2s}
html body.pti-unified .content>.tab-panel.active>:nth-child(2){animation-delay:.05s}
html body.pti-unified .content>.tab-panel.active>:nth-child(n+3){animation-delay:.1s}
html body.pti-unified .overview-shell{display:block!important}
html body.pti-unified .overview-shell>*+*{margin-top:16px!important}

/* Cartes */
html body.pti-unified .content .card,html body.pti-unified .content .chart-card,html body.pti-unified .content .stock-card-premium,html body.pti-unified .content .web-table-card,html body.pti-unified .content .agenda-command-card,html body.pti-unified .content .tracking-hero-card,html body.pti-unified .content .utility-card,html body.pti-unified .pti-figures{border-radius:var(--lg-r-lg)!important;border:1px solid var(--lg-line)!important;box-shadow:var(--lg-shadow-1)!important;background-color:var(--lg-surface)!important}
html body.pti-unified .content .card .card{box-shadow:none!important}
html body.pti-unified .content .section-head h2,html body.pti-unified .content .card .section-head h2{font-size:15.5px!important;font-weight:600!important;letter-spacing:-.015em!important}
html body.pti-unified .content .section-head .meta{font-size:12.5px!important}
html body.pti-unified .content h1{letter-spacing:-.03em!important}
html body.pti-unified .stat,html body.pti-unified .mini-card{border-radius:var(--lg-r)!important;background:var(--lg-surface-3)!important}
.lg-card{background:var(--lg-surface);border:1px solid var(--lg-line);border-radius:var(--lg-r-lg);box-shadow:var(--lg-shadow-1)}
.lg-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--lg-muted);margin:0 0 8px}

/* Titre de page (ajouté par pti-lagon.js au-dessus de chaque section) */
.lg-page-head{margin:0 0 20px}
.lg-page-head h1,html body.pti-unified .content .lg-page-head h1{font-size:34px!important;line-height:1.08!important;letter-spacing:-.035em!important;font-weight:600!important;margin:0!important;color:var(--lg-ink)}
.lg-page-head h1 em{font-family:var(--lg-serif);font-style:italic;font-weight:400;font-size:1.08em;letter-spacing:0}

/* ----- Accueil : salutation et objectif ----- */
.lg-home{display:block}
.lg-hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px}
.lg-hero{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--lg-r-xl);background:var(--lg-hero);color:var(--lg-hero-ink);padding:30px 32px 28px;min-height:290px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;box-shadow:var(--lg-shadow-2)}
.lg-aurora{position:absolute;inset:-45%;z-index:-2;pointer-events:none;background:radial-gradient(32% 42% at 72% 30%,rgba(19,161,147,.62),transparent 70%),radial-gradient(26% 34% at 88% 78%,rgba(236,132,96,.34),transparent 70%),radial-gradient(38% 46% at 42% 92%,rgba(14,84,118,.55),transparent 72%),radial-gradient(24% 30% at 20% 20%,rgba(61,203,184,.16),transparent 70%);animation:lg-drift 28s var(--lg-ease) infinite alternate;will-change:transform}
.lg-ripples{position:absolute;right:-90px;top:-90px;width:440px;height:440px;z-index:-1;border-radius:50%;pointer-events:none;background:repeating-radial-gradient(circle,transparent 0 29px,rgba(255,255,255,.16) 29px 30px);-webkit-mask:radial-gradient(circle,#000 55%,transparent 72%);mask:radial-gradient(circle,#000 55%,transparent 72%);opacity:.9}
.lg-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.lg-hero .lg-eyebrow{color:rgba(243,241,236,.6)}
.lg-live{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 11px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-size:11.5px;color:rgba(243,241,236,.8);white-space:nowrap}
.lg-live i{position:relative;width:7px;height:7px;border-radius:50%;background:#5FE0CD}
.lg-live i::after{content:"";position:absolute;inset:0;border-radius:50%;background:#5FE0CD;animation:lg-ping 2.4s var(--lg-ease) infinite}
html body .lg-hero h1,html body.pti-unified .content .lg-hero h1{font-size:clamp(34px,4.2vw,56px)!important;line-height:1!important;letter-spacing:-.045em!important;font-weight:600!important;margin:4px 0 12px!important;color:var(--lg-hero-ink)!important}
.lg-hero h1 em{font-family:var(--lg-serif);font-style:italic;font-weight:400;font-size:1.12em;letter-spacing:-.01em;color:#BFF3EA}
.lg-hero p{margin:0;color:rgba(243,241,236,.7);max-width:46ch;font-size:15px;line-height:1.55}
.lg-hero p strong{color:#fff;font-weight:600}
.lg-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.lg-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 15px;border-radius:11px;font-size:13.5px;font-weight:550;white-space:nowrap;text-decoration:none!important;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:transform .25s var(--lg-ease),background-color .2s,border-color .2s}
.lg-btn svg{width:16px;height:16px;flex:0 0 auto}
.lg-btn:active{transform:scale(.97)}
.lg-btn-light{background:#F6F4EF;color:#141413!important;border-color:#F6F4EF;box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
.lg-btn-light:hover{background:#fff}
.lg-btn-light::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.7) 50%,transparent 65%);transform:translateX(-120%);transition:transform .8s var(--lg-ease)}
.lg-btn-light:hover::after{transform:translateX(120%)}
.lg-btn-glass{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);color:#F3F1EC!important}
.lg-btn-glass:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24)}
.lg-goal{padding:22px 22px 20px;display:flex;flex-direction:column;gap:16px;min-height:290px}
.lg-goal-row{display:flex;gap:20px;align-items:center}
.lg-goal h3{margin:0;font-size:13px;font-weight:500;color:var(--lg-muted)}
.lg-goal-big{font-size:clamp(20px,1.9vw,26px);font-weight:600;letter-spacing:-.035em;line-height:1.15;margin:4px 0 2px;white-space:nowrap;color:var(--lg-ink);font-variant-numeric:tabular-nums}
.lg-goal small{color:var(--lg-muted);font-size:12.5px}
.lg-goal-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:var(--lg-accent-soft);color:var(--lg-accent);flex:0 0 auto}
.lg-goal-icon svg{width:28px;height:28px}
.lg-ring{position:relative;width:128px;height:128px;flex:0 0 auto}
.lg-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.lg-ring circle{fill:none;stroke-width:10}
.lg-ring-track{stroke:var(--lg-surface-3)}
.lg-ring-prog{stroke:var(--lg-accent);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--p,0));animation:lg-ring 1.4s var(--lg-ease) .25s both}
@keyframes lg-ring{from{stroke-dashoffset:100}}
.lg-ring-c{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.lg-ring-c strong{font-size:28px;font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--lg-ink)}
.lg-ring-c small{font-size:11px;margin-top:3px}
.lg-month{display:grid;gap:7px;font-size:12px;color:var(--lg-muted)}
.lg-month>span{display:flex;justify-content:space-between}
.lg-month b{font-weight:600;color:var(--lg-ink-2)}
.lg-bar{height:6px;border-radius:99px;background:var(--lg-surface-3);overflow:hidden}
.lg-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--lg-accent),var(--lg-accent-2));transform-origin:left;animation:lg-grow-x 1.2s var(--lg-ease) .4s both}
@keyframes lg-grow-x{from{transform:scaleX(0)}}
.lg-goal-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}
.lg-goal-stats div{padding:11px 12px;border-radius:12px;background:var(--lg-surface-2);border:1px solid var(--lg-line)}
.lg-goal-stats span{display:block;font-size:11.5px;color:var(--lg-muted)}
.lg-goal-stats strong{font-size:15px;font-weight:600;letter-spacing:-.02em;color:var(--lg-ink);font-variant-numeric:tabular-nums}

/* ----- Chiffres du jour ----- */
.lg-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:16px}
.lg-kpi{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;gap:6px;padding:18px;text-decoration:none!important;color:var(--lg-ink)!important;transition:transform .35s var(--lg-ease),box-shadow .35s var(--lg-ease),border-color .2s}
.lg-kpi:hover{transform:translateY(-2px);box-shadow:var(--lg-shadow-2);border-color:var(--lg-line-2)}
.lg-kpi-top{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--lg-muted);font-weight:500}
.lg-kpi-ic{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--lg-surface-3);color:var(--lg-ink-2)}
.lg-kpi-ic svg{width:15px;height:15px}
.lg-kpi.is-warn .lg-kpi-ic{background:var(--lg-warn-soft);color:var(--lg-warn)}
.lg-kpi-val{font-size:26px;font-weight:600;letter-spacing:-.04em;line-height:1.15;margin-top:6px;white-space:nowrap;font-variant-numeric:tabular-nums}
.lg-kpi-val small{font-size:13px;font-weight:500;color:var(--lg-muted);letter-spacing:0;margin-left:5px}
.lg-kpi-sub{font-size:12.5px;color:var(--lg-muted)}
.lg-kpi-sub b{font-weight:600;color:var(--lg-warn)}
.lg-kpi-go{margin-top:auto;padding-top:10px;font-size:12.5px;font-weight:600;color:var(--lg-accent)}
.lg-kpi-go span{display:inline-block;transition:transform .35s var(--lg-spring)}
.lg-kpi:hover .lg-kpi-go span{transform:translateX(3px)}

/* ----- Pilotage du jour : une carte par point à surveiller ----- */
html body.pti-unified .content .card.pilotage-card{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin-top:28px!important}
html body.pti-unified .content .pilotage-card>.section-head{margin:0 2px 12px!important;padding:0!important;border:0!important;background:none!important}
html body.pti-unified .content .pilotage-card .section-head h2{font-size:15.5px!important}
html body.pti-unified .content .pilotage-rows{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:12px!important}
html body.pti-unified.pti-brand-page .content .overview-shell .pilotage-card .pilotage-rows .pilotage-tile.pilotage-tile{position:relative;overflow:hidden;isolation:isolate;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important;padding:16px 16px 14px!important;min-height:0!important;border:1px solid var(--lg-line)!important;border-radius:var(--lg-r)!important;background-color:var(--lg-surface)!important;box-shadow:var(--lg-shadow-1)!important;text-decoration:none!important;transition:transform .35s var(--lg-ease),box-shadow .35s var(--lg-ease),border-color .2s!important}
html body.pti-unified.pti-brand-page .content .overview-shell .pilotage-card .pilotage-rows .pilotage-tile.pilotage-tile:hover{transform:translateY(-2px);box-shadow:var(--lg-shadow-2)!important;border-color:var(--lg-line-2)!important}
html body.pti-unified .content .pilotage-rows .pilotage-tile>span{position:static!important;margin:0!important;align-self:auto!important}
html body.pti-unified .content .pilotage-rows .pilotage-tile .label{order:0!important;display:flex!important;align-items:center;gap:8px;font-size:12.5px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:var(--lg-muted)!important}
html body.pti-unified .content .pilotage-rows .pilotage-tile .label::before{content:"";position:relative;width:8px;height:8px;border-radius:50%;background:var(--lg-ok);flex:0 0 auto}
html body.pti-unified .content .pilotage-rows .pilotage-tile.warn .label::before{background:var(--lg-warn)}
html body.pti-unified .content .pilotage-rows .pilotage-tile.danger .label::before{background:var(--lg-danger);box-shadow:0 0 0 4px var(--lg-danger-soft)}
html body.pti-unified .content .pilotage-rows .pilotage-tile .value{order:1!important;display:block!important;width:auto!important;height:auto!important;margin:4px 0 0!important;padding:0!important;background:none!important;text-align:left!important;font-size:30px!important;font-weight:600!important;letter-spacing:-.04em!important;line-height:1.15!important;color:var(--lg-ink)!important}
html body.pti-unified .content .pilotage-rows .pilotage-tile .note{order:2!important;margin:0!important;font-size:12px!important;line-height:1.45!important;color:var(--lg-muted)!important;white-space:normal!important;min-height:35px}
html body.pti-unified .content .pilotage-rows .pilotage-tile .action{order:3!important;display:inline-flex!important;margin-top:8px!important;font-size:12.5px!important;font-weight:600!important;color:var(--lg-ink)!important;transition:transform .35s var(--lg-spring)}
html body.pti-unified .content .pilotage-rows .pilotage-tile:hover .action{transform:translateX(3px);color:var(--lg-accent)!important}
html body.pti-unified .content .pilotage-list{margin-top:12px!important}
html body.pti-unified .content .pilotage-list .pilotage-row:has(.goal-bar){display:none!important}
html body.pti-unified .content .pilotage-row{border-radius:var(--lg-r)!important;background:var(--lg-surface)!important;border:1px solid var(--lg-line)!important;box-shadow:var(--lg-shadow-1)!important}
html body.pti-unified .content .pilotage-dot{border-radius:10px!important;background:var(--lg-surface-3)!important;border:0}
html body.pti-unified .content .goal-bar{border-radius:99px!important;background:var(--lg-surface-3)!important;overflow:hidden}
html body.pti-unified .content .goal-fill{border-radius:inherit!important;background:linear-gradient(90deg,var(--lg-accent),var(--lg-accent-2))!important}
html body.pti-unified .content .daily-ops-card{border-radius:var(--lg-r)!important;background:var(--lg-surface)!important;border:1px solid var(--lg-line)!important;box-shadow:var(--lg-shadow-1)!important}
html body.pti-unified .content .daily-ops-compact-item{border-radius:12px!important}
html body.pti-unified .pti-pilotage-drawer{border-radius:22px 0 0 22px!important;box-shadow:var(--lg-shadow-3)!important;background:var(--lg-surface)!important}
html body.pti-unified .pti-figures{border-radius:var(--lg-r-lg)!important}

/* ----- Agenda du jour et derniers documents ----- */
.lg-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:28px}
.lg-list-card{padding:6px 6px 8px}
.lg-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px 6px}
html body .lg-sec-head h2{font-size:15.5px!important;font-weight:600!important;letter-spacing:-.015em!important;margin:0!important;color:var(--lg-ink)!important}
.lg-sec-head a{font-size:12.5px;font-weight:550;color:var(--lg-accent)!important;text-decoration:none!important;white-space:nowrap}
.lg-empty{margin:6px 14px 12px;padding:18px;border-radius:12px;border:1px dashed var(--lg-line-2);color:var(--lg-muted);font-size:13px;text-align:center}
.lg-empty a{color:var(--lg-accent)!important;font-weight:550}
.lg-agenda,.lg-feed{list-style:none;margin:0;padding:4px 8px}
.lg-agenda li{display:grid;grid-template-columns:48px 14px minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 6px;border-radius:12px;transition:background-color .2s}
.lg-agenda li:hover{background:var(--lg-surface-2)}
.lg-agenda time{font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--lg-ink-2);padding-top:1px}
.lg-rail{position:relative;height:100%;display:flex;justify-content:center}
.lg-rail::before{content:"";position:absolute;top:16px;bottom:-22px;width:1px;background:var(--lg-line)}
.lg-agenda li:last-child .lg-rail::before{display:none}
.lg-rail i{position:relative;z-index:1;width:9px;height:9px;margin-top:5px;border-radius:50%;border:2px solid var(--lg-line-2);background:var(--lg-surface)}
.lg-agenda li.is-next .lg-rail i{border-color:var(--lg-accent);background:var(--lg-accent);box-shadow:0 0 0 4px var(--lg-accent-soft)}
.lg-agenda li.is-done{opacity:.55}
.lg-agenda strong,.lg-feed p{display:block;font-size:13.5px;font-weight:600;color:var(--lg-ink);margin:0}
.lg-agenda small,.lg-feed small{display:block;font-size:12px;color:var(--lg-muted);font-weight:400}
.lg-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--lg-surface-3);color:var(--lg-muted);white-space:nowrap}
.lg-chip.ok{background:var(--lg-ok-soft);color:var(--lg-ok)}
.lg-chip.warn{background:var(--lg-warn-soft);color:var(--lg-warn)}
.lg-chip.acc{background:var(--lg-accent-soft);color:var(--lg-accent)}
.lg-chip.acc::before,.lg-chip.ok::before,.lg-chip.warn::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.lg-feed li a{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 6px;border-radius:12px;text-decoration:none!important;color:inherit!important;transition:background-color .2s}
.lg-feed li a:hover{background:var(--lg-surface-2)}
.lg-feed p{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg-feed-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--lg-surface-3);color:var(--lg-ink-2)}
.lg-feed-ic svg{width:15px;height:15px}
.lg-feed-ic.ok{background:var(--lg-ok-soft);color:var(--lg-ok)}
.lg-feed-ic.acc{background:var(--lg-accent-soft);color:var(--lg-accent)}
.lg-feed-ic.warn{background:var(--lg-warn-soft);color:var(--lg-warn)}
.lg-feed time{font-size:11.5px;color:var(--lg-faint);white-space:nowrap}

/* ----- Palette de commandes (Ctrl K) ----- */
.lg-cmdk{position:fixed;inset:0;z-index:2147482000;display:grid;place-items:start center;padding-top:12vh;background:rgba(10,10,10,.32);opacity:0;pointer-events:none;transition:opacity .2s}
.lg-cmdk.is-open{opacity:1;pointer-events:auto}
.lg-cmdk-panel{width:min(600px,calc(100% - 28px));border-radius:20px;background:var(--lg-surface);border:1px solid var(--lg-line);box-shadow:var(--lg-shadow-3);overflow:hidden;transform:translateY(-8px) scale(.98);transition:transform .35s var(--lg-spring);font-family:var(--lg-font);color:var(--lg-ink)}
.lg-cmdk.is-open .lg-cmdk-panel{transform:none}
.lg-cmdk-in{display:flex;align-items:center;gap:12px;padding:0 16px;height:58px;border-bottom:1px solid var(--lg-line);color:var(--lg-faint)}
.lg-cmdk-in svg{width:18px;height:18px}
html body .lg-cmdk-in input{flex:1;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;font:inherit;font-size:16px!important;color:var(--lg-ink)!important;padding:0!important;min-height:0!important;height:auto!important}
.lg-cmdk-list{list-style:none;margin:0;padding:8px;max-height:min(380px,60vh);overflow:auto}
.lg-cmdk-g{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--lg-faint);font-weight:600;padding:10px 10px 6px}
.lg-cmdk-it{display:flex;align-items:center;gap:12px;padding:10px;border-radius:11px;font-size:13.5px;cursor:pointer;color:var(--lg-ink-2)}
.lg-cmdk-it svg{width:18px;height:18px;color:var(--lg-muted);flex:0 0 auto}
.lg-cmdk-it .lg-kbd{margin-left:auto}
.lg-cmdk-it[aria-selected="true"]{background:var(--lg-accent-soft);color:var(--lg-ink)}
.lg-cmdk-it[aria-selected="true"] svg{color:var(--lg-accent)}
.lg-cmdk-empty{padding:18px 10px;color:var(--lg-muted);font-size:13px}
.lg-cmdk-foot{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--lg-line);font-size:11.5px;color:var(--lg-muted);background:var(--lg-surface-2)}
.lg-cmdk-foot span{display:flex;align-items:center;gap:6px}

/* ----- Entreprise : pastille d'initiales ----- */
.lg-co-av{grid-row:span 2;align-self:center;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:11.5px;font-weight:700;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,#0B7A71,#0F3D4A);flex:0 0 auto}
html body.pti-unified .pti-company-label:has(.lg-co-av),html body.pti-unified .pti-company-switch:has(.lg-co-av){grid-template-columns:32px minmax(0,1fr)!important;column-gap:10px!important;align-items:center}
html body.pti-unified.pti-nav-auto:not(.pti-nav-open) .lg-co-av{display:none}

@media (max-width:1180px){.lg-hero-grid{grid-template-columns:1fr}.lg-goal{min-height:0}}
@media (max-width:980px){
  .lg-hero{padding:22px 20px;min-height:0;border-radius:24px}
  html body .lg-hero h1,html body.pti-unified .content .lg-hero h1{font-size:38px!important}
  .lg-hero p{font-size:14px}
  .lg-hero-top .lg-live{display:none}
  .lg-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .lg-hero-actions .lg-btn{height:36px;padding:0 10px;font-size:12.5px;min-width:0}
  .lg-hero-actions .lg-btn:first-child{grid-column:1/-1}
  .lg-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .lg-kpi{padding:14px}
  .lg-kpi-val{font-size:21px}
  .lg-kpi-sub{font-size:11.5px}
  .lg-duo{grid-template-columns:1fr}
  html body.pti-unified .content .pilotage-rows{grid-auto-flow:column!important;grid-template-columns:none!important;grid-auto-columns:72%!important;overflow-x:auto!important;scroll-snap-type:x mandatory;margin:0 -14px!important;padding:2px 14px 8px!important;scrollbar-width:none}
  html body.pti-unified .content .pilotage-rows::-webkit-scrollbar{display:none}
  html body.pti-unified.pti-brand-page .content .overview-shell .pilotage-card .pilotage-rows .pilotage-tile.pilotage-tile{scroll-snap-align:start}
  .lg-page-head h1,html body.pti-unified .content .lg-page-head h1{font-size:28px!important}
}
@media (max-width:520px){.lg-ring{width:104px;height:104px}.lg-ring-c strong{font-size:23px}.lg-goal-row{gap:14px}}

/* ----- Boutons ----- */
html body.pti-unified .content .btn-link,html body.pti-unified .content .btn,html body.pti-unified .content button.btn,html body.pti-unified .content .stock-management-btn,html body.pti-unified .content .tracking-refresh-btn{border-radius:11px!important;transition:background-color .2s,border-color .2s,box-shadow .25s,transform .25s var(--lg-ease)!important}
html body.pti-unified .content .btn-link:active,html body.pti-unified .content .btn:active,html body.pti-unified .content button:active{transform:scale(.97)}
html body.pti-unified .content .btn-link:not(.primary):not(.danger):not(.danger-action),html body.pti-unified .content .btn:not(.primary):not(.danger){box-shadow:var(--lg-shadow-1)!important;border-color:var(--lg-line-2)!important}
html body.pti-unified .content .primary,html body.pti-unified .content .btn-link.primary,html body.pti-unified .content .btn.primary{border-radius:11px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 18px -10px rgba(0,0,0,.5)!important}
html body.pti-unified .content button[type="submit"]:where(:not(.btn-link):not(.danger):not(.danger-action):not(.utility-summary):not([class*="chevron"])){border-radius:11px!important}

/* ----- Champs ----- */
html body.pti-unified .content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),html body.pti-unified .content select,html body.pti-unified .content textarea{border-color:var(--lg-line-2)!important;border-radius:10px!important;transition:border-color .2s,box-shadow .25s!important}
html body.pti-unified .content input:not([type="checkbox"]):not([type="radio"]):hover,html body.pti-unified .content select:hover,html body.pti-unified .content textarea:hover{border-color:var(--lg-faint)!important}
html body.pti-unified .content input:focus,html body.pti-unified .content select:focus,html body.pti-unified .content textarea:focus{border-color:var(--lg-accent)!important;box-shadow:var(--lg-focus)!important}
html body.pti-unified .content label,html body.pti-unified .content .field>span,html body.pti-unified .content .detail-label{color:var(--lg-ink-2)!important}
html body.pti-unified .content input[type="checkbox"],html body.pti-unified .content input[type="radio"]{accent-color:var(--lg-accent)!important}

/* ----- Filtres, onglets, sous-navigation ----- */
html body.pti-unified .content .filter-pill,html body.pti-unified .content .analysis-subtab,html body.pti-unified .content .pti-docs-v9-tab{border-radius:999px!important;border-color:var(--lg-line)!important;transition:background-color .2s,border-color .2s,color .2s!important}
html body.pti-unified .content .filter-pill:hover,html body.pti-unified .content .analysis-subtab:hover{border-color:var(--lg-line-2)!important;background:var(--lg-surface)!important}
html body.pti-unified .content .filter-pill.active,html body.pti-unified .content .analysis-subtab.active,html body.pti-unified .content .pti-docs-v9-tab.is-active,html body.pti-unified .content .pti-docs-v9-tab.active{background:var(--lg-ink)!important;border-color:var(--lg-ink)!important;color:var(--lg-on-ink)!important}
html body.pti-unified .content .filter-pill span,html body.pti-unified .content .filter-pill b,html body.pti-unified .content .filter-pill em{border-radius:999px!important;background:var(--lg-surface-3)!important;color:var(--lg-muted)!important}
html body.pti-unified .content .filter-pill.active span,html body.pti-unified .content .filter-pill.active b,html body.pti-unified .content .filter-pill.active em{background:rgba(255,255,255,.18)!important;color:inherit!important}
html body.pti-unified .pti-subnav{position:relative;gap:2px!important;padding:4px!important;border-radius:13px!important;background:var(--lg-surface-3)!important;border:1px solid var(--lg-line)!important}
html body.pti-unified .pti-subnav-btn{border-radius:9px!important;color:var(--lg-muted)!important;padding:8px 18px!important;font-size:13.5px!important;transition:color .25s,background-color .25s,box-shadow .25s}
html body.pti-unified .pti-subnav-btn:hover{background:transparent!important;color:var(--lg-ink)!important}
html body.pti-unified .pti-subnav-btn.active{background:var(--lg-surface)!important;color:var(--lg-ink)!important;box-shadow:var(--lg-shadow-1)}
html body.pti-unified .content .agenda-form-tabs{border-radius:13px!important;background:var(--lg-surface-3)!important}
html body.pti-unified .content .agenda-form-tabs .agenda-form-tab{border-radius:9px!important}

/* ----- Listes en accordéon (devis, factures, dépenses…) ----- */
html body.pti-unified .content .entity-accordion,html body.pti-unified .content .tracking-accordion,html body.pti-unified .content .appointment-card,html body.pti-unified .content .utility-details{border-radius:14px!important;border-color:var(--lg-line)!important;transition:border-color .2s,box-shadow .3s var(--lg-ease)!important}
html body.pti-unified .content .entity-accordion:hover{border-color:var(--lg-line-2)!important;box-shadow:var(--lg-shadow-1)!important}
html body.pti-unified .content .entity-accordion[open],html body.pti-unified .content .entity-accordion.open{border-color:var(--lg-line-2)!important;box-shadow:var(--lg-shadow-2)!important}
html body.pti-unified .content .entity-chevron,html body.pti-unified .content .utility-chevron{border-radius:9px!important;transition:transform .3s var(--lg-ease)!important}
html body.pti-unified .content .entity-detail-card,html body.pti-unified .content .followup-box,html body.pti-unified .content .entity-details-panel{border-radius:12px!important}
html body.pti-unified .content .doc-open-link{color:var(--lg-ink)!important;text-decoration:none!important;background-image:linear-gradient(var(--lg-accent),var(--lg-accent));background-size:0 1.5px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .35s var(--lg-ease),color .2s}
html body.pti-unified .content .doc-open-link:hover{color:var(--lg-accent)!important;background-size:100% 1.5px}
/* Devis, factures, dépenses : un tableau épuré, une ligne par document (comme l'esquisse) */
html body.pti-unified .content .entity-accordion-list{gap:0!important;border:1px solid var(--lg-line)!important;border-radius:var(--lg-r)!important;background:var(--lg-surface)!important;overflow:hidden;box-shadow:none!important}
html body.pti-unified .content .entity-accordion-list>.entity-accordion{border:0!important;border-bottom:1px solid var(--lg-line)!important;border-radius:0!important;box-shadow:none!important;margin:0!important;background:transparent!important}
html body.pti-unified .content .entity-accordion-list>.entity-accordion:last-of-type{border-bottom:0!important}
html body.pti-unified .content .entity-accordion-list>.entity-accordion:hover{background:var(--lg-surface-2)!important}
html body.pti-unified .content .entity-accordion-list>.entity-accordion[open]{background:var(--lg-surface-2)!important;box-shadow:inset 3px 0 0 var(--lg-accent)!important}
html body.pti-unified .content .entity-accordion-list .entity-summary-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto 26px!important;align-items:center!important;gap:14px!important;padding:12px 16px!important;min-height:58px!important;border:0!important}
html body.pti-unified .content .entity-accordion-list .entity-summary-row>.entity-chevron{order:9;justify-self:end;width:26px!important;height:26px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--lg-faint)!important;display:grid!important;place-items:center;font-size:18px!important}
html body.pti-unified .content .entity-accordion-list .entity-accordion[open] .entity-chevron{transform:rotate(90deg);color:var(--lg-accent)!important}
html body.pti-unified .content .entity-accordion-list .entity-main-info strong{font-family:var(--lg-mono)!important;font-size:12.5px!important;font-weight:600!important;letter-spacing:0!important}
html body.pti-unified .content .entity-accordion-list .entity-main-info small{font-size:12px!important;color:var(--lg-muted)!important}
html body.pti-unified .content .entity-accordion-list .entity-total-mini{font-weight:600!important;font-size:13.5px!important;letter-spacing:-.01em;text-align:right;white-space:nowrap;color:var(--lg-ink)!important}
html body.pti-unified .content .entity-accordion-list .entity-summary-badges{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
html body.pti-unified .content .entity-accordion-list .entity-details-panel{margin:0 16px 14px!important;background:var(--lg-surface)!important;border:1px solid var(--lg-line)!important}
html body.pti-unified .content .badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}
html body.pti-unified .content .utility-details.compact-utility{border-radius:12px!important;background:var(--lg-surface)!important;box-shadow:none!important;margin:10px 0!important}
html body.pti-unified .content .utility-details.compact-utility>.utility-summary{min-height:40px!important;padding:6px 12px!important}
html body.pti-unified .content .utility-details.compact-utility .utility-summary-main strong{font-size:13px!important;font-weight:500!important;color:var(--lg-muted)!important}
html body.pti-unified .content .utility-details.compact-utility .utility-icon{width:28px!important;height:28px!important;border-radius:9px!important;background:var(--lg-surface-3)!important;box-shadow:none!important}
@media (max-width:760px){
  html body.pti-unified .content .entity-accordion-list .entity-summary-row{grid-template-columns:minmax(0,1fr) auto 22px!important;gap:4px 10px!important}
  html body.pti-unified .content .entity-accordion-list .entity-summary-badges{grid-column:1/-1;grid-row:2;justify-content:flex-start;order:5}
}

/* ----- Pastilles d'état ----- */
html body.pti-unified .content .badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px!important;font-size:11.5px!important;letter-spacing:0!important;background:var(--lg-surface-3)!important;color:var(--lg-muted)!important}
html body.pti-unified .content .badge.ok,html body.pti-unified .content .badge.paid,html body.pti-unified .content .badge.confirmed{background:var(--lg-ok-soft)!important;color:var(--lg-ok)!important}
html body.pti-unified .content .badge.due,html body.pti-unified .content .badge.warn,html body.pti-unified .content .badge.neutral{background:var(--lg-warn-soft)!important;color:var(--lg-warn)!important}
html body.pti-unified .content .badge.bad,html body.pti-unified .content .badge.danger{background:var(--lg-danger-soft)!important;color:var(--lg-danger)!important}

/* ----- Tableaux ----- */
html body.pti-unified .content th{background:var(--lg-surface-2)!important;color:var(--lg-faint)!important;letter-spacing:.08em!important}
html body.pti-unified .content tbody tr{transition:background-color .18s}
html body.pti-unified .content tbody tr:hover{background:var(--lg-surface-2)}
html body.pti-unified .content .table-wrap{border-radius:14px!important}

/* ----- Alertes, fenêtres, pagination ----- */
html body.pti-unified .content .alert{border-radius:14px!important;padding:13px 16px!important}
html body.pti-unified .content .alert.ok{border-color:color-mix(in srgb,var(--lg-ok) 22%,transparent)!important}
html body.pti-unified .content .alert.err{border-color:color-mix(in srgb,var(--lg-danger) 22%,transparent)!important}
html body.pti-unified dialog,html body.pti-unified .modal-card{border-radius:22px!important}
html body.pti-unified .modal-card,html body.pti-unified dialog{border:1px solid var(--lg-line)!important;box-shadow:var(--lg-shadow-3)!important}
html body.pti-unified dialog::backdrop{background:rgba(10,10,10,.35);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
html body.pti-unified .content .pti-unified-pager button,html body.pti-unified .content .pti-unified-pager a,html body.pti-unified .content .pti-pagination a,html body.pti-unified .content .pti-pagination button{border-radius:10px!important}
html body.pti-unified .pti-embed-fallback{border-radius:16px;box-shadow:var(--lg-shadow-1)}
html body.pti-unified .pti-embed-fallback-link{border-radius:11px;background:var(--lg-ink);color:var(--lg-on-ink)}
html body.pti-unified .pti-embed.is-loading::before{background:linear-gradient(90deg,transparent,var(--lg-accent),transparent)!important;background-size:50% 100%!important;background-repeat:no-repeat!important}

/* ----- Écran d'ouverture ----- */
html body .pti-splash{background:var(--lg-bg)!important}
html body .pti-splash-bar{background:var(--lg-line)!important;width:160px!important;height:3px!important}
html body .pti-splash-bar i{background:linear-gradient(90deg,var(--lg-accent),var(--lg-accent-2))!important}
html body .pti-splash-text{letter-spacing:.16em!important;color:var(--lg-muted)!important;font-size:11px!important}
@media (display-mode:standalone){html body .pti-splash{background:#0F1313!important}html body .pti-splash-bar{background:rgba(255,255,255,.14)!important}html body .pti-splash-text{color:rgba(255,255,255,.6)!important}}

/* ----- Tablette et téléphone ----- */
@media (max-width:980px){
  html body.pti-unified aside.pti-side{border-radius:0 24px 24px 0!important;border-right:0!important;box-shadow:var(--lg-shadow-3)!important;transition:transform .45s var(--lg-ease)!important}
  html body.pti-unified.pti-drawer-open .pti-drawer-backdrop{background:rgba(10,10,10,.35)!important}
  html body.pti-unified .content{padding:16px 14px calc(112px + env(safe-area-inset-bottom))!important}
  html body.pti-unified .pti-mobile-header{background:var(--lg-glass)!important;-webkit-backdrop-filter:saturate(1.5) blur(14px)!important;backdrop-filter:saturate(1.5) blur(14px)!important;border-bottom:1px solid var(--lg-line)!important}
  html body.pti-unified .pti-mobile-brand-logo{width:124px!important}
  html body.pti-unified .pti-mobile-options-toggle,html body.pti-unified .pti-mobile-logout{border-radius:12px!important;border-color:var(--lg-line)!important;background:var(--lg-surface)!important;box-shadow:var(--lg-shadow-1)!important}
  html body.pti-unified .pti-mobile-logout{color:var(--lg-muted)!important}
  html body.pti-unified .pti-mobile-options-menu{border-radius:16px!important;box-shadow:var(--lg-shadow-3)!important}
  html body.pti-unified .pti-mobile-actions{scrollbar-width:none!important;padding-bottom:2px!important}
  html body.pti-unified .pti-mobile-actions::-webkit-scrollbar{display:none}
  html body.pti-unified .pti-mobile-action{border-radius:12px!important;border-color:var(--lg-line)!important;box-shadow:var(--lg-shadow-1)!important}
  html body.pti-unified .pti-mobile-action.is-primary{background:var(--lg-ink)!important;border-color:var(--lg-ink)!important;color:var(--lg-on-ink)!important}
  /* Barre du bas flottante, en verre dépoli */
  /* Posée juste au-dessus de la barre d'accueil de l'iPhone (zone sûre moins 14 px), jusqu'à six entrées. */
  html body.pti-unified .pti-mobile-nav{left:8px!important;right:8px!important;bottom:max(4px,calc(env(safe-area-inset-bottom) - 14px))!important;padding:4px!important;border-radius:22px!important;background:var(--lg-glass)!important;-webkit-backdrop-filter:saturate(1.6) blur(18px)!important;backdrop-filter:saturate(1.6) blur(18px)!important;border:1px solid var(--lg-line)!important;box-shadow:var(--lg-shadow-2)!important;align-items:stretch!important}
  html body.pti-unified .pti-mobile-nav>*{min-width:0!important;min-height:46px!important;gap:2px!important;padding:4px 1px!important;font-size:10px!important;letter-spacing:-.01em!important;border-radius:15px!important;color:var(--lg-muted)!important;border:1px solid transparent!important;transition:color .2s,background-color .25s,box-shadow .25s!important}
  html body.pti-unified .pti-mobile-nav>.active{background:var(--lg-surface)!important;color:var(--lg-ink)!important;border-color:var(--lg-line)!important;box-shadow:var(--lg-shadow-1)!important}
  html body.pti-unified .pti-mobile-nav>.active .tab-icon{color:var(--lg-accent)!important}
  html body.pti-unified .pti-mobile-nav .tab-icon{transition:transform .25s var(--lg-spring)}
  html body.pti-unified .pti-mobile-nav .tab-icon,html body.pti-unified .pti-mobile-nav .tab-icon svg{width:19px!important;height:19px!important}
  html body.pti-unified .pti-mobile-nav .tab-label{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  html body.pti-unified .pti-mobile-nav>:active .tab-icon{transform:scale(.88)}
}

/* =========================================================================
   5. GÉNÉRATEUR DE DEVIS / FACTURES (body.pti-gen-skin)
      Le document (#documentPreview) et le ticket ne sont pas touchés.
   ========================================================================= */
html body.pti-gen-skin,html body.pti-gen-skin.generator-dark{
  --g-bg:var(--lg-bg);--g-surface:var(--lg-surface);--g-soft:var(--lg-surface-2);--g-ink:var(--lg-ink);--g-ink-2:var(--lg-ink-2);--g-muted:var(--lg-muted);
  --g-line:var(--lg-line);--g-line-2:var(--lg-line-2);--g-accent:var(--lg-ink);--g-accent-2:var(--lg-ink);--g-on-accent:var(--lg-on-ink);--g-hover:var(--lg-surface-3);--g-stage:var(--lg-bg-2);
  --g-font:var(--lg-font);
}
html body.pti-gen-skin .panel.form-shell,html body.pti-gen-skin .panel.preview-shell{border-radius:var(--lg-r-lg)!important;box-shadow:var(--lg-shadow-1)!important}
html body.pti-gen-skin .preview-scale-frame{border-radius:14px!important}
html body.pti-gen-skin .form-shell input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),html body.pti-gen-skin .form-shell select,html body.pti-gen-skin .form-shell textarea{border-radius:10px!important;transition:border-color .2s,box-shadow .25s!important}
html body.pti-gen-skin .form-shell input:focus,html body.pti-gen-skin .form-shell select:focus,html body.pti-gen-skin .form-shell textarea:focus{border-color:var(--lg-accent)!important;box-shadow:var(--lg-focus)!important;outline:none!important}
html body.pti-gen-skin .form-shell button,html body.pti-gen-skin .preview-toolbar button{border-radius:11px!important;transition:background-color .2s,border-color .2s,transform .25s var(--lg-ease)!important}
html body.pti-gen-skin .form-shell button:active,html body.pti-gen-skin .preview-toolbar button:active{transform:scale(.97)}
html body.pti-gen-skin .form-shell input[type="checkbox"],html body.pti-gen-skin .form-shell input[type="radio"]{accent-color:var(--lg-accent)}

/* =========================================================================
   6. PLATEFORME — connexion, accueil, administration (public/index.php)
      et pages d'administration intégrées dans l'espace (body.pti-embedded)
   ========================================================================= */
/* Les variables de la plateforme sont redéfinies sur <body> : le générateur et les documents imprimés ne sont pas concernés. */
html:root body.lg-platform,html[data-pti-theme="dark"]:root body.lg-platform{--bg:var(--lg-bg);--surface:var(--lg-surface);--ink:var(--lg-ink);--muted:var(--lg-muted);--line:var(--lg-line);--green:var(--lg-ink);--green-hover:var(--lg-ink);--sage:var(--lg-surface-3);--red:var(--lg-danger);--amber:var(--lg-warn);--radius:16px;
  --c-line:var(--lg-line);--c-surface:var(--lg-surface);--c-muted:var(--lg-muted);--c-ink:var(--lg-ink);--c-green:var(--lg-ink);--c-sage:var(--lg-surface-3);--biz-line:var(--lg-line);--biz-surface:var(--lg-surface);
  font-family:var(--lg-font);background:var(--lg-bg);color:var(--lg-ink)}
html:has(body.lg-platform){background:var(--lg-bg)}
html body.lg-platform .biz-subnav a{color:var(--lg-accent)}
html body.lg-platform input,html body.lg-platform select,html body.lg-platform textarea,html body.lg-platform button{font-family:var(--lg-font)}
html body.lg-platform>header{position:sticky;top:0;z-index:30;height:68px;background:var(--lg-glass);-webkit-backdrop-filter:saturate(1.5) blur(14px);backdrop-filter:saturate(1.5) blur(14px);border-bottom:1px solid var(--lg-line)}
html body.lg-platform .wordmark img{height:24px}
html[data-pti-theme="dark"] body.lg-platform .wordmark img{filter:invert(1)}
html body.lg-platform #identity{font-size:13px;color:var(--lg-muted)}
html body.lg-platform main{padding-top:40px}
html body.lg-platform h1{font-size:clamp(28px,4.4vw,44px);letter-spacing:-.04em;font-weight:600;line-height:1.05}
html body.lg-platform h1 em{font-family:var(--lg-serif);font-style:italic;font-weight:400;letter-spacing:0;font-size:1.1em;color:var(--lg-accent)}
html body.lg-platform h2{letter-spacing:-.02em}
html body.lg-platform .eyebrow{font-size:10.5px;letter-spacing:.14em;color:var(--lg-muted);font-weight:600}
html body.lg-platform .muted{color:var(--lg-muted)}
html body.lg-platform main>*{animation:lg-rise .7s var(--lg-ease) both}
html body.lg-platform main>:nth-child(2){animation-delay:.04s}
html body.lg-platform main>:nth-child(3){animation-delay:.08s}
html body.lg-platform main>:nth-child(n+4){animation-delay:.12s}
/* Cartes de modules */
html body.lg-platform .cards{gap:14px}
html body.lg-platform .card{position:relative;overflow:hidden;isolation:isolate;padding:24px 24px 22px;border-radius:var(--lg-r-lg);border:1px solid var(--lg-line);background:var(--lg-surface);box-shadow:var(--lg-shadow-1);transition:transform .35s var(--lg-ease),box-shadow .35s var(--lg-ease),border-color .2s}
html body.lg-platform .card:hover{background:var(--lg-surface);border-color:var(--lg-line-2);transform:translateY(-2px);box-shadow:var(--lg-shadow-2)}
html body.lg-platform .card .number{display:inline-grid;place-items:center;min-width:34px;height:26px;padding:0 8px;border-radius:8px;background:var(--lg-accent-soft);color:var(--lg-accent);font-family:var(--lg-mono);font-size:11.5px;letter-spacing:.04em}
html body.lg-platform .card h2{font-size:21px;margin:16px 0 0}
html body.lg-platform .card strong{display:inline-flex;align-items:center;gap:6px;color:var(--lg-ink)}
html body.lg-platform .chips a{border-radius:999px;padding:8px 14px;border-color:var(--lg-line);background:var(--lg-surface);transition:border-color .2s,background-color .2s,transform .25s var(--lg-ease)}
html body.lg-platform .chips a:hover{border-color:var(--lg-line-2);background:var(--lg-surface);transform:translateY(-1px)}
/* Panneaux, statistiques, tableaux */
html body.lg-platform .panel{border-radius:var(--lg-r-lg);border-color:var(--lg-line);box-shadow:var(--lg-shadow-1)}
html body.lg-platform .stat-card{border-radius:var(--lg-r);border-color:var(--lg-line);box-shadow:var(--lg-shadow-1)}
html body.lg-platform .stat-card strong{letter-spacing:-.035em;font-variant-numeric:tabular-nums}
html body.lg-platform .biz-kpis .stat-card{background:var(--lg-surface-3);box-shadow:none}
html body.lg-platform .biz-kpis .stat-card.is-warn{background:var(--lg-warn-soft)}
html body.lg-platform .biz-kpis .stat-card.is-warn strong{color:var(--lg-warn)}
html body.lg-platform .biz-kpis .stat-card.is-accent{background:var(--lg-hero);color:var(--lg-hero-ink)}
html body.lg-platform .table-wrap{border-radius:var(--lg-r);border-color:var(--lg-line);background:var(--lg-surface)}
html body.lg-platform th{background:var(--lg-surface-2);color:var(--lg-faint);letter-spacing:.08em;font-size:10.5px}
html body.lg-platform td{border-color:var(--lg-line)}
html body.lg-platform tbody tr{transition:background-color .18s}
html body.lg-platform tbody tr:hover td,html body.lg-platform table tr.clickable:hover td{background:var(--lg-surface-2)}
html body.lg-platform .chip{border-color:transparent;background:var(--lg-surface-3);color:var(--lg-muted)}
html body.lg-platform .chip-on{background:var(--lg-ok-soft);color:var(--lg-ok)}
html body.lg-platform .chip-warn{background:var(--lg-danger-soft);color:var(--lg-danger)}
html body.lg-platform .chip-pending{background:var(--lg-warn-soft);color:var(--lg-warn)}
/* Boutons et champs */
html body.lg-platform button,html body.lg-platform .button{border-radius:11px;font-weight:550;transition:background-color .2s,border-color .2s,box-shadow .25s,transform .25s var(--lg-ease)}
html body.lg-platform button:not(.secondary):not(.danger):not(.biz-tab):not(.range-chip),html body.lg-platform .button:not(.secondary):not(.danger){background:var(--lg-ink);border-color:var(--lg-ink);color:var(--lg-on-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 18px -10px rgba(0,0,0,.5)}
html body.lg-platform button:not(.secondary):not(.danger):not(.biz-tab):not(.range-chip):hover{background:var(--lg-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 24px -10px rgba(0,0,0,.55)}
html body.lg-platform button:active,html body.lg-platform .button:active{transform:scale(.97)}
html body.lg-platform button.secondary,html body.lg-platform .button.secondary{background:var(--lg-surface);border-color:var(--lg-line-2);color:var(--lg-ink);box-shadow:var(--lg-shadow-1)}
html body.lg-platform button.secondary:hover{background:var(--lg-surface);border-color:var(--lg-faint)}
html body.lg-platform button.danger{background:var(--lg-surface);color:var(--lg-danger);border-color:color-mix(in srgb,var(--lg-danger) 30%,var(--lg-line))}
html body.lg-platform button.danger:hover{background:var(--lg-danger-soft)}
html body.lg-platform input,html body.lg-platform select,html body.lg-platform textarea{border-radius:10px;border-color:var(--lg-line-2);background:var(--lg-surface);transition:border-color .2s,box-shadow .25s}
html body.lg-platform input:hover,html body.lg-platform select:hover,html body.lg-platform textarea:hover{border-color:var(--lg-faint)}
html body.lg-platform input:focus,html body.lg-platform select:focus,html body.lg-platform textarea:focus{border-color:var(--lg-accent);box-shadow:var(--lg-focus)}
html body.lg-platform label{color:var(--lg-ink-2)}
html body.lg-platform .check input,html body.lg-platform input[type="checkbox"]{accent-color:var(--lg-accent)}
html body.lg-platform #notice{border-radius:14px;background:var(--lg-ink);color:var(--lg-on-ink);box-shadow:var(--lg-shadow-3);padding:12px 18px}
/* Onglets, périodes, fiches */
html body.lg-platform .biz-tabs{background:var(--lg-surface-3);border:1px solid var(--lg-line);border-radius:13px}
html body.lg-platform .biz-tab{border-radius:9px;transition:color .2s,background-color .2s,box-shadow .2s}
html body.lg-platform .biz-tab.is-active{background:var(--lg-surface)!important;box-shadow:var(--lg-shadow-1)}
html body.lg-platform .range-chips{border-radius:12px;border-color:var(--lg-line);background:var(--lg-surface)}
html body.lg-platform .range-chip{border-radius:9px}
html body.lg-platform .range-chip.is-active{background:var(--lg-ink);color:var(--lg-on-ink)}
html body.lg-platform .biz-card{border-radius:var(--lg-r);border-color:var(--lg-line);background:var(--lg-surface);box-shadow:var(--lg-shadow-1);transition:transform .35s var(--lg-ease),box-shadow .35s var(--lg-ease),border-color .2s}
html body.lg-platform .biz-card:hover{border-color:var(--lg-line-2);background:var(--lg-surface);transform:translateY(-2px);box-shadow:var(--lg-shadow-2)}
html body.lg-platform .biz-modal{border-radius:22px;border-color:var(--lg-line);box-shadow:var(--lg-shadow-3);background:var(--lg-surface)}
html body.lg-platform .biz-modal-head{background:var(--lg-surface)}
html body.lg-platform .biz-modal::backdrop{background:rgba(10,10,10,.35);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
html body.lg-platform .biz-sugg,html body.lg-platform .biz-msg.is-bot{background:var(--lg-surface-2)}
html body.lg-platform .biz-msg{border-radius:16px}
html body.lg-platform .biz-msg.is-user{background:var(--lg-ink);border-color:var(--lg-ink);color:var(--lg-on-ink)}
html body.lg-platform .biz-notif-icon{border-radius:11px;background:var(--lg-surface-3)}
html body.lg-platform .biz-fold,html body.lg-platform .firm-quota{border-radius:var(--lg-r);border-color:var(--lg-line)}
html body.lg-platform .firm-bar{background:var(--lg-surface-3)}
html body.lg-platform .firm-bar span{background:linear-gradient(90deg,var(--lg-accent),var(--lg-accent-2))}
html body.lg-platform .support-banner{border-radius:14px;background:var(--lg-hero)}
html body.lg-platform .pos{color:var(--lg-ok)}html body.lg-platform .neg{color:var(--lg-danger)}
/* Vue intégrée : fond identique à l'espace */
html:has(body.lg-platform.pti-embedded),html body.lg-platform.pti-embedded{background:var(--lg-bg)}

/* ----- Connexion ----- */
html body.lg-platform.is-login main{max-width:none;padding:0}
html body.lg-platform .login-wrap.lg-login{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0;align-items:stretch;justify-content:stretch}
.lg-login-art{position:relative;overflow:hidden;isolation:isolate;margin:14px;border-radius:30px;padding:40px;display:flex;flex-direction:column;justify-content:space-between;background:#0F1313;color:#F3F1EC}
.lg-login-art::before{content:"";position:absolute;inset:-45%;z-index:-2;background:radial-gradient(32% 42% at 72% 30%,rgba(19,161,147,.6),transparent 70%),radial-gradient(26% 34% at 88% 78%,rgba(236,132,96,.32),transparent 70%),radial-gradient(38% 46% at 40% 92%,rgba(14,84,118,.55),transparent 72%);animation:lg-drift 28s var(--lg-ease) infinite alternate;will-change:transform}
.lg-login-art::after{content:"";position:absolute;right:-220px;bottom:-240px;width:660px;height:660px;z-index:-1;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 31px,rgba(255,255,255,.07) 31px 32px);-webkit-mask:radial-gradient(circle,#000 25%,transparent 70%);mask:radial-gradient(circle,#000 25%,transparent 70%)}
.lg-login-mark{width:150px;height:auto;display:block}
.lg-login-art h2{font-size:clamp(36px,4.4vw,62px);line-height:1.02;letter-spacing:-.045em;font-weight:600;margin:0 0 16px;max-width:12ch;color:#F3F1EC}
.lg-login-art h2 em{font-family:var(--lg-serif);font-style:italic;font-weight:400;letter-spacing:0;color:#BFF3EA}
.lg-login-art p{margin:0;color:rgba(243,241,236,.66);max-width:40ch;font-size:15px;line-height:1.6}
.lg-login-mods{display:flex;gap:8px;margin-top:24px;flex-wrap:wrap}
.lg-login-mods span{height:30px;padding:0 12px;display:inline-flex;align-items:center;border-radius:99px;font-size:12.5px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:rgba(243,241,236,.82)}
html body.lg-platform .lg-login .login{align-self:center;justify-self:center;width:100%;max-width:400px;margin:32px 24px;padding:0;background:transparent;border:0;box-shadow:none}
html body.lg-platform .lg-login .login-logo{display:none}
html body.lg-platform .lg-login .login h1{font-size:34px;margin-bottom:6px}
html body.lg-platform .lg-login .login .muted{margin-top:0}
html body.lg-platform .lg-login input:not([type="checkbox"]){min-height:46px;border-radius:12px}
html body.lg-platform .lg-login button[type="submit"]{width:100%;min-height:48px;border-radius:13px;font-size:14.5px;position:relative;overflow:hidden}
html body.lg-platform .lg-login button[type="submit"]::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);transform:translateX(-120%);transition:transform .8s var(--lg-ease)}
html body.lg-platform .lg-login button[type="submit"]:hover::after{transform:translateX(120%)}
@media (max-width:820px){
  html body.lg-platform .login-wrap.lg-login{grid-template-columns:1fr;grid-template-rows:auto 1fr;min-height:100dvh}
  .lg-login-art{margin:10px;padding:24px;border-radius:24px;min-height:210px}
  .lg-login-art h2{font-size:32px}
  .lg-login-art p{font-size:14px}
  .lg-login-mods{display:none}
  html body.lg-platform .lg-login .login{margin:8px auto 32px;padding:0 20px}
}

/* ----- Écran d'ouverture de la plateforme ----- */
html body .pti-boot{background:var(--lg-bg)}
html body .pti-boot-bar{background:var(--lg-line)}
html body .pti-boot-bar i{background:linear-gradient(90deg,var(--lg-accent),var(--lg-accent-2))}
html body .pti-boot-text{letter-spacing:.16em;color:var(--lg-muted)}

@media (max-width:640px){html body.lg-platform main{padding-top:24px}html body.lg-platform>header{height:60px}}

/* =========================================================================
   7. CLAIR (module de vérification des factures)
   ========================================================================= */
html body.lg-clair{--bg:var(--lg-bg);--surface:var(--lg-surface);--ink:var(--lg-ink);--muted:var(--lg-muted);--line:var(--lg-line);--green:var(--lg-ink);--sage:var(--lg-surface-3);--amber:var(--lg-warn);--red:var(--lg-danger);--radius:16px;font-family:var(--lg-font);background:var(--lg-bg);color:var(--lg-ink)}
html[data-pti-theme="dark"] body.lg-clair,html[data-pti-theme="dark"] body.lg-clair.pti-embedded{--bg:var(--lg-bg);--surface:var(--lg-surface);--ink:var(--lg-ink);--muted:var(--lg-muted);--line:var(--lg-line);--green:var(--lg-ink);--sage:var(--lg-surface-3);--amber:var(--lg-warn);--red:var(--lg-danger);background:var(--lg-bg);color:var(--lg-ink)}
html:has(body.lg-clair),html.pti-embedded-html:has(body.lg-clair){background:var(--lg-bg)}
html body.lg-clair input,html body.lg-clair select,html body.lg-clair textarea,html body.lg-clair button{font-family:var(--lg-font)}
html body.lg-clair h1{font-size:32px;letter-spacing:-.035em;line-height:1.1}
html body.lg-clair h2{letter-spacing:-.02em}
html body.lg-clair .eyebrow{font-size:10.5px;letter-spacing:.14em;color:var(--lg-muted)}
html body.lg-clair #content>*{animation:lg-rise .6s var(--lg-ease) both}
html body.lg-clair #content>:nth-child(2){animation-delay:.04s}
html body.lg-clair #content>:nth-child(n+3){animation-delay:.08s}
/* Boutons */
html body.lg-clair button,html body.lg-clair .button{border-radius:11px;border-color:var(--lg-line-2);background:var(--lg-surface);color:var(--lg-ink);box-shadow:var(--lg-shadow-1);transition:background-color .2s,border-color .2s,box-shadow .25s,transform .25s var(--lg-ease)}
html body.lg-clair button:hover,html body.lg-clair .button:hover{background:var(--lg-surface);border-color:var(--lg-faint)}
html body.lg-clair button:active,html body.lg-clair .button:active{transform:scale(.97)}
html body.lg-clair .primary,html[data-pti-theme="dark"] body.lg-clair .primary{background:var(--lg-ink)!important;border-color:var(--lg-ink)!important;color:var(--lg-on-ink)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 18px -10px rgba(0,0,0,.5)}
html body.lg-clair .primary:hover{background:var(--lg-ink)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 24px -10px rgba(0,0,0,.55)}
html body.lg-clair .ghost{background:transparent;border-color:transparent;box-shadow:none}
html body.lg-clair .ghost:hover{background:var(--lg-surface-3)}
html body.lg-clair .danger{color:var(--lg-danger)}
html body.lg-clair .link{color:var(--lg-accent)}
/* Champs */
html body.lg-clair input,html body.lg-clair select,html body.lg-clair textarea{border-radius:10px;border-color:var(--lg-line-2);background:var(--lg-surface);color:var(--lg-ink);transition:border-color .2s,box-shadow .25s}
html body.lg-clair input:hover,html body.lg-clair select:hover,html body.lg-clair textarea:hover{border-color:var(--lg-faint)}
html body.lg-clair input:focus,html body.lg-clair select:focus,html body.lg-clair textarea:focus,html[data-pti-theme="dark"] body.lg-clair input:focus,html[data-pti-theme="dark"] body.lg-clair select:focus,html[data-pti-theme="dark"] body.lg-clair textarea:focus{border-color:var(--lg-accent)!important;box-shadow:var(--lg-focus)!important}
html body.lg-clair label{color:var(--lg-ink-2)}
html body.lg-clair input[type=checkbox]{accent-color:var(--lg-accent)}
html body.lg-clair .uncertain-input{border-color:color-mix(in srgb,var(--lg-warn) 55%,var(--lg-line-2))!important;background:color-mix(in srgb,var(--lg-warn-soft) 55%,var(--lg-surface))!important;box-shadow:none}
/* Panneaux et statistiques */
html body.lg-clair .panel,html[data-pti-theme="dark"] body.lg-clair .panel{border-radius:var(--lg-r-lg);border-color:var(--lg-line)!important;background:var(--lg-surface)!important;box-shadow:var(--lg-shadow-1)}
html body.lg-clair .panel-head{border-color:var(--lg-line)}
html body.lg-clair .stat,html[data-pti-theme="dark"] body.lg-clair .stat{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--lg-r-lg);border-color:var(--lg-line)!important;background:var(--lg-surface)!important;box-shadow:var(--lg-shadow-1);transition:transform .35s var(--lg-ease),box-shadow .35s var(--lg-ease)}
html body.lg-clair .stat:hover{transform:translateY(-2px);box-shadow:var(--lg-shadow-2)}
html body.lg-clair .stat-value{font-weight:600;letter-spacing:-.04em}
html body.lg-clair .stat-label{color:var(--lg-muted)}
html body.lg-clair .stat-icon{border-radius:10px;border-color:var(--lg-line);background:var(--lg-surface-3)}
html body.lg-clair .stat.accent,html body.lg-clair .accent,html[data-pti-theme="dark"] body.lg-clair .stat.accent{background:var(--lg-hero)!important;border-color:transparent!important;color:var(--lg-hero-ink)}
html body.lg-clair .stat.accent .stat-value{color:#fff}
html body.lg-clair .stat.accent .stat-label,html body.lg-clair .stat.accent .caption{color:rgba(243,241,236,.66)}
html body.lg-clair .stat.accent .stat-icon{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}
html body.lg-clair .currency-total .currency-code{background:var(--lg-accent-soft);color:var(--lg-accent);border-radius:7px}
html body.lg-clair .mini-doc{border-radius:9px;border-color:var(--lg-line);background:var(--lg-surface-2);color:var(--lg-faint)}
html body.lg-clair .activity-row{transition:background-color .18s}
html body.lg-clair .activity-row:hover{background:var(--lg-surface-2)}
/* Pastilles */
html body.lg-clair .badge,html[data-pti-theme="dark"] body.lg-clair .badge{border-radius:999px;padding:4px 9px;font-size:11px;font-weight:600;background:var(--lg-surface-3)!important;color:var(--lg-muted)!important}
html body.lg-clair .badge.validated,html body.lg-clair .badge.ok,html[data-pti-theme="dark"] body.lg-clair .badge.validated,html[data-pti-theme="dark"] body.lg-clair .badge.ok{background:var(--lg-ok-soft)!important;color:var(--lg-ok)!important}
html body.lg-clair .badge.review,html body.lg-clair .badge.duplicate,html[data-pti-theme="dark"] body.lg-clair .badge.review,html[data-pti-theme="dark"] body.lg-clair .badge.duplicate{background:var(--lg-warn-soft)!important;color:var(--lg-warn)!important}
html body.lg-clair .badge.error,html[data-pti-theme="dark"] body.lg-clair .badge.error{background:var(--lg-danger-soft)!important;color:var(--lg-danger)!important}
html body.lg-clair .badge.analyzing,html[data-pti-theme="dark"] body.lg-clair .badge.analyzing{background:var(--lg-accent-soft)!important;color:var(--lg-accent)!important}
html body.lg-clair .fs-ok{background:var(--lg-ok-soft);color:var(--lg-ok)}
html body.lg-clair .fs-low{background:var(--lg-warn-soft);color:var(--lg-warn);border-color:transparent}
html body.lg-clair .fs-none{background:var(--lg-danger-soft);color:var(--lg-danger)}
html body.lg-clair .fs-fixed{background:var(--lg-accent-soft);color:var(--lg-accent)}
html body.lg-clair .doc-type{border-radius:7px;background:var(--lg-accent-soft);color:var(--lg-accent)}
html body.lg-clair .doc-type-none{background:var(--lg-surface-3);color:var(--lg-muted)}
/* Tableaux */
html body.lg-clair th,html[data-pti-theme="dark"] body.lg-clair th{background:var(--lg-surface-2)!important;color:var(--lg-faint)!important;letter-spacing:.08em;font-size:10.5px;font-weight:600;border-color:var(--lg-line)!important}
html body.lg-clair td{border-color:var(--lg-line);font-size:12.5px}
html body.lg-clair tbody tr{transition:background-color .18s}
html body.lg-clair tbody tr:hover,html[data-pti-theme="dark"] body.lg-clair tbody tr:hover{background:var(--lg-surface-2)!important}
html body.lg-clair th.sortable:hover{background:var(--lg-surface-3)!important;color:var(--lg-ink)!important}
html body.lg-clair th.sortable.sorted{color:var(--lg-accent)!important}
html body.lg-clair .table-footer{border-color:var(--lg-line)}
/* Filtres et onglets */
html body.lg-clair .chip{border-radius:999px;border-color:var(--lg-line);background:var(--lg-surface);color:var(--lg-ink-2);transition:background-color .2s,border-color .2s,color .2s}
html body.lg-clair .chip:hover{border-color:var(--lg-line-2);background:var(--lg-surface)}
html body.lg-clair .chip.active{background:var(--lg-ink);border-color:var(--lg-ink);color:var(--lg-on-ink)}
html body.lg-clair .vc-tabs,html[data-pti-theme="dark"] body.lg-clair .vc-tabs{background:var(--lg-surface-3);border:1px solid var(--lg-line);border-radius:13px}
html body.lg-clair .vc-tab{border:0;box-shadow:none;background:transparent;border-radius:9px;color:var(--lg-muted)}
html body.lg-clair .vc-tab:hover{background:transparent;color:var(--lg-ink)}
html body.lg-clair .vc-tab.active,html[data-pti-theme="dark"] body.lg-clair .vc-tab.active{background:var(--lg-surface)!important;color:var(--lg-ink)!important;box-shadow:var(--lg-shadow-1)}
html body.lg-clair .vc-row[data-open]:hover{background:var(--lg-surface-2)}
html body.lg-clair .filters-more{border-radius:12px;border-color:var(--lg-line);background:var(--lg-surface-2)}
html body.lg-clair .news-pill{background:var(--lg-accent-soft);border-color:var(--lg-accent-line);color:var(--lg-accent)}
html body.lg-clair .vc-subnav a{color:var(--lg-accent)}
/* Bandeaux, dépôt */
html body.lg-clair .banner,html[data-pti-theme="dark"] body.lg-clair .banner{border-radius:14px;background:var(--lg-warn-soft)!important;border-color:color-mix(in srgb,var(--lg-warn) 22%,transparent)!important;color:var(--lg-warn)}
html body.lg-clair .banner.info{background:var(--lg-accent-soft)!important;border-color:var(--lg-accent-line)!important;color:var(--lg-accent-ink)}
html body.lg-clair .banner.error{background:var(--lg-danger-soft)!important;color:var(--lg-danger)}
html body.lg-clair .dropzone,html[data-pti-theme="dark"] body.lg-clair .dropzone{border-radius:20px;border-color:var(--lg-line-2);background:var(--lg-surface-2)!important;transition:border-color .25s,background-color .25s,transform .35s var(--lg-ease)}
html body.lg-clair .dropzone:hover{border-color:var(--lg-accent-line)}
html body.lg-clair .dropzone.over{border-color:var(--lg-accent);background:var(--lg-accent-soft)!important;transform:scale(1.01)}
html body.lg-clair .dropzone .upload-mark{border-radius:16px;border-color:var(--lg-line);background:var(--lg-surface);color:var(--lg-accent);box-shadow:var(--lg-shadow-1)}
html body.lg-clair .step-number{background:var(--lg-accent-soft);color:var(--lg-accent)}
/* Vérification d'une pièce */
html body.lg-clair .document-frame,html body.lg-clair .document-image,html body.lg-clair .pdf-stage,html body.lg-clair .image-stage,html[data-pti-theme="dark"] body.lg-clair .pdf-stage{background:var(--lg-bg-2)!important}
html body.lg-clair .pdf-stage canvas{border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 18px 40px -18px rgba(0,0,0,.35)}
html body.lg-clair .pdf-controls,html[data-pti-theme="dark"] body.lg-clair .pdf-controls{background:var(--lg-surface)!important;border-color:var(--lg-line)!important}
html body.lg-clair .form-section{border-color:var(--lg-line)}
html body.lg-clair .form-section h3{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--lg-faint)}
html body.lg-clair .section-number{border-radius:6px;border-color:var(--lg-line);color:var(--lg-faint)}
html body.lg-clair .review-actions,html[data-pti-theme="dark"] body.lg-clair .review-actions{background:color-mix(in srgb,var(--lg-surface) 90%,transparent)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-color:var(--lg-line)!important}
html body.lg-clair .totals-grid label:last-child input{background:var(--lg-surface-3);border-color:var(--lg-line-2)}
html body.lg-clair .invoice-fieldset:disabled input,html body.lg-clair .invoice-fieldset:disabled select{background:var(--lg-surface-3);color:var(--lg-muted)}
html body.lg-clair .dup-item,html[data-pti-theme="dark"] body.lg-clair .dup-item{border-radius:12px;background:var(--lg-warn-soft);border-color:color-mix(in srgb,var(--lg-warn) 22%,transparent)}
/* Vérification d'une pièce : tout l'écran.
   L'en-tête se fait discret, la pièce originale occupe toute la hauteur visible
   et reste en place pendant qu'on fait défiler le formulaire ; les boutons de
   validation restent toujours accessibles en bas. */
html body.lg-clair #content:has(> .review-grid){max-width:none;padding:14px 18px 18px}
html body.lg-clair #content:has(> .review-grid)>.page-head{margin-bottom:10px;align-items:center;gap:12px}
html body.lg-clair #content:has(> .review-grid)>.page-head h1{font-size:22px;margin:0}
html body.lg-clair #content:has(> .review-grid)>.page-head p{margin:2px 0 0;font-size:12px}
html body.lg-clair #content:has(> .review-grid)>.page-head .eyebrow{margin-bottom:4px}
html body.lg-clair #content:has(> .review-grid)>.page-head>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:baseline}
html body.lg-clair #content:has(> .review-grid)>.page-head>div:first-child .eyebrow{grid-column:1/-1}
html body.lg-clair #content:has(> .review-grid)>.banner{margin-bottom:10px}
html body.lg-clair #content:has(> .review-grid)>.banner-fold>summary{padding:9px 14px}
html body.lg-clair .review-grid{gap:14px}
html body.lg-clair .review-form{overflow:clip}
html body.lg-clair .review-actions{position:sticky;bottom:0;z-index:5;border-radius:0 0 var(--lg-r-lg) var(--lg-r-lg);padding:10px 14px;gap:8px}
@media (min-width:701px){
  html body.lg-clair .review-actions{flex-wrap:nowrap}
  html body.lg-clair .review-actions button{min-width:0;padding:9px 12px;white-space:nowrap}
  html body.lg-clair .review-actions .primary{flex:1 1 auto}
}
@media (min-width:901px){
  /* Les deux volets remplissent ensemble la hauteur visible ; chacun défile de son côté.
     --lg-review-top (posé par pti-lagon.js) = hauteur de l'en-tête au-dessus des volets. */
  html body.lg-clair .review-grid{grid-template-columns:minmax(0,1.15fr) minmax(380px,1fr);align-items:stretch;height:calc(100vh - var(--lg-review-top,120px) - 14px);height:calc(100dvh - var(--lg-review-top,120px) - 14px);min-height:520px}
  html body.lg-clair .review-form{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
  html body.lg-clair .document-viewer{position:relative;top:auto;display:flex;flex-direction:column;height:100%;min-height:0}
  html body.lg-clair .document-viewer>.panel-head{padding:10px 14px;flex:0 0 auto}
  html body.lg-clair .document-viewer>.panel-head h3{font-size:13px}
  html body.lg-clair .document-viewer>.panel-head .caption{margin:2px 0 0}
  html body.lg-clair .document-viewer>.panel-pad{padding:8px 14px;flex:0 0 auto;font-size:11.5px}
  html body.lg-clair .document-viewer .pdf-host{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
  html body.lg-clair .document-viewer .pdf-controls{flex:0 0 auto;padding:7px 12px}
  html body.lg-clair .document-viewer .pdf-stage{flex:1 1 auto;height:auto!important;min-height:0!important;padding:14px}
  html body.lg-clair .document-viewer .image-stage{flex:1 1 auto;max-height:none!important;min-height:0}
  html body.lg-clair .document-viewer .document-image{max-height:none}
  html body.lg-clair .document-viewer .document-frame{flex:1 1 auto;height:auto;min-height:0}
}
@media (min-width:1500px){html body.lg-clair .review-grid{grid-template-columns:minmax(0,1.3fr) minmax(440px,1fr)}}

/* Fenêtres et notifications */
html body.lg-clair dialog,html[data-pti-theme="dark"] body.lg-clair dialog{border-radius:22px;border-color:var(--lg-line)!important;background:var(--lg-surface)!important;box-shadow:var(--lg-shadow-3)}
html body.lg-clair dialog::backdrop{background:rgba(10,10,10,.35);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
html body.lg-clair .toast,html[data-pti-theme="dark"] body.lg-clair .toast{border-radius:14px;border:0!important;background:var(--lg-ink)!important;color:var(--lg-on-ink)!important;box-shadow:var(--lg-shadow-3);animation:lg-toast .45s var(--lg-spring) both}
html body.lg-clair .toast.error{background:var(--lg-danger)!important;color:#fff!important}
@keyframes lg-toast{from{opacity:0;transform:translate3d(0,14px,0) scale(.96)}}
html body.lg-clair .empty .empty-mark{border-radius:14px;background:var(--lg-surface-2);border-color:var(--lg-line)}
html body.lg-clair .audit-json{border-radius:12px;background:var(--lg-surface-2)}
/* Clair en pleine page (sans l'espace) */
html body.lg-clair .pti-shell .sidebar{background:var(--lg-side)}
html body.lg-clair .pti-shell .nav-item{border-radius:10px;color:var(--lg-ink-2)}
html body.lg-clair .pti-shell .nav-item:hover{background:var(--lg-surface-3)}
html body.lg-clair .pti-shell .nav-item.active{background:var(--lg-surface);color:var(--lg-ink);box-shadow:var(--lg-shadow-1)}
html body.lg-clair .pti-shell .topbar{background:var(--lg-glass);-webkit-backdrop-filter:saturate(1.5) blur(14px);backdrop-filter:saturate(1.5) blur(14px)}
html[data-pti-theme="dark"] body.lg-clair .pti-shell .pti-brand img{filter:invert(1)}
html body.lg-clair .auth-layout{background:var(--lg-bg)}
html body.lg-clair .auth-aside{background:var(--lg-hero);color:var(--lg-hero-ink);border:0}
html body.lg-clair .auth-aside .eyebrow,html body.lg-clair .aside-footer{color:rgba(243,241,236,.55)}
@media (max-width:800px){
  html body.lg-clair .pti-shell .mobile-bottom{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));padding:6px;border-radius:22px;background:var(--lg-glass)!important;border:1px solid var(--lg-line)!important;box-shadow:var(--lg-shadow-2)}
  html body.lg-clair .pti-shell .mobile-bottom>.active{background:var(--lg-surface)!important;color:var(--lg-ink)!important;box-shadow:var(--lg-shadow-1);border-radius:16px}
  html body.lg-clair .pti-shell .mobile-bottom .scan-link .mb-icon{background:var(--lg-ink);color:var(--lg-on-ink)}
}

/* =========================================================================
   8. Lumière au survol (souris uniquement)
   ========================================================================= */
@media (hover:hover) and (pointer:fine){
  html body.pti-unified .pilotage-rows .pilotage-tile:hover,html body.pti-unified .lg-kpi:hover,html body.pti-unified .lg-goal:hover,
  html body.lg-platform .card:hover,html body.lg-platform .biz-card:hover,
  html body.lg-clair .stat:not(.accent):hover,html body.lg-clair .vc-row[data-open]:hover{background-image:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),var(--lg-accent-soft),transparent 62%)!important}
}

/* =========================================================================
   9. Mouvement réduit et impression
   ========================================================================= */
@media (prefers-reduced-motion:reduce){
  html body *,html body *::before,html body *::after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
}
@media print{
  html body *,html body *::before,html body *::after{animation:none!important;transition:none!important}
}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}

/* =========================================================================
   8. CLAIR — écrans ajoutés en 0.14 / 0.15 (recherche de compte, champs
      obligatoires, totaux, factures clients, ventilation de la TVA)
   ========================================================================= */
html body.lg-clair .req{color:var(--lg-danger)}
html body.lg-clair .field-state.missing.required{color:var(--lg-danger);font-weight:600}
html body.lg-clair .field-head .field-state.missing:not(.required){color:var(--lg-faint);font-weight:500}
html body.lg-clair [data-field].is-invalid input,html body.lg-clair [data-field].is-invalid .acct-input{border-color:var(--lg-danger)!important;box-shadow:0 0 0 4px var(--lg-danger-soft)!important}
/* Liste de comptes avec recherche */
html body.lg-clair .acct-list,html[data-pti-theme="dark"] body.lg-clair .acct-list{background:var(--lg-surface);border:1px solid var(--lg-line-2);border-radius:var(--lg-r);box-shadow:var(--lg-shadow-2);padding:6px}
html body.lg-clair .acct-list li{border-radius:var(--lg-r-xs);color:var(--lg-ink-2);transition:background-color .15s}
html body.lg-clair .acct-list li.active,html body.lg-clair .acct-list li[data-value]:hover{background:var(--lg-accent-soft);color:var(--lg-accent-ink)}
html[data-pti-theme="dark"] body.lg-clair .acct-list li.active,html[data-pti-theme="dark"] body.lg-clair .acct-list li[data-value]:hover{color:var(--lg-accent-2)}
html body.lg-clair .acct-list li.current{font-weight:600;color:var(--lg-ink)}
html body.lg-clair .acct-list li.acct-empty{color:var(--lg-muted)}
/* Raccourcis clavier */
html body.lg-clair .shortcut-hint{background:transparent;color:var(--lg-muted);padding:8px 14px 12px}
html body.lg-clair .shortcut-hint kbd{border:1px solid var(--lg-line-2);border-bottom-width:2px;border-radius:6px;background:var(--lg-surface-2);color:var(--lg-ink-2);font:500 11px/1.6 var(--lg-font);padding:0 6px}
/* Totaux de la liste détaillée */
html body.lg-clair #invoice-totals .totals-row td,html[data-pti-theme="dark"] body.lg-clair #invoice-totals .totals-row td{background:var(--lg-surface-2)!important;border-top:1px solid var(--lg-line-2);color:var(--lg-ink)}
html body.lg-clair #invoice-totals .totals-row td small{color:var(--lg-muted)}
html body.lg-clair #invoice-totals .totals-row .amount strong{letter-spacing:-.02em}
/* Factures clients / fournisseurs */
html body.lg-clair .import-sens,html[data-pti-theme="dark"] body.lg-clair .import-sens{background:var(--lg-surface-2);border:1px solid var(--lg-line);border-radius:var(--lg-r)}
html body.lg-clair .import-sens .chip.active,html[data-pti-theme="dark"] body.lg-clair .import-sens .chip.active{background:var(--lg-ink);border-color:var(--lg-ink);color:var(--lg-on-ink)}
html body.lg-clair .badge.sens-sale,html[data-pti-theme="dark"] body.lg-clair .badge.sens-sale{background:var(--lg-accent-soft)!important;color:var(--lg-accent)!important}
html body.lg-clair .badge.sens-purchase,html[data-pti-theme="dark"] body.lg-clair .badge.sens-purchase{background:var(--lg-surface-3)!important;color:var(--lg-muted)!important}
html body.lg-clair .sales-totals{border-top:1px solid var(--lg-line)}
html body.lg-clair .tax-breakdown .caption{color:var(--lg-muted)}/* Boutons du bas : une seule ligne quand la place le permet, sinon « Valider » occupe sa
   propre ligne au-dessus de « Brouillon » et « Facture suivante » (formulaire étroit). */
html body.lg-clair .review-actions{flex-wrap:wrap}
html body.lg-clair .review-actions button{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}
html body.lg-clair .review-actions .primary{flex:1 1 auto}
@media (max-width:1366px){html body.lg-clair .review-actions .primary{order:-1;flex:1 1 100%}}/* Vérification d'une pièce — défilement comme en 0.14 : la page défile d'un seul bloc, la pièce
   originale reste fixée à gauche (toute la hauteur visible), le formulaire avance à droite, la
   molette agit où que soit la souris. Sur un PDF plus haut que l'écran, la molette fait d'abord
   défiler la page du PDF, puis le formulaire. Les boutons de validation restent en bas de l'écran. */
@media (min-width:901px){
  html body.lg-clair .review-grid{height:auto!important;min-height:0!important;align-items:start}
  html body.lg-clair .review-form{height:auto;overflow:visible;overscroll-behavior:auto;scrollbar-gutter:auto}
  html body.lg-clair .document-viewer{position:sticky;top:14px;height:calc(100vh - 28px);height:calc(100dvh - 28px);min-height:420px}
}