/* Procurement schedule: fixed labels, distinct date lanes, restrained navy palette. */
.gantt-workspace{background:#fff;color:#263b56;position:relative;min-width:0}
.gantt-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:22px 22px 19px}
.gantt-eyebrow{font-size:10px;letter-spacing:1.7px;color:#8493a6;font-weight:600}.gantt-heading h2{font-size:20px;line-height:1.6;font-weight:600;letter-spacing:-.4px;margin:4px 0 0}.gantt-heading h2>span{display:block;font-size:11px;color:#7c8ba0;font-weight:400;letter-spacing:.3px}
.gantt-summary{display:flex;gap:27px}.gantt-summary>span{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#7b899c}.gantt-summary b{font-size:24px;font-weight:550;font-variant-numeric:tabular-nums;line-height:1.2;color:#2d4667}.gantt-summary b small{font-size:12px;color:#8e9caf;font-weight:400}.gantt-summary .has-risk b{color:#b2713e}
.gantt-controls{display:flex;align-items:center;gap:16px;padding:12px 22px;background:#fafbfd;border-block:1px solid #e5ebf3;flex-wrap:wrap}
.gantt-controls button,.gantt-controls select{font-size:11px;min-height:32px;padding:6px 10px;border:1px solid #dce4ef;border-radius:5px;background:#fff;color:#47617e;box-shadow:none;width:auto;line-height:1.5}
.gantt-controls button:hover{background:#eaf0f8;border-color:#9db3d0}.gantt-controls button:focus-visible,.gantt-controls select:focus-visible,.gantt-scroll:focus-visible{outline:2px solid #4382bd;outline-offset:-2px}
.gantt-segments{display:flex;gap:2px;background:#eaf0f7;border:1px solid #e1e8f1;border-radius:6px;padding:2px}.gantt-segments button{min-width:45px;border:0;background:transparent;min-height:27px;padding:4px 12px}.gantt-segments button[aria-pressed=true]{background:#294d77;color:white;box-shadow:0 1px 3px #233c5d1a}
.gantt-focus-label{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:400;margin:0;color:#7b8ba1}.gantt-controls-end{display:flex;gap:6px;align-items:center;margin-left:auto}.gantt-controls #gorder{min-width:31px}.gantt-controls #gexpand{color:#294d77}
.gantt-legend{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:13px 22px;font-size:10px;color:#72839a}.gantt-legend>span{display:inline-flex;align-items:center;gap:7px}.gantt-legend i{display:inline-block;width:20px;height:5px;border-radius:3px;background:var(--lane-color)}.gantt-legend i.plan{height:0;border-top:2px dashed var(--lane-color);background:none;border-radius:0}.gantt-legend i.actual{width:7px;height:7px;border-radius:1px;transform:rotate(45deg);margin-inline:6px}.gantt-legend i.mixed{background:repeating-linear-gradient(90deg,var(--lane-color) 0 4px,transparent 4px 7px)}.gantt-legend-today{margin-left:auto}.gantt-legend-today i{width:0;height:11px;border-left:1px dashed #b37741;border-radius:0}
.gantt-scroll{overflow:auto;max-height:62vh;cursor:grab;border-top:1px solid #dfe7f0;background:white;scrollbar-width:thin;scrollbar-color:#becbdd #f3f6fa;overscroll-behavior-x:contain;position:relative}.gantt-scroll.panning{cursor:grabbing;user-select:none}
.gantt-canvas{position:relative;width:max-content;min-width:100%}.gantt-axis,.gantt-row{display:flex;align-items:stretch;width:max-content;min-width:100%}.gantt-axis{position:sticky;top:0;z-index:5;background:#f4f7fb;border-bottom:1px solid #dbe4ef;cursor:default}.gantt-axis>svg{flex-shrink:0;font:11px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;fill:#6b7d94}.gantt-axis .gantt-year{font-size:10px;font-weight:600;fill:#536b89;letter-spacing:1px}.gantt-axis .gantt-week{font-size:9px;fill:#8c9aab}.gantt-axis .gantt-today-label{fill:white;font-size:9px;font-weight:500}
.gantt-name{position:sticky;left:0;flex:0 0 var(--gantt-label-width,310px);width:var(--gantt-label-width,310px);background:#fff;border-right:1px solid #dce5ef;z-index:2;box-shadow:5px 0 9px -8px #274969;display:flex;overflow:hidden;padding:0}
.gantt-axis .gantt-name{background:#f0f4f9;z-index:6;padding:10px 16px;flex-direction:column;justify-content:center;gap:4px}.gantt-axis .gantt-name strong{font-size:11px;font-weight:600}.gantt-axis .gantt-name small{font-size:9px;color:#8d9bb0}.gantt-row{border-bottom:1px solid #e8edf4}.gantt-row:hover .gantt-name{background:#f5f8fc}.gantt-row:hover .gantt-track{filter:brightness(.986)}
.gantt-package{min-width:0;flex:1;padding:10px 12px 8px 16px}.gantt-package-meta{display:flex;align-items:center;gap:7px;height:16px;margin-bottom:3px}.gantt-code{font-size:10px;font-weight:600;color:#68809d;font-variant-numeric:tabular-nums;letter-spacing:.3px}.gantt-title{display:block;width:100%;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:transparent;border:0;padding:0!important;margin:0;color:#2c425f;font-size:12px;font-weight:550;line-height:1.8;border-radius:2px;box-shadow:none;cursor:pointer}.gantt-title:hover{background:none!important;color:#226ca9;text-decoration:underline}.gantt-title:focus-visible{outline:2px solid #4382bd}.gantt-package-status{display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px;color:#8b98a9;font-size:9px;line-height:1.5}
.gantt-variance{border-radius:3px;padding:1px 5px;font-size:9px;line-height:14px;white-space:nowrap;font-weight:400}.gantt-variance.late{color:#a46330;background:#faf0e4}.gantt-variance.early,.gantt-variance.ontime{color:#428373;background:#eaf5f0}.gantt-variance.unknown{color:#98a4b4;background:#f3f5f8}.gantt-warning{display:inline-flex;justify-content:center;align-items:center;border:1px solid #d8ac7c;color:#ab743c;border-radius:50%;width:13px;height:13px;font-size:9px;font-weight:700;margin-left:auto;flex-shrink:0}
.gantt-lane-labels{display:flex;flex-direction:column;justify-content:flex-start;gap:0;width:53px;flex-shrink:0;padding-top:11px;border-left:1px solid #eff2f6;margin-left:2px}.gantt-lane-labels span{display:flex;align-items:center;justify-content:center;height:22px;font-size:9px;opacity:.85;white-space:nowrap}.gantt-track{flex-shrink:0}.gantt-point{cursor:pointer;outline:none}.gantt-hit{stroke:transparent;stroke-width:1.5}.gantt-point:hover .gantt-hit,.gantt-point:focus .gantt-hit{stroke:#567da9;fill:#386da914}.gantt-cluster-count{font:9px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;fill:white;font-weight:600;pointer-events:none}.gantt-date-label{font:10px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.gantt-no-dates{font:11px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;fill:#98a6b8}
.gantt-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:12px 22px;border-top:1px solid #dfe7f0;font-size:10px;color:#8a98ab;background:#fafbfd}.gantt-footer>span{flex-shrink:0;padding-top:2px}.gantt-footer details{max-width:560px}.gantt-footer summary{cursor:pointer;text-align:right;color:#617a99}.gantt-footer p{line-height:1.8;margin:10px 0 0}.gantt-empty{padding:64px 24px;text-align:center;color:#7c8da2;font-size:13px}
.gantt-tooltip{position:fixed;z-index:1000;background:#fff;color:#344c69;border:1px solid #d5e0ed;box-shadow:0 8px 30px #21395926;border-radius:8px;padding:14px 16px;width:290px;max-width:calc(100vw - 16px);max-height:70vh;overflow:auto;pointer-events:none;font-size:11px;line-height:1.7}.gantt-tooltip[hidden]{display:none}.gantt-tooltip>strong{font-size:12px;display:block;line-height:1.5}.gantt-tip-stage{font-size:10px;color:#6e84a0;border-top:1px solid #edf1f6;padding-top:7px;margin-top:8px}.gantt-tip-date{display:flex;justify-content:space-between;gap:10px}.gantt-tip-date span{display:flex;gap:7px;align-items:center}.gantt-tip-date i{width:5px;height:5px;border-radius:50%}.gantt-tip-date b{font-weight:500;font-variant-numeric:tabular-nums}.gantt-tooltip>small{display:block;margin-top:10px;color:#96a3b4;font-size:9px}
.gantt-expanded{position:fixed;inset:20px;z-index:70;border:1px solid #d3dfed;border-radius:10px;box-shadow:0 0 0 25px #233a5780,0 15px 70px #21334a40;display:flex;flex-direction:column;overflow:hidden}.gantt-expanded #ganttmain,.gantt-expanded .gantt-view{min-height:0;display:flex;flex-direction:column;flex:1}.gantt-expanded .gantt-scroll{max-height:none;flex:1}.gantt-expanded .gantt-footer{flex-shrink:0}.gantt-expanded .gantt-heading{padding-top:18px;padding-bottom:14px}
.dashboard-card[data-card="procurement-gantt"]{grid-column:1/-1}.gantt-compact{max-height:400px}.gantt-compact .gantt-package{padding-top:12px}.gantt-compact .gantt-lane-labels{padding-top:6px}.gantt-compact .gantt-lane-labels span{height:20px}.gantt-preview .gantt-legend{padding:8px 0 14px}#openfullgantt{margin-top:16px}
.template-download{display:inline-block;padding:10px 15px;border:1px solid var(--line);border-radius:7px;background:white;font-size:14px}
@media(max-width:1100px){.gantt-heading{padding:18px 16px;gap:16px}.gantt-summary{gap:18px}.gantt-controls{gap:9px;padding:10px 16px}.gantt-focus-label>span{display:none}.gantt-controls-end{flex-wrap:wrap}.gantt-controls button,.gantt-controls select{font-size:10px;padding:6px 8px}}
@media(max-width:680px){.gantt-heading{align-items:flex-start;flex-direction:column;gap:16px}.gantt-heading h2{font-size:18px}.gantt-heading h2>span{display:inline-block;margin-left:12px;font-size:10px}.gantt-summary{width:100%;gap:24px}.gantt-summary b{font-size:21px}.gantt-controls-end{width:100%;margin-left:0}.gantt-controls-end #gexpand{margin-left:auto}.gantt-legend{gap:13px;padding:12px 14px}.gantt-legend-today{margin-left:0}.gantt-package{padding-left:10px;padding-right:7px}.gantt-lane-labels{width:43px}.gantt-title{font-size:11px}.gantt-footer{padding:12px 14px;gap:10px}.gantt-footer>span{flex-shrink:1;line-height:1.7}.gantt-expanded{inset:6px}.gantt-expanded .gantt-heading{padding:12px;gap:8px}.gantt-expanded .gantt-summary{gap:24px}.gantt-expanded .gantt-summary b{font-size:18px}.gantt-expanded .gantt-scroll{min-height:120px}}
@media(pointer:coarse){.gantt-controls button,.gantt-controls select{min-height:40px}.gantt-title{min-height:25px}}

/* Colors and sizes are stylesheet-based to comply with the site's strict CSP. */
.gantt-view{--gantt-label-width:310px}.gantt-view.gantt-narrow{--gantt-label-width:190px}
.gantt-axis{height:58px}.gantt-week-view .gantt-axis{height:72px}
.gantt-row{height:88px}.gantt-compact .gantt-row{height:72px}
.gantt-legend .plan{--lane-color:#91a2b9}.gantt-legend .forecast{--lane-color:#3878b8}.gantt-legend .actual{--lane-color:#238571}.gantt-legend .mixed{--lane-color:#8971b1}
.gantt-lane-labels .lane-plan{color:#7c8da4}.gantt-lane-labels .lane-forecast{color:#3878b8}.gantt-lane-labels .lane-actual{color:#238571}.gantt-lane-labels .lane-mixed{color:#8971b1}
.gantt-tip-date i.plan{background:#91a2b9}.gantt-tip-date i.forecast{background:#3878b8}.gantt-tip-date i.actual{background:#238571}.gantt-tip-date i.mixed{background:#8971b1}
.gantt-legend{font-size:11px}.gantt-title{font-size:13px}.gantt-code{font-size:11px}.gantt-package-status{font-size:10px}.gantt-controls button,.gantt-controls select{font-size:12px}
@media(max-width:680px){.gantt-title{font-size:11px}.gantt-controls button,.gantt-controls select{font-size:11px}.gantt-package-status{font-size:9px}}

.gantt-narrow .gantt-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;overflow:hidden;font-size:11px}
.gantt-narrow .gantt-package-status{font-size:9px}.gantt-narrow .gantt-lane-labels{width:40px}.gantt-narrow .gantt-package{padding-left:9px;padding-right:6px}
