/* V5 · Gantt profissional — alinhamento tabela/timeline, MS Project progress, freeze panes, bulk edit */
:root{--gantt-row-h:38px;--gantt-head-h:52px}
.gantt-pro-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;margin-bottom:7px;overflow:visible}
.gantt-tools-left,.gantt-tools-right{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.gantt-tools-right{justify-content:flex-end}.gantt-scale-control{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:0 7px;background:#fff;height:36px}.gantt-scale-control span{font-size:9px;font-weight:800;color:#607068;text-transform:uppercase}.gantt-scale-control select{border:0!important;background:transparent!important;height:32px!important;min-width:118px;padding:0 4px!important}.btn.active-soft{background:#eef8f2;border-color:#9bc7aa;color:#0e6037}.gantt-info-toolbar{min-height:34px;padding:5px 8px}
.gantt-shell{grid-template-columns:minmax(560px,48%) minmax(620px,52%);height:calc(100vh - 292px);min-height:480px;overflow:hidden;position:relative}.gantt-shell.no-timeline{grid-template-columns:1fr}.gantt-shell.no-timeline .gantt-table{border-right:0}.gantt-table,.gantt-timeline{height:100%;overflow:auto;scrollbar-width:thin}.gantt-table{position:relative;background:#fff}.gantt-timeline{position:relative;background:#fff}.gantt-timeline-inner{position:relative;min-width:100%;background:#fff}
.gantt-data-table{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:max-content;background:#fff}.gantt-data-table th,.gantt-data-table td{box-sizing:border-box;height:var(--gantt-row-h);padding:0 8px;border-right:1px solid #e3eae5;border-bottom:1px solid #e7ede9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--row-bg,#fff);vertical-align:middle;font-size:10px}.gantt-data-table thead th{height:var(--gantt-head-h);background:#f1f5f2;color:#33483e;text-transform:uppercase;letter-spacing:.035em;font-size:8px;font-weight:800;border-bottom:1px solid #cdd9d1}.gantt-data-table.header-pinned thead th{position:sticky;top:0;z-index:18}.gantt-data-table .gantt-freeze{position:sticky;left:var(--freeze-left);z-index:12;background:var(--row-bg,#fff)!important;box-shadow:1px 0 0 #cfdad3}.gantt-data-table thead .gantt-freeze{z-index:24;background:#eef3ef!important}.gantt-data-row:hover{--row-bg:#f5f9f6}.gantt-data-row.type-principal{font-weight:760}.gantt-data-row.type-marco{font-weight:700}.gantt-row-check,#ganttSelectAll{width:15px;height:15px;accent-color:#157142}.task-type-symbol{width:7px;height:7px;display:inline-block;flex:0 0 auto;margin-right:2px}.task-type-symbol.principal{border-radius:2px;background:#157142}.task-type-symbol.subtarefa{border:1px solid #7f9689;background:#fff}.task-type-symbol.marco{transform:rotate(45deg);background:#bf8525}.gantt-attachment{color:#315b48}.gantt-predecessors{font-size:9px;color:#52665c}
.gantt-header{height:var(--gantt-head-h);min-width:0;background:#f1f5f2;border-bottom:1px solid #cdd9d1;position:sticky;top:0;z-index:16}.gantt-major-row{position:absolute;left:0;right:0;top:0;height:25px;border-bottom:1px solid #d9e3dd}.gantt-minor-row{position:absolute;left:0;right:0;top:25px;height:27px}.gantt-major-label{position:absolute;top:0;height:25px;padding:5px 7px;border-left:1px solid #d7e1db;font-size:9px;font-weight:800;text-transform:uppercase;color:#41564b;overflow:hidden;white-space:nowrap}.gantt-axis-label{position:absolute;top:0;height:27px;padding:6px 5px;border-left:1px solid #e0e8e3;font-size:9px;color:#5f7067;transform:none;white-space:nowrap}.gantt-rows{position:relative;min-width:0}.gantt-row{position:absolute;left:0;right:0;border-bottom:1px solid #e7ede9;background:#fff}.gantt-row-summary{background:#f5f8f6}.gantt-row-milestone{background:#fffdf8}.gantt-gridline{border-left:1px solid #e6ece8}
/* MS Project-like visual: light planned task bar + dark progress overlay */
.gantt-ms-task{position:absolute;top:8px;height:22px;border:0;background:transparent;min-width:4px;padding:0;overflow:visible;cursor:pointer}.gantt-ms-task .planned-track{position:absolute;inset:3px 0;background:color-mix(in srgb,var(--task-color) 30%,white);border:1px solid color-mix(in srgb,var(--task-color) 68%,#20362a);border-radius:2px;box-shadow:0 1px 1px rgba(22,50,35,.06)}.gantt-ms-task .actual-track{position:absolute;left:0;top:7px;height:8px;background:color-mix(in srgb,var(--task-color) 72%,#16241d);border-radius:1px;max-width:100%;box-shadow:0 0 0 1px rgba(0,0,0,.05)}.gantt-ms-task .progress-pct{position:absolute;left:4px;top:3px;color:#fff;font-size:8px;line-height:16px;font-weight:800;text-shadow:0 1px 1px rgba(0,0,0,.35);z-index:2}.gantt-ms-task.inactive{opacity:.34;filter:grayscale(.3)}
.gantt-summary-bar{position:absolute;top:14px;height:10px;border:0;background:var(--task-color);min-width:6px;padding:0;cursor:pointer;border-radius:1px;box-shadow:0 1px 1px rgba(0,0,0,.08)}.gantt-summary-bar:before,.gantt-summary-bar:after{content:'';position:absolute;top:0;width:0;height:0;border-top:10px solid var(--task-color)}.gantt-summary-bar:before{left:0;border-right:7px solid transparent}.gantt-summary-bar:after{right:0;border-left:7px solid transparent}.gantt-summary-bar .summary-progress{position:absolute;left:0;bottom:0;height:3px;background:#101a15;max-width:100%;z-index:2}.gantt-ms-project-milestone{position:absolute;top:11px;width:16px;height:16px;border:0;background:transparent;padding:0;cursor:pointer;overflow:visible}.gantt-ms-project-milestone>i{display:block;width:13px;height:13px;background:var(--task-color);transform:rotate(45deg);border:1px solid color-mix(in srgb,var(--task-color) 60%,#1e3027);box-shadow:0 1px 2px rgba(0,0,0,.12)}.gantt-owner-label{position:absolute;left:calc(100% + 7px);top:50%;transform:translateY(-50%);font-size:9px;font-weight:650;color:#40564a;white-space:nowrap;pointer-events:none;background:rgba(255,255,255,.88);padding:1px 3px;border-radius:3px;z-index:4}.gantt-summary-bar .gantt-owner-label{top:5px}.gantt-ms-project-milestone .gantt-owner-label{top:8px;left:22px}
.gantt-dependency-layer{z-index:2}.gantt-dependency-layer path{stroke:#7f9187;stroke-width:1.05}.gantt-ms-task,.gantt-summary-bar,.gantt-ms-project-milestone{z-index:4}
.gantt-bulk-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:78px;z-index:45;width:min(1220px,calc(100vw - 36px));display:grid;grid-template-columns:130px 145px minmax(170px,1fr) 135px minmax(170px,1fr) minmax(170px,1fr) auto auto;gap:8px;align-items:end;padding:10px 12px;background:#fff;border:1px solid #bed1c5;border-radius:12px;box-shadow:0 12px 32px rgba(18,49,32,.18)}.gantt-bulk-bar label{font-size:8px;font-weight:800;color:#607068;text-transform:uppercase}.gantt-bulk-bar input,.gantt-bulk-bar select{width:100%;height:34px;margin-top:4px}.bulk-count{align-self:center}.bulk-count b{display:block;font-size:19px;color:#126b3d}.bulk-count span{display:block;font-size:8px;color:#68776f}.gantt-shell.bulk-active{padding-bottom:68px}
.gantt-layout-modal{width:min(760px,95vw)}.layout-switches{display:flex;gap:18px;flex-wrap:wrap;padding:8px 0 12px;border-bottom:1px solid var(--line)}.layout-switches label{font-size:10px;font-weight:700}.layout-column-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px;max-height:52vh;overflow:auto}.layout-column-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px;background:#fbfdfc}.layout-column-row label{font-size:9px;display:flex;align-items:center;gap:6px}.layout-column-row input[type=number]{width:72px;height:30px}.gantt-period-modal{width:min(720px,95vw)}.period-section{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px}.period-section h4{margin:0 0 10px;font-size:12px}.period-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:8px}.danger-zone{border-color:#ebc4be;background:#fffafa}.danger-zone .btn.danger{margin-top:8px}.btn.danger{border-color:#df8f84;color:#a83227;background:#fff}.btn.danger:hover{background:#fff0ed}
@media(max-width:1500px){.gantt-shell{grid-template-columns:minmax(500px,48%) minmax(560px,52%)}.gantt-bulk-bar{grid-template-columns:110px 135px 1fr 125px 1fr 1fr auto auto}}
@media(max-width:1100px){.gantt-pro-toolbar{align-items:flex-start;flex-direction:column}.gantt-tools-right{justify-content:flex-start}.gantt-shell{grid-template-columns:460px minmax(600px,1fr);height:calc(100vh - 330px)}.gantt-bulk-bar{grid-template-columns:repeat(3,1fr);bottom:84px}.bulk-count{grid-column:1/-1}.layout-column-list{grid-template-columns:1fr}}
@media(max-width:820px){.gantt-shell{grid-template-columns:380px minmax(620px,1fr);height:calc(100vh - 340px)}.gantt-shell.no-timeline{grid-template-columns:1fr}.gantt-bulk-bar{position:fixed;left:8px;right:8px;transform:none;width:auto;grid-template-columns:1fr 1fr;max-height:48vh;overflow:auto}.gantt-bulk-bar .btn{width:100%}.gantt-tools-left{width:100%}.gantt-tools-left .btn,.gantt-scale-control{flex:1 1 160px}.gantt-tools-right{font-size:8px}}
