.jg{--jg-row-height:76px;--jg-label:230px;--jg-date:86px;--jg-time:390px;color:var(--ink)}
.jg-toolbar,.jg-tools,.jg-caption,.jg-display-options{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.jg-toolbar{margin-bottom:16px}.jg-tabs{display:flex;gap:4px;flex-wrap:wrap}.jg-tab{display:flex;align-items:center;gap:9px;padding:10px 13px;background:transparent;border:0;border-radius:7px;color:#667087;font-size:12px;font-weight:500}.jg-tab b{font-size:11px;font-weight:600;background:#e9ecf3;padding:2px 6px;border-radius:4px;min-width:22px}.jg-tab[aria-pressed=true]{color:var(--purple-dark);background:#fff;box-shadow:0 1px 6px #26325113}.jg-tab[aria-pressed=true] b{background:var(--lavender);color:var(--purple)}.jg-tab[data-filter=late] b{color:#aa344d;background:#f9e8ed}.jg-tool-button,.jg-period-arrow{border:1px solid #dde1eb;border-radius:6px;color:#55617a;background:#fff;padding:8px 10px;font-size:11px;font-weight:500;min-height:34px}.jg-tool-button:hover,.jg-period-arrow:hover{border-color:#bba1d8;color:var(--purple)}.jg-period-arrow{font-size:19px;line-height:1;padding:4px 11px;min-width:33px}.jg-period{border-top:1px solid var(--border);padding:16px 0;margin:0;align-items:flex-end}.jg-period .field{margin:0;gap:6px;font-size:11px;min-width:0}.jg-period .field input,.jg-period .field select{min-height:35px;padding:8px 10px;font-size:12px}.jg-search{flex:1;max-width:285px}.jg-sector-filter{flex:1;max-width:200px}.jg-period-controls{display:flex;align-items:flex-end;gap:6px;margin-left:auto;flex-wrap:wrap}.jg-zoom{display:grid;gap:6px;font-size:11px;color:#616b83;margin-left:7px}.jg-zoom select{min-height:35px;border:1px solid #dce0e9;border-radius:6px;background:#fff;color:var(--ink);padding:7px;font-size:12px}.jg-caption{margin:9px 0 14px}.jg-caption>div:first-child{display:grid;gap:5px}.jg-caption strong{font-size:13px;letter-spacing:-.15px}.jg-caption span{font-size:11px;color:#707b90}.jg-toggle{display:flex;align-items:center;gap:7px;font-size:11px;color:#647087;min-height:30px}.jg-toggle input{accent-color:var(--purple)}.jg-display-options{gap:12px}.jg-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.jg-planning{min-width:0}
.jg-board{position:relative;border:1px solid var(--border);background:#fff;border-radius:10px;overflow:auto;max-height:735px;scrollbar-width:thin;scrollbar-color:#c6cbd8 #f5f6fa}.jg-chart{position:relative;min-width:calc(var(--jg-label) + var(--jg-date)*2 + var(--jg-time));isolation:isolate}.jg-row{display:grid;grid-template-columns:var(--jg-label) var(--jg-date) var(--jg-date) minmax(var(--jg-time),1fr);border-bottom:1px solid #edf0f5;min-height:var(--jg-row-height)}.jg-row:last-child{border:0}.jg-row.is-selected{background:#f7f3fc}.jg-row.is-selected .jg-name{box-shadow:inset 3px 0 var(--purple);background:#f3edfb}.jg-name{display:flex;gap:5px;padding:11px 9px 11px calc(8px + var(--jg-depth)*12px);align-items:center;min-width:0;border-right:1px solid var(--border);background:white;position:sticky;left:0;z-index:4}.jg-child-row .jg-name{background:#fbfbfe}.jg-expand{width:22px;min-height:34px;padding:0;border:0;background:transparent;flex-shrink:0;font-size:19px;color:#76608f}.jg-spacer{width:12px;flex-shrink:0;color:#9c8baf;font-size:11px}.jg-title{border:0;background:none;padding:0;min-width:0;flex:1;text-align:left;font-size:12px;font-weight:600;line-height:1.45;color:#26314a;overflow-wrap:anywhere}.jg-title:hover{color:var(--purple)}.jg-title small{display:block;font-size:10px;font-weight:400;color:#758098;margin-top:5px}.jg-percent{font-size:11px;color:#65718a;white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}.jg-date-cell,.jg-date-heading{display:flex;align-items:center;justify-content:center;padding:10px 7px;text-align:center;font-size:10px;color:#69758d;border-right:1px solid #edf0f5;line-height:1.65;font-variant-numeric:tabular-nums}.jg-date-cell.updated{color:var(--purple-dark);font-weight:600;background:#f9f6fd66}.jg-date-cell small{display:none}.jg-lane{position:relative;min-width:0;min-height:var(--jg-row-height);isolation:isolate}.jg-gridline{position:absolute;top:0;bottom:0;width:1px;background:#edf0f5;z-index:-1;pointer-events:none}.jg-row-status{position:absolute;left:9px;right:8px;top:7px;font-size:10px;color:#6f7a91;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.jg-row-status.late{color:#b13d53}
.jg-bar{position:absolute;top:31px;height:23px;min-width:3px;border:0;border-radius:4px;background:#e9e0f6;color:#503374;padding:0;overflow:hidden;z-index:2}.jg-bar>span{position:absolute;inset:0 auto 0 0;width:var(--jg-fill);background:#b797db;opacity:.66}.jg-bar b{position:relative;font-size:10px;font-weight:600;white-space:nowrap;padding:0 7px;display:block;overflow:hidden;text-overflow:ellipsis;text-align:left}.jg-bar.late{background:#f9e5ea;color:#9b3247}.jg-bar.late>span{background:#e4a2b1}.jg-bar.blocked{background:#f9ecd3;color:#96641c}.jg-bar.blocked>span{background:#e3bd7f}.jg-bar.done{background:#cbeadd;color:#17684c}.jg-bar.done>span{background:#86c8aa}.jg-bar.planned{background:#e8ecf5;color:#596987}.jg-bar.reported.planned{background:#e9e0f6;color:var(--purple-dark)}.jg-bar.unknown-progress{background-image:repeating-linear-gradient(135deg,transparent 0,transparent 5px,#ffffff70 5px,#ffffff70 8px)}.jg-bar.clipped-start{border-top-left-radius:0;border-bottom-left-radius:0}.jg-bar.clipped-end{border-top-right-radius:0;border-bottom-right-radius:0}.jg-initial{position:absolute;top:61px;height:3px;background:#aab2c4;border-radius:1px;min-width:2px}.jg-initial:after{content:'';position:absolute;right:0;top:-3px;height:9px;width:2px;background:#aab2c4}.jg-point{position:absolute;top:26px;transform:translateX(-50%);height:32px;width:32px;padding:10px;border:0;background:none;z-index:3;color:var(--purple)}.jg-point>span{display:block;width:12px;height:12px;background:currentColor;transform:rotate(45deg)}.jg-point.work>span{border-radius:50%;transform:none}.jg-point.done{color:var(--green)}.jg-point.late{color:var(--red)}.jg-initial-point{position:absolute;top:61px;width:8px;height:3px;background:#aab2c4;transform:translateX(-50%)}.jg-today{position:absolute;top:0;bottom:0;width:1px;background:#8c60bb99;pointer-events:none;z-index:3}.jg-outside,.jg-undated{position:absolute;top:32px;left:9px;right:9px;text-align:left;border:0;background:none;padding:0;color:#738096;font-size:11px;line-height:1.45}.jg-outside{text-decoration:underline;text-underline-offset:3px}
.jg-ruler{position:sticky;top:0;z-index:6;min-height:65px;background:#f7f8fc;border-bottom:1px solid var(--border)}.jg-name-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;font-weight:600;letter-spacing:.5px;padding:15px;border-right:1px solid var(--border);background:#f7f8fc;position:sticky;left:0;z-index:5;color:#68768e}.jg-date-heading{font-size:9px;font-weight:500}.jg-revised-heading{color:var(--purple)}.jg-ticks{position:relative;min-height:65px}.jg-calendar-months{position:relative;height:31px;border-bottom:1px solid var(--border)}.jg-calendar-months>span,.jg-calendar-ticks>span{position:absolute;top:0;bottom:0;border-left:1px solid var(--border);font-size:10px;padding:8px 6px;color:#586781;white-space:nowrap;overflow:hidden}.jg-calendar-months>span{font-weight:600}.jg-calendar-ticks{position:relative;height:33px}.jg-calendar-ticks>span{font-size:10px;color:#7a859a}.jg-today-label{position:absolute;bottom:0;transform:translateX(-50%);background:var(--purple);color:white;font-size:9px;padding:2px 5px;border-radius:3px;white-space:nowrap;z-index:6}.jg-sector-row{position:relative;background:#f3f5fa;border-bottom:1px solid #e7ebf3;z-index:1;min-height:38px}.jg-sector-row>button{display:flex;align-items:center;gap:10px;position:sticky;left:0;border:0;background:#f3f5fa;padding:10px 14px;font-size:11px;color:#354561;font-weight:650;max-width:100%;text-align:left}.jg-sector-row>button>span{color:#71809a;font-size:16px;line-height:1}.jg-sector-row small{font-size:10px;color:#788399;font-weight:400}.jg-dependencies{position:absolute;inset:0;z-index:1;pointer-events:none;color:#a0aabd}.jg-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:10px;color:#758097;margin:14px 0 0}.jg-legend span{display:flex;align-items:center;gap:5px}.jg-legend i{width:16px;height:7px;border-radius:2px;background:#b797db}.jg-legend i.initial{height:3px;background:#aab2c4}.jg-legend i.late{background:#e4a2b1}.jg-legend i.done{background:#86c8aa}.jg-note{font-size:11px;line-height:1.65;color:#738096;margin:10px 0}.jg-planning-note{max-width:790px;font-size:10px}
.jg-selection{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.jg-selection-main,.jg-selection-side,.jg-inspector-actions{padding:18px;min-width:0}.jg-selection .eyebrow{font-size:9px;letter-spacing:.9px;color:#8c78a7}.jg-selection h2{font-size:18px;letter-spacing:-.45px;line-height:1.4;margin:9px 0 6px;overflow-wrap:anywhere}.jg-owner{font-size:11px;color:#738096;line-height:1.65;overflow-wrap:anywhere}.jg-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}.jg-replanned{background:#efe7fa;color:var(--purple)}.jg-completion{display:flex;justify-content:space-between;gap:10px;color:#7c8499;font-size:11px;margin:17px 0 8px}.jg-completion strong{color:#354560;font-weight:600}.jg-progress{height:5px;border-radius:4px;background:#f0edf6;overflow:hidden}.jg-progress>i{display:block;height:100%;background:#9f7ac6}.jg-progress.late>i{background:#d78194}.jg-progress.done>i{background:#6cba98}.jg-facts{display:grid;grid-template-columns:1fr 1fr;gap:15px 10px;padding-top:14px;border-top:1px solid #edf0f5;margin:17px 0 14px}.jg-facts small{display:block;font-size:10px;color:#7b8598;margin-bottom:4px}.jg-facts strong{font-size:11px;font-weight:600}.jg-facts>div:nth-child(2) strong{color:var(--purple)}.jg-selection .actions{gap:7px;margin-top:15px;display:flex;flex-wrap:wrap}.jg-selection .btn{padding:8px 10px;font-size:10px;white-space:normal}.jg-selection .actions>.btn:first-child{flex:1}.jg-selection-side{background:#fcfaff;border-top:1px solid #ede7f5;border-bottom:1px solid #ede7f5}.jg-last-note{font-size:11px;line-height:1.8;margin-top:9px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:130px;overflow:auto}.jg-history{font-size:11px;margin-top:12px;line-height:1.7;overflow-wrap:anywhere}.jg-history summary{font-size:11px;color:var(--purple)}.jg-history article{padding:11px 0;border-bottom:1px solid var(--border)}.jg-history article p{white-space:pre-wrap}.jg-history small{font-size:10px;color:#7c879c}.jg-history>p{margin-top:12px}.jg-inspector-actions h3{font-size:12px;display:flex;gap:10px;justify-content:space-between}.jg-inspector-actions h3 small{font-size:10px;color:#8a94a6;font-weight:400;white-space:nowrap}.jg-work-link{display:block;border:0;border-bottom:1px solid #edf0f5;background:none;padding:12px 0;text-align:left;width:100%;color:var(--ink)}.jg-work-link strong{font-size:11px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}.jg-work-link small{display:block;font-size:10px;color:#7b869a;margin-top:3px}.jg-inspector-actions>.text-btn{font-size:11px;margin-top:12px;text-align:left}.jg-selection-empty{padding:20px;color:var(--muted);font-size:12px}.report-tag{color:var(--purple)!important}.date-compare:has(>div:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:1400px){.jg.has-inspector .jg-layout{grid-template-columns:minmax(0,1fr) 286px}#gantt-selection{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto;scrollbar-width:thin;scrollbar-color:#d4cada transparent}.jg.has-inspector{--jg-label:220px;--jg-date:80px}}
@media(max-width:1399px) and (min-width:761px){.jg-selection{display:grid;grid-template-columns:1fr 1fr}.jg-selection-main{grid-row:span 2}.jg-selection-side{border-left:1px solid #ede7f5}.jg-selection h2{font-size:20px}}
@media(max-width:760px){.jg-toolbar{align-items:flex-start;gap:8px}.jg-tabs{gap:3px}.jg-tab{padding:9px 8px;font-size:11px;gap:5px}.jg-tab b{font-size:10px;min-width:19px}.jg-toolbar>.jg-tool-button{font-size:10px}.jg-period{gap:10px}.jg-search,.jg-sector-filter{max-width:none;flex-basis:45%}.jg-period-controls{margin-left:0;width:100%}.jg-caption{align-items:flex-start;gap:10px}.jg-caption strong{font-size:12px}.jg-caption span{font-size:10px}.jg-display-options{width:100%;justify-content:space-between}.jg-chart{min-width:0}.jg-board{max-height:650px}.jg-row{grid-template-columns:1fr 1fr;min-height:0}.jg-name{grid-column:1/-1;position:static;border-right:0;padding-top:12px;padding-bottom:5px}.jg-title{font-size:13px}.jg-title small{font-size:11px}.jg-date-cell{display:block;text-align:left;border-right:0;padding:7px 13px}.jg-date-cell small{display:block;font-size:10px;font-weight:400;color:#7d8799;margin-bottom:2px}.jg-lane{grid-column:1/-1;min-height:74px;margin:0 13px}.jg-ruler{display:block;min-height:65px}.jg-name-heading,.jg-date-heading{display:none}.jg-ticks{margin:0 13px}.jg-calendar-months>span,.jg-calendar-ticks>span{padding-left:2px;font-size:9px}.jg-sector-row small{font-size:9px}.jg-sector-row>button{flex-wrap:wrap;gap:7px}.jg-selection-main,.jg-selection-side,.jg-inspector-actions{padding:17px}.jg-selection .btn{font-size:11px}.jg-dependencies{display:none}.date-compare:has(>div:nth-child(3)){grid-template-columns:1fr}.jg-legend{gap:10px}}
@media(pointer:coarse){.jg-expand,.jg-tool-button,.jg-period-arrow,.jg-tab{min-height:44px}.jg-point{height:44px;width:44px;padding:16px;top:20px}.jg-title{min-height:44px}.jg-toggle{min-height:44px}.jg-period select,.jg-period input{font-size:16px!important}}
@media print{.jg-toolbar,.jg-tools,.jg-display-options,#gantt-selection{display:none!important}.jg-layout{display:block!important}.jg-board{overflow:visible;max-height:none;border-radius:0}.jg-chart{min-width:0}.jg-row{grid-template-columns:24% 10% 10% 56%;break-inside:avoid}.jg-name,.jg-name-heading,.jg-ruler,.jg-sector-row>button{position:static}.jg-ruler{display:grid}.jg-name-heading,.jg-date-heading{display:flex}.jg-lane{min-height:76px;margin:0;grid-column:auto}.jg-name{grid-column:auto}.jg-sector-row{break-after:avoid}.jg-note{color:#52617b}.jg-bar,.jg-point,.jg-initial,.jg-today,.jg-sector-row{print-color-adjust:exact;-webkit-print-color-adjust:exact}.jg-dependencies{display:none}}
