/* Nova — a precise, bright lavender planning surface. */
:root{--gantt-purple:#ad8cfb;--gantt-name-width:300px}.workspace-title{letter-spacing:.3px;font-weight:650}
.shell.gantt-mode{height:100vh;min-height:600px;overflow:hidden}.gantt-mode .main{min-height:0;overflow:hidden}.gantt-mode .project-head{padding-top:20px;padding-bottom:16px}.gantt-mode .project-meta,.gantt-mode .project-desc{display:none}.gantt-mode .project-title-line h1{font-size:23px}.gantt-mode .project-heading{align-items:center}.gantt-mode .work-area{display:flex;flex-direction:column;flex:1;min-height:0;padding:0 18px 15px}.gantt-mode .view-tabs{flex-shrink:0}.gantt-toolbar{padding:12px 18px;gap:10px;flex-shrink:0;min-height:55px}.gantt-toolbar .btn{font-size:11px;min-height:28px;padding:5px 8px}.gantt-toolbar select{padding:5px 8px;font-size:11px;height:29px;background:#1b1c20;max-width:100px}.gantt-toolbar .icon-btn{width:26px;height:28px;font-size:19px;color:#c3b7de}.gantt-toolbar .icon-btn svg{width:15px;height:15px}.gantt-toolbar .search-inline input{width:110px;font-size:12px}.gantt-toolbar .search-inline{min-width:0}.gantt-toolbar .toolbar-group{gap:4px}.gantt-zoom{font-size:10px;color:#a5a3b3;min-width:35px;text-align:center;font-variant-numeric:tabular-nums}.gantt-toolbar-separator{width:1px;height:18px;background:#36343d;margin:0 4px}
.nova-gantt{display:flex;flex-direction:column;flex:1;min-height:0;position:relative;--gantt-name-width:300px;--gantt-row:44px;color:#fff}.gantt-scroll{overflow:auto;flex:1;min-height:260px;border:1px solid #303035;border-radius:9px;background:#111214;scrollbar-width:thin;scrollbar-color:#48454f #18181c;overscroll-behavior:contain}.gantt-canvas{display:flex;flex-direction:column;width:calc(var(--gantt-name-width) + var(--gantt-days-width));min-height:100%;position:relative}.gantt-head{flex-shrink:0;height:65px;display:flex;position:sticky;top:0;z-index:15;background:#17171b;border-bottom:1px solid #343239}.gantt-name-head{position:sticky;left:0;z-index:17;flex:0 0 var(--gantt-name-width);width:var(--gantt-name-width);height:65px;background:#18181c;display:flex;justify-content:space-between;align-items:center;padding:0 15px 0 20px;border-right:1px solid #3c3943;color:#bfbacb;font-size:12px}.gantt-name-head .icon-btn{width:25px;height:25px}.gantt-name-head svg{width:15px;height:15px}.gantt-calendar-head{flex-shrink:0;height:65px;position:relative;overflow:hidden}.gantt-months{height:27px;position:relative;border-bottom:1px solid #333038;font-size:11px;color:#cbc3db;text-transform:capitalize}.gantt-months>span{position:absolute;top:0;height:27px;display:flex;align-items:center;padding-left:12px;white-space:nowrap;overflow:hidden;border-right:1px solid #403946}.gantt-days{height:37px;position:relative;font-size:11px;color:#b9b2c7}.gantt-days>span{position:absolute;top:0;display:flex;align-items:center;justify-content:center;gap:5px;height:37px;border-right:1px solid #2b2931;overflow:hidden;white-space:nowrap;padding:0 2px}.gantt-days b{font-weight:500;color:#dfd8ed}.gantt-days small{font-size:9px;color:#a19aaa}.gantt-days .weekend{background:#ffffff04}.gantt-days .is-today{background:#7d456c26}.gantt-days .is-today b{color:#ffa7c0;font-weight:600}.gantt-body{position:relative;min-height:0;flex:1}.gantt-row{display:flex;height:44px;position:relative;border-bottom:1px solid #29272e}.gantt-name-cell{flex:0 0 var(--gantt-name-width);width:var(--gantt-name-width);min-width:0;display:flex;gap:8px;align-items:center;position:sticky;left:0;z-index:6;background:#151518;padding:0 12px;border-right:1px solid #3a3541}.gantt-task-name{padding:0;min-width:0;flex:1;text-align:left;font-size:13px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#f8f4ff;line-height:1.5}.gantt-task-name:hover{color:#c7abff}.gantt-row .avatar{border:1px solid #48404d;height:20px;width:20px;font-size:8px;flex-shrink:0}.gantt-row .status-ring{width:12px;height:12px}.gantt-row-indent{width:13px;flex-shrink:0}.gantt-row:hover .gantt-name-cell{background:#201d27}.gantt-row:hover .gantt-lane{background:#bca5f505}.gantt-lane{position:relative;width:var(--gantt-days-width);flex-shrink:0;height:43px}.gantt-grid{position:absolute;top:0;bottom:0;left:var(--gantt-name-width);pointer-events:none;overflow:hidden;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--gantt-day-width) - 1px),#a998cc12 calc(var(--gantt-day-width) - 1px),#a998cc12 var(--gantt-day-width))}.gantt-weekend{position:absolute;top:0;bottom:0;background:#d0bfed04;border-left:1px solid #a998cc08}.gantt-today-line{position:absolute;top:0;bottom:0;border-left:1px solid #ff94adba;z-index:2}.gantt-today-line:before{content:'';position:absolute;top:0;left:-3px;width:5px;height:5px;background:#ff94ad;border-radius:50%}.gantt-today-line>span{position:absolute;top:7px;left:5px;color:#f3a1b5;font-size:9px;display:none}.gantt-project-row .gantt-name-cell{background:#19171e;font-size:13px}.gantt-project-row strong{font-weight:550;flex:1}.gantt-project-row .project-symbol{width:22px;height:22px;background:#30263f!important;color:#c8affc!important}.gantt-project-row .project-symbol svg{width:13px;height:13px}.gantt-collapse{width:16px;height:25px;padding:0;color:#b3a8c6;flex-shrink:0}.gantt-collapse svg{width:12px;height:12px}.gantt-task-count{font-size:10px;color:#aaa1b8}.gantt-project-bar{position:absolute;top:19px;height:6px;background:#b3e0a3;border-radius:4px;box-shadow:0 0 12px #b3e0a315}.gantt-project-bar:before,.gantt-project-bar:after{content:'';position:absolute;top:1px;width:3px;height:10px;background:#b3e0a3;border-radius:2px}.gantt-project-bar:before{left:0}.gantt-project-bar:after{right:0}
.gantt-bar{position:absolute;top:9px;height:27px;border-radius:6px;background:#ad8cfb;border:1px solid #c2a9ff;box-shadow:0 1px 6px #0004;display:flex;align-items:stretch;z-index:4;touch-action:none;min-width:3px;color:#211432;transition:box-shadow .12s}.gantt-bar:hover,.gantt-bar:focus-within{background:#bea3ff;border-color:#e0d1ff;box-shadow:0 0 0 2px #aa86f42e}.gantt-bar.completed{background:#6cc5a4;border-color:#96d6bd;color:#14372d}.gantt-bar.completed:hover{background:#8bd9ba}.gantt-bar.blocked{background:#e19cbe;border-color:#f6bdd9;color:#3e1830}.gantt-bar-body{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;min-width:0;padding:0 7px;cursor:grab;font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;color:inherit}.gantt-bar-body svg{width:12px;height:12px}.gantt-bar-title{position:absolute;left:100%;top:3px;padding-left:9px;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:#eee8fa;line-height:20px;pointer-events:none;font-weight:400}.gantt-bar.completed .gantt-bar-title{color:#c8d7d1}.gantt-handle{width:7px;flex:0 0 7px;padding:0;cursor:ew-resize;background:transparent;position:relative;z-index:2;border-radius:5px}.gantt-handle:after{content:'';width:2px;height:12px;position:absolute;top:6px;left:2px;background:#38234b66;border-radius:2px;opacity:0}.gantt-bar:hover .gantt-handle:after,.gantt-bar:focus-within .gantt-handle:after{opacity:1}.gantt-handle:focus-visible{outline:2px solid #fff;outline-offset:1px}.gantt-bar.is-dragging{z-index:12;background:#c5afff;box-shadow:0 3px 20px #b68af44d;border-color:#eee1ff}.gantt-dragging,.gantt-dragging *{user-select:none!important}.gantt-dragging .gantt-bar-body{cursor:grabbing}.gantt-links{position:absolute;top:0;left:var(--gantt-name-width);overflow:visible;pointer-events:none;z-index:2}.gantt-links>path{fill:none;stroke:#c0b2e8;stroke-width:1.3;opacity:.7;stroke-linejoin:round}.gantt-links>path.conflict{stroke:#f0a3ae;stroke-dasharray:3 3;opacity:.8}.gantt-add-row .btn{padding:0 0 0 25px;font-size:12px;color:#ada1bc;min-height:30px}.gantt-add-row .btn:hover{color:#dfcefc;background:transparent}.gantt-add-row .btn svg{width:13px;height:13px}.gantt-unscheduled{display:flex;align-items:center;gap:5px;margin:10px 13px;padding:4px 9px;border:1px dashed #4d435d;border-radius:5px;color:#c5b4e0;font-size:11px;background:#241e2d;line-height:1.2}.gantt-unscheduled svg{width:12px;height:12px}.gantt-unscheduled:hover{background:#342a45;border-color:#a785d2}.gantt-footer{display:flex;justify-content:space-between;gap:10px;flex-shrink:0;padding:13px 2px 0;font-size:10px;color:#ada3ba;line-height:1.6}.gantt-footer>span{display:flex;gap:5px;align-items:center}.gantt-footer svg{height:12px;width:12px}.gantt-drag-tooltip{position:fixed;z-index:90;background:#30213f;border:1px solid #ad8cfb;color:#f7f0ff;padding:9px 12px;border-radius:7px;font-size:12px;box-shadow:0 4px 24px #0006;pointer-events:none;display:none;white-space:nowrap}.gantt-drag-tooltip.visible{display:block}
@media(min-width:1600px){.nova-gantt{--gantt-name-width:340px}.gantt-mode .work-area{padding:0 24px 18px}.gantt-toolbar{padding:13px 24px}.gantt-toolbar .btn{font-size:12px}.gantt-task-name{font-size:14px}.gantt-bar-title{font-size:13px}}
@media(max-width:1100px){.nova-gantt{--gantt-name-width:260px}.gantt-toolbar{flex-wrap:wrap}.gantt-toolbar .search-inline input{width:115px}.gantt-footer{flex-wrap:wrap}.gantt-task-name{font-size:12px}.gantt-mode .project-head{padding-top:15px;padding-bottom:13px}.gantt-mode .project-heading .btn.ghost{display:none}}
@media(max-width:650px){.nova-gantt{--gantt-name-width:185px}.gantt-mode .work-area{padding:0 9px 10px}.gantt-mode .project-title-line h1{font-size:20px}.gantt-toolbar{padding:10px;gap:8px}.gantt-toolbar>.toolbar-group:last-child{justify-content:flex-start}.gantt-toolbar .btn{font-size:10px;padding:5px 6px}.gantt-toolbar .search-inline{display:none}.gantt-row .avatar{display:none}.gantt-row-indent{width:0}.gantt-name-cell{padding:0 9px;gap:6px}.gantt-task-name{font-size:12px}.gantt-name-head{padding-left:14px;font-size:11px}.gantt-project-row strong{font-size:12px}.gantt-project-row .project-symbol{display:none}.gantt-footer{font-size:9px}.gantt-footer>span:last-child{display:none}.gantt-mode .project-head{padding:15px}.gantt-mode .project-heading{flex-wrap:nowrap}.gantt-mode .project-heading>.row{display:flex}.gantt-mode .project-heading>.row .primary{font-size:11px}.shell.gantt-mode{min-height:500px}}

.gantt-months>span{gap:9px}.gantt-months b{font-size:10px;color:#e3d5ff;font-weight:600}.gantt-months>span>span{font-size:10px;color:#c2b7ce;overflow:hidden;text-overflow:ellipsis}.gantt-today-line>span{display:none}

.gantt-monthline{position:absolute;top:0;bottom:0;border-left:1px solid #c5b5e52b;pointer-events:none}.gantt-days>span{text-transform:capitalize}.gantt-toolbar select{max-width:136px}
.gantt-weekend{background:repeating-linear-gradient(135deg,#bba9da0d 0,#bba9da0d 1px,transparent 1px,transparent 5px),#c4b3df05}.gantt-handle{width:min(7px,25%);flex:0 0 min(7px,25%)}.gantt-bar.compact .gantt-bar-body{padding:0}.gantt-bar.compact .gantt-bar-body>*{display:none}.gantt-bar.compact .gantt-handle:after{display:none}
