body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;background:#eef0f4;color:#1a1a2e;margin:0}.app-card{max-width:1400px;margin:24px auto;background:#fff;border-radius:12px;box-shadow:0 2px 20px #00000014;padding:28px}.gantt-wrapper{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.gantt-table{width:100%;min-width:0;border-collapse:collapse}.gantt-table thead th{background:#f8f9fc;font-size:11px;font-weight:600;color:#6b7280;text-align:center;padding:4px 1px;border-right:1px solid #e5e7eb;border-bottom:1px solid #d1d5db}.gantt-table thead th.week-title{font-size:11px;color:#374151;font-weight:600;padding:6px 2px;border-bottom:1px solid #e5e7eb;white-space:nowrap}.gantt-table thead th.day-label{font-size:9px;color:#9ca3af;font-weight:400;padding:2px 0;border-bottom:1px solid #e5e7eb}.gantt-table thead th.day-label.weekend{color:#d1d5db}.gantt-table thead th.day-label.today-col{background:#fef3c7;color:#92400e;font-weight:600}.gantt-table thead th:first-child{width:300px;min-width:300px;max-width:300px;text-align:left;padding:8px 12px;font-size:11px;text-transform:uppercase}.section-row td{color:#fff;font-weight:700;font-size:14px;padding:10px 14px;border-bottom:2px solid #fff}.task-row td{border-bottom:1px solid #f0f2f5;vertical-align:middle}.task-row:last-child td{border-bottom:none}.task-row:hover td{background:#f8fafc!important}.task-row td:first-child{background:#fff;width:300px;min-width:300px;max-width:300px}.task-row.no-date td:first-child{opacity:.6}.task-row.no-date .task-name{font-style:italic}.task-name{width:300px;min-width:300px;max-width:300px;padding:10px 12px;font-size:12px;color:#1f2937;font-weight:500;border-right:1px solid #e5e7eb;word-wrap:break-word;white-space:normal}.task-name .meta{display:block;font-size:10px;color:#9ca3af;font-weight:400;margin-top:2px}.task-name .meta strong{color:#6b7280}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:16px;height:16px;border:2px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin .6s linear infinite;margin-right:8px;vertical-align:middle}.prio-badge{display:inline-block;font-size:9px;font-weight:700;padding:1px 6px;border-radius:3px;margin-right:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.3px}.prio-critica{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.prio-alta{background:#fff7ed;color:#ea580c;border:1px solid #fed7aa}.prio-media{background:#fefce8;color:#ca8a04;border:1px solid #fef08a}.prio-baixa{background:#f9fafb;color:#9ca3af;border:1px solid #e5e7eb}.badge-status{font-size:9px;padding:1px 5px;border-radius:3px;font-weight:600;margin-left:6px}.badge-atrasada{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.badge-concluida{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.badge-em-dia{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.badge-sem-data{background:#f9fafb;color:#9ca3af;border:1px solid #e5e7eb}.gantt-cell{padding:0;position:relative;min-height:34px;background:#fff;border-right:1px solid #f0f2f5}.gantt-cell.bg-alt{background:#fafbfc}.gantt-cell.weekend{background:#f8f9fb}.gantt-cell.bg-alt.weekend{background:#f5f6f8}.bar-wrap{position:absolute;top:5px;height:24px;border-radius:3px;min-width:4px;z-index:1;cursor:pointer}.bar-wrap .bar-progress{position:absolute;top:0;left:0;bottom:0;border-radius:3px;background:#ffffff40;z-index:0}.bar-kmind{background:#2563eb}.bar-vishop{background:#059669}.bar-taua{background:#7c3aed}.bar-taua-bl{background:#a78bfa}.bar-utrip{background:#d97706}.bar-estancorp{background:#9ca3af}.today-line{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;z-index:3;pointer-events:none}.today-line:before{content:"Hoje";position:absolute;top:-15px;left:-12px;font-size:8px;color:#ef4444;font-weight:700;white-space:nowrap}.bar-wrap .tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#1a1a2e;color:#fff;font-size:11px;padding:8px 12px;border-radius:6px;white-space:nowrap;z-index:10;box-shadow:0 4px 12px #0003;line-height:1.4;pointer-events:none}.bar-wrap .tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1a1a2e}.bar-wrap:hover .tooltip{display:block}
