:root{--rmg-white:#fff;--rmg-black:#000;--rmg-gray-50:#f9fafb;--rmg-gray-100:#f3f4f6;--rmg-gray-200:#e5e7eb;--rmg-gray-300:#d1d5db;--rmg-gray-400:#9ca3af;--rmg-gray-500:#6b7280;--rmg-gray-600:#4b5563;--rmg-gray-700:#374151;--rmg-gray-800:#1f2937;--rmg-gray-900:#111827;--rmg-blue-50:#eff6ff;--rmg-blue-100:#dbeafe;--rmg-blue-500:#3b82f6;--rmg-blue-600:#2563eb;--rmg-blue-700:#1d4ed8;--rmg-red-500:#ef4444;--rmg-indigo-500:#6366f1;--rmg-indigo-600:#4f46e5;--rmg-bg-color:var(--rmg-white);--rmg-text-color:var(--rmg-gray-800);--rmg-border-color:var(--rmg-gray-200);--rmg-highlight-color:var(--rmg-blue-50);--rmg-marker-color:var(--rmg-red-500);--rmg-task-color:var(--rmg-blue-500);--rmg-task-text-color:var(--rmg-white);--rmg-tooltip-bg:var(--rmg-white);--rmg-tooltip-text:var(--rmg-gray-800);--rmg-tooltip-border:var(--rmg-gray-200);--rmg-resize-handle-bg:hsla(0,0%,100%,.3);--rmg-progress-bg:rgba(0,0,0,.2);--rmg-progress-fill:var(--rmg-white);--rmg-shadow-color:rgba(0,0,0,.1);--rmg-shadow-hover:rgba(0,0,0,.2);--rmg-shadow-drag:rgba(0,0,0,.3);--rmg-scrollbar-track:rgba(229,231,235,.3);--rmg-scrollbar-thumb:rgba(156,163,175,.5);--rmg-scrollbar-thumb-hover:hsla(220,9%,46%,.7);--rmg-scrollbar-size:8px;--rmg-animation-speed:0.25;--rmg-transition-fast:150ms ease;--rmg-transition-normal:250ms ease;--rmg-row-height:40px;--rmg-header-height:40px;--rmg-task-height:32px;--rmg-border-radius:8px;--rmg-task-border-radius:4px}.rmg-dark{--rmg-bg-color:var(--rmg-gray-800);--rmg-text-color:var(--rmg-gray-100);--rmg-border-color:var(--rmg-gray-700);--rmg-highlight-color:var(--rmg-gray-700);--rmg-task-color:var(--rmg-indigo-600);--rmg-tooltip-bg:var(--rmg-gray-800);--rmg-tooltip-text:var(--rmg-gray-100);--rmg-tooltip-border:var(--rmg-gray-700);--rmg-resize-handle-bg:hsla(0,0%,100%,.4);--rmg-progress-bg:hsla(0,0%,100%,.3);--rmg-progress-fill:var(--rmg-gray-200);--rmg-shadow-color:rgba(0,0,0,.3);--rmg-shadow-hover:rgba(0,0,0,.4);--rmg-shadow-drag:rgba(0,0,0,.5);--rmg-scrollbar-track:rgba(55,65,81,.3);--rmg-scrollbar-thumb:rgba(75,85,99,.5);--rmg-scrollbar-thumb-hover:hsla(220,9%,46%,.7)}.rmg-gantt-chart{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--rmg-bg-color);border:1px solid var(--rmg-border-color);border-radius:var(--rmg-border-radius);box-shadow:0 1px 3px 0 var(--rmg-shadow-color),0 1px 2px 0 var(--rmg-shadow-color);color:var(--rmg-text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;overflow:hidden;width:100%}.rmg-container{display:flex;overflow:auto;position:relative}.rmg-header{background-color:var(--rmg-bg-color);border-bottom:1px solid var(--rmg-border-color);padding:16px 24px}.rmg-header-content{align-items:center;display:flex;justify-content:space-between}.rmg-title{color:var(--rmg-text-color);font-size:1.5rem;font-weight:700;margin:0}.rmg-view-mode-wrapper{align-items:center;display:flex}.rmg-task-list{background-color:var(--rmg-bg-color);border-right:1px solid var(--rmg-border-color);flex-shrink:0;left:0;position:sticky;width:160px;z-index:200}.rmg-task-list-header{align-items:center;background-color:var(--rmg-bg-color);border-bottom:1px solid var(--rmg-border-color);box-sizing:border-box;display:flex;font-weight:600;height:calc(var(--rmg-header-height) + 1px);padding:8px;position:relative;transition:height .2s ease;will-change:transform;z-index:201}.rmg-gantt-chart[data-view-mode=day] .rmg-task-list-header[data-show-timeline-header=true],.rmg-gantt-chart[data-view-mode=hour] .rmg-task-list-header[data-show-timeline-header=true],.rmg-gantt-chart[data-view-mode=minute] .rmg-task-list-header[data-show-timeline-header=true],.rmg-gantt-chart[data-view-mode=week] .rmg-task-list-header[data-show-timeline-header=true]{height:calc(var(--rmg-header-height)*2 + 2px)}.rmg-gantt-chart[data-view-mode=day] .rmg-task-list-header[data-show-timeline-header=false],.rmg-gantt-chart[data-view-mode=hour] .rmg-task-list-header[data-show-timeline-header=false],.rmg-gantt-chart[data-view-mode=minute] .rmg-task-list-header[data-show-timeline-header=false],.rmg-gantt-chart[data-view-mode=week] .rmg-task-list-header[data-show-timeline-header=false]{height:calc(var(--rmg-header-height) + 1px)}.rmg-task-group{background-color:var(--rmg-bg-color);border-bottom:1px solid var(--rmg-border-color);cursor:pointer;padding:8px;position:relative;transition:background-color .15s ease;z-index:200}.rmg-task-group:hover{background-color:rgba(0,0,0,.05)}.rmg-dark .rmg-task-group:hover{background-color:hsla(0,0%,100%,.05)}.rmg-task-group-name{font-weight:500}.rmg-task-group-description,.rmg-task-group-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rmg-task-group-description{color:var(--rmg-gray-500);font-size:.75rem;margin-top:4px}.rmg-dark .rmg-task-group-description{color:var(--rmg-gray-400)}.rmg-timeline-container{background-color:var(--rmg-bg-color);flex-grow:1;position:relative}.rmg-timeline,.rmg-timeline-content{min-width:-moz-max-content;min-width:max-content}.rmg-timeline-content{position:relative}.rmg-timeline-header,.rmg-timeline-header-higher{background-color:var(--rmg-bg-color);border-bottom:1px solid var(--rmg-border-color);display:flex;min-height:var(--rmg-header-height);position:relative;will-change:transform;z-index:100}.rmg-timeline-header-higher{z-index:101}.rmg-timeline-unit{align-items:center;border-right:1px solid var(--rmg-border-color);box-sizing:border-box;display:flex;flex-shrink:0;font-weight:600;height:var(--rmg-header-height);justify-content:center;padding:8px 4px;text-align:center}.rmg-timeline-unit:last-child{border-right:none}.rmg-timeline-unit-current{background-color:var(--rmg-highlight-color)}.rmg-timeline-grid{min-width:-moz-max-content;min-width:max-content;position:relative}.rmg-timeline-grid[data-view-mode=hour],.rmg-timeline-grid[data-view-mode=minute]{background-image:repeating-linear-gradient(to right,transparent,transparent calc(var(--gantt-unit-width) - 1px),var(--rmg-border-color) calc(var(--gantt-unit-width) - 1px),var(--rmg-border-color) var(--gantt-unit-width))}.rmg-task-row{background-color:var(--rmg-bg-color);border-bottom:1px solid var(--rmg-border-color);box-sizing:border-box;min-height:var(--rmg-row-height);min-width:100%;position:relative}.rmg-timeline[data-view-mode=hour] .rmg-timeline-unit,.rmg-timeline[data-view-mode=minute] .rmg-timeline-unit{border-right:1px dotted var(--rmg-border-color);font-size:.7rem;padding:4px 2px}.rmg-timeline[data-view-mode=hour] .rmg-timeline-header-higher .rmg-timeline-unit,.rmg-timeline[data-view-mode=minute] .rmg-timeline-header-higher .rmg-timeline-unit{background-color:rgba(0,0,0,.02);font-weight:600}.rmg-dark .rmg-timeline[data-view-mode=hour] .rmg-timeline-header-higher .rmg-timeline-unit,.rmg-dark .rmg-timeline[data-view-mode=minute] .rmg-timeline-header-higher .rmg-timeline-unit{background-color:hsla(0,0%,100%,.02)}.rmg-timeline[data-view-mode=hour] .rmg-timeline-unit-current,.rmg-timeline[data-view-mode=minute] .rmg-timeline-unit-current{background-color:var(--rmg-highlight-color);font-weight:700}.rmg-timeline-grid[data-view-mode=hour] .rmg-task-item,.rmg-timeline-grid[data-view-mode=minute] .rmg-task-item{font-size:.75rem;height:28px}.rmg-task-item{align-items:center;background-color:var(--rmg-task-color);border-radius:var(--rmg-task-border-radius);box-shadow:0 1px 2px var(--rmg-shadow-color);box-sizing:border-box;color:var(--rmg-task-text-color);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;height:var(--rmg-task-height);min-width:20px;overflow:hidden;padding:0 8px;position:absolute;transition:transform .15s ease,box-shadow .15s ease;z-index:1}.rmg-task-item:hover{box-shadow:0 3px 6px var(--rmg-shadow-hover);transform:translateY(-1px);z-index:20}.rmg-task-item-dragging{box-shadow:0 5px 10px var(--rmg-shadow-drag);cursor:grabbing;opacity:.95;z-index:100}.rmg-task-item-name{flex:1;line-height:1.2;min-width:0;overflow:hidden;pointer-events:none;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.rmg-resize-handle{background-color:var(--rmg-resize-handle-bg);bottom:0;cursor:ew-resize;opacity:0;position:absolute;top:0;transition:opacity .15s ease;width:8px;z-index:2}.rmg-resize-handle-left{border-bottom-left-radius:var(--rmg-task-border-radius);border-top-left-radius:var(--rmg-task-border-radius);left:0}.rmg-resize-handle-right{border-bottom-right-radius:var(--rmg-task-border-radius);border-top-right-radius:var(--rmg-task-border-radius);right:0}.rmg-task-item:hover .rmg-resize-handle{opacity:1}.rmg-progress-bar{background-color:var(--rmg-progress-bg);border-radius:2px;bottom:4px;cursor:pointer;height:4px;left:4px;overflow:visible;position:absolute;right:4px;z-index:5}.rmg-progress-fill{background-color:var(--rmg-progress-fill);border-radius:2px;height:100%;position:relative;transition:width .3s ease-out}.rmg-progress-handle{background-color:#fff;border:2px solid var(--rmg-task-color);border-radius:50%;box-shadow:0 2px 4px var(--rmg-shadow-color);cursor:ew-resize;height:14px;opacity:0;pointer-events:auto;position:absolute;right:-6px;top:50%;transform:translateY(-50%);transition:opacity .2s ease,transform .15s ease,box-shadow .15s ease;width:14px;z-index:1001}.rmg-task-item:hover .rmg-progress-handle{opacity:1}.rmg-progress-handle:hover{border-width:3px;box-shadow:0 3px 6px var(--rmg-shadow-hover);transform:translateY(-50%) scale(1.25)}.rmg-progress-handle-dragging{background-color:var(--rmg-task-color);border-color:#fff;border-width:3px;box-shadow:0 4px 8px var(--rmg-shadow-drag);opacity:1!important;transform:translateY(-50%) scale(1.3)}.rmg-progress-tooltip{animation:fadeIn .15s ease;background-color:var(--rmg-tooltip-bg);border:1px solid var(--rmg-tooltip-border);border-radius:4px;box-shadow:0 2px 8px var(--rmg-shadow-color);color:var(--rmg-tooltip-text);font-size:.75rem;font-weight:600;padding:4px 8px;pointer-events:none;position:absolute;right:-6px;top:-32px;transform:translateX(50%);white-space:nowrap;z-index:1002}.rmg-progress-tooltip:after{border:4px solid transparent;border-top:4px solid var(--rmg-tooltip-border);content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}@keyframes fadeIn{0%{opacity:0;transform:translateX(50%) translateY(-5px)}to{opacity:1;transform:translateX(50%) translateY(0)}}.rmg-today-marker{bottom:0;pointer-events:none;position:absolute;top:0;width:1px}.rmg-today-marker:before{bottom:0;box-shadow:0 0 4px var(--rmg-marker-color);content:"";top:0;width:1px;z-index:50}.rmg-today-marker-label,.rmg-today-marker:before{background-color:var(--rmg-marker-color);left:0;position:absolute}.rmg-today-marker-label{border-radius:2px;box-shadow:0 1px 3px var(--rmg-shadow-color);color:#fff;font-size:.625rem;font-weight:600;padding:2px 4px;top:-11px;transform:translateX(-50%);white-space:nowrap;will-change:transform;z-index:1100!important}.rmg-tooltip{background-color:var(--rmg-tooltip-bg);border:1px solid var(--rmg-tooltip-border);border-radius:4px;box-shadow:0 2px 8px var(--rmg-shadow-color);color:var(--rmg-tooltip-text);font-size:.75rem;min-width:12rem;opacity:0;padding:8px;pointer-events:none;position:absolute;transform:translateY(5px);transition:opacity .2s ease,transform .2s ease;z-index:1000}.rmg-tooltip-visible{opacity:1;transform:translateY(0)}.rmg-tooltip-title{font-weight:700;margin-bottom:4px}.rmg-tooltip-action{color:var(--rmg-blue-500);font-size:.7rem;font-style:italic;margin-bottom:4px}.rmg-tooltip-content{display:grid;gap:4px 8px;grid-template-columns:auto 1fr}.rmg-tooltip-row{display:contents}.rmg-tooltip-label{color:var(--rmg-gray-500);font-weight:600}.rmg-dark .rmg-tooltip-label{color:var(--rmg-gray-400)}.rmg-view-mode-selector{background-color:rgba(0,0,0,.05);border:1px solid var(--rmg-border-color);border-radius:9999px;display:inline-flex;overflow:hidden;padding:2px}.rmg-dark .rmg-view-mode-selector{background-color:hsla(0,0%,100%,.05)}.rmg-view-mode-button{background:transparent;border:none;border-radius:9999px;color:var(--rmg-text-color);cursor:pointer;font-size:.75rem;font-weight:500;padding:4px 12px;transition:all .15s ease}.rmg-view-mode-button-active{background-color:var(--rmg-blue-500);color:#fff;font-weight:600}.rmg-container{scroll-behavior:smooth;scrollbar-color:var(--rmg-scrollbar-thumb) var(--rmg-scrollbar-track);scrollbar-width:thin}.rmg-container::-webkit-scrollbar{height:var(--rmg-scrollbar-size);width:var(--rmg-scrollbar-size)}.rmg-container::-webkit-scrollbar-track{background:var(--rmg-scrollbar-track);border-radius:12px;margin:0 6px}.rmg-container::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--rmg-scrollbar-thumb);border:2px solid transparent;border-radius:12px;min-height:40px;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.rmg-container::-webkit-scrollbar-thumb:hover{background-color:var(--rmg-scrollbar-thumb-hover)}.rmg-container::-webkit-scrollbar-corner{background-color:transparent}.rmg-auto-scrolling{scroll-behavior:auto!important}.rmg-timeline-container{transition:scroll-behavior .3s ease}.rmg-timeline-content{transition:transform .3s ease,opacity .2s ease}.rmg-timeline-grid{transition:transform .3s ease}.rmg-gantt-chart[data-view-mode] .rmg-timeline-unit{transition:width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),font-size .3s cubic-bezier(.4,0,.2,1)}.rmg-timeline-header,.rmg-timeline-header-higher{transition:min-height .3s cubic-bezier(.4,0,.2,1)}.rmg-task-item:not([data-dragging=true]){transition:transform .15s ease,box-shadow .15s ease,left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)}.rmg-timeline-container.rmg-auto-scrolling{scroll-behavior:auto!important}.rmg-timeline-container:not(.rmg-auto-scrolling){scroll-behavior:smooth}.rmg-timeline-container.rmg-scrollable-x:after{background:linear-gradient(90deg,transparent,rgba(0,0,0,.03));bottom:0;content:"";opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .2s ease;width:24px}.rmg-timeline-container.rmg-scrollable-x:hover:after{opacity:1}.rmg-dark .rmg-timeline-container.rmg-scrollable-x:after{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.03))}@media (max-width:640px){.rmg-task-list{width:120px}.rmg-header{padding:12px}.rmg-title{font-size:1.25rem}}.bg-blue-500{background-color:#3b82f6}.bg-indigo-500{background-color:#6366f1}.bg-purple-500{background-color:#a855f7}.bg-green-500{background-color:#22c55e}.bg-emerald-500{background-color:#10b981}.bg-amber-500{background-color:#f59e0b}.bg-orange-500{background-color:#f97316}.bg-red-500{background-color:#ef4444}.bg-teal-500{background-color:#14b8a6}.bg-yellow-400{background-color:#facc15}.bg-blue-600{background-color:#2563eb}.bg-indigo-600{background-color:#4f46e5}.bg-green-600{background-color:#16a34a}.bg-emerald-600{background-color:#059669}.bg-amber-600{background-color:#d97706}.bg-orange-600{background-color:#ea580c}.bg-red-600{background-color:#dc2626}.bg-teal-600{background-color:#0d9488}.text-white{color:#fff}.text-gray-900{color:#111827}.border-blue-700{border-color:#1d4ed8}.border-emerald-800{border-color:#065f46}.border-yellow-600{border-color:#ca8a04}.border{border-style:solid;border-width:1px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}