:root{--sidebar-width: 240px;--column-width: 296px;--header-height: 48px;--size-4: 4px;--size-8: 8px;--size-12: 12px;--size-16: 16px;--size-20: 20px;--size-24: 24px;--size-32: 32px;--size-40: 40px;--size-48: 48px;--size-56: 56px;--size-64: 64px;--p-4: 4px;--p-8: 8px;--p-12: 12px;--p-16: 16px;--p-24: 24px;--p-32: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-xs: var(--shadow-sm);--shadow-sm: var(--shadow-sm);--shadow-md: var(--shadow-md);--shadow-lg: var(--shadow-lg);--shadow-border-base: var(--shadow-sm);--shadow-border-b: var(--shadow-sm);--bg-primary: var(--background-secondary);--bg-secondary: var(--background-primary);--bg-card: var(--card-bg);--bg-column: var(--background-tertiary);--bg-hover: var(--background-hover);--bg-active: var(--background-active);--bg-disabled: var(--disabled-bg);--bg-panel-default: var(--background-primary);--bg-panel-hover: var(--background-hover);--bg-panel-active: var(--background-active);--bg-panel-constant: var(--background-primary);--text-primary: var(--text-primary);--text-secondary: var(--text-secondary);--text-tertiary: var(--text-tertiary);--text-placeholder: var(--text-tertiary);--text-panel-primary: var(--text-primary);--text-panel-secondary: var(--text-secondary);--text-panel-tertiary: var(--text-tertiary);--text-panel-placeholder: var(--text-tertiary);--text-icon-primary: var(--text-primary);--text-icon-secondary: var(--text-tertiary);--text-icon-tertiary: var(--text-tertiary);--accent-default: var(--primary-color);--accent-hover: var(--primary-hover);--accent-pressed: var(--primary-active);--border-base: var(--border-color);--border-hover: var(--border-strong);--border-focus: var(--input-focus-border);--border-panel: var(--border-color);--border-grey-l60: var(--border-color);--priority-critical: var(--priority-critical);--priority-critical-bg: var(--error-bg);--priority-urgent: var(--priority-high);--priority-urgent-bg: var(--warning-bg);--priority-high: var(--priority-high);--priority-high-bg: var(--warning-bg);--priority-medium: var(--priority-medium);--priority-medium-bg: var(--info-bg);--priority-low: var(--priority-low);--priority-low-bg: var(--success-bg);--task-turquoise: #00bcd4;--task-yellow: #ffeb3b;--status-todo: var(--status-todo);--status-todo-bg: var(--warning-bg);--status-progress: var(--status-in-progress);--status-progress-bg: var(--info-bg);--status-review: var(--status-in-review);--status-review-bg: #f3e8fd;--status-done: var(--status-completed);--status-done-bg: var(--success-bg);--notification-info-bg: var(--info-bg);--notification-info-text: var(--info-color);--notification-success-bg: var(--success-bg);--notification-success-text: var(--success-color);--notification-warning-bg: var(--warning-bg);--notification-warning-text: var(--warning-color);--notification-error-bg: var(--error-bg);--notification-error-text: var(--error-color);--header-bg: var(--header-bg);--header-border: var(--header-border);--modal-bg: var(--modal-bg);--modal-overlay: var(--modal-overlay);--input-bg: var(--input-bg);--input-border: var(--input-border);--input-focus-border: var(--input-focus-border);--card-bg: var(--card-bg);--card-border: var(--card-border);--card-hover: var(--card-hover);--divider-color: var(--divider-color)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.status-dot-online{background-color:var(--success-color)}.status-dot-offline{background-color:var(--text-tertiary)}.status-dot-busy{background-color:var(--warning-color)}.card{background-color:var(--bg-card);border:1px solid var(--border-base);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:all .2s ease}.card-hoverable:hover{box-shadow:var(--shadow-sm);border-color:var(--border-hover)}.btn{padding:var(--p-12) var(--p-24);border-radius:var(--radius-md);border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:var(--p-8);text-decoration:none}.btn-secondary:hover{background-color:var(--bg-hover)}.btn-ghost{background-color:transparent;color:var(--text-primary)}.btn-ghost:hover{background-color:var(--bg-hover)}.input{padding:var(--p-12);border:1px solid var(--border-base);border-radius:var(--radius-md);font-size:14px;background-color:var(--input-bg);color:var(--text-primary);transition:all .2s ease}.select{padding:var(--p-12);border:1px solid var(--border-base);border-radius:var(--radius-md);font-size:14px;background-color:var(--input-bg);color:var(--text-primary);cursor:pointer}@media(min-width:1200px){.modern-main.sidebar-open{margin-left:var(--sidebar-width)}.modern-main:not(.sidebar-open){margin-left:64px}}.modern-sidebar-item{display:flex;align-items:center;padding:var(--p-12) var(--p-16);color:var(--text-primary);cursor:pointer;transition:all .2s ease;text-decoration:none;gap:var(--p-12)}.modern-sidebar-item:hover{background-color:var(--sidebar-hover)}.modern-sidebar-item.active{background-color:var(--sidebar-active);color:var(--sidebar-active-text)}.modern-header{height:var(--header-height);background-color:var(--header-bg);border-bottom:1px solid var(--header-border);display:flex;align-items:center;padding:0 var(--p-16)}.modern-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--bg-primary);margin-left:0;transition:margin-left .3s ease;min-height:0}.modern-content{flex:1;overflow:hidden;padding:var(--p-24);min-height:0;display:flex;flex-direction:column}.modern-content:has(.modern-board-header){padding-top:4px}.chip{display:inline-flex;align-items:center;padding:4px var(--p-12);border-radius:var(--radius-full);font-size:12px;font-weight:500;background-color:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-base)}.chip-success{background-color:var(--success-bg);color:var(--success-color);border-color:transparent}.chip-warning{background-color:var(--warning-bg);color:var(--warning-color);border-color:transparent}.chip-error{background-color:var(--error-bg);color:var(--error-color);border-color:transparent}.avatar-xs{width:var(--size-16);height:var(--size-16);font-size:10px}.avatar-sm{width:var(--size-20);height:var(--size-20);font-size:11px}.avatar-md{width:var(--size-32);height:var(--size-32);font-size:12px}.icon{width:var(--size-icon);height:var(--size-icon);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.divider-vertical{width:1px;height:100%;background-color:var(--divider-color);margin:0 var(--p-16)}.tooltip{position:absolute;background-color:var(--text-primary);color:var(--bg-primary);padding:var(--p-8) var(--p-12);border-radius:var(--radius-sm);font-size:12px;white-space:nowrap;z-index:1000;pointer-events:none}.progress-bar{height:100%;background-color:var(--primary-color);transition:width .3s ease}.skeleton{background:linear-gradient(90deg,var(--bg-hover) 0%,var(--bg-active) 50%,var(--bg-hover) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-sm)}.modern-app{display:flex;height:100vh;overflow:hidden;position:relative}.modern-background{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-100}.modern-background-layer{position:absolute;top:0;right:0;bottom:0;left:0;background-repeat:no-repeat;background-position:left top;background-size:cover}.modern-bg-layer-1{background-image:linear-gradient(135deg,var(--primary-light) 0%,var(--background-tertiary) 100%);opacity:.6}:root[data-theme=dark] .modern-bg-layer-1{background-image:linear-gradient(135deg,var(--background-primary) 0%,var(--background-secondary) 100%);opacity:1}.modern-bg-layer-2{background-image:radial-gradient(circle at 20% 50%,var(--primary-faded) 0%,transparent 50%),radial-gradient(circle at 80% 80%,var(--primary-faded) 0%,transparent 50%);opacity:1}:root[data-theme=dark] .modern-bg-layer-2{background-image:radial-gradient(circle at 20% 50%,var(--primary-faded) 0%,transparent 50%),radial-gradient(circle at 80% 80%,var(--primary-faded) 0%,transparent 50%)}.modern-icon-btn{background:none;border:none;padding:8px;cursor:pointer;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);transition:background-color .2s ease}.modern-icon-btn:hover{background-color:var(--background-hover)}.modern-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.modern-header-title{font-size:18px;font-weight:600;color:var(--text-primary)}.modern-avatar{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background-color:var(--primary-color);color:var(--text-inverse);font-weight:500}.modern-profile{display:flex;align-items:center;gap:12px;padding:12px;cursor:pointer;border-radius:var(--radius-md);transition:background-color .2s ease}.modern-profile:hover{background-color:var(--background-hover)}.modern-profile-info{flex:1;min-width:0}.modern-profile-name{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modern-profile-email{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modern-sidebar-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modern-sidebar-text{flex:1;font-size:14px}.modern-sidebar-expand{width:16px;height:16px;transition:transform .2s ease}.modern-sidebar-expanded .modern-sidebar-expand{transform:rotate(90deg)}.modern-sidebar-children{margin-left:16px}.modern-board{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.modern-board-header{padding:0 24px 8px;flex-shrink:0}.modern-board-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modern-board-title{font-size:18px;font-weight:600;color:var(--text-primary)}.modern-board-tabs{display:flex;gap:4px;padding:8px 24px;border-bottom:1px solid var(--border-color);flex-shrink:0}.modern-board-tab{padding:8px 16px;border-radius:var(--radius-md);font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;background:none;border:none}.modern-board-tab:hover{background-color:var(--background-hover)}.modern-board-tab.active{background-color:var(--background-active);color:var(--text-primary);font-weight:500}.modern-columns-container{display:flex;gap:16px;padding:16px 24px;overflow-x:auto;overflow-y:hidden;flex:1;align-items:flex-start;height:100%;min-height:0}.modern-column{flex:1 1 0;min-width:230px;background-color:var(--bg-column);border-radius:var(--radius-lg);border-top:3px solid transparent;display:flex;flex-direction:column;height:100%;max-height:100%;min-height:0}.modern-column-header{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.modern-column-title-row{display:flex;align-items:center;gap:8px;flex:1}.modern-column-title{font-size:14px;font-weight:500;color:var(--text-primary)}.modern-column-count{font-size:12px;color:var(--text-tertiary)}.modern-column-actions{display:flex;gap:4px}.modern-column-action{width:28px;height:28px;border-radius:4px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background-color .15s ease}.modern-column-action:hover{background-color:var(--background-hover)}.modern-column-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 12px 12px;display:flex;flex-direction:column;gap:8px;min-height:0}.modern-task-card{background-color:var(--bg-card);border:1px solid var(--border-base);border-radius:var(--radius-md);padding:12px;cursor:pointer;transition:all .15s ease;position:relative}.modern-task-card:hover{box-shadow:var(--shadow-sm)}.task-exit{opacity:1;transform:translate(0) scale(1)}.task-exit-active{opacity:0;transform:translate(-15px) scale(.98);transition:opacity .12s ease-in,transform .12s ease-in;pointer-events:none}.task-enter{opacity:0;transform:translate(15px) scale(.98)}.task-enter-active{opacity:1;transform:translate(0) scale(1);transition:opacity .12s ease-out,transform .12s ease-out}.modern-detail-header{padding:12px 16px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.modern-detail-title{font-size:16px;font-weight:600;color:var(--text-primary)}.modern-detail-close{width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background-color .15s ease}.modern-detail-close:hover{background-color:var(--background-hover)}.modern-detail-content{flex:1;overflow-y:auto;padding:16px}.modern-detail-section{margin-bottom:12px}.modern-detail-label{font-size:11px;font-weight:500;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.modern-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--modal-overlay);opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:150}.modern-detail-overlay.open{opacity:1;pointer-events:auto}.modern-detail-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);width:90%;max-width:900px;max-height:85vh;background-color:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:all .3s ease;z-index:200;display:flex;flex-direction:column;overflow:hidden}.modern-detail-panel.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}@media(max-width:768px){.modern-detail-panel{width:95%;max-height:90vh}}.modern-detail-tabs{display:flex;border-bottom:1px solid var(--border-color);background-color:var(--background-secondary);flex-shrink:0}.modern-detail-tab{padding:10px 16px;font-size:13px;font-weight:500;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s ease;white-space:nowrap}.modern-detail-tab:hover{color:var(--text-primary);background-color:var(--background-hover)}.modern-detail-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.modern-detail-tab-content{flex:1;overflow-y:auto;padding:16px}.modern-detail-tab-pane{display:none}.modern-detail-tab-pane.active{display:block}.modern-info-grid{display:grid;grid-template-columns:120px 1fr;gap:6px 16px;align-items:center}.modern-info-label{font-size:12px;font-weight:500;color:var(--text-secondary)}.modern-info-value{font-size:13px;color:var(--text-primary)}.modern-info-value.empty{color:var(--text-tertiary);font-style:italic}.modern-info-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.modern-info-section:last-child{border-bottom:none}.modern-info-section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:10px}.modern-info-description{font-size:13px;line-height:1.5;color:var(--text-primary);white-space:pre-wrap}.modern-info-chip{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:500;background-color:var(--background-tertiary);color:var(--text-primary)}.dashboard-root{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding:0 24px 24px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:24px;flex:1;min-height:0;align-items:stretch}.dashboard-column{display:flex;flex-direction:column;gap:24px;min-width:0;min-height:0}.dashboard-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-height:0}.dashboard-projects-card{flex:1}.dashboard-card-body{flex:1;min-height:0;overflow-y:auto}@media(max-width:1100px){.dashboard-root{overflow:auto}.dashboard-grid{grid-template-columns:1fr;flex:none}.dashboard-card-body{flex:none;max-height:420px}}:root{--board-bg-primary: var(--background-secondary);--board-bg-secondary: var(--background-primary);--board-bg-card: var(--card-bg);--board-bg-column: var(--background-tertiary);--board-bg-hover: var(--background-hover);--board-bg-active: var(--background-active);--board-bg-panel: var(--background-secondary);--board-border-base: var(--border-color);--board-border-hover: var(--border-strong);--board-border-focus: var(--input-focus-border);--board-text-primary: var(--text-primary);--board-text-secondary: var(--text-secondary);--board-text-tertiary: var(--text-tertiary);--board-text-placeholder: var(--text-tertiary);--board-accent-default: var(--primary-color);--board-accent-hover: var(--primary-hover);--board-accent-pressed: var(--primary-active);--board-priority-critical: #ff4444;--board-priority-urgent: #ff8800;--board-priority-high: #ffaa00;--board-priority-medium: #4a90d9;--board-priority-low: #44cc44;--board-sidebar-width: 240px;--board-column-width: 296px;--board-task-card-min-height: 80px;--board-radius-sm: 4px;--board-radius-md: 8px;--board-radius-lg: 12px;--board-radius-xl: 16px;--board-shadow-xs: var(--shadow-sm);--board-shadow-sm: var(--shadow-sm);--board-shadow-md: var(--shadow-md);--board-shadow-lg: var(--shadow-lg);--board-spacing-xs: 4px;--board-spacing-sm: 8px;--board-spacing-md: 16px;--board-spacing-lg: 24px;--board-spacing-xl: 32px;--board-transition-fast: .15s ease;--board-transition-normal: .25s ease;--board-transition-slow: .35s ease}.board-app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--board-bg-primary);color:var(--board-text-primary);height:100vh;overflow:hidden}.board-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--board-sidebar-width);background-color:var(--board-bg-panel);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);border-right:1px solid var(--board-border-base);padding:var(--board-spacing-md) var(--board-spacing-sm);display:flex;flex-direction:column;z-index:100;overflow-y:auto}.board-sidebar::-webkit-scrollbar{width:6px}.board-sidebar::-webkit-scrollbar-thumb{background-color:var(--board-border-base);border-radius:3px}.board-sidebar::-webkit-scrollbar-thumb:hover{background-color:var(--board-border-hover)}.board-sidebar-item{display:flex;align-items:center;padding:var(--board-spacing-sm) var(--board-spacing-xs);margin-bottom:var(--board-spacing-xs);border-radius:var(--board-radius-sm);color:var(--board-text-primary);cursor:pointer;transition:background-color var(--board-transition-fast);-webkit-user-select:none;user-select:none}.board-sidebar-item:hover{background-color:var(--board-bg-hover)}.board-sidebar-item.active{background-color:var(--board-bg-active);font-weight:500}.board-sidebar-item-icon{width:20px;height:20px;margin-right:var(--board-spacing-sm);display:flex;align-items:center;justify-content:center}.board-sidebar-item-text{flex:1;font-size:14px;line-height:20px}.board-sidebar-item-expand{width:16px;height:16px;transition:transform var(--board-transition-fast)}.board-sidebar-item-expanded>.board-sidebar-item-expand{transform:rotate(90deg)}.board-main{margin-left:var(--board-sidebar-width);height:100vh;display:flex;flex-direction:column;overflow:hidden}.board-header{height:48px;background-color:var(--board-bg-secondary);border-bottom:1px solid var(--board-border-base);padding:0 var(--board-spacing-md);display:flex;align-items:center;flex-shrink:0}.board-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.task-board{display:flex;flex-direction:column;height:100%;overflow:hidden}.board-header-title{padding:var(--board-spacing-md);border-bottom:1px solid var(--board-border-base);flex-shrink:0}.board-title{font-size:20px;font-weight:600;color:var(--board-text-primary)}.board-tabs{display:flex;gap:var(--board-spacing-sm);padding:var(--board-spacing-sm) var(--board-spacing-md);border-bottom:1px solid var(--board-border-base);overflow-x:auto;flex-shrink:0}.board-tab{padding:var(--board-spacing-xs) var(--board-spacing-md);border-radius:var(--board-radius-md);font-size:14px;color:var(--board-text-secondary);cursor:pointer;transition:all var(--board-transition-fast);white-space:nowrap}.board-tab:hover{background-color:var(--board-bg-hover);color:var(--board-text-primary)}.board-tab.active{background-color:var(--board-bg-active);color:var(--board-text-primary);font-weight:500}.board-columns-container{display:flex;gap:var(--board-spacing-md);padding:var(--board-spacing-md);overflow-x:auto;overflow-y:hidden;flex:1;align-items:flex-start}.board-columns-container::-webkit-scrollbar{height:12px}.board-columns-container::-webkit-scrollbar-thumb{background-color:var(--board-border-base);border-radius:6px}.board-column{width:var(--board-column-width);min-width:var(--board-column-width);max-width:var(--board-column-width);background-color:var(--board-bg-column);border-radius:var(--board-radius-lg);border-top:4px solid transparent;display:flex;flex-direction:column;max-height:100%;overflow:hidden}.board-column-header{padding:var(--board-spacing-sm) var(--board-spacing-md);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.board-column-title{font-size:14px;font-weight:500;color:var(--board-text-primary);flex:1}.board-column-count{font-size:12px;color:var(--board-text-tertiary);margin-left:var(--board-spacing-xs)}.board-column-content{flex:1;overflow-y:auto;padding:0 var(--board-spacing-sm) var(--board-spacing-sm);display:flex;flex-direction:column;gap:var(--board-spacing-sm)}.board-column-content::-webkit-scrollbar{width:6px}.board-column-content::-webkit-scrollbar-thumb{background-color:var(--board-border-base);border-radius:3px}.task-card{background-color:var(--board-bg-card);border-radius:var(--board-radius-md);box-shadow:var(--board-shadow-xs);padding:var(--board-spacing-sm);min-height:var(--board-task-card-min-height);cursor:pointer;transition:all var(--board-transition-fast);position:relative}.task-card:hover{box-shadow:var(--board-shadow-sm);transform:translateY(-1px)}.task-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background-color:transparent;border-radius:var(--board-radius-md) var(--board-radius-md) 0 0}.task-card.priority-critical:before{background-color:var(--board-priority-critical)}.task-card.priority-urgent:before{background-color:var(--board-priority-urgent)}.task-card.priority-high:before{background-color:var(--board-priority-high)}.task-card.priority-medium:before{background-color:var(--board-priority-medium)}.task-card.priority-low:before{background-color:var(--board-priority-low)}.task-title{font-size:14px;font-weight:400;color:var(--board-text-primary);margin-bottom:var(--board-spacing-sm);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.task-meta{display:flex;align-items:center;gap:var(--board-spacing-sm);flex-wrap:wrap}.task-sticker{display:inline-flex;align-items:center;padding:2px 6px;border-radius:var(--board-radius-sm);font-size:11px;font-weight:500}.task-sticker-deadline{background-color:var(--warning-bg);color:var(--warning-color)}.task-sticker-assignee{background-color:var(--primary-light);color:var(--primary-color)}.task-avatars{display:flex;margin-left:auto}.task-avatar{width:24px;height:24px;border-radius:50%;border:2px solid var(--board-bg-card);margin-left:-8px;background-color:var(--board-accent-default);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:500}.task-avatar:first-child{margin-left:0}.task-detail-panel{position:fixed;right:0;top:0;bottom:0;width:400px;background-color:var(--board-bg-secondary);border-left:1px solid var(--board-border-base);box-shadow:var(--board-shadow-lg);transform:translate(100%);transition:transform var(--board-transition-normal);z-index:200;display:flex;flex-direction:column}.task-detail-panel.open{transform:translate(0)}.task-detail-panel-header{padding:var(--board-spacing-md);border-bottom:1px solid var(--board-border-base);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.task-detail-panel-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--board-radius-sm);cursor:pointer;transition:background-color var(--board-transition-fast)}.task-detail-panel-close:hover{background-color:var(--board-bg-hover)}.task-detail-panel-content{flex:1;overflow-y:auto;padding:var(--board-spacing-md)}.task-detail-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--modal-overlay);opacity:0;pointer-events:none;transition:opacity var(--board-transition-normal);z-index:150}.task-detail-panel-overlay.open{opacity:1;pointer-events:auto}@media(max-width:1024px){:root{--board-sidebar-width: 200px;--board-column-width: 280px}}@media(max-width:768px){:root{--board-sidebar-width: 0px}.board-sidebar{transform:translate(-100%);transition:transform var(--board-transition-normal)}.board-sidebar.open{transform:translate(0)}.board-main{margin-left:0}.task-detail-panel{width:100%}}@media(max-width:480px){.board-columns{flex-direction:column;gap:12px}.board-column{min-width:100%}.task-card{padding:12px}.task-card-header{flex-wrap:wrap}.task-card-title{font-size:14px}.task-card-meta{font-size:12px}.board-header{padding:12px;flex-wrap:wrap}.board-title{font-size:18px}.board-tabs{gap:4px}.board-tab{padding:6px 12px;font-size:13px}.task-detail-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;border-radius:0}.task-detail-header,.task-detail-content{padding:16px}.task-comments{padding:12px}.comment-item{padding:8px}.task-attachments{padding:12px}.attachment-item{flex-direction:column;align-items:flex-start}}@media(min-width:481px)and (max-width:767px){.board-columns{gap:16px}.board-column{min-width:280px}}@media(min-width:768px)and (max-width:1023px){.board-columns{gap:16px}.board-column{min-width:280px}}@media(hover:none)and (pointer:coarse){.task-card{min-height:44px}.board-tab{min-height:44px;min-width:44px}.task-card:hover{transform:none}.task-card:active{opacity:.8}}@media(max-height:600px)and (orientation:landscape){.board-columns{flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch}.board-column{min-width:280px;max-height:calc(100vh - 120px);overflow-y:auto}}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}.modern-messenger{display:flex;height:100%;background:var(--bg-primary);overflow:hidden}.modern-chat-sidebar{width:280px;border-right:1px solid var(--border-primary);display:flex;flex-direction:column;background:var(--bg-secondary)}.modern-chat-sidebar-header{padding:var(--p-16);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-primary)}.modern-chat-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.modern-chat-search{padding:var(--p-12) var(--p-16)}.modern-chat-list{flex:1;overflow-y:auto;padding:0 var(--p-8)}.modern-chat-item{display:flex;align-items:flex-start;gap:var(--p-12);padding:var(--p-12);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.modern-chat-item:hover{background:var(--bg-hover)}.modern-chat-item.active{background:var(--accent-subtle)}.modern-chat-avatar{width:var(--size-40);height:var(--size-40);border-radius:var(--radius-full);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:500;font-size:14px}.modern-avatar-color{width:100%;height:100%;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.modern-avatar-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-default) 0%,var(--accent-hover) 100%)}.modern-chat-info{flex:1;min-width:0}.modern-chat-header{display:flex;align-items:center;justify-content:space-between;gap:var(--p-8);margin-bottom:var(--p-4)}.modern-chat-name{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modern-chat-time{font-size:12px;color:var(--text-tertiary);flex-shrink:0}.modern-chat-preview{display:flex;align-items:center;gap:var(--p-4)}.modern-chat-last-message{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.modern-chat-empty{font-size:13px;color:var(--text-tertiary);font-style:italic}.modern-chat-badge{padding:2px 6px;border-radius:var(--radius-full);background:var(--accent-default);color:#fff;font-size:11px;font-weight:500;flex-shrink:0}.modern-chat-main{flex:1;display:flex;flex-direction:column;background:var(--bg-primary)}.modern-chat-main-header{padding:var(--p-16) var(--p-24);border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary)}.modern-chat-main-info{display:flex;align-items:center;gap:var(--p-12)}.modern-chat-main-name{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.modern-chat-main-status{font-size:13px;color:var(--text-secondary);margin:0}.modern-chat-main-actions{display:flex;gap:var(--p-8)}.modern-messages{flex:1;overflow-y:auto;padding:var(--p-24);display:flex;flex-direction:column;gap:var(--p-16)}.modern-message{display:flex;gap:var(--p-12);max-width:70%}.modern-message-own{margin-left:auto;flex-direction:row-reverse}.modern-message-avatar{width:var(--size-32);height:var(--size-32);border-radius:var(--radius-full);background:linear-gradient(135deg,var(--accent-default) 0%,var(--accent-hover) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;flex-shrink:0}.modern-message-content{display:flex;flex-direction:column;gap:var(--p-4)}.modern-message-sender{font-size:12px;font-weight:500;color:var(--text-secondary)}.modern-message-bubble{padding:var(--p-12);border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--border-primary)}.modern-message-own .modern-message-bubble{background:var(--accent-subtle);border-color:var(--accent-default)}.modern-message-reply{display:flex;align-items:center;gap:var(--p-8);padding:var(--p-8);background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary);margin-bottom:var(--p-8)}.modern-message-text{margin:0;font-size:14px;line-height:1.5;color:var(--text-primary);word-wrap:break-word}.modern-message-attachments{display:flex;flex-wrap:wrap;gap:var(--p-8);margin-top:var(--p-8)}.modern-message-attachment{border-radius:var(--radius-md);overflow:hidden;max-width:200px}.modern-message-attachment img{width:100%;height:auto;display:block}.modern-message-file{display:flex;align-items:center;gap:var(--p-8);padding:var(--p-12);background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary)}.modern-message-meta{display:flex;align-items:center;gap:var(--p-4);font-size:11px;color:var(--text-tertiary)}.modern-message-reactions{display:flex;gap:var(--p-4);margin-top:var(--p-4)}.modern-reaction{padding:var(--p-4) var(--p-8);border-radius:var(--radius-full);background:var(--bg-tertiary);border:1px solid var(--border-primary);font-size:12px;display:flex;align-items:center;gap:var(--p-4);cursor:pointer;transition:all var(--transition-fast)}.modern-reaction:hover{background:var(--bg-hover)}.modern-message-actions{display:none;gap:var(--p-4)}.modern-message:hover .modern-message-actions{display:flex}.modern-reply-preview{padding:var(--p-12) var(--p-24);border-top:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary)}.modern-reply-preview-content{display:flex;align-items:center;gap:var(--p-8)}.modern-reply-preview-sender{font-size:12px;font-weight:500;color:var(--text-secondary);display:block}.modern-reply-preview-text{font-size:13px;color:var(--text-tertiary);display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modern-chat-input{padding:var(--p-16) var(--p-24);border-top:1px solid var(--border-primary);display:flex;align-items:flex-end;gap:var(--p-12);background:var(--bg-secondary)}.modern-input-wrapper{flex:1;position:relative}.modern-textarea{width:100%;padding:var(--p-12);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:14px;font-family:inherit;resize:none;min-height:40px;max-height:120px;background:var(--bg-primary);color:var(--text-primary)}.modern-textarea:focus{outline:none;border-color:var(--accent-default)}.modern-send-btn{width:var(--size-40);height:var(--size-40);border-radius:var(--radius-full);background:var(--bg-tertiary);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);color:var(--text-tertiary)}.modern-send-btn.active{background:var(--accent-default);color:#fff}.modern-send-btn:hover:not(.active){background:var(--bg-hover)}.modern-chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--p-16);color:var(--text-tertiary)}.modern-chat-empty svg{width:64px;height:64px;opacity:.5}@media(max-width:480px){.modern-messenger{flex-direction:column}.modern-chat-list{width:100%;border-right:none}.modern-chat-window{width:100%}.modern-messenger.chat-open .modern-chat-list{display:none}.modern-messenger.chat-open .modern-chat-window{display:flex}.modern-chat-header{padding:12px}.modern-chat-header h3{font-size:16px}.modern-chat-back-btn{display:flex}.modern-messages{padding:12px}.modern-message{max-width:85%}.modern-message-content{font-size:14px}.modern-message-input-container{padding:12px}.modern-message-input{font-size:16px}.modern-chat-list-item{padding:12px}.modern-chat-avatar{width:40px;height:40px;font-size:14px}.modern-chat-name{font-size:14px}.modern-chat-preview{font-size:13px}.modern-message-reactions{gap:4px}.modern-reaction-btn{width:28px;height:28px;font-size:14px}.modern-attachment-preview{max-width:200px}.modern-reply-preview{padding:8px;font-size:13px}.modern-typing-indicator{padding:8px 12px;font-size:12px}}@media(min-width:481px)and (max-width:767px){.modern-chat-list{width:35%}.modern-chat-window{width:65%}}@media(min-width:768px)and (max-width:1023px){.modern-chat-list{width:320px}.modern-chat-window{width:calc(100% - 320px)}}@media(hover:none)and (pointer:coarse){.modern-chat-list-item{min-height:60px}.modern-message{padding:10px}.modern-chat-list-item:hover{background:initial}.modern-reaction-btn:hover{transform:none}.modern-chat-list-item:active{background:var(--bg-hover)}.modern-reaction-btn:active{opacity:.7}}@media(max-height:600px)and (orientation:landscape){.modern-chat-header{padding:8px 12px;min-height:44px}.modern-message-input-container{padding:8px 12px}.modern-messages{padding:8px}.modern-message{margin-bottom:8px}}:root{--sidebar-width: 240px;--column-width: 296px;--task-card-min-height: 80px;--size-avatar: 20px;--size-avatar-lg: 32px;--size-icon: 16px;--size-icon-sm: 12px;--p-4: 4px;--p-8: 8px;--p-12: 12px;--p-16: 16px;--p-24: 24px;--p-32: 32px;--radius-4: 4px;--radius-8: 8px;--radius-12: 12px;--radius-16: 16px;--radius-full: 9999px;--shadow-xs: var(--shadow-sm);--shadow-sm: var(--shadow-sm);--shadow-md: var(--shadow-md);--shadow-lg: var(--shadow-lg);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--bg-primary: var(--background-secondary);--bg-secondary: var(--background-primary);--bg-card: var(--card-bg);--bg-column: var(--background-tertiary);--bg-hover: var(--background-hover);--bg-active: var(--background-active);--bg-panel-default: var(--background-primary);--bg-panel-hover: var(--background-hover);--bg-panel-active: var(--background-active);--bg-sticker-panel: var(--background-secondary);--bg-chat-input: var(--input-bg);--bg-disabled: var(--disabled-bg);--text-primary: var(--text-primary);--text-secondary: var(--text-secondary);--text-tertiary: var(--text-tertiary);--text-placeholder: var(--text-tertiary);--text-disabled: var(--disabled-color);--text-panel-primary: var(--text-primary);--text-panel-secondary: var(--text-secondary);--text-panel-tertiary: var(--text-tertiary);--accent-default: var(--primary-color);--accent-hover: var(--primary-hover);--accent-pressed: var(--primary-active);--priority-critical: var(--priority-critical);--priority-critical-bg: var(--error-bg);--priority-urgent: var(--priority-high);--priority-urgent-bg: var(--warning-bg);--priority-high: var(--priority-high);--priority-high-bg: var(--warning-bg);--priority-medium: var(--priority-medium);--priority-medium-bg: var(--info-bg);--priority-low: var(--priority-low);--priority-low-bg: var(--success-bg);--status-todo: var(--status-todo);--status-todo-bg: var(--warning-bg);--status-progress: var(--status-in-progress);--status-progress-bg: var(--info-bg);--status-review: var(--status-in-review);--status-review-bg: #f3e8fd;--status-done: var(--status-completed);--status-done-bg: var(--success-bg);--border-base: var(--border-color);--border-hover: var(--border-strong);--border-focus: var(--input-focus-border);--border-panel: var(--border-color);--icon-sticker-blue: var(--primary-color);--icon-sticker-green: var(--success-color);--icon-sticker-orange: var(--warning-color);--icon-sticker-red: var(--error-color);--icon-sticker-pink: #e91e63;--icon-sticker-violet: #9c27b0;--icon-sticker-turquoise: #00bcd4;--icon-sticker-gray: var(--text-secondary)}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{display:flex;height:100vh;overflow:hidden;position:relative}.background-layers{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-100}.background-layer{position:absolute;top:0;right:0;bottom:0;left:0;background-repeat:no-repeat;background-position:left top;background-size:cover}:root[data-theme=light] .background-layer-1{background-image:linear-gradient(135deg,var(--primary-light) 0%,var(--background-tertiary) 100%);opacity:.6}:root[data-theme=dark] .background-layer-1{background-image:linear-gradient(135deg,var(--background-primary) 0%,var(--background-secondary) 100%);opacity:1}.background-layer-2{background-image:radial-gradient(circle at 20% 50%,var(--primary-faded) 0%,transparent 50%),radial-gradient(circle at 80% 80%,var(--primary-faded) 0%,transparent 50%);opacity:1}:root[data-theme=dark] .background-layer-2{background-image:radial-gradient(circle at 20% 50%,var(--primary-faded) 0%,transparent 50%),radial-gradient(circle at 80% 80%,var(--primary-faded) 0%,transparent 50%)}::-webkit-scrollbar-track{background:transparent}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-card{background-color:var(--bg-card)}.border-default{border-color:var(--border-base)}.border-hover{border-color:var(--border-hover)}.card{background-color:var(--bg-card);border:1px solid var(--border-base);border-radius:var(--radius-8);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.btn{padding:var(--p-12) var(--p-24);border-radius:var(--radius-8);border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:var(--p-8);text-decoration:none}.btn-primary{background-color:var(--accent-default);color:#fff}.btn-primary:hover{background-color:var(--accent-hover)}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-base)}.btn-secondary:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.input{padding:var(--p-12);border:1px solid var(--border-base);border-radius:var(--radius-8);font-size:14px;background-color:var(--input-bg);color:var(--text-primary);transition:all var(--transition-fast)}.input:focus{outline:none;border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--primary-faded)}.input::placeholder{color:var(--text-placeholder)}.chip{display:inline-flex;align-items:center;padding:var(--p-8) var(--p-16);border-radius:var(--radius-full);font-size:12px;font-weight:500;background-color:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-base)}.chip-primary{background-color:var(--primary-light);color:var(--primary-color);border-color:transparent}.divider{height:1px;background-color:var(--divider-color);margin:var(--p-16) 0}.avatar{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background-color:var(--bg-hover);color:var(--text-primary);font-weight:500;overflow:hidden}.avatar-xs{width:var(--size-avatar);height:var(--size-avatar);font-size:10px}.avatar-sm{width:calc(var(--size-avatar) * 1.2);height:calc(var(--size-avatar) * 1.2);font-size:11px}.avatar-md{width:var(--size-avatar-lg);height:var(--size-avatar-lg);font-size:12px}.avatar-lg{width:40px;height:40px;font-size:14px}.avatar-xl{width:56px;height:56px;font-size:18px}.icon{width:var(--size-icon);height:var(--size-icon);display:inline-flex;align-items:center;justify-content:center}.icon-sm{width:var(--size-icon-sm);height:var(--size-icon-sm)}.icon-lg{width:20px;height:20px}.icon-xl{width:24px;height:24px}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:var(--radius-full);font-size:11px;font-weight:600;background-color:var(--error-color);color:#fff}.progress{height:4px;background-color:var(--bg-hover);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;background-color:var(--primary-color);transition:width var(--transition-normal)}.skeleton{background:linear-gradient(90deg,var(--bg-hover) 0%,var(--bg-active) 50%,var(--bg-hover) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-4)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){:root{--sidebar-width: 200px;--column-width: 280px}}@media(max-width:480px){:root{--sidebar-width: 100%;--column-width: 100%}}.interaction-schemes-page{min-height:100%;background:var(--background-secondary)}.interaction-scheme-content{padding:16px 0}.design-department{gap:16px;height:calc(100vh - 280px)}.scheme-sidebar{width:280px;display:flex;flex-direction:column;gap:16px}.scheme-editor-container{flex:1;min-width:0}.scheme-canvas{width:100%;height:100%;position:relative;overflow:hidden;background:linear-gradient(var(--border-color) 1px,transparent 1px),linear-gradient(90deg,var(--border-color) 1px,transparent 1px);background-size:20px 20px;cursor:grab}.scheme-canvas:active{cursor:grabbing}.scheme-block{position:absolute;min-width:100px;min-height:30px;padding:4px 8px;background:#1890ff;border-radius:6px;color:#fff;font-size:12px;font-weight:500;display:flex;align-items:center;justify-content:center;cursor:move;-webkit-user-select:none;user-select:none;box-shadow:0 2px 4px #0000001a;transition:box-shadow .2s,transform .2s}.scheme-block:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.scheme-block.dragging{opacity:.8;cursor:grabbing}.scheme-block.connecting{border:2px solid #1890ff;z-index:10}.scheme-connection{stroke:#1890ff;stroke-width:2;fill:none;pointer-events:stroke;cursor:pointer}.scheme-connection:hover{stroke-width:3}.scheme-connection.draft{stroke-dasharray:5,5}.scheme-arrow{fill:#1890ff}.placeholder-content{margin-top:24px;padding:24px;background:var(--background-primary);border-radius:8px;border:1px dashed var(--border-color);max-width:600px;width:100%}.general-contractor,.technical-customer{padding:16px 0}.interaction-schemes-page .ant-tabs-card>.ant-tabs-nav .ant-tabs-tab{border-radius:8px 8px 0 0;border:1px solid var(--border-color);border-bottom:none;margin-right:8px;padding:12px 20px}.interaction-schemes-page .ant-tabs-card>.ant-tabs-nav .ant-tabs-tab-active{background:var(--primary-color);border-color:var(--primary-color)}.interaction-schemes-page .ant-tabs-card>.ant-tabs-nav .ant-tabs-tab-active .ant-tabs-tab-btn{color:#fff}.interaction-schemes-page .ant-tabs-card .ant-tabs-content{background:var(--background-primary);border-radius:0 8px 8px;padding:16px}.interaction-schemes-page .ant-card{background:var(--background-primary)}.interaction-schemes-page .ant-card-head-title{font-size:16px;font-weight:600}.scheme-sidebar .ant-card{overflow:hidden}.scheme-sidebar .ant-card-body{max-height:400px;overflow-y:auto}.scheme-list-item{padding:8px 12px;cursor:pointer;transition:background .2s;border-radius:4px}.scheme-list-item:hover{background:var(--bg-hover)}.scheme-list-item.active{background:var(--primary-color-light);font-weight:600}.scheme-hint{position:absolute;bottom:8px;left:8px;font-size:11px;color:var(--text-tertiary);background:#fffc;padding:4px 8px;border-radius:4px}.gantt-wrapper{display:flex;flex-direction:column;height:100%;overflow:hidden}.gantt-sort-panel{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid #e0e0e0;background-color:#fff;flex-shrink:0}.gantt-container{flex:1;overflow:auto;position:relative;cursor:grab}.gantt-container.gantt-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.gantt-header{position:sticky;top:0;z-index:100;background-color:#f5f5f5;border-bottom:2px solid #ddd}.gantt-header-months{display:flex;height:28px;border-bottom:1px solid #ddd}.gantt-header-days{display:flex;height:24px}.gantt-fixed-cols-header{display:flex;position:sticky;left:0;z-index:120;background-color:#e8e8e8;border-right:1px solid #ddd}.gantt-fixed-cols-header-empty{display:flex;position:sticky;left:0;z-index:120;background-color:#f0f0f0;border-right:1px solid #ddd}.gantt-header-cell{padding:4px 8px;font-size:11px;font-weight:700;border-right:1px solid #ddd;display:flex;align-items:center;justify-content:center}.gantt-col-id{width:40px;min-width:40px}.gantt-col-title{width:150px;min-width:150px}.gantt-col-period{width:120px;min-width:120px}.gantt-col-days{width:50px;min-width:50px}.gantt-col-assignee{width:100px;min-width:100px;border-right:none}.gantt-fixed-cols-header-empty>*{border-right:1px solid #ddd}.gantt-fixed-cols-header-empty>*:nth-child(1){width:40px;min-width:40px}.gantt-fixed-cols-header-empty>*:nth-child(2){width:150px;min-width:150px}.gantt-fixed-cols-header-empty>*:nth-child(3){width:120px;min-width:120px}.gantt-fixed-cols-header-empty>*:nth-child(4){width:50px;min-width:50px}.gantt-fixed-cols-header-empty>*:nth-child(5){width:100px;min-width:100px}.gantt-month-cell{padding:4px 8px;font-size:10px;font-weight:700;background-color:#e8e8e8;border-left:1px solid #ddd;border-bottom:1px solid #ccc;text-align:center;flex-shrink:0}.gantt-day-cell{padding:2px 0;font-size:10px;font-weight:700;border-left:1px solid #ddd;text-align:center;flex-shrink:0;display:flex;align-items:center;justify-content:center}.gantt-day-holiday{background-color:#ffcdd2}.gantt-day-weekend{background-color:#fff9c4}.gantt-day-workday{background-color:#e1f5fe}.gantt-body{position:relative}.gantt-project-group{margin-bottom:0}.gantt-project-header{display:flex;height:28px;background-color:#f0f0f0;border-bottom:1px solid #ddd;position:sticky;left:0;z-index:50}.gantt-project-header-fixed{position:sticky;left:0;z-index:80;background-color:#f0f0f0;padding:4px 8px;font-size:11px;font-weight:700;display:flex;align-items:center;width:460px;flex-shrink:0;border-right:1px solid #ddd}.gantt-project-header-timeline{display:flex;flex:1;z-index:60}.gantt-task-row{display:flex;height:24px;border-bottom:1px solid #cccccc;border-top:none;position:relative;pointer-events:auto;transition:border-top .1s ease,border-bottom .1s ease;contain:layout style}.gantt-task-row:focus,.gantt-task-row:active,.gantt-task-row:focus-within,.gantt-task-row:hover:active,.gantt-task-row *:focus,.gantt-task-row *:active,.gantt-task-row *:focus-visible,.gantt-task-row *:focus-within,.gantt-task-row .gantt-task-bar:active,.gantt-task-row .gantt-task-bar:focus{border-top:none!important;border-bottom:1px solid #cccccc!important;outline:none!important;box-shadow:none!important}.gantt-task-row:focus:before,.gantt-task-row:active:before,.gantt-task-row:focus-within:before,.gantt-task-row:focus:after,.gantt-task-row:active:after,.gantt-task-row:focus-within:after{display:none!important}.gantt-task-row.gantt-task-row-hovered:before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background-color:#999;z-index:100;pointer-events:none}.gantt-task-row.gantt-task-row-hovered:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background-color:#999;z-index:100;pointer-events:none}.gantt-fixed-cols{display:flex;position:sticky;left:0;z-index:70;background-color:#fff;border-right:1px solid #f0f0f0;flex-shrink:0}.gantt-fixed-col-cell{padding:4px 8px;font-size:12px;border-right:1px solid #f0f0f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center}.gantt-fixed-col-cell:last-child{border-right:none}.gantt-task-timeline{display:flex;flex:1;position:relative}.gantt-task-bar-wrapper{position:absolute;top:4px;height:16px;z-index:30}.gantt-task-bar{width:100%;height:100%;background-color:#2196f3;border-radius:3px;position:relative;cursor:grab}.gantt-task-bar:active{cursor:grabbing}.gantt-resize-handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;opacity:0;transition:opacity .15s ease;pointer-events:auto}.gantt-task-bar:hover .gantt-resize-handle{opacity:1}.gantt-resize-handle-left{left:0;border-radius:3px 0 0 3px}.gantt-resize-handle-right{right:0;border-radius:0 3px 3px 0}.gantt-resize-handle:hover{background-color:#ffffff4d}.gantt-period-text{white-space:nowrap}.gantt-work-days{color:#666}.gantt-work-days-bold{color:#1976d2;font-weight:700}.gantt-legend{display:flex;gap:16px;padding:8px 16px;border-top:1px solid #e0e0e0;background-color:#fff;flex-wrap:wrap}.gantt-legend-item{display:flex;align-items:center;gap:4px}.gantt-legend-color{width:12px;height:12px;border:1px solid #ddd}.gantt-legend-holiday{background-color:#ffcdd2}.gantt-legend-weekend{background-color:#fff9c4}.gantt-legend-workday{background-color:#e1f5fe}.gantt-legend-task{background-color:#2196f3}.gantt-container::-webkit-scrollbar{width:12px;height:12px}.gantt-container::-webkit-scrollbar-track{background:#f0f0f0}.gantt-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:6px}.gantt-container::-webkit-scrollbar-thumb:hover{background:#aaa}.gantt-container.scrolling .gantt-task-row{contain:layout style}@tailwind base;@tailwind components;@tailwind utilities;:root[data-theme=light],:root:not([data-theme=dark]){--background-primary: #ffffff;--background-secondary: #f8f9fa;--background-tertiary: #f1f3f4;--background-hover: #f1f3f4;--background-active: #e8eaed;--border-color: #dadce0;--border-strong: #5f6368;--text-primary: #202124;--text-secondary: #5f6368;--text-tertiary: #80868b;--text-inverse: #ffffff;--text-link: #1a73e8;--primary-color: #1a73e8;--primary-hover: #185abc;--primary-active: #174ea6;--primary-light: #e8f0fe;--primary-faded: #1a73e833;--secondary-color: #5f6368;--success-color: #188038;--success-bg: #ceead6;--warning-color: #f29900;--warning-bg: #fef7e0;--error-color: #d93025;--error-bg: #fce8e6;--info-color: #1a73e8;--info-bg: #e8f0fe;--status-todo: #f29900;--status-in-progress: #1a73e8;--status-completed: #188038;--status-blocked: #d93025;--status-in-review: #9334e6;--priority-low: #188038;--priority-medium: #f29900;--priority-high: #d93025;--priority-critical: #c5221f;--shadow-sm: 0 1px 2px rgba(60, 64, 67, .3), 0 2px 6px 2px rgba(60, 64, 67, .15);--shadow-md: 0 1px 3px rgba(60, 64, 67, .3), 0 4px 8px 3px rgba(60, 64, 67, .15);--shadow-lg: 0 2px 6px 2px rgba(60, 64, 67, .15), 0 8px 24px 4px rgba(60, 64, 67, .15);--disabled-bg: #f1f3f4;--disabled-color: #80868b;--disabled-border: #dadce0;--sidebar-bg: #ffffff;--sidebar-border: #dadce0;--sidebar-hover: #f1f3f4;--sidebar-active: #e8f0fe;--sidebar-active-text: #1a73e8;--header-bg: #ffffff;--header-border: #dadce0;--modal-bg: #ffffff;--modal-overlay: rgba(32, 33, 36, .4);--input-bg: #ffffff;--input-border: #dadce0;--input-focus-border: #1a73e8;--card-bg: #ffffff;--card-border: #dadce0;--card-hover: #f1f3f4;--divider-color: #dadce0}:root[data-theme=dark]{--background-primary: #292a2d;--background-secondary: #202124;--background-tertiary: #3c4043;--background-hover: #303134;--background-active: #3c4043;--border-color: #3c4043;--border-strong: #9aa0a6;--text-primary: #e8eaed;--text-secondary: #9aa0a6;--text-tertiary: #5f6368;--text-inverse: #202124;--text-link: #8ab4f8;--primary-color: #8ab4f8;--primary-hover: #aecbfa;--primary-active: #93c5fd;--primary-light: #8ab4f81a;--primary-faded: #8ab4f833;--secondary-color: #9aa0a6;--success-color: #81c995;--success-bg: #1a4d2e;--warning-color: #fdd663;--warning-bg: #4d3d0f;--error-color: #f28b82;--error-bg: #5c1e1e;--info-color: #8ab4f8;--info-bg: #1e3a5f;--status-todo: #fdd663;--status-in-progress: #8ab4f8;--status-completed: #81c995;--status-blocked: #f28b82;--status-in-review: #c58af9;--priority-low: #81c995;--priority-medium: #fdd663;--priority-high: #f28b82;--priority-critical: #ff6b6b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 1px 3px rgba(0, 0, 0, .4);--shadow-lg: 0 2px 6px rgba(0, 0, 0, .5);--disabled-bg: #3c4043;--disabled-color: #5f6368;--disabled-border: #3c4043;--sidebar-bg: #292a2d;--sidebar-border: #3c4043;--sidebar-hover: #303134;--sidebar-active: #303134;--sidebar-active-text: #8ab4f8;--header-bg: #292a2d;--header-border: #3c4043;--modal-bg: #292a2d;--modal-overlay: rgba(0, 0, 0, .6);--input-bg: #202124;--input-border: #3c4043;--input-focus-border: #8ab4f8;--card-bg: #292a2d;--card-border: #3c4043;--card-hover: #303134;--divider-color: #3c4043}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-secondary);color:var(--text-primary)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh;background-color:var(--background-secondary);color:var(--text-primary)}*{transition-property:color,background-color,border-color;transition-duration:.2s;transition-timing-function:ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}*{scroll-snap-type:none!important}.parallax,.parallax-wrapper,*{transform:none!important}*{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important}*{perspective:none!important}.MuiCollapse-wrapper,.MuiCollapse-wrapperInner,.MuiDrawer-paper,.MuiModal-root,.MuiBackdrop-root{transition:none!important}}@media(prefers-reduced-motion:reduce){[style*=transition]{transition:none!important}[style*=animation]{animation:none!important}}@media(prefers-reduced-motion:reduce)and (not all){*,*:before,*:after{animation-duration:.1s!important;transition-duration:.1s!important}}@media(prefers-reduced-motion:reduce){.MuiTouchRipple-ripple{animation-duration:.01ms!important}.MuiDrawer-paperAnchorLeft,.MuiDrawer-paperAnchorRight,.MuiDrawer-paperAnchorTop,.MuiDrawer-paperAnchorBottom,.MuiModal-root .MuiBox-root,.MuiSnackbar-root,.MuiTooltip-popper,.MuiMenu-paper,.MuiPopover-paper,.MuiDialog-container,.MuiCollapse-wrapper,.MuiAppBar-root,.MuiBottomNavigation-root,.MuiTabs-root,.MuiSwitch-switchBase,.MuiSlider-root,.MuiLinearProgress-root,.MuiCircularProgress-root{transition:none!important}.MuiSkeleton-root{animation:none!important}}[data-view-transition=view-transition-fade]::view-transition-old(root){opacity:1}[data-view-transition=view-transition-fade]::view-transition-new(root){opacity:0;animation:fade-in .3s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[data-view-transition=view-transition-slide-right]::view-transition-old(root){transform:translate(0);opacity:1}[data-view-transition=view-transition-slide-right]::view-transition-new(root){transform:translate(100%);opacity:0;animation:slide-from-right .3s ease-out}@keyframes slide-from-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}[data-view-transition=view-transition-slide-left]::view-transition-old(root){transform:translate(0);opacity:1}[data-view-transition=view-transition-slide-left]::view-transition-new(root){transform:translate(-100%);opacity:0;animation:slide-from-left .3s ease-out}@keyframes slide-from-left{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}[data-view-transition=view-transition-slide-up]::view-transition-old(root){transform:translateY(0);opacity:1}[data-view-transition=view-transition-slide-up]::view-transition-new(root){transform:translateY(100%);opacity:0;animation:slide-from-up .3s ease-out}@keyframes slide-from-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}[data-view-transition=view-transition-slide-down]::view-transition-old(root){transform:translateY(0);opacity:1}[data-view-transition=view-transition-slide-down]::view-transition-new(root){transform:translateY(-100%);opacity:0;animation:slide-from-down .3s ease-out}@keyframes slide-from-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}[data-view-transition=view-transition-scale]::view-transition-old(root){transform:scale(1);opacity:1}[data-view-transition=view-transition-scale]::view-transition-new(root){transform:scale(.95);opacity:0;animation:scale-in .3s ease-out}@keyframes scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}[data-view-transition=view-transition-flip]::view-transition-old(root){transform:perspective(1000px) rotateY(0);opacity:1}[data-view-transition=view-transition-flip]::view-transition-new(root){transform:perspective(1000px) rotateY(90deg);opacity:0;animation:flip-in .4s ease-out}@keyframes flip-in{0%{transform:perspective(1000px) rotateY(90deg);opacity:0}to{transform:perspective(1000px) rotateY(0);opacity:1}}.view-transition-item{view-transition-name:var(--vt-name, auto)}.view-transition-item[data-view-transition*=list-item]::view-transition-old(*){opacity:1;transform:translateY(0)}.view-transition-item[data-view-transition*=list-item]::view-transition-new(*){opacity:0;transform:translateY(10px);animation:list-item-in .2s ease-out}@keyframes list-item-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}[data-view-transition=view-transition-slide-fade]::view-transition-old(root){transform:translate(0);opacity:1}[data-view-transition=view-transition-slide-fade]::view-transition-new(root){transform:translate(-30px);opacity:0;animation:slide-fade-in .3s ease-out}@keyframes slide-fade-in{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation-duration:.01ms!important;transition-duration:.01ms!important}[data-view-transition]{animation:none!important;transition:none!important}}.view-transition-disable *{view-transition-name:none!important}.view-transition-fast{animation-duration:.15s!important;transition-duration:.15s!important}.view-transition-slow{animation-duration:.5s!important;transition-duration:.5s!important}@supports (view-transition-name: none){.view-transition-root{will-change:transform,opacity}}
