.gantt-panel{margin-top:24px}.gantt-panel h2{margin:6px 0}.gantt-legend{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0;font-size:12px;color:var(--text-muted)}.gantt-legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:3px;background:var(--activity);margin-right:7px}.gantt-scroll{overflow:auto;max-height:680px;border:1px solid var(--border);border-radius:9px;position:relative;overscroll-behavior:contain}.gantt-row,.gantt-header{display:grid;grid-template-columns:310px minmax(960px,1fr);min-width:1270px}.gantt-header{position:sticky;top:0;z-index:5;background:#1b2838;height:38px;font-size:11px;color:var(--text-muted)}.gantt-header>strong{position:sticky;left:0;background:#1b2838;padding:12px;z-index:2}.gantt-months{display:grid;grid-template-columns:repeat(24,1fr);text-align:center;align-items:center}.gantt-row{min-height:57px;border-top:1px solid var(--border)}.gantt-label{position:sticky;left:0;z-index:3;background:var(--surface);padding:8px 8px 8px calc(8px + var(--level)*17px);display:flex;align-items:center;gap:5px;border-right:1px solid var(--border);min-width:0}.gantt-toggle,.gantt-leaf{width:23px;flex-shrink:0;text-align:center;color:var(--activity)}.gantt-toggle{background:transparent;border:0;cursor:pointer;font-size:19px;padding:4px 0}.gantt-name{border:0;background:none;color:var(--text);text-align:left;cursor:pointer;min-width:0;font:inherit}.gantt-name strong{font-size:12px;display:block}.gantt-name small{display:block;font-size:10px;color:var(--text-muted);margin-top:4px;line-height:1.3}.gantt-track{position:relative;display:grid;grid-template-columns:repeat(24,1fr);align-items:stretch}.gantt-cell{border-right:1px solid #263447}.gantt-focus-month{background:#263d3b66}.gantt-bar{position:absolute;top:13px;height:30px;border:1px solid var(--activity);border-radius:5px;background:color-mix(in srgb,var(--activity) 27%,#14212e);color:#f3f7fc;cursor:grab;touch-action:none;user-select:none;min-width:12px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;font-size:11px;text-align:left;overflow:hidden;white-space:nowrap}.gantt-bar:focus-visible,.gantt-name:focus-visible,.gantt-toggle:focus-visible{outline:2px solid white;outline-offset:2px}.gantt-bar:hover{filter:brightness(1.3)}.gantt-dragging{z-index:4;cursor:grabbing;box-shadow:0 3px 14px #0008}.gantt-muted .gantt-bar{background:transparent;border-style:dashed;color:#a6b6c9}.gantt-outside{border-style:dotted}.gantt-resize{position:absolute;right:0;top:0;height:100%;width:13px;display:grid;place-items:center;cursor:ew-resize;background:#ffffff18}.gantt-summary{font-size:12px;margin-top:16px;line-height:1.7;color:#a6e6d2}#gantt-status{min-height:24px;margin:12px 0 0}#gantt-dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:14px;padding:24px;width:min(520px,calc(100vw - 24px));max-height:90vh;overflow:auto;margin:auto}#gantt-dialog::backdrop{background:#050b16bc}#gantt-dialog fieldset{border:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}#gantt-dialog label{font-size:12px;color:var(--text-muted);display:flex;flex-direction:column;gap:8px}#gantt-dialog input{background:var(--surface2);color:var(--text);padding:10px;border:1px solid var(--border);border-radius:6px;width:100%}#gantt-dialog .gantt-check{flex-direction:row;align-items:center}#gantt-dialog input[type=checkbox]{width:auto}#gantt-edit-error{color:#ffa4aa;font-size:13px;margin-bottom:14px}@media(max-width:700px){.gantt-panel>.v4-titlebar{align-items:flex-start;flex-direction:column}.gantt-row,.gantt-header{grid-template-columns:205px 960px;min-width:1165px}.gantt-label{padding-left:calc(4px + var(--level)*9px)}.gantt-legend{gap:10px}.gantt-scroll{max-height:560px}#gantt-dialog fieldset{grid-template-columns:1fr}}

#gantt-dialog select{background:var(--surface2);color:var(--text);padding:10px;border:1px solid var(--border);border-radius:6px;max-width:100%}#gantt-dialog [hidden]{display:none!important}.gantt-owner-list{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}#gantt-owner-error{color:#ffa4aa;font-size:13px;margin:12px 0}

.gantt-flag{display:inline-block;width:22px;height:15px;vertical-align:middle;margin-right:7px;border-radius:2px;box-shadow:0 0 0 1px #ffffff24}
