: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-animation-speed:0.25;--rmg-transition-fast:150ms ease;--rmg-transition-normal:250ms ease;--rmg-scrollbar-track:rgba(229,231,235,.5);--rmg-scrollbar-thumb:rgba(156,163,175,.7);--rmg-scrollbar-thumb-hover:hsla(220,9%,46%,.8);--rmg-scrollbar-size:8px;--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-marker-color:var(--rmg-red-500);--rmg-task-color:var(--rmg-indigo-600);--rmg-task-text-color:var(--rmg-white);--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,.5);--rmg-scrollbar-thumb:rgba(75,85,99,.7);--rmg-scrollbar-thumb-hover:hsla(220,9%,46%,.8)}.rmg-gantt-chart{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;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-gantt-chart,.rmg-header{background-color:var(--rmg-bg-color)}.rmg-header{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-container{display:flex;position:relative}.rmg-task-list{background-color:var(--rmg-bg-color);border-right:1px solid var(--rmg-border-color);flex-shrink:0;overflow-y:auto;width:160px;z-index:10}.rmg-task-list-header{align-items:center;box-sizing:border-box;display:flex;font-weight:600;height:var(--rmg-header-height)}.rmg-task-group,.rmg-task-list-header{border-bottom:1px solid var(--rmg-border-color);padding:8px}.rmg-task-group{background-color:var(--rmg-bg-color);cursor:pointer;transition:background-color .15s ease}.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;overflow-x:auto;position:relative}.rmg-timeline{min-width:-moz-max-content;min-width:max-content}.rmg-timeline-header,.rmg-timeline-header-higher{background-color:var(--rmg-bg-color);border-bottom:1px solid var(--rmg-border-color);display:flex}.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-task-row,.rmg-timeline-grid{position:relative}.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)}.rmg-task-item{align-items:center;backface-visibility:hidden;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;will-change:transform,box-shadow;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{line-height:1.2;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;height:3px;left:4px;overflow:hidden;position:absolute;right:4px}.rmg-progress-fill{background-color:var(--rmg-progress-fill);border-radius:2px;height:100%;transition:width .3s ease-out}.rmg-progress-handle{background-color:#fff;border:2px solid var(--rmg-task-color);border-radius:50%;box-shadow:0 1px 3px var(--rmg-shadow-color);cursor:ew-resize;height:10px;opacity:0;position:absolute;right:0;top:50%;transform:translate(50%,-50%);transition:opacity .2s ease,transform .15s ease;width:10px;z-index:10}.rmg-task-item:hover .rmg-progress-handle{opacity:1}.rmg-progress-handle-dragging,.rmg-progress-handle:hover{box-shadow:0 2px 5px var(--rmg-shadow-hover);transform:translate(50%,-50%) scale(1.2)}.rmg-today-marker{bottom:0;box-shadow:0 0 4px var(--rmg-marker-color);top:0;width:1px;z-index:10}.rmg-today-marker,.rmg-today-marker-label{background-color:var(--rmg-marker-color);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;left:0;padding:2px 4px;top:-16px;transform:translateX(-50%);white-space:nowrap}.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-timeline-container{scrollbar-color:var(--rmg-scrollbar-thumb) var(--rmg-scrollbar-track);scrollbar-width:thin}.rmg-timeline-container::-webkit-scrollbar{height:var(--rmg-scrollbar-size);width:var(--rmg-scrollbar-size)}.rmg-timeline-container::-webkit-scrollbar-track{background:var(--rmg-scrollbar-track);border-radius:12px}.rmg-timeline-container::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--rmg-scrollbar-thumb);border:2px solid transparent;border-radius:12px}.rmg-timeline-container::-webkit-scrollbar-thumb:hover{background-color:var(--rmg-scrollbar-thumb-hover)}.rmg-timeline-container::-webkit-scrollbar-corner{background-color:transparent}.rmg-timeline-container{scroll-behavior:smooth}.rmg-auto-scrolling{scroll-behavior:auto!important}@keyframes pulse{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}@keyframes update-flash{0%{box-shadow:0 0 0 2px rgba(79,70,229,.2)}50%{box-shadow:0 0 0 4px rgba(79,70,229,.4)}to{box-shadow:0 0 0 2px rgba(79,70,229,0)}}.rmg-task-updated{animation:update-flash 1s cubic-bezier(.2,0,.13,2)}@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-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-500{background-color:#14b8a6}.bg-teal-600{background-color:#0d9488}.bg-yellow-400{background-color:#facc15}.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}.ring-2{box-shadow:0 0 0 2px currentColor;outline:2px solid transparent;outline-offset:2px}.ring-white{--tw-ring-color:#fff}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border{border-style:solid;border-width:1px}