.gantt-view{background:#f8fafc;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.gc-toolbar{background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:40;flex-shrink:0;align-items:center;gap:6px;height:40px;padding:0 10px;display:flex;position:relative;overflow:visible}.gc-toolbar-group{align-items:center;gap:4px;display:flex}.gc-toolbar-sep{background:var(--border);width:1px;height:20px;margin:0 2px}.gc-toolbar-label{color:var(--text-muted);margin-right:2px;font-size:11px}.gc-selection-summary{max-width:300px}.gc-selection-pill{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;height:22px;padding:0 7px;font-size:11px;font-weight:700;display:inline-flex}.gc-selection-pill.muted{color:var(--text-muted);background:#f8fafc;border-color:#e2e8f0}.gc-tag-tools{max-width:min(520px,42vw)}.gc-tag-input,.gc-tag-select,.gc-tag-color-select{border:1px solid var(--border);height:26px;color:var(--text-secondary);font:inherit;background:#fff;border-radius:5px;font-size:12px}.gc-tag-input{width:130px;padding:0 8px}.gc-tag-select{width:132px;padding:0 6px}.gc-tag-color-select{width:118px;padding:0 6px;font-weight:600}.gc-tag-color-swatch{border:1px solid #0f172a2e;border-radius:5px;flex-shrink:0;width:18px;height:18px;box-shadow:inset 0 0 0 1px #ffffff38}.gc-tag-input:focus,.gc-tag-select:focus,.gc-tag-color-select:focus{border-color:var(--accent);outline:none}.gc-tag-input:disabled,.gc-tag-select:disabled,.gc-tag-color-select:disabled{opacity:.55;cursor:not-allowed}.gc-toolbar-tabs{gap:2px;display:flex}.gc-tab{color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 12px;font-size:12px;font-weight:500}.gc-tab:hover{background:var(--bg-hover);color:var(--text-secondary)}.gc-tab.active{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border);font-weight:600}.gc-btn-level{border:1px solid var(--border);color:var(--text-primary);background:var(--bg-surface);text-align:center;border-radius:4px;min-width:52px;padding:3px 10px;font-size:12px;font-weight:600}.gc-btn-level:hover{background:var(--bg-hover)}.gc-level-menu{z-index:40;border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;gap:1px;min-width:140px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0f172a24}.gc-level-item{color:var(--text-secondary);text-align:left;background:0 0;border-radius:5px;padding:6px 12px;font-size:12px}.gc-level-item:hover{background:var(--bg-hover);color:var(--text-primary)}.gc-level-item.active{color:var(--accent);background:#eff6ff;font-weight:700}.gc-btn-filter{border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-surface);border-radius:4px;padding:3px 10px;font-size:12px}.gc-btn-filter:hover{background:var(--bg-hover)}.gc-btn-filter.active{color:var(--accent);background:#eff6ff;border-color:#93c5fd;font-weight:600}.gc-filter-panel{z-index:40;border:1px solid var(--border);background:#fff;border-radius:10px;flex-direction:column;width:280px;max-height:420px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 10px 32px #0f172a29}.gc-filter-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;padding:8px 10px 6px;display:flex}.gc-filter-select-all{color:var(--text-secondary);border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:500}.gc-filter-select-all:hover{background:var(--bg-hover)}.gc-filter-clear-all{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px 4px;font-size:11px;font-weight:600}.gc-filter-clear-all:hover{text-decoration:underline}.gc-filter-tags{border-bottom:1px solid var(--border);flex-shrink:0;padding:7px 8px}.gc-filter-tags-title{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 5px 2px;font-size:10px;font-weight:800;display:block}.gc-filter-tag-list{flex-wrap:wrap;gap:5px;max-height:76px;display:flex;overflow-y:auto}.gc-filter-tag{text-overflow:ellipsis;white-space:nowrap;max-width:120px;color:var(--text-secondary);cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;overflow:hidden}.gc-filter-tag:hover{background:#f8fafc}.gc-filter-tag.active{color:#fff;box-shadow:inset 0 0 0 1px #ffffff47}.gc-filter-search-wrap{border-bottom:1px solid var(--border);flex-shrink:0;padding:6px 8px;position:relative}.gc-filter-search-input{box-sizing:border-box;border:1px solid var(--border);width:100%;height:26px;color:var(--text-primary);background:#fff;border-radius:5px;padding:0 28px 0 8px;font-family:inherit;font-size:12px}.gc-filter-search-input:focus{border-color:var(--accent);outline:none}.gc-filter-search-clear{color:#fff;cursor:pointer;background:#cbd5e1;border:none;border-radius:50%;width:16px;height:16px;font-size:12px;line-height:1;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.gc-filter-list{flex:1;overflow-y:auto}.gc-filter-row{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;padding:5px 10px;font-size:12px;display:flex}.gc-filter-row:hover{background:var(--bg-hover)}.gc-filter-row input[type=checkbox]{flex-shrink:0}.gc-filter-row .gc-filter-task-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.gc-filter-task-text strong{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.gc-filter-task-text em{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:normal;overflow:hidden}.gc-filter-row small{color:#3730a3;background:#eef2ff;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:800}.gc-filter-empty,.gc-filter-more{color:var(--text-muted);padding:10px 12px;font-size:12px;font-style:italic}.gc-filter-panel-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;padding:6px 10px;display:flex}.gc-filter-ok{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:4px 16px;font-size:12px;font-weight:600}.gc-filter-ok:hover{background:#1d4ed8}.gc-btn{border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-surface);border-radius:4px;padding:3px 8px;font-size:12px}.gc-btn:hover{background:var(--bg-hover)}.gc-btn:disabled{opacity:.45;cursor:not-allowed}.gc-btn-link-mode.active{color:var(--accent);background:#eff6ff;border-color:#93c5fd;font-weight:700}.gc-zoom-val{color:var(--text-muted);text-align:center;min-width:48px;font-size:11px}.gc-today-btn{color:#fff;background:#f97316;border:none;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600}.gc-today-btn:hover{background:#ea6c0a}.gc-search{align-items:center;gap:3px;display:flex;position:relative}.gc-search-input{box-sizing:border-box;border:1px solid var(--border);width:220px;height:26px;color:var(--text-primary);background:#fff;border-radius:6px;padding:0 28px 0 8px;font-family:inherit;font-size:12px}.gc-search-clear{color:#fff;cursor:pointer;background:#cbd5e1;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:13px;line-height:1;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.gc-search-clear:hover{background:#94a3b8}.gc-search-count{color:var(--text-muted);text-align:center;flex-shrink:0;min-width:24px;font-size:11px}.gc-search-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #2563eb1f}.gc-search-count{min-width:42px;color:var(--text-muted);text-align:center;font-size:11px}.gc-dir-backdrop{z-index:100;background:#0f172a57;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.gc-dir-modal{border:1px solid var(--border);background:#fff;border-radius:10px;flex-direction:column;width:min(980px,100vw - 48px);max-height:min(760px,100vh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 70px #0f172a47}.gc-dir-modal>header{border-bottom:1px solid var(--border);background:#f8fafc;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;display:flex}.gc-dir-modal h2{color:var(--text-primary);margin:0;font-size:18px}.gc-dir-modal p{color:var(--text-muted);margin:4px 0 0;font-size:12px}.gc-dir-close{border:1px solid var(--border);width:28px;height:28px;color:var(--text-secondary);background:#fff;border-radius:6px;font-size:18px}.gc-dir-mapping{background:#f0f9ff;border-bottom:1px solid #bae6fd;align-items:center;gap:8px;padding:8px 20px;font-size:12px;display:flex}.gc-dir-mapping-label{color:var(--text-secondary);flex-shrink:0}.gc-dir-mapping-label strong{color:var(--text)}.gc-dir-mapping-select{border:1px solid var(--border);background:var(--bg);border-radius:6px;flex:1;min-width:0;padding:3px 6px;font-size:12px}.gc-dir-body{grid-template-columns:240px 1fr;min-height:0;display:grid}.gc-dir-list{border-right:1px solid var(--border);background:#f8fafc;min-height:0;padding:10px;overflow:auto}.gc-dir-new,.gc-dir-list-item,.gc-dir-detected button{border:1px solid var(--border);text-align:left;background:#fff;border-radius:7px;width:100%}.gc-dir-new{color:var(--accent);margin-bottom:8px;padding:7px 9px;font-size:12px;font-weight:800}.gc-dir-list-item{margin-bottom:5px;padding:8px 9px;display:block}.gc-dir-list-item:hover,.gc-dir-list-item.active,.gc-dir-detected button:hover{background:#eff6ff;border-color:#93c5fd}.gc-dir-list-item strong{color:var(--text-primary);font-size:12px;display:block}.gc-dir-list-item span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;display:block;overflow:hidden}.gc-dir-empty{color:var(--text-muted);padding:10px;font-size:12px;font-style:italic}.gc-dir-detected{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.gc-dir-detected h3{color:var(--text-muted);text-transform:uppercase;margin:0 0 6px;font-size:11px}.gc-dir-detected button{color:var(--text-secondary);margin-bottom:5px;padding:6px 8px;font-size:12px}.gc-dir-editor{min-height:0;padding:14px;overflow:auto}.gc-dir-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.gc-dir-field{flex-direction:column;gap:4px;display:flex}.gc-dir-field.wide{grid-column:1/-1}.gc-dir-field span,.gc-dir-assign h3{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:800}.gc-dir-field input,.gc-dir-field select,.gc-dir-assign select,.gc-dir-contact-row input{border:1px solid var(--border);height:30px;color:var(--text-primary);background:#fff;border-radius:6px;padding:0 8px;font-family:inherit;font-size:12px}.gc-dir-field input:focus,.gc-dir-field select:focus,.gc-dir-assign select:focus,.gc-dir-contact-row input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #2563eb1f}.gc-dir-actions{gap:8px;margin-top:12px;display:flex}.gc-dir-primary,.gc-dir-danger{border:0;border-radius:7px;min-height:30px;padding:0 12px;font-size:12px;font-weight:800}.gc-dir-primary{background:var(--accent);color:#fff}.gc-dir-primary:disabled{opacity:.45;cursor:not-allowed}.gc-dir-danger{color:#991b1b;background:#fee2e2}.gc-dir-assign{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.gc-dir-assign h3{margin:0 0 8px}.gc-dir-contacts{margin-top:12px}.gc-dir-contacts h3{color:var(--text-muted);text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:800}.gc-dir-contact-row{grid-template-columns:1.1fr .8fr 1.2fr .8fr;gap:6px;margin-bottom:6px;display:grid}.gc-dir-usage-list{max-height:190px;color:var(--text-secondary);margin:0;padding-left:20px;font-size:12px;overflow:auto}.gc-dir-usage-list li{align-items:center;gap:6px;margin:3px 0;display:flex}.gc-dir-warn{color:#92400e;white-space:nowrap;background:#fef3c7;border-radius:5px;padding:2px 7px;font-size:11px;font-weight:700}.gc-dir-jump{color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;padding:1px 4px;font-size:11px;font-weight:700}.gc-dir-jump:hover{background:var(--accent-light,#e0e7ff)}.gc-dir-check-list{border:1px solid var(--border);border-radius:8px;max-height:170px;margin-bottom:10px;overflow:auto}.gc-dir-check-row{color:var(--text-secondary);border-bottom:1px solid #eef2f7;grid-template-columns:auto minmax(80px,.5fr) minmax(0,1fr);align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:grid}.gc-dir-check-row:last-child{border-bottom:0}.gc-dir-check-row small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gc-search-nav{border:1px solid var(--border);background:var(--bg-surface);width:24px;height:24px;color:var(--text-secondary);border-radius:5px;font-size:15px;line-height:1}.gc-search-nav:hover:not(:disabled){background:var(--bg-hover);color:var(--accent)}.gc-search-nav:disabled{opacity:.45;cursor:not-allowed}.gc-search-menu{z-index:30;border:1px solid var(--border);background:#fff;border-radius:8px;width:360px;max-height:390px;padding:5px;position:absolute;top:30px;left:0;overflow:auto;box-shadow:0 12px 28px #0f172a29}.gc-search-option{width:100%;color:var(--text-secondary);text-align:left;border-radius:6px;grid-template-columns:1fr auto;gap:8px;padding:7px 8px;font-size:12px;display:grid}.gc-search-option span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gc-search-option small{color:var(--text-muted);text-transform:uppercase;align-self:center;font-size:10px;font-weight:800}.gc-search-option:hover,.gc-search-option.active{color:#1d4ed8;background:#eff6ff}.gc-search-empty,.gc-search-more{color:var(--text-muted);padding:8px;font-size:12px}.gc-main{flex:1;min-width:0;min-height:0;display:flex}.gc-scroller{flex:1;min-width:0;min-height:0;overflow:auto}.gc-inner{flex-direction:column;display:flex;position:relative}.gc-axis-row{z-index:10;border-bottom:1px solid var(--border);flex-shrink:0;display:flex;position:sticky;top:0}.gc-corner{z-index:11;border-right:1px solid var(--border);background:#e8edf3;flex-shrink:0;grid-template-columns:1fr 20px;align-items:center;gap:0;padding:0;display:grid;position:sticky;left:0}.gc-corner.schedule-open{grid-template-columns:280px 92px 92px 54px 20px}.gc-corner-line{letter-spacing:.03em;height:100%;color:var(--text-muted);border-right:1px solid var(--border);-webkit-user-select:none;user-select:none;background:#e8edf3;justify-content:center;align-items:center;gap:1px;font-size:10px;font-weight:800;display:flex;position:relative}.gc-corner-line-label{line-height:1}.gc-line-filter-btn{width:14px;height:14px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:8px;display:inline-flex}.gc-line-filter-btn:hover{color:var(--text-secondary);background:#0f172a14}.gc-line-filter-btn.active{color:#fff;background:#2563eb}.gc-line-filter-panel{z-index:130;border:1px solid var(--border);text-align:left;background:#fff;border-radius:8px;width:168px;padding:10px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 10px 28px #0f172a2e}.gc-line-filter-title{letter-spacing:0;color:var(--text-primary);margin-bottom:8px;font-size:11px;font-weight:800}.gc-line-filter-range{gap:8px;margin-bottom:9px;display:flex}.gc-line-filter-range label{letter-spacing:0;color:var(--text-muted);flex-direction:column;flex:1;gap:3px;font-size:10px;font-weight:700;display:flex}.gc-line-filter-range input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:5px;padding:4px 6px;font-size:12px;font-weight:600}.gc-line-filter-actions{gap:6px;display:flex}.gc-line-filter-apply,.gc-line-filter-clear{cursor:pointer;border-radius:5px;flex:1;padding:6px 8px;font-size:11.5px;font-weight:750}.gc-line-filter-apply{background:var(--accent);color:#fff;border:none}.gc-line-filter-clear{color:#475569;border:1px solid var(--border);background:#f8fafc}.gc-line-filter-clear:disabled{opacity:.45;cursor:default}.gc-name-column-resizer{z-index:60;cursor:col-resize;pointer-events:auto;width:12px;position:absolute;top:0;bottom:0}.gc-name-column-resizer:after{content:"";opacity:.95;background:#64748b;border-radius:999px;width:2px;position:absolute;top:5px;bottom:5px;left:5px;box-shadow:0 0 0 1px #ffffffb3}.gc-name-column-resizer:hover:after,.gc-resizing-name-column .gc-name-column-resizer:after{opacity:1;background:#2563eb;width:3px}.gc-name-column-resizer:before{content:"";opacity:.45;background:linear-gradient(90deg,#0000 1px,#2563eb73 1px 2px,#0000 2px 4px,#2563eb73 4px 5px,#0000 5px);border-radius:4px;width:8px;height:18px;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.gc-name-column-resizer:hover:before,.gc-resizing-name-column .gc-name-column-resizer:before{opacity:1}.gc-resizing-name-column,.gc-resizing-name-column *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.gc-corner-name-tools{flex:1;align-items:center;gap:4px;min-width:0;padding:0 4px 0 6px;display:flex;overflow:visible}.gc-corner-name-tools .gc-search{flex:1;min-width:0}.gc-corner-name-tools .gc-search-input{border:1px solid var(--border);background:var(--bg-surface);width:100%;height:26px;color:var(--text);border-radius:5px;padding:0 6px;font-size:12px}.gc-corner-name-tools .gc-search-input:focus{border-color:var(--accent);background:#fff;outline:none}.gc-corner-name-tools .gc-search-menu{min-width:unset;z-index:120;top:calc(100% + 2px);left:0;right:0}.gc-corner-name-tools .gc-search-count{padding:0 4px;font-size:11px}.gc-corner-filter{flex-shrink:0;align-items:center;gap:2px;display:flex;position:relative}.gc-corner-filter-btn{border:1px solid var(--border);background:var(--bg-surface);min-width:54px;height:26px;color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:5px;padding:0 8px;font-size:12px}.gc-corner-filter-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.gc-corner-filter-btn.active{color:var(--accent);background:#eff6ff;border-color:#93c5fd;font-weight:600}.gc-corner-filter-clear{color:#dc2626;cursor:pointer;background:#fff7f7;border:1px solid #fecaca;border-radius:5px;width:26px;height:26px;font-size:13px;font-weight:800}.gc-corner-filter-clear:hover{background:#fee2e2;border-color:#fca5a5}.gc-corner-filter-clear:disabled{color:#94a3b8;cursor:default;background:#f1f5f9;border-color:#cbd5e1}.gc-corner-filter-clear:disabled:hover{background:#f1f5f9;border-color:#cbd5e1}.gc-corner-filter .gc-filter-panel{z-index:120;top:calc(100% + 4px);left:0}.gc-corner-date-labels{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700;display:contents}.gc-corner-date-labels span{text-align:center;justify-self:stretch}.gc-schedule-columns-toggle{border:1px solid var(--border);background:var(--bg-surface);width:20px;height:20px;color:var(--text-muted);border-radius:4px;place-self:center;font-size:14px;font-weight:900;line-height:1}.gc-schedule-columns-toggle:hover{background:var(--bg-hover);color:var(--accent)}.gc-content-row{align-items:flex-start;display:flex}.gc-labels{z-index:5;background:var(--bg-surface);border-right:1px solid var(--border);flex-shrink:0;width:280px;position:sticky;left:0}.gc-labels.schedule-open{width:560px}.gc-label-row{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:minmax(220px,1fr) 22px;align-items:center;gap:6px;padding-right:6px;transition:background 80ms;display:grid;position:relative;overflow:hidden}.gc-label-row.schedule-open{grid-template-columns:minmax(220px,1fr) 92px 92px 54px 22px}.gc-label-row:hover{background:var(--bg-hover)}.gc-label-row.selected{background:#dbeafe}.gc-label-row.row-dragging{opacity:.42}.gc-label-row.drop-before:before,.gc-label-row.drop-after:after{content:"";z-index:3;pointer-events:none;background:#2563eb;border-radius:2px;height:2px;position:absolute;left:2px;right:2px}.gc-label-row.drop-before:before{top:0}.gc-label-row.drop-after:after{bottom:0}.gc-label-row.drop-inside{background:#eff6ff;box-shadow:inset 0 0 0 2px #60a5fa}.gc-label-row.focus-pulse{animation:1.1s ease-out gc-focus-pulse;box-shadow:inset 0 0 0 2px #2563eb}@keyframes gc-focus-pulse{0%{box-shadow:inset 0 0 0 2px #2563eb,0 0 #2563eb59}65%{box-shadow:inset 0 0 0 2px #2563eb,0 0 0 5px #2563eb00}to{box-shadow:inset 0 0 0 2px #2563eb,0 0 #2563eb00}}.gc-task-focus-flash{fill:none;stroke:#2563eb;stroke-width:2px;pointer-events:none;animation:1.1s ease-out gc-task-focus-flash}@keyframes gc-task-focus-flash{0%{stroke:#f97316;stroke-width:3px;opacity:1}45%{stroke:#2563eb;stroke-width:2px;opacity:1}to{stroke:#2563eb;stroke-width:2px;opacity:0}}.gc-dep-proxy-overlay{z-index:16;pointer-events:none;position:absolute;inset:0;overflow:hidden}.gc-dep-proxy-card{box-sizing:border-box;color:#10233f;width:228px;height:44px;font:inherit;text-align:left;pointer-events:auto;will-change:transform;background:#fffffff5;border:1px solid #93c5fd;border-left:4px solid #3b82f6;border-radius:6px;grid-template-rows:17px 15px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 6px;padding:5px 8px 5px 9px;display:none;position:absolute;top:0;left:0;transform:translate(-9999px,-9999px);box-shadow:0 8px 22px #0f172a33}.gc-dep-proxy-card.succ{border-color:#fdba74 #fdba74 #fdba74 #f97316}.gc-dep-proxy-card:hover{background:#eff6ff}.gc-dep-proxy-card.succ:hover{background:#fff7ed}.gc-dep-proxy-kind{color:#2563eb;white-space:nowrap;grid-row:1/span 2;font-size:10px;font-weight:900}.gc-dep-proxy-card.succ .gc-dep-proxy-kind{color:#f97316}.gc-dep-proxy-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-weight:800;line-height:15px;overflow:hidden}.gc-dep-proxy-milestone{vertical-align:1px;background:#6d28d9;width:7px;height:7px;margin-right:5px;display:inline-block;transform:rotate(45deg)}.gc-dep-proxy-meta{text-overflow:ellipsis;white-space:nowrap;color:#64748b;min-width:0;font-size:10px;font-weight:700;line-height:14px;overflow:hidden}.gc-label-row.is-summary{background:#f0f4ff}.gc-label-row.is-summary:hover{background:var(--bg-hover)}.gc-label-row.is-summary.selected{background:#dbeafe}.gc-hierarchy-stripes{pointer-events:none;z-index:0;width:36px;position:absolute;inset:0 auto 0 0}.gc-hierarchy-stripes span{opacity:1;border-radius:2px;width:4px;position:absolute;top:3px;bottom:3px;box-shadow:0 0 0 1px #ffffff73}.gc-label-name-cell,.gc-label-date-cell,.gc-label-date,.gc-label-duration,.gc-label-line,.gc-row-drag-handle,.gc-row-menu-btn{z-index:1;position:relative}.gc-label-line{font-variant-numeric:tabular-nums;height:100%;color:var(--text-muted);border-right:1px solid var(--border);-webkit-user-select:none;user-select:none;background:#f8fafc;justify-content:flex-end;align-items:center;padding-right:2px;font-size:11px;display:flex}.gc-label-row.selected .gc-label-line{background:#cfe0fb}.gc-corner-drag-spacer{border-right:1px solid var(--border);background:#f8fafc;height:100%}.gc-toggle{width:17px;height:17px;color:var(--text-muted);border:1px solid #0000;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:900;line-height:1;display:inline-flex}.gc-toggle.summary-toggle{background:#ffffffe0;box-shadow:0 0 0 2px #ffffff80}.gc-toggle:hover{background:#fff}.gc-toggle-spacer{flex-shrink:0;width:14px;display:inline-block}.gc-milestone-icon{color:#7c3aed;flex-shrink:0;font-size:11px}.gc-row-drag-handle{cursor:grab;opacity:.42;background:0 0;border:1px solid #0000;border-radius:4px;grid-template-columns:12px;grid-auto-rows:2px;place-content:center start;justify-self:start;gap:3px;width:14px;height:22px;padding:0;display:grid}.gc-row-drag-handle span{background:linear-gradient(#f8fafc 0%,#94a3b8 45%,#475569 100%);border-radius:999px;width:12px;height:2px;box-shadow:0 1px #ffffffd9,0 1px 2px #0f172a2e}.gc-row-drag-handle:hover,.gc-row-drag-handle:focus{opacity:.9;background:#fff;border-color:#cbd5e1;outline:none}.gc-row-drag-handle:active{cursor:grabbing}.gc-label-name-cell{align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.gc-label-content{flex-direction:column;flex:1;justify-content:center;gap:1px;min-width:0;display:flex;overflow:hidden}.gc-label-text{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;display:block;overflow:hidden}.gc-label-text.summary{color:var(--text-primary);font-weight:700}.gc-label-msp-line{color:#475569;letter-spacing:.02em;vertical-align:1px;background:#e2e8f0;border-radius:4px;align-items:center;height:14px;margin-right:5px;padding:0 4px;font-size:9px;font-weight:800;display:inline-flex}.gc-label-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:10px;line-height:1.15;display:block;overflow:hidden}.gc-label-row.roomy .gc-label-text{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.15;display:-webkit-box}.gc-label-row.has-meta .gc-toggle,.gc-label-row.has-meta .gc-toggle-spacer,.gc-label-row.has-meta .gc-milestone-icon,.gc-label-row.has-meta .gc-row-menu-btn{align-self:center}.gc-label-inline-edit{min-width:0;font-family:inherit;font-size:11px;font-weight:inherit;color:var(--text-primary);background:var(--bg-surface);border:none;border-bottom:2px solid var(--accent);border-radius:0;outline:none;flex:1;padding:0 2px}.gc-label-date,.gc-label-duration{width:100%;min-width:0;height:21px;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:4px;padding:1px 3px;font-family:inherit;font-size:10px}.gc-label-date-cell{align-items:center;gap:2px;width:100%;min-width:0;height:21px;display:flex}.gc-label-date{flex:1}.gc-label-date-picker-btn{width:18px;height:19px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;font-size:11px;line-height:1}.gc-label-date-picker-btn:hover,.gc-label-date-picker-btn:focus{color:var(--accent);background:#fff;border-color:#bfdbfe;outline:none}.gc-label-date-picker-btn:disabled{opacity:.35;cursor:default}.gc-label-date-native{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;right:0}.gc-label-duration{text-align:right}.gc-label-date:hover,.gc-label-duration:hover,.gc-label-date:focus,.gc-label-duration:focus{background:#fff;border-color:#bfdbfe;outline:none}.gc-label-date:disabled,.gc-label-duration:disabled{color:var(--text-muted);opacity:.68}.gc-row-menu-btn{letter-spacing:-1px;color:#0000;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-left:auto;font-size:11px;transition:color .1s,background .1s;display:flex}.gc-label-row:hover .gc-row-menu-btn,.gc-label-row.selected .gc-row-menu-btn{color:var(--text-muted)}.gc-row-menu-btn:hover{color:var(--text-secondary);background:#0000000f}.gc-edit-grid{grid-template-columns:auto 1fr;align-items:center;gap:7px 10px;display:grid}.gc-edit-grid label{color:var(--text-muted);white-space:nowrap;font-size:11px}.gc-edit-grid input{color:var(--text-primary);border:1px solid var(--border);background:var(--bg-surface);box-sizing:border-box;border-radius:4px;width:100%;padding:4px 6px;font-family:inherit;font-size:12px}.gc-edit-grid input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #2563eb26}.gc-edit-error{color:var(--danger);margin-top:7px;font-size:11px}.gc-edit-apply{background:var(--accent);color:#fff;cursor:pointer;border-radius:5px;width:100%;margin-top:10px;padding:6px;font-size:12px;font-weight:600}.gc-edit-apply:hover{background:var(--accent-hover)}.gc-edit-convert{width:100%;color:var(--text-muted);border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;border-radius:5px;margin-top:6px;padding:5px;font-size:11px}.gc-edit-convert:hover{background:var(--bg-hover);color:var(--text-secondary)}.gc-prop-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;margin-top:10px;padding:10px}.gc-prop-box h4{color:#9a3412;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:800}.gc-prop-box p{color:#9a3412;margin-bottom:8px;font-size:11px}.gc-prop-actions{flex-direction:column;gap:5px;display:flex}.gc-prop-actions button{text-align:left;border-radius:4px;width:100%;padding:5px 7px;font-size:11px;font-weight:650}.gc-prop-actions button:disabled{opacity:.45;cursor:not-allowed}.gc-prop-primary{color:#fff;background:#f97316}.gc-prop-secondary{color:#9a3412;background:#ffedd5;border:1px solid #fdba74}.gc-prop-cancel{color:var(--text-muted);background:0 0}.gc-prop-preview{color:#9a3412;flex-direction:column;gap:3px;margin-top:8px;padding-left:14px;font-size:11px;display:flex}.gc-edit-computed{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.gc-edit-readonly-note{color:var(--text-muted);margin-top:7px;font-size:11px;font-style:italic}.gc-detail{background:var(--bg-surface);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:340px;display:flex;overflow:hidden;box-shadow:-4px 0 16px #0f172a14}.gc-ph{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 12px 8px}.gc-ph-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.gc-ph-spacer{flex:1}.gc-ph-close{width:24px;height:24px;color:var(--text-muted);border-radius:4px;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex}.gc-ph-close:hover{background:var(--bg-hover);color:var(--text-primary)}.gc-ph-name{box-sizing:border-box;width:100%;color:var(--text-primary);background:0 0;border:none;border-radius:4px;margin:0 -4px;padding:2px 4px;font-family:inherit;font-size:14px;font-weight:700;display:block}.gc-ph-name:hover{background:var(--bg-hover)}.gc-ph-name:focus{background:#eff6ff;outline:none}.gc-type-chip{text-transform:uppercase;letter-spacing:.06em;color:#fff;border-radius:10px;flex-shrink:0;align-items:center;padding:2px 8px;font-size:9px;font-weight:700;display:inline-flex}.gc-type-chip--task{background:#2563eb}.gc-type-chip--milestone{background:#7c3aed}.gc-type-chip--summary{background:#0f766e}.gc-type-chip--phase,.gc-type-chip--lot{background:#0369a1}.gc-msp-line-chip{color:#475569;letter-spacing:.02em;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;flex-shrink:0;align-items:center;height:18px;padding:0 7px;font-size:10px;font-weight:800;display:inline-flex}.gc-tabs{border-bottom:2px solid var(--border);background:var(--bg-surface);flex-shrink:0;display:flex}.gc-tab-btn{color:var(--text-muted);border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:4px;margin-bottom:-2px;padding:8px 4px;font-size:11px;font-weight:500;transition:color .1s;display:flex}.gc-tab-btn:hover{color:var(--text-secondary)}.gc-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.gc-tab-badge{background:var(--danger);color:#fff;border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;display:inline-flex}.gc-tab-count{background:var(--bg-card);min-width:14px;height:14px;color:var(--text-muted);border:1px solid var(--border);border-radius:7px;justify-content:center;align-items:center;padding:0 3px;font-size:9px;font-weight:700;display:inline-flex}.gc-tab-content{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.gc-status-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.gc-status-badge{border-radius:12px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.gc-status-done{color:#15803d;background:#dcfce7}.gc-status-in_progress{color:#1d4ed8;background:#dbeafe}.gc-status-not_started{color:#64748b;background:#f1f5f9}.gc-status-late{color:#dc2626;background:#fee2e2}.gc-status-at_risk{color:#c2410c;background:#fff7ed}.gc-status-unknown{color:#94a3b8;background:#f1f5f9}.gc-delay-pill{color:#dc2626;background:#fee2e2;border-radius:12px;padding:3px 8px;font-size:10px;font-weight:700}.gc-computed-pill{color:#1d4ed8;background:#eff6ff;border-radius:12px;padding:3px 8px;font-size:10px;font-weight:600}.gc-form-2col{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.gc-form-field{flex-direction:column;gap:3px;min-width:0;display:flex}.gc-form-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.gc-form-field input,.gc-form-field select{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-surface);width:100%;min-width:0;color:var(--text-primary);border-radius:5px;padding:6px 8px;font-family:inherit;font-size:12px}.gc-form-field input[type=date]{max-width:100%}.gc-form-field input:focus,.gc-form-field select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #2563eb1f}.gc-date-text-field{align-items:center;gap:6px;width:100%;min-width:0;display:flex;position:relative}.gc-form-field .gc-date-text-field input[type=text],.gc-linked-action-box .gc-date-text-field input[type=text]{flex:1;min-width:0}.gc-date-picker-btn{border:1px solid var(--border);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:#fff;border-radius:5px;flex-shrink:0;font-size:13px}.gc-date-picker-btn:hover,.gc-date-picker-btn:focus{color:var(--accent);background:#eff6ff;border-color:#bfdbfe;outline:none}.gc-date-popover{z-index:80;background:#fff;border:1px solid #cbd5e1;border-radius:7px;width:min(254px,100vw - 24px);padding:8px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 14px 32px #0f172a2e}.gc-date-popover-head{grid-template-columns:30px 1fr 30px;align-items:center;gap:6px;margin-bottom:7px;display:grid}.gc-date-popover-head strong{text-align:center;color:var(--text-primary);text-transform:capitalize;font-size:12px}.gc-date-popover-head button{border:1px solid var(--border);width:30px;height:26px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:5px;font-size:16px;font-weight:900}.gc-date-popover-head button:hover{color:var(--accent);background:#eff6ff;border-color:#bfdbfe}.gc-date-weekdays,.gc-date-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.gc-date-weekdays{margin-bottom:3px}.gc-date-weekdays span{text-align:center;color:var(--text-muted);font-size:10px;font-weight:800}.gc-date-days button{height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;font-size:12px;font-weight:700}.gc-date-days button:hover{color:var(--accent);background:#eff6ff;border-color:#bfdbfe}.gc-date-days button.muted{color:#cbd5e1;font-weight:600}.gc-date-days button.today{border-color:#93c5fd}.gc-date-days button.selected{background:var(--accent);border-color:var(--accent);color:#fff}.gc-form-field--full{grid-column:1/-1}.gc-progress-shortcuts{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid}.gc-progress-shortcuts button{border:1px solid var(--border);height:24px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:5px;font-size:11px;font-weight:700}.gc-progress-shortcuts button:after{content:"%";color:var(--text-muted);font-weight:600}.gc-progress-shortcuts button:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.gc-progress-shortcuts button.active{background:var(--accent);border-color:var(--accent);color:#fff}.gc-progress-shortcuts button.active:after{color:#ffffffc7}.gc-form-actions{gap:6px;display:flex}.gc-btn-apply{background:var(--accent);color:#fff;cursor:pointer;border-radius:5px;flex:1;padding:7px;font-size:12px;font-weight:600}.gc-btn-apply:hover{background:var(--accent-hover)}.gc-btn-convert{border:1px solid var(--border);color:var(--text-muted);background:var(--bg-surface);cursor:pointer;border-radius:5px;padding:7px 10px;font-size:11px;font-weight:500}.gc-btn-convert:hover{background:var(--bg-hover);color:var(--text-secondary)}.gc-linked-action-box{border:1px solid var(--border);background:#fff;border-radius:7px;flex-direction:column;gap:8px;padding:10px;display:flex}.gc-linked-note-box{background:#f8fafc}.gc-action-textarea{resize:vertical;box-sizing:border-box;border:1px solid var(--border);width:100%;min-height:62px;color:var(--text-primary);background:var(--bg-surface);border-radius:6px;padding:7px 8px;font-family:inherit;font-size:12px;line-height:1.35}.gc-action-textarea:focus,.gc-action-grid input:focus,.gc-action-grid select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #2563eb1f}.gc-action-grid{grid-template-columns:1fr 1fr 120px;gap:8px;display:grid}.gc-action-grid label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:3px;font-size:10px;font-weight:700;display:flex}.gc-action-grid input,.gc-action-grid select{border:1px solid var(--border);height:28px;color:var(--text-primary);background:var(--bg-surface);border-radius:5px;padding:0 7px;font-family:inherit;font-size:12px}.gc-action-create,.gc-note-create{cursor:pointer;border-radius:5px;align-self:flex-start;padding:7px 10px;font-size:12px;font-weight:700}.gc-action-create{background:var(--accent);color:#fff}.gc-action-create:hover{background:var(--accent-hover)}.gc-note-create{color:var(--text-secondary);border:1px solid var(--border);background:#f1f5f9}.gc-note-create:hover{background:#e2e8f0}.gc-linked-existing{flex-direction:column;gap:6px;display:flex}.gc-task-action-row{grid-template-columns:auto 1fr;align-items:baseline;gap:2px 7px;display:grid}.gc-task-action-row strong{color:var(--text-primary);font-size:12px;line-height:1.3}.gc-task-action-row>span:last-child{color:var(--text-muted);grid-column:2;font-size:11px}.gc-task-action-kind{color:#1d4ed8;background:#dbeafe;border-radius:4px;padding:2px 5px;font-size:10px;font-weight:800}.gc-task-note-row .gc-task-action-kind{color:#6d28d9;background:#f5f3ff}.gc-pilotage-edit{border:1px solid var(--border);background:#fff;border-radius:7px;flex-direction:column;gap:8px;padding:10px;display:flex}.gc-pilotage-edit .gc-form-field>span,.gc-resource-picker>span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.gc-resource-picker{flex-direction:column;gap:5px;display:flex}.gc-wp-search{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:6px;padding:4px 8px;font-size:12px}.gc-resource-picker-list{flex-wrap:wrap;gap:5px;max-height:112px;display:flex;overflow:auto}.gc-resource-pick{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:5px;min-height:24px;padding:3px 7px;font-size:11px;font-weight:700;display:inline-flex}.gc-resource-pick input{margin:0}.gc-ro-grid{background:var(--bg-card);border-radius:6px;grid-template-columns:auto 1fr;align-items:baseline;gap:5px 10px;padding:8px 10px;display:grid}.gc-ro-grid span{color:var(--text-muted);font-size:11px}.gc-ro-grid strong{color:var(--text-secondary);overflow-wrap:anywhere;font-size:12px;font-weight:600}.gc-ctx-block{background:var(--bg-card);border-radius:6px;grid-template-columns:auto 1fr;align-items:baseline;gap:4px 8px;padding:8px 10px;display:grid}.gc-ctx-block span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.gc-ctx-block strong{color:var(--text-secondary);overflow-wrap:anywhere;font-size:11px}.gc-ctx-desc{font-style:italic;color:var(--text-muted)!important}.gc-assign-row{align-items:center;gap:6px;min-height:28px;display:flex}.gc-assign-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;width:64px;font-size:10px;font-weight:700}.gc-assign-chips{flex-wrap:wrap;flex:1;align-items:center;gap:4px;display:flex}.gc-assign-chip{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:3px;padding:2px 6px 2px 8px;font-size:11px;font-weight:600;display:inline-flex}.gc-assign-chip button{color:#93c5fd;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;line-height:1}.gc-assign-chip button:hover{color:#1d4ed8}.gc-tag-chip{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.gc-tag-chip button{color:#a78bfa}.gc-tag-chip button:hover{color:#6d28d9}.gc-assign-add{color:#3b82f6;cursor:pointer;appearance:none;background:0 0;border:1px dashed #bfdbfe;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.gc-assign-add:hover{background:#eff6ff}.gc-assign-empty{color:var(--text-muted);font-size:11px;font-style:italic}.gc-tag-detail-row{align-items:flex-start}.gc-tag-detail-input{width:88px;min-height:22px;color:var(--text-secondary);background:#fff;border:1px dashed #ddd6fe;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.gc-tag-detail-input:focus{border-color:#8b5cf6;outline:none}.gc-tag-detail-add{color:#6d28d9;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:999px;min-height:22px;padding:2px 8px;font-size:11px;font-weight:700}.gc-tag-detail-add:disabled{opacity:.45;cursor:not-allowed}.gc-tag-detail-add:not(:disabled):hover{background:#ede9fe}.gc-res-chips{flex-wrap:wrap;gap:5px;display:flex}.gc-res-chip{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:3px 9px;font-size:11px;font-weight:500}.gc-links-section{flex-direction:column;gap:6px;display:flex}.gc-links-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.gc-detail h3{color:var(--text-muted);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800}.gc-detail p{color:var(--text-secondary);font-size:12px}.gc-ref{display:contents}.gc-detail-list,.gc-detail-issues{flex-direction:column;gap:6px;list-style:none;display:flex}.gc-detail-list li{min-width:0;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.gc-detail-list button{min-width:0;color:var(--accent);text-align:left;overflow-wrap:anywhere}.gc-detail-list button:hover{text-decoration:underline}.gc-detail-list em{color:var(--text-muted);text-transform:uppercase;flex-shrink:0;font-size:10px;font-style:normal}.gc-detail-empty{color:var(--text-muted);font-size:12px}.gc-detail-issues li{border-left:3px solid var(--warning);color:#9a3412;background:#fff7ed;padding:8px;font-size:12px}.gc-issue-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.gc-issue-actions button{cursor:pointer;border-radius:4px;padding:4px 7px;font-size:11px;font-weight:650}.gc-issue-fix{color:#fff;background:#f97316}.gc-issue-break{color:#9a3412;background:#ffedd5;border:1px solid #fdba74}.gantt-view.has-detail .gc-floating-today{right:380px}.gc-floating-today{z-index:20;color:#fff;background:#f97316;border:none;border-radius:20px;padding:6px 16px;font-size:12px;font-weight:600;position:absolute;bottom:16px;right:20px;box-shadow:0 2px 8px #0003}.gc-floating-today:hover{background:#ea6c0a}.gc-empty{color:var(--text-muted);padding:32px}.gc-issues-panel{z-index:15;background:var(--bg-surface);border-left:1px solid var(--border);flex-direction:column;width:340px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-6px 0 24px #0f172a24}.gc-issues-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.gc-issues-panel-title{color:var(--text-primary);font-size:13px;font-weight:700}.gc-issues-panel-close{width:24px;height:24px;color:var(--text-muted);border-radius:4px;justify-content:center;align-items:center;font-size:16px;display:flex}.gc-issues-panel-close:hover{background:var(--bg-hover);color:var(--text-primary)}.gc-issues-panel-body{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.gc-issues-task-group{background:var(--bg-card);border-radius:6px;flex-direction:column;gap:5px;padding:8px 10px;display:flex}.gc-issues-task-name{color:var(--accent);text-align:left;margin-bottom:2px;font-size:12px;font-weight:700}.gc-issues-task-name:hover{text-decoration:underline}.gc-issues-item{border-left:3px solid;border-radius:4px;flex-direction:column;gap:5px;padding:7px 9px;display:flex}.gc-issues-item-header{justify-content:space-between;align-items:center;display:flex}.gc-issues-item-type{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:9px;font-weight:700}.gc-issues-sev-chip{border-radius:8px;padding:1px 6px;font-size:9px;font-weight:700}.gc-issues-sev-block{color:#dc2626;background:#fee2e2}.gc-issues-item-msg{color:var(--text-secondary);font-size:11px;line-height:1.4}.gc-btn-issues{border:1px solid var(--border);color:var(--text-muted);background:var(--bg-surface);border-radius:4px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;display:flex}.gc-btn-issues:hover{background:var(--bg-hover)}.gc-btn-issues.has-issues{color:#c2410c;background:#fff7ed;border-color:#fdba74}.gc-btn-issues.has-issues:hover{background:#ffedd5}.gc-btn-issues.active{color:#c2410c;background:#fff7ed;border-color:#f97316}.gc-issues-badge{color:#fff;background:#dc2626;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:800;display:inline-flex}.gc-dep-drag-error{color:#c2410c;background:#fff7ed;border:1px solid #fdba74;border-radius:6px;padding:4px 8px;font-size:11px}.gc-dep-port{opacity:0;transition:opacity .1s}svg g:hover>.gc-dep-port,.gc-dep-port:hover{opacity:1}.gc-dep-port--input circle:last-child{stroke:#f97316}.gc-dep-port--output circle:last-child{stroke:#2563eb}.gc-link-popover{z-index:260;background:#fff;border:1px solid #bfdbfe;border-radius:7px;width:190px;padding:9px;position:fixed;box-shadow:0 8px 24px #0f172a29}.gc-recalc-popover{z-index:261;background:#fff;border:1px solid #bfdbfe;border-radius:9px;width:260px;padding:12px;position:fixed;transform:translate(12px,12px);box-shadow:0 12px 30px #0f172a33}.gc-recalc-title{color:var(--text-primary);margin-bottom:4px;font-size:12.5px;font-weight:850}.gc-recalc-sub{color:var(--text-secondary);margin-bottom:9px;font-size:11px;line-height:1.45}.gc-recalc-warn{color:var(--warning);margin-bottom:9px;font-size:11px;font-weight:700}.gc-recalc-actions{flex-direction:column;gap:6px;display:flex}.gc-recalc-push,.gc-recalc-earliest{text-align:left;cursor:pointer;border-radius:6px;flex-direction:column;gap:1px;width:100%;padding:7px 9px;display:flex}.gc-recalc-label{font-size:12px;font-weight:800}.gc-recalc-help{opacity:.82;font-size:10px;font-weight:500;line-height:1.3}.gc-recalc-push{background:var(--accent);color:#fff;border:none}.gc-recalc-earliest{color:#c2410c;background:#fff7ed;border:1px solid #fdba74}.gc-recalc-footer{gap:6px;margin-top:2px;display:flex}.gc-recalc-keep,.gc-recalc-cancel{text-align:center;cursor:pointer;border-radius:6px;flex:1;padding:7px 9px;font-size:11.5px;font-weight:750}.gc-recalc-keep{color:#334155;border:1px solid var(--border);background:#f8fafc}.gc-recalc-keep:hover{background:#eef2f7}.gc-recalc-cancel{color:#b91c1c;background:#fff;border:1px solid #fecaca}.gc-recalc-cancel:hover{background:#fef2f2}.gc-recalc-push:disabled{opacity:.45;cursor:not-allowed}.gc-link-popover-title{color:var(--text-primary);margin-bottom:7px;font-size:12px;font-weight:850}.gc-link-popover-row{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.gc-link-type{border:1px solid var(--border);color:#475569;background:#f8fafc;border-radius:4px;padding:4px 0;font-size:11px;font-weight:800}.gc-link-type.active{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.gc-link-lag{color:var(--text-muted);align-items:center;gap:6px;margin-top:8px;font-size:11px;display:flex}.gc-link-lag input{border:1px solid var(--border);width:54px;height:26px;font:inherit;color:var(--text-primary);border-radius:4px;padding:3px 5px}.gc-link-actions{justify-content:flex-end;gap:6px;margin-top:9px;display:flex}.gc-link-create,.gc-link-cancel{border-radius:4px;padding:4px 8px;font-size:11px;font-weight:800}.gc-link-create{color:#fff;background:#2563eb}.gc-link-create:hover{background:#1d4ed8}.gc-link-cancel{border:1px solid var(--border);color:#475569;background:#fff}.gc-link-cancel:hover{background:var(--bg-hover)}.gc-inline-issues{flex-direction:column;gap:5px;display:flex}.gc-issue-inline{border-left:3px solid;border-radius:5px;align-items:flex-start;gap:8px;padding:7px 9px;font-size:11px;display:flex}.gc-issue-inline--warning{color:#9a3412;background:#fff7ed;border-left-color:#f97316}.gc-issue-inline--blocking{color:#991b1b;background:#fff1f2;border-left-color:#dc2626}.gc-issue-inline-msg{flex:1;line-height:1.4}.gc-issue-inline-fix{color:#fff;white-space:nowrap;cursor:pointer;background:#f97316;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700}.gc-issue-inline-fix:hover{background:#ea6c0a}.gc-btn-add{color:var(--accent);font-weight:600}.gc-btn-add:hover,.gc-label-row.selected,.gc-label-row.selected.is-summary{background:#dbeafe}.gc-label-row.drop-inside,.gc-label-row.selected.drop-inside,.gc-label-row.selected.is-summary.drop-inside{background:#eff6ff;box-shadow:inset 0 0 0 2px #60a5fa}.gc-btn-group{color:var(--text-muted);border-color:var(--border)}.gc-btn-group-valid{color:var(--accent);border-color:var(--accent);background:#eff6ff;font-weight:600}.gc-btn-group-valid:hover{background:#dbeafe}.gc-detail-name-input{box-sizing:border-box;width:100%;color:var(--text-primary);background:0 0;border:none;border-bottom:1px dashed #0000;border-radius:0;margin:0;padding:2px 0;font-family:inherit;font-size:16px;font-weight:700;display:block}.gc-detail-name-input:hover{border-bottom-color:var(--border)}.gc-detail-name-input:focus{border-bottom-color:var(--accent);background:#f0f6ff;border-radius:3px;outline:none;padding:2px 4px}.gc-detail-list li.gc-dep-row{border:1px solid var(--border);background:#fff;border-radius:7px;align-items:stretch;gap:6px;padding:7px}.gc-dep-jump{text-align:left;min-width:0;color:var(--text-primary);flex-direction:column;flex:1;gap:5px;display:flex}.gc-detail-list .gc-dep-jump:hover{text-decoration:none}.gc-dep-main{grid-template-columns:auto 1fr;align-items:center;gap:7px;min-width:0;display:grid}.gc-dep-main strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-size:12px;font-weight:800;overflow:hidden}.gc-dep-type{color:#3730a3;white-space:nowrap;background:#eef2ff;border-radius:5px;padding:2px 6px;font-size:10px;font-weight:850}.gc-dep-dates{flex-wrap:wrap;gap:4px;display:flex}.gc-dep-dates span{color:var(--text-muted);background:#f1f5f9;border-radius:4px;align-items:center;gap:3px;padding:2px 5px;font-size:10px;font-weight:650;display:inline-flex}.gc-dep-dates strong{color:var(--text-secondary);font-weight:800}.gc-path-target{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;grid-template-columns:auto 1fr;gap:3px 8px;padding:9px 10px;display:grid}.gc-path-target span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:800}.gc-path-target strong{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:850;overflow:hidden}.gc-path-target em{color:var(--text-secondary);grid-column:2;font-size:11px;font-style:normal}.gc-path-note{border:1px dashed var(--border);color:var(--text-muted);background:#f8fafc;border-radius:7px;padding:8px 10px;font-size:11px;line-height:1.4}.gc-path-open-view{background:var(--accent);color:#fff;border-radius:7px;padding:7px 10px;font-size:12px;font-weight:800}.gc-path-open-view:hover{background:#1d4ed8}.gc-path-section{flex-direction:column;gap:7px;display:flex}.gc-path-group{flex-direction:column;gap:5px;display:flex}.gc-path-group-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:850}.gc-path-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.gc-path-row{margin:0;padding:0}.gc-path-main{border:1px solid var(--border);text-align:left;background:#fff;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 7px;width:100%;padding:7px;display:grid}.gc-path-main:hover{background:#f8fafc;border-color:#bfdbfe}.gc-path-main strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-size:12px;font-weight:850;overflow:hidden}.gc-path-status{white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:850}.gc-path-dates,.gc-path-meta{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:10px;overflow:hidden}.gc-path-meta{color:var(--text-secondary)}.gc-dep-edit{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;align-self:flex-start;font-size:12px}.gc-dep-delete{height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;align-self:flex-start;padding:0 6px;font-size:14px;line-height:22px}.gc-dep-delete:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.gc-dep-form{flex-direction:column;gap:6px;margin-top:10px;display:flex}.gc-dep-form h4{text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em;margin:0 0 4px;font-size:11px;font-weight:600}.gc-dep-form select,.gc-dep-form input[type=number]{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);border-radius:4px;padding:4px 6px;font-family:inherit;font-size:12px}.gc-dep-form select{width:100%}.gc-dep-form input[type=number]{width:60px}.gc-dep-form>div{align-items:center;gap:6px;display:flex}.gc-dep-add-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:600}.gc-dep-add-btn:hover{background:#1d4ed8}.gc-ctx-menu{z-index:200;background:var(--bg-surface);border:1px solid var(--border);border-radius:7px;min-width:210px;padding:4px 0;position:fixed;box-shadow:0 6px 20px #00000021}.gc-ctx-menu button{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:7px 14px;font-family:inherit;font-size:13px;display:block}.gc-ctx-menu button:hover{background:var(--bg-hover);color:var(--text-primary)}.gc-ctx-sep{background:var(--border);height:1px;margin:4px 0}.gc-ctx-danger{color:var(--danger)!important}.gc-ctx-danger:hover{background:#fee2e2!important}.gc-dep-edit{height:22px;color:var(--text-muted);border:1px solid #0000;border-radius:3px;flex-shrink:0;padding:0 5px;font-size:12px}.gc-dep-edit:hover{color:var(--accent);background:#eff6ff;border-color:#bfdbfe}.gc-dep-edit-form{flex:1;align-items:center;gap:4px;display:flex}.gc-dep-edit-form select{border:1px solid var(--border);background:var(--bg-surface);border-radius:3px;padding:2px 4px;font-size:11px}.gc-dep-save{background:var(--accent);color:#fff;border-radius:3px;padding:2px 7px;font-size:12px;font-weight:600}.gc-dep-cancel-edit{color:var(--text-muted);border:1px solid var(--border);border-radius:3px;padding:2px 6px;font-size:12px}.gc-btn-recalc{width:100%;color:var(--accent);border:1px solid var(--accent);cursor:pointer;background:#eff6ff;border-radius:5px;padding:6px;font-size:12px;font-weight:600}.gc-btn-recalc:hover{background:#dbeafe}.gc-autosched-box{flex-direction:column;gap:8px;display:flex}.gc-autosched-box h4{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:700}.gc-autosched-summary{color:var(--text-secondary);flex-direction:column;gap:3px;font-size:11px;display:flex}.gc-autosched-warn{color:var(--warning);font-weight:600}.gc-autosched-actions{flex-direction:column;gap:5px;display:flex}.gc-autosched-push{text-align:left;background:var(--accent);color:#fff;cursor:pointer;border-radius:4px;width:100%;padding:5px 8px;font-size:12px;font-weight:600}.gc-autosched-push:disabled{opacity:.45;cursor:not-allowed}.gc-autosched-earliest{text-align:left;border:1px solid var(--accent);width:100%;color:var(--accent);cursor:pointer;background:#eff6ff;border-radius:4px;padding:5px 8px;font-size:12px;font-weight:600}.gc-autosched-earliest:disabled{opacity:.45;cursor:not-allowed}.gc-autosched-cancel{color:var(--text-muted);background:0 0;font-size:11px}.gc-delete-section{background:#fafafa}.gc-delete-btn{width:100%;color:var(--danger);cursor:pointer;background:0 0;border:1px solid #fca5a5;border-radius:5px;padding:6px;font-size:12px}.gc-delete-btn:hover{background:#fee2e2}.gc-delete-confirm-msg{color:var(--text-secondary);margin-bottom:8px;font-size:11px;line-height:1.4}.gc-delete-actions{gap:8px;display:flex}.gc-delete-yes{background:var(--danger);color:#fff;cursor:pointer;border-radius:4px;flex:1;padding:5px 8px;font-size:12px;font-weight:600}.gc-delete-yes:hover{background:#b91c1c}.gc-delete-cancel{border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-surface);cursor:pointer;border-radius:4px;flex:1;padding:5px 8px;font-size:12px}.gc-delete-cancel:hover{background:var(--bg-hover)}.week-view{background:#eef2f7;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.week-toolbar{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;align-items:center;gap:8px;height:44px;padding:0 14px;display:flex}.week-toolbar-title{color:var(--text-primary);margin-right:8px;font-size:13px;font-weight:700}.week-btn{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);border-radius:6px;padding:5px 10px;font-size:12px}.week-btn:hover{background:var(--bg-hover)}.week-btn-today{color:#fff;background:#f97316;border-color:#fb923c;font-weight:700}.week-btn-today:hover{background:#ea580c}.week-range{color:var(--text-muted);margin-left:8px;font-size:12px}.week-layout{flex:1;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.week-layout.has-detail{grid-template-columns:minmax(0,1fr) 360px}.week-content{min-width:0;min-height:0;padding:12px;overflow:hidden}.week-columns{grid-template-columns:repeat(3,minmax(240px,1fr));gap:10px;min-width:760px;height:100%;min-height:0;display:grid}.week-column{border:1px solid var(--border);background:var(--bg-surface);border-radius:8px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.week-column.current{border-color:#93c5fd;box-shadow:0 0 0 1px #2563eb1f}.week-column.today-week{border-color:#f97316;box-shadow:0 0 0 1px #f9731638}.week-column.current.today-week{box-shadow:0 0 0 1px #f9731647}.week-column-header{border-bottom:1px solid var(--border);z-index:2;background:#f8fafc;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex;position:sticky;top:0}.week-column-heading{flex-direction:column;gap:1px;min-width:0;display:flex}.week-column-title{color:var(--text-primary);font-size:13px;font-weight:800}.week-column-dates{color:var(--text-muted);white-space:nowrap;font-size:11px}.week-ongoing-toggle{border:1px solid var(--border);color:#475569;white-space:nowrap;background:#fff;border-radius:5px;flex:none;padding:3px 7px;font-size:11px;font-weight:700}.week-ongoing-toggle:hover:not(:disabled){color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.week-ongoing-toggle.active{color:#fff;background:#2563eb;border-color:#2563eb}.week-ongoing-toggle:disabled{opacity:.45;cursor:default}.week-task-list{flex-direction:column;gap:6px;padding:8px;display:flex}.week-column-scroll{flex:1;min-height:0;overflow:auto}.week-group-list{flex-direction:column;gap:8px;padding:8px;display:flex}.week-group-list>.week-empty{padding:4px}.week-n1-group{--week-group-color:#2563eb;--week-group-bg:#eff6ff;--week-subgroup-bg:#f8fafcf5;border-left:4px solid var(--week-group-color);padding-left:7px;overflow:visible}.week-n1-group:nth-child(2n){--week-group-color:#0891b2;--week-group-bg:#ecfeff;--week-subgroup-bg:#ecfeffeb}.week-n1-title{z-index:3;background:var(--week-group-bg);color:var(--week-group-color);text-overflow:ellipsis;white-space:nowrap;border-radius:5px;margin:-1px 0 5px;padding:3px 5px;font-size:11px;font-weight:850;position:sticky;top:0;overflow:hidden}.week-n2-group+.week-n2-group{margin-top:7px}.week-n2-title{z-index:2;background:var(--week-subgroup-bg);color:#475569;text-transform:uppercase;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;margin:0 0 4px;padding:2px 5px;font-size:10px;font-weight:800;position:sticky;top:24px;overflow:hidden}.week-column-ongoing{border-top:1px solid var(--border);background:#fbfdff}.week-column-ongoing-title{color:#475569;text-transform:uppercase;letter-spacing:.04em;padding:7px 10px 0;font-size:11px;font-weight:800}.week-empty{color:var(--text-muted);padding:12px 4px;font-size:12px}.week-card{text-align:left;width:100%;color:var(--text-primary);background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:8px}.week-card.summary{background:#f8fbff;border-left:3px solid #2563eb}.week-card.milestone{border-left:3px solid #7c3aed}.week-card:hover{background:#f8fbff;border-color:#bfdbfe}.week-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px #2563eb2e}.week-card-title{align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:700;line-height:1.25;display:flex}.week-card-title-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.week-type{color:#475569;flex:none;font-size:10px;line-height:1}.week-card-breadcrumb{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-size:10px;font-weight:600;overflow:hidden}.week-mini-plan{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-top:7px;display:grid}.week-mini-day{background:#f1f5f9;border-radius:4px;justify-content:center;align-items:center;height:18px;display:flex;position:relative;overflow:hidden}.week-mini-day.weekend{background:#e5e7eb}.week-mini-day.holiday{background:#fee2e2}.week-mini-day.active{background:#dbeafe}.week-mini-day.active:before{content:"";background:#2563eb;position:absolute;inset:5px 0}.week-mini-day.holiday.active{background:#fee2e2}.week-mini-day.holiday.active:before{background:#dc2626}.week-mini-day.holiday .week-mini-label{color:#b91c1c}.week-mini-day.starts:before,.week-mini-day.clipped-start:before{border-top-left-radius:5px;border-bottom-left-radius:5px;left:4px}.week-mini-day.ends:before,.week-mini-day.clipped-end:before{border-top-right-radius:5px;border-bottom-right-radius:5px;right:4px}.week-mini-day.milestone:before{content:"";background:#7c3aed;border-radius:2px;width:9px;height:9px;position:absolute;inset:auto;transform:rotate(45deg)}.week-mini-day.clipped-start:after,.week-mini-day.clipped-end:after{color:#1d4ed8;font-size:9px;font-weight:800;line-height:1;position:absolute;top:3px}.week-mini-day.clipped-start:after{content:"‹";left:1px}.week-mini-day.clipped-end:after{content:"›";right:1px}.week-mini-label{z-index:1;color:#64748b;font-size:9px;font-weight:700;position:relative}.week-mini-day.active .week-mini-label{color:#fff}.week-mini-day.milestone .week-mini-label{color:#0000}.week-card-meta,.week-event-row,.week-card-context,.week-card-tags,.week-card-resources{color:var(--text-muted);flex-wrap:wrap;gap:4px;margin-top:5px;font-size:11px;display:flex}.week-event-row{gap:4px}.week-chip{color:#475569;background:#f1f5f9;border-radius:5px;align-items:center;gap:3px;max-width:100%;padding:2px 5px;display:inline-flex}.week-chip strong{color:#334155;font-weight:700}.week-status{color:#fff;font-weight:700}.week-summary-chip{color:#1d4ed8;background:#dbeafe;font-weight:800}.week-status-done{background:#16a34a}.week-status-in_progress{background:#2563eb}.week-status-not_started{background:#64748b}.week-status-late{background:#dc2626}.week-status-at_risk{background:#f97316}.week-status-unknown{background:#94a3b8}.week-alert{color:#c2410c;background:#fff7ed;font-weight:700}.week-tag-chip{color:#fff;font-weight:800;box-shadow:inset 0 0 0 1px #ffffff38}.week-event-start{color:#047857;background:#ecfdf5;font-weight:800}.week-event-end{color:#b45309;background:#fef3c7;font-weight:800}.week-event-milestone{color:#6d28d9;background:#f3e8ff;font-weight:800}.week-detail-slot{border-left:1px solid var(--border);background:var(--bg-surface);min-width:0;min-height:0}.delay-view{background:#eef2f7;flex:1;min-width:0;min-height:0;display:flex}.delay-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.delay-toolbar{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;align-items:center;gap:10px;height:44px;padding:0 14px;display:flex}.delay-title{color:var(--text-primary);font-size:13px;font-weight:800}.delay-count{color:#b91c1c;background:#fee2e2;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800}.delay-sub{color:var(--text-muted);font-size:12px}.delay-wp-filter{align-items:center;gap:6px;margin-left:auto;display:flex}.delay-wp-filter-label{color:var(--text-muted);font-size:11px;font-weight:850}.delay-wp-filter select{border:1px solid var(--border);height:28px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:6px;max-width:240px;padding:0 8px;font-family:inherit;font-size:12px}.delay-wp-filter select:focus{border-color:#2563eb;outline:none}.delay-export-btn{color:#b91c1c;cursor:pointer;white-space:nowrap;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:850}.delay-export-btn:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.delay-export-btn:disabled{opacity:.45;cursor:default}.delay-filter-clear{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:850}.delay-filter-clear:hover{background:#e0e7ff}.delay-scroll{min-height:0;padding:12px;overflow:auto}.delay-empty{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);border-radius:8px;padding:18px;font-size:13px}.delay-group-list{flex-direction:column;gap:10px;display:flex}.delay-n1-group{--delay-group-color:#dc2626;--delay-group-bg:#fef2f2;border-left:4px solid var(--delay-group-color);padding-left:8px}.delay-n1-group:nth-child(2n){--delay-group-color:#f97316;--delay-group-bg:#fff7ed}.delay-n1-title{z-index:3;background:var(--delay-group-bg);color:var(--delay-group-color);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding:5px 7px;font-size:12px;font-weight:850;display:flex;position:sticky;top:0}.delay-n1-title span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.delay-n1-count,.delay-n2-count{flex:none;font-size:11px;font-weight:800}.delay-n2-group+.delay-n2-group{margin-top:8px}.delay-n2-title{z-index:2;color:#475569;text-transform:uppercase;letter-spacing:.04em;background:#fffffff0;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;padding:3px 6px;font-size:11px;font-weight:800;display:flex;position:sticky;top:31px}.delay-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;display:grid}.delay-card{text-align:left;width:100%;color:var(--text-primary);background:#fff;border:1px solid #fecaca;border-left:3px solid #dc2626;border-radius:7px;padding:9px}.delay-card:hover{background:snow;border-color:#f87171}.delay-card.selected{border-color:#dc2626;box-shadow:0 0 0 1px #dc262633}.delay-breadcrumb{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-size:10px;font-weight:600;overflow:hidden}.delay-card-header{align-items:center;gap:6px;min-width:0;display:flex}.delay-signal-badge{letter-spacing:.03em;border:1px solid;border-radius:4px;flex:none;padding:1px 5px;font-size:10px;font-weight:800}.delay-signal-late_finish{color:#dc2626;background:#fee2e2}.delay-signal-late_start{color:#c2410c;background:#ffedd5}.delay-signal-progress_risk{color:#854d0e;background:#fef9c3}.delay-card-title-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.delay-outline{color:#64748b;font-weight:500}.delay-issue-count{color:#c2410c;flex:none;font-size:11px}.delay-meta-line{color:#475569;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;margin-top:3px;font-size:11px;display:flex;overflow:hidden}.delay-chips-row{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.delay-wp-chip{color:#5b21b6;cursor:pointer;letter-spacing:.02em;background:#ede9fe;border:0;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700}.delay-wp-chip:hover{background:#ddd6fe}.delay-res-chip{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:600}.delay-tag-chip{color:#fff;background:#475569;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800;box-shadow:inset 0 0 0 1px #ffffff38}.delay-wp-filter{color:#6366f1;cursor:pointer;opacity:.6;background:0 0;border:none;flex:none;padding:0 2px;font-size:11px}.delay-wp-filter:hover{opacity:1}.delay-deps-toggle{color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-top:5px;padding:2px 0;font-size:11px;font-weight:500;display:flex}.delay-deps-toggle:hover{color:#334155}.delay-deps-section{border-top:1px solid #f1f5f9;margin-top:4px;padding-top:6px}.delay-deps-label{letter-spacing:.08em;color:#94a3b8;margin-bottom:4px;font-size:9px;font-weight:700}.delay-dep-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;margin-bottom:4px;padding:5px 6px}.delay-dep-header{align-items:center;gap:6px;min-width:0;display:flex}.delay-dep-type{color:#3730a3;white-space:nowrap;background:#e0e7ff;border-radius:4px;flex:none;padding:1px 5px;font-size:10px;font-weight:700}.delay-dep-task{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.delay-dep-outline{color:#64748b;font-weight:400}.delay-dep-resource{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:11px;overflow:hidden}.delay-dep-meta{color:#475569;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:11px;overflow:hidden}.delay-card-title{align-items:center;gap:6px;font-size:13px;font-weight:800;line-height:1.25;display:flex}.delay-type{color:#475569;flex:none;font-size:10px}.delay-meta,.delay-context,.delay-resources{color:var(--text-muted);flex-wrap:wrap;gap:4px;margin-top:6px;font-size:11px;display:flex}.delay-primary{margin-top:7px;display:flex}.delay-chip{color:#475569;background:#f1f5f9;border-radius:5px;align-items:center;gap:3px;max-width:100%;padding:2px 6px;display:inline-flex}.delay-chip-button{cursor:pointer;border:0}.delay-chip-button:hover{filter:brightness(.97);text-decoration:underline}.delay-primary-chip{font-size:12px;font-weight:900}.delay-chip strong{color:#334155;font-weight:800}.delay-chip-late{color:#b91c1c;background:#fee2e2;font-weight:850}.delay-chip-risk{color:#c2410c;background:#ffedd5;font-weight:850}.delay-chip-alert{color:#c2410c;background:#fff7ed;font-weight:800}.delay-chip-watch{color:#854d0e;background:#fef9c3;font-weight:800}.delay-chip-wp{color:#3730a3;background:#eef2ff;font-weight:800}.delay-card-actions{justify-content:flex-end;margin-top:8px;display:flex}.delay-open-planning{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;padding:3px 8px;font-size:11px;font-weight:800}.delay-open-planning:hover{background:#dbeafe}.delay-create-action{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:5px;padding:3px 8px;font-size:11px;font-weight:800}.delay-create-action:hover{background:#dcfce7}.delay-action-form{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.delay-action-form textarea{resize:vertical;border:1px solid var(--border);width:100%;min-height:58px;font:inherit;color:var(--text-primary);border-radius:6px;padding:7px;font-size:12px}.delay-action-fields{grid-template-columns:minmax(0,1fr) 132px;gap:6px;margin-top:6px;display:grid}.delay-action-fields input{border:1px solid var(--border);width:100%;height:30px;font:inherit;border-radius:6px;padding:4px 7px;font-size:12px}.delay-action-form-actions{justify-content:flex-end;gap:6px;margin-top:7px;display:flex}.delay-action-save,.delay-action-cancel{border-radius:5px;padding:4px 9px;font-size:12px;font-weight:800}.delay-action-save{color:#fff;background:#16a34a}.delay-action-save:hover{background:#15803d}.delay-action-cancel{border:1px solid var(--border);color:#475569;background:#fff}.delay-action-cancel:hover{background:var(--bg-hover)}.delay-detail-slot{border-left:1px solid var(--border);background:var(--bg-surface);width:360px;min-width:360px;min-height:0}.actions-view{background:#eef2f7;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.actions-toolbar{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;align-items:center;gap:10px;height:44px;padding:0 14px;display:flex}.actions-title{color:var(--text-primary);font-size:13px;font-weight:800}.actions-count{color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800}.actions-note-count{color:#6d28d9;background:#f5f3ff;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800}.actions-sub{color:var(--text-muted);font-size:12px}.actions-scroll{min-height:0;padding:12px;overflow:auto}.actions-create{border:1px solid var(--border);background:#fff;border-left:3px solid #2563eb;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px;display:flex}.actions-create-head{align-items:baseline;gap:8px;display:flex}.actions-create-head strong{color:var(--text-primary);font-size:13px}.actions-create-head span{color:var(--text-muted);font-size:12px}.actions-create textarea{resize:vertical;box-sizing:border-box;border:1px solid var(--border);width:100%;min-height:48px;color:var(--text-primary);background:#fff;border-radius:6px;padding:7px 8px;font-family:inherit;font-size:13px;line-height:1.35}.actions-create-grid{grid-template-columns:minmax(140px,1fr) minmax(120px,180px) minmax(135px,170px) auto;align-items:end;gap:8px;display:grid}.actions-create-grid label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:3px;font-size:10px;font-weight:800;display:flex}.actions-create-grid input,.actions-create-grid select{border:1px solid var(--border);height:30px;color:var(--text-primary);background:#fff;border-radius:6px;padding:0 8px;font-family:inherit;font-size:12px}.actions-create textarea:focus,.actions-create-grid input:focus,.actions-create-grid select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1f}.actions-create-grid button{color:#fff;cursor:pointer;background:#2563eb;border-radius:6px;height:30px;padding:0 12px;font-size:12px;font-weight:800}.actions-create-grid button:hover{background:#1d4ed8}.actions-create-error{color:#dc2626;margin:0;font-size:12px}.actions-empty{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);border-radius:8px;padding:18px;font-size:13px}.actions-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;display:grid}.action-card{border:1px solid var(--border);background:#fff;border-left:3px solid #2563eb;border-radius:8px;padding:10px}.action-card.done{opacity:.78;border-left-color:#16a34a}.action-card.cancelled{opacity:.62;border-left-color:#94a3b8}.action-card.note{background:#fdfcff;border-left-color:#7c3aed}.action-text{color:var(--text-primary);font-size:13px;font-weight:750;line-height:1.3}.action-meta{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.action-chip{color:#475569;background:#f1f5f9;border-radius:5px;align-items:center;gap:3px;padding:2px 6px;font-size:11px;display:inline-flex}.action-chip.overdue{color:#b91c1c;background:#fee2e2;font-weight:800}.action-chip.task{color:#3730a3;background:#eef2ff}.action-chip.tag{color:#fff;background:#475569;font-weight:800;box-shadow:inset 0 0 0 1px #ffffff38}.action-chip.note{color:#6d28d9;background:#f5f3ff;font-weight:800}.action-status-row{align-items:center;gap:6px;margin-top:10px;display:flex}.action-status-row select{border:1px solid var(--border);height:28px;color:var(--text-secondary);background:#fff;border-radius:6px;font-size:12px}.action-status-row button{border:1px solid var(--border);height:28px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:6px;padding:0 8px;font-size:12px}.action-status-row button:hover{color:var(--text-primary);background:#f8fafc}.action-edit-form{flex-direction:column;gap:8px;display:flex}.action-edit-form textarea,.action-edit-form input,.action-edit-form select,.action-note-form input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-primary);background:#fff;border-radius:6px;font-family:inherit;font-size:12px}.action-edit-form textarea{resize:vertical;padding:7px 8px;line-height:1.35}.action-edit-form input,.action-edit-form select,.action-note-form input{height:28px;padding:0 8px}.action-edit-form textarea:focus,.action-edit-form input:focus,.action-edit-form select:focus,.action-note-form input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1f}.action-edit-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 140px;gap:8px;display:grid}.action-edit-grid label,.action-edit-closing{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:3px;font-size:10px;font-weight:800;display:flex}.action-edit-actions{gap:6px;display:flex}.action-edit-actions button,.action-note-form button{border:1px solid var(--border);height:28px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:6px;padding:0 9px;font-size:12px;font-weight:650}.action-edit-actions .action-save,.action-note-form button{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.action-closing-comment{color:#166534;background:#f0fdf4;border-radius:6px;margin-top:8px;padding:7px 8px;font-size:12px;line-height:1.35}.action-closing-comment strong{margin-right:4px}.action-notes{border-top:1px solid #eef2f7;flex-direction:column;gap:5px;margin-top:9px;padding-top:8px;display:flex}.action-note{color:var(--text-secondary);grid-template-columns:70px 1fr;align-items:start;gap:7px;font-size:12px;line-height:1.35;display:grid}.action-note time{color:var(--text-muted);font-size:11px;font-weight:700}.action-note-form{grid-template-columns:1fr auto;gap:6px;margin-top:9px;display:grid}.reunion-view{--nav-ink:#132238;--nav-muted:#64748b;--nav-line:#cbd5e1;--nav-blue:#2563eb;--nav-teal:#0f766e;--nav-orange:#f97316;--nav-red:#dc2626;background-color:#dbe3ee;background-image:linear-gradient(90deg,#1e293b14 1px,#0000 1px),linear-gradient(0deg,#1e293b0f 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.reunion-command{border-bottom:1px solid var(--border);background:#ffffffeb;flex-shrink:0;grid-template-columns:58px minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:84px;padding:12px 16px;display:grid}.reunion-prepare-button,.reunion-mode-pill{color:#c2410c;white-space:nowrap;background:#fff7ed;border:1px solid #fed7aa;border-radius:7px;min-height:34px;padding:0 12px;font-size:12px;font-weight:900}.reunion-prepare-button:hover{background:#ffedd5}.reunion-mode-pill{justify-content:center;align-items:center;display:inline-flex}.reunion-milestone-board{border:1px solid var(--nav-line);background:#fffffff5;border-radius:8px;flex:none;margin:12px 12px 0;overflow:hidden}.reunion-milestone-board-header{border-bottom:1px solid var(--border);background:#f8fafc;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.reunion-milestone-board-header h2{color:var(--nav-ink);margin:0;font-size:15px;font-weight:900}.reunion-milestone-legend{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.reunion-milestone-legend span{color:var(--nav-muted);align-items:center;gap:5px;font-size:10px;font-weight:800;display:inline-flex}.reunion-milestone-legend span:before{content:"";border-radius:50%;width:8px;height:8px}.reunion-milestone-legend .done:before{background:#16a34a}.reunion-milestone-legend .late:before{background:#dc2626}.reunion-milestone-legend .soon:before{background:#f97316}.reunion-milestone-legend .later:before{background:#94a3b8}.reunion-timeline{background:#fff;min-width:0;overflow-x:auto}.reunion-timeline-months{border-bottom:1px solid #cbd5e1;grid-template-columns:repeat(10,minmax(92px,1fr));min-width:920px;display:grid}.reunion-timeline-month{color:#fff;text-align:center;text-transform:capitalize;background:#06b6d4;border-right:1px solid #ffffff73;min-height:22px;font-size:11px;font-weight:900;line-height:22px}.reunion-timeline-lane{background:repeating-linear-gradient(90deg,#0000 0 calc(10% - 1px),#e2e8f0 calc(10% - 1px) 10%),linear-gradient(#fff,#f8fafc);grid-template-columns:repeat(10,minmax(92px,1fr));align-items:stretch;min-width:920px;min-height:122px;display:grid}.reunion-timeline-lane.expanded{min-height:190px}.reunion-timeline-month-cell{border-right:1px solid #e2e8f0;min-width:0;padding:7px 5px 5px;overflow:hidden}.reunion-timeline-month-cell.expanded{background:#eff6ffb8;overflow:visible}.reunion-timeline-event{grid-template-columns:10px minmax(0,1fr);align-items:start;gap:5px;min-width:0;padding:2px 0;display:grid;position:relative}.reunion-timeline-event .reunion-milestone-add{width:16px;height:16px;font-size:10px;position:absolute;top:0;right:0}.reunion-timeline-marker{background:#94a3b8;border-radius:2px;width:8px;height:8px;margin-top:5px;transform:rotate(45deg);box-shadow:0 0 0 2px #fff}.reunion-timeline-event.done .reunion-timeline-marker{background:#16a34a}.reunion-timeline-event.late .reunion-timeline-marker{background:#dc2626}.reunion-timeline-event.soon .reunion-timeline-marker{background:#f97316}.reunion-timeline-event.later .reunion-timeline-marker{background:#1e3a8a}.reunion-timeline-label{color:#1e2a5a;text-align:left;background:0 0;border:0;min-width:0;max-width:100%;padding:0;font-size:9.5px;font-weight:760;line-height:1.2}.reunion-timeline-label:disabled{cursor:default}.reunion-timeline-label strong{color:#1d4ed8;white-space:nowrap;font-size:9px;font-weight:900;display:block}.reunion-timeline-label span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.reunion-timeline-event.selected .reunion-timeline-label{color:#c2410c;font-weight:900}.reunion-timeline-selection{min-width:920px;color:var(--nav-muted);border-top:1px solid #e2e8f0;padding:5px 10px;font-size:10px;font-weight:800}.reunion-timeline-collapse{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;margin:6px 10px 8px auto;padding:3px 8px;font-size:10px;font-weight:900;display:block}.reunion-timeline-more{color:#64748b;white-space:nowrap;background:0 0;border:0;margin:2px 0 0 15px;padding:0;font-size:9px;font-weight:850;display:inline-flex}.reunion-timeline-more:hover{color:#1d4ed8;text-decoration:underline}.reunion-dashboard-icon{object-fit:contain;width:48px;height:48px}.reunion-heading{min-width:0}.reunion-kicker{color:var(--nav-teal);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900}.reunion-heading h1{color:var(--nav-ink);margin:1px 0 2px;font-size:22px;line-height:1.05}.reunion-heading p{color:var(--nav-muted);margin:0;font-size:12px}.reunion-instruments{grid-template-columns:repeat(4,86px);gap:7px;display:grid}.reunion-instruments div{background:#f8fbff;border:1px solid #dbeafe;border-radius:8px;min-width:0;padding:7px 8px}.reunion-instruments strong{color:#1d4ed8;font-size:18px;line-height:1;display:block}.reunion-instruments span{color:var(--nav-muted);white-space:nowrap;margin-top:3px;font-size:10px;font-weight:700;display:block}.reunion-layout{flex:1;grid-template-columns:minmax(0,1fr);gap:12px;min-height:0;padding:12px;display:grid}.reunion-layout.preparing{grid-template-columns:minmax(0,1fr) 330px}.reunion-chart{grid-template-columns:minmax(360px,1.08fr) minmax(360px,.92fr);gap:12px;min-width:0;min-height:0;display:grid}.reunion-route-panel{grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;min-height:0;display:grid;position:relative}.reunion-zone,.reunion-agenda{border:1px solid var(--nav-line);background:#fffffff5;border-radius:8px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.reunion-zone-hot{border-color:#fdba74;box-shadow:inset 4px 0 #f97316}.reunion-zone-done{box-shadow:inset 4px 0 #16a34a}.reunion-zone-next{box-shadow:inset 4px 0 #2563eb}.reunion-zone-milestones{box-shadow:inset 4px 0 #7c3aed}.reunion-zone-header,.reunion-agenda-header{border-bottom:1px solid var(--border);background:#f8fafc;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 12px 10px 14px;display:flex}.reunion-zone-header.compact{padding-left:28px}.reunion-zone-index{color:var(--nav-teal);letter-spacing:.08em;margin-bottom:2px;font-size:10px;font-weight:900;display:inline-block}.reunion-zone-header h2,.reunion-agenda-header h2{color:var(--nav-ink);margin:0;font-size:14px;font-weight:900}.reunion-zone-header p{color:var(--nav-muted);margin:2px 0 0;font-size:11px}.reunion-zone-header>span,.reunion-agenda-header>span{color:#075985;background:#e0f2fe;border-radius:999px;flex:none;padding:2px 8px;font-size:11px;font-weight:900}.reunion-items{min-height:0;padding:9px;overflow:auto}.reunion-items.compact{padding-left:26px}.reunion-milestone-strip{grid-auto-columns:minmax(112px,1fr);grid-auto-flow:column;align-items:stretch;gap:6px;min-height:0;padding:10px 10px 10px 28px;display:grid;overflow:auto hidden}.reunion-milestone-strip.dashboard{grid-auto-columns:minmax(118px,1fr);padding:16px 12px 12px;position:relative}.reunion-milestone-strip.dashboard:before{content:"";background:#cbd5e1;height:2px;position:absolute;top:23px;left:22px;right:22px}.reunion-milestone-dot{background:#faf5ff;border:1px solid #ddd6fe;border-top:3px solid #7c3aed;border-radius:8px;grid-template-rows:auto auto auto 1fr auto;gap:3px;min-width:108px;padding:10px 8px 8px;display:grid;position:relative}.reunion-milestone-dot:before{content:"";background:#7c3aed;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:-9px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #c4b5fd}.reunion-milestone-dot.late{background:#fff7ed;border-color:#dc2626 #fecaca #fecaca}.reunion-milestone-dot.late:before{background:#dc2626;box-shadow:0 0 0 1px #fca5a5}.reunion-milestone-dot.done{background:#f0fdf4;border-color:#16a34a #bbf7d0 #bbf7d0}.reunion-milestone-dot.done:before{background:#16a34a;box-shadow:0 0 0 1px #86efac}.reunion-milestone-dot.soon{background:#fff7ed;border-color:#f97316 #fed7aa #fed7aa}.reunion-milestone-dot.soon:before{background:#f97316;box-shadow:0 0 0 1px #fdba74}.reunion-milestone-dot.later{background:#f8fafc;border-color:#94a3b8 #e2e8f0 #e2e8f0}.reunion-milestone-dot.later:before{background:#94a3b8;box-shadow:0 0 0 1px #cbd5e1}.reunion-milestone-dot.selected{box-shadow:inset 0 0 0 1px #2563eb42}.reunion-milestone-add{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:50%;justify-self:center;width:22px;height:22px;font-size:13px;font-weight:900}.reunion-milestone-date{color:#312e81;text-align:center;white-space:nowrap;font-size:11px;font-weight:900}.reunion-milestone-count{color:#5b21b6;white-space:nowrap;background:#ede9fe;border-radius:999px;justify-self:center;padding:2px 6px;font-size:10px;font-weight:850}.reunion-milestone-label{color:var(--text-primary);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;font-weight:780;line-height:1.25;display:-webkit-box;overflow:hidden}.reunion-item{border:1px solid var(--border);background:#fff;border-left:3px solid #94a3b8;border-radius:7px;padding:8px}.reunion-item+.reunion-item{margin-top:6px}.reunion-item.done{border-left-color:#16a34a}.reunion-item.next{border-left-color:#2563eb}.reunion-item.warning{border-left-color:#f97316}.reunion-item.danger{border-left-color:#dc2626}.reunion-item.milestone{border-left-color:#7c3aed}.reunion-item.selected{background:#f8fbff;box-shadow:inset 0 0 0 1px #2563eb38}.reunion-item-main{align-items:flex-start;gap:7px;display:flex}.reunion-agenda-toggle{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:50%;flex:none;width:22px;height:22px;font-size:13px;font-weight:900}.reunion-item-text{min-width:0}.reunion-item-title{color:var(--text-primary);font-size:12px;font-weight:850;line-height:1.25}.reunion-item-subtitle{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;overflow:hidden}.reunion-item-badges{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.reunion-chip,.reunion-open-task{border-radius:5px;align-items:center;min-height:20px;padding:2px 6px;font-size:10px;display:inline-flex}.reunion-chip{color:#475569;background:#f1f5f9}.reunion-chip.wp{color:#3730a3;background:#e0e7ff;font-weight:850}.reunion-open-task{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;font-weight:800}.reunion-open-task.compact{justify-content:center;min-height:18px;padding:1px 5px;font-size:9px}.reunion-empty{color:var(--text-muted);margin:0;padding:12px;font-size:12px}.reunion-agenda{border-color:#99f6e4;box-shadow:inset 0 3px #0f766e}.reunion-invitees{background:#f8fbff;border:1px solid #dbeafe;border-radius:8px;flex-direction:column;gap:8px;margin:8px 8px 12px;padding:10px;display:flex}.reunion-invitees header{justify-content:space-between;align-items:center;gap:8px;display:flex}.reunion-invitees strong{color:var(--nav-ink);font-size:12px;font-weight:900}.reunion-invitees header span{color:#2563eb;font-size:10px;font-weight:900}.reunion-invitee-form{grid-template-columns:1fr 1fr;gap:6px;display:grid}.reunion-invitee-form input{min-width:0;height:28px;color:var(--nav-ink);border:1px solid #cbd5e1;border-radius:6px;padding:0 7px;font-size:11px}.reunion-invitee-form input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1f}.reunion-invitee-form button{color:#fff;background:#2563eb;border-radius:6px;grid-column:1/-1;height:28px;font-size:11px;font-weight:900}.reunion-invitee-list{flex-direction:column;gap:5px;max-height:180px;display:flex;overflow:auto}.reunion-invitee{color:var(--nav-ink);text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:7px;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;display:flex}.reunion-invitee.selected{background:#eff6ff;border-color:#2563eb;box-shadow:inset 3px 0 #2563eb}.reunion-invitee span{font-size:11px;font-weight:900}.reunion-invitee small{color:var(--nav-muted);font-size:10px;font-weight:700}.reunion-contact-error{color:#dc2626;margin:0;font-size:11px;font-weight:800}.reunion-agenda-list{min-height:0;margin:0;padding:8px 8px 8px 28px;overflow:auto}.reunion-agenda-list li{color:var(--text-primary);padding:8px 0;font-size:12px;font-weight:750}.reunion-agenda-list li+li{border-top:1px solid var(--border)}.reunion-agenda-list button{color:#dc2626;margin-top:4px;font-size:10px;display:block}@media (width<=1280px){.reunion-command{grid-template-columns:48px minmax(0,1fr) auto}.reunion-instruments{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.reunion-prepare-button{grid-area:1/3}.reunion-layout,.reunion-layout.preparing,.reunion-chart{grid-template-columns:minmax(0,1fr)}.reunion-route-panel{grid-template-rows:none}.reunion-zone{min-height:280px}}.jcp-root{flex-direction:column;gap:10px;min-width:0;display:flex}.jcp-search-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;flex-shrink:0;align-items:center;gap:6px;height:32px;padding:0 8px;display:flex}.jcp-search-icon{flex-shrink:0;font-size:12px}.jcp-search-input{color:#1e293b;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:12px}.jcp-clear{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:0;font-size:16px;line-height:1}.jcp-empty{color:#94a3b8;text-align:center;padding:16px 0;font-size:12px}.jcp-split{flex:1;align-items:flex-start;gap:0;min-width:0;display:flex}.jcp-excl-col{border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;gap:4px;width:160px;min-width:160px;margin-right:10px;padding-right:10px;transition:opacity .2s;display:flex}.jcp-excl-col.empty{opacity:.5}.jcp-excl-header{justify-content:space-between;align-items:center;gap:4px;margin-bottom:2px;display:flex}.jcp-excl-title{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-size:9px;font-weight:900}.jcp-excl-all-btn{color:#475569;cursor:pointer;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:9px;font-weight:800;transition:background 60ms}.jcp-excl-all-btn:hover{color:#1a5fa8;background:#eff6ff;border-color:#bfdbfe}.jcp-excl-hint{color:#cbd5e1;font-size:10px;line-height:1.5}.jcp-excl-list{flex-direction:column;gap:2px;display:flex}.jcp-excl-item{color:#64748b;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:5px;align-items:center;gap:5px;width:100%;padding:4px 6px;font-family:inherit;font-size:10px;font-weight:700;transition:background 60ms,border-color 60ms,color 60ms;display:flex}.jcp-excl-item:hover{color:#1a5fa8;background:#eff6ff;border-color:#bfdbfe}.jcp-excl-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.jcp-excl-date{color:#94a3b8;flex-shrink:0;font-size:9px;font-weight:800}.jcp-excl-add{color:#94a3b8;flex-shrink:0;font-size:12px;line-height:1}.jcp-excl-item:hover .jcp-excl-add{color:#1a5fa8}.jcp-swimlane-wrap{flex:1;min-width:0;padding-bottom:4px;overflow-x:auto}.jcp-swimlane{flex-direction:column;gap:3px;min-width:360px;display:flex}.jcp-axis-row,.jcp-row{align-items:center;display:flex}.jcp-row{background:#f8fafc;border-radius:6px;overflow:hidden}.jcp-row-label{color:#475569;flex-shrink:0;width:110px;min-width:110px;padding:0 8px 0 6px;font-size:10px;font-weight:750}.jcp-family-label{background:#eef6ff;border-right:2px solid #dbeafe;align-self:stretch;align-items:center;gap:3px;display:flex}.jcp-expand-btn{cursor:pointer;color:#cbd5e1;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:1px 2px;font-size:8px;line-height:1;transition:color 60ms,transform .1s}.jcp-expand-btn:hover{color:#1a5fa8;background:#eff6ff}.jcp-expand-btn.open{color:#1a5fa8}.jcp-expand-placeholder{flex-shrink:0;width:14px}.jcp-family-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.jcp-family-count{color:#94a3b8;background:#f1f5f9;border-radius:3px;flex-shrink:0;padding:0 3px;font-size:9px;font-weight:900}.jcp-family-header{background:#eef6ff}.jcp-family-header .jcp-track-sep{background:0 0;border-bottom:1px dashed #e2e8f0;height:18px}.jcp-child-row{background:#f8fafc}.jcp-child-row:last-child{border-radius:0 0 4px 4px}.jcp-child-label{align-items:center;gap:4px;padding-left:6px;display:flex}.jcp-child-indent{color:#d1d5db;flex-shrink:0;font-size:10px;line-height:1}.jcp-child-name{color:#64748b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:10px;font-weight:700;overflow:hidden}.jcp-track{flex:1;min-width:260px;height:52px;position:relative}.jcp-track-bg{background:#e2e8f0;height:1px;margin-top:-.5px;position:absolute;top:50%;left:0;right:0}.jcp-track-lanes{transition:height .12s}.jcp-axis-track{border-bottom:1.5px solid #e2e8f0;height:22px}.jcp-tick{color:#94a3b8;white-space:nowrap;letter-spacing:.03em;font-size:9px;font-weight:700;position:absolute;bottom:3px;transform:translate(-50%)}.jcp-today-line{pointer-events:none;z-index:0;background:#dc26264d;width:1.5px;position:absolute;top:0;bottom:0}.jcp-dot-wrap{z-index:1;flex-direction:column;align-items:center;gap:3px;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.jcp-dot-wrap.clickable{cursor:pointer}.jcp-dot-wrap.clickable:hover{z-index:2}.jcp-dot-wrap.clickable:hover .jcp-diamond{outline-offset:2px;outline:2px solid #dc262666;transform:rotate(45deg)scale(1.4)}.jcp-diamond{border-radius:2px;flex-shrink:0;width:12px;height:12px;transition:transform 80ms;transform:rotate(45deg)}.jcp-diamond-row{justify-content:center;align-items:center;display:flex;position:relative}.jcp-dot-date-inline{color:#64748b;letter-spacing:.02em;white-space:nowrap;font-size:9px;font-style:normal;font-weight:900;line-height:1;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.jcp-dot-label{color:#1e293b;text-align:center;width:max-content;max-width:210px;font-size:9.5px;font-weight:850;line-height:1.15}.jcp-dot-label.top{order:-1}.jcp-dot-label span{white-space:normal;overflow-wrap:anywhere;max-width:210px;display:block}.jcp-label-editor{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:10px;overflow:hidden}.jcp-label-editor-head{background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:baseline;gap:8px;padding:8px 10px;display:flex}.jcp-label-editor-head strong{color:#1e293b;font-size:11px;font-weight:900}.jcp-label-editor-head span{color:#64748b;font-size:10px;font-weight:750}.jcp-label-list{flex-direction:column;max-height:210px;display:flex;overflow:auto}.jcp-label-row{border-bottom:1px solid #f1f5f9;grid-template-columns:16px minmax(90px,.9fr) minmax(120px,1fr) 116px;align-items:center;gap:7px;padding:6px 8px;display:grid}.jcp-label-row:last-child{border-bottom:0}.jcp-label-source{text-overflow:ellipsis;white-space:nowrap;color:#475569;min-width:0;font-size:10px;font-weight:800;overflow:hidden}.jcp-label-row input,.jcp-label-row select{color:#1e293b;min-width:0;height:26px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:5px;padding:0 7px;font-size:10px}.jcp-flat-list{flex-direction:column;gap:2px;display:flex}.jcp-list-item{border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:12px;transition:background 60ms,opacity .1s;display:flex}.jcp-list-item.clickable{cursor:pointer}.jcp-list-item.clickable:hover{background:#f1f5f9}.jcp-list-item.off{opacity:.3}.jcp-list-item.off.clickable:hover{opacity:1;background:#f1f5f9}.jcp-list-item .jcp-diamond{width:9px;height:9px}.jcp-item-name{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.jcp-item-date{color:#64748b;flex-shrink:0;font-size:10px;font-weight:800}.jcp-item-delay{color:#dc2626;background:#fee2e2;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:900}.jcp-item-family{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:90px;font-size:10px;overflow:hidden}.ccp-root{flex-direction:column;gap:10px;min-width:0;display:flex}.ccp-toolbar{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.ccp-search-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;align-items:center;gap:6px;height:32px;padding:0 8px;display:flex}.ccp-search-icon{flex-shrink:0;font-size:12px}.ccp-search-input{color:#1e293b;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:12px}.ccp-clear{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:0;font-size:16px;line-height:1}.ccp-filters{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.ccp-filter-btn{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;padding:3px 9px;font-family:inherit;font-size:10px;font-weight:800;transition:background 60ms,color 60ms,border-color 60ms}.ccp-filter-btn.ccp-kind-start.active{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.ccp-filter-btn.ccp-kind-end.active{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.ccp-filter-btn.ccp-kind-milestone.active{color:#7c3aed;background:#f5f3ff;border-color:#ddd6fe}.ccp-filter-btn:hover:not(.active){color:#1e293b;background:#f1f5f9}.ccp-filter-clear{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:3px 7px;font-family:inherit;font-size:10px;font-weight:700}.ccp-filter-clear:hover{color:#475569}.ccp-empty{color:#94a3b8;text-align:center;padding:16px 0;font-size:12px}.ccp-split{flex:1;align-items:flex-start;gap:0;min-width:0;display:flex}.ccp-excl-col{border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;gap:4px;width:160px;min-width:160px;margin-right:10px;padding-right:10px;transition:opacity .2s;display:flex}.ccp-excl-col.empty{opacity:.5}.ccp-excl-header{justify-content:space-between;align-items:center;gap:4px;margin-bottom:2px;display:flex}.ccp-excl-title{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-size:9px;font-weight:900}.ccp-excl-all{color:#475569;cursor:pointer;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:9px;font-weight:800;transition:background 60ms}.ccp-excl-all:hover{color:#1a5fa8;background:#eff6ff;border-color:#bfdbfe}.ccp-excl-hint{color:#cbd5e1;font-size:10px;line-height:1.5}.ccp-excl-list{flex-direction:column;gap:2px;display:flex}.ccp-excl-item{color:#64748b;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:5px;align-items:center;gap:4px;width:100%;padding:4px 6px;font-family:inherit;font-size:10px;font-weight:700;transition:background 60ms;display:flex}.ccp-excl-item:hover{color:#1a5fa8;background:#eff6ff;border-color:#bfdbfe}.ccp-excl-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.ccp-excl-date{color:#94a3b8;flex-shrink:0;font-size:9px;font-weight:800}.ccp-excl-add{color:#94a3b8;flex-shrink:0;font-size:12px;line-height:1}.ccp-excl-item:hover .ccp-excl-add{color:#1a5fa8}.ccp-events-col{flex-direction:column;flex:1;gap:10px;min-width:0;max-height:520px;padding-right:4px;display:flex;overflow-y:auto}.ccp-month{flex-direction:column;gap:2px;display:flex}.ccp-month-label{text-transform:uppercase;letter-spacing:.07em;color:#64748b;border-bottom:1px solid #e2e8f0;align-items:center;gap:6px;margin-bottom:2px;padding:4px 6px 2px;font-size:10px;font-weight:900;display:flex}.ccp-month-count{color:#94a3b8;margin-left:auto;font-size:9px;font-weight:700}.ccp-event{border-radius:6px;align-items:center;gap:7px;padding:5px 8px;transition:background 60ms,opacity .1s;display:flex}.ccp-event.clickable{cursor:pointer}.ccp-event.clickable:hover{background:#f1f5f9}.ccp-event.off{opacity:.25}.ccp-event.off.clickable:hover{opacity:1;background:#f1f5f9}.ccp-event-date{color:#475569;letter-spacing:.02em;flex-shrink:0;min-width:34px;font-size:11px;font-weight:800}.ccp-kind-badge{text-align:center;flex-shrink:0;width:16px;font-size:10px;font-weight:900}.ccp-kind-start{color:#2563eb}.ccp-kind-end{color:#16a34a}.ccp-kind-milestone{color:#7c3aed}.ccp-event-name{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;font-weight:700;overflow:hidden}.ccp-delay{color:#dc2626;background:#fee2e2;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:900}.ccp-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.sp-root{flex-direction:column;gap:16px;min-width:0;display:flex}.sp-notes-block{min-width:0}.sp-notes-area{border:1px solid var(--border-color,#e2e8f0);color:#1e293b;resize:vertical;background:#fff;border-radius:8px;width:100%;min-height:90px;padding:12px 14px;font-family:inherit;font-size:14px;line-height:1.7}.sp-notes-area:focus{border-color:#1a5fa8;outline:none}.sp-notes-text{color:#374151;white-space:pre-wrap;background:#fafafa;border-left:3px solid #1a5fa8;border-radius:0 8px 8px 0;padding:14px 18px;font-size:15px;line-height:1.8}.sp-text-only .sp-notes-text{font-size:17px}.sp-photos-grid{gap:12px;display:grid}.sp-photos-stack{flex-direction:column;gap:16px;display:flex}.sp-photo{flex-direction:column;gap:5px;min-width:0;margin:0;display:flex}.sp-photo-btn{border:1px solid var(--border-color,#e2e8f0);cursor:zoom-in;background:#f8fafc;border-radius:9px;width:100%;padding:0;transition:border-color .1s,box-shadow .12s;display:block;overflow:hidden}.sp-photo-btn:hover{border-color:#1a5fa8;box-shadow:0 6px 18px #0f172a1f}.sp-photo-btn img{object-fit:contain;width:100%;height:auto;max-height:340px;display:block}.sp-photo-big .sp-photo-btn img{max-height:520px}.sp-caption{color:#64748b;text-align:center;padding:0 4px;font-size:12px;font-style:italic}.sp-side{flex-direction:row;align-items:flex-start;gap:20px}.sp-side-text{flex:1;min-width:0}.sp-side-photos{flex:1.3;min-width:0}@media (width<=720px){.sp-side{flex-direction:column}}.mv-view,.mv-anim{--blue:#1a5fa8;--orange:#e8761a;--green:#3b6d11;--amber:#ba7517;--red:#993c1d;--border:var(--border-color,#e2e8f0);--muted:var(--text-muted,#64748b);--ink:var(--text-primary,#0f172a);--bg:#f0f4f9}.mv-view{background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.mv-body{flex:1;min-height:0;display:flex;overflow:hidden}.mv-list-col{border-right:1px solid var(--border);background:#fff;flex-direction:column;flex-shrink:0;width:240px;display:flex;overflow:hidden}.mv-panel-head{flex-shrink:0;align-items:center;gap:8px;padding:14px 14px 10px;display:flex}.mv-panel-title{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;flex:1;font-size:10px;font-weight:900}.mv-list-scroll{flex-direction:column;flex:1;gap:6px;padding:0 10px 12px;display:flex;overflow-y:auto}.mv-meeting-card{text-align:left;cursor:pointer;background:#f8fafc;border:1.5px solid #0000;border-radius:8px;flex-direction:column;gap:3px;width:100%;padding:10px 12px;transition:border-color 80ms,box-shadow 80ms;display:flex}.mv-meeting-card:hover{border-color:#cbd5e1}.mv-meeting-card.mv-meeting-in_progress{border-color:var(--blue);background:#eff6ff}.mv-meeting-card.mv-meeting-done{opacity:.6}.mv-meeting-card-head{align-items:center;gap:6px;display:flex}.mv-meeting-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:900;overflow:hidden}.mv-live-dot{background:#16a34a;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.mv-meeting-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:6px;font-size:10px;display:flex}.mv-meeting-stats{color:var(--muted);gap:10px;font-size:10px;display:flex}.mv-recur-badge{color:#475569;letter-spacing:.03em;background:#e2e8f0;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:9px;font-weight:900;display:inline-block}.mv-new-meeting-form{border:1.5px dashed var(--border);background:#f8fafc;border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.mv-new-meeting-form input,.mv-new-meeting-form select{border:1px solid var(--border);height:30px;color:var(--ink);box-sizing:border-box;background:#fff;border-radius:6px;width:100%;padding:0 8px;font-family:inherit;font-size:12px}.mv-new-meeting-actions{gap:6px;display:flex}.mv-new-meeting-btn{width:100%;color:var(--muted);text-align:center;border:1.5px dashed #cbd5e1;border-radius:8px;padding:9px;font-size:11px;font-weight:850;transition:border-color 80ms,color 80ms}.mv-new-meeting-btn:hover{border-color:var(--blue);color:var(--blue)}.mv-back-btn{color:var(--muted);text-align:left;flex-shrink:0;padding:10px 14px 6px;font-size:11px;font-weight:850}.mv-back-btn:hover{color:var(--ink)}.mv-card{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;flex-direction:column;gap:8px;margin:8px 12px;padding:14px;display:flex}.mv-card-name{color:var(--ink);font-size:14px;font-weight:900;line-height:1.3}.mv-card-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mv-status-chip{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:9px;font-weight:900;display:inline-block}.mv-status-chip.in-progress{color:#15803d;background:#dcfce7}.mv-status-chip.done{color:var(--muted);background:#f1f5f9}.mv-card-row{color:var(--ink);align-items:flex-start;gap:6px;font-size:11px;display:flex}.mv-card-icon{flex-shrink:0;font-size:11px}.mv-card-stats{border-top:1px solid var(--border);color:var(--muted);gap:14px;padding-top:6px;font-size:11px;display:flex}.mv-card-stats strong{color:var(--ink);margin-right:2px;font-weight:900}.mv-start-btn{background:var(--blue);color:#fff;border-radius:8px;flex-shrink:0;height:36px;margin:4px 12px;font-size:12px;font-weight:900;transition:background 80ms}.mv-start-btn:hover:not(:disabled){background:#1248a0}.mv-start-btn:disabled{opacity:.35;cursor:default}.mv-danger-btn{color:#dc2626;background:#fff;border:1px solid #fecaca;border-radius:7px;flex-shrink:0;height:30px;margin:2px 12px 12px;font-size:11px;font-weight:850}.mv-danger-btn:hover{background:#fef2f2}.mv-detail-col,.mv-detail-empty{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.mv-detail-empty{color:var(--muted);justify-content:center;align-items:center;font-size:13px}.mv-tabs{border-bottom:1px solid var(--border);background:#fff;flex-shrink:0;align-items:flex-end;gap:2px;height:44px;padding:0 20px;display:flex}.mv-tab-btn{height:44px;color:var(--muted);border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:850;transition:color 80ms,border-color 80ms;display:flex}.mv-tab-btn:hover{color:var(--ink)}.mv-tab-btn.active{color:var(--blue);border-bottom-color:var(--blue)}.mv-tab-count{min-width:18px;height:18px;color:var(--blue);background:#dbeafe;border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:900;display:inline-flex}.mv-tab-body{flex-direction:column;flex:1;gap:20px;min-height:0;padding:20px;display:flex;overflow-y:auto}.mv-config-section{border:1px solid var(--border);background:#fff;border-radius:10px;flex-direction:column;gap:12px;padding:16px;display:flex}.mv-config-section-head{align-items:center;gap:8px;display:flex}.mv-config-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex:1;font-size:10px;font-weight:900}.mv-settings-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mv-settings-grid label{color:#475569;text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:4px;font-size:10px;font-weight:850;display:flex}.mv-settings-grid input,.mv-settings-grid select{border:1px solid var(--border);height:32px;color:var(--ink);box-sizing:border-box;background:#fff;border-radius:6px;padding:0 8px;font-family:inherit;font-size:12px;transition:border-color 80ms}.mv-settings-grid input:focus,.mv-settings-grid select:focus{border-color:var(--blue);outline:none}.mv-invitees-section{gap:10px}.mv-invitee-search{border:1px solid var(--border);background:#fff;border-radius:7px;align-items:center;gap:6px;height:32px;padding:0 8px;display:flex}.mv-invitee-search input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:12px}.mv-search-icon{flex-shrink:0;font-size:11px}.mv-attendee-list{flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}.mv-attendee-row{cursor:pointer;border-radius:7px;align-items:center;gap:9px;padding:7px 10px;transition:background 60ms;display:flex}.mv-attendee-row:hover{background:#f1f5f9}.mv-attendee-row.checked{background:#eff6ff}.mv-cb{width:15px;height:15px;accent-color:var(--blue);cursor:pointer;flex-shrink:0}.mv-contact-info{flex-direction:column;flex:1;min-width:0;display:flex}.mv-contact-info strong{color:var(--ink);font-size:12px;font-weight:850}.mv-contact-info small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.mv-contact-form{border:1px solid var(--border);background:#f8fafc;border-radius:8px;flex-direction:column;gap:7px;padding:12px;display:flex}.mv-form-row{gap:7px;display:flex}.mv-contact-form input{border:1px solid var(--border);height:30px;color:var(--ink);box-sizing:border-box;background:#fff;border-radius:6px;flex:1;min-width:0;padding:0 8px;font-family:inherit;font-size:12px}.mv-tab-body.mv-prep-body{flex-direction:row;gap:0;padding:0;overflow:hidden}.mv-prep-subjects{border-right:1px solid var(--border);background:#fff;flex-direction:column;flex-shrink:0;width:260px;display:flex;overflow:hidden}.mv-prep-subjects-head{flex-shrink:0;align-items:center;gap:8px;padding:14px 14px 10px;display:flex}.mv-prep-subj-list{flex-direction:column;flex:1;gap:3px;padding:0 8px;display:flex;overflow-y:auto}.mv-prep-subj-btn{text-align:left;background:0 0;border-radius:7px;align-items:flex-start;gap:7px;width:100%;padding:8px 8px 8px 10px;transition:background 60ms;display:flex}.mv-prep-subj-btn:hover{background:#f1f5f9}.mv-prep-subj-btn.active{background:#eff6ff}.mv-subj-body{flex:1;min-width:0}.mv-subj-title{color:var(--ink);word-break:break-word;font-size:12px;font-weight:850;line-height:1.4}.mv-subj-meta{flex-wrap:wrap;align-items:center;gap:5px;margin-top:3px;display:flex}.mv-type-chip{letter-spacing:.03em;text-transform:uppercase;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:900;display:inline-block}.mv-type-chip.task{color:var(--blue);background:#dbeafe}.mv-type-chip.action{color:var(--orange);background:#fff7ed}.mv-type-chip.free{color:#475569;background:#f1f5f9}.mv-has-notes,.mv-has-photos{color:var(--muted);font-size:10px}.mv-add-subj-row{border-top:1px solid var(--border);flex-shrink:0;gap:6px;padding:10px 10px 12px;display:flex}.mv-add-subj-btn{height:30px;color:var(--muted);border:1.5px dashed #cbd5e1;border-radius:6px;flex:1;font-size:11px;font-weight:850;transition:border-color 80ms,color 80ms,background 80ms}.mv-add-subj-btn:hover{border-color:var(--blue);color:var(--blue);background:#f0f7ff}.mv-prep-detail{background:var(--bg);flex-direction:column;flex:1;gap:16px;min-width:0;padding:20px 24px;display:flex;overflow-y:auto}.mv-prep-empty{color:var(--muted);flex:1;justify-content:center;align-items:center;font-size:13px;display:flex}.mv-prep-detail-head{border:1px solid var(--border);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:14px 16px;display:flex}.mv-subject-num-lg{background:var(--blue);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:900;display:flex}.mv-prep-title-input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:14px;font-weight:900}.mv-prep-title-input:focus{text-decoration:underline;-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue)}.mv-details-card{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px;display:grid}.mv-details-row{flex-direction:column;gap:2px;display:flex}.mv-details-row span{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:9px;font-weight:900}.mv-details-row strong{color:var(--ink);font-size:13px}.mv-field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:900;display:block}.mv-notes-area{border:1px solid var(--border);width:100%;min-height:100px;color:var(--ink);resize:vertical;box-sizing:border-box;background:#fff;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:12px;transition:border-color 80ms}.mv-notes-area:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 2px #1a5fa814}.mv-photos-section{flex-direction:column;gap:8px;display:flex}.mv-photos-head{align-items:center;gap:10px;display:flex}.mv-photo-add-btn{border:1px solid var(--border);height:26px;color:var(--muted);background:#fff;border-radius:6px;padding:0 10px;font-size:11px;font-weight:850}.mv-photo-add-btn:hover{border-color:var(--blue);color:var(--blue)}.mv-photos-grid{flex-wrap:wrap;gap:8px;display:flex}.mv-photo-thumb{border:1px solid var(--border);background:#f1f5f9;border-radius:6px;width:80px;height:80px;position:relative;overflow:hidden}.mv-photo-thumb img{object-fit:cover;width:100%;height:100%}.mv-photo-remove{color:#fff;opacity:0;background:#0f172a99;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:13px;transition:opacity 80ms;display:flex;position:absolute;top:2px;right:2px}.mv-photo-thumb:hover .mv-photo-remove{opacity:1}.mv-actions-section{flex-direction:column;gap:8px;display:flex}.mv-actions-head{align-items:center;gap:8px;margin-bottom:2px;display:flex}.mv-action-row{border:1px solid var(--border);background:#fff;border-radius:7px;align-items:center;gap:9px;padding:8px 10px;display:flex}.mv-action-dot{background:#94a3b8;border-radius:50%;flex-shrink:0;width:8px;height:8px}.mv-action-dot.done{background:#16a34a}.mv-action-body{flex:1;min-width:0}.mv-action-text{color:var(--ink);font-size:12px;font-weight:850}.mv-action-owner{color:var(--muted);font-size:10px}.mv-action-toggle{width:26px;height:26px;color:var(--muted);background:#f1f5f9;border-radius:6px;flex-shrink:0;font-size:12px;font-weight:900}.mv-action-toggle:hover{color:var(--blue);background:#dbeafe}.mv-add-action-row{border:1px dashed var(--border);background:#f8fafc;border-radius:7px;flex-wrap:wrap;align-items:center;gap:7px;padding:8px 10px;display:flex}.mv-add-action-row input,.mv-add-action-row select{border:1px solid var(--border);height:30px;color:var(--ink);box-sizing:border-box;background:#fff;border-radius:6px;padding:0 8px;font-family:inherit;font-size:12px}.mv-add-action-row input{flex:1;min-width:140px}.mv-add-action-row select{min-width:120px}.mv-add-action-row input[type=date]{flex:none;width:130px}.mv-avatar{color:#fff;border:2px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:900;transition:border-color 80ms;display:flex}.mv-avatar.present{border-color:#16a34a}.mv-avatar-sm{width:28px;height:28px;font-size:10px}.mv-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mv-dot-pending{background:#cbd5e1}.mv-dot-in_progress{background:var(--blue)}.mv-dot-done{background:#16a34a}.mv-dot-deferred{background:var(--amber)}.mv-subject-num{color:#475569;background:#e2e8f0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:900;display:flex}.mv-status-badge{border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:900;display:inline-block}.mv-badge-pending{color:#475569;background:#f1f5f9}.mv-badge-in_progress{color:var(--blue);background:#dbeafe}.mv-badge-done{color:#15803d;background:#dcfce7}.mv-badge-deferred{color:var(--amber);background:#fff7ed}.mv-count-pill{color:#475569;background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:900;display:inline-flex}.mv-empty{color:var(--muted);text-align:center;padding:12px;font-size:12px}.mv-empty-sm{padding:8px;font-size:11px}.mv-remove-btn{color:#94a3b8;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:16px;display:flex}.mv-remove-btn:hover{color:#dc2626;background:#fee2e2}.mv-primary-btn{background:var(--blue);color:#fff;border-radius:7px;height:32px;padding:0 14px;font-size:12px;font-weight:900;transition:background 80ms}.mv-primary-btn:hover{background:#1248a0}.mv-cancel-btn,.mv-import-btn,.mv-toggle-form-btn{border:1px solid var(--border);height:28px;color:var(--muted);background:#fff;border-radius:6px;padding:0 10px;font-size:11px;font-weight:850}.mv-cancel-btn:hover,.mv-import-btn:hover{background:#f1f5f9}.mv-toggle-form-btn.active{color:var(--ink);background:#f1f5f9}.mv-add-btn{background:var(--blue);color:#fff;border-radius:6px;flex-shrink:0;height:30px;padding:0 12px;font-size:11px;font-weight:900;transition:background 80ms}.mv-add-btn:hover:not(:disabled){background:#1248a0}.mv-add-btn:disabled{opacity:.35;cursor:default}.mv-link-btn{height:26px;color:var(--blue);background:#eff6ff;border-radius:6px;flex-shrink:0;padding:0 10px;font-size:11px;font-weight:900}.mv-link-btn:hover{background:#dbeafe}.mv-clear-btn{color:#475569;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;display:flex}.mv-clear-btn:hover{color:#dc2626;background:#fecaca}.mv-error{color:#dc2626;margin:0;font-size:11px}.mv-anim{background:var(--bg);flex:1;grid-template-rows:1fr auto;grid-template-columns:200px 1fr;min-height:0;display:grid}.mv-anim-left{border-right:1px solid var(--border);background:#fff;flex-direction:column;grid-row:1/3;gap:6px;padding:14px 12px 10px;display:flex;overflow:hidden}.mv-anim-meeting-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;overflow:hidden}.mv-anim-date{color:var(--muted);text-transform:capitalize;font-size:10px}.mv-anim-progress-bar{background:#e2e8f0;border-radius:2px;height:4px;overflow:hidden}.mv-anim-progress-fill{background:#16a34a;border-radius:2px;height:100%;transition:width .3s}.mv-anim-progress-label{color:var(--muted);font-size:10px;font-weight:800}.mv-anim-live-add{padding:4px 0 2px}.mv-anim-live-add-btn{width:100%;height:28px;color:var(--blue);cursor:pointer;background:#eff6ff;border:1px dashed #bfdbfe;border-radius:7px;font-size:11px;font-weight:900}.mv-anim-live-add-btn:hover{background:#dbeafe;border-style:solid}.mv-anim-live-form{grid-template-columns:1fr 28px 28px;gap:4px;display:grid}.mv-anim-live-form input{border:1px solid var(--border);min-width:0;height:28px;color:var(--ink);border-radius:7px;padding:0 8px;font-size:11px}.mv-anim-live-form input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 2px #1a5fa81f}.mv-anim-live-form button{border:1px solid var(--border);height:28px;color:var(--muted);cursor:pointer;background:#fff;border-radius:7px;font-size:13px;font-weight:950}.mv-anim-live-form button:first-of-type{background:var(--blue);border-color:var(--blue);color:#fff}.mv-anim-live-form button:disabled{opacity:.45;cursor:default}.mv-anim-subject-list{flex-direction:column;flex:1;gap:2px;margin:4px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.mv-anim-subject-item{cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:5px 7px;transition:background 80ms;display:flex}.mv-anim-subject-item:hover{background:#f1f5f9}.mv-anim-subject-item.active{background:#eff6ff}.mv-anim-item-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:750;overflow:hidden}.mv-anim-attendees{border-top:1px solid var(--border);flex-wrap:wrap;gap:5px;padding-top:8px;display:flex}.mv-anim-back-btn{color:var(--muted);text-align:center;border-top:1px solid var(--border);margin-top:4px;padding:6px 0;font-size:10px;font-weight:850}.mv-anim-back-btn:hover{color:var(--ink)}.mv-anim-center{flex-direction:column;grid-row:1;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.mv-anim-subject-header{border:1px solid var(--border);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:14px 16px;display:flex}.mv-anim-subject-title{color:var(--ink);flex:1;min-width:0;font-size:15px;font-weight:900}.mv-anim-footer{border-top:1px solid var(--border);background:#fffffff7;grid-area:2/2;align-items:center;gap:8px;height:56px;padding:0 16px;display:flex;box-shadow:0 -1px 4px #0f172a0d}.mv-nav-btn{border:1px solid var(--border);height:34px;color:var(--ink);background:#fff;border-radius:7px;padding:0 14px;font-size:12px;font-weight:850}.mv-nav-btn:hover:not(:disabled){background:#f1f5f9}.mv-nav-btn:disabled{opacity:.35;cursor:default}.mv-nav-counter{color:var(--muted);font-size:12px;font-weight:850}.mv-defer-btn{height:34px;color:var(--orange);background:#fff7ed;border:1px solid #fed7aa;border-radius:7px;padding:0 14px;font-size:12px;font-weight:900}.mv-defer-btn:hover{background:#ffedd5}.mv-done-btn{color:#15803d;background:#dcfce7;border:1px solid #86efac;border-radius:7px;height:34px;padding:0 14px;font-size:12px;font-weight:900}.mv-done-btn:hover{background:#bbf7d0}.mv-close-btn{background:var(--blue);color:#fff;border-radius:7px;height:34px;padding:0 16px;font-size:12px;font-weight:900;transition:background 80ms}.mv-close-btn:hover{background:#1248a0}.mv-backdrop{z-index:200;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.mv-modal{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:580px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0f172a40}.mv-modal-sm{max-width:400px}.mv-modal-lg{max-width:700px}.mv-modal-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 14px;display:flex}.mv-modal-title{color:var(--ink);font-size:15px;font-weight:900}.mv-modal-sub{color:var(--muted);margin-top:3px;font-size:11px}.mv-modal-close{color:#64748b;background:#f1f5f9;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;display:flex}.mv-modal-close:hover{color:#dc2626;background:#fee2e2}.mv-modal-search-bar{border-bottom:1px solid var(--border);background:#f8fafc;flex-shrink:0;align-items:center;gap:8px;padding:10px 18px;display:flex}.mv-modal-search-bar input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13px}.mv-modal-body{flex-direction:column;flex:1;gap:4px;padding:14px 18px;display:flex;overflow-y:auto}.mv-tree-body{gap:0}.mv-modal-foot{border-top:1px solid var(--border);background:#f8fafc;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:12px 18px;display:flex}.mv-modal-cancel{border:1px solid var(--border);height:34px;color:var(--muted);background:#fff;border-radius:7px;padding:0 14px;font-size:12px;font-weight:850}.mv-modal-cancel:hover{background:#f1f5f9}.mv-modal-confirm{background:var(--blue);color:#fff;border-radius:7px;height:34px;padding:0 16px;font-size:12px;font-weight:900;transition:background 80ms}.mv-modal-confirm:hover:not(:disabled){background:#1248a0}.mv-modal-confirm:disabled{opacity:.35;cursor:default}.mv-big-input{border:1.5px solid var(--border);width:100%;height:44px;color:var(--ink);box-sizing:border-box;background:#fff;border-radius:8px;padding:0 12px;font-family:inherit;font-size:14px;font-weight:850}.mv-big-input:focus{border-color:var(--blue);outline:none}.mv-tree-node{flex-direction:column;display:flex}.mv-tree-row{cursor:pointer;border-radius:6px;align-items:center;gap:6px;min-height:30px;padding:5px 8px;transition:background 60ms;display:flex}.mv-tree-row:hover{background:#f1f5f9}.mv-tree-row.selected{background:#eff6ff}.mv-tree-row.summary{cursor:default}.mv-tree-row.summary:hover{background:#f8fafc}.mv-tree-expand{width:14px;color:var(--muted);text-align:center;flex-shrink:0;font-size:9px}.mv-tree-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mv-tree-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:750;overflow:hidden}.mv-tree-row.summary .mv-tree-name{color:#374151;font-weight:900}.mv-tree-wp{color:var(--muted);background:#f1f5f9;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px}.mv-tree-badge{border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:9px;font-weight:900}.mv-action-pick-row{cursor:pointer;border:1px solid #0000;border-radius:7px;align-items:center;gap:10px;padding:8px 10px;transition:background 60ms;display:flex}.mv-action-pick-row:hover{background:#f1f5f9}.mv-action-pick-row.selected{background:#eff6ff;border-color:#bfdbfe}.mv-action-status{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mv-as-open{background:#3b82f6}.mv-as-in_progress{background:#f59e0b}.mv-action-pick-body{flex:1;min-width:0}.mv-action-pick-text{color:var(--ink);font-size:12px;font-weight:850}.mv-action-pick-meta{color:var(--muted);gap:4px;font-size:10px;display:flex}.mv-modal-sect-label{text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:8px;font-size:10px;font-weight:900}.mv-col-map-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mv-col-map-row{flex-direction:column;gap:4px;display:flex}.mv-col-map-label{color:#475569;font-size:11px;font-weight:850}.mv-req{color:#dc2626}.mv-col-map-grid select{border:1px solid var(--border);width:100%;height:32px;color:var(--ink);box-sizing:border-box;background:#fff;border-radius:6px;padding:0 8px;font-family:inherit;font-size:12px}.mv-preview-wrap{border:1px solid var(--border);border-radius:7px;overflow-x:auto}.mv-preview-table{border-collapse:collapse;width:100%;font-size:11px}.mv-preview-table th{border-bottom:1px solid var(--border);color:#475569;text-transform:uppercase;letter-spacing:.04em;text-align:left;white-space:nowrap;background:#f8fafc;padding:6px 10px;font-size:10px;font-weight:900}.mv-preview-table td{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #f1f5f9;max-width:160px;padding:6px 10px;overflow:hidden}.mv-preview-table tr:last-child td{border-bottom:none}.mv-anim-photos-row{flex-wrap:wrap;gap:8px;display:flex}.mv-anim-photo-thumb{border:1.5px solid var(--border);cursor:zoom-in;border-radius:7px;flex-shrink:0;width:88px;height:88px;padding:0;transition:border-color 80ms,transform .12s,box-shadow .12s;overflow:hidden}.mv-anim-photo-thumb:hover{border-color:var(--blue);transform:scale(1.05);box-shadow:0 4px 12px #0f172a26}.mv-anim-photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.mv-lightbox{z-index:400;cursor:pointer;background:#000000e0;justify-content:center;align-items:center;animation:.14s lbFadeIn;display:flex;position:fixed;inset:0}@keyframes lbFadeIn{0%{opacity:0}to{opacity:1}}.mv-lightbox img{object-fit:contain;cursor:default;border-radius:6px;max-width:92vw;max-height:92vh;animation:.16s cubic-bezier(.22,.68,0,1.2) lbZoomIn;box-shadow:0 24px 80px #0009}@keyframes lbZoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.mv-lightbox-close{color:#fff;background:#ffffff26;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;transition:background 80ms;display:flex;position:absolute;top:18px;right:22px}.mv-lightbox-close:hover{background:#ffffff47}.mv-cr-btn{border:1px solid var(--border);height:34px;color:var(--muted);background:#fff;border-radius:7px;padding:0 12px;font-size:12px;font-weight:850;transition:background 80ms,color 80ms}.mv-cr-btn:hover{color:var(--blue);background:#f0f7ff;border-color:#bfdbfe}.mv-prep-subj-btn.dragging,.mv-anim-subject-item.dragging{opacity:.4;cursor:grabbing}.mv-prep-subj-btn.drag-over,.mv-anim-subject-item.drag-over{border-top:2px solid var(--blue)}.mv-drag-handle{color:#cbd5e1;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;margin-right:2px;font-size:14px;line-height:1}.mv-cr-blocks-section{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:4px;margin-top:12px;padding-top:10px;display:flex}.mv-cr-blocks-head{align-items:center;gap:6px;padding:0 4px 4px;display:flex}.mv-cr-block-item{text-align:left;cursor:pointer;background:#f8fafc;border:1.5px solid #0000;border-radius:7px;align-items:center;gap:8px;width:100%;padding:6px 8px;transition:background 60ms,border-color 60ms;display:flex}.mv-cr-block-item:hover{background:#f1f5f9}.mv-cr-block-item.active{border-color:var(--blue);background:#eff6ff}.mv-cr-block-icon{flex-shrink:0;font-size:14px}.mv-cr-block-label{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:700;overflow:hidden}.mv-add-block-row{grid-template-columns:1fr 1fr;gap:4px;padding:4px 0 2px;display:grid}.mv-add-block-btn{height:28px;color:var(--muted);cursor:pointer;background:0 0;border:1px dashed #cbd5e1;border-radius:6px;flex:1;font-size:10px;font-weight:800;transition:border-color 60ms,color 60ms,background 60ms}.mv-add-block-btn:hover{border-color:var(--blue);color:var(--blue);background:#eff6ff}.mv-block-info{color:var(--muted);border:1px solid var(--border);background:#f8fafc;border-radius:8px;padding:14px 16px;font-size:12px;line-height:1.6}.mv-export-row{gap:6px;display:flex}.mv-export-btn{border:1px solid var(--border);height:34px;color:var(--muted);cursor:pointer;background:#fff;border-radius:7px;flex:1;font-size:12px;font-weight:850;transition:background 80ms,color 80ms,border-color 80ms}.mv-export-btn:hover{color:var(--blue);background:#f0f7ff;border-color:#bfdbfe}.mv-layout-editor{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:16px;padding-top:14px;display:flex}.mv-layout-templates{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.mv-layout-tpl{border:1.5px solid var(--border);cursor:pointer;background:#f8fafc;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;transition:border-color 80ms,background 80ms;display:flex}.mv-layout-tpl:hover{background:#f1f5f9}.mv-layout-tpl.active{border-color:var(--blue);background:#eff6ff}.mv-layout-tpl-icon{color:#475569;font-size:18px;line-height:1}.mv-layout-tpl.active .mv-layout-tpl-icon{color:var(--blue)}.mv-layout-tpl-label{color:#64748b;text-align:center;font-size:9px;font-weight:800;line-height:1.2}.mv-layout-tpl.active .mv-layout-tpl-label{color:var(--blue)}.mv-layout-settings{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mv-layout-set{color:#475569;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.mv-layout-set select{border:1px solid var(--border);height:28px;color:var(--ink);background:#fff;border-radius:6px;padding:0 6px;font-family:inherit;font-size:12px}.mv-layout-check,.mv-layout-check input{cursor:pointer}.mv-photo-thumb-wrap{flex-direction:column;gap:4px;display:flex}.mv-photo-caption-input{border:1px solid var(--border);width:100%;height:24px;color:var(--ink);background:#fff;border-radius:5px;padding:0 6px;font-family:inherit;font-size:10px}.mv-photo-caption-input:focus{border-color:var(--blue);outline:none}.mv-layout-preview{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:16px;padding-top:14px;display:flex}.mv-layout-preview-canvas{border:1px solid var(--border);background:#fff;border-radius:10px;padding:18px}.mv-anim-blocks-section{border-top:1px solid var(--border);flex-direction:column;gap:3px;margin-top:6px;padding:8px 8px 4px;display:flex}.mv-anim-blocks-label{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;padding:0 4px 4px;font-size:9px;font-weight:900}.mv-anim-block-btn{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#f8fafc;border:1.5px solid #0000;border-radius:6px;align-items:center;gap:7px;padding:6px 8px;font-size:11px;font-weight:700;transition:background 60ms,border-color 60ms;display:flex}.mv-anim-block-btn:hover{background:#f1f5f9}.mv-anim-block-btn.active{border-color:var(--blue);color:var(--blue);background:#eff6ff}.mv-anim-crblock-view{flex-direction:column;gap:16px;height:100%;padding:20px 24px;display:flex;overflow-y:auto}.mv-anim-crblock-content{flex:1;min-height:0}.mv-cr-static-preview{flex-direction:column;gap:10px;min-height:0;display:flex}.mv-week-preview{grid-template-columns:repeat(3,minmax(240px,1fr));gap:10px;min-height:0;display:grid;overflow:auto}.mv-week-column{background:#fff;border:1px solid #dbeafe;border-radius:8px;min-width:0;overflow:hidden}.mv-week-head{z-index:1;background:#eff6ff;border-bottom:1px solid #dbeafe;justify-content:space-between;align-items:flex-start;gap:8px;padding:9px 10px;display:flex;position:sticky;top:0}.mv-week-head strong{color:#1e3a8a;font-size:14px;font-weight:950;line-height:1;display:block}.mv-week-head span{color:var(--muted);margin-top:3px;font-size:10px;font-weight:750;display:block}.mv-week-head em{color:var(--blue);background:#fff;border:1px solid #bfdbfe;border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:10px;font-style:normal;font-weight:900}.mv-week-body{flex-direction:column;gap:8px;max-height:560px;padding:8px;display:flex;overflow:auto}.mv-week-n1{background:#f8fafc;border-left:4px solid #2563eb;border-radius:6px;overflow:hidden}.mv-week-n1:nth-child(2n){border-left-color:#0891b2}.mv-week-n1-title{color:#1d4ed8;background:#eff6ff;padding:5px 7px;font-size:10px;font-weight:950}.mv-week-n1:nth-child(2n) .mv-week-n1-title{color:#0e7490;background:#ecfeff}.mv-week-n2{flex-direction:column;gap:6px;padding:5px 6px 7px;display:flex}.mv-week-n2-title{border:1px solid var(--border);color:#475569;letter-spacing:.03em;text-transform:uppercase;background:#fffc;border-radius:5px;padding:3px 5px;font-size:9px;font-weight:900}.mv-week-card{border:1px solid var(--border);background:#fff;border-radius:6px;padding:6px;box-shadow:0 1px 2px #0f172a0a}.mv-week-card.milestone{border-color:#ddd6fe}.mv-week-breadcrumb{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:8.5px;font-weight:750;overflow:hidden}.mv-week-card-title{color:var(--ink);margin-bottom:5px;font-size:11px;font-weight:950;line-height:1.25}.mv-week-mini{grid-template-columns:repeat(7,1fr);gap:2px;margin:4px 0 5px;display:grid}.mv-week-day{background:#edf2f7;border-radius:3px;justify-content:center;align-items:center;height:14px;display:flex;position:relative}.mv-week-day.weekend{background:#e5e7eb}.mv-week-day.holiday{background:#fee2e2}.mv-week-day.active{background:#bfdbfe}.mv-week-day.milestone{background:#ddd6fe}.mv-week-day.starts:before,.mv-week-day.clip-start:before{content:"";background:#2563eb;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.mv-week-day.ends:after,.mv-week-day.clip-end:after{content:"";background:#dc2626;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.mv-week-day span{color:#64748b;font-size:7px;font-weight:900}.mv-week-day.active span{color:#1e40af}.mv-week-day.holiday span{color:#dc2626}.mv-week-chips{flex-wrap:wrap;gap:3px;display:flex}.mv-week-chip{color:#475569;background:#f1f5f9;border-radius:4px;padding:2px 5px;font-size:8.5px;font-weight:850}.mv-week-chip strong{color:var(--ink)}.mv-week-chip.event{color:#075985;background:#e0f2fe}.mv-week-chip.late{color:#991b1b;background:#fee2e2}.mv-week-chip.risk{color:#9a3412;background:#ffedd5}.mv-week-chip.done{color:#166534;background:#dcfce7}.mv-week-chip.progress{color:#1d4ed8;background:#dbeafe}.mv-week-chip.soon{color:#5b21b6;background:#ede9fe}.mv-week-ongoing{border-top:1px dashed #cbd5e1;margin-top:2px;padding-top:7px}.mv-week-ongoing-title{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px;font-size:9px;font-weight:950}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.path-view{background:#eef2f7;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.path-toolbar{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:14px;height:56px;padding:0 16px;display:flex}.path-toolbar h2{color:var(--text-primary);margin:0;font-size:15px;font-weight:900}.path-toolbar p{color:var(--text-muted);margin:2px 0 0;font-size:12px}.path-open-planning{background:var(--accent);color:#fff;border-radius:7px;flex-shrink:0;padding:6px 10px;font-size:12px;font-weight:850}.path-open-planning:hover{background:#1d4ed8}.path-empty{border:1px solid var(--border);color:var(--text-muted);background:#fff;border-radius:10px;margin:18px;padding:18px;font-size:13px}.path-flow-shell{border:1px solid var(--border);background:#eef2f7;border-radius:12px;flex:1;min-height:0;margin:10px;overflow:hidden}.path-flow-shell .react-flow{background:#eef2f7}.path-flow-shell .react-flow__attribution{display:none}.pg-card{border:1px solid var(--border);box-sizing:border-box;background:#fff;border-left:4px solid #94a3b8;border-radius:10px;flex-direction:column;gap:4px;width:240px;min-height:90px;padding:8px 10px;font-family:system-ui,-apple-system,sans-serif;display:flex;box-shadow:0 2px 6px #0f172a12}.pg-card.pg-status-late{border-left-color:#dc2626}.pg-card.pg-status-at_risk{border-left-color:#f97316}.pg-card.pg-status-in_progress,.pg-card.pg-status-done{border-left-color:#16a34a}.pg-card.pg-status-not_started{border-left-color:#2563eb}.pg-card.pg-tone-zero{background:#fef2f2}.pg-card.pg-tone-tight{background:#fff7ed}.pg-card.pg-tone-roomy{background:#f0fdf4}.pg-card.pg-tone-unknown{background:#f8fafc}.pg-card.pg-expanded{border-style:dashed dashed dashed solid}.pg-card.pg-target{background:#faf5ff;border-left-width:5px;border-left-color:#7c3aed;min-height:76px;box-shadow:0 0 0 2px #7c3aed1f,0 8px 18px #0f172a1a}.pg-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.pg-type-badge{color:#64748b;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:1px 6px;font-size:9px;font-weight:900}.pg-badge-target{color:#5b21b6;background:#ede9fe}.pg-margin-badge{white-space:nowrap;font-size:10px;font-weight:900}.pg-margin-zero{color:#dc2626}.pg-margin-tight{color:#ea580c}.pg-margin-roomy{color:#16a34a}.pg-margin-unknown{color:#94a3b8}.pg-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);margin:2px 0;font-size:12px;font-weight:900;line-height:1.3;display:block;overflow:hidden}.pg-dates{color:var(--text-secondary);font-size:10px;font-weight:700}.pg-foot{justify-content:space-between;align-items:center;gap:6px;margin-top:auto;display:flex}.pg-status-chip{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:1px 6px;font-size:9px;font-weight:850}.pg-chip-late{color:#991b1b;background:#fee2e2}.pg-chip-at_risk{color:#9a3412;background:#ffedd5}.pg-chip-in_progress,.pg-chip-done{color:#166534;background:#dcfce7}.pg-chip-not_started{color:#1d4ed8;background:#dbeafe}.pg-btns{flex-shrink:0;gap:4px;display:flex}.pg-btn-planning{color:#1d4ed8;white-space:nowrap;background:#dbeafe;border-radius:6px;padding:2px 7px;font-size:9px;font-weight:900}.pg-btn-planning:hover{background:#bfdbfe}.pg-btn-expand{color:#475569;background:#f1f5f9;border-radius:6px;padding:2px 7px;font-size:9px;font-weight:900}.pg-btn-expand:hover{background:#e2e8f0}.pg-handle{opacity:0;background:#fff;border:2px solid #94a3b8;width:8px;height:8px}.at-view{background:#eef2f7;flex-direction:row;flex:1;min-width:0;min-height:0;display:flex}.at-library{background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow:hidden}.at-library-head{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:10px 10px 8px;display:flex}.at-library-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:11px;font-weight:900}.at-library-search{border:1px solid var(--border);color:var(--text-primary);box-sizing:border-box;background:#fff;border-radius:6px;width:100%;padding:4px 8px;font-size:12px}.at-library-list{flex:1;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.at-library-empty{color:var(--text-muted);padding:12px;font-size:12px}.at-library-item{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding:6px 10px;display:flex;position:relative}.at-library-item:hover{background:#f8fafc}.at-lib-row{align-items:center;gap:4px;display:flex}.at-lib-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:700;overflow:hidden}.at-lib-wp{color:#1d4ed8;white-space:nowrap;background:#dbeafe;border-radius:999px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:900}.at-lib-dates{color:var(--text-muted);font-size:10px}.at-lib-add{color:#fff;opacity:0;background:#2563eb;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:16px;line-height:1;transition:opacity .12s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.at-library-item:hover .at-lib-add{opacity:1}.at-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.at-toolbar{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:6px 16px;display:flex}.at-toolbar-left{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.at-toolbar h2{color:var(--text-primary);white-space:nowrap;margin:0;font-size:15px;font-weight:900}.at-toolbar-count{color:var(--text-muted);white-space:nowrap;font-size:12px}.at-session-tools{flex:1;align-items:center;gap:6px;min-width:280px;display:flex}.at-session-select,.at-session-name{border:1px solid var(--border);height:28px;color:var(--text-primary);background:#fff;border-radius:7px;font-size:12px;font-weight:750}.at-session-select{width:150px}.at-session-name{flex:1;min-width:120px;padding:0 8px}.at-btn-ghost{border:1px solid var(--border);color:#475569;white-space:nowrap;background:#f8fafc;border-radius:7px;height:28px;padding:0 9px;font-size:11px;font-weight:850}.at-btn-ghost:hover:not(:disabled){color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.at-btn-ghost.danger:hover:not(:disabled){color:#991b1b;background:#fee2e2;border-color:#fecaca}.at-btn-ghost:disabled{opacity:.45;cursor:default}.at-btn-retro-on{color:#c2410c;background:#fff7ed;border-color:#fdba74}.at-list-backdrop{z-index:300;background:#0f172a6b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.at-list-modal{background:#fff;border-radius:12px;flex-direction:column;width:560px;max-width:92vw;max-height:86vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #0f172a4d}.at-list-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.at-list-title{color:var(--ink,#0f172a);font-size:15px;font-weight:900}.at-list-close{cursor:pointer;color:#94a3b8;background:0 0;border:none;font-size:22px;line-height:1}.at-list-close:hover{color:#1e293b}.at-list-add{border-bottom:1px solid var(--border);padding:14px 18px}.at-list-sub{color:#64748b;margin-bottom:8px;font-size:11px;font-weight:800}.at-list-sub code{color:#475569;background:#f1f5f9;border-radius:4px;padding:1px 5px;font-size:10px}.at-list-textarea{border:1px solid var(--border);resize:vertical;color:#1e293b;border-radius:8px;width:100%;min-height:110px;padding:10px 12px;font-family:ui-monospace,monospace;font-size:13px;line-height:1.6}.at-list-textarea:focus{border-color:#2563eb;outline:none}.at-list-create{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;height:34px;margin-top:10px;padding:0 14px;font-size:13px;font-weight:850}.at-list-create:hover:not(:disabled){background:#1d4ed8}.at-list-create:disabled{opacity:.45;cursor:default}.at-list-existing{padding:14px 18px;overflow-y:auto}.at-list-rows{flex-direction:column;gap:5px;display:flex}.at-list-empty{color:#94a3b8;text-align:center;padding:12px 0;font-size:12px}.at-list-row2{background:#fcfdff;border:1px solid #eef2f7;border-radius:8px;flex-direction:column;gap:4px;padding:7px 8px;display:flex}.at-list-row{align-items:center;gap:8px;display:flex}.at-list-assign{flex-wrap:wrap;align-items:center;gap:8px;padding-left:22px;display:flex}.at-list-wp{border:1px solid var(--border);color:#475569;background:#fff;border-radius:6px;flex-shrink:0;height:26px;padding:0 6px;font-size:11px}.at-list-res{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.at-list-res-empty{color:#cbd5e1;font-size:10px;font-style:italic}.at-list-res-chip{border:1px solid var(--border);color:#64748b;cursor:pointer;white-space:nowrap;background:#f8fafc;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:800}.at-list-res-chip:hover{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.at-list-res-chip.on{color:#fff;background:#6d28d9;border-color:#6d28d9}.at-list-type{text-align:center;flex-shrink:0;width:14px;font-size:12px}.at-list-type.milestone{color:#7c3aed}.at-list-type.task{color:#2563eb}.at-list-name{border:1px solid var(--border);color:#1e293b;border-radius:6px;flex:1;min-width:0;height:30px;padding:0 9px;font-size:13px}.at-list-name:focus{border-color:#2563eb;outline:none}.at-list-dur{border:1px solid var(--border);text-align:right;border-radius:6px;flex-shrink:0;width:58px;height:30px;padding:0 6px;font-size:12px}.at-list-unit{color:#94a3b8;flex-shrink:0;font-size:11px}.at-list-del{cursor:pointer;color:#cbd5e1;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:17px;line-height:1}.at-list-del:hover{color:#dc2626}.at-btn-icon{border:1px solid var(--border);color:#475569;background:#f8fafc;border-radius:7px;justify-content:center;align-items:center;width:30px;height:28px;font-size:15px;font-weight:800;line-height:1;display:inline-flex}.at-btn-icon:hover:not(:disabled){color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.at-btn-icon:disabled{opacity:.4;cursor:default}.at-btn-group{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.at-btn-group:hover:not(:disabled){color:#3730a3;background:#e0e7ff;border-color:#a5b4fc}.at-pending-hint{color:#2563eb;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;animation:1.4s ease-in-out infinite at-hint-pulse;overflow:hidden}.at-error-hint{color:#991b1b;white-space:nowrap;background:#fee2e2;border:1px solid #fecaca;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:850}@keyframes at-hint-pulse{0%,to{opacity:1}50%{opacity:.55}}.at-toolbar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.at-btn-library{color:#475569;border:1px solid var(--border);white-space:nowrap;background:#f1f5f9;border-radius:7px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:850}.at-btn-library:hover{background:#e2e8f0}.at-btn-library.at-btn-library-open{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.at-ref-label{color:var(--text-muted);white-space:nowrap;align-items:center;gap:5px;font-size:11px;font-weight:700;display:flex}.at-ref-input{border:1px solid var(--border);color:var(--text-primary);cursor:pointer;background:#fff;border-radius:6px;padding:3px 6px;font-size:11px}.at-btn-add{background:var(--accent);color:#fff;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:850}.at-btn-add:hover{background:#1d4ed8}.at-btn-clear{color:#991b1b;background:#fee2e2;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:850}.at-btn-clear:hover:not(:disabled){background:#fecaca}.at-btn-clear:disabled{opacity:.4;cursor:default}.at-flow-shell{background:#eef2f7;flex:1;min-height:0;position:relative;overflow:hidden}.at-flow-shell .react-flow{background:#eef2f7}.at-flow-shell .react-flow__attribution{display:none}.react-flow__controls{border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 4px 16px #0f172a1f}.react-flow__minimap{border:1px solid var(--border);background:#ffffffeb;border-radius:8px;overflow:hidden}.at-empty{text-align:center;pointer-events:none;z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px;display:flex;position:absolute;inset:0}.at-empty p{color:var(--text-muted);margin:0;font-size:14px}.at-empty-hint{color:#94a3b8!important;font-size:12px!important}.at-context-menu{z-index:40;border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;gap:2px;min-width:150px;padding:5px;display:flex;position:fixed;box-shadow:0 12px 30px #0f172a2e}.at-context-menu button{height:30px;color:var(--text-primary);text-align:left;background:0 0;border:0;border-radius:6px;padding:0 9px;font-size:12px;font-weight:850}.at-context-menu button:hover{color:#1d4ed8;background:#eff6ff}.at-context-menu button.danger:hover{color:#991b1b;background:#fee2e2}.at-context-menu button:disabled{opacity:.45;cursor:default}.at-card{border:1px solid var(--border);box-sizing:border-box;background:#fff;border-left:4px solid #2563eb;border-radius:10px;flex-direction:column;gap:4px;width:248px;min-height:100px;padding:8px 10px;font-family:system-ui,-apple-system,sans-serif;display:flex;position:relative;box-shadow:0 2px 6px #0f172a14}.at-card[style*=--at-group-accent]{border-left-color:var(--at-group-accent)}.at-card.at-group{border:1.5px dashed #94a3b8;border-left:5px solid var(--at-group-accent,#64748b);width:100%;height:100%;min-height:0;box-shadow:none;pointer-events:all;background:#ffffff57;border-radius:12px;padding:0;transition:background .14s,border-color .14s,box-shadow .14s,transform .14s}.at-card.at-group.at-group-drop-target{background:#dbeafe94;border-color:#2563eb;transform:scale(1.01);box-shadow:0 0 0 4px #2563eb24,inset 0 0 0 2px #2563eb29}.at-group-head{pointer-events:all;align-items:center;gap:8px;display:flex;position:absolute;top:8px;left:12px;right:12px}.at-group-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--at-group-accent,#334155);background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:950;overflow:hidden}.at-group-name-input{max-width:210px}.at-group-delete{opacity:0;background:#fff;margin-left:auto;position:static}.at-card.at-group:hover .at-group-delete{opacity:1}.at-group-resize-line{border-color:#64748b!important}.at-group-resize-handle{background:#fff!important;border:2px solid #64748b!important;border-radius:999px!important;width:9px!important;height:9px!important}.at-card.at-milestone{width:168px;min-height:168px;box-shadow:none;text-align:center;background:0 0;border-color:#0000;justify-content:center;align-items:center;padding:28px 24px}.at-milestone-diamond{z-index:-1;border:1.5px solid #c4b5fd;border-left:5px solid var(--at-group-accent,#7c3aed);background:#faf5ff;border-radius:14px;position:absolute;inset:14px;transform:rotate(45deg);box-shadow:0 4px 14px #581c871f}.at-card.at-milestone.at-card-connecting .at-milestone-diamond{box-shadow:0 0 0 3px #7c3aed24,0 4px 14px #581c871f}.at-card.at-card-connecting{box-shadow:0 0 0 2px #2563eb1f,0 2px 6px #0f172a14}.at-card-head{align-items:center;gap:4px;min-height:20px;display:flex}.at-milestone .at-card-head{justify-content:center;max-width:126px}.at-type-badge{color:#1d4ed8;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#dbeafe;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:9px;font-weight:900}.at-milestone .at-type-badge{color:#5b21b6;background:#ede9fe}.at-wp-badge{color:#475569;white-space:nowrap;text-overflow:ellipsis;background:#f1f5f9;border-radius:999px;flex-shrink:1;max-width:90px;padding:1px 6px;font-size:9px;font-weight:850;overflow:hidden}.at-res-badge{color:#6d28d9;white-space:nowrap;text-overflow:ellipsis;background:#ede9fe;border:1px solid #ddd6fe;border-radius:999px;flex-shrink:1;max-width:84px;padding:1px 6px;font-size:9px;font-weight:850;overflow:hidden}.at-milestone .at-wp-badge{max-width:70px}.at-delete-btn{color:#94a3b8;opacity:0;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-left:auto;font-size:14px;line-height:1;transition:opacity .12s,background .12s;display:flex}.at-milestone .at-delete-btn{background:#ffffffc7;position:absolute;top:14px;right:22px}.at-card:hover .at-delete-btn{opacity:1}.at-delete-btn:hover{color:#dc2626;background:#fee2e2}.at-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);cursor:default;flex:1;font-size:12px;font-weight:900;line-height:1.4;display:block;overflow:hidden}.at-milestone .at-name{white-space:normal;text-align:center;max-width:118px;line-height:1.2}.at-name-input{color:var(--text-primary);border:1px solid var(--accent);box-sizing:border-box;background:#fff;border-radius:4px;width:100%;padding:1px 4px;font-size:12px;font-weight:900}.at-milestone .at-name-input{text-align:center;width:118px}.at-card-foot{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;margin-top:auto;display:flex}.at-milestone .at-card-foot{justify-content:center;width:118px;margin-top:4px}.at-duration{color:#64748b;cursor:default;font-size:10px;font-weight:700}.at-dur-input{border:1px solid var(--accent);border-radius:4px;width:52px;padding:1px 4px;font-size:10px;font-weight:700}.at-dates{text-align:right;flex:1;font-size:10px}.at-milestone .at-dates{text-align:center}.at-dates-computed{color:#1d4ed8;cursor:pointer;font-weight:700}.at-dates-pinned{color:#7c2d12;background:#ffedd5;border:1px solid #fed7aa;border-radius:5px;align-items:center;gap:3px;padding:1px 4px 1px 5px;display:inline-flex}.at-dates-pin{font-size:9px}.at-dates-unpin{color:#c2410c;cursor:pointer;background:0 0;border:none;padding:0 0 0 2px;font-size:12px;line-height:1}.at-dates-unpin:hover{color:#7c2d12}.at-dates-input{border:1px solid #fdba74;border-radius:4px;max-width:110px;padding:1px 3px;font-family:inherit;font-size:10px}.at-sched{flex-direction:column;gap:3px;width:100%;font-size:11px;display:flex}.at-srow{background:#f8fafc;border:1px solid #eef2f7;border-radius:6px;align-items:center;gap:6px;padding:2px 5px;display:flex}.at-srow.free{background:#eff6ff;border-color:#bfdbfe}.at-pad{cursor:pointer;filter:grayscale(.2);background:0 0;border:none;flex-shrink:0;padding:0;font-size:12px;line-height:1}.at-pad:hover{filter:none;transform:scale(1.12)}.at-srow-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0;width:42px;font-size:9.5px;font-weight:800}.at-srow-v{color:#1d4ed8;cursor:pointer;white-space:nowrap;margin-left:auto;font-weight:800}.at-srow-v.computed{color:#2563eb;cursor:default;opacity:.85;font-style:italic}.at-dates-none{color:#cbd5e1;cursor:pointer;font-style:italic}.at-kpi-bar{border-bottom:1px solid var(--border);background:#fff;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:22px;padding:8px 16px;display:flex}.at-kpi{color:#64748b;align-items:center;gap:6px;font-size:12px;display:flex}.at-kpi-icon{font-size:12px}.at-kpi-label{font-weight:700}.at-kpi strong{color:#1e293b;font-weight:850}.at-kpi-ok{color:#16a34a}.at-kpi-bad{color:#dc2626}.at-kpi-warn strong{color:#c2410c}.at-kpi-reset{color:#c2410c;white-space:nowrap;background:#fff7ed;border:1px solid #fed7aa;border-radius:7px;height:26px;margin-left:auto;padding:0 10px;font-size:11px;font-weight:800}.at-kpi-reset:hover{background:#ffedd5;border-color:#fdba74}.at-retro-panel{background:#fff7ed;border-bottom:1px solid #fed7aa;flex-shrink:0;padding:8px 16px 10px}.at-retro-controls{align-items:center;gap:8px;min-width:0;display:flex}.at-retro-controls strong{color:#9a3412;white-space:nowrap;font-size:12px;font-weight:900}.at-retro-select,.at-retro-anchor,.at-retro-date{color:#1e293b;background:#fff;border:1px solid #fed7aa;border-radius:7px;height:28px;font-size:11px;font-weight:750}.at-retro-select{flex:1;min-width:220px;max-width:420px}.at-retro-anchor{width:112px}.at-retro-date{padding:0 7px}.at-retro-close{color:#9a3412;background:#ffedd5;border-radius:7px;width:26px;height:26px;margin-left:auto;font-size:16px;font-weight:900}.at-retro-close:hover{background:#fed7aa}.at-retro-empty{color:#9a3412;margin:8px 0 0;font-size:12px;font-weight:650}.at-retro-rows{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:6px;max-height:132px;margin-top:8px;display:grid;overflow:auto}.at-retro-row{color:#334155;text-align:left;background:#fff;border:1px solid #fed7aa;border-radius:8px;grid-template-columns:54px minmax(120px,1fr) 150px 176px 92px;align-items:center;gap:8px;min-height:34px;padding:5px 8px;font-size:11px;display:grid}.at-retro-row:hover{border-color:#fb923c;box-shadow:0 0 0 2px #fb923c1f}.at-retro-row.target{background:#faf5ff;border-color:#a78bfa}.at-retro-row.late{background:#fff7f7;border-color:#fecaca}.at-retro-kind{color:#9a3412;background:#ffedd5;border-radius:999px;justify-self:start;padding:2px 6px;font-weight:900}.at-retro-row.target .at-retro-kind{color:#6d28d9;background:#ede9fe}.at-retro-name{text-overflow:ellipsis;white-space:nowrap;color:#111827;min-width:0;font-weight:900;overflow:hidden}.at-retro-current,.at-retro-latest{color:#64748b;white-space:nowrap;font-weight:700}.at-retro-latest{color:#0f172a}.at-retro-delta{color:#166534;white-space:nowrap;background:#dcfce7;border-radius:999px;justify-self:end;padding:2px 7px;font-weight:900}.at-retro-row.late .at-retro-delta{color:#b91c1c;background:#fee2e2}.at-retro-upstream{box-shadow:0 0 0 2px #fb923c,0 4px 16px #fb923c2e!important}.at-retro-target{box-shadow:0 0 0 3px #8b5cf6,0 4px 18px #8b5cf638!important}.at-retro-chip{color:#166534;background:#dcfce7;border-radius:5px;padding:1px 6px;font-size:9.5px;font-weight:900}.at-retro-chip.late{color:#b91c1c;background:#fee2e2}.at-card-critical{box-shadow:0 0 0 2px #dc2626,0 4px 14px #dc26262e!important}.at-meta-row{flex-wrap:wrap;align-items:center;gap:6px;min-height:0;margin-top:5px;display:flex}.at-float{color:#64748b;background:#f1f5f9;border-radius:5px;padding:1px 6px;font-size:9.5px;font-weight:800}.at-float-crit{color:#b91c1c;background:#fee2e2}.at-sim{color:#9a3412;cursor:pointer;background:#ffedd5;border:1px solid #fed7aa;border-radius:5px;align-items:center;gap:4px;padding:1px 4px 1px 6px;font-size:9.5px;font-weight:800;display:inline-flex}.at-sim-remove{color:#c2410c;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;line-height:1}.at-sim-remove:hover{color:#7c2d12}.at-sim-input{border:1px solid #fdba74;border-radius:4px;width:52px;padding:1px 4px;font-family:inherit;font-size:10px}.at-target{border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;margin-top:5px;padding:3px 6px;font-size:10px;display:flex}.at-target-ok{background:#f0fdf4;border-color:#bbf7d0}.at-target-late{background:#fef2f2;border-color:#fecaca}.at-milestone .at-target{justify-content:center}.at-target-pin{flex-shrink:0;font-size:10px;line-height:1}.at-target-label{color:#334155;cursor:pointer;white-space:nowrap;font-weight:800}.at-target-input{border:1px solid #cbd5e1;border-radius:4px;padding:1px 3px;font-family:inherit;font-size:10px}.at-target-badge{white-space:nowrap;border-radius:4px;margin-left:auto;padding:1px 5px;font-weight:900}.at-target-badge.late{color:#fff;background:#dc2626}.at-target-badge.ok{color:#fff;background:#16a34a}.at-target-remove{color:#94a3b8;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:13px;line-height:1}.at-target-remove:hover{color:#dc2626}.at-rfhandle{opacity:0;background:0 0;border:none;width:6px;height:6px}.at-rfhandle-l{left:-3px!important}.at-rfhandle-r{right:-3px!important}.at-rfhandle-top{top:35%!important}.at-rfhandle-bot{top:65%!important}.at-milestone .at-rfhandle-l{left:6px!important}.at-milestone .at-rfhandle-r{right:6px!important}.at-milestone .at-rfhandle-top{top:42%!important}.at-milestone .at-rfhandle-bot{top:58%!important}.at-conn{letter-spacing:.03em;cursor:pointer;z-index:10;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:2px;width:30px;height:20px;font-size:9px;font-weight:900;line-height:1;transition:transform .12s,box-shadow .12s,background .12s,color .12s;display:flex;position:absolute}.at-port-label{font-size:9px;font-weight:950;line-height:1}.at-port-triangle{flex-shrink:0;width:0;height:0}.at-conn-target.at-conn-l .at-port-triangle{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid}.at-conn-source.at-conn-l .at-port-triangle,.at-conn-target.at-conn-r .at-port-triangle{border-top:5px solid #0000;border-bottom:5px solid #0000;border-right:8px solid}.at-conn-source.at-conn-r .at-port-triangle{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid}.at-conn-top{top:35%;transform:translateY(-50%)}.at-conn-bot{top:65%;transform:translateY(-50%)}.at-conn-top:hover,.at-conn-bot:hover{transform:translateY(-50%)scale(1.15)}.at-conn-top.at-conn-active,.at-conn-bot.at-conn-active{transform:translateY(-50%)scale(1.1)}.at-conn-l{left:-19px}.at-conn-r{right:-19px}.at-milestone .at-conn-l{left:-8px}.at-milestone .at-conn-r{right:-8px}.at-milestone .at-conn-top{top:42%}.at-milestone .at-conn-bot{top:58%}.at-conn-source{color:#64748b;background:#e2e8f0;border:1.5px solid #cbd5e1}.at-conn-source:hover{color:#fff;background:#2563eb}.at-conn-source.at-conn-active{color:#fff;background:#2563eb;animation:1.2s ease-in-out infinite at-pulse;box-shadow:0 0 0 3px #2563eb59}.at-conn-target{color:#cbd5e1;background:#fff;border:1.5px solid #cbd5e1}.at-conn-target:hover{color:#ea580c;background:#fff7ed;border-color:#ea580c}.at-conn-target.at-conn-lit{color:#ea580c;background:#fff7ed;border-color:#ea580c;animation:1.2s ease-in-out infinite at-pulse-orange;box-shadow:0 0 0 2px #ea580c40}.at-edge-label{color:#475569;white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;padding:2px 8px;font-size:10px;font-weight:700;transition:background .1s,border-color .1s}.at-edge-label:hover{cursor:pointer;background:#f1f5f9;border-color:#94a3b8}.at-edge-lag-input{border:1.5px solid var(--accent);text-align:center;width:62px;color:var(--text-primary);background:#fff;border-radius:5px;outline:none;padding:2px 6px;font-size:10px;font-weight:700;box-shadow:0 0 0 2px #2563eb26}@keyframes at-pulse{0%,to{box-shadow:0 0 0 3px #2563eb59}50%{box-shadow:0 0 0 6px #2563eb1f}}@keyframes at-pulse-orange{0%,to{box-shadow:0 0 0 2px #ea580c40}50%{box-shadow:0 0 0 5px #ea580c14}}.ph-view{background:#f0f4f9;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.ph-toolbar{border-bottom:1px solid var(--border-color,#e2e8f0);background:#fff;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:14px;padding:10px 16px;display:flex}.ph-toolbar h2{color:#0f172a;margin:0;font-size:15px;font-weight:900}.ph-plan-tools{align-items:center;gap:8px;display:flex}.ph-plan-select,.ph-plan-name{border:1px solid var(--border-color,#e2e8f0);color:#1e293b;background:#fff;border-radius:7px;height:30px;padding:0 9px;font-family:inherit;font-size:13px}.ph-plan-name{width:180px}.ph-plan-name:focus,.ph-plan-select:focus{border-color:#1a5fa8;outline:none}.ph-toolbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.ph-btn-ghost{border:1px solid var(--border-color,#e2e8f0);color:#475569;cursor:pointer;white-space:nowrap;background:#f8fafc;border-radius:7px;height:30px;padding:0 11px;font-size:12px;font-weight:800}.ph-btn-ghost:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.ph-btn-ghost.danger:hover{color:#991b1b;background:#fee2e2;border-color:#fecaca}.ph-btn-icon{border:1px solid var(--border-color,#e2e8f0);color:#475569;cursor:pointer;background:#f8fafc;border-radius:7px;width:30px;height:30px;font-size:17px;font-weight:800;line-height:1}.ph-btn-icon:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.ph-btn-add{color:#fff;cursor:pointer;white-space:nowrap;background:#1a5fa8;border:none;border-radius:7px;height:30px;padding:0 13px;font-size:13px;font-weight:850}.ph-btn-add:hover:not(:disabled){background:#154d8a}.ph-btn-add:disabled{opacity:.6;cursor:default}.ph-error{color:#b91c1c;background:#fef2f2;border-bottom:1px solid #fecaca;padding:8px 16px;font-size:12px;font-weight:700}.ph-empty{flex:1;justify-content:center;align-items:center;display:flex}.ph-empty-card{border:1px solid var(--border-color,#e2e8f0);text-align:center;background:#fff;border-radius:14px;max-width:420px;padding:32px 36px;box-shadow:0 8px 30px #0f172a0f}.ph-empty-icon{font-size:40px}.ph-empty-title{color:#1e293b;margin:10px 0 6px;font-size:16px;font-weight:900}.ph-empty-hint{color:#64748b;margin-bottom:18px;font-size:13px;line-height:1.6}.ph-body{flex:1;min-width:0;min-height:0;display:flex}.ph-stage{background:repeating-conic-gradient(#eef2f7 0% 25%,#f4f7fb 0% 50%) 50%/22px 22px;flex:1;position:relative;overflow:hidden}.ph-stage.drawing{cursor:crosshair}.ph-svg{pointer-events:none;position:absolute;top:0;left:0}.ph-svg path,.ph-svg circle{pointer-events:auto}.ph-pan-hint{color:#fff;pointer-events:none;background:#0f172a9e;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:700;position:absolute;bottom:12px;left:14px}.ph-zones-panel{border-left:1px solid var(--border-color,#e2e8f0);background:#fff;flex-direction:column;flex-shrink:0;width:240px;min-height:0;display:flex}.ph-zones-head{letter-spacing:.06em;text-transform:uppercase;color:#64748b;border-bottom:1px solid var(--border-color,#e2e8f0);justify-content:space-between;align-items:center;padding:12px 14px;font-size:11px;font-weight:900;display:flex}.ph-zones-count{color:#475569;background:#f1f5f9;border-radius:999px;padding:1px 8px}.ph-zones-list{flex-direction:column;flex:1;gap:4px;padding:8px;display:flex;overflow-y:auto}.ph-zones-empty{color:#94a3b8;text-align:center;padding:16px 8px;font-size:12px;line-height:1.5}.ph-zone-row{cursor:pointer;background:#f8fafc;border:1.5px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:5px 6px;display:flex}.ph-zone-row:hover{background:#f1f5f9}.ph-zone-row.active{background:#eff6ff;border-color:#1a5fa8}.ph-zone-order{flex-direction:column;display:flex}.ph-zone-order button{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:1px;font-size:8px;line-height:1}.ph-zone-order button:hover:not(:disabled){color:#1a5fa8}.ph-zone-order button:disabled{opacity:.3;cursor:default}.ph-zone-num{color:#475569;text-align:center;flex-shrink:0;width:16px;font-size:11px;font-weight:900}.ph-zone-color{border:1px solid var(--border-color,#e2e8f0);cursor:pointer;background:0 0;border-radius:5px;flex-shrink:0;width:22px;height:22px;padding:0}.ph-zone-name{color:#1e293b;background:0 0;border:1px solid #0000;border-radius:6px;flex:1;min-width:0;height:26px;padding:0 6px;font-size:12px;font-weight:700}.ph-zone-name:hover{border-color:var(--border-color,#e2e8f0);background:#fff}.ph-zone-name:focus{background:#fff;border-color:#1a5fa8;outline:none}.ph-zone-del{cursor:pointer;color:#cbd5e1;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:16px;line-height:1}.ph-zone-del:hover{color:#dc2626}.ph-source{color:#64748b;align-items:center;gap:5px;font-size:11px;font-weight:800;display:flex}.ph-assign{border-top:1px solid var(--border-color,#e2e8f0);flex-direction:column;flex-shrink:0;gap:8px;max-height:42%;padding:10px 12px;display:flex;overflow-y:auto}.ph-assign-head{text-transform:uppercase;letter-spacing:.05em;color:#475569;font-size:10px;font-weight:900}.ph-assign-chips{flex-wrap:wrap;gap:4px;display:flex}.ph-assign-empty{color:#94a3b8;font-size:11px;font-style:italic}.ph-assign-chip{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 9px;font-size:11px;font-weight:700;display:inline-flex}.ph-assign-chip.missing{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.ph-assign-chip button{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;padding:0;font-size:13px;line-height:1}.ph-assign-chip button:hover{opacity:1}.ph-assign-multi{color:#fff;cursor:help;background:#7c3aed;border-radius:999px;padding:0 4px;font-size:9px;font-weight:900}.ph-assign-pickers{flex-direction:column;gap:6px;display:flex}.ph-assign-add{border:1px solid var(--border-color,#e2e8f0);color:#475569;background:#fff;border-radius:7px;height:30px;padding:0 8px;font-size:12px}.ph-assign-hint{color:#94a3b8;font-size:11px}.ph-draw-hint{color:#64748b;font-size:11px;font-weight:600}.ph-btn-ghost.accent{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.ph-btn-ghost.accent:hover{background:#e0e7ff}.ph-canvas{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.ph-plan-img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;background:#fff;display:block;box-shadow:0 4px 24px #0f172a2e}.ph-zoom-badge{color:#fff;pointer-events:none;background:#0f172ac7;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800;position:absolute;bottom:12px;right:14px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-app:#f1f5f9;--bg-surface:#fff;--bg-card:#f8fafc;--bg-hover:#f1f5f9;--border:#e2e8f0;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#94a3b8;--accent:#2563eb;--accent-hover:#1d4ed8;--danger:#dc2626;--success:#16a34a;--warning:#f97316;color:var(--text-primary);font-family:system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}body{background:var(--bg-app);height:100dvh;overflow:hidden}#root{flex-direction:column;height:100dvh;display:flex}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.btn-primary{background:var(--accent);color:#fff;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;padding:5px 10px;font-size:13px}.btn-ghost:hover{background:var(--bg-hover)}.app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-header{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;height:48px;padding:0 16px;display:flex}.app-title{color:var(--accent);font-size:16px;font-weight:700}.app-logo{flex-shrink:0;width:auto;height:28px;display:block}.app-project-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:220px;color:var(--text-secondary);text-align:left;border-radius:5px;padding:3px 6px;font-size:13px;font-weight:600;overflow:hidden}.app-project-name:hover{background:var(--bg-hover);color:var(--text-primary)}.app-project-name-input{border:1px solid var(--accent);width:220px;height:28px;color:var(--text-primary);font:inherit;background:#fff;border-radius:6px;outline:none;padding:0 8px;font-size:13px;font-weight:600}.app-spacer{flex:1}.header-btn{color:var(--text-secondary);border:1px solid var(--border);background:var(--bg-surface);border-radius:6px;padding:5px 10px;font-size:12px}.header-btn:hover:not(:disabled){background:var(--bg-hover)}.header-btn:disabled{opacity:.4;cursor:default}.header-save-info{text-overflow:ellipsis;white-space:nowrap;max-width:180px;color:var(--text-muted);font-size:11px;overflow:hidden}.app-tabs{gap:2px;margin-left:16px;display:flex}.app-tab{color:var(--text-secondary);background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:13px}.app-tab:hover{background:var(--bg-hover)}.app-tab.active{background:var(--accent);color:#fff;font-weight:600}.app-body{flex:1;min-height:0;display:flex;overflow:hidden}.welcome{background:var(--bg-app);flex:1;justify-content:center;align-items:center;display:flex}.welcome-card{background:var(--bg-surface);border:1px solid var(--border);text-align:center;border-radius:12px;width:100%;max-width:420px;padding:40px 48px;box-shadow:0 4px 24px #0000000f}.welcome-logo{color:var(--accent);margin-bottom:6px;font-size:32px;font-weight:800}.welcome-logo-img{width:auto;height:64px;margin:0 auto 12px;display:block}.welcome-sub{color:var(--text-muted);margin-bottom:28px;font-size:14px}.welcome-btns{flex-direction:column;gap:10px;display:flex}.welcome-btns .btn-primary,.welcome-btns .btn-ghost{padding:10px;font-size:14px}.welcome-create-form{flex-direction:column;gap:10px;display:flex}.welcome-create-input{border:2px solid var(--accent);background:var(--bg-surface);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:15px}.welcome-create-input::placeholder{color:var(--text-muted)}.welcome-create-actions{gap:8px;display:flex}.welcome-create-actions .btn-primary,.welcome-create-actions .btn-ghost{flex:1;padding:9px;font-size:14px}.xm-backdrop{z-index:200;background:#0f172a66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.xm-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:min(440px,100vw - 48px);display:flex;overflow:hidden;box-shadow:0 24px 70px #0f172a47}.xm-head{border-bottom:1px solid var(--border);background:var(--bg-card);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.xm-head h3{margin:0;font-size:15px;font-weight:700}.xm-close{color:var(--text-muted);border-radius:4px;padding:2px 6px;font-size:18px}.xm-close:hover{background:var(--bg-hover);color:var(--text-primary)}.xm-sub{color:var(--text-muted);flex-shrink:0;padding:10px 16px 6px;font-size:12px}.xm-toolbar{flex-shrink:0;gap:6px;padding:4px 16px 8px;display:flex}.xm-toolbar button{color:var(--accent);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.xm-toolbar button:hover{background:var(--bg-hover)}.xm-list{border-top:1px solid var(--border);flex:1;min-height:0;padding:4px 0;overflow-y:auto}.xm-item{cursor:pointer;align-items:center;gap:10px;padding:8px 16px;display:flex}.xm-item:hover{background:var(--bg-hover)}.xm-item input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.xm-item-name{font-size:13px;font-weight:500}.xm-item-count{color:var(--text-muted);margin-left:auto;font-size:11px}.xm-footer{border-top:1px solid var(--border);background:var(--bg-card);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.import-preview-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:min(760px,100vw - 48px);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 70px #0f172a47}.import-preview-body{flex-direction:column;gap:12px;padding:14px 16px;display:flex;overflow-y:auto}.import-preview-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.import-preview-kpis div{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;padding:10px}.import-preview-kpis strong{color:var(--accent);font-size:19px;line-height:1;display:block}.import-preview-kpis span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:5px;font-size:11px;display:block}.import-preview-section{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;padding:12px}.import-preview-section h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:0 0 7px;font-size:12px}.import-preview-section p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.45}.import-preview-option{border:1px solid var(--border);color:var(--text-secondary);background:#ffffffb8;border-radius:7px;align-items:flex-start;gap:8px;margin-top:10px;padding:9px 10px;font-size:12px;line-height:1.35;display:flex}.import-preview-option input{width:15px;height:15px;accent-color:var(--accent);flex-shrink:0;margin-top:1px}.import-preview-busy{color:var(--text-muted);margin-top:7px;font-size:11px}.import-preview-attention{background:#fffbeb;border-color:#fcd34d}.import-preview-tbc-list,.import-preview-warnings{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.import-preview-tbc-list li,.import-preview-warnings li{background:#ffffffa6;border:1px solid #94a3b840;border-radius:6px;padding:7px 8px;font-size:12px}.import-preview-task-name{color:var(--text-primary);font-weight:700;display:block}.import-preview-task-meta,.import-preview-task-tech{color:var(--text-muted);margin-top:2px;display:block}.import-preview-more{color:var(--text-muted);font-weight:600}.xm-panel{width:min(520px,100vw - 48px)}.xm-family{border-bottom:1px solid var(--border)}.xm-family:last-child{border-bottom:none}.xm-toggle{color:var(--text-muted);border:1px solid var(--border);border-radius:3px;flex-shrink:0;margin-left:4px;padding:2px 5px;font-size:9px}.xm-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.xm-ms-list{flex-direction:column;gap:3px;padding:0 0 6px 42px;list-style:none;display:flex}.xm-ms-item{align-items:baseline;gap:7px;font-size:12px;display:flex}.xm-ms-dot{background:var(--accent);border-radius:2px;flex-shrink:0;width:7px;height:7px;margin-bottom:-1px;display:inline-block;transform:rotate(45deg)}.xm-ms-late .xm-ms-dot{background:var(--danger)}.xm-ms-at_risk .xm-ms-dot{background:var(--warning)}.xm-ms-done .xm-ms-dot{background:var(--success)}.xm-ms-name{color:var(--text-primary);font-weight:500}.xm-ms-date{color:var(--text-muted);white-space:nowrap;flex-shrink:0}.xm-ms-ctx{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:italic;overflow:hidden}.xm-ms-late .xm-ms-name{color:var(--danger)}.xm-ms-at_risk .xm-ms-name{color:var(--warning)}.xm-tab-section{border-bottom:1px solid var(--border)}.xm-tab-section:last-child{border-bottom:none}.xm-tab-row{padding:10px 16px}.xm-tab-icon{flex-shrink:0;font-size:13px}.xm-has-sub{background:var(--bg-card)}.xm-sub-panel{border-top:1px dashed var(--border);padding:0 0 8px 40px}.xm-sub-toolbar{align-items:center;gap:6px;padding:6px 16px 6px 0;display:flex}.xm-sub-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex:1;font-size:11px;font-weight:700}.xm-sub-toolbar button{color:var(--accent);border:1px solid var(--border);border-radius:4px;padding:2px 7px;font-size:11px;font-weight:600}.xm-search{border:1px solid var(--border);background:var(--bg-surface);width:100%;color:var(--text-primary);border-radius:6px;outline:none;padding:6px 10px;font-family:inherit;font-size:13px}.xm-search:focus{border-color:var(--accent)}.xm-sub-toolbar-actions{padding-top:4px}.xm-ms-flat{padding-left:8px!important}.xm-ms-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.xm-ms-family{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:10px;font-style:italic}.xm-ms-empty{color:var(--text-muted);padding:4px 0;font-size:12px;font-style:italic}.xm-panel{resize:both;min-width:380px;height:min(560px,100vh - 80px);min-height:220px;overflow:hidden}.xm-head{cursor:move;-webkit-user-select:none;user-select:none;flex-shrink:0}.xm-footer{flex-shrink:0}
