/* Espace GRABE — chantier S2 : devis, factures, contrats, Pulse (maquettes Devis, Factures, Contrats, Pulse). Tout est préfixé .es */
.es .s2-wrap{gap:22px}
.es .s2-grow{flex:1 1 200px;min-width:0}
.es .s2-nowrap{white-space:nowrap}
.es .s2-hidden{display:none!important}
.es .s2-m0{margin:0}
.es .s2-mt8{margin-top:8px}
.es .s2-mt18{margin-top:18px}
.es .s2-gap8{gap:8px}
.es .s2-gap10{gap:10px}
.es .s2-w160{width:160px}
.es .s2-center{text-align:center}
.es .s2-white{color:#fff}
.es .s2-pink{color:#ffe1e3}
.es .s2-pinkish{color:#ffe9ea}
.es .s2-dim{opacity:.6}
.es .s2-self-start{align-self:flex-start}
.es .s2-link{text-decoration:none;color:inherit}
.es .s2-link:hover{background:rgba(255,255,255,.07)}

/* Devis : aperçu PDF + réponse */
.es .s2-split{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}
.es .s2-viewer{flex:999 1 600px;min-width:0;padding:0;overflow:hidden;display:flex;flex-direction:column}
.es .s2-vhead{padding:14px 20px;border-bottom:1px solid var(--line)}
.es .s2-thumb-sm{width:34px;height:34px}
.es .s2-vbody{background:rgba(0,0,0,.22);padding:32px 16px;display:flex;flex-direction:column;align-items:center;gap:18px;min-height:420px;justify-content:flex-start}
.es .s2-vbody > .spinner{margin:auto}
.es .s2-page{display:block;max-width:100%;height:auto;background:#fff;border-radius:4px;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.es .s2-totals{display:flex;flex-direction:column;gap:4px;padding:14px 20px;border-top:1px solid var(--line);font-family:ABeeZee,sans-serif;font-size:13px;color:var(--soft);align-self:flex-end;width:min(100%,300px)}
.es .s2-strong{color:#fff;font-size:15px;font-weight:700}
.es .s2-aside{flex:1 1 320px;display:flex;flex-direction:column;gap:22px;min-width:0}
.es .s2-answer{flex-direction:column;align-items:stretch;gap:16px;padding:30px;min-height:0}
.es .s2-answer > *{position:relative}
.es .s2-agree{align-items:flex-start;gap:10px;cursor:pointer}
.es .s2-checkbox{width:18px;height:18px;margin-top:2px;accent-color:#e5373f;flex:none}
.es .s2-textbtn{background:none;border:0;padding:4px;color:var(--soft);font-family:ABeeZee,sans-serif;font-size:13px;text-decoration:underline;cursor:pointer;align-self:center}
.es .s2-textbtn:hover{color:#fff}
.es .s2-quote{font-style:italic;color:var(--soft)}

/* Factures */
.es .s2-hero-slim{min-height:0;padding:30px 40px}
.es .hero > div.s2-hero-row{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;width:100%;gap:18px}
.es .s2-table-panel{padding:24px 24px 10px}

/* Contrats */
.es .s2-contract{min-height:0;gap:32px}
.es .hero > div.s2-paper{flex:0 0 140px;height:186px;border-radius:14px;background:#fff;padding:18px 16px;display:flex;flex-direction:column;gap:8px;position:relative}
.es .s2-paper i{display:block;width:88%;height:5px;border-radius:3px;background:#d0d2cf}
.es .s2-paper i.l1{width:60%;height:8px;border-radius:4px;background:#262d3b}
.es .s2-paper i.sp{flex:1;background:none}
.es .s2-paper i.sig{width:50%;height:14px;border-radius:4px;background:rgba(229,55,63,.25)}
.es .s2-contract-body{display:flex;flex-direction:column;gap:12px;align-items:flex-start;min-width:0}
.es .btn .itsme-slot{margin-left:6px}

/* Pulse */
.es .s2-bar{width:100%;background:rgba(0,0,0,.25)}
.es .bar i.s2-bar-fill{background:#fff}
.es .s2-month{display:flex;flex-direction:column;justify-content:center;gap:22px}
.es .s2-center-panel{display:flex;flex-direction:column;justify-content:center;gap:8px}
.es .s2-validation{display:flex;flex-direction:column;gap:22px;margin-top:10px}
.es .s2-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.es .s2-post{padding:12px;display:flex;flex-direction:column;gap:12px}
.es .s2-visual{aspect-ratio:4/5;border-radius:18px;background:#363d4c;display:grid;place-items:center;padding:24px;text-align:center;overflow:hidden}
.es .s2-visual span{font-family:"Neulis","Source Sans 3",sans-serif;font-weight:600;font-size:26px;line-height:1.05;color:#fff}
.es .s2-visual img{width:calc(100% + 48px);height:calc(100% + 48px);margin:-24px;object-fit:cover;display:block}
.es .s2-px{padding:0 6px}
.es .s2-pb{padding-bottom:6px}
.es .s2-caption{white-space:pre-line}
.es .s2-post-foot{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.es .s2-cal{display:flex;flex-direction:column;gap:10px}
.es .s2-cal-date{display:flex;flex-direction:column;align-items:center;min-width:64px;font-family:ABeeZee,sans-serif;font-size:11px;color:var(--soft)}
.es .s2-cal-date b{font-family:"Neulis","Source Sans 3",sans-serif;font-weight:600;font-size:16px;color:#fff}
.es .s2-note{padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.05)}

/* Admin */
.es .s2-thumb-img{object-fit:cover;padding:0}
.es .s2-form{gap:14px}
.es .s2-admin-doc .t-mention{margin-top:4px}

@media (max-width:900px){
  .es .s2-viewer,.es .s2-aside{flex-basis:100%}
  .es .s2-vbody{padding:18px 10px;min-height:280px}
  .es .s2-hero-slim{padding:24px}
  .es .hero > div.s2-hero-row{flex-direction:column;align-items:flex-start}
  .es .s2-contract{flex-direction:column}
  .es .hero > div.s2-paper{flex:none;width:110px;height:146px}
  .es .s2-posts{grid-template-columns:minmax(0,1fr);gap:16px}
  .es .s2-table-panel{padding:16px 12px 6px}
  .es .s2-answer{padding:24px}
}

/* Lot E : liste « Devis & factures » (ce qui attend le client en évidence, puis tous les documents) */
.es .es-spot{gap:16px}
.es .es-spot-card .es-spot-txt{gap:8px;align-items:flex-start}
.es .es-doclist{gap:8px}
.es .es-docrow{display:grid;grid-template-columns:46px minmax(0,1fr) 120px 130px 190px;align-items:center;gap:16px}
.es .es-docrow .thumb{font-size:9px;letter-spacing:.04em}
.es .es-docrow-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.es .es-docrow-main .t-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.es .es-docrow-amount{text-align:right}
.es .es-docrow-badge{display:flex;justify-content:flex-end}
@media (max-width:760px){
  .es .es-docrow{grid-template-columns:40px minmax(0,1fr) auto;gap:6px 12px;padding:12px 14px}
  .es .es-docrow .thumb{width:40px;height:40px;grid-row:span 2}
  .es .es-docrow-date{display:none}
  .es .es-docrow-badge{grid-column:2/-1;justify-content:flex-start}
}
