.btn-edit { background:#f59e0b; color:white; padding:8px 14px; border-radius:6px; border:none; cursor:pointer; margin-left:6px; font-weight:500; }
.btn-edit:hover { background:#d97706; }
.modal-edit { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.6); z-index:1000; align-items:flex-start; justify-content:center; padding:10px; overflow-y:auto; }
.modal-edit.open { display:flex; }
.modal-content { background:white; border-radius:12px; padding:16px; max-width:1400px; width:100%; margin:auto; max-height:95vh; overflow-y:auto; }
.modal-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; padding-bottom:8px; border-bottom:2px solid #e5e7eb; }
.modal-header h2 { margin:0; font-size:18px; }
.modal-close { background:#ef4444; color:white; padding:8px 14px; border-radius:6px; border:none; cursor:pointer; font-weight:600; }
.modal-info { padding:8px 12px; background:#fef3c7; border-radius:6px; font-size:13px; margin-bottom:12px; }
.btn-save-custom { background:#16a34a; color:white; padding:12px 24px; border-radius:6px; border:none; cursor:pointer; font-weight:600; margin-top:16px; width:100%; font-size:14px; }
.btn-save-custom:hover { background:#15803d; }

/* Multi-select counter */
.multi-counter { padding:8px 12px; background:#dbeafe; border:2px solid #3b82f6; border-radius:6px; font-size:13px; margin-bottom:10px; display:flex; justify-content:space-between; align-items:center; font-weight:600; color:#1e40af; }
.multi-counter.hidden { display:none; }
.btn-clear-multi { background:#6b7280; color:white; padding:5px 12px; border-radius:5px; border:none; cursor:pointer; font-size:12px; }
.btn-clear-multi:hover { background:#4b5563; }

/* Grille visuelle */
.grille-techs { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:10px; margin-top:12px; }
.tech-card { background:#f9fafb; border:1px solid #e5e7eb; border-radius:8px; padding:8px; }
.tech-card-header { font-weight:600; font-size:13px; color:#1f2937; padding-bottom:6px; border-bottom:1px solid #d1d5db; margin-bottom:6px; display:flex; justify-content:space-between; align-items:center; gap:6px; }
.tech-card-header .tech-nom { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.btn-inverser { background:#8b5cf6; color:white; border:none; border-radius:4px; padding:3px 8px; font-size:14px; cursor:pointer; font-weight:700; line-height:1; }
.btn-inverser:hover { background:#7c3aed; }
.tech-card-stats { font-size:11px; color:#6b7280; margin-bottom:6px; }
.tech-card.salarie .tech-card-header .tech-nom { color:#1e40af; }
.tech-card.artisan .tech-card-header .tech-nom { color:#92400e; }
.tech-card.surcharge { border:2px solid #ef4444; }
.tech-card.souscharge { border:2px dashed #f59e0b; }

.tech-dossiers-zone { min-height:40px; }
.empty-zone { min-height:40px; }

.dossier-tile { background:white; border-left:4px solid #94a3b8; padding:6px 8px; margin:4px 0; border-radius:4px; cursor:grab; font-size:12px; transition:all 0.15s; user-select:none; }
.dossier-tile:active { cursor:grabbing; }
.dossier-tile:hover { background:#eff6ff; border-left-color:#3b82f6; transform:translateX(2px); }
.dossier-tile.selected { background:#dbeafe; border-left-color:#1d4ed8; box-shadow:0 0 0 2px #93c5fd; }
.dossier-tile.selected-multi { background:#bfdbfe; border-left-color:#1d4ed8; box-shadow:0 0 0 2px #2563eb; outline:2px dashed #1d4ed8; outline-offset:1px; }
.dossier-ghost { opacity:0.4; background:#fef3c7 !important; }

/* Couleurs zones */
.dossier-tile.zone-MEDOC { border-left-color:#16a34a; }
.dossier-tile.zone-MERIGNAC { border-left-color:#3b82f6; }
.dossier-tile.zone-BORDEAUX_CENTRE { border-left-color:#8b5cf6; }
.dossier-tile.zone-PESSAC { border-left-color:#f97316; }

.dossier-heure { font-weight:700; color:#1f2937; }
.dossier-ref { font-size:10px; color:#6b7280; font-family:monospace; }
.dossier-meta { font-size:11px; color:#374151; margin-top:2px; }
.dossier-badges { font-size:10px; margin-top:2px; }
.dossier-badge { display:inline-block; padding:1px 5px; background:#fbbf24; color:#78350f; border-radius:3px; margin-right:3px; }

/* Action panel */
.action-panel { position:fixed; bottom:0; left:0; right:0; background:white; border-top:2px solid #3b82f6; padding:14px 20px; z-index:1100; box-shadow:0 -4px 12px rgba(0,0,0,0.15); }
.action-panel.hidden { display:none; }
.action-panel-row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:8px; }
.action-panel-row label { font-size:13px; }
.action-panel-row input, .action-panel-row select { padding:6px; border:1px solid #d1d5db; border-radius:5px; font-family:inherit; font-size:13px; }
.action-panel-row select { min-width:200px; }
.btn-action { padding:7px 14px; border-radius:5px; border:none; cursor:pointer; font-weight:500; font-size:13px; }
.btn-action-move { background:#3b82f6; color:white; }
.btn-action-heure { background:#8b5cf6; color:white; }
.btn-action-note { background:#10b981; color:white; }
.btn-action-cancel { background:#6b7280; color:white; }
.action-panel-title { font-weight:600; font-size:14px; color:#1f2937; }

/* Invert menu (popup) */
.invert-menu { position:fixed; top:50%; left:50%; transform:translate(-50%, -50%); background:white; border:2px solid #8b5cf6; border-radius:10px; padding:18px; z-index:1200; box-shadow:0 10px 40px rgba(0,0,0,0.3); max-width:400px; max-height:70vh; overflow-y:auto; }
.invert-menu-title { font-weight:600; font-size:14px; color:#1f2937; margin-bottom:12px; padding-bottom:8px; border-bottom:1px solid #e5e7eb; }
.btn-invert-target { display:block; width:100%; text-align:left; background:#f3f4f6; color:#1f2937; padding:8px 12px; border-radius:5px; border:1px solid #d1d5db; cursor:pointer; margin-bottom:5px; font-size:13px; font-weight:500; }
.btn-invert-target:hover { background:#ede9fe; border-color:#8b5cf6; color:#5b21b6; }
.btn-invert-cancel { display:block; width:100%; background:#6b7280; color:white; padding:8px 12px; border-radius:5px; border:none; cursor:pointer; margin-top:10px; font-size:13px; font-weight:500; }
.btn-invert-cancel:hover { background:#4b5563; }
