
:root{
  --paper:#F5F8F8; --surface:#FFFFFF; --ink:#162B38; --muted:#647582; --line:#E4EAE9;
  --green:#006C48; --green-soft:#E9F5EF; --on-green:#FFFFFF; --mark:#FBE9A6; --mark-ink:#14211C; --passage:#E4D6FB; --passage-ink:#14211C;
  --flag-r:#CE1126; --flag-y:#FCD116; --flag-g:#009460;
  --t-nat:#E3ECF8; --t-nat-ink:#1D4E89; --t-bra:#EDE4F7; --t-bra-ink:#5B2E8C; --t-ent:#FBEBD9; --t-ent-ink:#8A4B0F; --t-int:#F8E1E6; --t-int-ink:#8C1F3A;
  --serif:Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0F1613; --surface:#18221D; --ink:#E7EDE8; --muted:#97A69E; --line:#2B3831;
    --green:#74C6A3; --green-soft:#1C2E26; --on-green:#0F1613; --mark:#5A4B12; --mark-ink:#FFF4CC; --passage:#4A3A7A; --passage-ink:#F3EDFF;
    --t-nat:#1B2A3D; --t-nat-ink:#9CC2F0; --t-bra:#2A2140; --t-bra-ink:#C9AEF0; --t-ent:#3A2A17; --t-ent-ink:#F2C08A; --t-int:#3B1D25; --t-int-ink:#F0A3B5;
  }
}
:root[data-theme="dark"]{
  --paper:#0F1613; --surface:#18221D; --ink:#E7EDE8; --muted:#97A69E; --line:#2B3831;
  --green:#74C6A3; --green-soft:#1C2E26; --on-green:#0F1613; --mark:#5A4B12; --mark-ink:#FFF4CC; --passage:#4A3A7A; --passage-ink:#F3EDFF;
  --t-nat:#1B2A3D; --t-nat-ink:#9CC2F0; --t-bra:#2A2140; --t-bra-ink:#C9AEF0; --t-ent:#3A2A17; --t-ent-ink:#F2C08A; --t-int:#3B1D25; --t-int-ink:#F0A3B5;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.5;-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:4px}
mark{background:var(--mark);color:var(--mark-ink);border-radius:2px;padding:0 .08em}

.flag{display:flex;height:5px}
.flag i{flex:1}
.flag i:nth-child(1){background:var(--flag-r)}
.flag i:nth-child(2){background:var(--flag-y)}
.flag i:nth-child(3){background:var(--flag-g)}

.wrap{max-width:50rem;margin:0 auto;padding:0 1.25rem}
header.top{padding:2rem 0 1.1rem}
header.top h1{font-family:var(--serif);font-weight:500;font-size:clamp(1.9rem,5vw,2.75rem);line-height:1.08;letter-spacing:-0.015em;margin:0 0 .5rem}
header.top p{margin:0;color:var(--muted);font-size:.95rem}

/* Search bar: stays in reach while results scroll */
.searchbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--paper);padding:.6rem 0 .7rem;border-bottom:1px solid var(--line)}
.field{display:flex;align-items:center;gap:.5rem;background:var(--surface);border:1.5px solid var(--green);border-radius:10px;padding:.2rem .5rem .2rem .9rem}
.field input{flex:1;min-width:0;border:0;background:transparent;outline:none;font-family:var(--serif);font-size:1.3rem;padding:.55rem 0}
.field input::placeholder{color:var(--muted);opacity:.85}
.field input::-webkit-search-cancel-button{display:none}
.clear{flex:none;background:none;border:0;color:var(--muted);padding:.4rem .5rem;font-size:.9rem}
.summary{margin:.5rem 0 0;font-size:.88rem;color:var(--muted);min-height:1.3em}
.tools label{display:flex;align-items:center;gap:.4rem;min-width:0;max-width:100%;white-space:nowrap}
.tools select{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:.25rem .4rem;min-width:0;flex:1 1 auto;width:100%;max-width:17rem;text-overflow:ellipsis}

.sugg-title{margin:1.4rem 0 .5rem;font-size:.9rem;color:var(--muted)}
.sugg{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}
.sugg button{background:var(--green-soft);color:var(--green);border:0;border-radius:6px;padding:.35rem .7rem;font-weight:500;font-size:.92rem}
.sugg button:hover{background:var(--green);color:var(--on-green)}

/* Result: article number hangs in the margin, as in a printed code */
.res{display:grid;grid-template-columns:5.25rem 1fr;gap:0 1rem;padding:1rem 0;border-bottom:1px solid var(--line);width:100%;background:none;border-left:0;border-right:0;border-top:0;text-align:left}
.res:hover .res-num{text-decoration:underline;text-underline-offset:3px}
.res-num{white-space:nowrap;font-weight:600;font-size:.92rem;color:var(--green);padding-top:.15rem;font-variant-numeric:tabular-nums}
.res-path{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.25rem}
.res-text{display:block;font-family:var(--serif);font-size:1.08rem;line-height:1.55}
.art-body{font-family:var(--serif);font-size:1.06rem;line-height:1.6;min-width:0}
.art-body p{margin:0 0 .55rem}
.art-body p.dash{padding-left:1.1rem;text-indent:-1.1rem}
.art-body p.dash.sub{padding-left:2.3rem;margin-bottom:.3rem}
.art{display:grid;grid-template-columns:5.25rem 1fr;gap:0 1rem;padding:.85rem 0;border-top:1px solid var(--line)}
.art-num button{background:none;border:0;padding:.2rem 0 0;font-weight:600;font-size:.9rem;color:var(--green);text-align:left}
.art-num button:hover{text-decoration:underline;text-underline-offset:3px}
@media (max-width:34rem){
  .res,.art{grid-template-columns:1fr}
  .res-num{padding:0 0 .2rem}
  .field input{font-size:1.15rem}
}
.empty{color:var(--muted);padding:1.25rem 0;max-width:38rem}

/* Table of contents */
.livre{font-family:var(--serif);font-weight:500;font-size:1.35rem;margin:1.75rem 0 .4rem}
.sec{border-top:1px solid var(--line)}
.sec>summary{cursor:pointer;padding:.6rem 0;display:flex;gap:.75rem;justify-content:space-between;align-items:baseline;list-style:none}
.sec>summary::-webkit-details-marker{display:none}
.sec>summary .t{min-width:0}
.sec>summary .up{display:block;font-size:.8rem;color:var(--muted)}
.sec>summary .r{flex:none;font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums}
.sec>summary b{font-weight:600}
.sec[open]>summary b{color:var(--green)}
.sec .inner{padding-bottom:.5rem}

/* Reader */
dialog{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:0;width:min(44rem,calc(100vw - 1.5rem));max-height:min(88vh,50rem)}
dialog::backdrop{background:rgba(10,20,15,.55)}
.dlg{display:flex;flex-direction:column;max-height:inherit}
.dlg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.25rem .8rem;border-bottom:1px solid var(--line)}
.dlg-head h2{font-family:var(--serif);font-weight:500;font-size:1.6rem;margin:0;line-height:1.1}
.dlg-head p{margin:.35rem 0 0;font-size:.82rem;color:var(--muted)}
.dlg-body{overflow:auto;padding:1rem 1.25rem;font-family:var(--serif);font-size:1.125rem;line-height:1.62}
.dlg-body p{margin:0 0 .7rem}
.dlg-body p.dash{padding-left:1.1rem;text-indent:-1.1rem}
.dlg-body p.dash.sub{padding-left:2.3rem;margin-bottom:.3rem}
.dlg-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.7rem 1.25rem;border-top:1px solid var(--line)}
.dlg-foot .nav{display:flex;gap:.5rem}
.btn{border:1px solid var(--green);background:transparent;color:var(--green);border-radius:7px;padding:.45rem .8rem;font-weight:600;font-size:.92rem}
.btn:disabled{opacity:.4;cursor:default}
.x{background:none;border:1px solid var(--line);border-radius:7px;padding:.3rem .65rem;color:var(--muted)}

footer{margin:3rem 0 2rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted);max-width:42rem}

/* Source picker */
.sources{border:0;margin:.7rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.sources legend{float:left;font-size:.85rem;color:var(--muted);padding:0;margin-right:.35rem;line-height:2rem}
.src-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:6px;padding:.3rem .6rem;font-size:.88rem;font-weight:500;display:inline-flex;align-items:center;gap:.4rem}
.src-chip::before{content:"";width:.8rem;height:.8rem;border:1.5px solid currentColor;border-radius:3px;flex:none}
.src-chip[aria-pressed="true"]{border-color:var(--green);color:var(--green);background:var(--green-soft)}
.src-chip[aria-pressed="true"]::before{background:var(--green);border-color:var(--green);box-shadow:inset 0 0 0 2px var(--green-soft)}
.src-chip .n{font-variant-numeric:tabular-nums;font-weight:600}
.src-sep{flex-basis:100%;height:0}
.tag{display:inline-block;font-size:.74rem;font-weight:600;border-radius:4px;padding:.05rem .4rem;margin-right:.4rem;background:var(--green-soft);color:var(--green);vertical-align:.05em}
.tag.old{background:transparent;color:var(--muted);border:1px solid var(--line)}
.res-title{display:block;font-weight:600;margin-bottom:.15rem}
.srcblock{border-top:1px solid var(--line);margin-top:0}
.sugg + #toc, #toc{margin-top:1.75rem}
.srcblock:last-of-type{border-bottom:1px solid var(--line)}
.srcblock>summary{cursor:pointer;list-style:none;padding:.9rem 0;display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.srcblock>summary::-webkit-details-marker{display:none}
.srcblock>summary .nm{font-family:var(--serif);font-weight:500;font-size:1.3rem;line-height:1.2}
.srcblock>summary .full{display:block;font-size:.82rem;color:var(--muted);margin-top:.2rem}
.srcblock>summary .ct{flex:none;font-size:.82rem;color:var(--muted);text-align:right}
.srcblock[open]>summary .nm{color:var(--green)}
.srcbody{padding:0 0 1rem 0}
.srcnote{font-size:.88rem;color:var(--muted);border-left:3px solid var(--flag-y);padding:.1rem 0 .1rem .75rem;margin:0 0 .75rem;max-width:42rem}
.group-title{font-size:.9rem;color:var(--muted);margin:2.25rem 0 .5rem}
@media (max-width:44rem){.searchbar{position:static}.srcblock>summary{flex-direction:column;gap:.35rem}.srcblock>summary .ct{text-align:left}.srcblock>summary .ct br{display:none}.srcblock>summary .ct .tag{margin-right:.5rem}}
.rd-note{font-size:.85rem;color:var(--muted);border-left:3px solid var(--flag-y);padding:.1rem 0 .1rem .75rem;margin:0 0 .9rem;font-family:var(--sans);line-height:1.45}
.rd-sub{font-family:var(--serif);font-size:1.1rem;margin:.25rem 0 0;color:var(--ink)}
.dlg-foot .right{display:flex;gap:.5rem;flex-wrap:wrap}

/* Mode switch */
.tabs{display:flex;gap:1.5rem;border-bottom:1px solid var(--line);margin-bottom:.25rem}
.tabs button{background:none;border:0;padding:.55rem 0;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--muted);font-weight:500}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--green)}
.wrap.wide{max-width:80rem}
/* Compare: two reading panes that scroll on their own */
.cmp-tabs{display:none;gap:.4rem;margin:.9rem 0 0}
.cmp-tabs button{flex:1;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:7px;padding:.45rem .5rem;font-weight:600;font-size:.88rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmp-tabs button[aria-selected="true"]{border-color:var(--green);color:var(--green);background:var(--green-soft)}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1rem}
.col{min-width:0;border:1px solid var(--line);background:var(--surface);border-radius:10px;display:flex;flex-direction:column;height:calc(100vh - 12.5rem);height:calc(100dvh - 12.5rem);min-height:26rem}
.col-head{padding:.6rem .75rem;border-bottom:1px solid var(--line);display:flex;gap:.5rem;align-items:center}
.col-head select{flex:1;min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:.4rem .5rem;font-weight:600}
.col-body{flex:1;overflow:auto;padding:0 1rem 1rem}
.col-info{font-size:.85rem;color:var(--muted);margin:.8rem 0 .2rem}
.col .res{grid-template-columns:1fr;padding:.8rem 0}
.col .res-num{padding:0 0 .15rem}
.col .res-text{font-size:1rem}
.col .art{grid-template-columns:1fr}
.col-art h2{font-family:var(--serif);font-weight:500;font-size:1.5rem;line-height:1.15;margin:.9rem 0 0}
.col-art .rd-sub{margin-top:.2rem}
.col-art .meta{font-size:.8rem;color:var(--muted);margin:.4rem 0 .9rem}
.col-art .txt{font-family:var(--serif);font-size:1.1rem;line-height:1.62}
.col-art .txt p{margin:0 0 .7rem}
.col-art .txt p.dash{padding-left:1.1rem;text-indent:-1.1rem}
.col-art .txt p.dash.sub{padding-left:2.3rem}
.col-bar{display:flex;flex-wrap:wrap;gap:.5rem;position:sticky;top:0;background:var(--surface);padding:.6rem 0;border-bottom:1px solid var(--line);z-index:1}
.btn.sm{padding:.3rem .6rem;font-size:.85rem}
.btn.fill{background:var(--green);color:var(--on-green)}
.rel{margin-top:1.25rem;padding-top:.9rem;border-top:1px solid var(--line);font-family:var(--sans)}
.rel h3{font-size:.9rem;font-weight:600;margin:0 0 .15rem}
.rel .hint{font-size:.8rem;color:var(--muted);margin:0 0 .3rem;line-height:1.4}
.rel .res{grid-template-columns:1fr;padding:.6rem 0;font-size:1rem}
.rel .res:last-child{border-bottom:0}
.rel .res-text{font-size:.98rem;line-height:1.45}
@media (max-width:56rem){
  .cmp{grid-template-columns:1fr}
  .cmp-tabs{display:flex}
  .col{height:auto;min-height:0}
  .col-body{overflow:visible}
  .col[data-off="1"]{display:none}
  .col-bar{position:static}
}

/* Cross-references and downloads */
.xref{background:none;border:0;padding:0;margin:0;font:inherit;color:var(--green);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer}
.xref:hover{text-decoration-style:solid}
.dlg-foot .nav{flex-wrap:wrap}
.dlg-foot .btn{white-space:nowrap}
.dl{margin-top:2.25rem}
.dl h2{font-family:var(--serif);font-weight:500;font-size:1.3rem;margin:0 0 .2rem}
.dl>p{font-size:.88rem;color:var(--muted);margin:0 0 .6rem;max-width:42rem}
.dl-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;border-top:1px solid var(--line)}
.dl-row:last-child{border-bottom:1px solid var(--line)}
.dl-row .nm{min-width:0}
.dl-row .nm small{display:block;color:var(--muted);font-size:.8rem}
.dl-row .btn{flex:none}
.dl-msg{font-size:.85rem;color:var(--muted);margin:.5rem 0 0;min-height:1.2em}

/* Copy the highlighted passage */
a.xref{color:var(--green)}
.passage{background:var(--passage);color:var(--passage-ink);border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:.08em 0}
.passage mark{background:transparent;color:inherit}
.seltool{position:fixed;z-index:50;display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem;padding:.3rem;background:var(--ink);border-radius:9px;box-shadow:0 6px 20px rgba(10,20,15,.28);max-width:calc(100vw - 1rem)}
.seltool button{border:0;border-radius:6px;padding:.4rem .65rem;font-family:var(--sans);font-size:.85rem;font-weight:600;white-space:nowrap;background:transparent;color:var(--paper)}
.seltool button:first-child{background:var(--green);color:var(--on-green)}
.seltool button:hover{filter:brightness(1.12)}
.seltool .done{padding:.4rem .65rem;font-family:var(--sans);font-size:.85rem;font-weight:600;color:var(--paper)}

