.dp-container { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }
.dp-toolbar { display:flex; gap:.5rem; margin: .5rem 0 1rem; }
.dp-toolbar button { padding:.5rem .75rem; border:1px solid #d0d7de; background:#fff; border-radius:8px; cursor:pointer; }
.dp-toolbar button:hover { background:#f6f8fa; }

.dp-week { display:grid; grid-template-columns: repeat(2, 1fr); gap:.75rem; }
.dp-day { border:1px solid #3fbde1; border-radius:12px; background:#fff; overflow:hidden; display:flex; flex-direction:column; }
.dp-day-header { background:#3fbde1; padding:.5rem .75rem; border-bottom:1px solid #e5e7eb; display:flex; justify-content:space-between; align-items:center; }
.dp-day-title { font-weight:600; }
.dp-day-actions { display:flex; gap:.5rem; }
.dp-day-actions button { font-size:.85rem; padding:.25rem .5rem; }

.dp-day-body { padding:.5rem .5rem 1rem; display:flex; flex-direction:column; gap:.5rem; min-height:120px; }
.dp-block { border:1px solid #e5e7eb; border-radius:10px; padding:.5rem; background:#fcfcff; }
.dp-block-head { display:flex; justify-content:space-between; align-items:center; gap:.5rem; margin-bottom:.25rem; }
.dp-time { font-weight:600; }
.dp-block-actions button { font-size:.8rem; }

.dp-items { display:flex; flex-direction:column; gap:.25rem; margin:.25rem 0; }
.dp-item { display:flex; align-items:center; gap:.5rem; }
.dp-item select, .dp-item input { font-size:.9rem; width: 50%;}
.dp-item .qty { width:64px; }
.dp-item .remove { margin-left:auto; }

.dp-add-item { margin-top:.25rem; }
.dp-add-block-row { display:flex; gap:.5rem; align-items:center; margin:.5rem .25rem 0; }
.dp-add-block-row input[type="time"] { width:120px; }
.dp-all-day { display:flex; gap:.35rem; align-items:center; }

.dp-donut { max-width:420px; margin: 1rem 0; }


/* Drag handle et effets */
.dp-drag-handle { cursor: grab; user-select: none; font-weight: 700; padding: 0 .25rem; }
.dp-drag-handle:active { cursor: grabbing; }
.dp-block.sorting { box-shadow: 0 6px 18px rgba(0,0,0,.08); transform: scale(.995); transition: box-shadow .15s ease, transform .1s ease; }
.dp-day-body.is-over { background: #f6f8fa; border-radius: 12px; }

/* Heures éditables compactes */
.dp-time-editor { display:flex; align-items:center; gap:.35rem; }
.dp-time-editor input[type="time"] { border:1px solid #e5e7eb; border-radius:8px; padding:.15rem .35rem; width:110px; }
.dp-time-editor input[type="time"]:hover { background:#f9fafb; }
.dp-time-editor input[type="time"]:focus { outline:2px solid #3fbde1; }

/* Bouton swap (⇄) */
.dp-block-actions .dp-swap { font-size:.8rem; }
.dp-block.swap-source { outline: 2px dashed #3fbde1; outline-offset:2px; }
