:root{--gcm-primary:#6366f1;--gcm-primary-light:#6366f11a;--gcm-primary-hover:#6366f126;--gcm-text:#1e293b;--gcm-text-secondary:#475569;--gcm-text-muted:#64748b;--gcm-bg:#fff;--gcm-bg-secondary:#f8fafc;--gcm-bg-hover:#f1f5f9;--gcm-border:#e2e8f0;--gcm-border-light:#f1f5f9;--gcm-shadow:0 1px 3px #0000000f;--gcm-shadow-md:0 4px 12px #00000014;--gcm-radius:6px;--gcm-radius-lg:10px;--gcm-row-height:40px;--gcm-header-height:52px;--gcm-toolbar-height:48px;--gcm-task-panel-width:460px;--gcm-today-color:#ef4444;--gcm-weekend-bg:#00000005;--gcm-grid-line:#f1f5f9;--gcm-dependency-color:#94a3b8}._gcm-wrapper{height:100%;padding:0 .75rem}._gcm-container{background:var(--gcm-bg);border-radius:var(--gcm-radius-lg);height:100%;min-height:500px;box-shadow:var(--gcm-shadow);border-style:solid;border-width:1px;border-color:var(--gcm-border);flex-direction:column;display:flex;overflow:hidden}._gcm-main{flex:1;display:flex;position:relative;overflow:hidden}@media (max-width:768px){._gcm-wrapper{padding:0 .5rem}._gcm-container{border-radius:0;min-height:600px}._gcm-main{flex-direction:column}}._gcm-toolbar{height:var(--gcm-toolbar-height);background:var(--gcm-bg);border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--gcm-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:0 .75rem;display:flex}._gcm-toolbar-left,._gcm-toolbar-right{align-items:center;gap:.5rem;display:flex}._gcm-toolbar-divider{background:var(--gcm-border);flex-shrink:0;width:1px;height:20px}._gcm-project-name-wrap{flex-shrink:0}._gcm-project-name{color:var(--gcm-text);border-radius:var(--gcm-radius);background:0 0;border:1px solid #0000;outline:none;max-width:200px;padding:.25rem .5rem;font-size:.875rem;font-weight:600}._gcm-project-name:hover{border-color:var(--gcm-border)}._gcm-project-name:focus{border-color:var(--gcm-primary);background:var(--gcm-bg);box-shadow:0 0 0 2px var(--gcm-primary-light)}._gcm-btn{border-radius:var(--gcm-radius);cursor:pointer;color:var(--gcm-text-secondary);white-space:nowrap;background:0 0;border:0 solid #0000;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.8125rem;font-weight:500;line-height:1;display:inline-flex}._gcm-btn:hover{background:var(--gcm-bg-hover)}._gcm-btn-primary{background:var(--gcm-primary);color:#fff}._gcm-btn-primary:hover{opacity:.9;background:var(--gcm-primary)}._gcm-btn-secondary{background:var(--gcm-bg-secondary);border-style:solid;border-width:1px;border-color:var(--gcm-border)}._gcm-btn-secondary:hover{background:var(--gcm-bg-hover)}._gcm-btn-icon{color:var(--gcm-text-muted);padding:.375rem}._gcm-btn-icon:hover{color:var(--gcm-text);background:var(--gcm-bg-hover)}._gcm-btn-danger{color:var(--gcm-today-color)}._gcm-btn-danger:hover{background:#ef444414}._gcm-view-controls{align-items:center;gap:.25rem;display:flex}._gcm-view-switcher{background:var(--gcm-bg-secondary);border-radius:var(--gcm-radius);border-style:solid;border-width:1px;border-color:var(--gcm-border);padding:2px;display:flex}._gcm-view-btn{cursor:pointer;color:var(--gcm-text-muted);background:0 0;border:0 solid #0000;border-radius:4px;padding:.25rem .625rem;font-size:.75rem;font-weight:500;line-height:1}._gcm-view-btn:hover{color:var(--gcm-text)}._gcm-view-btn.active{background:var(--gcm-bg);color:var(--gcm-primary);box-shadow:0 1px 2px #0000000f}@media (max-width:768px){._gcm-toolbar{flex-wrap:wrap;gap:.375rem;height:auto;padding:.5rem}._gcm-toolbar-left,._gcm-toolbar-right{flex-wrap:wrap}._gcm-btn-label{display:none}._gcm-project-name{max-width:140px;min-height:36px;font-size:16px}._gcm-btn{min-height:36px;padding:.5rem .625rem}._gcm-btn-icon{justify-content:center;min-width:36px;min-height:36px;padding:.5rem}._gcm-view-btn{min-height:32px;padding:.375rem .625rem;font-size:.8125rem}._gcm-toolbar-divider{display:none}}@media (max-width:480px){._gcm-toolbar{gap:.25rem;padding:.5rem .375rem}._gcm-project-name{max-width:120px}}._gcm-task-panel{width:var(--gcm-task-panel-width);border-right-style:solid;border-right-width:1px;border-right-color:var(--gcm-border);background:var(--gcm-bg);flex-direction:column;flex-shrink:0;min-width:280px;max-width:600px;display:flex;overflow:hidden}._gcm-task-header{height:var(--gcm-header-height);border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--gcm-border);background:var(--gcm-bg-secondary);color:var(--gcm-text-muted);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;align-items:center;padding:0 .5rem;font-size:.6875rem;font-weight:600;display:flex}._gcm-th-name{flex:1;padding-left:.75rem}._gcm-th-dates{text-align:center;flex-shrink:0;width:85px}._gcm-th-progress{text-align:center;flex-shrink:0;width:70px}._gcm-task-list{flex:1;min-height:200px;overflow:hidden auto}._gcm-task-row{height:var(--gcm-row-height);border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--gcm-border-light);cursor:pointer;align-items:center;padding:0 .5rem;display:flex;position:relative}._gcm-task-row:hover{background:var(--gcm-bg-hover)}._gcm-task-row.selected{background:var(--gcm-primary-light)}._gcm-task-row-grip{color:var(--gcm-border);cursor:grab;opacity:0;flex-shrink:0;align-items:center;padding:0 .125rem;display:flex}._gcm-task-row:hover ._gcm-task-row-grip{opacity:1}._gcm-task-row-color{border-radius:2px;flex-shrink:0;width:4px;height:20px;margin-right:.5rem}._gcm-task-row-name{color:var(--gcm-text);white-space:nowrap;text-overflow:ellipsis;flex:1;padding-right:.5rem;font-size:.8125rem;overflow:hidden}._gcm-task-row-date{width:85px;color:var(--gcm-text-muted);text-align:center;font-size:.75rem;font-family:var(--main-font-mono);flex-shrink:0}._gcm-task-row-progress{flex-shrink:0;justify-content:center;align-items:center;gap:.25rem;width:70px;display:flex}._gcm-progress-bar-mini{background:var(--gcm-border);border-radius:2px;width:32px;height:4px;overflow:hidden}._gcm-progress-bar-mini-fill{border-radius:2px;height:100%}._gcm-progress-text-mini{color:var(--gcm-text-muted);font-size:.6875rem;font-family:var(--main-font-mono);text-align:right;min-width:28px}._gcm-task-row-actions{opacity:0;flex-shrink:0;align-items:center;gap:.125rem;display:flex}._gcm-task-row:hover ._gcm-task-row-actions{opacity:1}._gcm-group-row{background:var(--gcm-bg-secondary);font-weight:600}._gcm-group-row ._gcm-task-row-name{font-size:.8125rem;font-weight:600}._gcm-group-toggle{cursor:pointer;width:16px;height:16px;color:var(--gcm-text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-right:.25rem;padding:0;display:inline-flex}._gcm-group-toggle:hover{color:var(--gcm-text)}._gcm-task-indent{padding-left:1.25rem}._gcm-resize-handle{cursor:col-resize;z-index:5;flex-shrink:0;justify-content:center;align-items:center;width:6px;display:flex;position:relative}._gcm-resize-handle:hover ._gcm-resize-line,._gcm-resize-handle.active ._gcm-resize-line{background:var(--gcm-primary);opacity:.5}._gcm-resize-line{background:var(--gcm-border);border-radius:1px;width:2px;height:32px}._gcm-empty-state{color:var(--gcm-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1.5rem;display:flex}._gcm-empty-state-icon{opacity:.3;font-size:2.5rem}._gcm-empty-state-title{color:var(--gcm-text-secondary);font-size:.9375rem;font-weight:600}._gcm-empty-state-text{font-size:.8125rem;line-height:1.5}@media (max-width:768px){._gcm-task-panel{border-bottom-style:solid;border-bottom-width:1px;border-right:none;border-bottom-color:var(--gcm-border);width:100%;min-width:0;max-width:100%;max-height:40vh}._gcm-task-list{-webkit-overflow-scrolling:touch}._gcm-resize-handle,._gcm-th-dates,._gcm-task-row-date{display:none}._gcm-th-progress,._gcm-task-row-progress{width:60px}._gcm-task-row{min-height:44px}}@media (hover:none),(pointer:coarse){._gcm-task-row-actions{opacity:1}._gcm-task-row-grip{display:none}._gcm-task-row-actions ._gcm-btn-icon{justify-content:center;min-width:36px;min-height:36px;padding:.5rem}._gcm-group-toggle{width:28px;height:28px}}._gcm-timeline-panel{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}._gcm-timeline-header{height:var(--gcm-header-height);border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--gcm-border);background:var(--gcm-bg-secondary);flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}._gcm-timeline-header-top{border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--gcm-border-light);height:50%;display:flex}._gcm-timeline-header-bottom{height:50%;display:flex}._gcm-timeline-header-cell{color:var(--gcm-text-muted);border-right-style:solid;border-right-width:1px;border-right-color:var(--gcm-border-light);text-transform:uppercase;letter-spacing:.03em;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-size:.6875rem;font-weight:600;display:flex}._gcm-timeline-header-cell-sub{color:var(--gcm-text-muted);border-right-style:solid;border-right-width:1px;border-right-color:var(--gcm-border-light);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-size:.625rem;display:flex}._gcm-timeline-header-cell-sub.weekend{background:var(--gcm-weekend-bg)}._gcm-timeline-header-cell-sub.today{color:var(--gcm-today-color);background:#ef444414;font-weight:600}._gcm-timeline-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;position:relative;overflow:auto}._gcm-timeline-grid{pointer-events:none;position:relative}._gcm-timeline-grid-row{height:var(--gcm-row-height);border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--gcm-border-light);display:flex}._gcm-timeline-grid-cell{border-right-style:solid;border-right-width:1px;border-right-color:var(--gcm-grid-line);flex-shrink:0}._gcm-timeline-grid-cell.weekend{background:var(--gcm-weekend-bg)}._gcm-bars-layer{width:100%;height:100%;position:absolute;top:0;left:0}._gcm-bar{cursor:pointer;z-index:2;border-radius:5px;align-items:center;height:26px;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px 3px #0000001f}._gcm-bar:hover{z-index:3;box-shadow:0 2px 8px #0000002e}._gcm-bar.selected{box-shadow:0 0 0 2px var(--gcm-primary), 0 2px 8px #0000002e;z-index:4}._gcm-bar._gcm-bar-dragging{box-shadow:0 0 0 2px var(--gcm-primary), 0 4px 16px #00000040;z-index:5;opacity:.92}._gcm-bar-bg{opacity:.65;border-radius:5px;width:100%;height:100%;position:absolute;top:0;left:0}._gcm-bar-progress{opacity:1;border-radius:5px;height:100%;position:absolute;top:0;left:0}._gcm-bar-label{z-index:1;color:#fff;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #0006;letter-spacing:.01em;padding:0 .5rem;font-size:.75rem;font-weight:600;line-height:26px;position:relative;overflow:hidden}._gcm-bar-label-outside{color:var(--gcm-text-secondary);white-space:nowrap;z-index:1;font-size:.75rem;font-weight:500;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}._gcm-bar-handle{cursor:ew-resize;z-index:5;opacity:0;width:6px;height:100%;position:absolute;top:0}._gcm-bar:hover ._gcm-bar-handle{opacity:1}._gcm-bar-handle-left{border-radius:4px 0 0 4px;left:0}._gcm-bar-handle-right{border-radius:0 4px 4px 0;right:0}._gcm-bar-handle:hover{background:#0000001a}._gcm-bar-group{border-radius:2px;height:8px;top:16px}._gcm-bar-group:before,._gcm-bar-group:after{content:"";border-radius:0 0 3px 3px;width:8px;height:4px;position:absolute;bottom:-4px}._gcm-bar-group:before{background:inherit;left:0}._gcm-bar-group:after{background:inherit;right:0}._gcm-dependency-line{z-index:1;pointer-events:none;position:absolute}._gcm-dependency-line path{fill:none;stroke:var(--gcm-dependency-color);stroke-width:1.5px}._gcm-dependency-line polygon{fill:var(--gcm-dependency-color)}._gcm-today-marker{background:var(--gcm-today-color);z-index:6;pointer-events:none;width:2px;display:none;position:absolute;top:0;bottom:0}._gcm-today-marker:before{content:"";background:var(--gcm-today-color);border-radius:50% 50% 50% 0;width:10px;height:10px;position:absolute;top:0;left:-4px;transform:rotate(-45deg)}@media (max-width:768px){._gcm-timeline-panel{min-height:320px}._gcm-bar{height:28px}._gcm-bar-label{line-height:28px}}@media (hover:none),(pointer:coarse){._gcm-bar-handle{opacity:1;touch-action:none;background:#fff3;width:12px}._gcm-bar-handle-left{border-right:1px solid #fff6}._gcm-bar-handle-right{border-left:1px solid #fff6}._gcm-bar._gcm-bar-dragging{touch-action:none}}._gcm-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;top:0;bottom:0;left:0;right:0}._gcm-modal-overlay.show{display:flex}._gcm-modal{background:var(--gcm-bg);border-radius:var(--gcm-radius-lg);box-shadow:var(--gcm-shadow-md), 0 20px 40px #00000026;border-style:solid;border-width:1px;border-color:var(--gcm-border);width:480px;max-width:95vw;max-height:90vh;overflow-y:auto}._gcm-modal-header{border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--gcm-border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}._gcm-modal-title{color:var(--gcm-text);margin:0;font-size:.9375rem;font-weight:600}._gcm-modal-body{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}._gcm-modal-footer{border-top-style:solid;border-top-width:1px;border-top-color:var(--gcm-border);justify-content:flex-end;align-items:center;gap:.5rem;padding:.75rem 1.25rem;display:flex}._gcm-form-group{flex-direction:column;gap:.375rem;display:flex}._gcm-form-group label{color:var(--gcm-text-secondary);align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;display:flex}._gcm-form-row{gap:1rem;display:flex}._gcm-form-row>._gcm-form-group{flex:1}._gcm-input{border-style:solid;border-width:1.5px;border-color:var(--gcm-border);border-radius:var(--gcm-radius);color:var(--gcm-text);background:var(--gcm-bg);outline:none;width:100%;padding:.5rem .75rem;font-size:.8125rem}._gcm-input:focus{border-color:var(--gcm-primary);box-shadow:0 0 0 2px var(--gcm-primary-light)}._gcm-range{-webkit-appearance:none;appearance:none;background:var(--gcm-border);border:none;border-radius:3px;outline:none;width:100%;height:6px;padding:0}._gcm-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--gcm-primary);cursor:pointer;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #00000026}._gcm-range::-moz-range-thumb{background:var(--gcm-primary);cursor:pointer;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #00000026}._gcm-color-picker{flex-wrap:wrap;gap:.375rem;display:flex}._gcm-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;position:relative}._gcm-color-swatch:hover{opacity:.85}._gcm-color-swatch.active{border-color:var(--gcm-text);box-shadow:0 0 0 2px var(--gcm-bg)}@media (max-width:768px){._gcm-modal{width:100%;max-height:85vh}._gcm-modal-body{gap:.875rem;padding:1rem}._gcm-modal-footer{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom))}._gcm-input{min-height:44px;padding:.625rem .75rem;font-size:16px}._gcm-modal-footer ._gcm-btn{min-height:40px;padding:.5rem 1rem}}@media (max-width:480px){._gcm-form-row{flex-direction:column;gap:1rem}}@media (hover:none),(pointer:coarse){._gcm-color-picker{gap:.5rem}._gcm-color-swatch{width:32px;height:32px}._gcm-range{height:8px}._gcm-range::-webkit-slider-thumb{width:22px;height:22px}._gcm-range::-moz-range-thumb{width:22px;height:22px}}
