




:root{
   
  --vert:#1f7a46; --vert-fonce:#165933; --bg:#eaefec; --txt:#0a1a13;
  --gris:#5f7269; --bord:#d3dbd6; --blanc:#fff;
  --ombre:0 1px 1px rgba(10,26,19,.04), 0 10px 24px -14px rgba(10,26,19,.20);
   
  --encre:#0a1a13; --ocre:#a86a12; --surface2:#f5f8f6; --filet:#e4eae7; --vert-clair:#e6f2ec;
  --ombre-fine:0 1px 1px rgba(10,26,19,.04), 0 2px 6px -2px rgba(10,26,19,.08);
  --mono:ui-monospace,"SF Mono","Cascadia Mono","Roboto Mono",Menlo,Consolas,monospace;
  --type:#8a9a93;    
  

  --maxw:min(90vw, 1800px);
  

  --rouge:#b3261e;    
  --violet:#6b3fb0;   
}


@media(max-width:880px){ :root{ --maxw:100%; } }
*{box-sizing:border-box}
body{margin:0;font-family:'Poppins',system-ui,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--txt);
  -webkit-font-smoothing:antialiased}
 
body[data-type="ITE"]{--type:#c1651f}
body[data-type="PPV"]{--type:#a86a12}
body[data-type="PAC"]{--type:#1f6f9c}
body[data-type="SSC"]{--type:#b03a5b}
body[data-type="CLOTURE"]{--type:#3f7d33}
body[data-type="FENETRES"]{--type:#6b4a9c}
body[data-type="PISCINE"]{--type:#128b8b}
body[data-type="ABRI"]{--type:#8a6a3a}
body[data-type="AUTRE"]{--type:#5f7269}
body::before{content:"";position:fixed;top:0;left:0;right:0;height:3px;background:var(--type);z-index:2000;
  transition:background .25s}
 
#plan-bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
header.top,.stepper,.wizard,.wrap,.inst-banner{position:relative;z-index:1}



.dc-haut-logo{height:28px;max-width:140px;object-fit:contain;flex:0 0 auto;
              background:#fff;border:1px solid var(--dc-bord,#E3E9E6);border-radius:7px;padding:2px 7px}
@media(max-width:820px){ .dc-haut-logo{height:24px;max-width:96px;padding:2px 5px} }
@media(max-width:520px){ .dc-haut-logo{display:none} }

header.top{background:var(--encre);color:#eaefec;padding:13px 22px;display:flex;flex-wrap:wrap;align-items:center;
  gap:10px 14px;box-shadow:var(--ombre)}
@media(max-width:900px){header.top .tag{display:none}}


header.top .logo-lien{display:flex;align-items:center;flex:0 0 auto;line-height:0}
header.top .logo{display:block;height:34px;width:auto}
 
@media(max-width:560px){ header.top .logo{height:27px} }
header.top .tag{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:var(--type);
  padding:4px 9px;border-radius:999px;font-weight:700}
header.top a{color:rgba(234,239,236,.72)!important;transition:color .15s}
header.top a:hover{color:#fff!important}
 
header.top .topnav-l{font-size:.85rem;text-decoration:none;padding:2px 1px;border-bottom:2px solid transparent}
header.top .topnav-l.actif{color:#fff!important;border-bottom-color:var(--type)}
.inst-banner{text-align:center;margin:16px auto 0;max-width:var(--maxw);padding:0 18px}
.inst-logo{height:90px;max-width:320px;object-fit:contain;background:#fff;border:1px solid var(--bord);border-radius:12px;padding:8px 16px;box-shadow:var(--ombre)}
.wrap{max-width:var(--maxw);margin:24px auto;padding:0 18px;display:grid;grid-template-columns:380px 1fr;gap:20px}
@media(max-width:880px){.wrap{grid-template-columns:1fr}}

 
 
.stepper{max-width:var(--maxw);margin:26px auto 0;padding:0 18px;display:flex;gap:0;align-items:flex-start}
.step-dot{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;text-align:center;
  background:transparent;border:0;padding:0;color:var(--gris);font-size:.78rem;font-weight:500;
  transition:color .18s,opacity .18s}
.step-dot::after{content:"";position:absolute;top:13px;left:50%;width:100%;height:1px;background:var(--bord);z-index:0}
.step-dot:last-child::after{display:none}
.step-dot span{position:relative;z-index:1;display:inline-flex;width:27px;height:27px;align-items:center;
  justify-content:center;border-radius:999px;background:var(--blanc);border:1px solid var(--bord);color:var(--gris);
  font-family:var(--mono);font-size:.72rem;font-weight:700;box-shadow:var(--ombre-fine);
  transition:transform .18s,box-shadow .18s,background .18s,border-color .18s,color .18s}
.step-dot.active{color:var(--txt);font-weight:600}
.step-dot.active span{background:var(--vert-clair);border-color:var(--vert);color:var(--vert-fonce)}
 
.step-dot.active:has(+ .step-dot.active)::after{background:var(--vert)}


.step-dot .step-etat{display:block;margin-top:2px;font-size:11px;font-weight:400;line-height:1.3;
  color:var(--gris);max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.step-dot .step-etat:empty{display:none}
.step-dot.current .step-etat{color:var(--vert-fonce)}
 
@media (max-width:620px){ .step-dot .step-etat{display:none} }
.step-dot.current{color:var(--txt);font-weight:650}
.step-dot.current span{background:var(--vert);border-color:var(--vert);color:#fff;box-shadow:0 0 0 4px var(--vert-clair)}
 
.step-dot.reachable{cursor:pointer}
.step-dot.reachable:hover span{transform:translateY(-1px);box-shadow:0 3px 9px rgba(10,26,19,.18)}
.step-dot:not(.reachable){cursor:not-allowed;opacity:.42}
.wizard{max-width:var(--maxw);margin:18px auto;padding:0 18px}
.step{display:none}
.step.active{display:block}


.step-inner{max-width:100%;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.step-grid{display:grid;grid-template-columns:380px 1fr;gap:20px}
@media(max-width:880px){.step-grid{grid-template-columns:1fr}}
.nav{max-width:var(--maxw);margin:22px auto 0;display:flex;justify-content:space-between;align-items:center;gap:12px}
.nav .primary,.nav .ghost{width:auto;margin-top:0;padding:12px 22px}
.card{background:var(--blanc);border:1px solid var(--bord);border-radius:12px;box-shadow:var(--ombre);padding:18px}
 
.card h2{margin:0 0 15px;font-family:var(--mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--gris);font-weight:700;display:flex;align-items:center;gap:8px}
.card h2::before{content:"";width:5px;height:5px;border-radius:999px;background:var(--type);flex:0 0 auto}
label{display:block;font-size:.78rem;color:var(--gris);margin:10px 0 4px;font-weight:600}
input[type=text],input[type=email],input[type=password],input[type=url],input[type=tel],input[type=number]{width:100%;
  padding:10px 12px;border:1px solid var(--bord);border-radius:8px;font-size:.92rem;box-sizing:border-box;
  background:var(--blanc);color:var(--txt);box-shadow:var(--ombre-fine);transition:border-color .15s,box-shadow .15s}
input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=number]:focus{
  outline:none;border-color:var(--vert);box-shadow:0 0 0 3px var(--vert-clair)}
button.primary{margin-top:14px;width:100%;background:var(--vert);color:#fff;border:0;padding:11px 14px;border-radius:8px;
  font-size:.92rem;font-weight:650;cursor:pointer;box-shadow:var(--ombre-fine);
  transition:background .15s,box-shadow .15s,transform .12s}
button.primary:hover{background:var(--vert-fonce);box-shadow:0 4px 12px -4px rgba(31,122,70,.5)}
button.primary:active{transform:translateY(1px)}
button.primary:focus-visible{outline:none;box-shadow:0 0 0 3px var(--vert-clair),0 0 0 4px var(--vert)}
button.primary:disabled{opacity:.55;cursor:wait;box-shadow:none}
 
.result .row span:last-child,.parc b,.dp-meta b,.pans-table td{font-variant-numeric:tabular-nums}
#map{border-radius:14px;border:1px solid var(--bord);box-shadow:var(--ombre)}
.result{margin-top:16px;font-size:.9rem}
.result .row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed var(--bord)}
.result .row span:first-child{color:var(--gris)}
.result .row span:last-child{font-weight:600}
.parc{background:var(--vert-clair);border:1px solid #bcdcc9;border-radius:9px;padding:10px 12px;margin-top:8px}
.parc b{color:var(--vert-fonce)}
.msg{padding:10px 12px;border-radius:9px;font-size:.88rem;margin-top:12px}
.msg.err{background:#fdecec;color:#b3261e;border:1px solid #f4c7c3}
.msg.ok{background:var(--vert-clair);color:var(--vert-fonce);border:1px solid #bcdcc9}
.muted{color:var(--gris);font-size:.82rem}
textarea{width:100%;padding:11px 13px;border:1px solid var(--bord);border-radius:9px;font-size:.92rem;font-family:inherit;resize:vertical}
textarea:focus{outline:none;border-color:var(--vert)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bloc-type{background:var(--surface2);border:1px solid var(--filet);border-radius:10px;padding:12px;margin-top:10px}



#bloc-ite, #bloc-ppv, #bloc-pac, #bloc-ssc, #bloc-autre{
  border-left:3px solid var(--type,var(--filet));
  background:color-mix(in srgb, var(--type,#000) 3%, var(--surface2));
}
#bloc-ite > label:first-child, #bloc-ppv > label:first-child,
#bloc-pac > label:first-child, #bloc-ssc > label:first-child,
#bloc-autre > label:first-child{ color:var(--type,var(--gris)) }



.facades.rien-coche{border-left:3px solid #e0a030;padding-left:9px;margin-left:-12px}
.invalid{border-color:#e0463a !important;box-shadow:0 0 0 2px rgba(224,70,58,.15) !important}



#step-1 .champ-manque, #step-1 .champ-ok{
  position:relative; padding-left:10px; transition:border-color .15s;
}
#step-1 .champ-manque::before, #step-1 .champ-ok::before{
  content:""; position:absolute; left:0; top:2px; bottom:2px; width:3px; border-radius:2px;
}
#step-1 .champ-manque::before{ background:#e0a030 }           
#step-1 .champ-ok::before    { background:var(--vert) }       
 
#step-1 .champ-manque:has(.invalid)::before{ background:#e0463a }
 
.mandat-row{display:flex;align-items:center;gap:12px;margin-top:4px}
.img-add{display:inline-block;cursor:pointer;font-size:.82rem;color:var(--vert-fonce);background:var(--vert-clair);border:1px dashed var(--vert);border-radius:8px;padding:6px 12px;margin:0}

 
 
#step-1 .step-inner{max-width:100%;display:grid;grid-template-columns:1fr;gap:18px;align-items:stretch}
@media(max-width:980px){#step-1 .step-inner{grid-template-columns:1fr}}
#step-1 .card{padding:14px 16px}
#step-1 .card h2{margin-bottom:8px;font-size:.95rem}
#step-1 .card .muted{margin:0 0 8px}
#step-1 label{margin:5px 0 2px;font-size:.76rem}
#step-1 input:not([type=checkbox]):not([type=radio]):not([type=file]),#step-1 select,#step-1 textarea{padding:7px 10px;font-size:.88rem}
#step-1 .grid2{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}
#step-1 .bloc-type{margin-top:8px;padding:9px}


#step-1 .bloc-type .grid2{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}

 
.facades{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 4px}
.facades .chk{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 11px;border:1px solid var(--bord);
  border-radius:20px;background:#fff;cursor:pointer;font-size:.84rem;color:var(--txt)}
.facades .chk:has(input:checked){background:var(--vert-clair);border-color:var(--vert);color:var(--vert-fonce);font-weight:600}
.facades .chk input{width:auto;margin:0}

 
.toit-controls{display:flex;gap:10px;margin-bottom:14px}
button.ghost{background:var(--blanc);border:1px solid var(--bord);color:var(--txt);border-radius:8px;padding:10px 15px;
  font-size:.88rem;font-weight:600;cursor:pointer;box-shadow:var(--ombre-fine);
  transition:border-color .15s,color .15s,background .15s,box-shadow .15s}
button.ghost:hover{border-color:var(--vert);color:var(--vert-fonce);box-shadow:0 3px 8px -3px rgba(10,26,19,.2)}
button.ghost:focus-visible{outline:none;border-color:var(--vert);box-shadow:0 0 0 3px var(--vert-clair)}
button.ghost.active{background:var(--vert);color:#fff;border-color:var(--vert)}
@media(max-width:760px){.toit-controls{flex-wrap:wrap}}
.grid-settings{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}
@media(max-width:760px){.grid-settings{grid-template-columns:repeat(2,1fr)}}
.pans-table{width:100%;border-collapse:collapse;font-size:.9rem}
.pans-table th,.pans-table td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--bord)}
.pans-table thead th{font-size:.78rem;color:var(--gris);text-transform:uppercase;letter-spacing:.3px}
.pans-table tfoot td{border-top:2px solid var(--vert);border-bottom:0;color:var(--vert-fonce)}
.del-pan{background:#fdecec;border:1px solid #f4c7c3;color:#b3261e;border-radius:6px;cursor:pointer;width:26px;height:26px;line-height:1}
.pan-label{background:rgba(255,106,0,.9)!important;color:#fff!important;border:0!important;font-weight:700;font-size:.8rem;box-shadow:none!important}
.pan-label::before{display:none!important}

 
select{width:100%;padding:10px 12px;border:1px solid var(--bord);border-radius:9px;font-size:.92rem;background:#fff}
input[type=file]{width:100%;font-size:.85rem;padding:8px;border:1px dashed var(--bord);border-radius:9px;background:#fafbfc}
.pm-grid{display:grid;grid-template-columns:340px 1fr;gap:22px}
@media(max-width:880px){.pm-grid{grid-template-columns:1fr}}
.pm-preview{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pm-col{display:flex;flex-direction:column;gap:6px}
.pm-cap{font-size:.75rem;font-weight:700;color:var(--gris);letter-spacing:.5px}
.pm-img{aspect-ratio:1;border:1px solid var(--bord);border-radius:12px;background:#fafbfc center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;color:var(--gris);font-size:.82rem;overflow:hidden}
.pm-img img{width:100%;height:100%;object-fit:cover}
.spinner{width:34px;height:34px;border:3px solid var(--bord);border-top-color:var(--vert);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

 
.search-field{position:relative}
.suggestions{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1000;
  background:#fff;border:1px solid var(--bord);border-radius:10px;box-shadow:var(--ombre);overflow:hidden}
.suggestions .sugg{padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--bord);display:flex;flex-direction:column;gap:1px}
.suggestions .sugg:last-child{border-bottom:0}
.suggestions .sugg:hover,.suggestions .sugg.active{background:var(--vert-clair)}
.suggestions .sugg-label{font-size:.9rem;font-weight:500}
.suggestions .sugg-ctx{font-size:.76rem;color:var(--gris)}

.layers{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;align-items:center}
.layers .hint{font-size:.76rem;color:var(--gris);margin-left:auto}
#map{height:620px}

 
.step2-head{margin-top:18px}
.point-hint{text-align:center;margin:14px 2px 0;font-style:italic}

 
.dp-photos{margin-top:18px}
.dp-photos h3{margin:0 0 12px;font-size:1rem;color:var(--vert-fonce)}
.dp-loading{display:flex;align-items:center;gap:10px;color:var(--gris);font-size:.9rem}


.dp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(480px,1fr));gap:14px}
@media(max-width:640px){.dp-grid{grid-template-columns:1fr}}
.dp-fig{margin:0;border:1px solid var(--bord);border-radius:12px;overflow:hidden;background:#fafbfc}
.dp-fig img{width:100%;height:auto;display:block}
.dp-imgwrap{position:relative;line-height:0;overflow:hidden}
.dp-busy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.55);z-index:4;backdrop-filter:saturate(.6)}
.dp-imgwrap.dp-pannable{cursor:grab;touch-action:none}
.dp-imgwrap.dp-pannable.grabbing{cursor:grabbing}
.dp-imgwrap.dp-pannable img{transition:transform .06s linear;will-change:transform}
.dp-tip{font-size:.72rem;color:var(--gris);font-style:italic;align-self:center}


.dp-tip-annee{flex:1 0 100%;align-self:flex-start;margin-top:2px;font-style:normal}
.dp-imgwrap img{width:100%;height:auto;display:block}
.dp-arrow{position:absolute;transform:translate(-50%,-100%);cursor:grab;touch-action:none;
  display:flex;flex-direction:column;align-items:center;user-select:none;z-index:2}
.dp-arrow:active{cursor:grabbing}
.dp-arrow-lbl{background:#e11;color:#fff;font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:5px;
  line-height:1.2;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.45)}
.dp-arrow-glyph{color:#e11;font-size:22px;line-height:.7;margin-top:-1px;
  text-shadow:0 0 3px #fff,0 0 3px #fff,0 1px 2px rgba(0,0,0,.5)}
.dp-fig figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px;
  padding:8px 12px;font-size:.82rem;font-weight:600;color:var(--vert-fonce)}
.dp-fig figcaption a{font-weight:500;color:var(--vert);text-decoration:none;white-space:nowrap}
.dp-fig figcaption a:hover{text-decoration:underline}
.dp-meta{margin:0 0 10px;font-size:.82rem;color:var(--gris)}
.dp-meta b{color:var(--vert-fonce)}
.dp-shot-icon{background:none;border:0}
.dp-cam{display:inline-flex;align-items:center;gap:2px;background:#fff;border:2px solid #e11;border-radius:16px;
  padding:2px 7px 2px 5px;font-size:15px;line-height:1;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:grab;white-space:nowrap}
.dp-cam b{font-size:.68rem;color:#e11;font-weight:800}
.dp-shot-icon:active .dp-cam{cursor:grabbing}
.dp-house-icon{background:none;border:0}
.dp-house{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;font-size:20px;
  background:#fff;border:2px solid var(--vert);border-radius:50%;box-shadow:0 1px 5px rgba(0,0,0,.4);cursor:grab}
.dp-house-icon:active .dp-house{cursor:grabbing}
.dp-fig figcaption{flex-wrap:wrap}
.dp-coord{font-weight:400;color:var(--gris);font-size:.74rem;margin-left:auto}
.dp-badge{font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:20px;background:#eef2f6;color:var(--gris)}
.dp-badge.up{background:var(--vert-clair);color:var(--vert-fonce)}
.dp-badge.warn{background:#fff3e0;color:#b26a00}
.dp-ctrl{display:flex;gap:6px;flex-wrap:wrap;padding:8px 10px;border-top:1px solid var(--bord);background:#fff}
.dp-ctrl button{flex:0 0 auto;background:#fff;border:1px solid var(--bord);border-radius:7px;
  padding:5px 9px;font-size:.8rem;cursor:pointer;color:var(--txt)}
.dp-ctrl button:hover{border-color:var(--vert);color:var(--vert-fonce)}
.dp-ctrl button[data-dp="move"]{margin-left:auto;border-color:var(--vert);color:var(--vert-fonce);font-weight:600}


.step2-visuals{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;
  width:100%;padding:0;box-sizing:border-box}
@media(max-width:820px){.step2-visuals{grid-template-columns:1fr}}
.step2-visuals #map-slot-2,.step2-visuals #map-wrap{height:100%}

 
.step2-top{display:grid;grid-template-columns:minmax(300px,.85fr) 1.15fr;gap:18px;align-items:stretch;
  width:100%;box-sizing:border-box;margin-bottom:18px}
@media(max-width:820px){.step2-top{grid-template-columns:1fr}}
.step2-top .step2-head{margin:0;display:flex;flex-direction:column}
.step2-top .street-col{min-height:100%}
 
.step2-top .streetview,.step2-top .sv-placeholder{min-height:360px}
#map-slot-2{width:100%}
.street-col{display:flex;flex-direction:column}
 
.step2-dp-row{display:grid;grid-template-columns:3fr 1fr;gap:18px;align-items:start;margin-top:18px}
.step2-dp-row .dp-photos{grid-column:1;margin:0}
.step2-dp-row .step2-head{grid-column:2;grid-row:1;margin:0}


.step2-dp-row .step2-parcelles{grid-column:2;grid-row:2;margin:0}
.step2-dp-row .dp-photos{grid-row:1 / span 2}
@media(max-width:820px){.step2-dp-row{grid-template-columns:1fr}
  .step2-dp-row .dp-photos,.step2-dp-row .step2-head,.step2-dp-row .step2-parcelles{grid-column:auto;grid-row:auto}}

.street-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px;font-weight:600;color:var(--vert-fonce)}
.sv-open{font-size:.8rem;font-weight:500;color:var(--vert);text-decoration:none}
.sv-actions{display:flex;align-items:center;gap:12px}
 
.streetview{width:100%;flex:1;min-height:620px;border:1px solid var(--bord);border-radius:14px;box-shadow:var(--ombre)}
.sv-placeholder{flex:1;min-height:620px;border:1px dashed var(--bord);border-radius:14px;background:#fafbfc;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:18px;color:var(--gris)}
.sv-placeholder p{margin:0;font-size:.88rem}

 
.step2-parcelles{margin-top:18px}
.step2-parcelles h3{margin:0 0 12px;font-size:1rem;color:var(--vert-fonce)}
.step2-parcelles .parc{margin-top:8px}
.parc-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}
.btn-remove{background:#fff;border:1px solid #f4c7c3;color:#b3261e;border-radius:8px;
  width:30px;height:30px;cursor:pointer;font-size:.85rem;line-height:1}
.btn-remove:hover{background:#fdecec}
.parc-total{margin:8px 2px 0;text-align:right;font-weight:600}
.parc{cursor:pointer;transition:.12s}
.parc:hover{border-color:var(--vert)}
.parc-active{background:#dff0e5;border-color:var(--vert);box-shadow:0 0 0 2px rgba(46,125,79,.15)}
.parc{display:flex;justify-content:space-between;align-items:center;gap:8px}
.btn-extrait{flex-shrink:0;background:#fff;border:1px solid var(--vert);color:var(--vert-fonce);
  border-radius:8px;padding:7px 10px;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap}
.btn-extrait:hover{background:var(--vert);color:#fff}
.btn-extrait:disabled{opacity:.7;cursor:wait}
.docs{margin-top:14px;padding:12px 14px;background:#f7faf8;border:1px solid #e0ece4;border-radius:10px}
.docs h3{margin:0 0 8px;font-size:.9rem;color:var(--vert-fonce)}
.docs ul{margin:0;padding-left:2px;list-style:none}
.docs li{padding:5px 0;font-size:.88rem;border-bottom:1px dashed var(--bord)}
.docs li:last-child{border-bottom:0}
.docs a{color:var(--vert);text-decoration:none}
.docs a:hover{text-decoration:underline}
.layers button{flex:1;font-size:.8rem;padding:7px;border:1px solid var(--bord);background:#fff;border-radius:8px;cursor:pointer}
.layers button.active{background:var(--vert);color:#fff;border-color:var(--vert)}

 
 
a.primary{display:inline-block;text-align:center;text-decoration:none;box-sizing:border-box;
  margin-top:14px;width:100%;background:var(--vert);color:#fff;padding:12px;border-radius:9px;font-size:.95rem;font-weight:600;cursor:pointer;transition:.15s}
a.primary:hover{background:var(--vert-fonce)}
 
.toit-controls .primary,.toit-controls .ghost,.env-prep .primary,.env-actions .primary,.env-actions .ghost{width:auto;margin-top:0}
 
.photo-card .photo-apres{display:block;width:100%;margin-top:.35rem;padding:.3rem;border:1px solid var(--vert);border-radius:6px;background:#fff;color:var(--vert);font-size:.72rem;font-weight:600;cursor:pointer}
.photo-card .photo-apres:hover{background:var(--vert-clair)}




 
.bulle-overlay{position:fixed;inset:0;z-index:6000;display:flex;align-items:center;justify-content:center;
  background:rgba(10,26,19,.55);backdrop-filter:blur(3px);padding:20px;animation:bulleFade .16s ease-out}
@keyframes bulleFade{from{opacity:0}to{opacity:1}}
.bulle{width:100%;max-width:520px;background:var(--blanc);border:1px solid var(--bord);border-radius:16px;
  box-shadow:0 28px 70px -20px rgba(10,26,19,.5);overflow:hidden;
  animation:bullePop .2s cubic-bezier(.2,.9,.3,1.2)}
@keyframes bullePop{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.bulle-head{display:flex;align-items:center;gap:11px;padding:17px 22px;background:var(--surface2);
  border-bottom:1px solid var(--filet)}
.bulle-ico{font-size:1.45rem;line-height:1}
.bulle-head h3{margin:0;font-size:.98rem;font-weight:650;color:var(--txt)}
.bulle-body{padding:18px 22px}
.bulle-infos{margin:0;display:grid;gap:9px}
.bulle-infos > div{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:baseline}
.bulle-infos dt{margin:0;font-family:var(--mono);font-size:.65rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--gris);font-weight:700}
.bulle-infos dd{margin:0;font-size:.9rem;color:var(--txt);word-break:break-word}
.bulle-infos dd.bulle-url{font-size:.78rem;color:var(--gris)}
.bulle-pieces{margin-top:16px;padding-top:14px;border-top:1px dashed var(--filet)}
.bulle-lab{display:block;font-family:var(--mono);font-size:.65rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--gris);font-weight:700;margin-bottom:8px}
.bulle-chips{display:flex;flex-wrap:wrap;gap:6px}
.bulle-chip{font-family:var(--mono);font-size:.72rem;font-weight:700;padding:4px 9px;border-radius:999px;
  background:var(--vert-clair);color:var(--vert-fonce);border:1px solid #cfe6da}
.bulle-warn{margin-top:14px;padding:11px 13px;border-radius:9px;background:#fff6e8;border:1px solid #f0d9ae;
  color:#8a5a12;font-size:.84rem;line-height:1.45}
.bulle-actions{display:flex;gap:10px;padding:15px 22px;background:var(--surface2);border-top:1px solid var(--filet)}
.bulle-btn{flex:1;padding:11px 16px;border-radius:9px;font-size:.9rem;font-weight:650;cursor:pointer;
  transition:background .15s,box-shadow .15s,transform .12s;box-shadow:var(--ombre-fine)}
.bulle-btn:active{transform:translateY(1px)}
.bulle-ok{background:var(--vert);color:#fff;border:0}
.bulle-ok:hover{background:var(--vert-fonce)}
.bulle-annuler{background:var(--blanc);color:var(--gris);border:1px solid var(--bord)}
.bulle-annuler:hover{background:var(--bg);color:var(--txt)}
@media(max-width:560px){
  .bulle-infos > div{grid-template-columns:1fr;gap:1px}
  .bulle-actions{flex-direction:column-reverse}
}

 
.draft-banner{max-width:var(--maxw);margin:16px auto 0;padding:11px 16px;display:flex;align-items:center;gap:14px;
  justify-content:space-between;flex-wrap:wrap;
  background:var(--vert-clair);border:1px solid #bcdcc9;border-left:3px solid var(--vert);
  border-radius:10px;font-size:.86rem;color:var(--vert-fonce);box-shadow:var(--ombre-fine)}
.draft-banner b{color:var(--vert-fonce)}
.draft-reset{background:var(--blanc);border:1px solid var(--bord);color:var(--gris);border-radius:8px;
  padding:7px 13px;font-size:.8rem;font-weight:650;cursor:pointer;flex:0 0 auto;
  transition:border-color .15s,color .15s}
.draft-reset:hover{border-color:#b3261e;color:#b3261e}
.draft-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,14px);z-index:6000;
  background:var(--encre);color:#eaefec;padding:9px 16px;border-radius:999px;
  font-size:.8rem;font-weight:600;letter-spacing:.01em;box-shadow:0 10px 26px -10px rgba(10,26,19,.6);
  opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.draft-toast.show{opacity:1;transform:translate(-50%,0)}
.draft-toast.warn{background:#a8500c;color:#fff}    
 
.aide-btn{cursor:pointer;color:var(--vert);font-size:.78rem;font-weight:600;user-select:none;display:inline-block;margin:.15rem 0;padding:2px 10px;border:1px solid var(--bord);border-radius:999px;background:#fff;line-height:1.4}
.aide-btn:hover{background:var(--vert-clair)}
.aide-hidden{display:none !important}



.couleur-src{
  margin-top:.35rem; font-size:.75rem; color:var(--encre);
  background:#f3f7f4; border:1px solid var(--bord); border-left:3px solid var(--vert);
  border-radius:5px; padding:.3rem .45rem;
}
.couleur-src b{ font-weight:600 }






.card > p, .card > .muted{ max-width:95ch }



.pans-table{ display:block; overflow-x:auto; max-width:100% }
img{ max-width:100% }

 
@media(max-width:560px){
  .wrap,.wizard,.stepper,.inst-banner,.nav{ padding-left:12px; padding-right:12px }
  .card{ padding:14px }
  .stepper{ margin-top:18px }
   
  .step-dot{ font-size:.64rem; gap:6px }
  .step-dot span{ width:24px; height:24px; font-size:.66rem }
  .step-dot::after{ top:12px }
   
  .nav{ flex-wrap:wrap; gap:8px }
  .nav .primary, .nav .ghost{ flex:1 1 140px; padding:12px 14px }
  header.top{ padding:11px 14px }
  .inst-logo{ height:64px }
}






body[data-type="ITE"]      { --type-clair:#f0a463 }
body[data-type="PPV"]      { --type-clair:#e8b95c }
body[data-type="PAC"]      { --type-clair:#7ec4e8 }
body[data-type="SSC"]      { --type-clair:#f08fa8 }
body[data-type="FENETRES"] { --type-clair:#b79ce8 }
body[data-type="CLOTURE"]  { --type-clair:#8fd07f }
body[data-type="PISCINE"]  { --type-clair:#6fd6d6 }
body[data-type="ABRI"]     { --type-clair:#d6b483 }
header.top .tag{ color: var(--type-clair, #b9c9c2) }

 
.dp4-badge.todo{ color:#8a5a10 }
.dp-badge.warn { color:#8a5200 }
.mr-badge.warn { color:#7d5010 }
.dp4-recap .rr span{ color:#55635c }
.ai-cost.warn { background:#a75f08 }
.pm-fix-btn   { background:#9a5620 }

 
.step-dot:not(.reachable){ opacity:.62 }

 
.oblig{ color:#b3261e; font-weight:700; margin-left:.15em }



@media (max-width: 640px){
  .grid2, #step-1 .bloc-type .grid2, .pm-pair{ grid-template-columns:1fr !important }
  #map{ height:52vh; min-height:300px }
  .streetview, .sv-placeholder{ min-height:300px }
  #ppv-map, #ppv2-map{ height:50vh; min-height:280px }
  .wrap{ padding-left:.6rem; padding-right:.6rem }
}

 
@media (max-width: 820px){
  .wrap table{ display:block; overflow-x:auto; white-space:nowrap }
}



textarea:focus, select:focus, input:focus{ outline:2px solid var(--vert); outline-offset:1px }



@media (max-width: 760px){
  input:not([type=checkbox]):not([type=radio]):not([type=file]),
  select, textarea{ font-size:16px !important }
}



.dp-hex{
  font-family:var(--mono, monospace); font-size:.74rem; font-weight:600;
  background:#f3f7f4; border:1px solid var(--bord,#d7e0db); border-radius:5px;
  padding:.12rem .4rem; cursor:pointer; user-select:all; white-space:nowrap; color:var(--encre,#22302b);
}
.dp-hex:hover{ border-color:var(--vert,#2e7d52) }


.dp-save-btn{ font-weight:600 }
.dp-modal-ov{
  position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center;
  background:rgba(20,30,26,.5); padding:1rem;
}
.dp-modal{
  background:#fff; border-radius:12px; max-width:460px; width:100%;
  padding:1.3rem 1.4rem; box-shadow:0 12px 48px rgba(0,0,0,.28);
}
.dp-modal h3{ margin:0 0 .6rem; font-size:1.05rem }
.dp-modal-body p{ margin:.45rem 0; font-size:.9rem; line-height:1.5 }
.dp-modal-foot{ margin-top:1rem; text-align:right }
@media (prefers-color-scheme: dark){
  .dp-modal{ background:#1e2622; color:#e7ebe8 }
}



.dp-fig > .dp-imgwrap{display:block;width:fit-content;max-width:100%;margin:0 auto}
.dp-fig > .dp-imgwrap img{width:auto;height:auto;max-width:100%;max-height:var(--dp-img-max,420px)}
@media(max-width:820px){ .dp-fig > .dp-imgwrap img{--dp-img-max:340px} }



.ppv-bloc{display:flex;align-items:flex-start;gap:.6rem;padding:.45rem 0}
.ppv-bloc + .ppv-bloc{border-top:1px solid #eef2f0}
.ppv-bloc-lab{
  flex:none;min-width:72px;padding-top:.35rem;
  font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8a998f;
}
.ppv-bloc > .toit-controls{flex:1;margin:0}
 
.ppv-bloc-action{background:#f6faf8;border-radius:8px;padding:.5rem .6rem}
.ppv-bloc-action .ppv-bloc-lab{color:var(--vert,#1f7a46)}
 
.ppv-bloc-fin{opacity:.9}
.ppv-bloc-fin .ghost{font-size:.8rem}
.ppv-sep{display:inline-block;width:1px;height:20px;background:#dde5e1;margin:0 .2rem}
@media(max-width:820px){
  .ppv-bloc{flex-direction:column;gap:.2rem}
  .ppv-bloc-lab{padding-top:0}
}









:root{
   
  --dc-vert-900:#0A2A1E;    
  --dc-vert-800:#0F3B2A;    
  --dc-vert-700:#124430;    
  --dc-vert-600:#1B5A3E;    
  --dc-vert-500:#1B7F4F;    
  --dc-vert-200:#BFE0CD;
  --dc-vert-100:#E6F4EC;    
  --dc-vert-050:#F2F9F5;

  

  --dc-marque:#78BE20;         
  --dc-marque-fonce:#5E9A18;   
  --dc-marque-encre:#073B2C;   
  --dc-marque-fond:#F3F8ED;    
  --dc-or-600:#A8862F;
  --dc-or-500:#C8A24A;      
  --dc-or-400:#E0B341;
  --dc-or-100:#FBF3DF;

   
  --dc-encre:#0E1A14;       
  --dc-texte:#2C3E36;       
  

  --dc-gris:#5B6B64;        
  --dc-gris-clair:#7A8A83;  
  --dc-bord:#DEE6E1;        
  --dc-filet:#E8EEEA;       
  --dc-surface:#FFFFFF;     
  --dc-surface-2:#F6F9F7;   
  

  

  --dc-fond:#E4EAE1;        

   
  --dc-ok:#1B7D4E;            --dc-ok-fond:#E6F4EC;
  --dc-attente:#99650C;       --dc-attente-fond:#FDF3E1;
  --dc-info:#2A6BC0;          --dc-info-fond:#E9F1FC;
  --dc-alerte:#BD432C;        --dc-alerte-fond:#FCEAE6;
  --dc-violet:#7455D3;        --dc-violet-fond:#F0EBFD;
  --dc-neutre:#63726B;        --dc-neutre-fond:#EFF3F1;

   
  --dc-mairie:#1B7D4E;        --dc-mairie-fond:#E6F4EC;
  --dc-enedis:#2366E2;        --dc-enedis-fond:#E8F0FE;
  --dc-consuel:#936914;       --dc-consuel-fond:#FDF4E3;

   
  --dc-r-xs:7px; --dc-r-s:9px; --dc-r-m:11px; --dc-r-l:14px; --dc-r-xl:18px;
  --dc-r-pill:999px;

   
  --dc-o-1:0 1px 2px rgba(14,26,20,.08), 0 1px 1px rgba(14,26,20,.04);
  --dc-o-2:0 1px 3px rgba(14,26,20,.06), 0 8px 24px -14px rgba(14,26,20,.20);
  --dc-o-3:0 24px 56px -28px rgba(14,26,20,.42);

  

  --dc-police:system-ui,-apple-system,'Segoe UI Variable Text','Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --dc-mono:ui-monospace,'SF Mono','Cascadia Mono','Roboto Mono',Menlo,Consolas,monospace;

   
  --dc-e1:4px; --dc-e2:8px; --dc-e3:12px; --dc-e4:16px; --dc-e5:20px;
  --dc-e6:24px; --dc-e7:32px; --dc-e8:40px; --dc-e9:56px;

   
  --dc-lat:272px;           
  --dc-haut:64px;           
  

  --dc-contenu:100%;    

  --dc-transition:.16s cubic-bezier(.4,0,.2,1);
}



*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--dc-police);
  font-size:14px;
  line-height:1.55;
  color:var(--dc-texte);
  background:var(--dc-fond);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5{margin:0;color:var(--dc-encre);font-weight:600;letter-spacing:-.01em}
h1{font-size:24px;line-height:1.25}
h2{font-size:19px;line-height:1.3}
h3{font-size:16px;line-height:1.35}
h4{font-size:14px;line-height:1.4}
p{margin:0 0 var(--dc-e3)}
p:last-child{margin-bottom:0}
a{color:var(--dc-vert-500);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}
hr{border:0;border-top:1px solid var(--dc-filet);margin:var(--dc-e5) 0}
small,.dc-petit{font-size:12px}
code,kbd,.dc-mono{font-family:var(--dc-mono);font-size:.92em}


:focus-visible{outline:2px solid var(--dc-vert-500); outline-offset:2px}



.dc-app{min-height:100vh}

 
.dc-lat{
  position:fixed; inset:0 auto 0 0; width:var(--dc-lat); z-index:60;
  display:flex; flex-direction:column;
  background:var(--dc-vert-900);
  color:rgba(255,255,255,.78);
  overflow:hidden;
}


.dc-lat::before{
  content:""; position:absolute; inset:0;
  background-image:var(--dc-lat-image,none);
  background-size:cover; background-position:center bottom;
  opacity:.5; z-index:0;
}
.dc-lat::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,var(--dc-vert-900) 0%,rgba(10,42,30,.94) 42%,rgba(10,42,30,.72) 100%);
}
.dc-lat > *{position:relative; z-index:2}

.dc-lat-logo{ display:flex; align-items:center; color:#fff; text-decoration:none; flex:0 0 auto }
.dc-lat-logo:hover{text-decoration:none}
.dc-lat-logo img,.dc-lat-logo svg{height:30px;width:auto;display:block}
.dc-lat-logo .dc-marque{font-size:20px;font-weight:600;letter-spacing:-.02em;color:#fff}

.dc-lat-nav{flex:1 1 auto; overflow-y:auto; padding:0 var(--dc-e3) var(--dc-e4); scrollbar-width:thin}
.dc-lat-nav::-webkit-scrollbar{width:6px}
.dc-lat-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:3px}

.dc-lat-groupe{
  padding:var(--dc-e5) var(--dc-e3) var(--dc-e2);
  font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:rgba(255,255,255,.38);
}
.dc-lat-l{ display:flex; align-items:center; gap:var(--dc-e3); padding:11px var(--dc-e3); margin-bottom:2px; border-radius:var(--dc-r-m); color:rgba(255,255,255,.78); text-decoration:none; font-size:14px; font-weight:500 }
.dc-lat-l:hover{background:rgba(255,255,255,.07); color:#fff; text-decoration:none}
.dc-lat-l.actif{background:var(--dc-vert-600); color:#fff; font-weight:600}



.dc-lat-duo{position:relative}
.dc-lat-duo>.dc-lat-l{padding-right:44px}
.dc-lat-plus{
  position:absolute; top:50%; right:6px; transform:translateY(-50%);
  width:32px; height:32px; display:grid; place-items:center;
  border-radius:8px; color:rgba(255,255,255,.55); text-decoration:none;
  font-size:19px; line-height:1; font-weight:400;
  transition:background var(--dc-transition),color var(--dc-transition);
}
.dc-lat-plus:hover{background:rgba(255,255,255,.18); color:#fff; text-decoration:none}
.dc-lat-plus:focus-visible{outline:2px solid #fff; outline-offset:-2px}
.dc-lat-l .dc-ico{flex:0 0 20px; width:20px; height:20px; opacity:.9; display:grid; place-items:center}
.dc-lat-l.actif .dc-ico{opacity:1}
.dc-lat-l .dc-lib{flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
 
.dc-lat-l .dc-compteur{
  flex:0 0 auto; min-width:22px; padding:0 7px; height:20px; line-height:20px;
  border-radius:var(--dc-r-pill); text-align:center;
  font-size:11.5px; font-weight:700;
  background:var(--dc-or-400); color:var(--dc-vert-900);
}
.dc-lat-l .dc-compteur.urgent{background:var(--dc-alerte);color:#fff}

 
.dc-lat-promo{
  flex:0 0 auto; margin:var(--dc-e3) var(--dc-e4) var(--dc-e4);
  padding:var(--dc-e4);
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  border-radius:var(--dc-r-l);
}
.dc-lat-promo h4{color:var(--dc-or-400);font-size:13px;display:flex;align-items:center;gap:6px;margin-bottom:6px}
.dc-lat-promo p{color:rgba(255,255,255,.66);font-size:12px;line-height:1.45;margin-bottom:var(--dc-e3)}
.dc-lat-promo .dc-b{width:100%;justify-content:center}

 
.dc-lat-moi{
  flex:0 0 auto; display:flex; align-items:center; gap:var(--dc-e3);
  padding:var(--dc-e3) var(--dc-e4); margin:0 var(--dc-e3) var(--dc-e3);
  border-radius:var(--dc-r-m); color:#fff; text-decoration:none;
  border-top:1px solid rgba(255,255,255,.08);
}
.dc-lat-moi:hover{background:rgba(255,255,255,.06);text-decoration:none}
.dc-lat-moi .dc-nom{font-size:13px;font-weight:600;line-height:1.2}
.dc-lat-moi .dc-role{font-size:11.5px;color:rgba(255,255,255,.55)}

 
.dc-principal{margin-left:var(--dc-lat); min-height:100vh; display:flex; flex-direction:column}

.dc-haut{
  position:sticky; top:0; z-index:50;
  height:var(--dc-haut); flex:0 0 auto;
  display:flex; align-items:center; gap:var(--dc-e4);
  padding:0 var(--dc-e6);
  

  background:var(--dc-fond);
  border-bottom:1px solid var(--dc-bord);
}
.dc-recherche{
  position:relative; flex:0 1 520px; min-width:0;
}
.dc-recherche input{
  width:100%; height:40px; padding:0 var(--dc-e8) 0 40px;
  border:1px solid var(--dc-bord); border-radius:var(--dc-r-m);
  background:var(--dc-surface); color:var(--dc-texte); font:inherit;
  transition:border-color var(--dc-transition),background var(--dc-transition),box-shadow var(--dc-transition);
}
.dc-recherche input::placeholder{color:var(--dc-gris-clair)}
.dc-recherche input:focus{
  outline:0; background:var(--dc-surface);
  border-color:var(--dc-vert-500); box-shadow:0 0 0 3px var(--dc-vert-100);
}
.dc-recherche .dc-loupe{
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  color:var(--dc-gris-clair); pointer-events:none; display:grid; place-items:center;
}
.dc-recherche kbd{
  position:absolute; right:12px; top:50%; transform:translateY(-50%);
  font-size:11px; color:var(--dc-gris-clair); background:transparent; pointer-events:none;
}
.dc-haut-actions{margin-left:auto; display:flex; align-items:center; gap:var(--dc-e2)}



.dc-retour{
  display:inline-flex; align-items:center; gap:6px;
  font-size:13px; font-weight:600; color:var(--dc-gris);
  text-decoration:none; padding:6px 10px; border-radius:var(--dc-r-pill);
  white-space:nowrap; transition:background var(--dc-transition),color var(--dc-transition);
}
.dc-retour:hover{background:var(--dc-surface-2); color:var(--dc-encre)}
 
@media (max-width:640px){ .dc-retour{padding:6px; gap:0} .dc-retour-t{display:none} }

 
.dc-rond{
  position:relative; width:38px; height:38px; flex:0 0 38px;
  display:grid; place-items:center;
  border:1px solid transparent; border-radius:var(--dc-r-pill);
  background:transparent; color:var(--dc-gris); cursor:pointer;
  transition:background var(--dc-transition),color var(--dc-transition);
}
.dc-rond:hover{background:var(--dc-surface-2); color:var(--dc-encre)}
.dc-rond .dc-point{
  position:absolute; top:7px; right:8px; width:8px; height:8px; border-radius:50%;
  background:var(--dc-or-400); border:2px solid var(--dc-surface);
}
.dc-rond .dc-point.urgent{background:var(--dc-alerte)}

 
.dc-compte{
  display:flex; align-items:center; gap:var(--dc-e3);
  padding:6px 10px 6px 6px; border-radius:var(--dc-r-pill);
  background:transparent; border:1px solid transparent; cursor:pointer;
  color:inherit; font:inherit; text-decoration:none;
  transition:background var(--dc-transition),border-color var(--dc-transition);
}
.dc-compte:hover{background:var(--dc-surface-2); border-color:var(--dc-bord); text-decoration:none}
.dc-compte .dc-textes{text-align:left; line-height:1.25}
.dc-compte .dc-nom{display:block; font-size:13.5px; font-weight:600; color:var(--dc-encre)}
.dc-compte .dc-role{display:block; font-size:11.5px; color:var(--dc-gris)}
@media(max-width:900px){ .dc-compte .dc-textes{display:none} }

 
.dc-vignette{
  flex:0 0 auto; width:36px; height:36px; border-radius:50%;
  object-fit:cover; display:grid; place-items:center;
  background:var(--dc-vert-100); color:var(--dc-vert-700);
  font-size:13px; font-weight:600; overflow:hidden;
}
.dc-vignette.s{width:28px;height:28px;font-size:11px}
.dc-vignette.l{width:48px;height:48px;font-size:16px}
 
.dc-vignettes{display:inline-flex; align-items:center}
.dc-vignettes .dc-vignette{border:2px solid var(--dc-surface); margin-left:-10px}
.dc-vignettes .dc-vignette:first-child{margin-left:0}
.dc-vignettes .dc-plus{
  margin-left:var(--dc-e2); padding:2px 8px; border-radius:var(--dc-r-pill);
  background:var(--dc-surface-2); border:1px solid var(--dc-bord);
  font-size:12px; font-weight:600; color:var(--dc-gris);
}

 
.dc-contenu{
  flex:1 1 auto; width:100%; max-width:var(--dc-contenu);
  margin:0 auto; padding:20px var(--dc-e6) var(--dc-e9);
}
.dc-contenu.etroit{max-width:900px}
.dc-contenu.moyen{max-width:1180px}

 
.dc-entete{
  display:flex; align-items:flex-start; gap:var(--dc-e4);
  flex-wrap:wrap; margin-bottom:16px;
}
.dc-entete .dc-titres{flex:1 1 320px; min-width:0}
.dc-entete h1{margin-bottom:4px}
.dc-entete .dc-sous{color:var(--dc-gris); font-size:14px}
.dc-entete .dc-entete-actions{display:flex; align-items:center; gap:var(--dc-e2); flex:0 0 auto}

 
.dc-ariane{display:flex; align-items:center; gap:var(--dc-e2); font-size:13px; color:var(--dc-gris); margin-bottom:var(--dc-e3)}
.dc-ariane a{color:var(--dc-gris)}
.dc-ariane a:hover{color:var(--dc-vert-500)}
.dc-ariane .sep{color:var(--dc-gris-clair)}

 
.dc-retour{
  display:inline-flex; align-items:center; gap:var(--dc-e2);
  color:var(--dc-gris); font-size:13.5px; margin-bottom:var(--dc-e3);
}
.dc-retour:hover{color:var(--dc-encre); text-decoration:none}





.dc-grille{display:grid; gap:var(--dc-e5); align-items:start}
.dc-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dc-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.dc-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
 
.dc-g-aside{grid-template-columns:minmax(0,1fr) 340px}
.dc-g-aside-l{grid-template-columns:minmax(0,1fr) 400px}
@media(max-width:1280px){ .dc-g4{grid-template-columns:repeat(2,minmax(0,1fr))} .dc-g-aside,.dc-g-aside-l{grid-template-columns:minmax(0,1fr)} }
@media(max-width:880px){ .dc-g2,.dc-g3,.dc-g4{grid-template-columns:minmax(0,1fr)} }

.dc-pile{display:flex; flex-direction:column; gap:var(--dc-e5)}
.dc-rang{display:flex; align-items:center; gap:var(--dc-e3); flex-wrap:wrap}
.dc-rang.serre{gap:var(--dc-e2)}
.dc-pousse{margin-left:auto}



.dc-carte{
  background:var(--dc-surface);
  border:1px solid var(--dc-bord);
  border-radius:var(--dc-r-l);
  box-shadow:var(--dc-o-1);
}
.dc-carte.relief{box-shadow:var(--dc-o-2)}
.dc-carte.plate{box-shadow:none}
.dc-carte-tete{
  display:flex; align-items:center; gap:var(--dc-e3);
  padding:var(--dc-e5) var(--dc-e5) 0;
}
.dc-carte-tete h2,.dc-carte-tete h3{flex:1 1 auto; min-width:0}
.dc-carte-tete + .dc-carte-corps{padding-top:var(--dc-e4)}
.dc-carte-corps{padding:var(--dc-e5)}
.dc-carte-corps.serre{padding:var(--dc-e4)}
.dc-carte-pied{
  padding:var(--dc-e4) var(--dc-e5);
  border-top:1px solid var(--dc-filet);
  display:flex; align-items:center; gap:var(--dc-e3);
}
 
.dc-carte > .dc-tableau-boite:first-child{border-radius:var(--dc-r-l) var(--dc-r-l) 0 0}
.dc-carte > .dc-tableau-boite:last-child{border-radius:0 0 var(--dc-r-l) var(--dc-r-l)}

 
.dc-choix{
  position:relative; display:block; text-align:center; cursor:pointer;
  padding:var(--dc-e6) var(--dc-e5);
  background:var(--dc-surface); border:1.5px solid var(--dc-bord);
  border-radius:var(--dc-r-l); color:inherit; text-decoration:none;
  transition:border-color var(--dc-transition),box-shadow var(--dc-transition),background var(--dc-transition);
}
.dc-choix:hover{border-color:var(--dc-vert-200); box-shadow:var(--dc-o-2); text-decoration:none}
.dc-choix.actif{border-color:var(--dc-vert-500); background:var(--dc-vert-050); box-shadow:var(--dc-o-2)}
.dc-choix.actif::after{
  content:"✓"; position:absolute; top:12px; right:12px;
  width:22px; height:22px; border-radius:50%;
  background:var(--dc-vert-700); color:#fff;
  font-size:12px; line-height:22px; text-align:center;
}
.dc-choix .dc-pastille{margin:0 auto var(--dc-e3)}
.dc-choix h3{margin-bottom:6px}
.dc-choix p{color:var(--dc-gris); font-size:13px; line-height:1.45; margin:0}



.dc-pastille{
  flex:0 0 auto; display:grid; place-items:center;
  width:44px; height:44px; border-radius:var(--dc-r-m);
  background:var(--dc-neutre-fond); color:var(--dc-neutre);
}
.dc-pastille.s{width:32px;height:32px;border-radius:var(--dc-r-s)}
.dc-pastille.l{width:56px;height:56px;border-radius:var(--dc-r-l)}
.dc-pastille.mairie {background:var(--dc-mairie-fond); color:var(--dc-mairie)}
.dc-pastille.enedis {background:var(--dc-enedis-fond); color:var(--dc-enedis)}
.dc-pastille.consuel{background:var(--dc-consuel-fond);color:var(--dc-consuel)}
.dc-pastille.ok     {background:var(--dc-ok-fond);     color:var(--dc-ok)}
.dc-pastille.attente{background:var(--dc-attente-fond);color:var(--dc-attente)}
.dc-pastille.info   {background:var(--dc-info-fond);   color:var(--dc-info)}
.dc-pastille.alerte {background:var(--dc-alerte-fond); color:var(--dc-alerte)}
.dc-pastille.violet {background:var(--dc-violet-fond); color:var(--dc-violet)}
.dc-pastille.encre  {background:var(--dc-vert-900);    color:#fff}
.dc-pastille.or     {background:var(--dc-or-100);      color:var(--dc-or-600)}



.dc-b{
  display:inline-flex; align-items:center; justify-content:center; gap:var(--dc-e2);
  height:42px; padding:0 var(--dc-e5);
  border:1px solid transparent; border-radius:var(--dc-r-s);
  font-family:inherit; font-size:14px; font-weight:600; line-height:1;
  cursor:pointer; text-decoration:none; white-space:nowrap;
  transition:background var(--dc-transition),border-color var(--dc-transition),color var(--dc-transition);
}
.dc-b:hover{text-decoration:none}
.dc-b:disabled,.dc-b.inactif{opacity:.5; cursor:not-allowed; pointer-events:none}
.dc-b.s{height:34px; padding:0 var(--dc-e4); font-size:13px}
.dc-b.l{height:48px; padding:0 var(--dc-e6); font-size:15px}
.dc-b.pleine{width:100%}

.dc-b-primaire{background:var(--dc-vert-700); color:#fff}
.dc-b-primaire:hover{background:var(--dc-vert-600); color:#fff}

.dc-b-secondaire{background:var(--dc-surface); color:var(--dc-encre); border-color:var(--dc-bord)}
.dc-b-secondaire:hover{background:var(--dc-surface-2); border-color:var(--dc-gris-clair); color:var(--dc-encre)}

.dc-b-fantome{background:transparent; color:var(--dc-gris)}
.dc-b-fantome:hover{background:var(--dc-surface-2); color:var(--dc-encre)}

.dc-b-danger{background:var(--dc-alerte); color:#fff}
.dc-b-danger:hover{background:#a83722; color:#fff}

.dc-b-lien{
  background:none; border:0; padding:0; height:auto;
  color:var(--dc-vert-500); font-weight:600;
}
.dc-b-lien:hover{text-decoration:underline}

 
.dc-b-ico{
  width:34px; height:34px; padding:0; flex:0 0 34px;
  border-radius:var(--dc-r-s); border:1px solid var(--dc-bord);
  background:var(--dc-surface); color:var(--dc-gris);
  display:inline-grid; place-items:center; cursor:pointer;
  transition:background var(--dc-transition),color var(--dc-transition);
}
.dc-b-ico:hover{background:var(--dc-surface-2); color:var(--dc-encre)}
.dc-b-ico.nu{border-color:transparent; background:transparent}

 
.dc-b-groupe{display:inline-flex}
.dc-b-groupe .dc-b{border-radius:0; margin-left:-1px}
.dc-b-groupe .dc-b:first-child{border-radius:var(--dc-r-s) 0 0 var(--dc-r-s); margin-left:0}
.dc-b-groupe .dc-b:last-child{border-radius:0 var(--dc-r-s) var(--dc-r-s) 0}



.dc-statut{
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 10px; border-radius:var(--dc-r-pill);
  font-size:12px; font-weight:600; line-height:1.4; white-space:nowrap;
  background:var(--dc-neutre-fond); color:var(--dc-neutre);
}
.dc-statut::before{content:""; width:6px; height:6px; border-radius:50%; background:currentColor; flex:0 0 6px}
.dc-statut.sans-point::before{display:none}
.dc-statut.ok     {background:var(--dc-ok-fond);     color:var(--dc-ok)}
.dc-statut.attente{background:var(--dc-attente-fond);color:var(--dc-attente)}
.dc-statut.info   {background:var(--dc-info-fond);   color:var(--dc-info)}
.dc-statut.alerte {background:var(--dc-alerte-fond); color:var(--dc-alerte)}
.dc-statut.violet {background:var(--dc-violet-fond); color:var(--dc-violet)}

 
.dc-etiq{
  display:inline-block; padding:2px 8px; border-radius:var(--dc-r-pill);
  background:var(--dc-surface-2); border:1px solid var(--dc-bord);
  font-size:11.5px; font-weight:600; color:var(--dc-gris);
}
.dc-etiq.pleine{background:var(--dc-vert-100); border-color:transparent; color:var(--dc-vert-700)}

 
.dc-priorite{font-size:12px; font-weight:600}
.dc-priorite.haute{color:var(--dc-alerte)}
.dc-priorite.moyenne{color:var(--dc-attente)}
.dc-priorite.faible{color:var(--dc-gris)}



.dc-tuile{
  display:flex; align-items:flex-start; gap:var(--dc-e4);
  padding:var(--dc-e5);
  background:var(--dc-surface); border:1px solid var(--dc-bord);
  border-radius:var(--dc-r-l); box-shadow:var(--dc-o-1);
}
.dc-tuile .dc-corps{min-width:0}
.dc-tuile .dc-chiffre{
  display:block; font-size:30px; font-weight:600; line-height:1.1;
  color:var(--dc-encre); letter-spacing:-.02em;
}
.dc-tuile .dc-libelle{display:block; margin-top:2px; font-size:13.5px; color:var(--dc-texte)}
.dc-tuile .dc-delta{display:block; margin-top:8px; font-size:12px; color:var(--dc-gris)}
.dc-tuile .dc-delta.hausse{color:var(--dc-ok)}
.dc-tuile .dc-delta.baisse{color:var(--dc-alerte)}
a.dc-tuile{color:inherit; text-decoration:none; transition:border-color var(--dc-transition)}
a.dc-tuile:hover{border-color:var(--dc-vert-200); text-decoration:none}



.dc-form{display:grid; gap:var(--dc-e5)}
.dc-form.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dc-form.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:880px){ .dc-form.g2,.dc-form.g3{grid-template-columns:minmax(0,1fr)} }
.dc-champ{display:flex; flex-direction:column; gap:6px; min-width:0}
.dc-champ.large{grid-column:1/-1}

.dc-label{font-size:13px; font-weight:500; color:var(--dc-texte)}
.dc-label .oblig{color:var(--dc-alerte); margin-left:2px}
.dc-aide{font-size:12px; color:var(--dc-gris)}
.dc-erreur{font-size:12px; color:var(--dc-alerte); font-weight:500}

.dc-champ input[type=text],.dc-champ input[type=email],.dc-champ input[type=password],
.dc-champ input[type=number],.dc-champ input[type=tel],.dc-champ input[type=date],
.dc-champ input[type=search],.dc-champ input[type=url],.dc-champ select,.dc-champ textarea,
.dc-saisie{
  width:100%; min-width:0; height:44px; padding:0 14px;
  font-family:inherit; font-size:14px; color:var(--dc-encre);
  background:var(--dc-surface);
  border:1px solid var(--dc-bord); border-radius:var(--dc-r-s);
  transition:border-color var(--dc-transition),box-shadow var(--dc-transition);
}
.dc-champ textarea,textarea.dc-saisie{height:auto; min-height:104px; padding:11px 14px; line-height:1.5; resize:vertical}
.dc-champ select,select.dc-saisie{
  appearance:none; cursor:pointer; padding-right:38px;
   
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%236B7C74' stroke-width='1.7' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;
}
.dc-champ input::placeholder,.dc-champ textarea::placeholder,.dc-saisie::placeholder{color:var(--dc-gris-clair)}
.dc-champ input:focus,.dc-champ select:focus,.dc-champ textarea:focus,.dc-saisie:focus{
  outline:0; border-color:var(--dc-vert-500); box-shadow:0 0 0 3px var(--dc-vert-100);
}
.dc-champ input:disabled,.dc-champ select:disabled,.dc-champ textarea:disabled,.dc-saisie:disabled{
  background:var(--dc-surface-2); color:var(--dc-gris); cursor:not-allowed;
}
.dc-champ.en-erreur input,.dc-champ.en-erreur select,.dc-champ.en-erreur textarea{border-color:var(--dc-alerte)}
.dc-champ.en-erreur input:focus{box-shadow:0 0 0 3px var(--dc-alerte-fond)}

 
.dc-saisie-boite{position:relative; display:flex; align-items:center}
.dc-saisie-boite > .dc-saisie,.dc-saisie-boite > input{padding-right:56px}
.dc-saisie-boite .dc-unite{
  position:absolute; right:14px; font-size:13px; color:var(--dc-gris); pointer-events:none;
}
.dc-saisie-boite .dc-bouton-champ{
  position:absolute; right:8px; background:none; border:0; cursor:pointer;
  color:var(--dc-gris); padding:6px; border-radius:6px; display:grid; place-items:center;
}
.dc-saisie-boite .dc-bouton-champ:hover{color:var(--dc-encre); background:var(--dc-surface-2)}

 
.dc-case,.dc-radio{display:inline-flex; align-items:center; gap:var(--dc-e2); cursor:pointer; font-size:13.5px}
.dc-case input,.dc-radio input{
  width:18px; height:18px; flex:0 0 18px; margin:0; cursor:pointer;
  accent-color:var(--dc-vert-700);
}

 
.dc-option{
  display:flex; align-items:center; gap:var(--dc-e3);
  padding:var(--dc-e4); cursor:pointer;
  background:var(--dc-surface); border:1.5px solid var(--dc-bord); border-radius:var(--dc-r-m);
  font-size:14px; font-weight:500; color:var(--dc-texte);
  transition:border-color var(--dc-transition),background var(--dc-transition);
}
.dc-option:hover{border-color:var(--dc-vert-200)}
.dc-option input{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:var(--dc-vert-700)}
.dc-option.actif,.dc-option:has(input:checked){border-color:var(--dc-vert-500); background:var(--dc-vert-050); color:var(--dc-encre)}

 
.dc-inter{position:relative; display:inline-block; width:42px; height:24px; flex:0 0 42px}
.dc-inter input{opacity:0; width:0; height:0; position:absolute}
.dc-inter .piste{
  position:absolute; inset:0; border-radius:var(--dc-r-pill);
  background:var(--dc-bord); cursor:pointer; transition:background var(--dc-transition);
}
.dc-inter .piste::before{
  content:""; position:absolute; top:3px; left:3px; width:18px; height:18px;
  border-radius:50%; background:#fff; box-shadow:var(--dc-o-1);
  transition:transform var(--dc-transition);
}
.dc-inter input:checked + .piste{background:var(--dc-vert-500)}
.dc-inter input:checked + .piste::before{transform:translateX(18px)}

 
.dc-filtres{display:flex; align-items:center; gap:var(--dc-e3); flex-wrap:wrap; margin-bottom:var(--dc-e5)}
.dc-filtres .dc-saisie,.dc-filtres select{height:42px; width:auto; min-width:180px}
.dc-filtres .dc-cherche{flex:1 1 260px; max-width:380px; position:relative}
.dc-filtres .dc-cherche input{padding-left:40px}
.dc-filtres .dc-cherche .dc-loupe{position:absolute; left:13px; top:50%; transform:translateY(-50%); color:var(--dc-gris-clair); pointer-events:none}

 
.dc-depot{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--dc-e2);
  padding:var(--dc-e7) var(--dc-e5); text-align:center; cursor:pointer;
  background:var(--dc-surface-2); border:1.5px dashed var(--dc-bord); border-radius:var(--dc-r-m);
  color:var(--dc-gris); font-size:13.5px;
  transition:border-color var(--dc-transition),background var(--dc-transition);
}
.dc-depot:hover,.dc-depot.survol{border-color:var(--dc-vert-500); background:var(--dc-vert-050)}
.dc-depot strong{color:var(--dc-encre); font-weight:600}



.dc-etapes{
  display:flex; align-items:flex-start; gap:0;
  padding:var(--dc-e5) var(--dc-e6);
  background:var(--dc-surface); border:1px solid var(--dc-bord);
  border-radius:var(--dc-r-l); box-shadow:var(--dc-o-1);
  margin-bottom:var(--dc-e6);
  overflow-x:auto;
}
.dc-etape{
  flex:1 1 0; min-width:120px; position:relative;
  display:flex; flex-direction:column; align-items:center; gap:8px;
  text-align:center; color:var(--dc-gris); text-decoration:none;
}
.dc-etape:hover{text-decoration:none}
 
.dc-etape:not(:last-child)::after{
  content:""; position:absolute; top:15px; left:calc(50% + 22px); right:calc(-50% + 22px);
  height:2px; background:var(--dc-bord);
}
.dc-etape.faite:not(:last-child)::after{background:var(--dc-vert-500)}
.dc-etape .dc-num{
  position:relative; z-index:1;
  width:32px; height:32px; flex:0 0 32px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--dc-surface); border:2px solid var(--dc-bord);
  font-size:13px; font-weight:600; color:var(--dc-gris-clair);
}
.dc-etape .dc-nom{font-size:13px; font-weight:500; line-height:1.3; max-width:150px}
.dc-etape .dc-etat{font-size:11.5px; color:var(--dc-gris-clair)}
.dc-etape.faite .dc-num{background:var(--dc-vert-500); border-color:var(--dc-vert-500); color:#fff}
.dc-etape.faite .dc-nom{color:var(--dc-texte)}
.dc-etape.active .dc-num{background:var(--dc-vert-700); border-color:var(--dc-vert-700); color:#fff}
.dc-etape.active .dc-nom{color:var(--dc-encre); font-weight:600}

 
.dc-etapes.vertical{flex-direction:column; gap:var(--dc-e4); padding:var(--dc-e5); overflow:visible}
.dc-etapes.vertical .dc-etape{flex-direction:row; align-items:center; text-align:left; gap:var(--dc-e3); min-width:0}
.dc-etapes.vertical .dc-etape::after{display:none}



.dc-tableau-boite{
  width:100%; overflow-x:auto;
  background:var(--dc-surface); border:1px solid var(--dc-bord); border-radius:var(--dc-r-l);
}
.dc-carte .dc-tableau-boite{border:0; border-radius:0}
.dc-tableau{width:100%; border-collapse:collapse; font-size:13.5px}
.dc-tableau thead th{
  position:sticky; top:0; z-index:1;
  padding:11px var(--dc-e3); text-align:left; white-space:nowrap;
  background:var(--dc-surface-2); color:var(--dc-gris);
  font-size:12px; font-weight:600; letter-spacing:.01em;
  border-bottom:1px solid var(--dc-bord);
}
.dc-tableau thead th.tri{cursor:pointer; user-select:none}
.dc-tableau thead th.tri:hover{color:var(--dc-encre)}
.dc-tableau tbody td{
  padding:12px var(--dc-e3); vertical-align:middle;
  border-bottom:1px solid var(--dc-filet); color:var(--dc-texte);
}
.dc-tableau tbody tr:last-child td{border-bottom:0}
.dc-tableau tbody tr:hover{background:var(--dc-surface-2)}
.dc-tableau .num{text-align:right; font-variant-numeric:tabular-nums}


.num-glob{font-size:11px;color:var(--dc-gris,#8a8f98);opacity:.75;font-weight:400}
.dc-tableau .actions{text-align:right; white-space:nowrap}
.dc-tableau .principal{color:var(--dc-encre); font-weight:600; white-space:nowrap}
.dc-tableau .secondaire{display:block; font-size:12px; color:var(--dc-gris); margin-top:2px; white-space:nowrap}


 
.dc-cellule{display:flex; align-items:center; gap:var(--dc-e3); min-width:0}


.dc-cellule .principal,.dc-cellule .secondaire{white-space:nowrap}
.dc-cellule .dc-textes{min-width:0}

 
.dc-tableau.compact tbody td{padding:9px var(--dc-e3)}
.dc-tableau.compact thead th{padding:9px var(--dc-e3)}

 
.dc-pagination{
  display:flex; align-items:center; gap:var(--dc-e3); flex-wrap:wrap;
  padding:var(--dc-e4) var(--dc-e5); border-top:1px solid var(--dc-filet);
  font-size:13px; color:var(--dc-gris);
}
.dc-pagination .dc-pages{margin-left:auto; display:flex; align-items:center; gap:4px}
.dc-pagination .dc-page{
  min-width:34px; height:34px; padding:0 8px; border-radius:var(--dc-r-s);
  display:inline-grid; place-items:center;
  border:1px solid transparent; background:transparent; color:var(--dc-gris);
  font-size:13px; font-weight:500; cursor:pointer; text-decoration:none;
}
.dc-pagination .dc-page:hover{background:var(--dc-surface-2); color:var(--dc-encre); text-decoration:none}
.dc-pagination .dc-page.actif{background:var(--dc-vert-700); color:#fff}



.dc-liste{list-style:none; margin:0; padding:0}
.dc-liste > li,.dc-ligne{
  display:flex; align-items:center; gap:var(--dc-e3);
  padding:var(--dc-e3) 0; border-bottom:1px solid var(--dc-filet);
}
.dc-liste > li:last-child,.dc-liste > :last-child{border-bottom:0}
.dc-ligne .dc-textes{flex:1 1 auto; min-width:0}
.dc-ligne .dc-titre{
  display:block;                        
  font-size:13.5px; font-weight:600; color:var(--dc-encre);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.dc-ligne .dc-detail{display:block; font-size:12.5px; color:var(--dc-gris); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.dc-ligne .dc-droite{
  flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:2px; text-align:right;
}
.dc-ligne .dc-droite br{display:none}
.dc-ligne .dc-quand{font-size:12px; color:var(--dc-gris); white-space:nowrap}
a.dc-ligne{color:inherit; text-decoration:none}
a.dc-ligne:hover{text-decoration:none; background:var(--dc-surface-2)}

 
.dc-voir-tout{
  display:flex; align-items:center; justify-content:center; gap:6px;
  padding:var(--dc-e3) 0 0; margin-top:var(--dc-e2);
  font-size:13px; font-weight:600; color:var(--dc-vert-500);
}



.dc-barre{
  height:6px; width:100%; border-radius:var(--dc-r-pill);
  background:var(--dc-filet); overflow:hidden;
}
.dc-barre > span{display:block; height:100%; border-radius:inherit; background:var(--dc-vert-500)}
.dc-barre.fine{height:4px}
.dc-barre.epaisse{height:8px}
.dc-progression{display:flex; align-items:center; gap:var(--dc-e3); min-width:120px}
.dc-progression .dc-pct{ font-size:12.5px; font-weight:600; color:var(--dc-texte); flex:0 0 auto }



.dc-anneau{
  position:relative; width:64px; height:64px; flex:0 0 64px; border-radius:50%;
  background:conic-gradient(var(--dc-vert-500) calc(var(--p,0) * 1%), var(--dc-filet) 0);
  display:grid; place-items:center;
}
.dc-anneau::before{content:""; position:absolute; inset:7px; border-radius:50%; background:var(--dc-surface)}
.dc-anneau > span{position:relative; font-size:13px; font-weight:600; color:var(--dc-encre)}
.dc-anneau.l{width:84px;height:84px;flex-basis:84px}
.dc-anneau.l > span{font-size:16px}



.dc-onglets{
  display:flex; align-items:center; gap:var(--dc-e5);
  border-bottom:1px solid var(--dc-bord); margin-bottom:var(--dc-e5);
  overflow-x:auto; scrollbar-width:none;
}
.dc-onglets::-webkit-scrollbar{display:none}
.dc-onglet{
  display:inline-flex; align-items:center; gap:var(--dc-e2);
  padding:12px 2px; margin-bottom:-1px;
  border:0; border-bottom:2px solid transparent; background:none; cursor:pointer;
  font-family:inherit; font-size:14px; font-weight:500; color:var(--dc-gris);
  white-space:nowrap; text-decoration:none;
  transition:color var(--dc-transition),border-color var(--dc-transition);
}
.dc-onglet:hover{color:var(--dc-encre); text-decoration:none}
.dc-onglet.actif{color:var(--dc-vert-700); font-weight:600; border-bottom-color:var(--dc-vert-700)}
.dc-onglet .dc-etiq{margin-left:2px}
.dc-onglet.actif .dc-etiq{background:var(--dc-vert-100); border-color:transparent; color:var(--dc-vert-700)}

 
.dc-onglets.pilules{border-bottom:0; gap:4px; padding:4px; background:var(--dc-surface-2); border-radius:var(--dc-r-m); display:inline-flex}
.dc-onglets.pilules .dc-onglet{padding:8px 14px; margin:0; border:0; border-radius:var(--dc-r-s); font-size:13px}
.dc-onglets.pilules .dc-onglet.actif{background:var(--dc-surface); color:var(--dc-encre); box-shadow:var(--dc-o-1)}



.dc-encart{
  display:flex; align-items:flex-start; gap:var(--dc-e3);
  padding:var(--dc-e4); border-radius:var(--dc-r-m);
  background:var(--dc-surface-2); border:1px solid var(--dc-bord);
  font-size:13.5px; line-height:1.5;
}
.dc-encart .dc-ico{flex:0 0 auto; margin-top:1px}


.dc-encart:not(:has(> .dc-ico)){display:block}
.dc-encart strong{display:block; color:var(--dc-encre); margin-bottom:2px}
.dc-encart.ok     {background:var(--dc-ok-fond);     border-color:transparent; color:#12603c}
.dc-encart.attente{background:var(--dc-attente-fond);border-color:transparent; color:#8a5a06}
.dc-encart.info   {background:var(--dc-info-fond);   border-color:transparent; color:#1d4e8f}
.dc-encart.alerte {background:var(--dc-alerte-fond); border-color:transparent; color:#94301c}
.dc-encart.ok strong,.dc-encart.attente strong,.dc-encart.info strong,.dc-encart.alerte strong{color:inherit}

 
.dc-vide{
  display:flex; flex-direction:column; align-items:center; gap:var(--dc-e3);
  padding:var(--dc-e9) var(--dc-e5); text-align:center; color:var(--dc-gris);
}
.dc-vide h3{color:var(--dc-texte)}
.dc-vide p{max-width:420px; font-size:13.5px}



.dc-voile{
  position:fixed; inset:0; z-index:1000;
  display:flex; align-items:center; justify-content:center; padding:var(--dc-e5);
  background:rgba(10,42,30,.42);
}
.dc-voile[hidden]{display:none}


[hidden]{display:none !important}
.dc-modale{
  width:100%; max-width:560px; max-height:88vh; overflow-y:auto;
  background:var(--dc-surface); border-radius:var(--dc-r-xl); box-shadow:var(--dc-o-3);
}
.dc-modale.l{max-width:820px}
.dc-modale.xl{max-width:1100px}
.dc-modale-tete{
  display:flex; align-items:flex-start; gap:var(--dc-e3);
  padding:var(--dc-e5) var(--dc-e5) var(--dc-e3);
}
.dc-modale-tete h2{flex:1 1 auto}
.dc-modale-corps{padding:var(--dc-e3) var(--dc-e5) var(--dc-e5)}
.dc-modale-pied{
  display:flex; align-items:center; justify-content:flex-end; gap:var(--dc-e3);
  padding:var(--dc-e4) var(--dc-e5); border-top:1px solid var(--dc-filet);
}



.dc-pied-actions{
  position:sticky; bottom:0; z-index:40;
  display:flex; align-items:center; gap:var(--dc-e3);
  margin-top:var(--dc-e6); padding:var(--dc-e4) var(--dc-e5);
  background:var(--dc-surface); border:1px solid var(--dc-bord); border-radius:var(--dc-r-l);
  box-shadow:var(--dc-o-2);
}
.dc-pied-actions .dc-etape-info{font-size:13px; color:var(--dc-gris)}
.dc-pied-actions .dc-droite{margin-left:auto; display:flex; align-items:center; gap:var(--dc-e3)}

 
.dc-mention{
  display:flex; align-items:center; justify-content:center; gap:var(--dc-e2);
  padding:var(--dc-e5) var(--dc-e4); font-size:12.5px; color:var(--dc-gris);
}



.dc-aside{display:flex; flex-direction:column; gap:var(--dc-e5); min-width:0}
.dc-aside .dc-carte-corps{padding:var(--dc-e4) var(--dc-e5)}

 
.dc-pieces{list-style:none; margin:0; padding:0}
.dc-pieces li{
  display:flex; align-items:center; gap:var(--dc-e3);
  padding:11px 0; border-bottom:1px solid var(--dc-filet); font-size:13.5px;
}
.dc-pieces li:last-child{border-bottom:0}
.dc-pieces .dc-nom-piece{flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--dc-texte)}
.dc-pieces .dc-etat-piece{flex:0 0 auto; font-size:12.5px; font-weight:600; display:inline-flex; align-items:center; gap:4px}
.dc-pieces .dc-etat-piece.fourni{color:var(--dc-ok)}
.dc-pieces .dc-etat-piece.manquant{color:var(--dc-attente)}
.dc-pieces .dc-etat-piece.selon-cas{color:var(--dc-gris)}

 
.dc-verifs{list-style:none; margin:0; padding:0}
.dc-verifs li{display:flex; align-items:center; gap:var(--dc-e3); padding:8px 0; font-size:13.5px; color:var(--dc-gris)}
.dc-verifs li .dc-coche{
  flex:0 0 18px; width:18px; height:18px; border-radius:50%;
  border:1.5px solid var(--dc-bord); display:grid; place-items:center; font-size:10px; color:transparent;
}
.dc-verifs li.faite{color:var(--dc-vert-500); font-weight:500}
.dc-verifs li.faite .dc-coche{background:var(--dc-vert-500); border-color:var(--dc-vert-500); color:#fff}

 
.dc-aide-liens{display:flex; flex-direction:column; gap:2px}
.dc-aide-lien{
  display:flex; align-items:center; gap:var(--dc-e3);
  padding:11px var(--dc-e2); border-radius:var(--dc-r-s);
  color:inherit; text-decoration:none;
}
.dc-aide-lien:hover{background:var(--dc-surface-2); text-decoration:none}
.dc-aide-lien .dc-textes{flex:1 1 auto; min-width:0}
.dc-aide-lien .dc-titre{display:block; font-size:13.5px; font-weight:600; color:var(--dc-encre)}
.dc-aide-lien .dc-detail{display:block; font-size:12px; color:var(--dc-gris)}
.dc-aide-lien .dc-fleche{flex:0 0 auto; color:var(--dc-gris-clair)}

 
.dc-identite dt{font-size:12px; color:var(--dc-gris); margin-top:var(--dc-e3)}
.dc-identite dd{margin:0; font-size:13.5px; color:var(--dc-texte)}
.dc-identite dl{margin:0}



.dc-sombre{
  position:relative;
  background:var(--dc-vert-900); color:rgba(255,255,255,.82);
  background-image:var(--dc-sombre-image,none);
  background-size:cover; background-position:center;
}
.dc-sombre::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(160deg,rgba(10,42,30,.94) 0%,rgba(10,42,30,.80) 55%,rgba(10,42,30,.92) 100%);
}


.dc-sombre > *{position:relative; z-index:1}
.dc-sombre h1,.dc-sombre h2,.dc-sombre h3{color:#fff}
.dc-sombre .dc-carte{background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.12); box-shadow:none}
.dc-sombre .dc-b-secondaire{background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.16); color:#fff}
.dc-sombre .dc-b-secondaire:hover{background:rgba(255,255,255,.16); color:#fff}

 
.dc-reussite{text-align:center; padding:var(--dc-e9) var(--dc-e5)}
.dc-reussite .dc-coche-or{
  width:104px; height:104px; margin:0 auto var(--dc-e6);
  border-radius:50%; display:grid; place-items:center;
  background:radial-gradient(circle at 50% 45%,var(--dc-or-400) 0%,var(--dc-or-600) 100%);
  color:var(--dc-vert-900); font-size:46px; line-height:1;
  box-shadow:0 0 0 12px rgba(224,179,65,.12), 0 0 64px rgba(224,179,65,.30);
}
.dc-reussite h1{font-size:34px; margin-bottom:var(--dc-e3)}
.dc-reussite .dc-sous{font-size:15px; color:rgba(255,255,255,.72); margin-bottom:var(--dc-e7)}
.dc-reussite .dc-recap{max-width:640px; margin:0 auto; text-align:left}
.dc-reussite .dc-recap dt{font-size:12px; color:rgba(255,255,255,.55)}
.dc-reussite .dc-recap dd{margin:2px 0 0; font-size:14px; color:#fff; font-weight:500}

 
.dc-suite{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--dc-e4); margin-top:var(--dc-e7)}
@media(max-width:1000px){ .dc-suite{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:600px){ .dc-suite{grid-template-columns:minmax(0,1fr)} }
.dc-suite .dc-carte{padding:var(--dc-e5); text-align:left}
.dc-suite h3{font-size:14px; margin:var(--dc-e3) 0 6px}
.dc-suite p{font-size:12.5px; color:rgba(255,255,255,.66); line-height:1.5}



.dc-auth{min-height:100vh; display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
@media(max-width:1000px){ .dc-auth{grid-template-columns:minmax(0,1fr)} .dc-auth-gauche{display:none} }


.dc-auth-gauche{
  position:relative;
  display:flex; flex-direction:column; justify-content:center; gap:var(--dc-e5);
  padding:var(--dc-e9) clamp(32px,5vw,80px) 128px;
}
.dc-auth-bas{position:absolute; left:clamp(32px,5vw,80px); right:clamp(32px,5vw,80px); bottom:var(--dc-e8)}
.dc-auth-gauche .dc-marque{font-size:40px; font-weight:600; letter-spacing:-.03em; color:#fff}
.dc-auth-gauche .dc-accroche{
  font-size:13px; font-weight:600; letter-spacing:.10em; text-transform:uppercase;
  color:var(--dc-or-400); line-height:1.7;
}
.dc-auth-gauche .dc-pitch{font-size:15.5px; line-height:1.6; color:rgba(255,255,255,.74); max-width:400px}
.dc-auth-atouts{list-style:none; margin:var(--dc-e4) 0 0; padding:0; display:flex; flex-direction:column; gap:var(--dc-e4)}
.dc-auth-atouts li{display:flex; align-items:center; gap:var(--dc-e3); font-size:15px; color:#fff}
.dc-auth-atouts li .dc-ico{color:var(--dc-or-400)}

.dc-auth-droite{display:flex; align-items:center; justify-content:center; padding:var(--dc-e7) var(--dc-e5)}
.dc-auth-boite{
  width:100%; max-width:492px; padding:var(--dc-e8) clamp(28px,4vw,52px);
  background:var(--dc-surface); border-radius:var(--dc-r-xl); box-shadow:var(--dc-o-3);
}
.dc-auth-boite .dc-pastille{margin:0 auto var(--dc-e4)}
.dc-auth-boite .dc-sous{text-align:center; color:var(--dc-gris); font-size:13.5px; margin-bottom:var(--dc-e6)}
.dc-auth-boite .dc-form{gap:var(--dc-e4)}
.dc-auth-ligne{display:flex; align-items:center; justify-content:space-between; gap:var(--dc-e3); font-size:13px}
.dc-auth-sep{
  display:flex; align-items:center; gap:var(--dc-e3);
  margin:var(--dc-e5) 0; color:var(--dc-gris-clair); font-size:12.5px;
}
.dc-auth-sep::before,.dc-auth-sep::after{content:""; flex:1 1 auto; height:1px; background:var(--dc-bord)}
.dc-auth-pied{margin-top:var(--dc-e6); text-align:center; font-size:13.5px; color:var(--dc-gris); line-height:1.75}


.dc-auth-pied a{color:var(--dc-vert-600); font-weight:600; text-decoration:none;
  border-bottom:1px solid rgba(27,90,62,.28)}
.dc-auth-pied a:hover{color:var(--dc-vert-700); border-bottom-color:var(--dc-vert-700)}

 
.dc-auth-sceau{
  display:inline-flex; align-items:center; gap:var(--dc-e3);
  padding:12px var(--dc-e4); border-radius:var(--dc-r-m);
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12);
  font-size:12.5px; color:rgba(255,255,255,.78);
}



.dc-gris{color:var(--dc-gris)}
.dc-encre-txt{color:var(--dc-encre)}
.dc-fort{font-weight:600}
.dc-centre{text-align:center}
.dc-droite-txt{text-align:right}
.dc-nowrap{white-space:nowrap}
.dc-tronque{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.dc-chiffres{font-variant-numeric:tabular-nums}
.dc-cache{display:none!important}
.dc-invisible{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.dc-mt0{margin-top:0} .dc-mt2{margin-top:var(--dc-e2)} .dc-mt3{margin-top:var(--dc-e3)}
.dc-mt4{margin-top:var(--dc-e4)} .dc-mt5{margin-top:var(--dc-e5)} .dc-mt6{margin-top:var(--dc-e6)}
.dc-mb0{margin-bottom:0} .dc-mb3{margin-bottom:var(--dc-e3)} .dc-mb5{margin-bottom:var(--dc-e5)}
 
.dc-ico svg,svg.dc-ico{width:20px; height:20px; stroke:currentColor; fill:none;
  stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; display:block}
.dc-ico.s svg,svg.dc-ico.s{width:16px;height:16px}
.dc-ico.l svg,svg.dc-ico.l{width:24px;height:24px}



.dc-burger{display:none}
@media(max-width:1080px){
  .dc-lat{transform:translateX(-100%); transition:transform var(--dc-transition); box-shadow:var(--dc-o-3)}
  .dc-app.lat-ouverte .dc-lat{transform:none}
  .dc-principal{margin-left:0}
  .dc-burger{display:grid}
  .dc-contenu{padding:var(--dc-e5) var(--dc-e4) var(--dc-e8)}
  .dc-haut{padding:0 var(--dc-e4); gap:var(--dc-e3)}
  .dc-app.lat-ouverte::after{content:""; position:fixed; inset:0; z-index:55; background:rgba(10,42,30,.42)}
}
@media(max-width:680px){
  h1{font-size:22px}
  .dc-tuile{padding:var(--dc-e4)}
  .dc-tuile .dc-chiffre{font-size:25px}
  .dc-etapes{padding:var(--dc-e4) var(--dc-e3)}
  .dc-etape{min-width:96px}
  .dc-etape .dc-nom{font-size:12px}
  .dc-recherche{flex:1 1 auto}
  .dc-recherche kbd{display:none}
}

 
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important; animation-duration:.01ms!important}
}



@media print{
  .dc-lat,.dc-haut,.dc-pied-actions,.dc-b,.dc-burger{display:none!important}
  .dc-principal{margin-left:0}
  .dc-contenu{max-width:none; padding:0}
  .dc-carte{border-color:#ccc; box-shadow:none; break-inside:avoid}
  body{background:#fff}
}



body.heritage{
   
  --vert:        var(--dc-vert-500);    
  --vert-fonce:  var(--dc-vert-700);    
  --vert-clair:  var(--dc-vert-100);    
  --bg:          var(--dc-fond);
  --txt:         var(--dc-texte);
  --encre:       var(--dc-encre);
  --gris:        var(--dc-gris);
  --bord:        var(--dc-bord);
  --filet:       var(--dc-filet);
  --blanc:       var(--dc-surface);
  --surface2:    var(--dc-surface-2);
  --ocre:        var(--dc-or-600);
  --ombre:       var(--dc-o-2);
  --ombre-fine:  var(--dc-o-1);
  --mono:        var(--dc-mono);
  --type:        var(--dc-gris);       

  --rouge:       var(--dc-alerte);      
  --violet:      var(--dc-violet);      
  

  --maxw:        100%;

  font-family:var(--dc-police);
  

}



body.heritage[data-type="ITE"]      {--type:#c1651f}
body.heritage[data-type="PPV"]      {--type:#a86a12}
body.heritage[data-type="PAC"]      {--type:#1f6f9c}
body.heritage[data-type="SSC"]      {--type:#b03a5b}
body.heritage[data-type="CLOTURE"]  {--type:#3f7d33}
body.heritage[data-type="FENETRES"] {--type:#6b4a9c}
body.heritage[data-type="PISCINE"]  {--type:#128b8b}
body.heritage[data-type="ABRI"]     {--type:#8a6a3a}
body.heritage[data-type="AUTRE"]    {--type:#5f7269}




body.heritage header.top{display:none}

 
body.heritage::before{display:none}

 


body.heritage .wrap{margin:0 auto; padding-left:0; padding-right:0}
body.heritage .stepper{max-width:none}

 
body.heritage .card{
  background:var(--dc-surface); border:1px solid var(--dc-bord);
  border-radius:var(--dc-r-l); box-shadow:var(--dc-o-1);
}
body.heritage .card h2{font-size:16px; font-weight:600; color:var(--dc-encre)}
body.heritage .oblig{color:var(--dc-alerte)}

body.heritage button.primary,body.heritage .primary,
body.heritage button.ghost,body.heritage .ghost,
body.heritage .btn-dl{
  height:42px; padding:0 var(--dc-e5); border-radius:var(--dc-r-s);
  font-family:inherit; font-size:14px; font-weight:600;
  

  line-height:normal;
  display:inline-flex; align-items:center; justify-content:center; gap:var(--dc-e2);
  border:1px solid transparent; cursor:pointer;
}




body.heritage button.primary,body.heritage .primary{background:var(--dc-vert-700); color:#fff}
body.heritage button.primary:hover,body.heritage .primary:hover{background:var(--dc-vert-600)}
 
body.heritage button.primary:disabled,body.heritage .primary:disabled,
body.heritage button.primary[disabled],body.heritage .primary[disabled]{
  background:var(--dc-bord); color:var(--dc-gris); border-color:transparent;
}
body.heritage button.primary:hover,body.heritage .primary:hover{background:var(--dc-vert-600)}
body.heritage button.ghost,body.heritage .ghost,
body.heritage .btn-dl{
  background:var(--dc-surface); color:var(--dc-encre); border-color:var(--dc-bord);
}


body.heritage .link-btn{
  height:auto; padding:0; border:0; background:none; display:inline;
  color:var(--dc-vert-500); font:inherit; font-weight:600; text-decoration:underline;
}
body.heritage button.ghost:hover,body.heritage .ghost:hover,
body.heritage .btn-dl:hover{
  background:var(--dc-surface-2); border-color:var(--dc-gris-clair);
}



body.heritage button.ghost.active,body.heritage .ghost.active{
  background:var(--dc-vert-700); color:#fff; border-color:var(--dc-vert-700);
}



body.heritage .dc-contenu input[type=text],body.heritage .dc-contenu input[type=email],
body.heritage .dc-contenu input[type=tel],body.heritage .dc-contenu input[type=number],
body.heritage .dc-contenu input[type=password],body.heritage .dc-contenu input[type=date],
body.heritage .dc-contenu input[type=time],
body.heritage .dc-contenu input[type=search],body.heritage .dc-contenu select,
body.heritage .dc-contenu textarea{
  font-family:inherit; font-size:14px; color:var(--dc-encre);
  background:var(--dc-surface);
  border:1px solid var(--dc-bord); border-radius:var(--dc-r-s);
}



body.heritage .dc-contenu input[type=date],
body.heritage .dc-contenu input[type=time]{
  

  width:100%; box-sizing:border-box; padding:0 12px; height:38px;
}


@media (max-width:640px){
  body.heritage .dc-contenu input[type=date],
  body.heritage .dc-contenu input[type=time]{ height:auto; min-height:41px; padding:8px 12px }
}


body.heritage .dc-contenu input:focus,body.heritage .dc-contenu select:focus,
body.heritage .dc-contenu textarea:focus{
  outline:2px solid var(--dc-vert-500); outline-offset:1px;
  border-color:var(--dc-vert-500); box-shadow:0 0 0 3px var(--dc-vert-100);
}


body.heritage .dc-contenu label{font-size:12px; font-weight:500; color:var(--dc-gris); letter-spacing:.005em}



body.heritage .stepper{
  padding:13px var(--dc-e6); margin:0 0 14px;
  background:var(--dc-surface); border:1px solid var(--dc-bord);
  border-radius:var(--dc-r-l); box-shadow:var(--dc-o-1); overflow-x:auto;
}
body.heritage .step-dot{font-size:12.5px}
body.heritage .step-dot span{
  width:26px; height:26px; border-width:1.5px;
  font-family:var(--dc-police); font-size:13px; font-weight:600;
}


body.heritage .step-dot::after{top:12px; height:1px; left:calc(50% + 19px); right:calc(-50% + 19px); width:auto}
body.heritage .step-dot.current span{box-shadow:none}





body.heritage .wizard,
body.heritage .nav,
body.heritage .inst-banner{max-width:none; margin-left:0; margin-right:0; padding-left:0; padding-right:0}
body.heritage .wizard{margin-top:0}



body.heritage .card h2{
  font-family:var(--dc-police); font-size:15px; font-weight:600;
  letter-spacing:-.005em; text-transform:none; color:var(--dc-encre);
  margin:0 0 20px; padding:0; border:0;
}
body.heritage .card h2::before{display:none}

 
body.heritage #plan-bg{left:var(--dc-lat); width:auto; right:0}
@media(max-width:1080px){ body.heritage #plan-bg{left:0} }






body.heritage #plan-bg{display:none}

 
body.heritage .card > .aide-btn{align-self:flex-start}
body.heritage .aide-btn{
  padding:3px 11px; font-size:12px; font-weight:600;
  color:var(--dc-gris); background:var(--dc-surface-2);
  border:1px solid var(--dc-bord); border-radius:var(--dc-r-pill);
}
body.heritage .aide-btn:hover{background:var(--dc-vert-100); color:var(--dc-vert-700); border-color:transparent}


body.heritage .aide-btn-titre{
  margin-left:10px; vertical-align:middle; position:relative; top:-1px;
  font-size:11.5px; font-weight:500; letter-spacing:0;
}
 
body.heritage .card > h2:has(.aide-btn-titre)::after,
body.heritage .card > h3:has(.aide-btn-titre)::after{width:34px}

 
body.heritage .card{padding:20px}
body.heritage #step-1 .card{padding:var(--dc-e5)}
body.heritage #step-1 .card h2{font-size:15.5px; margin-bottom:var(--dc-e3)}
body.heritage #step-1 .grid2{gap:12px}

body.heritage #step-1 label{margin:14px 0 5px; font-size:12px; font-weight:500; color:var(--dc-gris)}
body.heritage #step-1 input:not([type=checkbox]):not([type=radio]):not([type=file]),
body.heritage #step-1 select,
body.heritage #step-1 textarea{padding:9px 12px; font-size:13.5px; color:var(--dc-encre)}


body.heritage #step-1 select{padding-right:36px}

 
body.heritage select:not([multiple]):not([size]){
  appearance:none; padding-right:36px; cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%236B7C74' stroke-width='1.7' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 13px center;
}



body.heritage #mail{
  background:var(--dc-surface-2); border-radius:var(--dc-r-m);
  padding:14px; line-height:1.55; min-height:220px;
}
body.heritage #mail:focus{background:var(--dc-surface)}

 


body.heritage .bloc-type{
  background:var(--dc-surface-2); border:0;
  border-radius:var(--dc-r-m); padding:16px 18px;
}
body.heritage #step-1 .bloc-type{padding:var(--dc-e4); margin-top:var(--dc-e3)}



body.heritage .img-add{
  display:inline-flex; align-items:center; gap:6px;
  padding:9px 14px; font-size:13px; font-weight:600;
  color:var(--dc-encre); background:var(--dc-surface);
  border:1px solid var(--dc-bord); border-radius:var(--dc-r-s);
  box-shadow:none;
}
body.heritage .img-add:hover{background:var(--dc-surface-2); border-color:var(--dc-gris-clair)}

 
body.heritage .nav{
  position:sticky; bottom:0; z-index:40;
  margin-top:var(--dc-e6); padding:var(--dc-e3) var(--dc-e4);
  background:var(--dc-surface); border:1px solid var(--dc-bord);
  

  border-radius:var(--dc-r-l); box-shadow:var(--dc-o-2);
}
body.heritage .nav .primary,body.heritage .nav .ghost{padding:0 var(--dc-e5); height:42px}

 
body.heritage .facades .chk{ padding:7px 12px; font-size:12.5px; border-radius:var(--dc-r-pill); border-color:var(--dc-bord) }
body.heritage .facades .chk:has(input:checked){ border-color:var(--dc-vert-500); color:var(--dc-vert-700) }



body.heritage #step-1 .step-inner{align-items:start}



 
body.heritage #step-1 .grid2{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}


body.heritage #step-1 .bloc-type .grid2{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}


@media(max-width:900px){
  

  body.heritage #step-1 .grid2 > [style*="span 2"]{grid-column:1 / -1 !important}
}



@media(min-width:1680px){
  body.heritage #step-1 .grid2:has(#f-type){
    grid-template-columns:
      minmax(225px,1.80fr)   

      minmax(100px,0.92fr)    
      minmax(70px,0.56fr)     
      minmax(112px,1.02fr)    
      minmax(110px,1.00fr)    
      minmax(124px,1.16fr);   
  }
  

  body.heritage #step-1 .grid2:has(#f-type) > [style*="span 2"]{grid-column:auto !important}
}




 
body.heritage #map,
body.heritage .streetview,
body.heritage .sv-placeholder{
  border-radius:var(--dc-r-l); border-color:var(--dc-bord); box-shadow:var(--dc-o-1);
}

 
body.heritage .dp4-piece{border-radius:var(--dc-r-l); box-shadow:var(--dc-o-1); padding:var(--dc-e4)}
body.heritage .dp4-titre{font-size:14px}
body.heritage .dp4-code{border-radius:var(--dc-r-xs); padding:4px 9px; font-size:12px}
body.heritage .dp4-badge{padding:4px 10px; font-size:12px; font-weight:600; border-radius:var(--dc-r-pill)}
body.heritage .dp4-badge.ok    {background:var(--dc-ok-fond);      color:var(--dc-ok)}


body.heritage .dp4-badge.todo  {background:var(--dc-attente-fond); color:#8a5a10}
body.heritage .dp4-badge.ko    {background:var(--dc-alerte-fond);  color:var(--dc-alerte)}
body.heritage .dp4-badge.neutre{background:var(--dc-neutre-fond);  color:var(--dc-neutre)}
 


body.heritage a.btn-dl.dp4-view{background:var(--dc-info-fond); color:var(--dc-info); border-color:transparent}
body.heritage a.btn-dl.dp4-view:hover{background:var(--dc-info-fond); filter:brightness(.96)}

 
 
body.heritage .env-tabs{gap:var(--dc-e5); margin-bottom:var(--dc-e5); border-bottom-color:var(--dc-bord)}
body.heritage .env-tab{
  padding:12px 2px; margin-bottom:-1px; border-bottom-width:2px;
  font-size:14px; font-weight:500; color:var(--dc-gris);
}
body.heritage .env-tab.active{color:var(--dc-vert-700); font-weight:600; border-bottom-color:var(--dc-vert-700)}
body.heritage .env-lbl input,body.heritage .env-lbl textarea{
  border-color:var(--dc-bord); border-radius:var(--dc-r-s); padding:10px 12px;
}
body.heritage .env-verif{border-radius:var(--dc-r-m); border-color:transparent}
body.heritage .env-verif.ok  {background:var(--dc-ok-fond);      color:#12603c}
body.heritage .env-verif.warn{background:var(--dc-attente-fond); color:#8a5a06}
body.heritage .env-verif.miss{background:var(--dc-alerte-fond);  color:#94301c}


body.heritage .env-robot-box{
  background:var(--dc-violet-fond); border-color:transparent; border-radius:var(--dc-r-l);
}
body.heritage .env-robot-box h4{color:var(--dc-violet)}
body.heritage .env-beta{background:var(--dc-violet); border-radius:var(--dc-r-pill)}
body.heritage .env-progress{height:6px; border-radius:var(--dc-r-pill); background:var(--dc-filet)}
body.heritage .env-progress span{background:var(--dc-violet)}
body.heritage .env-depose{border-left-color:var(--dc-vert-500)}



body.heritage .dp4-piece-actions{gap:6px}
body.heritage .dp4-piece-actions > .primary,
body.heritage .dp4-piece-actions > .ghost,
body.heritage .dp4-piece-actions > .btn-dl,
body.heritage .dp4-piece-actions > .dp4-retirer,
body.heritage .dp4-piece-actions > .dp4-plan{
  height:34px; padding:0 11px; font-size:12.5px; font-weight:600;
  border-radius:var(--dc-r-s); display:inline-flex; align-items:center; gap:5px;
  line-height:1; white-space:nowrap;
}
body.heritage .dp4-retirer{border-color:var(--dc-bord); color:var(--dc-gris); background:transparent}
body.heritage .dp4-retirer:hover{background:var(--dc-alerte-fond); border-color:transparent; color:var(--dc-alerte)}
 
body.heritage .dp4-gen-msg{flex:1 0 100%; margin-top:2px; font-size:12px; color:var(--dc-gris)}



body.heritage .toit-controls{gap:6px; margin-bottom:var(--dc-e3)}
body.heritage .toit-controls button{
  height:32px; padding:0 11px; font-size:12.5px; font-weight:600;
  border-radius:var(--dc-r-s); display:inline-flex; align-items:center; gap:5px; line-height:1;
}
body.heritage .ppv-tool-group{
  background:var(--dc-surface-2); border-color:var(--dc-bord);
  border-radius:var(--dc-r-m); padding:var(--dc-e4);
}
body.heritage .ppv-tool-title{
  font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--dc-gris);
}
body.heritage .ppv-field label{font-size:12px; font-weight:500; color:var(--dc-texte)}
body.heritage .ppv-field input{border-radius:var(--dc-r-xs); padding:7px 9px; border-color:var(--dc-bord)}


body.heritage .ppv-sub-dot{border-radius:var(--dc-r-s); border-color:var(--dc-bord); font-size:13px}
body.heritage .ppv-sub-dot.active{ border-color:var(--dc-vert-700) }
body.heritage .ppv-sub-dot:hover{ border-color:var(--dc-vert-500) }
body.heritage .ppv-bloc{border-radius:var(--dc-r-m)}




 
body.heritage .ppv-tool-group,
body.heritage #ite-plan-wrap,
body.heritage .pm-trio .slot,
body.heritage .sv-placeholder,
body.heritage .dp-fig,
body.heritage .docs,
body.heritage .dp4-recap-grid .rr,
body.heritage .dp4-apercu,
body.heritage .cotes-auto{
  background:var(--dc-surface-2); border-color:var(--dc-bord); border-radius:var(--dc-r-m);
}
 
body.heritage .dp4-apercu{border-style:solid}
body.heritage .cotes-auto{border-left:3px solid var(--dc-vert-500); color:var(--dc-texte)}
body.heritage .cotes-auto:empty{display:none}

 


body.heritage .env-robot-box > .primary,
body.heritage .env-verif .primary,
body.heritage .dp4-actions .primary,
body.heritage .ppv-tool-group .primary{width:auto; margin-top:var(--dc-e3)}

 


body.heritage .dp4-pieces{align-items:start}

 
 
body.heritage .card h3{font-size:14.5px; font-weight:600; color:var(--dc-encre); margin:0 0 var(--dc-e2)}

 
body.heritage .msg{border-radius:var(--dc-r-m); border-color:transparent; font-size:13.5px}
body.heritage .msg.ok {background:var(--dc-ok-fond);     color:#12603c}
body.heritage .msg.err{background:var(--dc-alerte-fond); color:#94301c}

 
body.heritage .parc{background:var(--dc-vert-050); border-color:var(--dc-bord); border-radius:var(--dc-r-m)}
body.heritage .parc-active{background:var(--dc-vert-100); border-color:var(--dc-vert-500); box-shadow:none}

 
body.heritage .btn-dl{
  background:var(--dc-surface); color:var(--dc-encre); border-color:var(--dc-bord);
  border-radius:var(--dc-r-s); font-weight:600;
}
body.heritage .btn-dl:hover{background:var(--dc-surface-2); border-color:var(--dc-gris-clair)}

 
body.heritage .dp11-fiche-del,
body.heritage .dp11-mandat-del,
body.heritage .dp4-extra-del{
  border:1px solid var(--dc-bord); background:var(--dc-surface); color:var(--dc-gris);
  border-radius:var(--dc-r-s); padding:5px 9px; font-size:12.5px; cursor:pointer;
}
body.heritage .dp11-fiche-del:hover,
body.heritage .dp11-mandat-del:hover,
body.heritage .dp4-extra-del:hover{background:var(--dc-alerte-fond); border-color:transparent; color:var(--dc-alerte)}

 
body.heritage .facades .chk{background:transparent}
body.heritage .facades .chk:has(input:checked){background:var(--dc-vert-100)}




 


::selection{background:var(--dc-vert-600); color:#fff}



:root{scrollbar-width:thin; scrollbar-color:var(--dc-bord) transparent}   
::-webkit-scrollbar{width:10px; height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--dc-bord); border-radius:99px; border:3px solid transparent; background-clip:content-box}
::-webkit-scrollbar-thumb:hover{background:var(--dc-gris-clair); background-clip:content-box}

 
.dc-b:focus-visible,.dc-b-ico:focus-visible{outline-offset:3px}



.dc-tuile .dc-chiffre,.dc-pagination,.dc-etiq,.dc-compteur,.dc-anneau > span,.dc-progression .dc-pct{
  font-variant-numeric:tabular-nums;
}

 
.dc-lat-logo{padding:var(--dc-e6) var(--dc-e5) var(--dc-e5); gap:var(--dc-e3)}
.dc-lat-logo img{height:34px}


.dc-lat-logo{position:relative}
.dc-lat-logo::after{
  content:""; position:absolute; left:var(--dc-e5); right:var(--dc-e5); bottom:0; height:1px;
  background:linear-gradient(90deg,rgba(200,162,74,.42),rgba(200,162,74,0));
}
.dc-lat-l{transition:background var(--dc-transition),color var(--dc-transition)}
.dc-lat-l.actif{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.dc-lat-moi{border-top-color:rgba(255,255,255,.10)}

 




.dc-haut{box-shadow:0 4px 12px -10px rgba(14,26,20,.30)}

 
.dc-carte{transition:border-color var(--dc-transition), box-shadow var(--dc-transition)}
a.dc-carte:hover,.dc-carte.cliquable:hover{border-color:var(--dc-vert-200); box-shadow:var(--dc-o-2)}

.dc-b-primaire{box-shadow:0 1px 2px rgba(18,68,48,.24)}
.dc-b-primaire:active{background:var(--dc-vert-800); box-shadow:none}
.dc-b-secondaire:active,.dc-b-fantome:active{background:var(--dc-filet)}
.dc-b-ico:active{background:var(--dc-filet)}

 
.dc-champ input:hover:not(:focus):not(:disabled),
.dc-champ select:hover:not(:focus):not(:disabled),
.dc-champ textarea:hover:not(:focus):not(:disabled),
.dc-saisie:hover:not(:focus):not(:disabled){border-color:var(--dc-gris-clair)}

 
.dc-etape.active .dc-num{box-shadow:0 0 0 4px var(--dc-vert-100)}
.dc-etape .dc-num,.dc-etape:not(:last-child)::after{transition:background var(--dc-transition),border-color var(--dc-transition)}




 

 
body.heritage .mandat-row{align-items:center}
body.heritage #mandat-state{color:var(--dc-gris); font-size:12.5px}




body.heritage .bloc-type{margin-top:var(--dc-e4)}
body.heritage .bloc-type > label:first-child{
  display:block; margin:0 0 12px;
  font-size:11px; font-weight:600; letter-spacing:.09em; text-transform:uppercase;
  color:var(--dc-gris-clair);
}



body.heritage #step-1 .card > label{margin-top:var(--dc-e4)}
body.heritage #step-1 .card > .grid2{margin-top:2px}



body.heritage #mail{transition:background var(--dc-transition),border-color var(--dc-transition)}

 
body.heritage label a{color:var(--dc-vert-500); font-weight:500; text-decoration:none}
body.heritage label a:hover{text-decoration:underline}



.dc-auth-gauche::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
     
    radial-gradient(60% 55% at 12% 88%, rgba(31,122,70,.30), transparent 70%),
     
    url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 800' preserveAspectRatio='xMaxYMax slice'%3E%3Cg fill='none' stroke='%23C8A24A' stroke-linecap='round'%3E%3Cpath d='M-40 690 C 190 700, 380 560, 470 330 C 520 200, 560 110, 640 40' stroke-width='2' opacity='.5'/%3E%3Cpath d='M-40 760 C 230 770, 450 610, 540 360 C 580 250, 610 170, 660 110' stroke-width='1' opacity='.28'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat, no-repeat;
  background-size:cover, cover;
  background-position:center, center;
}






body.heritage .leaflet-container,
body.heritage #map,
body.heritage #ppv-map,
body.heritage #ppv2-map,
body.heritage .streetview{isolation:isolate}




body.heritage .dp4-pieces > .dp4-piece{align-self:start}
body.heritage .dp4-pieces > .dp4-piece:has(.dp4-gal.plan),
body.heritage .dp4-pieces > .dp4-piece:has(.dp4-gal.solo),
body.heritage .dp4-pieces > .dp4-piece:has(.cerfa-edit){align-self:stretch}
body.heritage .dp4-apercu{min-height:150px}



@media(max-width:560px){
  body.heritage .stepper{padding:var(--dc-e4) var(--dc-e3)}
  body.heritage .step-dot{font-size:11px; gap:6px}
  body.heritage .step-dot span{width:26px; height:26px; font-size:11px; border-width:2px}
  body.heritage .step-dot::after{top:12px; left:calc(50% + 18px); right:calc(-50% + 18px)}
  body.heritage .nav{flex-wrap:wrap; gap:8px}
  body.heritage .nav .primary,body.heritage .nav .ghost{flex:1 1 140px}
}



body.heritage .cerfa-edit-actions .ghost{height:32px; padding:0 11px; font-size:12.5px}



@keyframes dc-tourne{to{transform:rotate(360deg)}}
@keyframes dc-pulse{50%{opacity:.45}}



.dc-b.charge{position:relative; color:transparent!important; pointer-events:none}
.dc-b.charge::after{
  content:""; position:absolute; top:50%; left:50%; width:16px; height:16px;
  margin:-8px 0 0 -8px; border-radius:50%;
  border:2px solid currentColor; border-top-color:transparent;
  color:#fff; animation:dc-tourne .7s linear infinite;
}
.dc-b-secondaire.charge::after,.dc-b-fantome.charge::after{color:var(--dc-gris)}

 
.dc-squelette{
  background:linear-gradient(90deg,var(--dc-filet) 25%,var(--dc-surface-2) 50%,var(--dc-filet) 75%);
  background-size:200% 100%; border-radius:var(--dc-r-s);
  animation:dc-pulse 1.4s ease-in-out infinite; min-height:14px;
}
.dc-squelette.l{min-height:22px}
.dc-squelette + .dc-squelette{margin-top:8px}






body.heritage .dp4-pieces{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}



body.heritage #step-1 .grid2 > div:has(#f-type){min-width:225px}



body.heritage .inst-banner{margin:0 0 12px}
body.heritage .inst-logo{
  height:40px; max-width:200px; padding:4px 10px;
  border-radius:var(--dc-r-s); box-shadow:none; border-color:var(--dc-bord);
}
@media(min-width:1081px){
  body.heritage .dc-principal:not(:has(.dc-haut .dc-recherche)) .inst-banner{
    position:fixed; top:13px; left:calc(var(--dc-lat) + var(--dc-e6)); z-index:51;
    margin:0; padding:0; text-align:left; width:auto; max-width:220px;
  }
  body.heritage .dc-principal:not(:has(.dc-haut .dc-recherche)) .inst-logo{
    height:36px; max-width:200px; padding:0; border:0; background:transparent;
  }
}
@media(max-width:560px){ body.heritage .inst-logo{height:32px} }






body.heritage .layers,
body.heritage .ppv-substep-bar{
  display:inline-flex; width:max-content; max-width:100%;
  gap:2px; padding:3px; margin-bottom:10px;
  background:var(--dc-surface-2); border-radius:var(--dc-r-s); align-items:center;
}
body.heritage .layers button,
body.heritage .ppv-sub-dot{
  flex:0 0 auto;                     
  height:28px; padding:0 13px; border:0; background:transparent;
  border-radius:7px; cursor:pointer;
  font:inherit; font-size:12.5px; font-weight:600; color:var(--dc-gris);
  display:inline-flex; align-items:center; gap:5px; white-space:nowrap;
  transition:background var(--dc-transition),color var(--dc-transition);
}
body.heritage .layers button:hover,
body.heritage .ppv-sub-dot:hover{color:var(--dc-encre); background:rgba(0,0,0,.03)}
body.heritage .layers button.active,
body.heritage .ppv-sub-dot.active{
  background:var(--dc-surface); color:var(--dc-encre); box-shadow:var(--dc-o-1);
}



body.heritage .toit-controls button,
body.heritage .dp-ctrl button,
body.heritage .env-actions button,
body.heritage .env-actions .btn-dl,
body.heritage .env-prep button,
body.heritage .env-inrow button,
body.heritage .dp4-actions button,
body.heritage .dp4-actions .btn-dl{
  height:32px; padding:0 12px; margin-top:0;
  font-size:12.5px; font-weight:600; line-height:1;
  border-radius:var(--dc-r-s);
  display:inline-flex; align-items:center; justify-content:center; gap:5px;
  white-space:nowrap; width:auto;
}
 
body.heritage .toit-controls,
body.heritage .env-actions,
body.heritage .env-prep,
body.heritage .dp4-actions{gap:6px; align-items:center; flex-wrap:wrap}





body.heritage .street-head,
body.heritage .plan-head{
  display:flex; align-items:center; justify-content:space-between; gap:var(--dc-e3);
  min-height:34px; margin:0 0 10px;
  font-size:12.5px; font-weight:600; color:var(--dc-encre);
}
body.heritage .sv-open,
body.heritage .plan-head a{
  font-size:12.5px; font-weight:600; color:var(--dc-vert-500); text-decoration:none;
}
body.heritage .sv-open:hover,body.heritage .plan-head a:hover{text-decoration:underline}



body.heritage .photo-card .photo-pm,
body.heritage .photo-card .photo-plans,
body.heritage .photo-card .photo-vect,
body.heritage .photo-card .photo-apres{
  display:block; width:100%; height:auto; min-height:28px;
  padding:6px 8px; margin-top:5px;
  font-size:11.5px; font-weight:600; line-height:1.25;
  border-radius:var(--dc-r-xs); white-space:normal; text-align:center;
}



body.heritage .photo-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}



body.heritage .photo-card .photo-dims{gap:5px; align-items:center}
body.heritage .photo-card .photo-meta{padding:8px 9px}



body.heritage .dc-contenu > h1,
body.heritage .dc-contenu > .wrap > h1,
body.heritage .dc-contenu > .wrap > header > h1{
  font-size:24px; font-weight:600; letter-spacing:-.02em;
  color:var(--dc-encre); margin:0 0 16px;
}



.dc-page-seule{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:var(--dc-e6);
}
 
.dc-auth-boite label{display:block; font-size:12px; font-weight:500; color:var(--dc-gris); margin:14px 0 5px}
.dc-auth-boite input[type=password],.dc-auth-boite input[type=text],.dc-auth-boite input[type=email]{
  width:100%; height:44px; padding:0 14px; font-family:inherit; font-size:14px;
  color:var(--dc-encre); background:var(--dc-surface);
  border:1px solid var(--dc-bord); border-radius:var(--dc-r-s);
}
.dc-auth-boite input:focus{outline:2px solid var(--dc-vert-500); outline-offset:1px; border-color:var(--dc-vert-500)}
.dc-auth-boite button[type=submit]{width:100%; margin-top:18px}


.dc-auth-boite h1{font-size:28px; text-align:center; margin-bottom:var(--dc-e2)}
.dc-page-seule .dc-auth-boite h1{font-size:20px; margin-bottom:6px}




 
body.heritage .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  height:38px; padding:0 16px; border:1px solid transparent;
  border-radius:var(--dc-r-s); cursor:pointer; white-space:nowrap;
  font-family:inherit; font-size:13.5px; font-weight:600; line-height:1;
  background:var(--dc-vert-700); color:#fff; text-decoration:none;
  transition:background var(--dc-transition),border-color var(--dc-transition),color var(--dc-transition);
}
body.heritage .btn:hover{background:var(--dc-vert-600); color:#fff; text-decoration:none}
 
body.heritage .btn.sec,body.heritage .btn-sec,
body.heritage .btn.ghost,body.heritage .btn.gris{
  background:var(--dc-surface); color:var(--dc-encre); border-color:var(--dc-bord);
}
body.heritage .btn.sec:hover,body.heritage .btn-sec:hover,
body.heritage .btn.ghost:hover,body.heritage .btn.gris:hover{
  background:var(--dc-surface-2); border-color:var(--dc-gris-clair); color:var(--dc-encre);
}
body.heritage .btn.dang{background:var(--dc-surface); color:var(--dc-alerte); border-color:var(--dc-bord)}
body.heritage .btn.dang:hover{background:var(--dc-alerte-fond); border-color:transparent; color:var(--dc-alerte)}
body.heritage .btn:disabled{opacity:.5; cursor:not-allowed}
 
body.heritage .btn.primary{background:var(--dc-vert-700); color:#fff; border-color:transparent}
body.heritage .btn.primary:hover{background:var(--dc-vert-600)}

 
body.heritage .dc-contenu h1{font-size:24px; font-weight:600; letter-spacing:-.02em; color:var(--dc-encre)}
body.heritage .dc-contenu h2{font-size:16px; font-weight:600; letter-spacing:-.005em; color:var(--dc-encre)}
body.heritage .dc-contenu h3{font-size:14.5px; font-weight:600; color:var(--dc-encre)}

 
body.heritage .dc-contenu table{border-collapse:collapse; font-size:13.5px}
body.heritage .dc-contenu th{
  padding:10px 12px; text-align:left;
  background:var(--dc-surface-2); color:var(--dc-gris);
  font-size:12px; font-weight:600; border-bottom:1px solid var(--dc-bord);
}
body.heritage .dc-contenu td{padding:10px 12px; border-bottom:1px solid var(--dc-filet); vertical-align:middle}
body.heritage .dc-contenu tr:last-child td{border-bottom:0}

 
body.heritage .muted{color:var(--dc-gris)}
body.heritage .sub{color:var(--dc-gris)}


body.heritage .dc-contenu a:not([class]){color:var(--dc-vert-500)}

 
body.heritage .choix label{
  border:1.5px solid var(--dc-bord); border-radius:var(--dc-r-m);
  background:var(--dc-surface); cursor:pointer;
  transition:border-color var(--dc-transition),background var(--dc-transition);
}
body.heritage .choix label:hover{border-color:var(--dc-vert-200)}
body.heritage .choix label:has(input:checked){
  border-color:var(--dc-vert-500); background:var(--dc-vert-050);
}







 
body.vue-installateur #step-1 div:has(> #f-installateur){display:none}



body.vue-installateur label[for=f-details],
body.vue-installateur #f-details{display:none}



body.vue-installateur .ite-gabarit-bar,         
body.vue-installateur .cotes-auto,              
body.vue-installateur .photo-card .photo-consigne,   
body.vue-installateur .photo-card .photo-dims,       
body.vue-installateur .photo-card .photo-plans,      
body.vue-installateur .photo-card .photo-vect{       
  display:none;
}



body.heritage .photo-card .photo-loc,           
body.heritage .photo-card .photo-orient,        
body.heritage .ite-plan-side{display:none}      
 
body.heritage .ite-layout{grid-template-columns:minmax(0,1fr)}



.cerfa-valide-lbl{display:none}
body.vue-installateur .cerfa-valide-lbl{
  display:flex; align-items:center; gap:8px; margin-top:10px;
  padding:9px 11px; border-radius:var(--dc-r-s);
  background:var(--dc-attente-fond); color:#8a5a10;
  font-size:12.5px; font-weight:600; cursor:pointer;
}
body.vue-installateur .cerfa-valide-lbl input{
  width:16px; height:16px; flex:0 0 16px; margin:0; accent-color:var(--dc-vert-700); cursor:pointer;
}
 
body.vue-installateur .cerfa-valide-lbl:has(input:checked){
  background:var(--dc-ok-fond); color:#12603c;
}







:root{ --dc-lecture:95%; }    



body.heritage .wrap,
body.heritage .cw,
body.heritage .tw{margin-left:0; margin-right:auto}
 
body.heritage .cw,
body.heritage .tw{max-width:var(--dc-lecture)}


body.heritage .card p{max-width:95ch}



body.dc::before{display:none}


.dc .dc-form input:not(:focus),.dc .dc-form select:not(:focus),.dc .dc-form textarea:not(:focus),
.dc .dc-auth-boite input:not(:focus){box-shadow:none}









body.heritage .step-dot.active:not(.current) span{
  background:var(--dc-vert-100); border-color:var(--dc-marque-fonce); color:var(--dc-marque-fonce);
  font-size:0;                                     
}
body.heritage .step-dot.active:not(.current) span::after{
  content:"\2713"; font-size:.86rem; font-weight:700; line-height:1;
}
body.heritage .step-dot.current span{
  background:var(--dc-marque); border-color:var(--dc-marque-fonce); color:var(--dc-marque-encre);
  box-shadow:0 0 0 4px rgba(120,190,32,.26);       
}
body.heritage .step-dot.current{color:var(--dc-encre); font-weight:700}
 
body.heritage .step-dot.active:has(+ .step-dot.active)::after{
  background:var(--dc-marque); height:2px; top:12.5px;
}



body.heritage .dc-contenu input:focus,
body.heritage .dc-contenu select:focus,
body.heritage .dc-contenu textarea:focus{
  border-color:var(--dc-marque-fonce);
  box-shadow:0 0 0 3px rgba(120,190,32,.30);       
  outline:none;
}



body.heritage .dc-contenu label,
body.heritage #step-1 label{color:var(--dc-texte)}
body.heritage .dc-contenu .muted,
body.heritage .dc-contenu .dc-sous{color:var(--dc-gris)}    



body.heritage .card > h2,
body.heritage .card > h3{position:relative; padding-bottom:7px; margin-bottom:var(--dc-e3)}
body.heritage .card > h2::after,
body.heritage .card > h3::after{
  content:""; position:absolute; left:0; bottom:0; width:34px; height:3px;
  background:var(--dc-marque); border-radius:2px;
}



body.heritage .dc-entete h1{position:relative; padding-bottom:9px}
body.heritage .dc-entete h1::after{
  content:""; position:absolute; left:0; bottom:0; width:56px; height:4px; border-radius:2px;
  background:linear-gradient(90deg,var(--dc-marque) 0%,var(--dc-vert-500) 100%);
}




body.heritage .dc-entete h1{display:flex; align-items:center; gap:10px}
body.heritage .dc-ico-titre{flex:none; color:var(--dc-marque-fonce)}
body.heritage .dc-ico-titre svg{width:26px; height:26px}
 
body.heritage .dc-entete h1::after{left:36px}
@media (max-width:620px){
  body.heritage .dc-ico-titre svg{width:22px; height:22px}
  body.heritage .dc-entete h1::after{left:32px}
}




body.heritage .dc-b-ico{width:38px; height:38px; flex:0 0 38px}
body.heritage .dc-pagination .dc-page{min-width:38px; height:38px}
body.heritage .dp4-piece-actions > .btn-dl,
body.heritage .dp4-piece-actions > .dp4-retirer,
body.heritage .dp4-piece-actions > .dp4-plan{height:38px}
body.heritage .toit-controls button{height:38px}
body.heritage .env-inrow button,
body.heritage .dp4-actions button,
body.heritage .dp4-actions .btn-dl{height:38px}

@media (hover:none), (max-width:620px){
  body.heritage .dc-b-ico{width:44px; height:44px; flex:0 0 44px}
  body.heritage .dc-pagination .dc-page{min-width:44px; height:44px}
  body.heritage .dp4-piece-actions > .btn-dl,
  body.heritage .dp4-piece-actions > .dp4-retirer,
  body.heritage .dp4-piece-actions > .dp4-plan{height:44px}
  body.heritage .toit-controls button{height:44px}
  body.heritage .env-inrow button,
  body.heritage .dp4-actions button,
  body.heritage .dp4-actions .btn-dl{height:44px}
  body.heritage .dc-b.s{height:44px}
}




body.heritage .env-duo{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--dc-e3)}
body.heritage .env-duo .env-lbl{margin:0}
@media (max-width:700px){ body.heritage .env-duo{grid-template-columns:1fr} }




.carte-molette{
  position:absolute; inset:0; margin:auto; width:max-content; height:max-content;
  z-index:600; pointer-events:none;
  padding:9px 16px; border-radius:var(--dc-r-pill, 999px);
  background:rgba(14,26,20,.78); color:#fff; font-size:13px; font-weight:600;
  opacity:0; transition:opacity .18s;
}
.carte-molette.vu{opacity:1}




body.heritage .primary.att-vues{opacity:.55; filter:saturate(.6)}
body.heritage .primary.att-vues:hover{opacity:.8}
 
.att-clignote{animation:att-bat 1.1s ease-in-out 2}
@keyframes att-bat{
  0%,100%{box-shadow:0 0 0 0 rgba(120,190,32,0)}
  50%    {box-shadow:0 0 0 5px rgba(120,190,32,.45)}
}



body.heritage .champ-rose{display:flex; align-items:flex-start; gap:12px}
body.heritage .champ-rose > .champ-rose-sel{flex:1 1 auto; min-width:0}
body.heritage .champ-rose > svg{flex:0 0 auto; margin:0}
@media (max-width:560px){
  body.heritage .champ-rose{display:block}
  body.heritage .champ-rose > svg{margin:6px auto 0}
}



.dcr{position:relative; display:inline-block; min-width:260px; max-width:520px; width:100%}
.dcr-champ{width:100%}
.dcr-cache{display:none !important}           
.dcr-boite{
  display:none; position:absolute; z-index:70; left:0; right:0; top:calc(100% + 4px);
  max-height:280px; overflow-y:auto; background:#fff;
  border:1px solid var(--dc-bord,#D8E2DB); border-radius:var(--dc-r-s,8px);
  box-shadow:0 10px 28px rgba(10,42,30,.14);
}
.dcr.ouvert .dcr-boite{display:block}
.dcr-liste{list-style:none; margin:0; padding:4px}
.dcr-item{
  padding:9px 11px; border-radius:6px; cursor:pointer; font-size:.88rem;
  color:var(--dc-texte,#1D2B24); line-height:1.35;
}
.dcr-item:hover,.dcr-item.actif{background:var(--dc-marque-fond,#F3F8ED); color:var(--dc-marque-encre,#073B2C)}
.dcr-neutre{color:var(--dc-gris,#6B7C74); font-style:italic}
.dcr-rien{padding:10px 11px; color:var(--dc-gris,#6B7C74); font-size:.85rem}
 
@media (pointer:coarse){ .dcr-item{padding:12px 12px; font-size:.92rem} }



.dc-vues{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.dc-vue{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--dc-bord);
  background:var(--dc-surface);border-radius:999px;padding:4px 11px;font:inherit;
  font-size:.79rem;color:var(--dc-gris);cursor:pointer}
.dc-vue:hover{border-color:var(--dc-vert-500);color:var(--dc-vert-500)}
.dc-vue[aria-pressed="true"]{background:var(--dc-vert-500);border-color:var(--dc-vert-500);
  color:#fff;font-weight:600}
.dc-vue .n{font-variant-numeric:tabular-nums;font-size:.74rem;opacity:.7}
.dc-vue[aria-pressed="true"] .n{opacity:.95}
.dc-vue.zero{opacity:.45;cursor:default}
.dc-vue.alerte:not([aria-pressed="true"]):not(.zero){border-color:#EAB676;
  color:var(--dc-attente);background:var(--dc-attente-fond)}



.card > .dc-tableau-boite{border:0; border-radius:0; background:transparent}
