/* ══════════════════════════════════════════════════════════
   gantt.css
══════════════════════════════════════════════════════════ */
.gantt-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}
.gantt-legend{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px;font-size:11px}
.gantt-leg-item{display:flex;align-items:center;gap:5px}
.gantt-leg-dot{width:10px;height:10px;border-radius:3px}

/* Table */
.gantt-table{border-collapse:collapse;min-width:100%;font-size:11px}
.gantt-table th{background:var(--surface2);border:1px solid var(--border);padding:4px 6px;text-align:center;font-weight:600;white-space:nowrap;font-size:10px}
.gantt-table th.col-time{min-width:52px;position:sticky;left:0;z-index:20;background:var(--surface2)}
.gantt-table th.col-day{min-width:90px}
.gantt-table th.col-we{background:color-mix(in srgb,var(--surface2) 80%,#888)}

.gantt-cell{border:1px solid var(--border);height:22px;min-width:90px;padding:0;position:relative;transition:background .1s}
.gantt-cell.time-cell{background:var(--surface2);font-family:'DM Mono',monospace;font-size:10px;font-weight:600;text-align:center;padding:2px 6px;position:sticky;left:0;z-index:10;white-space:nowrap}
.gantt-cell.weekend-cell{background:color-mix(in srgb,var(--surface2) 60%,#999 10%)}
.gantt-cell.outside-shift{background:var(--bg);opacity:.55}
.gantt-cell.hour-border{border-top:1px solid var(--border2)}
.gantt-cell.half-border{border-top:1px solid var(--border)}
.gantt-cell.now-row{outline:1.5px solid var(--accent);outline-offset:-1.5px;z-index:2}

/* Production blocks */
.gc-prod{position:absolute;inset:1px;border-radius:3px;cursor:pointer;overflow:hidden;display:flex;align-items:center;gap:3px;padding:0 4px;z-index:4;opacity:.92;transition:opacity .1s,box-shadow .1s}
.gc-prod:hover{opacity:1;box-shadow:0 1px 6px rgba(0,0,0,.25);z-index:5}
.gc-label{font-size:9px;font-weight:700;color:#fff;white-space:nowrap;font-family:'DM Mono',monospace;letter-spacing:.02em}
.gc-sub{font-size:8px;color:rgba(255,255,255,.8);white-space:nowrap}
.gc-attr{position:absolute;inset:1px;border-radius:3px;background:repeating-linear-gradient(45deg,var(--surface2),var(--surface2) 3px,var(--border2) 3px,var(--border2) 6px);border:1px solid var(--border2);display:flex;align-items:center;z-index:4;padding:0 3px}
.gc-attr-label{font-size:8px;color:var(--text3);font-weight:600;white-space:nowrap}
.drag-ghost{opacity:.4}

/* Fermo overlay */
.gc-fermo{position:absolute;inset:0;background:rgba(185,43,43,.18);border-left:2px solid var(--danger);z-index:3;pointer-events:none}

/* Fermi banners */
.fermo-banner{display:flex;align-items:center;gap:8px;background:var(--danger-light);border:1px solid var(--danger);border-radius:var(--radius);padding:6px 12px;margin-bottom:6px;font-size:11px}
.fermo-banner-label{font-weight:600;color:var(--danger)}
.fermo-banner-del{background:none;border:none;color:var(--danger);cursor:pointer;font-size:12px;margin-left:auto;padding:0 4px}
