/* V2.10.8 : la Trésorerie en carte bancaire (puce, sans contact, IBAN masqué), même rendu en clair et en sombre.
   V2.10.9 : bleu nuit à reflet indigo à la place du vert (« trouve une autre couleur »). Traits de couleur des cases retirés. */
.v2-bank-nfc{width:20px;height:20px;flex:0 0 auto;color:#ffffffb3;transform:rotate(0deg)}
.v2-bankcard .v2-skel{background:#ffffff38}
/* Animations : entrée en cascade à l'ouverture du Dashboard, léger soulèvement au survol, reflet qui traverse la carte bancaire. */
@keyframes v2KpiIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes v2BankShine{0%{opacity:0;transform:translateX(0) rotate(18deg)}20%{opacity:1}100%{opacity:0;transform:translateX(420%) rotate(18deg)}}
/* V2.10.8 : Cockpit (mensualités clients et coûts fixes), catégories en pastilles modifiables. */
.i-xs{width:12px;height:12px}
.v2-ck-tile{position:relative;display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:linear-gradient(165deg,color-mix(in srgb,var(--k) 9%,var(--surface)),var(--surface) 62%)}
.v2-ck-ico{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--k) 15%,transparent);color:var(--k)}
.v2-ck-tile small{font-size:12px;font-weight:700;color:var(--text)}
.v2-ck-tile strong{font:800 clamp(20px,2.2vw,26px)/1.15 'Space Grotesk',system-ui,sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-ck-tile strong small{margin-left:2px;font-size:.5em;letter-spacing:0;color:var(--muted);font-weight:700}
.v2-ck-tile em{font-style:normal;font-size:11px;color:var(--muted)}
.v2-ck-tile.is-neg strong{color:var(--red)}
/* Sélecteur Mensualités clients / Coûts fixes (2.12) : affiché tant que les deux cartes ne tiennent pas côte à côte. */
.v2-ck{min-width:0}
.v2-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}
.v2-chip{display:inline-flex;align-items:center;min-height:30px;border:1px solid var(--line2);border-radius:999px;background:var(--surface2);color:var(--muted);font-size:12px;font-weight:700;overflow:hidden}
.v2-chip>button{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border:0;background:none;color:inherit;font:inherit;cursor:pointer}
.v2-chip>button b{font-weight:800;color:var(--subtle)}
.v2-chip>.v2-chip-act{padding:0 7px;color:var(--subtle)}
.v2-chip>.v2-chip-act:hover{color:var(--text)}
.v2-chip>[data-cat-filter]+.v2-chip-act{padding-left:2px}
.v2-chip.is-on{border-color:color-mix(in srgb,var(--accent) 45%,var(--line2));background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--text)}
.v2-chip.is-on>button b{color:var(--accent)}
.v2-chip-add{gap:5px;padding:0 11px;border-style:dashed;background:none;color:var(--accent);font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.v2-ck-sum{display:flex;flex-wrap:wrap;gap:6px 16px;padding:9px 12px;margin-bottom:6px;border-radius:12px;background:var(--surface2);font-size:12px;color:var(--muted)}
.v2-ck-sum b{color:var(--text);font-family:'Space Grotesk',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.v2-ck-sum>span:first-child{margin-right:auto;font-weight:700;color:var(--text)}
.v2-ck-list{list-style:none;margin:0;padding:0}
.v2-ck-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:6px 14px;padding:12px 2px;border-bottom:1px solid var(--line)}
.v2-ck-row:last-child{border-bottom:0}
.v2-ck-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.v2-ck-main>strong{font-size:14px;overflow-wrap:anywhere}
.v2-ck-note,.v2-ck-meta{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.v2-ck-meta a{color:var(--accent);font-weight:700}
.v2-ck-lines li{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--text)}
.v2-ck-lines li b{flex:0 0 auto;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.v2-ck-amt{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:11px;color:var(--muted);white-space:nowrap}
.v2-ck-amt b{color:var(--text);font:700 13px 'Space Grotesk',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.v2-ck-amt span+span b{font-size:12px;color:var(--muted)}
.v2-ck-cat .form-select{min-height:32px;padding:4px 28px 4px 10px;font-size:12px;max-width:170px}
.v2-ck-acts{display:flex;gap:4px}
@media (hover:hover) and (pointer:fine){.v2-ck-acts{opacity:.35;transition:opacity .15s}.v2-ck-row:hover .v2-ck-acts,.v2-ck-acts:focus-within{opacity:1}}
@media (max-width:760px){
 .v2-ck-tile{padding:12px 12px 11px;gap:3px}.v2-ck-tile small{font-size:11.5px;padding-right:30px}.v2-ck-ico{top:10px;right:10px;width:26px;height:26px;border-radius:8px}.v2-ck-ico .i{width:14px;height:14px}
 .v2-ck-tile strong{font-size:17px;white-space:normal;overflow:visible}.v2-ck-tile em{font-size:10.5px;line-height:1.35}
.v2-ck-row{grid-template-columns:minmax(0,1fr) auto}.v2-ck-cat .form-select{max-width:none;width:100%}.v2-ck-acts{grid-column:2;grid-row:2;justify-content:flex-end}}
/* V2.10.8 : sorties du compte bancaire (fenêtre ouverte depuis la carte Trésorerie) */
.v2-out-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.v2-out-tabs button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:11px 13px;border:1px solid var(--line2);border-radius:14px;background:var(--surface2);color:var(--muted);font:inherit;text-align:left;cursor:pointer;min-width:0}
.v2-out-tabs button small{font-size:11px;font-weight:700}
.v2-out-tabs button strong{font:800 18px 'Space Grotesk',system-ui,sans-serif;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.v2-out-tabs button em{font-style:normal;font-size:11px}
.v2-out-tabs button.is-on{border-color:color-mix(in srgb,var(--orange) 55%,var(--line2));background:color-mix(in srgb,var(--orange) 10%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--orange) 35%,transparent)}
.v2-out-search{width:100%;margin-bottom:10px}
.v2-out-body{max-height:min(52vh,520px);overflow:auto;padding-right:4px}
.v2-out-month{position:sticky;top:0;display:flex;justify-content:space-between;padding:8px 2px;background:var(--surface);font-size:12px;font-weight:800;text-transform:capitalize;color:var(--text);border-bottom:1px solid var(--line2)}
.v2-out-month b{font-family:'Space Grotesk',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.v2-out-list{list-style:none;margin:0 0 8px;padding:0}
.v2-out-list li{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:start;padding:8px 2px;border-bottom:1px solid var(--line);font-size:13px}
.v2-out-list time{font-size:11px;color:var(--muted);padding-top:2px;white-space:nowrap}
.v2-out-txt{display:flex;flex-direction:column;min-width:0}
.v2-out-txt strong{overflow-wrap:anywhere}
.v2-out-txt small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.v2-out-list b{font-family:'Space Grotesk',system-ui,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text)}
@media (max-width:600px){.v2-out-tabs{gap:6px}.v2-out-tabs button{padding:9px 10px}.v2-out-tabs button strong{font-size:15px}.v2-out-list li{grid-template-columns:44px minmax(0,1fr) auto}}
.v2-unpaid-days small{display:block;font-size:10px;font-weight:700;color:var(--muted)}
.v2-remind .i-xs{opacity:.6}
/* V2.10.8 : menu mobile rangé comme la barre latérale */
.m-more-label{grid-column:1/-1;margin:8px 2px 0;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--subtle)}
.m-more-item.is-current{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--surface2))}
.v2-out-list li[hidden],.v2-out-group[hidden],.v2-out-none[hidden]{display:none}
/* V2.10.9 : Cockpit complet. Onglets Finances / Ressources / Process / Prompts / Marketing, listes avec recherche et copie,
   marketing croisé avec l'origine des prospects, coûts fixes collés en une fois. Jetons du thème seulement. */
