/* R25 « Mon activité » : composants partagés (Mon entreprise, statuts, dialogues, synthèses).
   Deux thèmes par variables : clair par défaut, nuit sous html[data-enc-theme=nuit]. */
html{--act-bg:#FFFFFF;--act-bg-2:#F4F6FC;--act-bg-3:#EAEEFB;--act-ink:#0B1033;--act-muted:#4A5070;--act-line:#DCE1F0;--act-line-2:#C9D1EC;--act-blue:#1C2A6E;--act-blue-2:#141F55;--act-blue-soft:#ECEEF6;--act-link:#141F55;
 --act-ok:#0E7A43;--act-ok-bg:#E3F6EC;--act-warn:#8A4B00;--act-warn-bg:#FFF2DC;--act-bad:#B42318;--act-bad-bg:#FDECEA;--act-grey:#4F5675;--act-grey-bg:#EEF0F6;--act-violet:#4B2BC2;--act-violet-bg:#ECE8FF;--act-shadow:0 1px 2px rgba(11,16,51,.05),0 18px 40px -22px rgba(11,16,51,.28);--act-backdrop:rgba(11,16,51,.42)}
html[data-enc-theme=nuit]{--act-bg:#0B1033;--act-bg-2:#10173F;--act-bg-3:#161E4D;--act-ink:#FFFFFF;--act-muted:#B8C0E6;--act-line:rgba(214,220,247,.14);--act-line-2:rgba(214,220,247,.26);--act-blue:#2340FF;--act-blue-2:#9DB0FF;--act-blue-soft:rgba(110,134,255,.16);--act-link:#9DB0FF;
 --act-ok:#7EE2A8;--act-ok-bg:rgba(74,222,128,.14);--act-warn:#FFD27A;--act-warn-bg:rgba(251,191,36,.14);--act-bad:#FF9B92;--act-bad-bg:rgba(248,113,113,.15);--act-grey:#C9CFEE;--act-grey-bg:rgba(214,220,247,.1);--act-violet:#CDBEFF;--act-violet-bg:rgba(167,139,250,.18);--act-shadow:0 18px 40px -24px rgba(0,0,0,.8);--act-backdrop:rgba(0,0,0,.55)}

/* ---------- Page Mon entreprise ---------- */
.act-main{max-width:1040px;margin:0 auto;padding:32px 20px 64px}
.act-head h1{margin:6px 0 8px}
.act-head p{max-width:720px;color:var(--act-muted)}
.act-status{min-height:1.5em;margin:12px 0;font-weight:600;color:var(--act-ink)}
.act-status.error{color:var(--act-bad)}
.act-form{display:grid;gap:18px}
.act-card{background:var(--act-bg);color:var(--act-ink);border:1px solid var(--act-line);border-radius:16px;padding:22px 24px;box-shadow:var(--act-shadow)}
.act-card h2{margin:0 0 14px;font-size:1.25rem}
.act-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.act-field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.92rem;color:var(--act-ink);min-width:0}
.act-field.act-wide,.act-check.act-wide,.act-wide{grid-column:1/-1}
.act-field :is(input,select,textarea){font:inherit;font-weight:500;color:var(--act-ink);background:var(--act-bg);border:1px solid var(--act-line-2);border-radius:10px;padding:10px 12px;min-height:44px;width:100%;box-sizing:border-box}
.act-field :is(input,select,textarea):focus-visible{outline:3px solid var(--act-blue);outline-offset:1px}
.act-field textarea{resize:vertical}
.act-help{font-weight:500;font-size:.85rem;color:var(--act-muted)}
.act-warn{color:var(--act-warn)!important}
.act-inline{display:flex;gap:8px;align-items:center}
.act-inline input{flex:1}
.act-short{max-width:120px}
.act-prefix{font-weight:700;white-space:nowrap}
.act-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.act-check{display:flex;gap:10px;align-items:center;font-weight:500;min-height:44px}
.act-check input{width:20px;height:20px}
.act-chips{display:flex;flex-wrap:wrap;gap:8px}
.act-chip{font:inherit;font-size:.85rem;font-weight:600;border:1px solid var(--act-line-2);background:var(--act-bg-2);color:var(--act-ink);border-radius:999px;padding:8px 14px;min-height:36px;cursor:pointer}
.act-chip:hover{border-color:var(--act-blue);color:var(--act-link)}
.act-chip:focus-visible{outline:3px solid var(--act-blue);outline-offset:2px}
.act-logo-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.act-logo img{max-height:64px;max-width:180px;border:1px solid var(--act-line);border-radius:8px;padding:6px;background:#fff}
.act-file{position:relative;overflow:hidden}
.act-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.act-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.act-numbers dt{font-size:.8rem;font-weight:700;color:var(--act-muted);text-transform:uppercase;letter-spacing:.05em}
.act-numbers dd{margin:2px 0 0;font-weight:700;font-size:1.1rem;font-variant-numeric:tabular-nums}
.act-actions{display:flex;flex-wrap:wrap;gap:10px}
.act-lookup{margin-top:14px;display:grid;gap:10px}
.act-lookup-item{border:1px solid var(--act-line);border-radius:12px;padding:12px 14px;display:grid;gap:4px;background:var(--act-bg-2)}
.act-lookup-item .btn{justify-self:start;margin-top:6px}
[hidden]{display:none!important}

/* ---------- Bandeau « Mon entreprise » dans les éditeurs ---------- */
.act-company-note{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:.88rem;color:var(--act-muted);margin:8px 0}
.act-company-note a{color:var(--act-link);font-weight:600}
.act-suggest{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}

/* ---------- Statuts ---------- */
html body .act-badge{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap;background:var(--act-grey-bg);color:var(--act-grey)}
html body .act-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
html body .act-badge[data-state=sent],.act-badge[data-state=signing],.act-badge[data-state=pending]{background:var(--act-blue-soft);color:var(--act-link)}
html body .act-badge[data-state=accepted],.act-badge[data-state=paid]{background:var(--act-ok-bg);color:var(--act-ok)}
html body .act-badge[data-state=refused],.act-badge[data-state=overdue]{background:var(--act-bad-bg);color:var(--act-bad)}
html body .act-badge[data-state=expired],.act-badge[data-state=partial]{background:var(--act-warn-bg);color:var(--act-warn)}
html body .act-badge[data-state=invoiced],.act-badge[data-state=deposit],.act-badge[data-state=credit]{background:var(--act-violet-bg);color:var(--act-violet)}

/* ---------- Barre d'état du devis / de la facture ---------- */
.act-statebar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;background:var(--act-bg);color:var(--act-ink);border:1px solid var(--act-line);border-radius:14px;padding:12px 16px;margin:0 0 16px;box-shadow:var(--act-shadow)}
.act-statebar strong{font-size:.95rem}
.act-statebar .act-spacer{flex:1}
.act-statebar small{color:var(--act-muted)}
.act-statebar .btn{min-height:40px}

/* ---------- Dialogues ---------- */
dialog.act-dialog{border:0;border-radius:18px;padding:0;max-width:640px;width:calc(100% - 32px);background:var(--act-bg);color:var(--act-ink);box-shadow:0 30px 60px -20px rgba(6,10,36,.55)}
dialog.act-dialog::backdrop{background:var(--act-backdrop)}
.act-dialog header{padding:22px 24px 6px}
.act-dialog header small{color:var(--act-muted);font-weight:600}
.act-dialog h2{margin:6px 0 0;font-size:1.45rem}
.act-dialog .act-body{padding:12px 24px;display:grid;gap:14px}
.act-dialog footer{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:center;padding:16px 24px;border-top:1px solid var(--act-line)}
.act-dialog footer .act-lock{margin-right:auto;color:var(--act-muted);font-size:.86rem}
.act-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.act-option{position:relative;border:1.5px solid var(--act-line-2);border-radius:12px;padding:14px;cursor:pointer;display:grid;gap:4px;background:var(--act-bg)}
.act-option input[type=radio]{position:absolute;opacity:0;inset:0;cursor:pointer}
.act-option input[type=text]{font:inherit;min-height:40px;border:1px solid var(--act-line-2);border-radius:10px;padding:6px 10px;background:var(--act-bg);color:var(--act-ink);margin-top:6px;max-width:140px;position:relative;z-index:1}
.act-option b{font-size:1rem}
.act-option small{color:var(--act-muted);line-height:1.35}
.act-option .act-amount{font-weight:700;font-size:1.2rem;margin-top:6px;font-variant-numeric:tabular-nums}
.act-option:has(input[type=radio]:checked){border-color:var(--act-blue);background:var(--act-blue-soft);box-shadow:0 0 0 3px rgba(35,64,255,.14)}
.act-option:has(input[type=radio]:focus-visible){outline:3px solid var(--act-blue);outline-offset:2px}
.act-option:has(input[type=radio]:disabled){opacity:.5;cursor:not-allowed}
.act-seg{display:inline-flex;border:1px solid var(--act-line-2);border-radius:10px;overflow:hidden}
.act-seg label{position:relative;padding:8px 14px;font-weight:600;cursor:pointer}
.act-seg input{position:absolute;opacity:0;inset:0;cursor:pointer}
.act-seg label:has(input:checked){background:var(--act-ink);color:var(--act-bg)}
.act-recap{border:1px solid var(--act-line);border-radius:12px;background:var(--act-bg-2);padding:12px 14px;font-size:.92rem;display:grid;gap:4px}
.act-recap div{display:flex;justify-content:space-between;gap:12px}
.act-recap span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.act-recap .act-total{border-top:1px solid var(--act-line-2);margin-top:6px;padding-top:8px;font-weight:700}
.act-error{color:var(--act-bad);font-weight:600}
.act-ok{color:var(--act-ok);font-weight:600}

/* ---------- Synthèses (Mes factures, Mes devis, clients) ---------- */
.act-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.act-summary>div{background:var(--act-bg);color:var(--act-ink);border:1px solid var(--act-line);border-radius:14px;padding:14px 16px;box-shadow:var(--act-shadow)}
.act-summary small{display:block;color:var(--act-muted);font-weight:600;font-size:.82rem}
.act-summary b{display:block;font-size:1.45rem;margin-top:4px;font-variant-numeric:tabular-nums}
.act-summary .act-late{border-color:color-mix(in srgb,var(--act-bad) 40%,transparent)}
.act-summary .act-late b{color:var(--act-bad)}
.act-table{width:100%;border-collapse:collapse;font-size:.94rem;background:var(--act-bg);color:var(--act-ink)}
.act-table th{text-align:left;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--act-muted);font-weight:700;padding:10px 12px;border-bottom:1px solid var(--act-line)}
.act-table td{padding:12px;border-bottom:1px solid var(--act-line);vertical-align:middle}
.act-table .act-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.act-table td small{display:block;color:var(--act-muted);font-size:.82rem}
.act-table a{color:var(--act-link);font-weight:600}
.act-row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.act-row-actions .btn{min-height:36px;padding:6px 12px;font-size:.85rem}
.act-tablewrap{border:1px solid var(--act-line);border-radius:14px;overflow:hidden;box-shadow:var(--act-shadow)}
.act-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:0 0 14px}
.act-toolbar label{display:grid;gap:4px;font-weight:600;font-size:.85rem}
.act-toolbar :is(input,select){font:inherit;min-height:42px;border:1px solid var(--act-line-2);border-radius:10px;padding:8px 12px;background:var(--act-bg);color:var(--act-ink)}
.act-empty{padding:28px;text-align:center;color:var(--act-muted)}
.act-skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.act-skip:focus{position:fixed;width:auto;height:auto;clip:auto;clip-path:none;inset-inline-start:16px;top:16px;z-index:100;background:var(--act-bg);color:var(--act-link);padding:10px 14px;border-radius:10px;box-shadow:var(--act-shadow)}
@media(max-width:820px){.act-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.act-options{grid-template-columns:1fr}}
@media(max-width:640px){.act-grid,.act-numbers{grid-template-columns:1fr}.act-card{padding:18px 16px}
 .act-table thead{display:none}.act-table,.act-table tbody,.act-table tr,.act-table td{display:block;width:100%;box-sizing:border-box}.act-table tr{border-bottom:1px solid var(--act-line);padding:8px 0}.act-table td{border:0;padding:4px 14px}.act-table .act-num{text-align:left}.act-row-actions{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){dialog.act-dialog{transition:none}}
@media print{.act-statebar,.act-actions{display:none}}
/* Message réseau (hors-ligne.js) : site.css n'est pas chargé sur les pages d'application. */
body[data-enc=app] .etat-reseau{position:fixed;left:18px;bottom:calc(var(--pph-sign-actions-height,0px) + 18px);z-index:80;max-width:300px;padding:12px 16px;background:#0B1033;color:#fff;border-radius:14px;box-shadow:0 20px 50px -20px rgba(11,16,51,.6);font-size:13px;line-height:1.45;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}
body[data-enc=app] .etat-reseau.vu{opacity:1;transform:none}
body[data-enc=app] .etat-reseau b{display:block;font-size:13px;margin-bottom:3px}
body[data-enc=app] .etat-reseau span{color:#C9D0EE}
html[data-enc-theme=nuit] body[data-enc=app] .etat-reseau{border:1px solid rgba(214,220,247,.22)}
@media(max-width:600px){body[data-enc=app] .etat-reseau{left:12px;right:12px;max-width:none}}
@media(prefers-reduced-motion:reduce){body[data-enc=app] .etat-reseau{transition:none}}
/* Boutons des composants R25, cohérents dans les deux thèmes */
:is(.act-main,.act-dialog,.act-statebar,.act-row-actions,.act-suggest,.act-company-note,.act-toolbar) .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:600;font-size:.92rem;min-height:42px;padding:8px 16px;border-radius:10px;border:1px solid var(--act-line-2);background:var(--act-bg);color:var(--act-link);cursor:pointer;text-decoration:none}
:is(.act-main,.act-dialog,.act-statebar,.act-row-actions,.act-suggest,.act-company-note,.act-toolbar) .btn:hover:not(:disabled){background:var(--act-blue-soft);border-color:var(--act-blue)}
:is(.act-main,.act-dialog,.act-statebar,.act-row-actions,.act-suggest,.act-company-note,.act-toolbar) .btn.solid{background:var(--act-blue);border-color:var(--act-blue);color:#fff}
:is(.act-main,.act-dialog,.act-statebar,.act-row-actions,.act-suggest,.act-company-note,.act-toolbar) .btn.solid:hover:not(:disabled){background:var(--act-blue-2);border-color:var(--act-blue-2)}
:is(.act-main,.act-dialog,.act-statebar,.act-row-actions,.act-suggest,.act-company-note,.act-toolbar) .btn:disabled{opacity:.5;cursor:not-allowed}
:is(.act-main,.act-dialog,.act-statebar,.act-row-actions,.act-suggest,.act-company-note,.act-toolbar) .btn:focus-visible{outline:3px solid var(--act-blue);outline-offset:2px}
html[data-enc-theme=nuit] :is(.act-main,.act-dialog,.act-statebar,.act-row-actions,.act-suggest,.act-company-note,.act-toolbar) .btn:not(.solid){background:transparent;color:#fff}
html[data-enc-theme=nuit] :is(.act-main,.act-dialog,.act-statebar,.act-row-actions,.act-suggest,.act-company-note,.act-toolbar) .btn:not(.solid):hover:not(:disabled){background:rgba(214,220,247,.09)}

/* Mes devis : six filtres sur une ligne, synthèse compacte */
body[data-enc=app] .r9-summary{grid-template-columns:repeat(6,minmax(0,1fr))!important}
@media(max-width:1000px){body[data-enc=app] .r9-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:560px){body[data-enc=app] .r9-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
#actQuoteSummary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
#actQuoteSummary b{font-size:1.25rem}
.act-client-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:6px 0 0;font-size:.85rem;color:var(--act-muted)}
.act-strong{font-weight:700;color:var(--act-ink)}
.act-list-main .act-tablewrap{margin-top:6px}

/* Suggestions de prestations */
.act-suggestions{position:fixed;z-index:120;background:var(--act-bg);color:var(--act-ink);border:1px solid var(--act-line-2);border-radius:12px;box-shadow:0 24px 48px -20px rgba(11,16,51,.45);padding:6px;max-height:320px;overflow:auto}
.act-suggestion{display:grid;gap:2px;padding:8px 10px;border-radius:8px;cursor:pointer}
.act-suggestion:hover,.act-suggestion.is-active{background:var(--act-blue-soft)}
.act-suggestion small{color:var(--act-muted);font-size:.8rem}
.act-phrases{align-items:center}
/* Cibles tactiles d'au moins 44 px sur mobile (devis, facture) */
@media (pointer:coarse),(max-width:820px){
 body[data-enc=app] :is(.quote-line-advanced>summary,.sheet-add-fields>summary,.r6-company-more>summary,.r6-client-more>summary,.sheet-line-settings>summary,.quote-add-section,.save-service,.sheet-mini,.r6-more-tools>summary,#invoiceCompany>summary,#invoiceTerms>summary){min-height:44px;display:flex;align-items:center;gap:6px}
 body[data-enc=app] .act-chip{min-height:44px}
}

.act-onboard{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;background:var(--act-blue-soft);color:var(--act-ink);border:1px solid color-mix(in srgb,var(--act-blue) 35%,transparent);border-radius:16px;padding:16px 20px;margin:12px 0 18px}
.act-onboard strong{display:block;font-size:1.05rem;margin-bottom:4px}
.act-onboard p{margin:0;color:var(--act-muted);max-width:640px}
.act-onboard .btn{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:600;min-height:42px;padding:8px 16px;border-radius:10px;border:1px solid var(--act-line-2);background:var(--act-bg);color:var(--act-link);text-decoration:none;cursor:pointer}
.act-onboard .btn.solid{background:var(--act-blue);border-color:var(--act-blue);color:#fff}
.act-unsaved{margin-top:24px;padding-top:16px;border-top:1px dashed var(--line,#d7d3cb)}
.act-unsaved h3{margin:0 0 4px;font-size:1rem}
.act-unsaved .r8-client-item{align-items:center}
.act-cell-label{display:none}
@media(max-width:640px){.act-cell-label{display:inline-block;min-width:8.5em;color:var(--act-muted);font-size:.82rem;font-weight:600;margin-inline-end:8px}
 .act-summary b{font-size:clamp(1.05rem,5.2vw,1.45rem);overflow-wrap:anywhere}.act-summary>div{padding:12px}}
/* Mes clients : la liste reste une « feuille » claire, y compris en thème nuit. */
html[data-enc-theme=nuit] .act-unsaved .btn:not(.solid){background:#fff;color:#141F55;border-color:#C9D1F5}
html[data-enc-theme=nuit] .act-unsaved h3{color:var(--enc-paper-ink,#0B1033)}
/* Devis figé (signature) : un seul bloc net, actions espacées, statut au-dessus ; barre de statut détachée. */
body[data-enc=app] #quoteWorkflow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:20px 22px;border:1px solid var(--act-line);border-radius:16px;margin:0 0 14px}
body[data-enc=app] #quoteWorkflow>.workflow-status{flex:0 0 auto;margin:0;border-radius:999px;padding:5px 12px;font-size:12px}
body[data-enc=app] #quoteWorkflow>:is(p,.remote-quote-actions,.remote-quote-note,.remote-quote-result){flex:1 0 100%;margin:0}
body[data-enc=app] #quoteWorkflow>.btn,body[data-enc=app] #quoteWorkflow .remote-quote-actions .btn{min-height:42px;border-radius:10px}
body[data-enc=app] #quoteWorkflow .remote-quote-actions{display:flex;flex-wrap:wrap;gap:10px}
body[data-enc=app] #quoteWorkflow .remote-quote-actions>*{flex:0 0 auto}
body[data-enc=app] #quoteStateBar{margin:0 0 18px;border-radius:16px}
@media(max-width:540px){body[data-enc=app] #quoteWorkflow>.btn,body[data-enc=app] #quoteWorkflow .remote-quote-actions>*{flex:1 1 100%}}
/* Quota gratuit : jauge discrète sous le titre de Mon activité. */
.act-quota{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;font-size:.88rem;color:var(--act-muted)}
.act-quota a{color:var(--act-link);font-weight:600}
/* Statistiques : indicateurs, histogramme facturé / encaissé, meilleurs clients. Couleurs validées (clair et nuit, daltonisme). */
html{--act-c-billed:#3D4FB0;--act-c-collected:#2A9D8F}
html[data-enc-theme=nuit]{--act-c-billed:#6F84E8;--act-c-collected:#22A88E}
.act-stats-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}
.act-stats-year{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:var(--act-muted)}
.act-stats-year select{min-height:42px;border-radius:10px;border:1px solid var(--act-line-2);padding:6px 12px;background:var(--act-bg);color:var(--act-ink);font:inherit}
.act-card{background:var(--act-bg);color:var(--act-ink);border:1px solid var(--act-line);border-radius:16px;padding:20px 22px;box-shadow:var(--act-shadow);margin:0 0 18px}
.act-card h2{font-size:1.05rem;margin:0 0 12px}
.act-stats-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px}
.act-legend{display:flex;gap:16px;margin:0;font-size:.85rem;color:var(--act-muted)}.act-legend span{display:inline-flex;align-items:center;gap:6px}
.act-key{display:inline-block;width:12px;height:12px;border-radius:3px}.act-key-billed{background:var(--act-c-billed)}.act-key-collected{background:var(--act-c-collected)}
.act-chartwrap{position:relative}
.act-chart{width:100%;height:auto;display:block;overflow:visible}
.act-chart .act-grid{stroke:var(--act-line);stroke-width:1}.act-chart .act-axis{stroke:var(--act-line-2);stroke-width:1.2}
.act-chart .act-tick{fill:var(--act-muted);font-size:11px;font-variant-numeric:tabular-nums}
.act-bar-billed{fill:var(--act-c-billed)}.act-bar-collected{fill:var(--act-c-collected)}
.act-chart .act-hit{fill:transparent;cursor:default;outline:none}.act-chart .act-hit:hover,.act-chart .act-hit:focus-visible{fill:var(--act-ink);fill-opacity:.05}
.act-tip{position:absolute;pointer-events:none;background:var(--act-bg);color:var(--act-ink);border:1px solid var(--act-line-2);border-radius:10px;padding:8px 10px;box-shadow:var(--act-shadow);font-size:.82rem;display:grid;gap:3px;min-width:170px;z-index:2}
.act-tip span{display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}
.act-stats-table{margin-top:10px}.act-stats-table summary{cursor:pointer;color:var(--act-link);font-weight:600;font-size:.9rem}
.act-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.act-stats-grid .act-card{margin:0}
.act-stats-dl{display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin:0 0 12px}.act-stats-dl dt{color:var(--act-muted)}.act-stats-dl dd{margin:0;font-weight:700;text-align:end;font-variant-numeric:tabular-nums}
.act-stats-top{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.act-stats-top li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name amount" "bar count";gap:4px 12px;align-items:center}
.act-stats-name{grid-area:name;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.act-stats-top b{grid-area:amount;font-variant-numeric:tabular-nums}.act-stats-top small{grid-area:count;color:var(--act-muted);text-align:end}
.act-stats-bar{grid-area:bar;height:6px;border-radius:3px;background:var(--act-bg-3)}.act-stats-bar i{display:block;height:100%;border-radius:3px;background:var(--act-c-billed)}
@media(max-width:820px){.act-stats-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.act-stats-grid{grid-template-columns:1fr}}
@media(max-width:640px){.act-chartwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.act-chart{min-width:600px}}

/* ---------- Abonnement : état abonné (essai, actif, résiliation programmée) ---------- */
.pro-active{margin:22px 0 28px;padding:26px 28px;background:var(--act-bg);color:var(--act-ink);border:1px solid var(--act-line-2);border-radius:18px;box-shadow:var(--act-shadow);max-width:720px}
.pro-active[hidden]{display:none}
.pro-active-badge{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;padding:5px 12px;border-radius:999px;font-size:.85rem;font-weight:700;background:var(--act-ok-bg);color:var(--act-ok)}
.pro-active-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.pro-active[data-state=cancel] .pro-active-badge{background:var(--act-warn-bg);color:var(--act-warn)}
.pro-active h2{margin:0 0 8px;font-size:1.45rem;line-height:1.25;color:var(--act-ink)}
.pro-active-text{margin:0 0 6px;font-size:1.05rem;line-height:1.6;color:var(--act-ink)}
.pro-active-mail{margin:0 0 18px;color:var(--act-muted);line-height:1.6}
.pro-active-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 22px}
.pro-active-actions .btn{min-height:46px;padding:11px 20px;border-radius:10px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;border:1px solid var(--act-line-2);background:var(--act-bg);color:var(--act-ink)}
.pro-active-actions .btn.solid{background:var(--act-blue);border-color:var(--act-blue);color:#fff}
.pro-active-actions .btn.solid:hover{background:var(--act-blue-2);border-color:var(--act-blue-2)}
html[data-enc-theme=nuit] .pro-active-actions .btn.solid:hover{color:#0B1033}
.pro-active h3{margin:0 0 8px;font-size:1rem;color:var(--act-ink)}
.pro-active-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.pro-active-list li{position:relative;padding-inline-start:26px;line-height:1.5;color:var(--act-ink)}
.pro-active-list li::before{content:"";position:absolute;inset-inline-start:2px;top:.35em;width:12px;height:7px;border-left:2px solid var(--act-ok);border-bottom:2px solid var(--act-ok);transform:rotate(-45deg)}
html[data-enc-theme=nuit] body .pro-active-actions .btn:not(.solid){background:transparent!important;color:#fff!important;border-color:var(--act-line-2)!important}
@media(max-width:600px){.pro-active{padding:20px 18px}.pro-active-actions .btn{flex:1 1 100%;justify-content:center}}

/* ---------- Guide pas à pas « Mon premier devis » ---------- */
.guide-panel{position:fixed;z-index:1200;inset-inline-end:20px;bottom:20px;width:min(380px,calc(100vw - 32px));max-height:min(78vh,620px);overflow:auto;background:var(--act-bg);color:var(--act-ink);border:1px solid var(--act-line-2);border-radius:18px;box-shadow:0 2px 6px rgba(11,16,51,.08),0 24px 60px -18px rgba(11,16,51,.45);font-size:15px}
.guide-head{position:sticky;top:0;display:flex;align-items:center;gap:8px;padding:12px 12px 10px 16px;background:var(--act-bg);border-bottom:1px solid var(--act-line)}
.guide-brand{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--act-blue-soft);color:var(--act-blue-2);font-size:15px}
html[data-enc-theme=nuit] .guide-brand{color:#fff}
.guide-name{font-weight:700;flex:1}
.guide-collapse,.guide-x{min-height:36px;padding:6px 10px;border:1px solid var(--act-line);border-radius:9px;background:transparent;color:var(--act-ink);font:inherit;font-size:13px;cursor:pointer}
.guide-x{font-size:20px;line-height:1;width:38px;padding:0}
.guide-body{padding:14px 18px 18px}
.guide-panel.is-collapsed .guide-body{display:none}
.guide-count{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--act-muted)}
.guide-progress{height:6px;border-radius:99px;background:var(--act-bg-3);overflow:hidden;margin:0 0 14px}
.guide-progress i{display:block;height:100%;background:var(--act-blue);border-radius:99px;transition:width .25s}
html[data-enc-theme=nuit] .guide-progress i{background:var(--act-blue-2)}
.guide-body h2{margin:0 0 8px;font-size:1.15rem;line-height:1.3;color:var(--act-ink);outline:none}
.guide-text{margin:0 0 12px;line-height:1.6;color:var(--act-ink)}
.guide-state{display:inline-flex;align-items:center;gap:6px;margin:0 0 14px;padding:4px 10px;border-radius:99px;font-size:13px;font-weight:700;background:var(--act-warn-bg);color:var(--act-warn)}
.guide-state[data-state=done]{background:var(--act-ok-bg);color:var(--act-ok)}
.guide-state[data-state=done]::before{content:"✓"}
.guide-state[data-state=optional]{background:var(--act-grey-bg);color:var(--act-grey)}
.guide-end{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:var(--act-ok-bg);color:var(--act-ok);font-weight:600;line-height:1.5}
.guide-nav{display:flex;flex-wrap:wrap;gap:8px}
.guide-btn{flex:1 1 auto;min-height:44px;padding:9px 14px;border:1px solid var(--act-line-2);border-radius:10px;background:var(--act-bg);color:var(--act-ink);font:inherit;font-weight:700;cursor:pointer}
.guide-btn.solid{background:var(--act-blue);border-color:var(--act-blue);color:#fff}
.guide-btn:focus-visible,.guide-collapse:focus-visible,.guide-x:focus-visible{outline:3px solid var(--act-blue-2);outline-offset:2px}
.guide-target{outline:3px solid var(--act-blue)!important;outline-offset:6px;border-radius:14px;scroll-margin:96px;transition:outline-color .2s}
html[data-enc-theme=nuit] .guide-target{outline-color:var(--act-blue-2)!important}
.guide-launch{white-space:nowrap}
@media(max-width:640px){.guide-panel{inset-inline:8px;bottom:8px;width:auto;max-height:50vh;border-radius:16px}.guide-body{padding:12px 14px 14px}.guide-text{font-size:14px}}
@media(prefers-reduced-motion:reduce){.guide-progress i{transition:none}}
