/* Groupe période + champs */
.date-range{
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:var(--shadow);
  padding:12px;
  max-width:100%;
  width:max-content;
}
.dr-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px}
.dr-head span{color:var(--text); font-weight:600}
.dr-presets{display:flex; gap:6px}
.dr-preset{
  background:var(--bg); border:1px solid var(--border);
  border-radius:10px; padding:6px 10px; cursor:pointer; font:inherit
}
.dr-preset:hover{border-color:var(--brand)}

.dr-grid{
  display:grid;
  grid-template-columns: repeat(3, max-content);
  gap:12px;
  align-items:end;
}
.dr-field{display:flex; flex-direction:column; gap:6px; min-width:220px}
.dr-field > span{color:var(--muted); font-size:14px}

/* Entrées homogènes dates + selects */
.dr-input{
  font:inherit; color:var(--text); background:var(--bg);
  border:1px solid var(--border); border-radius:12px;
  padding:8px 12px; height:38px; min-width:220px
}
.dr-input:focus{outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgb(30 90 126 / 15%)}

/* Select */
.dr-select{appearance:none; background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%),
                                   linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position: calc(100% - 16px) 16px, calc(100% - 12px) 16px;
  background-size:4px 4px, 4px 4px; background-repeat:no-repeat; padding-right:28px
}

/* Bouton submit */
.dr-submit{
  border:1px solid var(--brand);
  background:var(--brand); color:#fff;
  border-radius:12px; padding:8px 14px; height:38px; cursor:pointer
}
.dr-submit:hover{background:var(--brand-2); border-color:var(--brand-2)}

.dr-error{color:#b00020; margin-top:8px; font-size:14px}

/* Responsive */
@media (max-width:880px){
  .dr-grid{grid-template-columns:1fr; width:min(520px, 100%)}
  .dr-field{min-width:unset}
  .dr-inpu
