/* ═══════════════════════════════════════════════════════════
   DTISoft — Demandes de transfert de stock auto (création DTS)
   Préfixe : dts-
   Fenêtre outil plein écran (Outils → Demandes de transfert de stock auto).
   Grille PLATE (1 source PDV → 1 DTS), pas de sidebar.
   z-index 7500 = SOUS les fiches document (8000) → le DTS créé s'ouvre
   PAR-DESSUS l'outil.
   ═══════════════════════════════════════════════════════════ */

.dts-overlay {
    position: fixed; inset: 0; z-index: 7500;
    background: rgba(15, 23, 42, .45);
    display: flex; align-items: center; justify-content: center;
}
.dts-panel {
    background: #fff; border-radius: 6px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, .3);
    width: 96vw; height: 95vh;
    display: flex; flex-direction: column; overflow: hidden;
}

/* ── Header ─────────────────────────────────────────────── */
.dts-header {
    display: flex; align-items: center; gap: 12px;
    padding: 8px 14px; background: #1e3a8a; color: #fff;
    flex: 0 0 auto; flex-wrap: wrap;
}
.dts-title { font-weight: 700; font-size: 14px; display: flex; align-items: center; gap: 8px; }
.dts-header label { font-size: 11px; opacity: .85; }
.dts-hdr-fld { display: flex; align-items: center; gap: 5px; }
.dts-dest-val { font-weight: 700; background: rgba(255,255,255,.15); border-radius: 4px; padding: 3px 8px; font-size: 12px; }
.dts-header select, .dts-header input[type=text] {
    padding: 4px 8px; border: 1px solid rgba(255,255,255,.35); border-radius: 4px;
    background: rgba(255,255,255,.12); color: #fff; font-size: 12px;
}
.dts-header select option { color: #111; }
.dts-header input[type=text] { width: 110px; text-transform: uppercase; }
.dts-header input[type=text]::placeholder { color: rgba(255,255,255,.5); text-transform: none; }
.dts-modes { display: flex; gap: 2px; background: rgba(255,255,255,.12); border-radius: 4px; padding: 2px; }
.dts-mode-btn {
    border: 0; background: transparent; color: rgba(255,255,255,.75);
    padding: 4px 10px; font-size: 11.5px; border-radius: 3px; cursor: pointer; font-weight: 600;
}
.dts-mode-btn.dts-mode-active { background: #fff; color: #1e3a8a; }
.dts-refresh-btn {
    border: 1px solid rgba(255,255,255,.4); background: rgba(255,255,255,.15); color: #fff;
    padding: 4px 12px; border-radius: 4px; cursor: pointer; font-size: 12px; font-weight: 600;
    display: inline-flex; align-items: center; gap: 6px;
}
.dts-refresh-btn:hover { background: rgba(255,255,255,.28); }
.dts-winctrls { margin-left: auto; display: flex; gap: 6px; }
.dts-winbtn {
    width: 28px; height: 26px; border: 0; border-radius: 4px; cursor: pointer;
    background: rgba(255,255,255,.15); color: #fff; font-size: 12px;
}
.dts-winbtn:hover { background: rgba(255,255,255,.3); }

/* ── Bandeau info + grille ──────────────────────────────── */
.dts-main-head {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    padding: 7px 12px; border-bottom: 1px solid #e5e7eb; background: #fff;
    font-size: 12.5px; min-height: 20px; flex: 0 0 auto;
}
.dts-main-info { color: #475569; }
.dts-main-info b { color: #1e3a8a; }

.dts-grid-wrap { flex: 1; overflow: auto; min-height: 0; }
.dts-placeholder { padding: 40px 20px; text-align: center; color: #94a3b8; font-size: 13px; }
.dts-placeholder i { font-size: 26px; display: block; margin-bottom: 10px; color: #cbd5e1; }

.dts-table { width: 100%; border-collapse: collapse; font-size: 11.5px; }
.dts-table thead th {
    position: sticky; top: 0; z-index: 1;
    background: #f1f5f9; color: #475569; font-size: 10px;
    text-transform: uppercase; letter-spacing: .02em;
    padding: 5px 6px; text-align: left; border-bottom: 1px solid #e2e8f0; white-space: nowrap;
}
.dts-table td { padding: 3px 6px; border-bottom: 1px solid #f1f5f9; white-space: nowrap; }
.dts-table tbody tr:hover td { background: #f8fafc; }
.dts-table tr.dts-row-off td { opacity: .45; }
.dts-table th.num, .dts-table td.num { text-align: right; font-variant-numeric: tabular-nums; }
.dts-ref { font-family: monospace; font-weight: 600; color: #0f172a; }
.dts-lib { max-width: 320px; overflow: hidden; text-overflow: ellipsis; color: #475569; }
.dts-neg { color: #dc2626; font-weight: 700; }
.dts-src { color: #0f766e; font-weight: 600; }        /* dispo au source (plafond) */
.dts-incoming { color: #2563eb; font-weight: 600; }   /* déjà en route */
.dts-qty-inp {
    width: 62px; padding: 2px 5px; text-align: right;
    border: 1px solid #cbd5e1; border-radius: 3px; font-size: 11.5px; font-variant-numeric: tabular-nums;
}
.dts-qty-inp:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 2px rgba(37,99,235,.15); }
.dts-qty-inp.dts-qty-mod { background: #fef9c3; border-color: #f59e0b; }

/* ── Colonnes déplaçables / redimensionnables (js/grid-cols.js) ─────────── */
.gc-col-resize {
    position: absolute; top: 0; right: -2px; width: 5px; height: 100%;
    cursor: col-resize; z-index: 2;
}
.gc-col-resize:hover { background: #2563eb; opacity: .3; }
.dts-table thead th.dts-th-draggable        { cursor: grab; }
.dts-table thead th.dts-th-draggable:active { cursor: grabbing; }
.dts-table thead th.dts-th-dragging         { opacity: .45; }
.dts-table thead th.dts-th-drop             { box-shadow: inset 3px 0 0 0 #2563eb; }
/* Tri par clic sur l'en-tête */
.dts-table thead th.dts-th-sort:hover { background: #e2e8f0; }
.dts-sort-ic { color: #1e3a8a; margin-left: 2px; font-size: 10px; }

/* ── Footer ─────────────────────────────────────────────── */
.dts-footer {
    flex: 0 0 auto; display: flex; align-items: center; gap: 14px;
    padding: 9px 14px; border-top: 1px solid #e5e7eb; background: #fafafa;
    font-size: 12.5px; flex-wrap: wrap;
}
.dts-foot-sum { color: #334155; }
.dts-foot-sum b { color: #1e3a8a; }
.dts-create-btn {
    margin-left: auto;
    border: 1px solid #16a34a; background: #16a34a; color: #fff;
    padding: 8px 18px; border-radius: 4px; cursor: pointer;
    font-size: 13px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px;
}
.dts-create-btn:hover:not(:disabled) { background: #15803d; }
.dts-create-btn:disabled { opacity: .45; cursor: default; }

/* ── Mode minimisé (DTIMinimizer) ───────────────────────── */
.dti-minimized .dts-hdr-fld,
.dti-minimized .dts-modes,
.dti-minimized .dts-refresh-btn { display: none !important; }
.dti-minimized .dts-header { padding: 6px 8px !important; flex-wrap: nowrap !important; }
.dti-minimized .dts-title {
    flex: 1 1 auto; min-width: 0; overflow: hidden;
    text-overflow: ellipsis; white-space: nowrap; font-size: 12px;
}

/* ── Résultat de création ───────────────────────────────── */
.dts-result-overlay {
    position: fixed; inset: 0; z-index: 7600;
    background: rgba(15,23,42,.5); display: flex; align-items: center; justify-content: center;
}
.dts-result-panel {
    background: #fff; border-radius: 8px; box-shadow: 0 12px 40px rgba(0,0,0,.35);
    width: min(560px, 92vw); display: flex; flex-direction: column; overflow: hidden;
}
.dts-result-head {
    padding: 12px 16px; background: #1e3a8a; color: #fff; font-weight: 700; font-size: 14px;
    display: flex; justify-content: space-between; align-items: center;
}
.dts-result-close { background: none; border: 0; color: #fff; font-size: 17px; cursor: pointer; opacity: .85; }
.dts-result-body { padding: 14px 16px; font-size: 13px; color: #334155; }
.dts-result-body b { color: #1e3a8a; }
.dts-warn { color: #92400e; background: #fef3c7; border: 1px solid #fde68a; border-radius: 4px; padding: 6px 10px; margin-top: 8px; }
.dts-result-foot { padding: 10px 16px; border-top: 1px solid #e5e7eb; display: flex; justify-content: flex-end; gap: 8px; }
.dts-result-open {
    border: 1px solid #16a34a; background: #fff; color: #15803d;
    border-radius: 4px; padding: 6px 12px; cursor: pointer; font-size: 12.5px; font-weight: 600;
    display: inline-flex; align-items: center; gap: 6px;
}
.dts-result-open:hover { background: #f0fdf4; }
.dts-result-okbtn { border: 0; background: #3498db; color: #fff; border-radius: 4px; padding: 6px 16px; cursor: pointer; font-size: 13px; }

/* ── Dialogue overlay (remplace alert()/confirm() natifs) ────────────────
   z-index 7800 : au-dessus de l'outil (7500) et du récap de création (7600). */
.dts-dialog-overlay {
    position: fixed; inset: 0; z-index: 7800;
    background: rgba(15,23,42,.5); display: flex; align-items: center; justify-content: center;
}
.dts-dialog {
    background: #fff; border-radius: 8px; box-shadow: 0 12px 40px rgba(0,0,0,.35);
    width: min(460px, 92vw); display: flex; flex-direction: column; overflow: hidden;
}
.dts-dialog-body { padding: 18px 18px 8px; }
.dts-dialog-msg { font-size: 13.5px; color: #334155; line-height: 1.5; }
.dts-dialog-msg.dts-dialog-danger { color: #7f1d1d; }
.dts-dialog-foot { padding: 12px 16px 14px; display: flex; justify-content: flex-end; gap: 8px; }
.dts-dialog-btn {
    border: 1px solid #cbd5e1; background: #fff; color: #334155;
    border-radius: 4px; padding: 7px 16px; cursor: pointer; font-size: 13px; font-weight: 600;
}
.dts-dialog-btn:hover { background: #f1f5f9; }
.dts-dialog-btn--primary { border-color: #1e3a8a; background: #1e3a8a; color: #fff; }
.dts-dialog-btn--primary:hover { background: #16306e; }