.v2-ck-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:-4px 0 0;padding:2px}
.v2-ck-tabs::-webkit-scrollbar{display:none}
.v2-ck-tabs button{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;height:38px;padding:0 14px;border:1px solid var(--line2);border-radius:12px;background:var(--surface);color:var(--muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.v2-ck-tabs button:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--line2))}
.v2-ck-tabs button b{min-width:20px;height:20px;padding:0 6px;display:inline-grid;place-items:center;border-radius:999px;background:var(--surface2);color:var(--subtle);font-size:11px;font-weight:800}
.v2-ck-tabs button.is-on{border-color:color-mix(in srgb,var(--accent) 50%,var(--line2));background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--text)}
.v2-ck-tabs button.is-on b{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}
.v2-ck-tabs button:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}
.v2-ck-head-acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.v2-ck-row.is-2{grid-template-columns:minmax(0,1fr) auto}
.v2-ck-row[hidden]{display:none}
.v2-ck-search{width:100%;margin:0 0 6px}
.v2-ck-link{display:inline-flex;align-items:center;gap:6px;max-width:100%;color:var(--text);text-decoration:none}
.v2-ck-link strong{font-size:14px;overflow-wrap:anywhere}
.v2-ck-link .i-xs{flex:0 0 auto;color:var(--subtle)}
.v2-ck-link:hover strong{text-decoration:underline;text-underline-offset:3px}
/* 2.30.7 · Lien ou fichier d'un élément du Cockpit : ligne du process, choix en trois boutons, fichiers lâchés sur les Ressources. */
.v2-ck-att{display:inline-flex;align-items:center;gap:5px;max-width:100%;text-decoration:none}
.v2-ck-att span{overflow-wrap:anywhere}
.v2-ck-att:hover span{text-decoration:underline;text-underline-offset:2px}
@media (pointer:coarse){.v2-ck-att{padding:7px 0}} /* relecture 2.30.7 : cible plus haute au doigt */
.v2-seg.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.v2-ck-cur{display:flex;align-items:center;gap:6px;margin:0 0 6px;overflow-wrap:anywhere}
.v2-ck[data-ck-drop]{position:relative}
.v2-ck[data-ck-drop].is-drag .v2-drop-hint{display:grid}
.v2-ck-pre{white-space:pre-line}
.v2-ck-more{margin-top:4px}
.v2-ck-more>summary{display:flex;flex-direction:column;gap:4px;cursor:pointer;list-style:none;font-size:12px;font-weight:700;color:var(--accent)}
.v2-ck-more>summary::-webkit-details-marker{display:none}
.v2-ck-more[open]>summary .v2-ck-prompt,.v2-ck-more[open]>summary .v2-ck-open{display:none}
.v2-ck-steps{margin:6px 0 2px;padding-left:22px;display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--text)}
.v2-ck-steps li{padding-left:2px;overflow-wrap:anywhere}
.v2-ck-steps li::marker{font-weight:800;color:var(--accent)}
.v2-ck-prompt{margin:4px 0 0;padding:10px 12px;border-radius:12px;background:var(--surface2);border:1px solid var(--line);color:var(--text);font:500 12.5px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto}
.v2-ck-prompt.is-clip{display:block;max-height:none;overflow:hidden;color:var(--muted);font-weight:500}
.v2-ck-mono{font:500 13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}
.v2-ck-copy{white-space:nowrap}
.v2-mkt-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:2px 0 10px}
.v2-mkt-kpi{display:flex;flex-direction:column;gap:2px;padding:11px 13px;border-radius:14px;background:var(--surface2);border:1px solid var(--line);min-width:0}
.v2-mkt-kpi small{font-size:11px;font-weight:700;color:var(--muted)}
.v2-mkt-kpi strong{font:800 18px/1.2 'Space Grotesk',system-ui,sans-serif;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-mkt-kpi em{font-style:normal;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-mkt-stats{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:5px;font-size:12px;color:var(--muted)}
.v2-mkt-stats b{color:var(--text);font-family:'Space Grotesk',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.v2-import-list{max-height:min(40vh,380px);overflow:auto;padding-right:4px}
.v2-import-list .v2-ck-row{grid-template-columns:minmax(0,1fr) auto;padding:8px 2px}
.v2-import-list .v2-ck-row.is-off{opacity:.45}
@media (max-width:760px){.v2-ck-row.is-2{grid-template-columns:minmax(0,1fr)}.v2-ck-row.is-2 .v2-ck-acts{grid-column:1;grid-row:auto;justify-content:flex-start}
 .v2-mkt-row{grid-template-columns:minmax(0,1fr) auto}.v2-mkt-row .v2-ck-acts{grid-column:1/-1;grid-row:auto;justify-content:flex-end}
 .v2-mkt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-ck-head-acts{justify-content:flex-start}}
.v2-ck [data-ck-none][hidden]{display:none}
@media (hover:hover) and (pointer:fine){.v2-ck-acts.is-keep{opacity:1}.v2-ck-acts.is-keep .icon-btn{opacity:.35;transition:opacity .15s}.v2-ck-row:hover .v2-ck-acts.is-keep .icon-btn,.v2-ck-acts.is-keep:focus-within .icon-btn{opacity:1}}
/* Verre dépoli (2.10.9) : halos de couleur fixes derrière l'app, surfaces translucides, bord clair et flou d'arrière-plan.
   Les jetons --surface*, --line* et --nav deviennent translucides ; fenêtres, menus, calendrier et bulles gardent un verre dense (--glass-solid) pour rester lisibles. */
:root,[data-theme="dark"]{
 --surface:#151d3585;--surface2:#ffffff0d;--surface3:#ffffff17;--line:#ffffff17;--line2:#ffffff24;--nav:#0c13268c;
 --panel-bg:linear-gradient(140deg,#1a2442a6,#121a3099);--glass-solid:#111930e6;--glass-edge:#ffffff26;--glass-hi:inset 0 1px 0 #ffffff1c;
 --glass-shadow:0 12px 40px #02061a59;--glass-blur:blur(20px) saturate(160%);--opt-bg:#151d32;--veil:#02061a80;
 --halo1:#7a5cff66;--halo2:#3f7dff52;--halo3:#c05cf545;--halo4:#20c4e82e;
}
[data-theme="light"]{
 --bg:#f2f4fb;--surface:#ffffff94;--surface2:#f3f6fdb8;--surface3:#e7ebf8cc;--line:#1d2b5c14;--line2:#1d2b5c21;--nav:#ffffff8c;
 --panel-bg:linear-gradient(145deg,#ffffffb8,#f8faff94);--glass-solid:#fdfdffeb;--glass-edge:#ffffffd9;--glass-hi:inset 0 1px 0 #ffffffe6;
 --glass-shadow:0 12px 36px #34489022;--opt-bg:#fff;--veil:#1b244a38;
 --halo1:#9b7bff59;--halo2:#6fa3ff4d;--halo3:#f39ad440;--halo4:#5fd6f038;
}
html{background:var(--bg)}body,.layout{background:transparent}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(38rem 30rem at 6% -4%,var(--halo1),transparent 62%),radial-gradient(34rem 30rem at 98% 12%,var(--halo2),transparent 64%),radial-gradient(40rem 32rem at 72% 108%,var(--halo3),transparent 62%),radial-gradient(26rem 22rem at 28% 78%,var(--halo4),transparent 66%)}
.card,.metric,.settings-block{border-color:var(--glass-edge);box-shadow:var(--glass-hi),var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.sidebar{border-right-color:var(--glass-edge);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.topbar{background:transparent}
.overlay{background:var(--veil);-webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%)}
.modal,.drawer{background:var(--glass-solid)!important;border-color:var(--glass-edge)!important;box-shadow:var(--glass-hi),var(--shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.drawer-top,.modal-footer{background:transparent!important}
.toast,.v2-dtp-panel,.v2-out-month{background:var(--glass-solid);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.toast,.v2-dtp-panel{border-color:var(--glass-edge)}
select option,select optgroup{background:var(--opt-bg);color:var(--text)}
@media(max-width:860px){
 .topbar{background:color-mix(in srgb,var(--bg) 62%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
 .bottom-nav{background:color-mix(in srgb,var(--bg) 66%,transparent)!important;border-top-color:var(--glass-edge);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
}
/* Transparence réduite demandée par le système : surfaces pleines, sans halos ni flou. */
@media(prefers-reduced-transparency:reduce){
 :root,[data-theme="dark"]{--surface:#151d32;--surface2:#1e2941;--surface3:#263450;--line:#2c3854;--line2:#384967;--nav:#0c1324;--glass-solid:#151d32;--veil:#020618b8}
 [data-theme="light"]{--surface:#fff;--surface2:#f1f4fc;--surface3:#e9edf9;--line:#e4e9f4;--line2:#d8dfee;--nav:#fff;--glass-solid:#fff;--veil:#020618b8}
 body:before{display:none}
 .card,.metric,.settings-block,.sidebar,.modal,.drawer,.toast,.v2-dtp-panel,.v2-out-month,.topbar,.bottom-nav{-webkit-backdrop-filter:none;backdrop-filter:none}
}
/* Prompts en post-it (2.10.10) : une couleur par catégorie (is-c0…c5), papier pastel en clair, verre teinté en sombre,
   ruban adhésif, légère inclinaison qui se redresse au survol. Copier en bas de chaque carte. */
.v2-ck-list>li[hidden]{display:none!important}
:root,[data-theme="dark"]{--memo-0:#ffd54a;--memo-1:#ff7eb0;--memo-2:#5fb0ff;--memo-3:#4fd69a;--memo-4:#b49bff;--memo-5:#ffa264}
[data-theme="light"]{--memo-0:#fff0a3;--memo-1:#ffd6e5;--memo-2:#d3e7ff;--memo-3:#d4f3d1;--memo-4:#e6dcff;--memo-5:#ffdfc2}
.v2-memo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:26px 20px;margin-top:22px;padding:4px 2px 6px}
.v2-memo{--m:var(--memo-0);--tilt:0deg;position:relative;display:flex;flex-direction:column;gap:5px;min-width:0;min-height:220px;padding:20px 16px 14px;border-radius:3px 3px 16px 3px;
 background:linear-gradient(172deg,color-mix(in srgb,var(--m) 20%,#18203c),color-mix(in srgb,var(--m) 9%,#121a31));border:1px solid color-mix(in srgb,var(--m) 34%,transparent);color:var(--text);
 box-shadow:inset 0 1px 0 #ffffff14,0 14px 26px -12px #000000a6;transform:rotate(var(--tilt));transition:transform .2s ease,box-shadow .2s ease}
.v2-memo.is-c1{--m:var(--memo-1)}.v2-memo.is-c2{--m:var(--memo-2)}.v2-memo.is-c3{--m:var(--memo-3)}.v2-memo.is-c4{--m:var(--memo-4)}.v2-memo.is-c5{--m:var(--memo-5)}
.v2-memo-grid>.v2-memo:nth-child(4n+1){--tilt:-1deg}.v2-memo-grid>.v2-memo:nth-child(4n+2){--tilt:.8deg}.v2-memo-grid>.v2-memo:nth-child(4n+3){--tilt:-.4deg}.v2-memo-grid>.v2-memo:nth-child(4n){--tilt:1.1deg}
.v2-memo:before{content:"";position:absolute;top:-10px;left:50%;width:78px;height:20px;border-radius:2px;background:#ffffff2e;border:1px solid #ffffff24;box-shadow:0 1px 2px #0000002e;transform:translateX(-50%) rotate(-2deg);pointer-events:none}
.v2-memo:hover,.v2-memo:focus-within{transform:rotate(0) translateY(-3px);box-shadow:inset 0 1px 0 #ffffff1a,0 22px 34px -14px #000000c0}
.v2-memo-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px}
.v2-memo-tag{display:inline-flex;align-items:center;max-width:100%;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:800;letter-spacing:.01em;color:var(--m);background:color-mix(in srgb,var(--m) 15%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-memo-acts{display:flex;gap:2px;margin-right:-6px}.v2-memo-acts .icon-btn{width:30px;height:30px;background:transparent;border-color:transparent;color:inherit;opacity:.7}.v2-memo-acts .icon-btn:hover{opacity:1;background:#ffffff14}
.v2-memo-title{font-size:15px;line-height:1.3;letter-spacing:-.02em;overflow-wrap:anywhere}
.v2-memo-note{font-size:11.5px;color:var(--muted);overflow-wrap:anywhere}
.v2-memo-text{margin:4px 0 0;font-size:13px;line-height:1.55;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.v2-memo-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px}
.v2-memo-more{padding:6px 2px;border:0;background:none;color:var(--m);font:inherit;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.v2-memo-copy{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 15px;border-radius:99px;border:1px solid color-mix(in srgb,var(--m) 45%,transparent);background:color-mix(in srgb,var(--m) 22%,transparent);color:var(--text);font:inherit;font-size:12.5px;font-weight:800;cursor:pointer;transition:background .15s,transform .15s}
.v2-memo-copy:hover{background:color-mix(in srgb,var(--m) 34%,transparent)}.v2-memo-copy:active{transform:scale(.97)}
.v2-memo-copy.is-done,.v2-memo-copy-main.is-done{background:color-mix(in srgb,var(--green) 26%,transparent)!important;border-color:color-mix(in srgb,var(--green) 55%,transparent)!important;color:var(--text)!important}
[data-theme="light"] .v2-memo{background:linear-gradient(172deg,color-mix(in srgb,var(--m) 50%,#fff),var(--m) 62%);border-color:color-mix(in srgb,var(--m) 78%,#4a4a6a);color:#23263a;box-shadow:0 1px 1px #0000000d,0 14px 24px -12px #2c335a4d}
[data-theme="light"] .v2-memo:hover,[data-theme="light"] .v2-memo:focus-within{box-shadow:0 1px 1px #0000000d,0 22px 32px -14px #2c335a66}
[data-theme="light"] .v2-memo:before{background:#ffffffa6;border-color:#ffffffcc;box-shadow:0 1px 2px #2c335a26}
[data-theme="light"] .v2-memo-tag{color:#3d3a55;background:#ffffff99}
[data-theme="light"] .v2-memo-note,[data-theme="light"] .v2-memo-text{color:#40445c}
[data-theme="light"] .v2-memo-more{color:#3d3a55}
[data-theme="light"] .v2-memo-acts .icon-btn:hover{background:#ffffff8c}
[data-theme="light"] .v2-memo-copy{background:#ffffffb8;border-color:#23263a1f;color:#23263a}[data-theme="light"] .v2-memo-copy:hover{background:#fff}
.v2-memo-full-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;color:var(--muted);font-size:12px}.v2-memo-full .v2-memo-tag{--m:var(--accent)}
.v2-memo-full .v2-ck-prompt{max-height:min(60vh,560px)}
@media (hover:hover) and (pointer:fine){.v2-memo-acts .icon-btn{opacity:.3}.v2-memo:hover .v2-memo-acts .icon-btn,.v2-memo:focus-within .v2-memo-acts .icon-btn{opacity:.75}.v2-memo .v2-memo-acts .icon-btn:hover{opacity:1}}
@media (max-width:560px){.v2-memo-grid{grid-template-columns:minmax(0,1fr);gap:24px}.v2-memo-grid>.v2-memo:nth-child(odd){--tilt:-.5deg}.v2-memo-grid>.v2-memo:nth-child(even){--tilt:.5deg}.v2-memo{min-height:0}}
@media (prefers-reduced-motion:reduce){.v2-memo{transition:none}.v2-memo:hover,.v2-memo:focus-within{transform:rotate(var(--tilt))}}
/* Mensualités possibles à vérifier (2.10.10) : bloc sous les mensualités clients, mois facturés en pastilles. */
.v2-rec-maybe-title .i{color:var(--orange)}
.v2-rec-months span{padding:3px 9px;border-radius:99px;background:var(--surface2);border:1px solid var(--line);font-size:11.5px;color:var(--muted)}.v2-rec-months b{color:var(--text)}
/* Sorties du compte (2.10.10) : total par compte sur la période, mouvements non comptés. */
.v2-out-accs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}.v2-out-accs span{padding:5px 11px;border-radius:99px;background:var(--surface2);border:1px solid var(--line);font-size:12px;color:var(--muted)}.v2-out-accs b{color:var(--text)}
.v2-out-skip{display:flex;align-items:flex-start;gap:7px;margin:10px 0 0}.v2-out-skip .i{flex-shrink:0;margin-top:1px;color:var(--blue)}
/* Devis à faire (2.10.11) : bouton « Devis envoyé » au bout de chaque ligne du Dashboard. */
.v2-todo-list .v2-quote-sent{flex-shrink:0;gap:6px;min-height:32px;padding:6px 11px;border-radius:99px;font-size:12px}
.v2-todo-list .v2-quote-sent .i{color:var(--accent)}
.v2-todo-list .v2-quote-sent:disabled{opacity:.55;cursor:progress}
@media (max-width:420px){.v2-todo-list .v2-quote-sent{padding:6px 9px}.v2-todo-list .v2-quote-sent span{font-size:11px}}
/* Factures échues (2.10.11) : nom et retard, montant, puis « Rappel » et « Payée » en vrais boutons (pleine largeur en mobile). */
.v2-od{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px 18px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}
.v2-od:last-child{border-bottom:0}
.v2-od-main{display:grid;gap:4px;min-width:0}
.v2-od small{color:var(--muted)}
.v2-od .v2-unpaid-days{white-space:normal}
.v2-od-amt{font:700 15px 'Space Grotesk',system-ui,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
.v2-od-amt small{font-size:10px;font-weight:700}
.v2-od-acts{display:flex;gap:8px}
.v2-od-acts .btn{min-height:38px;padding:8px 14px;border-radius:12px;gap:7px;font-size:12.5px;font-weight:700}
.v2-od-acts .v2-remind span{display:inline}
.v2-od-paid{color:var(--green);background:color-mix(in srgb,var(--green) 11%,var(--surface));border:1px solid color-mix(in srgb,var(--green) 34%,transparent)}
.v2-od-paid:hover{background:color-mix(in srgb,var(--green) 19%,var(--surface))}
.v2-od-paid.is-busy{opacity:.6;cursor:progress}
/* 2.14 (« trop gros, revois les tailles ») : sur téléphone, le montant et deux boutons à droite (Rappel en icône), plus de boutons pleine largeur ;
   2.14.1 (« c'est fort petit ») : boutons de 38 px, entre les 44 px d'avant et les 32 px de la 2.14 ;
   2.14.2 (« le truc mail, c'est un peu petit ») : « Rappel » en toutes lettres à côté de « Payée ». Pour garder la place, le nom et le
   montant sur la 1re ligne, le retard et les rappels envoyés à gauche des deux boutons sur la 2e (.v2-od-main s'efface). */
@media (max-width:760px){.v2-od{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"name name amt" "info acts acts";align-items:center;gap:6px 12px;padding:11px 0}
 .v2-od-main{display:contents}.v2-od-main>.v2-ellipsis{grid-area:name;min-width:0}.v2-od-main strong{font-size:13.5px}
 .v2-od-main>.v2-unpaid-days{grid-area:info;min-width:0;font-size:10.5px;line-height:1.35}.v2-od-amt{grid-area:amt;justify-self:end;font-size:15px}
 .v2-od-acts{grid-area:acts;justify-self:end;gap:6px}.v2-od-acts .btn{min-height:38px;padding:0 12px;border-radius:12px;gap:6px;font-size:13px}
 .v2-od-acts .v2-remind .i-xs{display:none}}
/* Très petit téléphone (moins de 360 px) : les deux boutons sur leur propre ligne, à droite, pour que le retard garde de la place. */
@media (max-width:359px){.v2-od{grid-template-areas:"name name amt" "info info info" "acts acts acts"}}
/* Objectif de CA (2.10.12, d'après la maquette « Blanted » de Pierre) : anneau Billit (dégradé) + hors Billit (bleu clair) sur une piste,
   trait = rythme attendu aujourd'hui ; à droite le réalisé en grand, la légende en carrés et deux cases (rythme, à faire par mois). */
/* 2.21.2 · « on voit juste la portion prise par Billit, pas la partie que j'ai rajoutée manuellement » : la couleur du CA hors Billit vaut
   aussi pour la carte du téléphone (.v2-hero), où ce morceau d'anneau n'avait pas de couleur et restait invisible. */
:is(.v2-goal,.v2-hero,.v2-ca-chart){--goal-extra:#9fe2ff}
[data-theme="light"] :is(.v2-goal,.v2-hero,.v2-ca-chart){--goal-extra:#12b3c4} /* 2.32.3 : turquoise au lieu du bleu ciel #47b7e6 (Pierre : « je la trouve pas ouf », puis « un truc stylé, mets ce que tu veux ») */
.v2-goal-ring svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 10px 26px color-mix(in srgb,var(--accent) 30%,transparent))}
#v2-ring-grad stop:first-child{stop-color:#a368ff}#v2-ring-grad stop:last-child{stop-color:var(--accent2)}
.v2-goal-mid strong{font:700 calc(var(--ring) * .24)/1 'Space Grotesk',system-ui,sans-serif;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.v2-goal-mid strong small{font-size:.48em;margin-left:2px;letter-spacing:0;color:var(--muted)}
.v2-goal-mid span{margin-top:4px;font-size:clamp(10.5px,calc(var(--ring) * .062),13px);font-weight:700;color:var(--muted)}
.v2-goal-legend li{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:9px;font-size:13px;color:var(--muted)}
.v2-goal-legend strong{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
/* 2.13 : en petit (mobile, tiers du Dashboard), l'anneau à côté du total, la légende en lignes et le mois en dessous ; en large, le mois à droite. */
@container (max-width:399px){
.v2-goal-legend li{gap:8px;font-size:12.5px}
}
/* 2.14 (« les cartes À envoyer, Facturé ce mois… c'est trop gros ») : sur téléphone aussi 3 + 2, en petit (chiffre 15,5 px, textes 10 px) ;
   deux par ligne seulement sous 300 px. « Voir les 9 factures échues » devient « Tout voir (9) ». */
@container (max-width:480px){
.v2-bill .v2-bill-head{align-items:flex-start;gap:4px;font-size:10px;line-height:1.25}.v2-bill .v2-bill-head .i{flex:none;width:12px;height:12px;margin-top:1px}
 .v2-bill strong{font-size:15.5px}.v2-bill em{font-size:10px;line-height:1.3}
 .v2-unpaid{margin-top:12px;padding-top:10px}}
/* Case « faite » à droite des actions (2.10.11). */
.v2-plan-row .task-check{margin-left:4px}
/* Facturation en mobile (2.10.11) : filtres Mois / Trimestre / Année en haut à droite, à côté du titre. */
@media (max-width:760px){.section-head.v2-bill-head{flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between;gap:10px}.v2-bill-head>.v2-who button{padding:0 9px}}
/* Cases du haut du Dashboard en mobile (2.10.11) : plus compactes (icône, marges, chiffres), la carte Trésorerie aussi. */
@media (max-width:760px){
 .v2-dash .page-heading h2{font-size:24px}
}
#goal-settings .form-grid{margin-top:14px}
/* CA hors Billit (2.10.12) : une case par mois, avec le CA déjà lu dans Billit pour ce mois. */
.v2-extra h4{margin:0;font-size:15px}
.v2-extra-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;margin-top:14px}
.v2-extra-m{display:grid;gap:4px;min-width:0}
.v2-extra-m span{font-size:12px;font-weight:800;color:var(--muted)}
.v2-extra-m .form-input{min-height:40px;padding:8px 10px;font-variant-numeric:tabular-nums}
.v2-extra-m small{font-size:11px;color:var(--subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-extra-foot{grid-column:1/-1}
@media (max-width:760px){.v2-extra-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.v2-extra-m .form-input{min-height:44px;font-size:16px}}
/* Projets & clients (2.11) : dossiers d'après la capture de Pierre (onglet, feuilles qui dépassent, dossier « En cours » foncé),
   barre d'avancement avec repère du temps écoulé, page projet en onglets, réunions, ressources, clients.
   Verre dépoli (2.12) : onglet et face translucides et floutés, bord à bord ; le reflet est un seul dégradé en px (l'onglet le
   commence, la face le continue, d'où le départ à -24px) pour qu'aucune jointure ne se voie ; les feuilles passent derrière la face
   (floues) et à droite de l'onglet ; ombre portée sur la face (un filtre sur le parent couperait le flou de l'arrière-plan). */
.v2-ptabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:color-mix(in srgb,var(--surface2) 80%,transparent);border:1px solid var(--glass-edge,var(--line));box-shadow:var(--glass-hi,none);-webkit-backdrop-filter:var(--glass-blur,none);backdrop-filter:var(--glass-blur,none);overflow-x:auto;scrollbar-width:none;max-width:100%}
.v2-ptabs::-webkit-scrollbar{display:none}
.v2-ptabs button{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;height:30px;padding:0 12px;border:0;border-radius:999px;background:none;color:var(--muted);font:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.v2-ptabs button:hover{color:var(--text)}
.v2-ptabs button i,.v2-pgroup-title i{width:8px;height:8px;border-radius:50%;background:var(--st)}
.v2-ptabs button b{min-width:20px;height:20px;padding:0 6px;display:inline-grid;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--text) 8%,transparent);font-size:11px}
.v2-ptabs button.is-on{background:var(--glass-solid,var(--surface));color:var(--text);box-shadow:0 4px 14px #1d2b5c1f}
.v2-psearch{max-width:320px;flex:1 1 220px;min-height:44px}
.v2-pgroup-title b{font-size:12px;color:var(--subtle)}
.v2-pstatus{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;background:color-mix(in srgb,var(--st) 14%,transparent);color:color-mix(in srgb,var(--st) 80%,var(--text));font-size:11.5px;font-weight:800;white-space:nowrap}
.v2-pstatus i{width:7px;height:7px;border-radius:50%;background:var(--st)}
.v2-folder.is-doing .v2-pstatus i{background:#c9b8ff}
.is-late{color:var(--red)!important;font-weight:800}.is-soon{color:var(--orange)!important;font-weight:800}
.v2-team{display:inline-flex;align-items:center;flex:none}
.v2-team .avatar{width:28px;height:28px;margin-left:-8px;box-shadow:0 0 0 2px var(--fold-ring,var(--surface))}
.v2-team .avatar:first-child{margin-left:0}
.v2-team b{display:grid;place-items:center;min-width:28px;height:28px;margin-left:-8px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--text) 10%,var(--fold-ring,var(--surface)));font-size:11px;box-shadow:0 0 0 2px var(--fold-ring,var(--surface))}
/* Barre d'avancement : dégradé + reflet ; trait = temps écoulé ; orange quand l'avancement a plus de 10 points de retard sur le temps. */
.v2-prog{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.v2-prog-track{position:relative;flex:1;height:8px;border-radius:99px;background:color-mix(in srgb,var(--text) 10%,transparent)}
.v2-prog-track i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#a368ff,var(--accent2));box-shadow:0 0 14px color-mix(in srgb,var(--accent) 40%,transparent);transition:width .35s cubic-bezier(.2,.8,.2,1)}
.v2-prog-track i::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,#ffffff59,transparent 65%)}
.v2-prog-track b{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;border-radius:2px;background:var(--text);opacity:.5}
.v2-prog.is-behind .v2-prog-track i{background:linear-gradient(90deg,#ffb04c,#ff7d5c);box-shadow:0 0 14px #ff8a5c55}
.v2-prog-val{flex:none;min-width:36px;text-align:right;white-space:nowrap;font:700 13px 'Space Grotesk',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.v2-prog-val small{font-size:.72em;opacity:.65;margin-left:1px}
.v2-folder.is-doing .v2-prog-track i{background:linear-gradient(90deg,#d5c8ff,#fff)}
.v2-folder.is-done .v2-prog-track i,.v2-lead-proj .v2-prog-track i{background:linear-gradient(90deg,#5ad762,#4ace52)}
.v2-prog.is-big .v2-prog-track{height:14px}.v2-prog.is-big .v2-prog-track b{top:-6px;bottom:-6px;width:3px}
.v2-prog.is-big .v2-prog-val{min-width:76px;font-size:30px;letter-spacing:-.03em}
.v2-pempty{display:grid;justify-items:center;gap:10px;padding:46px 22px;text-align:center}
.v2-pempty .i-xl{color:var(--accent)}.v2-pempty h3{margin:0}.v2-pempty p{margin:0 0 6px;max-width:460px;color:var(--muted);font-size:14px}
/* Page d'un projet */
.v2-back{display:inline-flex;align-items:center;gap:4px;margin:0 0 14px;padding:6px 10px 6px 4px;border:0;border-radius:10px;background:none;color:var(--muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.v2-back:hover{color:var(--text);background:var(--surface2)}
.v2-phead-main{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.v2-phead-ico{display:grid;place-items:center;width:54px;height:54px;flex:none;border-radius:17px;background:linear-gradient(135deg,#a368ff,var(--accent2));color:#fff;box-shadow:0 12px 26px #6d5cf54d}
.v2-phead-text{flex:1;min-width:220px}
.v2-phead-text h2{margin:0;font:700 clamp(24px,3vw,34px)/1.1 'Space Grotesk',system-ui,sans-serif;letter-spacing:-.035em}
.v2-phead-text p{margin:6px 0 0;color:var(--muted);font-size:14px}
.v2-phead-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v2-pstatus-pick{position:relative;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--st) 45%,var(--line2));background:color-mix(in srgb,var(--st) 12%,var(--surface));color:var(--text);font-size:13px;font-weight:800}
.v2-pstatus-pick>i{width:9px;height:9px;border-radius:50%;background:var(--st)}
.v2-pstatus-pick select{appearance:none;-webkit-appearance:none;border:0;background:none;color:inherit;font:inherit;padding:0 18px 0 0;cursor:pointer}
.v2-pstatus-pick select option{color:#18213b;background:#fff}
.v2-pstatus-pick .i{position:absolute;right:10px;pointer-events:none;opacity:.6}
.v2-prange{display:block;margin-top:8px}
.v2-prange input{width:100%;height:26px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}
.v2-prange input::-webkit-slider-runnable-track{height:4px;border-radius:99px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 45%,transparent) var(--v),var(--line2) var(--v))}
.v2-prange input::-moz-range-track{height:4px;border-radius:99px;background:var(--line2)}
.v2-prange input::-moz-range-progress{height:4px;border-radius:99px;background:color-mix(in srgb,var(--accent) 45%,transparent)}
.v2-prange input::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-8px;border-radius:50%;background:#fff;border:3px solid var(--accent);box-shadow:0 3px 10px #4b3bb34d}
.v2-prange input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--accent);box-shadow:0 3px 10px #4b3bb34d}
.v2-prange input:focus-visible{outline:none}.v2-prange input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 35%,transparent)}
.v2-ptabbar{margin:0 0 16px}
/* 2.18 : Informations et Note interne à la même hauteur ; la zone de texte remplit la carte. */
.v2-psub{margin:20px 0 6px;font-size:13px;color:var(--muted)}
.v2-pdesc{margin:0;white-space:pre-line;font-size:14px;line-height:1.6}
/* 2.33.5 : adresse devenue lien dans un texte (htmlLinks) ; l'app ne souligne pas ses liens, celui-ci oui, et une longue adresse passe à la ligne ;
   violet mêlé au texte : 4,8:1 au moins sur les fonds clairs et sombres (le violet seul : 3,3:1 sur les listes en sombre). */
.v2-tlink{color:var(--accent);color:color-mix(in srgb,var(--accent) 75%,var(--text));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;overflow-wrap:anywhere}
.v2-tlink:hover{text-decoration-thickness:2px}
/* 2.30.18 (Pierre : « un voir plus après quelques lignes ») : description du projet sur 4 lignes, « Voir plus » si elle dépasse. */
.v2-pdesc.is-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}
.v2-pnote textarea{min-height:200px;resize:vertical;line-height:1.55}
.v2-tech i{font-style:normal;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:color-mix(in srgb,var(--accent) 75%,var(--text))}
.v2-team-names .avatar{width:22px;height:22px}
.v2-meets{display:grid;gap:14px}
.v2-meet{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:18px}
.v2-meet-date{display:grid;align-content:center;justify-items:center;height:72px;border-radius:16px;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--accent2) 12%,transparent));border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}
.v2-meet-date b{font:700 24px/1 'Space Grotesk',system-ui,sans-serif}.v2-meet-date span{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--accent)}.v2-meet-date small{font-size:10px;color:var(--subtle)}
.v2-meet-top{display:flex;justify-content:space-between;gap:10px}
.v2-meet h4{margin:0;font-size:16px}
.v2-meet-meta{margin:4px 0 0;color:var(--muted);font-size:12.5px;line-height:1.5}
.v2-meet-kind{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:7px;background:var(--surface2);color:var(--text);font-weight:700;font-size:11.5px}
.v2-meet-acts{display:flex;gap:4px;flex:none}
.v2-meet-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.v2-meet-more{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.v2-meet-more summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--muted)}
.v2-meet-more[open] summary{margin-bottom:8px}
.v2-mlists{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:10px}
.v2-mlist{padding:12px 14px;border-radius:14px;background:var(--surface2)}
.v2-mlist h5{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--subtle)}
.v2-mlist ul{margin:0;padding-left:18px;font-size:13.5px;line-height:1.55}
.v2-mlist.is-dec li::marker{color:var(--green)}.v2-mlist.is-next li::marker{color:var(--accent)}
.v2-vis{display:inline-flex;align-items:center;gap:3px;color:var(--accent);font-weight:700}
.v2-mlink{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) auto;gap:8px;margin-bottom:8px}
.v2-check-line{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;cursor:pointer}
.v2-check-line small{color:var(--subtle);font-weight:500}
.v2-team-pick{display:flex;flex-wrap:wrap;gap:8px}
.v2-check-chip{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 12px 0 6px;border:1px solid var(--line2);border-radius:999px;background:var(--surface);font-size:13px;font-weight:700;cursor:pointer}
.v2-check-chip input{position:absolute;opacity:0;pointer-events:none}
.v2-check-chip .avatar{width:26px;height:26px}
.v2-check-chip:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}
.v2-check-chip:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.v2-field-link{display:inline-block;margin-top:6px}
/* 2.22 · Catégories des ressources : « Gérer les catégories » sous le choix (« ＋ Nouvelle catégorie… » est dans le menu depuis la 2.30.4). */
.v2-rcat-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:8px}
/* 2.30.4 · Champ de « ＋ Nouvelle … », sous son menu, ouvert en choisissant cette option. */
.v2-addopt{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
.v2-addopt[hidden]{display:none}
.v2-addopt .form-input{flex:1 1 150px;min-width:0;min-height:34px;padding:6px 10px;font-size:13px}
@media (max-width:600px){.v2-addopt .form-input{font-size:16px}}
/* Ressources */
.v2-res-group b{font-size:11px;color:var(--muted)}
.v2-res-main a{color:var(--text);text-decoration:none;min-width:0}
.v2-res-main strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2-res-main small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2-drop-hint{position:absolute;inset:8px;display:none;place-items:center;align-content:center;gap:8px;border:2px dashed var(--accent);border-radius:18px;background:color-mix(in srgb,var(--accent) 10%,var(--glass-solid,var(--surface)));color:var(--accent);font-weight:800;z-index:2}
/* Clients */
.v2-client-main strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2-client-main small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2-client-stats b{color:var(--text);font-size:13px}.v2-client-stats em{font-style:normal;color:var(--accent);font-weight:700}
.v2-client-stats small{display:inline-flex;align-items:center;gap:3px;color:var(--green);font-weight:700}
.v2-clients .v2-psearch{margin-bottom:16px}
.v2-client-info{margin-bottom:14px}
.v2-client-notes{padding:12px 14px;border-radius:12px;background:var(--surface2);margin-bottom:14px}
.v2-client-phead{margin:6px 0 10px}
.v2-client-projects button,.v2-dproj-list button,.v2-lead-proj{display:grid;grid-template-columns:minmax(0,1.3fr) auto minmax(110px,1fr);align-items:center;gap:12px;width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}
.v2-client-projects button:hover,.v2-lead-proj:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
.v2-client-projects strong,.v2-lead-proj strong{display:block;font-size:14px}
.v2-client-projects small{display:block;color:var(--muted);font-size:12px}
.v2-dproj-list button{grid-template-columns:minmax(0,1.2fr) minmax(140px,1fr) auto}
.v2-lead-client .v2-lead-proj{margin-top:8px}
/* Bouton « Projet » d'un prospect signé (carte Kanban, carte mobile) */
@media (max-width:760px){.v2-psearch{max-width:none}
 .v2-meet{grid-template-columns:1fr;gap:10px;padding:16px}.v2-meet-date{grid-auto-flow:column;justify-content:start;gap:6px;height:auto;padding:6px 12px;width:max-content;align-items:baseline}.v2-meet-date b{font-size:18px}
 .v2-mlink{grid-template-columns:1fr auto}.v2-mlink [data-mlink-label]{grid-column:1/-1}
 .v2-client-projects button,.v2-lead-proj{grid-template-columns:minmax(0,1fr) auto}.v2-lead-proj .v2-prog{grid-column:1/-1}
.v2-phead-acts{width:100%}.v2-prog.is-big .v2-prog-val{font-size:24px;min-width:62px}
 .v2-res-acts .icon-btn{width:40px;height:40px}}

/* Glass des projets (2.12) : bandeau d'onglets, recherche, ressources et cartes clients dans le même verre que le reste de l'app. */
.v2-psearch{background:color-mix(in srgb,var(--surface) 70%,transparent);border-color:var(--glass-edge,var(--line2));-webkit-backdrop-filter:var(--glass-blur,none);backdrop-filter:var(--glass-blur,none)}
.v2-client-projects button,.v2-lead-proj{border-color:var(--glass-edge,var(--line));box-shadow:var(--glass-hi,none)}
@media(prefers-reduced-transparency:reduce){
 .v2-ptabs,.v2-psearch{-webkit-backdrop-filter:none;backdrop-filter:none}}
/* Choix Dossiers / Gantt (2.12) */
.v2-pview button{display:inline-flex;align-items:center;gap:7px}
/* Étapes & tâches (2.12) : une carte par étape, cases rondes à cocher, ajout rapide en bas de chaque carte. */
.v2-pprog-auto{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 0;font-size:13px;color:var(--muted)}.v2-pprog-auto>.i{color:var(--accent)}
.v2-pstep.is-ok{border-color:color-mix(in srgb,var(--green) 30%,var(--glass-edge,var(--line)))}
.v2-pstep-title h4{margin:0;font-size:15px;letter-spacing:-.01em}
.v2-ring-sm{--p:0%;display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;background:radial-gradient(closest-side,var(--glass-solid,var(--surface)) 76%,transparent 78%),conic-gradient(var(--accent) var(--p),color-mix(in srgb,var(--accent) 16%,transparent) 0);color:var(--accent)}
.v2-ring-sm b{font-size:10px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}
.v2-ring-sm.is-ok{background:var(--green);color:#fff}
.v2-tick{position:relative;display:grid;place-items:center;width:26px;height:26px;flex:none;margin:0 4px;cursor:pointer}
.v2-tick input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.v2-tick i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:2px solid var(--line2);color:transparent;transition:background .15s,border-color .15s,transform .15s}
.v2-tick:hover i{border-color:var(--accent)}
.v2-tick input:checked+i{background:var(--green);border-color:var(--green);color:#fff;transform:scale(1.04)}
.v2-tick input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}
.v2-tick input:disabled+i{opacity:.5}
.v2-pstep-head .v2-tick{width:34px;height:34px;margin:0}.v2-pstep-head .v2-tick i{width:26px;height:26px}
.v2-tasks{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:1px}
.v2-task{display:flex;align-items:center;gap:8px;min-height:44px;padding:3px 4px;border-radius:12px}
.v2-task:hover{background:var(--surface2)}
.v2-task-main{flex:0 1 auto;min-width:0;display:grid;gap:1px;padding:6px 4px;border:0;background:none;color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.v2-task-main span{overflow-wrap:anywhere}.v2-task-main small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-task.is-done .v2-task-main span{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}
