/* Frise interactive, miniatures stables, gestes tactiles et accès clavier. */
.timeline-save-note{display:block;max-width:250px;text-align:center;color:#8c8179;font-size:13px;line-height:1.4}
.timeline-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:22px 0 14px}
.timeline-toolbar form{margin:0}.timeline-status{font-size:13px;min-height:24px;white-space:pre-line;margin:14px 0!important;color:#6f665f}
.photo-timeline{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;list-style:none;padding:25px 16px 20px;margin:0;border:1px dashed #d8c4b5;border-radius:18px;background:linear-gradient(transparent 33px,#e8dbd1 33px,#e8dbd1 35px,transparent 35px),#faf7f2;min-height:240px;scrollbar-width:thin;scrollbar-color:#c8ac98 transparent;align-items:start}
.timeline-photo{flex:0 0 164px;position:relative;background:white;padding:12px;border-radius:14px;border:1px solid #e6ddd5;box-shadow:0 3px 12px #40302008;cursor:grab;contain:layout style;user-select:none}.photo-tools .photo-restore.selected{background:#f8dfcf;color:#8a4d2f;border-color:#b07851}.photo-tools .photo-remove{color:#9b4b3f}
.timeline-photo.moving{opacity:.5;cursor:grabbing;border-color:#b07851}.timeline-photo.drop-target{border-color:#b07851;box-shadow:0 0 0 2px #e9c3a5}
.photo-number{display:grid;place-items:center;width:30px;height:30px;background:#28282c;color:white;border:3px solid #faf7f2;border-radius:50%;position:relative;margin:-23px auto 12px;font-size:12px;font-weight:600}
.timeline-preview{aspect-ratio:1.2;overflow:hidden;border-radius:9px;background:#ede6df;display:grid;place-items:center}.timeline-preview img{width:100%;height:100%;object-fit:cover}.unsupported-photo:after{content:'Photo';font-size:13px;color:#877467}
.photo-name{display:block;margin-top:10px;font-size:11px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.photo-tools{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:10px}.photo-tools button{border:1px solid #e7ded6;background:#fffaf5;border-radius:8px;min-width:36px;min-height:36px;font-size:14px}
.photo-tools .photo-handle{font-size:22px;touch-action:none;cursor:grab}.timeline-empty{flex:1;min-width:160px;text-align:center;padding:55px 20px;color:#a28f80;font-size:14px}
.photo-timeline.drop-active{background-color:#fce8d9;border:2px dashed #b98967}.upload-pending{border-style:dashed}.upload-pending .photo-name{color:#a17c5f}
@media(max-width:700px){.sidebar{flex-wrap:wrap}.sidebar nav{width:100%;justify-content:space-between;overflow-x:auto}.sidebar nav button{white-space:nowrap;flex:none}.timeline-toolbar .button{font-size:12px;padding:11px 15px}.timeline-toolbar .dark{width:100%;order:3}.timeline-photo{flex-basis:145px}.photo-timeline{padding-inline:10px}.app-content{min-width:0}.app-panel{min-width:0}.timeline-toolbar form{width:100%}.client-detail-top{flex-wrap:wrap}.client-detail-top h2{font-size:25px}}
.timeline-danger-zone{display:flex;align-items:center;gap:14px;justify-content:flex-end;margin:18px 0 8px}.timeline-danger-zone small{color:#9b6257}.danger-button{border-color:#b9796b;color:#9b4b3f}.danger-button:hover{background:#fff0ed;color:#86392f}.form-dialog .danger-button{margin-top:8px}