/* ================= Comptes, verrous et administration ================= */
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.acct-btn{flex:none;margin-top:2rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.45rem .75rem;font-weight:600;font-size:.9rem;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.banner{border:1px solid var(--line);border-left:4px solid var(--flag-y);background:var(--surface);border-radius:8px;padding:.7rem .9rem;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between;font-size:.93rem}
.banner.bad{border-left-color:var(--flag-r)}
.banner.ok{border-left-color:var(--flag-g)}
.tag.lock{background:transparent;color:var(--muted);border:1px dashed var(--muted)}
.cut{position:relative;-webkit-mask-image:linear-gradient(#000 35%,transparent);mask-image:linear-gradient(#000 35%,transparent)}
.lockbox{font-family:var(--sans);border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:1rem;margin:.25rem 0 1rem;font-size:.95rem;line-height:1.45}
.lockbox p{margin:.3rem 0 .8rem;color:var(--muted);font-family:var(--sans);font-size:.9rem}
/* Auth */
.auth{max-width:26rem;margin:2.5rem auto 3rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.5rem}
.auth h2{font-family:var(--serif);font-weight:500;font-size:1.6rem;margin:0 0 .3rem}
.auth>p{color:var(--muted);font-size:.92rem;margin:0 0 1.1rem}
.field-row{margin-bottom:.85rem}
.field-row label{display:block;font-size:.88rem;font-weight:600;margin-bottom:.25rem}
.field-row input,.field-row select,.field-row textarea{display:block;width:100%;box-sizing:border-box;max-width:100%;background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:.55rem .65rem;font:inherit;color:inherit}
.field-row textarea{min-height:4.5rem;resize:vertical}
.field-row small{display:block;color:var(--muted);font-size:.8rem;margin-top:.2rem}
.pw-wrap{position:relative;display:block}
.pw-wrap input{padding-right:2.8rem}
.pw-eye{position:absolute;right:.3rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;background:none;border:0;padding:.35rem;color:var(--muted);cursor:pointer;border-radius:5px}
.pw-eye:hover,.pw-eye[aria-pressed=true]{color:var(--green)}
.pw-eye:focus-visible{outline:2px solid var(--green);outline-offset:1px}
.btn.wide{width:100%;padding:.6rem;font-size:1rem}
.btn.danger{border-color:var(--red,#A8322A);color:var(--red,#A8322A)}
.linkbtn{background:none;border:0;padding:0;color:var(--green);text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:.9rem}
.auth-links{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;flex-wrap:wrap}
.formmsg{font-size:.9rem;margin:.75rem 0 0;min-height:1.2em}
.formmsg.err{color:var(--flag-r)}
.formmsg.good{color:var(--green)}
.loading{text-align:center;color:var(--muted);padding:4rem 0}
/* Dialog bodies in sans for account / offers */
.dlg-body.sans{font-family:var(--sans);font-size:.97rem;line-height:1.5}
.dlg-body.sans h3{font-size:1rem;margin:1.2rem 0 .4rem}
.dlg-body.sans h3:first-child{margin-top:0}
.kv{display:grid;grid-template-columns:9rem 1fr;gap:.3rem 1rem;font-size:.93rem;margin:0}
.kv dt{color:var(--muted)} .kv dd{margin:0}
.offer{border:1px solid var(--line);border-radius:9px;padding:.75rem .85rem;margin-bottom:.6rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.offer .o-name{font-weight:600}
.offer .o-desc{font-size:.87rem;color:var(--muted);margin-top:.15rem}
.offer .o-price{font-size:.87rem;margin-top:.15rem}
.offer.mine{background:var(--green-soft);border-color:var(--green)}
.offer .btn{flex:none}
@media (max-width:34rem){ .kv{grid-template-columns:1fr} .kv dt{margin-top:.4rem} .offer{flex-direction:column;align-items:stretch} .acct-btn{max-width:9rem} }
/* Admin */
.wrap.admin{max-width:74rem}
table.grid{width:100%;border-collapse:collapse;font-size:.92rem}
table.grid th{text-align:left;font-weight:600;color:var(--muted);font-size:.82rem;padding:.5rem .6rem;border-bottom:1px solid var(--line);white-space:nowrap}
table.grid td{padding:.6rem;border-bottom:1px solid var(--line);vertical-align:top}
table.grid tr.rowlink{cursor:pointer}
table.grid tr.rowlink:hover td{background:var(--green-soft)}
.scroll-x{overflow-x:auto}
.pill{display:inline-block;font-size:.76rem;font-weight:600;border-radius:999px;padding:.1rem .55rem;border:1px solid var(--line);white-space:nowrap}
.pill.ok{background:var(--green-soft);color:var(--green);border-color:transparent}
.pill.warn{border-color:var(--flag-y)} .pill.bad{border-color:var(--flag-r);color:var(--flag-r)}
.toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;margin:1rem 0}
.toolbar input[type=search],.toolbar select{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:.5rem .65rem}
.toolbar .grow{flex:1;min-width:12rem}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem}
.card{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:1rem;display:flex;flex-direction:column;gap:.4rem}
.card h3{font-family:var(--serif);font-weight:500;font-size:1.3rem;margin:0}
.card .meta{font-size:.85rem;color:var(--muted)}
.card ul{margin:.2rem 0;padding-left:1.1rem;font-size:.9rem}
.card .btn{align-self:flex-start;margin-top:auto}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.3rem .8rem;margin:.2rem 0 .9rem}
.checks label{display:flex;gap:.45rem;align-items:flex-start;font-weight:400;font-size:.92rem}
.checks input{margin-top:.25rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
@media (max-width:40rem){ .two{grid-template-columns:1fr} }
.quick{display:flex;flex-wrap:wrap;gap:.4rem;margin:-.4rem 0 .9rem}
fieldset.sect{border:1px solid var(--line);border-radius:9px;padding:.8rem .9rem;margin:1rem 0}
fieldset.sect legend{font-weight:600;font-size:.9rem;padding:0 .35rem}
dialog.big{width:min(52rem,calc(100vw - 1.5rem))}
.count-badge{display:inline-block;min-width:1.3rem;text-align:center;background:var(--flag-r);color:#fff;border-radius:999px;font-size:.72rem;font-weight:700;padding:.05rem .35rem;margin-left:.35rem}
progress{width:100%}

/* ---------- logo, catégories, import de textes, apparence ---------- */
.brand-logo{display:block;max-height:3.5rem;max-width:12rem;width:auto;margin:0 0 .8rem;object-fit:contain}
.mini-title{font-size:.85rem;font-weight:600;margin:.4rem 0 .3rem}
.inline{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;font-size:.92rem;margin:.2rem 0 .7rem}
.suspend-bar{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;padding:.2rem 0 .4rem}
.suspend-bar .note{flex:1;min-width:14rem;margin:0}
details.sect.more{border:1px solid var(--line);border-radius:9px;padding:.7rem .9rem;margin:1.2rem 0}
details.sect.more>summary{cursor:pointer;font-weight:600;font-size:.9rem}
.field-row textarea.rawtext{min-height:14rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.45}
.parse-preview{margin-top:.8rem}
.parse-list{list-style:none;margin:.4rem 0 0;padding:0;max-height:22rem;overflow:auto;border:1px solid var(--line);border-radius:7px;background:var(--paper)}
.parse-list li{padding:.35rem .6rem;border-top:1px solid var(--line);font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.parse-list li:first-child{border-top:0}
.parse-list li.ph{background:var(--green-soft);color:var(--green);font-weight:600;white-space:normal}
.parse-list .note{color:var(--muted)}
.logo-prev{display:flex;align-items:center;justify-content:center;height:5.5rem;border:1px dashed var(--line);border-radius:9px;background:var(--paper);margin-bottom:.8rem}
.logo-prev img{max-height:4.5rem;max-width:80%;object-fit:contain}
.logo-prev.empty::after{content:attr(data-empty);color:var(--muted);font-size:.88rem}
.swatches{display:flex;gap:.45rem;flex-wrap:wrap;margin:.2rem 0 .6rem}
.swatch{width:1.9rem;height:1.9rem;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
input[type=color]{width:3rem;height:2.4rem;padding:.1rem;border:1px solid var(--line);border-radius:7px;background:var(--surface)}
.inline input[type=text]{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:.5rem .6rem}
.font-sample{border:1px solid var(--line);border-radius:9px;padding:.8rem 1rem;background:var(--surface)}
.font-sample h3{font-family:var(--serif);font-weight:500;font-size:1.35rem;margin:0 0 .3rem;color:var(--green)}
.font-sample p{margin:0;font-family:var(--serif);font-size:1.05rem}
button.pill{cursor:pointer;background:none}

/* ---------- portail utilisateur : filtres par catégorie, actualités ---------- */
.scope{display:flex;flex-wrap:wrap;gap:.5rem;margin:.7rem 0 0}
.scope select{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:.35rem .5rem;font-size:.9rem;max-width:100%}
.tag.hid{background:transparent;border:1px dashed var(--muted);color:var(--muted)}
.news{margin:1.6rem 0 0}
.news h2{font-family:var(--serif);font-weight:500;font-size:1.4rem;margin:0 0 .4rem}
.news-item{display:block;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:.7rem 0}
.news-item:last-child{border-bottom:1px solid var(--line)}
.news-item .d{display:block;font-size:.8rem;color:var(--muted)}
.news-item .t{font-family:var(--serif);font-size:1.1rem;color:var(--green)}
.news-item:hover .t{text-decoration:underline;text-underline-offset:3px}

/* ---------- actions groupées sur les utilisateurs ---------- */
.bulkbar{position:sticky;top:0;z-index:4;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;background:var(--green-soft);border:1px solid var(--green);border-radius:9px;padding:.6rem .8rem;margin:0 0 .8rem}
.bulkbar strong{color:var(--green);margin-right:.3rem}
.bulkbar select,.bulkbar input[type=date]{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:.35rem .5rem;font-size:.9rem}
.bulk-extra{display:inline-flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.bulk-extra .inline{margin:0;font-size:.85rem}
.bulkbar .formmsg{margin:0}
.grid .pick{width:2.2rem;text-align:center;cursor:default}
.grid tr.picked td{background:var(--green-soft)}
.grid input[type=text],.grid input[type=number]{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:.35rem .5rem;width:100%;min-width:6rem}
.grid input[type=number]{min-width:0}
input[type=checkbox]{accent-color:var(--green)}
/* tous les champs : texte toujours bien contrasté, quel que soit le mode clair ou sombre */
:where(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),select,textarea){background-color:var(--surface);color:var(--ink)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}

/* ---------- documents libres ---------- */
.rich{font-family:var(--serif);font-size:1.08rem;line-height:1.6}
.rich h2{font-family:var(--serif);font-weight:500;font-size:1.45rem;margin:1.4rem 0 .5rem;color:var(--green)}
.rich h3{font-family:var(--serif);font-weight:600;font-size:1.18rem;margin:1.2rem 0 .4rem}
.rich h4{font-weight:600;font-size:1rem;margin:1rem 0 .3rem}
.rich p{margin:0 0 .8rem}
.rich ul,.rich ol{margin:0 0 .9rem;padding-left:1.4rem}
.rich li{margin:.2rem 0}
.rich a{color:var(--green)}
.rich blockquote{margin:.8rem 0;padding:.4rem 0 .4rem 1rem;border-left:3px solid var(--green);color:var(--muted)}
.rich table{border-collapse:collapse;margin:.8rem 0;font-size:.95rem;display:block;overflow-x:auto}
.rich th,.rich td{border:1px solid var(--line);padding:.35rem .55rem;text-align:left;vertical-align:top}
.rich>:first-child{margin-top:0}
.rich thead th{background:var(--surface-2,rgba(0,0,0,.04));font-weight:600}
/* schémas et images des textes */
.rich figure,.rt-editor figure{margin:1rem 0;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;max-width:100%}
.rich figure img,.rt-editor figure img,.rich img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:6px;background:#fff}
.rich figcaption,.rt-editor figcaption{font-size:.88rem;color:var(--muted);font-style:italic}
.rich img.img-wait,.rt-editor img.img-wait{min-width:12rem;min-height:6rem;background:var(--line)}
.rich img.img-missing,.rt-editor img.img-missing{min-width:12rem;min-height:3rem;opacity:.5}
.rt-editor table{border-collapse:collapse;margin:.6rem 0;font-size:.95rem}
.rt-editor th,.rt-editor td{border:1px solid var(--line);padding:.3rem .5rem;min-width:4rem;vertical-align:top}
.rt-editor thead th{font-weight:600}
.rich td p,.rich th p,.rt-editor td p,.rt-editor th p{margin:0}
.ins-bar{margin:.3rem 0 .6rem;gap:.4rem;flex-wrap:wrap}
.fig-panel:not(:empty){border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;margin:.6rem 0;display:flex;flex-direction:column;gap:.45rem}
.fig-list{display:flex;flex-direction:column;gap:.3rem}
.fig-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.fig-crop:not([hidden]){display:flex;flex-direction:column;gap:.5rem}
.fig-stage{max-height:70vh;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#fff}
.fig-stage canvas{display:block;width:100%;height:auto;cursor:crosshair;touch-action:none}
.doc-link{display:inline-block;text-decoration:none;margin:0 0 1rem}
.pdf-view{margin-top:1.2rem;display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}
.pdf-view iframe{width:100%;height:70vh;border:1px solid var(--line);border-radius:8px;background:#fff}
.rt-bar{display:flex;flex-wrap:wrap;gap:.3rem;margin:.6rem 0 .4rem}
.rt-editor{min-height:16rem;max-height:32rem;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:.8rem 1rem;background:var(--surface);color:var(--ink);font-family:var(--serif);font-size:1.02rem;line-height:1.55;outline:none}
.rt-editor:focus{border-color:var(--green)}
.rt-editor h2{font-size:1.35rem;font-weight:500;color:var(--green);margin:1rem 0 .4rem}
.rt-editor h3{font-size:1.12rem;margin:.9rem 0 .3rem}
.rt-editor p{margin:0 0 .6rem}
.rt-editor blockquote{margin:.6rem 0;padding-left:.9rem;border-left:3px solid var(--green)}
.rt-preview{margin-top:1rem;border:2px dashed var(--green);border-radius:10px;padding:1rem 1.2rem;background:var(--paper)}
.rt-pv-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--green);margin:0 0 .6rem}
.rt-pv-title{font-family:var(--serif);font-weight:500;font-size:1.6rem;margin:0 0 .3rem}
.rt-pv-meta{font-size:.85rem;color:var(--muted);margin:0 0 .9rem}
.rt-preview .pv-head{margin:1.2rem 0 .2rem;padding-top:.6rem;border-top:2px solid var(--line)}
.rt-preview .pv-head .up{display:block;font-size:.8rem;color:var(--muted)}
.rt-preview .pv-head b{font-weight:600;color:var(--green)}
.rt-preview .pv-num{font-weight:600;font-size:.9rem;color:var(--green)}
.rt-preview .art:first-of-type{border-top:0}

/* ---------- documents originaux (PDF ou image affichés tels quels) ---------- */
.docview{display:flex;flex-direction:column;gap:.6rem}
.docview-pages{display:flex;flex-direction:column;gap:.8rem}
.docview-page{width:100%;background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.12);overflow:hidden}
.docview-page canvas{display:block;width:100%;height:auto}
.docview-img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:4px;background:#fff}
.docview-status{font-size:.85rem;color:var(--muted);margin:0}
.docview-bar{display:flex;gap:.5rem;flex-wrap:wrap}
.docview-bar .btn{text-decoration:none}
.orig-view{margin:.8rem 0}

/* ---------- bandeau défilant ---------- */
.ticker{overflow:hidden;background:var(--green);color:var(--on-green);font-weight:600;font-size:.92rem;white-space:nowrap}
.ticker-track{display:inline-flex;gap:6rem;padding:.45rem 0 .45rem 100%;animation:ticker var(--ticker-time,20s) linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@media (prefers-reduced-motion: reduce){.ticker{white-space:normal;text-align:center}.ticker-track{animation:none;padding:.45rem 1rem;display:block}.ticker-track span+span{display:none}}

/* ---------- choix des sources en accordéon ---------- */
.src-acc{margin:.7rem 0 0;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.src-acc>summary{cursor:pointer;list-style:none;padding:.5rem .8rem;font-size:.9rem;display:flex;gap:.4rem;align-items:center}
.src-acc>summary::-webkit-details-marker{display:none}
.src-acc>summary::after{content:"▾";margin-left:auto;color:var(--muted);transition:transform .15s}
.src-acc[open]>summary::after{transform:rotate(180deg)}
.src-acc-t{color:var(--muted)}
.src-acc-n{font-weight:600;color:var(--green)}
.src-acc-tools{display:flex;gap:1rem;padding:0 .8rem}
.src-acc .sources{display:block;margin:0;padding:.3rem .8rem .8rem}
.src-group{margin-top:.5rem}
.src-group-t{display:block;font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.03em}
.src-row{display:flex;flex-wrap:wrap;gap:.4rem}
.src-chip.old{border-style:dashed}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.badge-prem{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border-radius:4px;padding:.05rem .4rem;background:#B8860B;color:#fff;vertical-align:.1em}
.badge-lock{display:inline-block;font-size:.72rem;border:1px dashed currentColor;border-radius:4px;padding:0 .3rem;opacity:.85}
.offer.prem{border-color:#B8860B;box-shadow:inset 3px 0 0 #B8860B}
.preview-banner{border-color:var(--green)!important}

/* ---------- espace entreprise ---------- */
.org-member{border:1px solid var(--line);border-radius:9px;padding:.7rem .8rem;margin:.6rem 0}
.org-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;flex-wrap:wrap}
.org-limits{margin-top:.5rem}
.org-limits>summary{cursor:pointer;font-size:.88rem;color:var(--green)}
.org-limits .mini{font-size:.82rem;font-weight:600;margin:.6rem 0 .2rem}

/* ---------- inscription : particulier ou entreprise ---------- */
.acct-kind{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:0 0 1rem}
.kind-opt{display:flex;gap:.5rem;align-items:flex-start;border:1.5px solid var(--line);border-radius:9px;padding:.6rem .7rem;cursor:pointer;background:var(--paper)}
.kind-opt:has(input:checked){border-color:var(--green);background:var(--green-soft)}
.kind-opt input{margin-top:.2rem;accent-color:var(--green)}
.kind-opt b{display:block;font-size:.95rem}
.kind-opt small{display:block;color:var(--muted);font-size:.8rem}
.offer-co{border:1px solid var(--line);border-radius:9px;padding:.6rem .8rem;margin-top:1rem}
.offer-co>summary{cursor:pointer;font-weight:600;color:var(--green)}

/* ---------- espace client ---------- */
section.dash{padding:.5rem 0 2rem}
.dash-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin:.4rem 0 .6rem}
.dash-head h2{font-family:var(--serif);font-weight:500;font-size:1.7rem;margin:0}
.dash .tabs{margin-bottom:1rem}
.dcard{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:1rem 1.1rem;margin:0 0 1rem}
.dcard h3{font-family:var(--serif);font-weight:500;font-size:1.2rem;margin:0 0 .6rem}
.dsum{border-left:4px solid var(--green)}
.dsum .big{font-family:var(--serif);font-size:1.4rem;color:var(--green)}
.dsum .note{margin:.2rem 0 0}
.dstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.6rem;margin:0 0 1rem}
.dstat{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:.7rem .8rem}
.dstat b{display:block;font-family:var(--serif);font-size:1.6rem;font-weight:500;color:var(--green)}
.dstat span{font-size:.82rem;color:var(--muted)}
.dreq{border-top:1px solid var(--line);padding:.7rem 0}
.dreq:first-of-type{border-top:0}
.dreq-h{display:flex;justify-content:space-between;gap:.8rem;align-items:baseline}
.dreq-m{margin:.4rem 0 0;white-space:pre-wrap}
.dreq-reply{margin-top:.5rem;padding:.5rem .7rem;border-left:3px solid var(--green);background:var(--green-soft);border-radius:6px;white-space:pre-wrap}
.dfoot{display:flex;gap:.6rem;flex-wrap:wrap}
.offer-actions{display:flex;gap:.4rem;flex:none}
.sim{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0}
.note.pre,.pre{white-space:pre-wrap}
.reply-sent{margin-top:.3rem;font-size:.85rem;border-left:3px solid var(--green);padding-left:.5rem;white-space:pre-wrap}
.pay-conn{margin-top:1rem;padding-top:.8rem;border-top:1px dashed var(--line)}
.hook{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.3rem 0 .8rem}
.hook code{font-size:.82rem;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:.25rem .45rem;word-break:break-all}

/* ---------- avertissement d'inactivité ---------- */
.guard-dlg{max-width:26rem}
.guard-dlg h2{font-family:var(--serif);font-weight:500;margin:0 0 .5rem}
.guard-dlg strong{color:var(--green);font-variant-numeric:tabular-nums}
.guard-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}

/* ---------- lien partagé sur l'écran de connexion ---------- */
.share-card{border:1px solid var(--green);border-left:4px solid var(--green);background:var(--green-soft);border-radius:10px;padding:.8rem .9rem;margin:0 0 1rem}
.share-k{display:block;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--green)}
.share-t{font-family:var(--serif);font-size:1.2rem;margin:.2rem 0}
.share-s{font-size:.88rem}
.share-f{font-size:.8rem;color:var(--muted);margin-top:.15rem}
.share-cta{margin:.6rem 0 0;font-size:.92rem}
.share-card .note{margin:.4rem 0 0}

/* résultats : cliquables mais sélectionnables (copie d'extraits) */
div.res{cursor:pointer;user-select:text;-webkit-user-select:text}
div.res:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.doc-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:.2rem 0 .6rem}

/* ---------- options à la carte (Mon espace) ---------- */
.dopt{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--line);padding:.75rem 0}
.dopt:first-of-type{border-top:0}
.dopt.on .dopt-n{color:var(--green)}
.dopt-n{font-weight:600}
.dopt-i,.dopt-m{font-size:.85rem;color:var(--muted);margin-top:.15rem}
.dopt-m{color:var(--ink)}
.dopt-a{flex:none}
@media (max-width:34rem){ .dopt{flex-direction:column;align-items:stretch} }

/* ---------- espace collaboratif : dossiers ---------- */
.top-btns{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.acct-btn .count-badge{margin-left:.3rem}
.acct-btn.pulse{box-shadow:0 0 0 3px var(--green-soft)}
.dlist{display:flex;flex-direction:column}
.ditem{border-top:1px solid var(--line);padding:.8rem .2rem;cursor:pointer}
.ditem:hover .ditem-t b{color:var(--green)}
.ditem-t{font-size:1.05rem}
.ditem-m{font-size:.84rem;color:var(--muted);margin-top:.25rem}
.dmeta{font-size:.86rem;color:var(--muted);margin:.2rem 0 .6rem}
.ddesc{white-space:pre-wrap;margin:.4rem 0 .8rem}
.dext{font-size:.86rem;border-left:3px solid var(--flag-y);padding:.2rem .6rem;margin:.4rem 0}
.dconc{background:var(--green-soft);border-left:4px solid var(--green);border-radius:8px;padding:.6rem .8rem;margin:.4rem 0 .8rem;white-space:pre-wrap}
.dpeople{margin:.6rem 0}
.dchips{display:flex;flex-wrap:wrap;gap:.4rem}
.dchip{display:inline-flex;align-items:center;gap:.25rem;border:1px solid var(--line);border-radius:999px;padding:.2rem .6rem;font-size:.86rem;background:var(--surface)}
.dchip small{color:var(--muted)}
.dchip.ext{border-color:var(--flag-y)}
.dchip.pending{border-style:dashed}
.dchip-x{border:0;background:none;color:var(--muted);font-size:1rem;line-height:1;padding:0 .1rem}
.dacts{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.6rem 0}
.dform{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.5rem 0;padding:.6rem;border:1px dashed var(--line);border-radius:8px}
.dform input,.dform select{border:1px solid var(--line);border-radius:7px;padding:.45rem .6rem;min-width:12rem}
.dform .note{flex-basis:100%;margin:0}
.dbuy{flex-basis:100%}
.dmanage{border:1px solid var(--line);border-radius:9px;padding:.5rem .8rem;margin:.6rem 0}
.dmanage>summary{cursor:pointer;font-weight:600;font-size:.9rem}
.dmanage .field-row input,.dmanage .field-row select,.dmanage .field-row textarea{width:100%}
.dfeed{max-height:60vh;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:.6rem;background:var(--paper);display:flex;flex-direction:column;gap:.5rem}
.devent{font-size:.78rem;color:var(--muted);text-align:center}
.dmsg{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem;max-width:92%}
.dmsg.mine{align-self:flex-end;border-color:var(--green)}
.dmsg-h{display:flex;gap:.4rem;align-items:baseline;font-size:.85rem}
.dmsg-t{margin-left:auto;color:var(--muted);font-size:.75rem}
.dmsg-b{margin:.25rem 0 0;white-space:pre-wrap}
.dmention{color:var(--green);font-weight:600}
.dcite{border-left:3px solid var(--green);margin-top:.4rem;padding:.2rem 0 .2rem .7rem}
.dcite-h{font-size:.92rem}
.dcite-b{font-family:var(--serif);font-size:.98rem;max-height:14rem;overflow:auto;margin:.3rem 0}
.dcite-b p{margin:0 0 .4rem}
.dcite-q{margin:.3rem 0;font-style:italic;background:var(--mark);color:var(--mark-ink);padding:.2rem .4rem;border-radius:4px}
.dcite .btn{text-decoration:none}
.dcompose{display:flex;gap:.5rem;align-items:flex-end;margin-top:.6rem}
.dcompose textarea{flex:1;border:1px solid var(--line);border-radius:9px;padding:.5rem .6rem;font:inherit;resize:vertical}
.dsyn{border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;background:var(--surface);margin:.4rem 0 .8rem}
/* dossiers : mise en forme, export, fonctions à activer */
span[data-size="s"]{font-size:.85em}
span[data-size="l"]{font-size:1.25em}
.rich mark,.rich-msg mark,.rt-editor mark{background:var(--mark);color:var(--mark-ink);padding:0 .1em}
.dcompose{flex-direction:column;align-items:stretch}
.dcompose .btn.fill{align-self:flex-end}
.dmsg-ed{min-height:5rem;max-height:16rem;font-family:var(--sans);font-size:.95rem}
.dmsg-ed:empty::before{content:attr(data-ph);color:var(--muted)}
.rich-msg p{margin:0 0 .3rem}
.rich-msg ul,.rich-msg ol{margin:.2rem 0;padding-left:1.2rem}
.dexport{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:.4rem 0}
.dexport .mini-title{margin:0}
.dlocked{display:inline-block}
/* pièces jointes */
.dcompose-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.dcompose-row .btn.fill{margin-left:auto}
.dcompose-row .note{font-size:.78rem}
.dfile-chip{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px;padding:.4rem .6rem;background:var(--paper);margin-top:.3rem}
.dfile-i{font-size:1.2rem}
.dfile-n{font-weight:600;word-break:break-all}
.dfile-img{display:block;max-width:100%;max-height:18rem;margin-top:.4rem;border-radius:6px;border:1px solid var(--line)}

/* ---------- espace entreprise : niveaux de la hiérarchie, textes internes, vigueur ---------- */
.tier{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border-radius:4px;padding:.05rem .4rem;margin-right:.4rem;vertical-align:.1em}
.t-national{background:var(--t-nat);color:var(--t-nat-ink)} .t-branche{background:var(--t-bra);color:var(--t-bra-ink)}
.t-entreprise{background:var(--t-ent);color:var(--t-ent-ink)} .t-interne{background:var(--t-int);color:var(--t-int-ink)}
.tag.old.t-national,.tag.old.t-branche,.tag.old.t-entreprise,.tag.old.t-interne{border-color:transparent;opacity:.8}
.tag.org{background:transparent;color:var(--t-ent-ink);border:1px solid currentColor}
.badge-org{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:0 .3rem;background:var(--t-ent);color:var(--t-ent-ink)}
.srcblock>summary .vig{display:block;font-size:.8rem;color:var(--muted);margin-top:.2rem}
.rd-vig{font-size:.85rem;color:var(--ink);border-left:3px solid var(--t-nat-ink);padding:.1rem 0 .1rem .75rem;margin:0 0 .9rem;font-family:var(--sans)}
.prev-link{font-size:.88rem;color:var(--muted);margin:0 0 .8rem;font-family:var(--sans)}
.org-note{color:var(--t-ent-ink);font-weight:600}
.plain-list{list-style:none;padding:0;margin:.3rem 0 .8rem}.plain-list li{padding:.25rem 0;border-bottom:1px solid var(--line)}

/* ---------- « Ce qui s'applique », par thème ---------- */
.themes{margin:0 0 1.6rem}
.themes-hint{font-size:.85rem;color:var(--muted);margin:-.2rem 0 .6rem}
.theme-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.5rem}
.theme-btn{width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;padding:.6rem .8rem;color:var(--ink);display:flex;flex-direction:column;gap:.15rem}
.theme-btn:hover{border-color:var(--green)}
.theme-btn .nm{font-weight:600}
.theme-btn .ct{font-size:.8rem;color:var(--muted)}
.theme-btn .badge-org{align-self:flex-start;margin-top:.15rem}
.theme-card{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;background:var(--green-soft);border-radius:10px;padding:.7rem .9rem;margin:0 0 .9rem}
.theme-card .k{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--green)}
.theme-card .d{flex:1 1 14rem;font-size:.88rem;color:var(--ink)}
.fiche{border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem;margin:0 0 1rem;font-family:var(--sans)}
.fiche-org{border-color:var(--t-ent-ink)}
.fiche-h{display:flex;flex-wrap:wrap;gap:.4rem .6rem;align-items:baseline}
.fiche-h h3{margin:0;font-size:1.05rem;flex:1 1 16rem}
.fiche .k{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.2rem}
.fiche-rule{background:var(--green-soft);border-radius:8px;padding:.6rem .8rem;margin:.7rem 0 .6rem}
.fiche-rule p{margin:0;font-weight:600;color:var(--ink)}
.fiche-art p{margin:0;white-space:pre-wrap;line-height:1.5}
.fiche-asof{font-size:.78rem;color:var(--muted);margin:.7rem 0 0}
.th-sec{font-family:var(--sans);font-size:1rem;margin:1.4rem 0 .2rem}
.th-tier{margin:.8rem 0 0}
.th-tier-t{display:inline-block;font-family:var(--sans);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.1rem .5rem;margin:0 0 .3rem}
.th-tier-t:not([class*="t-"]){background:var(--line);color:var(--ink)}
.th-note{display:block;font-family:var(--sans);font-size:.85rem;color:var(--ink);border-left:3px solid var(--line);padding-left:.5rem;margin:.2rem 0}
.th-note.mine{border-left-color:var(--t-ent-ink);font-weight:600}
.th-old{margin:1rem 0 0;font-family:var(--sans)}
.th-old>summary{cursor:pointer;color:var(--muted);font-size:.9rem}
.aflag{display:inline-block;font-size:.72rem;font-weight:700;border-radius:4px;padding:.05rem .4rem;margin-right:.4rem;vertical-align:.05em}
.f-app{background:var(--green);color:var(--on-green)} .f-fav{background:#1F7A3E;color:#fff} .f-der{background:var(--t-ent);color:var(--t-ent-ink);border:1px solid currentColor} .f-eca{background:transparent;color:var(--muted);border:1px dashed currentColor}
.theme-links{font-family:var(--sans);font-size:.88rem;margin:1rem 0 0;padding-top:.8rem;border-top:1px solid var(--line)}
#th-body .hint{font-family:var(--sans);font-size:.85rem;color:var(--muted);margin:0 0 .4rem;line-height:1.45}
#th-body .res{padding:.6rem 0}

/* ---------- niveaux en lettres (comparaison) ---------- */
.tl{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%;font-family:var(--sans);font-size:.68rem;font-weight:800;margin-right:.35rem;vertical-align:.1em;flex:none}
.cmp-tools{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin:0 0 .7rem}
.cmp-legend{margin:0;font-size:.82rem;color:var(--muted);font-family:var(--sans)}
.cmp-acts{display:flex;gap:.4rem;flex-wrap:wrap}
.th-head-btns{display:flex;gap:.4rem;align-items:flex-start}
#print-area,#print-mark{display:none}

/* ---------- impression ---------- */
@media print{
  @page{margin:1.2cm}
  body.printing>*:not(#print-area):not(#print-mark){display:none!important}
  body:not(.printing) *{visibility:hidden}
  body{background:#fff!important;color:#000!important}
  #print-area{display:block;font-family:Georgia,"Times New Roman",serif;color:#000;font-size:11.5pt;line-height:1.5}
  #print-mark{display:block}
  body.pr-headed #print-area{padding-top:.9cm;padding-bottom:.9cm}
  body.pr-framed #print-area{padding-left:1.4cm;padding-right:1.4cm}
  .pr-doc h1{font-size:15pt;margin:.2cm 0}
  .pr-src,.pr-meta,.pr-ref,.pr-note{font-family:Arial,sans-serif;font-size:9pt;color:#333;margin:.1cm 0}
  .pr-ref{margin-top:.5cm;border-top:1px solid #999;padding-top:.2cm}
  .pr-denied{font-family:Arial,sans-serif;font-size:13pt;margin:3cm 1cm;text-align:center}
  .pr-cmp-h{display:grid;grid-template-columns:1fr 1fr;gap:.6cm;font-family:Arial,sans-serif;font-size:9pt;font-weight:700;margin-bottom:.3cm}
  #print-area .cmp{display:grid!important;grid-template-columns:1fr 1fr;gap:.6cm}
  #print-area .col{display:block!important;border:0;padding:0}
  #print-area .col-head{display:none}
  #print-area .tag,#print-area .tier,#print-area .tl,#print-area .aflag{border:1px solid #666;background:none!important;color:#000!important}
  #print-area mark{background:none;color:#000;font-weight:bold}
  #print-area details{display:block} #print-area details>*{display:block}
  #print-area .fiche{border:1px solid #666;break-inside:avoid}
  #print-area .res{break-inside:avoid}
  .pm-top,.pm-bottom,.pm-side,.pm-frame,.pm-diag{position:fixed;font-family:Arial,sans-serif;font-size:7pt;color:#444;white-space:nowrap;overflow:hidden}
  .pm-top{top:0;left:0;right:0;text-align:center;border-bottom:.5pt solid #999;padding-bottom:1mm}
  .pm-bottom{bottom:0;left:0;right:0;text-align:center;border-top:.5pt solid #999;padding-top:1mm}
  .pm-frame{top:.75cm;bottom:.75cm;left:.75cm;right:.75cm;border:1pt solid #555}
  .pm-side{top:50%;width:24cm;text-align:center}
  .pm-left{left:.3cm;transform:translate(-50%,-50%) rotate(-90deg) translateY(.2cm);transform-origin:center}
  .pm-right{right:.3cm;transform:translate(50%,-50%) rotate(90deg) translateY(.2cm);transform-origin:center}
  .pm-diag{inset:0;display:flex;flex-direction:column;justify-content:space-around;align-items:center;pointer-events:none}
  .pm-diag span{font-size:34pt;font-weight:700;color:#000;transform:rotate(-30deg);white-space:nowrap}
}
label.inline{flex-wrap:nowrap;align-items:flex-start}label.inline>input[type=checkbox]{margin-top:.2rem;flex:none}

/* ---------- fiches à étages, familles de thèmes ---------- */
.theme-fam{font-family:var(--sans);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:1rem 0 .4rem}
.badge-org.sec,.tag.org.sec{background:var(--t-bra);color:var(--t-bra-ink);border-color:var(--t-bra-ink)}
.tag.org.sec{background:transparent}
.fiche-sec{border-color:var(--t-bra-ink)}
.fiche-layer{border-left:3px solid var(--line);padding:.1rem 0 .1rem .7rem;margin:.5rem 0}
.fiche-layer.lv-general{border-left-color:var(--t-nat-ink)} .fiche-layer.lv-sector{border-left-color:var(--t-bra-ink)} .fiche-layer.lv-org{border-left-color:var(--t-ent-ink)}
.fiche-layer .fl-t{font-size:.8rem;font-weight:700;margin:0 0 .2rem;display:flex;align-items:center;gap:.1rem}
.fiche-layer .fl-r{font-weight:600;margin:0 0 .2rem}
.th-note.sec{border-left-color:var(--t-bra-ink)}
.note-box{border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;margin:0 0 .8rem;background:var(--paper)}.note-box .note{margin:.2rem 0}
.privacy{font-size:.8rem;color:var(--muted);margin:.6rem 0 0}.sf-grid td{vertical-align:top}.sf-grid td>select,.sf-grid td>textarea,.sf-grid td>input[type=text]{display:block;width:100%;margin:.2rem 0}.sf-grid label.inline{margin:.1rem 0}
.sf-grid td:first-child{min-width:16rem}.sf-grid small.note{display:block;margin:.2rem 0}
.bundle-sum{background:var(--green-soft);color:var(--ink);border-radius:8px;padding:.6rem .8rem;font-weight:600;margin:0 0 .8rem}

/* ---------- À retenir ---------- */
.reminders{margin:0 0 1.4rem}
.rem{border:1px solid var(--line);border-left:4px solid var(--flag-y);border-radius:8px;padding:.6rem .8rem;margin:0 0 .5rem;background:var(--surface);font-family:var(--sans)}
.rem-org{border-left-color:var(--t-ent-ink)} .rem-sector{border-left-color:var(--t-bra-ink)}
.rem-h{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:.15rem}
.rem-d{font-size:.8rem;font-weight:700;color:var(--muted)}
.rem-t{display:block}
.rem-b{margin:.2rem 0 0;font-size:.92rem}
.rem-n{margin:.35rem 0 0;font-size:.9rem;font-weight:600;border-left:3px solid var(--t-ent-ink);padding-left:.5rem}
.rem-a{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.35rem}
.rem-form{border:1px solid var(--line);border-radius:8px;padding:.8rem;margin:.6rem 0}.warn-hint{color:var(--t-ent-ink)!important;font-weight:600}.org-rem{margin-top:1.2rem}
.legal-links{margin:.6rem 0 0;font-size:.85rem}.legal-text{white-space:pre-wrap;font-family:var(--sans);font-size:.92rem;line-height:1.55}.terms{font-size:.88rem;margin:.6rem 0}

/* ---------- lisibilité : fil, glossaire, visite guidée ---------- */
.feed{margin:0 0 1.4rem}
.feed-tabs{display:flex;gap:.3rem;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:.4rem}
.feed-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:.4rem .6rem;font-weight:600;font-size:.88rem;color:var(--muted)}
.feed-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--green)}
.feed-item{display:flex;flex-wrap:wrap;gap:.2rem .6rem;align-items:baseline;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:.45rem .2rem;color:var(--ink);font-family:var(--sans)}
.feed-item:hover{background:var(--green-soft)}
.feed-item .t{flex:1 1 16rem;font-size:.92rem}
.feed-item .d{font-size:.8rem;color:var(--muted)}
.feed-item.new .t::before{content:"";display:inline-block;width:.45rem;height:.45rem;border-radius:50%;background:var(--flag-r);margin-right:.4rem;vertical-align:.15em}
.gl{border-bottom:1px dotted currentColor;cursor:help;position:relative}
.gl:hover::after,.gl:focus::after{content:attr(data-def);position:absolute;left:0;top:1.6em;z-index:20;width:min(18rem,70vw);background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:.8rem;line-height:1.4;padding:.5rem .6rem;border-radius:6px;white-space:normal;font-weight:400}
.tour{position:fixed;z-index:1000;background:var(--surface);color:var(--ink);border:2px solid var(--green);border-radius:10px;padding:.8rem .9rem;box-shadow:0 8px 30px rgba(0,0,0,.25);font-family:var(--sans);transition:top .2s,left .2s}
.tour p{margin:0 0 .6rem;font-size:.92rem;line-height:1.45}
.tour-nav{display:flex;gap:.4rem;align-items:center;justify-content:flex-end}
.tour-n{margin-right:auto;font-size:.8rem;color:var(--muted)}
.tour-on{outline:3px solid var(--green)!important;outline-offset:4px;border-radius:8px;position:relative;z-index:5}
@media print{.tour{display:none}}

/* ---------- vitrine, échéances, rapport ---------- */
.showcase{max-width:52rem;margin:2rem auto 1rem;padding:0 1rem;font-family:var(--sans)}
.showcase h2{font-family:var(--serif);font-size:1.6rem;margin:0 0 .8rem}
.sc-args{padding-left:1.1rem;margin:0 0 1rem;line-height:1.6}
.sc-nums{display:flex;gap:1rem;flex-wrap:wrap;margin:0 0 .8rem}
.sc-num{background:var(--green-soft);border-radius:8px;padding:.6rem .9rem;min-width:8rem}
.sc-num b{display:block;font-size:1.4rem;color:var(--green)}
.sc-num span{font-size:.82rem;color:var(--muted)}
.sc-sectors{color:var(--muted);font-size:.9rem}
.sc-offers{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.7rem;margin:1rem 0}
.sc-offer{border:1px solid var(--line);border-radius:10px;padding:.8rem;background:var(--surface)}
.sc-offer h3{margin:.2rem 0 .3rem;font-size:1.05rem}
.sc-offer p{margin:.2rem 0;font-size:.9rem}
.sc-price{font-weight:700;color:var(--green)}
.sc-cta{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin:.8rem 0}
.sc-demo{border:1px solid var(--line);border-radius:10px;padding:1rem;margin:.6rem 0;background:var(--surface)}
.banner.expiry{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}
.usage-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin:.8rem 0}
.usage-lists ol{margin:0;padding-left:1.2rem;font-size:.9rem}
.inv-line{display:grid;grid-template-columns:9rem 1fr 4.5rem 8rem 2.2rem;gap:.4rem;margin:.3rem 0}.inv-total{font-weight:700;text-align:right}@media (max-width:40rem){.inv-line{grid-template-columns:1fr 1fr}}

/* ---------- administration : rubriques et sous-onglets ---------- */
.grp-bar{display:flex;gap:.3rem;flex-wrap:wrap;margin:0 0 .4rem}
.grp-bar button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:.45rem .8rem;font-weight:600;font-size:.92rem}
.grp-bar button[aria-selected="true"]{background:var(--green);border-color:var(--green);color:var(--on-green)}
/* bascule entre les deux espaces administrés (administrateur seulement) */

.fam-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-top:1.2rem}.fam-head .set-group{margin:0}
.pill.fam-textes{background:#e8f1ec;color:#1d5c3a}

.sub-bar{display:flex;gap:.2rem;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 .8rem}
.sub-bar button{background:none;border:0;border-bottom:2px solid transparent;padding:.4rem .7rem;font-weight:600;font-size:.88rem;color:var(--muted)}
.sub-bar button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--green)}
.set-house{font-size:1.15rem;margin:1.6rem 0 .2rem;padding-top:.8rem;border-top:1px solid var(--line)}.set-house:first-of-type{border-top:0;padding-top:0;margin-top:.6rem}.set-group{font-size:1rem;margin:1.4rem 0 .6rem}.set-card{cursor:pointer}.set-card:hover{border-color:var(--green)}.set-card .meta{margin:.2rem 0 .4rem}.set-card>div:not(.meta){font-size:.9rem;color:var(--muted);margin-bottom:.6rem}
.home-link{cursor:pointer}.feed-more,.dl-more{display:block;margin:.5rem 0 0;font-size:.88rem}.dl-note{font-size:.9rem;color:var(--muted)}

/* ---------- pagination ---------- */
.pager{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin:.8rem 0;font-family:var(--sans)}
.pager .pg-info{font-size:.82rem;color:var(--muted);margin-right:.5rem}
.pager .pg{min-width:2.1rem;height:2.1rem;padding:0 .5rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-weight:600;font-size:.88rem}
.pager .pg:hover:not(:disabled){border-color:var(--green)}
.pager .pg.cur{background:var(--green);border-color:var(--green);color:var(--on-green)}
.pager .pg:disabled:not(.cur){opacity:.4}
.pager .pg-gap{color:var(--muted)}
.pager-row td{border-bottom:0}

/* ---------- espace Documents ---------- */
.docs-promo{border:1px solid var(--line);border-radius:10px;padding:1rem;margin:1.5rem 0;background:var(--surface);font-family:var(--sans)}
.docs-promo h2{margin:0 0 .3rem;font-size:1.1rem}
.docs-promo p{margin:0 0 .7rem;color:var(--muted);font-size:.92rem}
.docs-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}
.docs-filters input{flex:1 1 14rem;padding:.5rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.docs-filters select{padding:.45rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.docs-pager{min-height:2.6rem}
.doc-card{display:flex;flex-direction:column;gap:.3rem;font-family:var(--sans)}
.doc-card h3{margin:0;font-size:1rem}
.doc-kind{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.doc-desc{margin:0;font-size:.88rem}
.doc-meta{margin:0;font-size:.8rem;color:var(--muted)}
.doc-prev summary{cursor:pointer;font-size:.85rem;color:var(--green)}
.doc-prev p{white-space:pre-wrap;font-size:.85rem;background:var(--paper);border-radius:6px;padding:.5rem;margin:.3rem 0}
.doc-price{font-weight:700;color:var(--green);font-size:.92rem}
.badge-ok{align-self:flex-start;font-size:.75rem;font-weight:700;border-radius:4px;padding:.1rem .45rem;background:var(--green-soft);color:var(--green)}
.doc-card .btn{align-self:flex-start;margin-top:auto}
.doc-lic{margin:0;font-size:.75rem;color:var(--muted)}
.doc-links{margin:1.2rem 0 .5rem;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:8px;padding:.7rem .9rem;background:var(--surface);font-family:var(--sans)}
.doc-links h3{margin:0 0 .5rem;font-size:.95rem}
.doc-link-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.4rem 0;border-top:1px solid var(--line)}
.doc-link-row:first-of-type{border-top:0}
.doc-link-row .nm{display:flex;flex-direction:column;min-width:0}
.doc-link-row small{color:var(--muted);font-size:.8rem}
.doc-link-row .btn{flex:none}
.doc-proc{align-self:flex-start;text-align:left;font-size:.85rem}
.doc-btns{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:auto}
/* ---------- barre des espaces ---------- */
.spaces{display:flex;gap:.25rem;margin:.6rem 0 1rem;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;font-family:var(--sans)}
.spaces::-webkit-scrollbar{display:none}
.sp-btn{flex:none;background:none;border:0;border-bottom:3px solid transparent;padding:.55rem .8rem;font-weight:600;font-size:.95rem;color:var(--muted);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:.25rem}
.sp-btn:hover{color:var(--ink)}
.sp-btn[aria-current=page]{color:var(--green);border-bottom-color:var(--green)}
.sp-btn.sp-hid{opacity:.6}
.sp-tag{font-size:.65rem;font-weight:700;border:1px dashed currentColor;border-radius:4px;padding:0 .25rem;margin-left:.2rem}
.tab-hid{opacity:.6;font-style:italic}
.pr-soon{max-width:40rem}
.pr-soon p{margin:.3rem 0 0;color:var(--muted)}
@media (max-width:40rem){
  .spaces{position:fixed;left:0;right:0;bottom:0;z-index:40;margin:0;background:var(--surface);border-top:1px solid var(--line);border-bottom:0;justify-content:space-around;padding:0 .2rem env(safe-area-inset-bottom)}
  .sp-btn{border-bottom:0;border-top:3px solid transparent;padding:.6rem .4rem;font-size:.8rem}
  .sp-btn[aria-current=page]{border-top-color:var(--green)}
  #app{padding-bottom:3.6rem}
}
/* ---------- étiquettes et boutons d'action ---------- */

.act-kind{font-family:var(--sans);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}

.act-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:1rem 0}

.pill.muted{background:var(--line);color:var(--ink)}

.act-up{border:1px dashed var(--green);border-radius:10px;padding:.8rem 1rem;margin:1rem 0;background:var(--green-soft)}
.act-up h4{margin:0 0 .3rem;font-family:var(--sans)}.act-up p{margin:0 0 .5rem}

fieldset.sect{min-width:0;max-width:100%}
/* ---------- jeux ---------- */
.sp-stage{border:1px solid var(--line);border-radius:12px;padding:1.2rem;background:var(--surface);text-align:center;max-width:40rem}
.sp-time{margin:.4rem 0 1rem}.sp-time i.bad{background:var(--flag-r)}
.sp-q{font-size:1.25rem;font-weight:600;min-height:4.5rem;display:flex;align-items:center;justify-content:center;margin:.5rem 0 1rem}
.sp-btns{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.sp-b{min-width:8rem;padding:.8rem 1.2rem;font-size:1.05rem;font-weight:700}
.sp-v{border-color:var(--green);color:var(--green)}.sp-f{border-color:var(--flag-r);color:var(--flag-r)}
.mt-wrap{display:grid;grid-template-columns:2fr 1fr;gap:1rem;align-items:start;margin:.8rem 0}
.mt-row{display:flex;align-items:center;gap:.6rem;justify-content:space-between;border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem;margin-bottom:.5rem;background:var(--surface);cursor:pointer}
.mt-row.over{border-color:var(--green);background:var(--green-soft)}
.mt-q{margin:0;font-weight:600;flex:1}
.mt-drop{min-width:10rem;min-height:2.2rem;border:2px dashed var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;padding:.15rem}
.mt-row.full .mt-drop{border-style:solid;border-color:var(--green)}
.mt-pool{display:flex;flex-direction:column;gap:.4rem;position:sticky;top:3rem;border:1px dashed var(--line);border-radius:10px;padding:.6rem;min-height:3rem}
.mt-chip{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:.45rem .7rem;text-align:left;cursor:grab;font:inherit;font-size:.92rem}
.mt-chip.on{outline:3px solid var(--green);background:var(--green-soft)}
.od-sec{margin:.8rem 0}
.od-list{list-style:decimal;padding-left:1.6rem;margin:.4rem 0;max-width:40rem}
.od-row{display:flex;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;margin:.35rem 0;background:var(--surface);cursor:grab}
.od-row.drag{opacity:.5}.od-l{flex:1}.od-a{padding:.15rem .45rem}

@media (max-width:40rem){ .mt-wrap{grid-template-columns:1fr} .mt-pool{position:static;flex-direction:row;flex-wrap:wrap} .mt-row{flex-direction:column;align-items:stretch} .mt-drop{min-width:0} }

/* bouton de déconnexion (icône) */
.icon-btn{flex:none;margin-top:2rem;display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer}
.icon-btn:hover{color:var(--flag-r);border-color:var(--flag-r)}
/* « Quoi de neuf » mis en évidence */
.feed-tabs button.feed-news{color:var(--flag-r);font-weight:700}
.feed-tabs button.feed-news.fresh::before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--flag-r);margin-right:.35rem;vertical-align:middle;animation:pulse-red 1.6s ease-in-out infinite}
@keyframes pulse-red{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.feed-tabs button.feed-news.fresh::before{animation:none}}
/* ---------- accueil public ---------- */
.auth.auth-home{max-width:none;margin:1rem 0 2rem;background:none;border:0;padding:0}
.auth-home .showcase{max-width:none;padding:0;margin:2.5rem 0 1rem}
.pa-hero{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.6rem 1.4rem;font-family:var(--sans)}
.pa-hero h2{font-family:var(--serif);font-weight:500;font-size:1.8rem;margin:0 0 .3rem}
.pa-lead{color:var(--muted);margin:0 0 1rem}
.pa-search{display:flex;gap:.5rem}
.pa-search input{flex:1;min-width:0;font:inherit;font-size:1.05rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.pa-search input:focus{outline:2px solid var(--green);outline-offset:1px}
.pa-sugg{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0 0}
.chip{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:.25rem .7rem;font:inherit;font-size:.85rem;cursor:pointer}
.chip:hover{border-color:var(--green);color:var(--green)}
.pa-res{margin-top:1rem}
.pa-count{font-size:.85rem;color:var(--muted);margin:0 0 .4rem}
.pa-hit{display:flex;flex-direction:column;gap:.15rem;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:.65rem .2rem;cursor:pointer;font:inherit;color:var(--ink)}
.pa-hit:hover{background:var(--paper)}
.pa-hit-t{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.pa-hit-t b{color:var(--green)}
.pa-hit-p{font-size:.8rem;color:var(--muted)}
.pa-hit-x{font-family:var(--serif);font-size:.95rem}
.pa-free{display:inline-block;font-size:.72rem;font-weight:700;border-radius:4px;padding:.05rem .4rem;background:var(--green-soft);color:var(--green)}
.pa-lock{font-size:.75rem;color:var(--muted)}
.pa-sec{margin:2rem 0 0;font-family:var(--sans)}
.pa-sec h3{font-family:var(--serif);font-weight:500;font-size:1.4rem;margin:0 0 .7rem}
.pa-card{display:flex;flex-direction:column;gap:.35rem;text-align:left;cursor:pointer;font:inherit;color:var(--ink)}
.pa-cmp{background:var(--green-soft);border-radius:14px;padding:1.2rem 1.4rem}
.pa-cmp p{margin:0 0 .8rem}
.pa-text p{margin:0 0 .6rem}
.pa-timer{font-family:var(--sans);font-weight:700;color:var(--flag-r);margin:0 0 .6rem}
.pa-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.pa-col{border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;background:var(--surface)}
.pa-col h4{margin:0;font-family:var(--sans)}
.pa-blur{filter:blur(5px);pointer-events:none;user-select:none}
.pa-feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.7rem}
.pa-f{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden;display:flex;flex-direction:column}
.pa-f h4{margin:.6rem .75rem .2rem;font-size:.88rem;line-height:1.3}
.pa-f p{margin:0 .75rem .7rem;color:var(--muted);font-size:.78rem;line-height:1.45}
.pa-cta{margin-top:1.2rem}
/* aperçus dessinés */
.mk{height:6.8rem;background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem .6rem;display:flex;flex-direction:column;gap:.25rem;overflow:hidden;font-size:.62rem;font-family:var(--sans)}
.mk-bar{border:1px solid var(--green);border-radius:6px;padding:.25rem .5rem;color:var(--muted);background:var(--surface)}
.mk-line{height:.32rem;border-radius:3px;background:var(--line)}
.mk-line.hl{background:var(--flag-y)}
.w60{width:60%}.w70{width:70%}.w80{width:80%}.w90{width:90%}
.mk-tag,.mk-chip{align-self:flex-start;background:var(--green-soft);color:var(--green);border-radius:4px;padding:.05rem .4rem;font-weight:700}
.mk-rule{border-left:3px solid var(--green);background:var(--surface);padding:.3rem .5rem;display:flex;flex-direction:column;gap:.3rem}
.mk-tier{border-radius:4px;padding:0 .4rem;background:var(--surface);border:1px solid var(--line)}
.mk-tier.n{border-left:3px solid var(--green)}.mk-tier.b{border-left:3px solid var(--flag-y)}.mk-tier.e{border-left:3px solid var(--flag-r)}
.mk-two{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;height:100%}
.mk-two>div{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:.4rem;display:flex;flex-direction:column;gap:.3rem}
.mk-h{font-weight:700}
.mk-score{display:flex;align-items:baseline;gap:.2rem}.mk-score b{font-size:1.2rem;color:var(--ink)}.mk-score em{margin-left:auto;font-style:normal;color:var(--flag-r);font-weight:700}
.mk-meter{height:.5rem;border-radius:4px;background:var(--line);overflow:hidden}.mk-meter i{display:block;height:100%;background:var(--green)}.mk-meter i.w{background:var(--flag-y)}.mk-meter i.b{background:var(--flag-r)}
.mk-doc{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:.05rem .4rem}
.mk-grid{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}
.mk-card{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:.15rem .35rem;font-weight:600}
.mk-card i{display:block;font-style:normal;font-weight:400;color:var(--muted)}
/* aperçus compacts : une ligne grise de moins pour que tout tienne */
.mk-fiche .mk-rule .mk-line+.mk-line,.mk-company>.mk-line{display:none}
.mk-fiche .mk-rule{padding:.15rem .5rem}
@media (max-width:40rem){ .pa-cols{grid-template-columns:1fr} .pa-search{flex-direction:column} .pa-hero h2{font-size:1.45rem} }
.sc-h{font-family:var(--serif);font-weight:500;font-size:1.4rem;margin:0 0 .7rem}
.sc-tabs{display:flex;justify-content:center;gap:2rem;margin:0 0 1.2rem;border-bottom:1px solid var(--line);font-family:var(--sans)}
.sc-tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:.6rem .2rem;font-size:1.15rem;font-weight:600;color:var(--green);cursor:pointer;margin-bottom:-1px}
.sc-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--green)}
@media (max-width:34rem){ .sc-tabs{gap:1rem} .sc-tabs button{font-size:1rem} }

/* essai de la comparaison (vrai écran, extrait minuté) */
.demo-mode #docs-promo,.demo-mode #tour-wrap,.demo-mode #spaces{display:none!important}
.demo-ban{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;background:var(--green-soft);border:1px solid var(--green);border-radius:10px;padding:.5rem .8rem;margin:.5rem 0}
.demo-ban b{font-family:var(--sans);color:var(--flag-r);font-size:1.05rem}
.demo-ban span{flex:1 1 16rem}
#app.demo-over main,#app.demo-over .tabs,#app.demo-over .searchbar{filter:blur(5px);pointer-events:none;user-select:none}
.demo-end{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);padding:1rem}
.demo-end-c{max-width:30rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.4rem;font-family:var(--sans)}
.demo-end-c h3{font-family:var(--serif);font-weight:500;font-size:1.4rem;margin:0 0 .4rem}
/* double authentification */
.mfa-qr{display:block;width:12rem;height:12rem;background:#fff;padding:.5rem;border-radius:8px;margin:.5rem 0}
.mfa-code{font-size:1.4rem;letter-spacing:.3em;max-width:10rem;text-align:center}
.mfa-ban{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.6rem 0}
.mfa-box{margin-top:.6rem}

/* filigrane à l'écran : identité du compte, discrète, ne gêne ni la lecture ni les clics */
.screen-wm{position:fixed;inset:-20vh -20vw;z-index:9000;pointer-events:none;user-select:none;display:flex;flex-wrap:wrap;gap:5rem 6rem;align-content:flex-start;
  transform:rotate(-24deg);opacity:.06;color:var(--ink,#111);font:600 13px/1 system-ui,sans-serif;overflow:hidden}
.screen-wm span{white-space:nowrap}
@media print{.screen-wm{display:none}}

/* œil discret : document original d'un texte de l'entreprise */
.eye-btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:var(--muted);padding:.15rem .3rem;margin:0 .1rem;border-radius:5px;cursor:pointer;vertical-align:middle;opacity:.75;line-height:1}
.eye-btn:hover,.eye-btn:focus-visible{opacity:1;color:var(--green);background:var(--green-soft)}
.col-head .eye-btn{flex:none}
dialog.orig-dlg{width:min(60rem,calc(100vw - 1.5rem));max-height:94vh}
dialog.orig-dlg .dlg-body{padding:.8rem 1rem;font-family:var(--sans);font-size:1rem}

/* admin : copie de secours et question avant de quitter */
.backup-ban{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.7rem .9rem;margin:0 0 1rem;border:1px solid var(--flag-y);border-left-width:4px;border-radius:8px;background:var(--surface)}
.backup-ban p{flex:1 1 100%;margin:0;font-size:.92rem}
dialog.leave-dlg{width:min(30rem,calc(100vw - 1.5rem))}
.leave-box{padding:1.1rem 1.25rem}
.leave-box h3{margin:0 0 .5rem;font-family:var(--serif);font-weight:500;font-size:1.35rem}
.leave-box p{margin:0 0 1rem;font-size:.93rem;color:var(--muted)}
.leave-btns{display:flex;flex-wrap:wrap;gap:.5rem}
.rev-pill{display:inline-block;margin-top:.3rem;font-size:.75rem}
.rev-note{border-left:3px solid var(--green);padding-left:.7rem}
.auto-saved{margin:.4rem 0 0;font-size:.82rem}
.pub-panel{margin-top:1rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.pub-panel h4{margin:0 0 .5rem;font-size:1.05rem}
.pub-panel .impact{margin:.3rem 0 .8rem 1.1rem;padding:0;font-size:.9rem}
.pub-panel label.inline{margin:.4rem 0 .8rem}

/* symboles des boutons (icons.js) */
.ico{width:1.05em;height:1.05em;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.18em;margin-right:.42em}
.ico.fill{fill:currentColor}
.ico.end{margin-right:0;margin-left:.42em}
.btn.sm .ico{width:.98em;height:.98em}
.x.has-ico,.btn.has-ico{white-space:nowrap}
.x .ico{margin-right:.3em}
@media (max-width:600px){
  /* lecteur, sur téléphone : actions secondaires réduites à leur symbole */
  #rd-link.has-ico,#rd-print.has-ico,#rd-fav.has-ico{font-size:0;padding:.5rem .65rem}
  #rd-link .ico,#rd-print .ico,#rd-fav .ico{width:18px;height:18px;margin:0}
}
@media print{ .ico{display:none} }
/* bascule administration ↔ portail */
.switch-btn{display:inline-block;text-decoration:none;color:var(--green);border-color:var(--green)}
.admin .top-btns .acct-btn{margin-top:2rem}
@media (max-width:34rem){ .switch-btn.has-ico{font-size:0;padding:.45rem .6rem} .switch-btn .ico{width:18px;height:18px;margin:0} }
#reader .dlg-head{flex-wrap:nowrap}
.rd-admin{margin-left:auto;margin-right:-.5rem;text-decoration:none;display:inline-block;white-space:nowrap}
#reader .dlg-head > .x,#reader .dlg-head > .rd-admin{flex:none}
@media (max-width:34rem){ .rd-admin.has-ico{font-size:0;padding:.35rem .5rem} .rd-admin .ico{width:17px;height:17px;margin:0} }
/* admin : champs obligatoires */
.req-note{margin:0 0 .6rem;font-size:.8rem}
.field-row.invalid label{color:var(--flag-r)}
.field-row.invalid input,.field-row.invalid select,.field-row.invalid textarea{border-color:var(--flag-r);box-shadow:0 0 0 1px var(--flag-r)}
/* en-tête du document replié (accordéon) */
details.fold-head{border:1px dashed var(--line);border-radius:8px;padding:.35rem .8rem;margin:.2rem 0 .6rem;color:var(--muted)}
details.fold-head > summary{cursor:pointer;font-family:var(--sans);font-size:.85rem;font-weight:600;list-style-position:inside}
details.fold-head[open]{color:inherit}
details.fold-head[open] > summary{margin-bottom:.5rem}
.fold-ctl{margin:.6rem 0;padding:.6rem .8rem;border:1px dashed var(--line);border-radius:8px}
.fold-ctl label.inline{display:flex;align-items:center;gap:.45rem;margin:.25rem 0}
.fold-ctl .note{margin:.3rem 0 0}
/* annexes d'un texte */
.annexes{margin:1rem 0 .6rem;padding-top:.7rem;border-top:1px solid var(--line);font-family:var(--sans)}
.annexes h3{margin:0 0 .4rem;font-size:.95rem}
.annex-list{list-style:none;margin:0;padding:0}
.annex-list li{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.35rem 0;border-bottom:1px dashed var(--line);font-size:.92rem}
.annex-title{flex:1 1 12rem}
.annex-type{font-size:.72rem;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 .3rem}
.doc-caduc{display:inline-block;font-size:.74rem;font-weight:600;color:var(--t-int-ink);background:var(--t-int);border-radius:4px;padding:0 .35rem;margin-left:.3rem}
.rel-links{display:flex;flex-direction:column;gap:.1rem}
.annex-admin{list-style:none;margin:.3rem 0 .8rem;padding:0}
.annex-admin li{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.35rem 0;border-bottom:1px dashed var(--line)}
.annex-admin li strong{flex:0 1 auto}
.annex-admin li .note{flex:1 1 8rem}

/* admin : plein écran de contrôle du texte (original · texte · découpage) */
dialog.ws-on{width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:0;border-radius:0}
.ws{position:fixed;inset:0;z-index:20;background:var(--surface);display:flex;flex-direction:column}
.ws[hidden]{display:none}
.ws-top{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;border-bottom:1px solid var(--line)}
.ws-top .note{flex:1;margin:0;font-size:.82rem}
.ws-cols{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr)}
.ws-col{min-height:0;overflow:auto;padding:.7rem .9rem;border-right:1px solid var(--line);display:flex;flex-direction:column}
.ws-col:last-child{border-right:0}
.ws-col h4{margin:0 0 .5rem;font-size:.85rem;color:var(--muted);font-weight:600}
.ws-text{overflow:hidden}
.ws-text textarea.rawtext{flex:1;min-height:0;width:100%;resize:none;white-space:pre;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.5}
.ws-tools{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-bottom:.5rem}
.ws-tools input[type=text]{width:9rem;padding:.3rem .45rem;font-size:.85rem}
.ws-origview{flex:1}
.ws-repeat{margin-top:.8rem;border-top:1px dashed var(--line);padding-top:.5rem}
.ws-repeat label.inline{display:flex;gap:.4rem;align-items:flex-start;font-size:.82rem;margin:.2rem 0}
.jump{cursor:pointer}
.parse-list li.jump:hover,p.jump:hover{background:var(--green-soft)}
body.ws-lock{overflow:hidden}
@media (max-width:900px){ .ws-cols{display:block;overflow:auto} .ws-col{display:block;overflow:visible;border-right:0;border-bottom:1px solid var(--line)} .ws-origview{max-height:55vh;overflow:auto} .ws-text{overflow:visible} .ws-text textarea.rawtext{height:60vh} }
/* admin : genre de document reconnu (propositions) */
.profile-ban{margin:.6rem 0;padding:.7rem .9rem;border:1px solid var(--green);border-left-width:4px;border-radius:8px;background:var(--green-soft)}
.profile-ban p{margin:.15rem 0}
.profile-ban ul{margin:.2rem 0 .4rem 1.1rem;padding:0;font-size:.9rem}
.profile-ban strong{display:inline-block;margin-bottom:.2rem}

/* « Ce qui s'applique » : familles repliables, thèmes en lignes compactes */
.th-top{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:.4rem 0 .6rem}
.th-top input[type=search]{flex:1 1 14rem;max-width:22rem;padding:.45rem .6rem}
.th-legend{margin:0;font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.th-legend .th-dot:not(:first-child){margin-left:.6rem}
.th-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;flex:none}
.th-dot.org{background:var(--t-ent-ink)}
.th-dot.sec{background:var(--t-bra-ink)}
.th-dot.none{background:transparent}
.th-acc{display:flex;flex-direction:column;gap:.4rem}
.th-group{border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;background:var(--surface)}
.th-group > summary{cursor:pointer;display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;font-family:var(--sans);list-style:none}
.th-group > summary::-webkit-details-marker{display:none}
.th-group > summary::before{content:"›";display:inline-block;width:.8rem;color:var(--muted);transition:transform .15s}
.th-group[open] > summary::before{transform:rotate(90deg)}
.th-gname{font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
.th-gcount{font-size:.8rem;color:var(--muted);white-space:nowrap}
.th-rows{list-style:none;margin:0;padding:0 .4rem .4rem}
.th-row{width:100%;display:flex;align-items:baseline;gap:.6rem;padding:.45rem .5rem;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);text-align:left;cursor:pointer;border-radius:4px}
.th-rows li:first-child .th-row{border-top:0}
.th-row:hover,.th-row:focus-visible{background:var(--green-soft)}
.th-row .nm{font-weight:600;flex:1 1 auto}
.th-row .ct{font-size:.8rem;color:var(--muted);white-space:nowrap}
.th-row .th-dot{align-self:center}

/* accueil : offres (détail dépliable, choix, comparaison) */
.sc-offer{display:flex;flex-direction:column}
/* mention « Recommandé », « Meilleure offre » : petite, en haut à gauche, sans décaler le titre (même hauteur pour toutes les cartes) */
.sc-offer{position:relative;padding-top:1.45rem}
.sc-offer>.badge-prem{position:absolute;top:.45rem;left:.8rem;font-size:.6rem;padding:0 .35rem;line-height:1.5}
.sc-offer h3{margin-top:0}
.sc-foot{margin-top:auto;padding-top:.6rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.sc-detail{margin-top:.5rem;border-top:1px dashed var(--line);padding-top:.4rem;font-size:.9rem}
.sc-detail .sc-dh{margin:.4rem 0 .15rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.sc-detail ul{margin:0;padding-left:1.1rem}
.sc-detail li{margin:.1rem 0}
.sc-cmp-btn{margin-top:.8rem}
.sc-compare{margin-top:.8rem;overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.sc-compare table{border-collapse:collapse;width:100%;min-width:32rem;font-size:.9rem}
.sc-compare th,.sc-compare td{padding:.45rem .6rem;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.sc-compare tr:first-child th{position:sticky;top:0;background:var(--surface)}
.sc-compare td.sc-rl,.sc-compare tr th:first-child{text-align:left;position:sticky;left:0;background:var(--surface);min-width:11rem}
.sc-compare th.sc-sec{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--paper)}
.sc-cn{display:block;font-weight:700}
.sc-cp{display:block;font-size:.8rem;font-weight:400;color:var(--green)}
.sc-yes{color:var(--green);font-weight:700}
.sc-no{color:var(--muted)}
.sc-chosen{padding:.5rem .7rem;border-left:3px solid var(--green);background:var(--green-soft);border-radius:6px;font-size:.9rem}
.offer.chosen{outline:2px solid var(--green);outline-offset:2px}
/* admin : formules et options en cartes courtes */
.bundle-card .meta{font-size:.85rem}
.bundle-card h3 .pill{font-size:.7rem;vertical-align:middle}
.bundle-card.off{opacity:.75}
.bundle-desc{margin:.3rem 0}
.bundle-card .bundle-sum{margin:.3rem 0 .5rem;font-size:.85rem;color:var(--muted)}
.bundle-det{border-top:1px dashed var(--line);padding-top:.4rem;margin-bottom:.5rem;font-size:.9rem}
.bundle-det ul{margin:.1rem 0 .4rem;padding-left:1.1rem}
.bundle-det p{margin:.1rem 0 .4rem}
.bundle-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:auto}
.bundle-off{margin-top:1.2rem}
.bundle-off > summary{cursor:pointer;font-weight:600;color:var(--muted);padding:.4rem 0}
.cards:has(> .bundle-card){align-items:start}

/* lecture : taille du texte (A− / A+) et plein écran */
.dlg-body{font-size:calc(1.125rem * var(--rs,1))}
.read-tools{display:flex;gap:.25rem;align-items:center;flex:none;margin-left:auto;margin-right:.4rem}
.read-tools .x{padding:.3rem .5rem;font-weight:600;min-width:2.1rem}
.read-tools .rs-val{font-weight:400;font-size:.8rem;min-width:3.4rem}
.read-tools .x:disabled{opacity:.35;cursor:default}
.dlg-head > .read-tools + .rd-admin{margin-left:0}
dialog.read-fs{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0}
dialog.read-fs .dlg{height:100%;max-height:100%}
dialog.read-fs .dlg-body{flex:1}
/* plein écran : la colonne de texte reste lisible (environ 75 caractères), le document original et le comparateur prennent toute la largeur */
dialog.read-fs:not(.orig-dlg) .dlg-body{padding-left:max(1.25rem,calc(50vw - 22em));padding-right:max(1.25rem,calc(50vw - 22em))}
@media (max-width:600px){
  #reader,dialog.big,dialog.orig-dlg{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0}
  #reader .dlg,dialog.big .dlg,dialog.orig-dlg .dlg{height:100%;max-height:100%}
  .read-tools .rs-val,.read-tools .rs-fs{display:none}
}
/* document original : zoom de la page */
.docview-zoom{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap}
.docview-scroll{overflow:auto;max-width:100%}
.docview-pages{min-width:0}
.docview-zoom{position:sticky;top:-.8rem;z-index:2;background:var(--surface);padding:.35rem 0}
@media (max-width:600px){
  /* téléphone : boutons de lecture sur une ligne, au-dessus du titre qui garde toute la largeur */
  #reader .dlg-head,dialog.big .dlg-head,dialog.orig-dlg .dlg-head{flex-wrap:wrap;gap:.4rem .5rem;padding-top:.6rem}
  #reader .dlg-head > div:first-child,dialog.big .dlg-head > div:first-child,dialog.orig-dlg .dlg-head > div:first-child{order:2;flex:1 1 100%}
  #reader .dlg-head > .read-tools,dialog.orig-dlg .dlg-head > .read-tools{margin-left:0}
  #reader .dlg-head > .x,#reader .dlg-head > .rd-admin,dialog.orig-dlg .dlg-head > .x{order:1}
  #reader .dlg-head > .x,dialog.orig-dlg .dlg-head > .x{margin-left:auto}
  dialog.big .th-head-btns{order:1;flex:1 1 100%;justify-content:flex-end}
}

/* lecture : barre du bas sur une ligne, actions en symboles (nom au survol, confirmation en message) */
#reader .dlg-foot{flex-wrap:nowrap;align-items:center;position:relative}
#reader .dlg-foot .right{flex-wrap:nowrap;gap:.35rem}
#reader .dlg-foot .right .btn.has-ico:not(#rd-lang){font-size:0;padding:.5rem .6rem;line-height:1}
#reader .dlg-foot .right .btn.has-ico:not(#rd-lang) .ico{width:18px;height:18px;margin:0}
.rd-toast{position:absolute;right:1.25rem;bottom:calc(100% + .4rem);background:var(--ink);color:var(--surface);font-size:.85rem;padding:.35rem .7rem;border-radius:6px;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;pointer-events:none}
.rd-toast.on{opacity:1;transform:none}
/* en-tête : le bloc titre prend toute la largeur disponible */
.dlg-head > div:first-child{flex:1 1 auto;min-width:0}
@media (max-width:600px){
  #reader .dlg-foot{padding:.55rem .7rem;gap:.35rem}
  #reader .dlg-foot .nav .btn.has-ico{font-size:0;padding:.5rem .6rem;line-height:1}
  #reader .dlg-foot .nav .btn.has-ico .ico{width:18px;height:18px;margin:0}
  #reader .dlg-foot .right{gap:.25rem}
}
/* en-tête de l'article : titre et boutons sur la 1re ligne, sous-titre et chemin du texte sur toute la largeur */
@media (min-width:601px){
  #reader .dlg-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:start;column-gap:.5rem}
  #reader .dlg-head > div:first-child{display:contents}
  #reader .dlg-head h2{grid-column:1;grid-row:1;align-self:center}
  #reader .dlg-head .read-tools{grid-column:2;grid-row:1;margin:0}
  #reader .dlg-head .rd-admin{grid-column:3;grid-row:1;margin:0}
  #reader .dlg-head #rd-close{grid-column:4;grid-row:1}
  #reader .dlg-head #rd-sub{grid-column:1 / -1;grid-row:2}
  #reader .dlg-head #rd-path{grid-column:1 / -1;grid-row:3}
}
.warn-box{margin:.2rem 0 .6rem 1.6rem;padding-left:.8rem;border-left:3px solid var(--flag-y)}
.warn-box select{margin:.2rem 0}
.banner.pending-pay{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;border-left:4px solid var(--flag-y)}
/* vérification du téléphone par code */
.phone-verify{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.45rem}
.phone-verify .pv-code{width:9.5rem;letter-spacing:.2em;font-variant-numeric:tabular-nums}
.phone-verify .note{font-size:.88rem}
.phone-verify .pv-ok{color:var(--green);font-weight:600}
.phone-verify .pv-err{color:var(--flag-r)}
/* fidélisation : prix garanti et remise de renouvellement anticipé */
.quote-note{color:var(--green);font-weight:500;margin:.35rem 0 .5rem}
/* fidélisation : ce que l'abonné perdrait, la valeur de son abonnement */
.banner .loss{display:block;margin-top:.3rem;font-size:.92em;opacity:.92}
.value-note{margin:.4rem 0 .6rem}
/* offre de retour, raisons du départ */
.banner .winback{font-weight:600}
.churn-opts{display:grid;gap:.35rem;margin:.2rem 0 .7rem}
.phone-dlg textarea{width:100%;margin-bottom:.7rem}
.banner .banner-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.45rem}
.banner .linkbtn{display:block;margin-top:.4rem}
/* contributions : textes recherchés */
.ct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.8rem;margin:.6rem 0}
.ct-card{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}
.ct-card h4{margin:.1rem 0;font-size:1rem}
.ct-card.found{opacity:.85}
.ct-top{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.ct-pill{display:inline-block;font-size:.75rem;padding:.12rem .5rem;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.ct-pill.ok{color:var(--green);border-color:var(--green)}
.ct-pill.warn{color:#b26a00;border-color:#b26a00}
.ct-pill.bad{color:var(--flag-r);border-color:var(--flag-r)}
.ct-count{font-size:.8rem;color:var(--muted)}
.ct-refs{font-size:.85rem;color:var(--muted);margin:0}
.ct-reward{color:var(--green);font-weight:500;font-size:.9rem;margin:.1rem 0}
.ct-thanks{font-size:.9rem;margin:0}
.ct-sub{margin:1rem 0 .3rem}
.ct-mine{padding:.55rem 0;border-top:1px solid var(--line)}
.ct-mine-t{font-weight:600;margin-bottom:.15rem}
.ct-form .inline{margin:.4rem 0}
.ct-terms p{margin:0 0 .7rem}
.ct-keys{margin:.3rem 0 0 1.1rem}
.ct-admin .ct-acard{cursor:pointer;display:flex;flex-direction:column;gap:.4rem}
.ct-admin .ct-acard h3{margin:.1rem 0;font-size:1rem}
.ct-ahead{display:flex;gap:.4rem;align-items:center}
.ct-nums{display:flex;gap:.9rem}
.ct-num{display:flex;flex-direction:column;align-items:flex-start}
.ct-num b{font-size:1.3rem;line-height:1.1}
.ct-num span{font-size:.75rem;color:var(--muted)}
.ct-num.warn b{color:#b26a00} .ct-num.ok b{color:var(--green)}
.ct-free{border-style:dashed}
.ct-bulk{align-items:center;gap:.5rem;flex-wrap:wrap}
.ct-sub-card{border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;margin:.6rem 0}
.ct-sub-h{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:.2rem}
.ct-ptitle{font-weight:600;margin:.2rem 0}
.ct-files{margin:.5rem 0;display:grid;gap:.35rem}
.ct-file{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.ct-pre{white-space:pre-wrap;font-size:.85rem;max-height:70vh;overflow:auto}
.rd-thanks{font-size:.85rem;color:var(--green);margin:.2rem 0 .6rem}
.banner.good{border-color:var(--green)}

/* petit mot qui situe la personne quand elle change de maison (la première fois seulement) */
.house-toast{position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%);z-index:200;display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 2rem);padding:.65rem 1rem;border-radius:12px;background:#06193A;color:#fff;font-size:.9rem;box-shadow:0 8px 28px rgba(6,25,58,.3);transition:opacity .5s}
.house-toast a{color:#84E2CA;font-weight:700;text-decoration:underline}
.house-toast.out{opacity:0}

@media (prefers-reduced-motion:reduce){.house-toast{transition:none}}

.pill.info{background:#E2EEF7;color:#014576}
label.chk{display:flex;gap:.45rem;align-items:center;font-size:.92rem;margin:.3rem 0}
/* parcours d'essai : message pour découvrir l'autre maison, offre recommandée */
.banner.nudge{border-left-color:#014576;background:color-mix(in srgb,#77BECC 14%,var(--surface))}
.banner.nudge a.btn{text-decoration:none}
.rec-box{border:2px solid var(--green);border-radius:12px;padding:.6rem .8rem;margin:0 0 1rem;background:var(--green-soft)}
.rec-box .mini-title{margin:0;font-weight:800}

/* ===== Mon espace (commun aux deux maisons) ===== */
.acc{display:flex;flex-direction:column;gap:1rem}
.acc-top{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.acc-id{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"av who act" "av form act";gap:.2rem 1rem;align-items:center;padding:1.1rem 1.2rem;border-radius:16px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--green) 12%,var(--surface)),var(--surface));border:1px solid var(--line)}
.acc-av{grid-area:av;width:3.4rem;height:3.4rem;border-radius:50%;display:grid;place-items:center;background:var(--green);color:var(--on-green);font-weight:800;font-size:1.15rem;letter-spacing:.02em}
.acc-who{grid-area:who;display:flex;flex-direction:column}.acc-who b{font-size:1.1rem}
.acc-form{grid-area:form;display:flex;flex-direction:column;gap:.25rem}
.acc-fline{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}
.acc-bar{height:6px;border-radius:9px;background:color-mix(in srgb,var(--green) 15%,var(--surface));overflow:hidden;max-width:22rem}.acc-bar i{display:block;height:100%;background:var(--green);border-radius:9px}
.acc-idact{grid-area:act;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.acc-body{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:1.2rem;align-items:start}
.acc-nav{display:flex;flex-direction:column;gap:.2rem;position:sticky;top:1rem}
.acc-group{margin:.7rem 0 .2rem;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.acc-group:first-child{margin-top:0}
.acc-tab{display:flex;gap:.6rem;align-items:center;text-align:left;border:0;background:none;color:var(--ink);padding:.5rem .7rem;border-radius:10px;font-size:.92rem;font-weight:600;cursor:pointer}
.acc-tab:hover{background:color-mix(in srgb,var(--green) 8%,var(--surface))}
.acc-tab[aria-current="true"]{background:var(--green);color:var(--on-green)}
.acc-tab.ro{color:var(--muted);font-weight:500}.acc-tab.ro[aria-current="true"]{color:var(--on-green)}
.acc-ic{width:1.6rem;height:1.6rem;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--green) 12%,var(--surface));color:var(--green);font-size:.85rem;flex:none}
.acc-tab[aria-current="true"] .acc-ic{background:rgba(255,255,255,.2);color:var(--on-green)}
.acc-view{display:flex;flex-direction:column;gap:1rem;min-width:0}
.acc-view .dcard{border-radius:14px}
.acc-plan{border:2px solid var(--green)}
.acc-plan h3{font-size:1.35rem;margin:.1rem 0 .5rem}
.acc-k{margin:0;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--green)}
.acc-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.6rem;margin-top:.6rem}
.acc-opt{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;text-align:left;border:1px solid var(--line);border-radius:12px;padding:.75rem;background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color .15s,transform .15s}
.acc-opt:hover{border-color:var(--green);transform:translateY(-1px)}
.acc-opt.on{border-color:color-mix(in srgb,var(--green) 55%,var(--line));background:color-mix(in srgb,var(--green) 6%,var(--surface))}
.acc-opt b{font-size:.9rem;line-height:1.25}
.acc-opt-ic{width:1.6rem;height:1.6rem;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--green) 14%,var(--surface));color:var(--green);font-weight:800}
.acc-opt-p{font-size:.8rem;color:var(--muted)}
.acc-opt .pill{font-size:.68rem}
.acc-pays{display:flex;flex-direction:column}
.acc-pay{display:grid;grid-template-columns:1fr auto auto;gap:.8rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--line)}
.acc-pay:last-child{border-bottom:0}
.acc-pay div{display:flex;flex-direction:column}.acc-pay b{font-size:.9rem}.acc-pay-a{font-weight:700;white-space:nowrap}
#dash .acc-view form .field-row{max-width:34rem}
@media (max-width:760px){
  .acc-id{grid-template-columns:auto 1fr;grid-template-areas:"av who" "form form" "act act"}
  .acc-idact{justify-content:flex-start}
  .acc-body{grid-template-columns:1fr}
  .acc-nav{position:static;flex-direction:row;overflow-x:auto;gap:.3rem;padding-bottom:.3rem;scrollbar-width:thin}
  .acc-group{display:none}
  .acc-tab{white-space:nowrap;border:1px solid var(--line);flex:none}
  .acc-pay{grid-template-columns:1fr auto}.acc-pay .pill{grid-column:2}
}

/* administration : pagination des listes */
.ac-adm-pager{display:flex;gap:.5rem;align-items:center;margin:.6rem 0}

.ac-acts{white-space:nowrap;text-align:right}
.ac-acts .btn{margin-left:.25rem}

/* dossiers : invitations en attente */
.dinvites{border:1px solid var(--green);background:var(--green-soft);border-radius:12px;padding:.8rem 1rem;margin:.6rem 0 1rem;display:grid;gap:.5rem}
.dinvites h3{margin:0;font-size:1rem}
.dinvite{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.dinvite>div{flex:1;min-width:200px}

/* ======== administration : menu latéral (2026-10-04) ======== */
.wrap.admin{max-width:92rem}
.admin header.top{padding:1rem 0 .6rem}.admin header.top h1{font-size:1.5rem;margin:0}.admin header.top p{margin:.15rem 0 0;font-size:.85rem}
.admin .top-btns .acct-btn{margin-top:1rem}
.adm-app:not([hidden]){display:grid;grid-template-columns:215px minmax(0,1fr);gap:1.4rem;align-items:start}
.adm-main{min-width:0}
.adm-side{position:sticky;top:.8rem;max-height:calc(100vh - 1.6rem);overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:.4rem}
.adm-menu-btn{display:none}
.adm-house+.adm-house{border-top:1px solid var(--line);margin-top:.3rem;padding-top:.3rem}
.adm-house-b{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:none;color:var(--ink);font:inherit;font-weight:700;font-size:.86rem;padding:.45rem .55rem;border-radius:8px;cursor:pointer;text-align:left}
.adm-house-b:hover{background:var(--paper)}.adm-house-b i{font-style:normal;color:var(--muted);font-size:.75rem}
.adm-house.on .adm-house-b{color:var(--green)}

.adm-grp{display:flex;flex-direction:column;margin:.15rem 0 .35rem}
.adm-grp small{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:.35rem .6rem .15rem}
.adm-item{display:flex;justify-content:space-between;align-items:center;gap:.4rem;border:0;background:none;color:var(--ink);font:inherit;font-size:.86rem;text-align:left;padding:.38rem .6rem .38rem .8rem;border-radius:8px;cursor:pointer;border-left:3px solid transparent}
.adm-item:hover{background:var(--paper)}
.adm-item.on{background:color-mix(in srgb,var(--green) 12%,transparent);border-left-color:var(--green);font-weight:650}

.adm-item .count-badge{margin-left:auto}
@media (max-width:860px){
  .adm-app:not([hidden]){grid-template-columns:minmax(0,1fr);gap:.6rem}
  .adm-side{position:static;max-height:none;padding:0;border:0;background:none}
  .adm-menu-btn{display:flex;align-items:center;gap:.6rem;width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;padding:.6rem .8rem;cursor:pointer;text-align:left}
  .adm-menu-btn b{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .adm-side .adm-nav{display:none;margin-top:.4rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:.4rem}
  .adm-side.open .adm-nav{display:block}
}
/* actions en symboles (tableaux de l'administration) : le mot est dans la bulle et lu par les lecteurs d'écran */
.btn.ico-only{font-size:0!important;gap:0!important;width:2.1rem;min-width:2.1rem;height:2.1rem;min-height:2.1rem;padding:0!important;justify-content:center;display:inline-flex;align-items:center}
.btn.ico-only svg.ico{width:17px;height:17px;margin:0!important}
.btn.ico-only.danger,.btn.ico-only[data-ico^="Supprimer"]{color:var(--flag-r,#c0392b);border-color:color-mix(in srgb,var(--flag-r,#c0392b) 45%,var(--line))}
.adm-main td .btn.ico-only+.btn.ico-only{margin-left:.25rem}
/* sections repliables et barre d'actions toujours visible (administration) */
details.sect{border:1px solid var(--line);border-radius:9px;padding:0 .9rem;margin:.8rem 0;min-width:0;max-width:100%;background:var(--surface)}
details.sect>summary{cursor:pointer;font-weight:650;font-size:.92rem;padding:.65rem 0;list-style:none;display:flex;align-items:center;gap:.5rem}
details.sect>summary::-webkit-details-marker{display:none}
details.sect>summary::before{content:"▸";font-size:.75rem;color:var(--muted);transition:transform .15s;display:inline-block}
details.sect[open]>summary::before{transform:rotate(90deg)}
details.sect[open]{padding-bottom:.8rem}
details.sect[open]>summary{border-bottom:1px solid var(--line);margin-bottom:.7rem}
.fold-bar{display:none;justify-content:flex-end;gap:.8rem;margin:-.2rem 0 .2rem}
.fold-bar .btn-link{background:none;border:0;padding:0;color:var(--muted);font:inherit;font-size:.8rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.fold-bar .btn-link:hover{color:var(--ink)}
#dlg-body:has(details.sect ~ details.sect)>.fold-bar,#dlg-body:has(details.sect details.sect)>.fold-bar{display:flex}
.dlg-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:1rem;position:sticky;bottom:0;z-index:3;background:var(--surface);border-top:1px solid var(--line);padding:.7rem 0 .2rem;box-shadow:0 -10px 14px -12px rgba(0,0,0,.25)}
/* administration : une seule police (sans empattements), taille d'outil de gestion */
body[data-page="admin"] #dlg .dlg-body{font-family:var(--sans);font-size:.95rem;line-height:1.5}
body[data-page="admin"] h1,body[data-page="admin"] h2,body[data-page="admin"] h3,body[data-page="admin"] h4,body[data-page="admin"] .card h3,body[data-page="admin"] .stat b,body[data-page="admin"] .kpi b{font-family:var(--sans);letter-spacing:-.01em}

#view>.fold-bar{display:flex}

/* réglages en deux volets */
.set-head{margin:0 0 .6rem}.set-head h2{margin:0 0 .2rem;font-size:1.2rem}
.set-2{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.1rem;align-items:start}
.set-nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:.8rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:.4rem}
.set-nav>small{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:.55rem .6rem .15rem}
.set-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:0;background:none;color:var(--ink);font:inherit;text-align:left;padding:.45rem .6rem;border-radius:8px;cursor:pointer;border-left:3px solid transparent}
.set-item b{font-size:.86rem;font-weight:600}.set-item span{font-size:.72rem;color:var(--muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.set-item:hover{background:var(--paper)}
.set-item.on{background:color-mix(in srgb,var(--green) 12%,transparent);border-left-color:var(--green)}

.set-pane{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:1rem 1.2rem;min-width:0}
.set-pane-h{border-bottom:1px solid var(--line);padding-bottom:.6rem;margin-bottom:.6rem}.set-pane-h h3{margin:0;font-size:1.1rem}.set-pane-h p{margin:.2rem 0 0}
.set-pane-b:has(details.sect ~ details.sect)>.fold-bar{display:flex}
@media (max-width:860px){ .set-2{grid-template-columns:minmax(0,1fr)} .set-nav{position:static;flex-direction:row;flex-wrap:wrap} .set-nav>small{width:100%} .set-item{flex:1 1 45%} }
/* publication : panneau de confirmation */
.pub-panel{border:1px solid color-mix(in srgb,var(--green) 45%,var(--line));background:color-mix(in srgb,var(--green) 7%,var(--surface));border-radius:10px;padding:.8rem 1rem;margin-top:.8rem}
.pub-panel h4{margin:0 0 .3rem;font-size:.98rem}.pub-panel p{margin:.2rem 0}.pub-panel .inline{margin-top:.6rem;gap:.5rem}
.pub-wrap .dlg-actions{margin-top:.6rem}
.pub-wrap{display:contents}
/* barres d'outils et aides (administration) */
.adm-main .toolbar.tb-list{justify-content:flex-start;align-items:center}
.adm-main .tb-acts{display:flex;gap:.4rem;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.adm-main details.help{margin:.2rem 0 .8rem;font-size:.86rem;color:var(--muted)}
.adm-main details.help>summary{cursor:pointer;list-style:none;display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap}
.adm-main details.help>summary::-webkit-details-marker{display:none}
.adm-main details.help>summary i{font-style:normal;color:var(--green);font-size:.8rem;white-space:nowrap}
.adm-main details.help[open]>summary i{display:none}
.adm-main details.help>p{margin:.3rem 0 0}

/* tableau de bord : trois familles de chiffres */
.dfams{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.4fr) minmax(0,.9fr);gap:.8rem;margin:0 0 1rem}
.dfam{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:.7rem .8rem}
.dfam h3{font-size:.72rem!important;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .5rem;font-weight:700}
.dfam-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.45rem}
.dfam .dstat{display:flex;flex-direction:column;gap:.1rem;border:1px solid var(--line);border-radius:10px;padding:.5rem .6rem;background:var(--paper);text-align:left;font:inherit;color:var(--ink);min-width:0}
.dfam .dstat b{font-family:var(--sans);font-size:1.25rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dfam .dstat span{font-size:.72rem;color:var(--muted);line-height:1.25}
.dfam button.dstat{cursor:pointer}.dfam button.dstat:hover{border-color:var(--green)}
.dfam .dstat.hot{border-color:color-mix(in srgb,var(--flag-r,#c0392b) 55%,var(--line));background:color-mix(in srgb,var(--flag-r,#c0392b) 9%,var(--paper))}
.dfam .dstat.hot b{color:var(--flag-r,#c0392b)}
@media (max-width:1100px){ .dfams{grid-template-columns:minmax(0,1fr)} }
.dfam .dstat b{white-space:normal;overflow:visible;font-size:1.15rem;word-break:normal}
.dfam.sales .dfam-row{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}
/* explorateur en deux volets (textes, modèles) */
.exp-2{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1rem;align-items:start}
.exp-nav{display:flex;flex-direction:column;gap:1px;position:sticky;top:.8rem;max-height:calc(100vh - 1.6rem);overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:.4rem}
.exp-nav>small{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:.6rem .6rem .2rem}
.exp-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border:0;background:none;color:var(--ink);font:inherit;font-size:.86rem;text-align:left;padding:.38rem .6rem;border-radius:8px;cursor:pointer;border-left:3px solid transparent}
.exp-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.exp-item i{font-style:normal;font-size:.72rem;color:var(--muted);flex:none}
.exp-item.head{font-weight:700;margin-top:.4rem}
.exp-item:hover{background:var(--paper)}
.exp-item.on{background:color-mix(in srgb,var(--green) 12%,transparent);border-left-color:var(--green);font-weight:650}
.exp-main{min-width:0}
.exp-crumb{margin:0 0 .5rem;font-size:.82rem;color:var(--muted);font-weight:600}
@media (max-width:980px){ .exp-2{grid-template-columns:minmax(0,1fr)} .exp-nav{position:static;max-height:240px} }
/* articles rattachés : vue document */
.ta-doc{display:flex;flex-direction:column;gap:.8rem;margin:.4rem 0}
.ta-src{border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;background:var(--paper)}
.ta-src h4{display:inline;margin:0;font-size:.95rem}
.ta-aud{margin-top:.5rem}.ta-aud>small{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;margin-bottom:.2rem}
.ta-row{display:flex;align-items:center;gap:.6rem;padding:.3rem 0;border-top:1px solid var(--line);flex-wrap:wrap}
.ta-row:first-of-type{border-top:0}
.ta-row .linkbtn{font-weight:700;min-width:3.5rem}
.ta-cm{flex:1;min-width:10rem;font-size:.86rem;color:var(--ink)}
.ta-row.todo{background:color-mix(in srgb,#E0A526 8%,transparent);border-radius:6px;padding-left:.3rem}
.ta-row .ico-acts{margin-left:auto;display:flex;gap:.25rem}
/* glossaire : fiches compactes */
.gl-az{display:flex;flex-wrap:wrap;gap:2px;margin:.6rem 0}
.gl-l{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:.78rem;font-weight:600;min-width:1.8rem;height:1.8rem;border-radius:6px;cursor:pointer;padding:0 .3rem}
.gl-l.on{background:var(--green);border-color:var(--green);color:var(--on-green)}.gl-l:disabled{opacity:.3;cursor:default}
.gl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}
.gl-card{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;padding:.55rem .7rem;cursor:pointer;min-width:0}
.gl-card:hover{border-color:var(--green)}
.gl-card b{font-size:.9rem;line-height:1.25}.gl-card small{font-size:.68rem;color:var(--muted);font-family:ui-monospace,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}
.gl-al{display:flex;flex-wrap:wrap;gap:.2rem}.gl-al i{font-style:normal;font-size:.7rem;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:0 .4rem}
/* formules et options : cartes réduites, 4 à 5 par ligne */
.adm-main .cards:has(> .bundle-card.compact){grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.6rem}
.bundle-card.compact{padding:.7rem .8rem;cursor:pointer;display:flex;flex-direction:column;gap:.3rem}
.bundle-card.compact:hover{border-color:var(--green)}
.bundle-card.compact h3{font-size:.95rem!important;line-height:1.3;margin:0;display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}
.bundle-card.compact h3 .pill{font-size:.66rem}
.bundle-card.compact .meta{font-size:.74rem;margin:0}
.bundle-card.compact .bundle-sum{font-size:.74rem;margin:0;padding:.3rem .5rem;border-radius:6px}
.bundle-card.compact .bundle-actions{margin-top:auto;display:flex;gap:.25rem;justify-content:flex-end}
.bundle-card.compact .bundle-det{font-size:.8rem}
/* fenêtre de demande (portail) */
dialog.dm-dlg{width:min(520px,calc(100vw - 32px));border:0;border-radius:16px;padding:0;background:var(--surface,#fff);color:var(--ink,#06193A);box-shadow:0 24px 60px rgba(6,25,58,.3)}
dialog.dm-dlg::backdrop{background:rgba(6,25,58,.5)}
.dm-box{display:flex;flex-direction:column;gap:.45rem;padding:1rem 1.2rem 1.1rem;font-family:var(--sans);font-size:.92rem}
.dm-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}
.dm-head h2{margin:0;font-size:1.1rem;font-family:var(--sans)}
.dm-x{width:32px;height:32px;flex:none;border:1px solid var(--line,#DCE5EE);border-radius:9px;background:transparent;color:inherit;cursor:pointer}
.dm-obj{margin:0;padding:.5rem .7rem;border-radius:10px;background:var(--paper,#F6F8FB);font-weight:600}
.dm-intro{margin:0;color:var(--muted,#5F6D82);font-size:.85rem}
.dm-box label{font-weight:600;font-size:.84rem}
.dm-box textarea{width:100%;box-sizing:border-box;font:inherit;border:1px solid var(--line,#DCE5EE);border-radius:10px;padding:.55rem .7rem;background:var(--surface,#fff);color:inherit;resize:vertical}
.dm-cnt{align-self:flex-end;font-size:.72rem;color:var(--muted,#5F6D82);margin-top:-.2rem}
.dm-contact{border:1px solid var(--line,#DCE5EE);border-radius:10px;padding:.5rem .7rem .6rem;margin:0}
.dm-contact legend{font-weight:600;font-size:.84rem;padding:0 .3rem}
.dm-opt{display:grid!important;grid-template-columns:auto 8.5rem 1fr;align-items:center;gap:.5rem;font-weight:500!important;margin:.25rem 0}
.dm-opt input[type=tel],.dm-opt input[type=email]{font:inherit;border:1px solid var(--line,#DCE5EE);border-radius:8px;padding:.35rem .5rem;background:var(--surface,#fff);color:inherit;min-width:0}
.dm-err{margin:0;color:#c0392b;font-size:.84rem;min-height:1em}
.dm-bas{display:flex;gap:.5rem;flex-wrap:wrap}
@media (max-width:480px){ .dm-opt{grid-template-columns:auto 1fr} .dm-opt input[type=tel],.dm-opt input[type=email]{grid-column:1/-1} }
/* demandes */
.req-list .req-msg{max-width:46rem}
.req-blk{border-top:1px solid var(--line);padding:.6rem 0 .3rem}.req-blk:first-of-type{border-top:0;padding-top:0}
.req-blk h4{margin:0 0 .35rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.req-obj{margin:0 0 .4rem;font-weight:650}
.req-text{margin:0;white-space:pre-wrap;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;line-height:1.5}
.req-kv{display:flex;gap:.8rem;margin:.15rem 0}.req-kv span{min-width:8.5rem;color:var(--muted);font-size:.86rem}.req-kv b{font-weight:600}
.btn-link{background:none;border:0;color:var(--green);font:inherit;font-size:.86rem;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:0 .3rem}
/* fiche « Ajouter » : pour qui ? quoi ? */
.pick-cards{display:flex;flex-wrap:wrap;gap:.5rem;margin:.3rem 0 .6rem}
.pick-card{flex:1 1 13rem;min-width:0;text-align:left;display:flex;flex-direction:column;gap:.15rem;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:.55rem .75rem;cursor:pointer;font:inherit}
.pick-card b{font-weight:600}
.pick-card span{font-size:.84rem;color:var(--muted)}
.pick-card[aria-pressed="true"]{border-color:var(--green);background:var(--green-soft);box-shadow:inset 0 0 0 1px var(--green)}
.theme-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.chip[aria-pressed="true"]{background:var(--green);color:var(--on-green);border-color:var(--green)}
.sub-fields{margin:.2rem 0 .6rem 1.6rem;padding-left:.8rem;border-left:3px solid var(--line)}
.grow-first>:first-child{flex:1 1 auto;min-width:0}
.org-docs{margin-top:1.2rem}
/* dossier d'une entreprise sur téléphone : la nature passe sous le titre, sa colonne disparaît */
.doc-nature-sm{display:none}
@media (max-width:600px){ .org-docs th:nth-child(2),.org-docs td:nth-child(2){display:none} .org-docs .doc-nature-sm{display:block} }
/* thèmes repliés : une ligne avec les thèmes choisis ; « Choisir » ouvre la liste filtrable */
.theme-line{display:flex;align-items:flex-start;gap:.5rem}
.theme-chosen{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;min-height:2rem}
.chip.on{background:var(--green);color:var(--on-green);border-color:var(--green);cursor:default;display:inline-flex;align-items:center;gap:.3rem}
.chip-x{border:0;background:none;color:inherit;font:inherit;font-size:1rem;line-height:1;padding:0 .1rem;cursor:pointer;opacity:.85}
.chip-x:hover{opacity:1}
.theme-panel:not([hidden]){margin-top:.5rem;padding:.6rem;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:.5rem}
.field-row .theme-filter{max-width:22rem}
.docview-word{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:1.2rem 1.4rem;max-width:52rem;margin:.6rem 0;font-family:var(--serif)}
/* espace Documents : dossiers à gauche, une ligne par document avec ses icônes */
.dx{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:1.2rem;align-items:start;margin-top:.8rem}
.dx-nav{position:sticky;top:calc(env(safe-area-inset-top,0px) + .8rem);display:flex;flex-direction:column;gap:.1rem;border:1px solid var(--line);border-radius:10px;padding:.4rem;background:var(--surface);max-height:calc(100vh - 2rem);overflow:auto}
.dx-f{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;text-align:left;background:none;border:0;border-radius:7px;padding:.4rem .55rem;font:inherit;font-size:.92rem;color:var(--ink);cursor:pointer}
.dx-f:hover{background:var(--green-soft)}
.dx-f.on{background:var(--green-soft);color:var(--green);font-weight:600}
.dx-top{font-weight:600;margin-top:.3rem}
.dx-top:first-child{margin-top:0}
.dx-sub{padding-left:1.3rem;font-size:.88rem}
.dx-l{min-width:0;overflow-wrap:anywhere}
.dx-n{flex:none;font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}
.dx-pick{display:none;width:100%;margin-top:.8rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}
.dx-main{min-width:0}
.dx-main .docs-filters{margin-top:0}
.dx-crumb{margin:.2rem 0 .4rem;font-size:.85rem;color:var(--muted)}
.dx-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.dx-row{display:flex;align-items:center;gap:.8rem;padding:.6rem .8rem;border-top:1px solid var(--line)}
.dx-row:first-child{border-top:0}
.dx-info .dx-err{margin:.25rem 0 0;font-size:.85rem}
.dx-list>.empty{padding:1rem}
.dx-info{flex:1 1 auto;min-width:0}
.dx-t{display:block;font-weight:600;text-align:left;overflow-wrap:anywhere}
button.dx-t{font-size:1rem}
.dx-meta{font-size:.82rem;color:var(--muted);margin-top:.1rem;overflow-wrap:anywhere}
.dx-link{font-size:.82rem}
.dx-acts{flex:none;display:flex;gap:.35rem}
.dx-ico{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--green);cursor:pointer}
.dx-ico:hover{border-color:var(--green);background:var(--green-soft)}
.dx-ico.lock{color:var(--muted)}
.dx-ico.done{opacity:.55}
.dx-ico.busy{opacity:.5;cursor:progress}
.dx-ico.err{border-color:var(--flag-r);color:var(--flag-r)}
@media (max-width:760px){ .dx{grid-template-columns:minmax(0,1fr)} .dx-nav{display:none} .dx-pick{display:block} }
.docs-pager:empty{display:none}
/* compte en haut à droite : initiales dans un rond, puis prénom et nom ; le rond seul sur téléphone */
.acct-chip{display:inline-flex;align-items:center;gap:.5rem;max-width:16rem}
.acct-chip .av{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--green);color:var(--on-green);font-size:.75rem;font-weight:700;letter-spacing:.02em}
.acct-chip .av-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* sur ordinateur, « Mon espace » est le bouton à son nom : l'onglet ne reste que dans la barre du bas, sur téléphone */
@media (min-width:40.01rem){ #spaces .sp-btn[data-space=espace]{display:none} }
@media (max-width:40rem){ .acct-chip{padding:.3rem;max-width:none} .acct-chip .av-name{display:none} }
.topbar .top-btns{flex:none;flex-wrap:nowrap;align-items:flex-start}
/* conditions d’utilisation à accepter : textes dépliables, défilant dans leur cadre (AUD-019) */
details>.legal-text{max-height:16rem;overflow:auto;margin:.4rem 0 .6rem;text-align:left}

/* accueil public (non connecté) : plus large que la page de lecture */
body.public-home .wrap{max-width:72rem}
body.public-home .showcase{max-width:none;padding:0}

/* ---------- payer pour un proche (payer.html) ---------- */
.payer{max-width:34rem;margin:28px auto;display:grid;gap:14px}
.payer-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:6px}
.payer-card h1{margin:0;font-size:1.5rem;text-wrap:balance}.payer-for{margin:0;color:var(--muted)}
.payer-price{margin:0;font-weight:800;font-size:1.15rem;font-variant-numeric:tabular-nums}
.payer-form{display:grid;gap:10px}.payer-form label{display:grid;gap:6px;font-weight:650}
.payer-form input{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:0 12px;font:inherit;background:var(--surface);color:var(--ink)}
.payer-sim{display:flex;gap:8px;flex-wrap:wrap}
.top h1 a{color:inherit;text-decoration:none}

/* connexion par GHR Identity (app.js → idpBlock) */
.idp{display:grid;gap:.6rem;margin:0 0 1rem}
.idp-or{margin:0;text-align:center;color:var(--muted);font-size:.85rem}

/* ---------- Mavzia 2.0 · étape 1 : barre du portail (maquette docs/maquette-2.0) ---------- */
.flag{height:3px}
header.top.mz-top{padding:0;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.mz-bar{max-width:80rem;margin:0 auto;padding:0 1.5rem;min-height:4.6rem;display:flex;align-items:center;gap:1.75rem}
.mz-brand{display:flex;align-items:center;gap:.65rem;flex:none;min-width:0}
.mz-brand .brand-logo{height:2.15rem;width:auto;max-width:8rem;object-fit:contain}
.mz-brand .brand-logo:not([hidden])+.mz-mark{display:none}
.mz-mark{width:2.15rem;height:2.15rem;border-radius:.5rem;background:var(--green);color:var(--on-green);display:grid;place-items:center;font:700 1.25rem/1 var(--serif)}
.mz-name{min-width:0}
header.top.mz-top h1{font:800 1.375rem/1.15 var(--sans);letter-spacing:-.04em;margin:0;color:var(--ink)}
header.top.mz-top p{margin:.05rem 0 0;font-size:.66rem;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:16rem}
.mz-nav{flex:1;min-width:0;margin:0;border-bottom:0;gap:.35rem;align-self:stretch;align-items:stretch}
.mz-nav .sp-btn{padding:0 .8rem;border-bottom-width:3px;color:#334B59;font-weight:500;font-size:.92rem}
.mz-nav .sp-btn:hover{color:var(--ink)}
.mz-nav .sp-btn[aria-current=page]{color:var(--ink);font-weight:700;border-bottom-color:var(--green)}
.mz-top .top-btns{flex:none;margin-left:auto;align-items:center;flex-wrap:nowrap}
.mz-top .acct-btn,.mz-top .icon-btn{margin-top:0}
.mz-top .acct-btn{background:#F7FBF9;border-color:var(--line);border-radius:.5rem;padding:.6rem .8rem;font-weight:500}
.mz-top .acct-btn#login-btn{background:var(--green);border-color:var(--green);color:var(--on-green);font-weight:700}
.mz-top .switch-btn{border-color:var(--green)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .mz-top .acct-btn{background:var(--surface)} :root:not([data-theme="light"]) .mz-nav .sp-btn{color:var(--muted)} :root:not([data-theme="light"]) .mz-nav .sp-btn[aria-current=page]{color:var(--ink)} }
:root[data-theme="dark"] .mz-top .acct-btn{background:var(--surface)}
:root[data-theme="dark"] .mz-nav .sp-btn{color:var(--muted)}
:root[data-theme="dark"] .mz-nav .sp-btn[aria-current=page]{color:var(--ink)}
@media (min-width:40.01rem) and (max-width:900px){
  .mz-bar{flex-wrap:wrap;gap:.25rem .75rem;padding:.6rem 1rem 0;min-height:0}
  .mz-brand{order:1}
  .mz-top .top-btns{order:2}
  .mz-nav{order:3;flex-basis:100%;overflow-x:auto;margin:0 -1rem;padding:0 .5rem}
  .mz-nav .sp-btn{padding:.7rem .7rem}
  header.top.mz-top p{display:none}
}
@media (max-width:40rem){
  /* téléphone : les espaces restent dans la barre fixée en bas de l'écran (comportement d'origine) */
  .mz-bar{padding:.55rem 1rem;min-height:0;gap:.6rem}
  header.top.mz-top p{display:none}
  .mz-nav{align-self:auto}
  .mz-nav .sp-btn{padding:.6rem .4rem;font-size:.8rem;border-bottom:0;border-top:3px solid transparent;color:var(--muted)}
  .mz-nav .sp-btn[aria-current=page]{border-top-color:var(--green);color:var(--ink)}
  .mz-mark{width:1.9rem;height:1.9rem;font-size:1.1rem}
  header.top.mz-top h1{font-size:1.2rem}
}

/* ---------- Mavzia 2.0 · étape 2 : accueil public (maquette docs/maquette-2.0) ---------- */
body.public-home{overflow-x:clip}
.auth.auth-home{margin-top:0}
.mz-hero{margin:0 calc(50% - 50vw);background:linear-gradient(112deg,#F7FBFA 10%,#EEF7F7 62%,#E5EFF5);position:relative;overflow:hidden;border-bottom:1px solid var(--line);font-family:var(--sans)}
.mz-hero::after{content:"⚖";position:absolute;right:6%;top:-6.5rem;font-size:23rem;line-height:1;opacity:.055;pointer-events:none}
.mz-hero-in{max-width:72rem;margin:0 auto;padding:2.4rem 1.5rem 1.6rem;position:relative;z-index:1}
.mz-eyebrow{margin:0;font-size:.69rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#526879}
.mz-hero .mz-hero-t{font:700 clamp(2.1rem,4vw,3.3rem)/1.1 var(--serif);letter-spacing:-.03em;margin:.75rem 0 .35rem;color:#003F31}
.mz-hero-st{font:400 clamp(1.35rem,2.5vw,2.1rem)/1.2 var(--serif);margin:0 0 .9rem;color:#13273B}
.mz-hero-p{font-size:1rem;max-width:45rem;margin:0 0 .3rem}
.mz-hero-n{font-size:.85rem;color:var(--muted);margin:0 0 1.3rem}
.mz-searchbox.pa-search{gap:.5rem;padding:.375rem;background:var(--surface);border:1px solid #D6E0E1;border-radius:10px;box-shadow:0 8px 22px #163E3A12;max-width:67rem}
.mz-searchbox.pa-search input{border:0;background:transparent;padding:.75rem .9rem;font-size:.95rem;border-radius:7px}
.mz-searchbox.pa-search input:focus{outline:3px solid #76BDA1;outline-offset:0}
.mz-primary{border:0;background:var(--green);color:var(--on-green);border-radius:7px;padding:.7rem 1.4rem;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}
.mz-primary:hover{background:#005539}
.mz-chips{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.75rem}
.mz-chip{border:1px solid #DCE7E7;border-radius:18px;padding:.375rem .75rem;background:var(--surface);color:#405460;font:inherit;font-size:.75rem;cursor:pointer}
.mz-chip:hover{border-color:#83B5A1}
.mz-chip.selected{background:#DFF3E9;color:#005B3D;border-color:#C5E9D7;font-weight:700}
.mz-label{font-size:.75rem;font-weight:700;color:#526774}
.mz-hero .pa-res:not(:empty){background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;max-width:67rem;margin-top:1rem}
.mz-rtype{font-size:.69rem;font-weight:800;color:#447A72;text-transform:uppercase;letter-spacing:.03em}
.mz-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem;margin:1.75rem 0 0}
.mz-tile{text-align:left;border:1px solid #EEF2F0;border-radius:11px;padding:1.05rem;min-height:10.4rem;background:#F1F8F4;transition:transform .15s;font:inherit;color:var(--ink);cursor:pointer;display:flex;flex-direction:column}
.mz-tile:nth-child(2){background:#EEF6FD}.mz-tile:nth-child(3){background:#FDF6EC}.mz-tile:nth-child(4){background:#F2F2FC}.mz-tile:nth-child(5){background:#FDF0F2}.mz-tile:nth-child(6){background:#EDF8F3}
.mz-tile:hover{transform:translateY(-2px)}
.mz-tile:focus-visible{outline:3px solid #76BDA1;outline-offset:2px}
.mz-tileicon{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:9px;background:#D7ECDF;color:#006B48;font-size:1.35rem;margin-bottom:.75rem}
.mz-tile strong{display:block;font-size:.9rem}
.mz-tile p{font-size:.75rem;color:#526574;line-height:1.45;margin:.3rem 0;flex:1}
.mz-arrow{font-size:1.25rem}
.mz-section{margin:2.2rem 0 0;font-family:var(--sans)}
.mz-section h3{font-size:1.2rem;font-weight:700;margin:.5rem 0 1rem}
.mz-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
.mz-minicard{padding:1.25rem;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.mz-minicard b{display:block;margin-bottom:.5rem}
.mz-minicard span{color:var(--muted)}
:root[data-theme="dark"] .mz-hero{background:linear-gradient(112deg,#13201B 10%,#152420 62%,#16212A)}
:root[data-theme="dark"] .mz-hero-t,:root[data-theme="dark"] .mz-hero-st{color:var(--ink)}
:root[data-theme="dark"] .mz-tile,:root[data-theme="dark"] .mz-tile:nth-child(n){background:var(--surface);border-color:var(--line)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .mz-hero{background:linear-gradient(112deg,#13201B 10%,#152420 62%,#16212A)}
  :root:not([data-theme="light"]) .mz-hero-t,:root:not([data-theme="light"]) .mz-hero-st{color:var(--ink)}
  :root:not([data-theme="light"]) .mz-tile,:root:not([data-theme="light"]) .mz-tile:nth-child(n){background:var(--surface);border-color:var(--line)}
}
@media (max-width:1100px){ .mz-tiles{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:700px){
  .mz-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mz-mini{grid-template-columns:1fr}
  .mz-hero-in{padding:1.6rem 1rem 1.2rem}
  .mz-hero::after{font-size:14rem;top:-3rem}
  .mz-searchbox.pa-search{flex-direction:column}
  .mz-primary{width:100%}
}

/* ---------- Mavzia 2.0 · étape 3 : menu latéral de l'espace connecté (maquette) ---------- */
#mz-side{display:none}
@media (min-width:900.01px){
  body.mz-app .wrap{max-width:80rem}
  body.mz-app #app:not([hidden]){display:grid;grid-template-columns:13.4rem minmax(0,1fr);column-gap:1.75rem;align-items:start}
  body.mz-app #app>*{grid-column:2;min-width:0}
  body.mz-app #mz-side{display:block;grid-column:1;grid-row:1 / span 60;position:sticky;top:5.6rem;margin-top:1.2rem;padding:1rem .6rem;background:#FBFCFC;border:1px solid var(--line);border-radius:12px;font-family:var(--sans);max-height:calc(100vh - 7rem);overflow:auto}
}
.mz-sidetitle{font-size:.69rem;color:#667985;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin:1.2rem .75rem .5rem}
.mz-sidebtn{width:100%;border:0;background:transparent;text-align:left;padding:.65rem .75rem;border-radius:8px;color:#314958;font:inherit;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:.6rem}
.mz-sidebtn:hover,.mz-sidebtn[aria-current=page]{background:#E8F5EE;color:#005E40;font-weight:700}
.mz-sidebtn:focus-visible{outline:3px solid #76BDA1;outline-offset:1px}
.mz-sideic{width:1.2rem;text-align:center;flex:none}
:root[data-theme="dark"] body.mz-app #mz-side{background:var(--surface)}
:root[data-theme="dark"] .mz-sidebtn{color:var(--muted)}
:root[data-theme="dark"] .mz-sidebtn:hover,:root[data-theme="dark"] .mz-sidebtn[aria-current=page]{background:var(--green-soft);color:var(--ink)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) body.mz-app #mz-side{background:var(--surface)}
  :root:not([data-theme="light"]) .mz-sidebtn{color:var(--muted)}
  :root:not([data-theme="light"]) .mz-sidebtn:hover,:root:not([data-theme="light"]) .mz-sidebtn[aria-current=page]{background:var(--green-soft);color:var(--ink)}
}

/* ---------- Mavzia 2.0 · étape 4 : page de résultats (maquette) ---------- */
body.mz-app .searchbar{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.75rem .9rem;margin-top:1.2rem;top:5.4rem}
body.mz-app .field{border:1px solid var(--line);border-radius:8px;padding:0 .4rem 0 .9rem;background:var(--surface)}
body.mz-app .field:focus-within{outline:3px solid #76BDA1;outline-offset:0}
body.mz-app .field input{font-family:var(--sans);font-size:.98rem;padding:.75rem 0}
.mz-pageheading{font:700 1.45rem/1.25 var(--sans);margin:1.3rem 0 .2rem;color:var(--ink);letter-spacing:-.01em}
.mz-rtabs{display:flex;gap:1.25rem;overflow-x:auto;border-bottom:1px solid var(--line);margin:1rem 0 1.1rem;scrollbar-width:none}
.mz-rtabs::-webkit-scrollbar{display:none}
.mz-rtab{border:0;background:transparent;padding:.65rem .1rem;white-space:nowrap;color:#617581;border-bottom:3px solid transparent;font:inherit;font-size:.92rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}
.mz-rtab[aria-selected=true]{color:var(--green);border-bottom-color:var(--green);font-weight:700}
.mz-rn{font-size:.7rem;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:0 .4rem;color:var(--muted);font-weight:600}
.mz-rtab[aria-selected=true] .mz-rn{background:#DFF3E9;border-color:#C5E9D7;color:#005B3D}
.mz-results{display:grid;grid-template-columns:12.8rem minmax(0,1fr);gap:1.1rem;align-items:start}
.mz-filters{border:1px solid var(--line);border-radius:10px;padding:.95rem;background:var(--surface);font-family:var(--sans);position:sticky;top:13rem;max-height:calc(100vh - 14rem);overflow:auto}
.mz-fh{font-size:.95rem;font-weight:700;margin:0 0 .85rem}
.mz-fgroup{border-top:1px solid var(--line);padding:.75rem 0}
.mz-fgroup b{font-size:.75rem}
.mz-fgroup label{display:flex;gap:.45rem;align-items:baseline;margin-top:.5rem;color:#536976;font-size:.78rem;cursor:pointer}
.mz-fgroup input{accent-color:var(--green);flex:none}
.mz-fn{margin-left:auto;font-size:.7rem;color:var(--muted);font-variant-numeric:tabular-nums}
.mz-rlist{display:grid;gap:.6rem;min-width:0}
.mz-rcard{display:block;border:1px solid var(--line);border-radius:10px;padding:1rem 1.05rem;background:var(--surface);text-align:left;width:100%;font-family:var(--sans)}
.res.mz-rcard{grid-template-columns:none;cursor:pointer}
.mz-rcard:hover{border-color:#9DCBB6;box-shadow:0 3px 14px #153D2B0D}
.mz-rhead{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem}
.mz-rhead .res-path{display:inline-flex;gap:.3rem;margin:0}
.mz-rtype{font-size:.69rem;font-weight:800;color:#447A72;text-transform:uppercase;letter-spacing:.03em}
.mz-rtitle{margin:.25rem 0;font-size:1rem;font-weight:700;color:#18343A;line-height:1.35}
.mz-rcard .res-text{font-family:var(--sans);font-size:.83rem;line-height:1.5;color:#526A76;margin:.3rem 0}
.mz-crumb{display:block;font-size:.69rem;color:#7C8D95;margin-top:.2rem}
.mz-ract{margin-top:.5rem}
.theme-card.mz-rcard{display:block;background:#F1F8F4;border-color:#DCEFE4}
.theme-card.mz-rcard .btn{margin-top:.4rem}
:root[data-theme="dark"] .mz-rtitle{color:var(--ink)}
:root[data-theme="dark"] .mz-rcard .res-text,:root[data-theme="dark"] .mz-fgroup label{color:var(--muted)}
:root[data-theme="dark"] .theme-card.mz-rcard{background:var(--green-soft);border-color:var(--line)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .mz-rtitle{color:var(--ink)}
  :root:not([data-theme="light"]) .mz-rcard .res-text,:root:not([data-theme="light"]) .mz-fgroup label{color:var(--muted)}
  :root:not([data-theme="light"]) .theme-card.mz-rcard{background:var(--green-soft);border-color:var(--line)}
}
@media (max-width:900px){
  .mz-results{grid-template-columns:minmax(0,1fr)}
  .mz-filters{position:static;max-height:none}
  body.mz-app .searchbar{top:env(safe-area-inset-top,0px);border-radius:0;border-left:0;border-right:0}
}
@media (max-width:900px){ header.top.mz-top{position:static} }
.mz-filters>summary.mz-fh{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;margin:0}
.mz-filters>summary::-webkit-details-marker{display:none}
.mz-filters>summary::after{content:"▾";font-size:.8rem;color:var(--muted);transition:transform .15s}
.mz-filters:not([open])>summary::after{transform:rotate(-90deg)}
.mz-filters[open]>summary{margin-bottom:.85rem}

/* ---------- Mavzia 2.0 · étape 5 : page de lecture d'un article (maquette) ---------- */
dialog#reader.mz-reader{position:fixed;inset:4.65rem 0 0 0;width:100%;max-width:none;height:auto;max-height:none;margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:var(--paper);overflow:auto}
dialog#reader.mz-reader::backdrop{background:transparent}
#reader.mz-reader .dlg{max-width:80rem;margin:0 auto;padding:1rem 1.5rem 2.5rem;max-height:none;display:grid;grid-template-columns:minmax(0,1fr) 17rem;column-gap:1.75rem;align-items:start;
  grid-template-areas:"crumb crumb" "head side" "tabs side" "foot side" "body side" "panel side"}
#reader.mz-reader .mz-rdcrumb{grid-area:crumb;font-size:.75rem;color:#70808C;margin:.2rem 0 .9rem;display:flex;flex-wrap:wrap;gap:.35rem;font-family:var(--sans)}
#reader.mz-reader .mz-rdcrumb .cur{color:var(--ink);font-weight:600}
#reader.mz-reader .mz-rdcrumb .sep{opacity:.6}
#reader.mz-reader .dlg-head{grid-area:head;background:var(--surface);border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;padding:1.1rem 1.25rem .6rem;flex-wrap:wrap}
#reader.mz-reader .dlg-head h2{font:700 1.7rem/1.2 var(--sans);letter-spacing:-.01em}
#reader.mz-reader .dlg-head > .x{order:-1;flex:1 1 100%;text-align:left;background:none;border:0;padding:0 0 .6rem;color:var(--green);font:600 .85rem var(--sans);cursor:pointer}
#reader.mz-reader .dlg-head > .x:hover{text-decoration:underline}
#reader.mz-reader .mz-rdtabs{grid-area:tabs;margin:0;padding:0 1.25rem;background:var(--surface);border-left:1px solid var(--line);border-right:1px solid var(--line)}
#reader.mz-reader .dlg-foot{grid-area:foot;background:var(--surface);border:1px solid var(--line);border-top:0;border-bottom:0;padding:.8rem 1.25rem;justify-content:flex-start;flex-wrap:wrap;gap:.5rem 1rem}
#reader.mz-reader .dlg-foot .right{flex-wrap:wrap}
#reader.mz-reader #rd-body,#reader.mz-reader .mz-rdpanel{grid-area:body;background:var(--surface);border:1px solid var(--line);border-top:1px solid var(--line);border-radius:0 0 12px 12px;padding:1.3rem 1.5rem;overflow:visible;max-height:none}
#reader.mz-reader .mz-rdpanel{grid-area:panel}
#reader.mz-reader .mz-rdpanel .mz-rcard{margin-bottom:.6rem}
.mz-meta{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:.5rem 1rem;margin:0}
.mz-meta dt{font-weight:700;font-size:.8rem;color:#526774}
.mz-meta dd{margin:0}
.mz-rdside{grid-area:side;position:sticky;top:1rem;display:grid;gap:.8rem;font-family:var(--sans)}
.mz-sidecard{border:1px solid var(--line);border-radius:10px;padding:1rem;background:var(--surface);display:grid;gap:.5rem}
.mz-sidecard b{font-size:.95rem}
.mz-sidemeta{margin:0;font-size:.8rem;color:var(--muted)}
.mz-wide{width:100%;text-align:center;display:block;box-sizing:border-box}
.mz-explore{margin-top:1.6rem;padding-top:1.1rem;border-top:1px solid var(--line);font-family:var(--sans);display:grid;gap:.45rem;justify-items:start}
.mz-explore h3{font-size:1rem;margin:0 0 .3rem}
.mz-exlink{border:0;background:none;color:var(--green);font:600 .9rem var(--sans);cursor:pointer;padding:.2rem 0;text-align:left}
.mz-exlink:hover{text-decoration:underline}
#reader.mz-reader .rd-toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%)}
dialog#reader.mz-reader.read-fs{inset:0}
@media (max-width:900px){
  dialog#reader.mz-reader{inset:0;border-top:0}
  #reader.mz-reader .dlg{grid-template-columns:minmax(0,1fr);grid-template-areas:"crumb" "head" "tabs" "foot" "body" "panel" "side";padding:.8rem .9rem 5rem}
  .mz-rdside{position:static;margin-top:1rem}
  .mz-meta{grid-template-columns:minmax(0,1fr)}
  .mz-meta dt{margin-top:.4rem}
}

/* ---------- Mavzia 2.0 · étape 6 : navigation de la maquette (barre du haut pour tous, « Mon espace ▾ », pages titrées) ---------- */
/* la barre des espaces réglée dans l'administration reste la mécanique interne : elle n'est plus affichée */
#spaces{display:none!important}
.mz-navic{display:none}
.mz-topnav .sp-btn{white-space:nowrap}
.mz-topnav .sp-btn[aria-current=page]{color:var(--ink);font-weight:700;border-bottom-color:var(--green)}
/* compte : « Mon espace ▾ » et son menu */
.mz-top .top-btns{position:relative}
.mz-top #logout-btn,.mz-top #to-admin{display:none!important}
.acct-chip .av-caret{font-size:.75rem;color:var(--muted);margin-left:.1rem}
.mz-menu{position:absolute;right:0;top:calc(100% + .45rem);z-index:60;min-width:15rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 36px rgba(16,43,41,.14);padding:.4rem;font-family:var(--sans)}
.mz-menu[hidden]{display:none}
.mz-menu-who{margin:.35rem .7rem .45rem;font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:17rem}
.mz-menu-i{display:flex;align-items:center;gap:.6rem;width:100%;border:0;background:none;text-align:left;padding:.6rem .7rem;border-radius:8px;font:inherit;font-size:.9rem;color:var(--ink);text-decoration:none;cursor:pointer}
.mz-menu-i:hover,.mz-menu-i:focus-visible,.mz-menu-i[aria-current=page]{background:#E8F5EE;color:#005E40}
.mz-menu-ic{width:1.2rem;text-align:center;flex:none;color:var(--muted)}
.mz-menu-sep{border:0;border-top:1px solid var(--line);margin:.35rem .3rem}
/* pages titrées (maquette : pageheading + description) */
.mz-pageheading{font:700 1.45rem/1.25 var(--sans);letter-spacing:-.02em;margin:.25rem 0 .2rem;color:var(--ink)}
.mz-pagedesc{margin:0 0 1.1rem;color:var(--muted)}
.mz-pagehead{padding-top:1.2rem}
.mz-empty{background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:1.2rem;color:var(--muted)}
body[data-mzpage] #app>.tabs,body[data-mzpage] #app>.searchbar{display:none!important}
body[data-mzpage] #home>*:not(#mz-pagehead):not(.mz-show){display:none!important}
body[data-mzpage] #home>.mz-show .sugg-title:first-child{display:none}
/* page sans compte */
.mz-page{max-width:72rem;margin:0 auto;padding:2rem 0 1rem;font-family:var(--sans)}
.mz-notice{background:#FFF9ED;border:1px solid #F2DFB3;border-radius:9px;padding:.9rem 1rem;margin:1rem 0;max-width:44rem}
.mz-notice p{margin:.3rem 0 0}
.mz-page .act-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
:root[data-theme="dark"] .mz-notice{background:var(--surface);border-color:var(--line)}
:root[data-theme="dark"] .mz-menu-i:hover,:root[data-theme="dark"] .mz-menu-i[aria-current=page]{background:var(--green-soft);color:var(--ink)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .mz-notice{background:var(--surface);border-color:var(--line)}
  :root:not([data-theme="light"]) .mz-menu-i:hover,:root:not([data-theme="light"]) .mz-menu-i[aria-current=page]{background:var(--green-soft);color:var(--ink)}
}
/* pied de page : bandeau pleine largeur, comme la maquette */
.wrap>footer{max-width:none;margin:3rem calc(50% - 50vw) 0;padding:1.4rem max(1.5rem,calc(50vw - 40rem));background:var(--surface);border-top:1px solid var(--line);font-size:.8rem;color:#72818B}
.wrap>footer .legal-links{margin-bottom:0}
/* écrans moyens (maquette ≤ 1080 px) : barre resserrée, défilement horizontal si besoin */
@media (min-width:900.01px) and (max-width:1180px){
  .mz-bar{gap:.9rem;padding:0 1rem}
  .mz-topnav{overflow-x:auto;scrollbar-width:none;gap:.1rem}
  .mz-topnav .sp-btn{padding:0 .5rem;font-size:.86rem}
  header.top.mz-top p{display:none}
}
/* téléphone : la barre du haut devient la barre fixée en bas, icône au-dessus du libellé court */
@media (max-width:40rem){
  .mz-topnav{position:fixed;left:0;right:0;bottom:0;z-index:40;margin:0;background:var(--surface);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:0 .1rem env(safe-area-inset-bottom);overflow:visible;flex-basis:auto}
  .mz-topnav .sp-btn{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.45rem .1rem .5rem;font-size:.68rem;border-bottom:0;border-top:3px solid transparent}
  .mz-topnav .sp-btn[aria-current=page]{border-top-color:var(--green)}
  .mz-navic{display:block;font-size:1.05rem;line-height:1}
  .mz-navl[data-short]{font-size:0}
  .mz-navl[data-short]::after{content:attr(data-short);font-size:.68rem}
  .mz-topnav .sp-lock{display:none}
  body{padding-bottom:3.8rem}
  .wrap>footer{padding-bottom:1.6rem}
  .mz-menu{position:fixed;left:.75rem;right:.75rem;top:3.6rem;min-width:0}
}

/* ---------- Mavzia 2.0 · étape 6b : accueil connecté comme la maquette (bandeau, cartes, sans menu latéral) ---------- */
#mz-home{display:none}
body.mz-home #mz-home{display:block}
body.mz-home #app>.tabs,body.mz-home #app>.searchbar{display:none!important}
body.mz-home #home>.sugg-title,body.mz-home #home>#sugg,body.mz-home #home>#toc,body.mz-home #home>#themes,body.mz-home #home>#docs-promo,body.mz-home #home>#news{display:none!important}
body.mz-home #home>#feed,body.mz-home #home>#reminders{margin-top:2rem}
body.mz-app.mz-home #app:not([hidden]){display:block}
body.mz-app.mz-home #mz-side{display:none!important}
body.mz-home #banner:empty{display:none}
/* lecteur : cartes « Source officielle » et « Ce qui s'applique » (maquette) */
.mz-sideh{margin:0;font:700 .95rem/1.3 var(--sans);color:var(--ink)}
.mz-sidedl{display:grid;grid-template-columns:auto 1fr;gap:.45rem .8rem;margin:.2rem 0 .3rem;font-size:.8rem}
.mz-sidedl dt{color:var(--muted)}
.mz-sidedl dd{margin:0;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
/* lecteur : les quatre actions de la maquette gardent leur libellé (☆ Ajouter aux favoris, ＋ Ajouter à un dossier, ⇄ Comparer, ⎙ Imprimer) */
#reader .dlg-foot .right{flex-wrap:wrap;justify-content:flex-end}
#reader .dlg-foot .right #rd-fav,#reader .dlg-foot .right #rd-dos,#reader .dlg-foot .right #rd-cmp,#reader .dlg-foot .right #rd-print{font-size:.85rem;padding:.45rem .75rem;white-space:nowrap}
/* en-têtes des espaces Documents, Mes dossiers, Mon espace / Mon organisation : titre et présentation de la maquette */
.mz-dashhead{align-items:flex-start}
.mz-dashhead .mz-pagedesc{margin-bottom:0}
