.sidebar{width:220px;min-width:220px;height:100vh;background:var(--bg-dark);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;transition:width .2s,min-width .2s;overflow:hidden}.sidebar-collapsed{width:52px;min-width:52px}.sidebar-header{padding:12px;border-bottom:1px solid var(--border-subtle)}.sidebar-logo{display:flex;align-items:center;gap:10px;cursor:pointer;padding:4px;border-radius:6px}.sidebar-logo:hover{background:var(--bg-hover)}.sidebar-title{font-size:16px;font-weight:700;color:var(--text-white);letter-spacing:1px}.sidebar-project-name{padding:8px 16px;font-size:11px;font-weight:600;color:var(--blue-hover);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{flex:1;padding:8px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-section{margin-bottom:4px}.sidebar-section-title{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:8px 10px 4px}.sidebar-section-divider{height:1px;background:var(--border-subtle);margin:4px 8px}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--text-light);font-family:var(--font-family);font-size:13px;font-weight:500;cursor:pointer;transition:all .1s;white-space:nowrap}.sidebar-nav-item:hover{background:var(--bg-hover);color:var(--text-white)}.sidebar-nav-item.active{background:var(--blue-subtle);color:var(--blue-hover)}.sidebar-collapsed .sidebar-nav-item{justify-content:center;padding:10px}.sidebar-footer{padding:12px;border-top:1px solid var(--border-subtle)}.sidebar-user{display:flex;align-items:center;gap:8px}.sidebar-avatar{width:28px;height:28px;border-radius:50%}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:12px;font-weight:600;color:var(--text-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-dark);border-bottom:1px solid var(--border-subtle);min-height:44px}.topbar-left{display:flex;align-items:center;gap:10px}.topbar-project-name{font-size:15px;font-weight:700;color:var(--text-white)}.topbar-tabs{display:flex;gap:2px;background:var(--bg-input);padding:2px;border-radius:6px}.topbar-tab{padding:5px 14px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-family:var(--font-family);font-size:12px;font-weight:600;cursor:pointer;transition:all .1s}.topbar-tab:hover{color:var(--text-white)}.topbar-tab.active{background:var(--blue-primary);color:#fff}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-finish{font-size:12px;color:var(--text-muted)}.topbar-menu-wrapper{position:relative}.topbar-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.topbar-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;min-width:200px;box-shadow:0 8px 24px #0006;z-index:100;overflow:hidden}.topbar-dropdown-item{display:block;width:100%;padding:9px 14px;border:none;background:transparent;color:var(--text-light);font-family:var(--font-family);font-size:12px;text-align:left;cursor:pointer;transition:background .1s}.topbar-dropdown-item:hover{background:var(--bg-hover);color:var(--text-white)}.notif-bell{position:relative}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;font-size:9px;font-weight:700;border-radius:8px;padding:0 4px;line-height:1}.notif-dropdown{min-width:280px;max-height:400px;overflow-y:auto}.notif-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border-subtle);font-size:12px;font-weight:600;color:var(--text-white)}.notif-empty{padding:24px 12px;text-align:center;font-size:12px;color:var(--text-muted)}.notif-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 12px;border:none;background:transparent;text-align:left;cursor:pointer;font-family:var(--font-family);border-bottom:1px solid var(--border-subtle);transition:background .1s}.notif-item:hover{background:var(--bg-hover)}.notif-item.unread{background:#3b82f60f;border-left:3px solid var(--blue-primary)}.notif-item-title{font-size:12px;font-weight:500;color:var(--text-white)}.notif-item-body{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-item-time{font-size:10px;color:var(--text-muted)}.task-table-container{overflow-y:auto;overflow-x:auto;height:100%}.task-table{border-collapse:collapse;width:max-content;min-width:100%}.task-table th{position:sticky;top:0;z-index:2;background:var(--bg-card);text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:11px;padding:0 8px;height:28px}.task-table th.sortable-header{cursor:pointer}.task-table th.sortable-header:hover{background:var(--bg-selected)}.task-table td{white-space:nowrap;font-size:12px;padding:0 8px;height:var(--gantt-row-height);vertical-align:middle}.task-table tr{cursor:pointer}.task-table tr:hover td{background:var(--bg-card)}.task-table tr.selected td{background:var(--bg-selected)}.task-name-cell{text-align:left}.task-name{cursor:text;display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis}.summary-name{font-weight:700}.level-phase{font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.level-milestone{font-weight:600;font-style:italic}.level-task{font-weight:400}.level-subtask{font-weight:400;color:var(--text-light)}.level-minitask{font-weight:400;color:var(--text-muted);font-size:11px}.level-icon{font-size:10px;flex-shrink:0;width:12px;text-align:center}.level-badge{font-size:10px;font-weight:600;white-space:nowrap}.milestone-icon{color:var(--gantt-bar-milestone);font-size:10px}.collapse-btn{font-size:8px!important;padding:2px 4px!important;color:var(--text-muted);min-width:16px}.inline-edit{width:100%;background:var(--bg-input);border:1px solid var(--blue-primary);border-radius:3px;color:var(--text-white);font-family:var(--font-family);font-size:12px;padding:2px 6px;outline:none}.inline-edit-narrow{width:50px}.inline-edit[type=date]{width:120px;color-scheme:dark}.task-indicator{display:inline-block;font-size:9px;font-weight:600;padding:0 4px;border-radius:2px;line-height:16px;flex-shrink:0;letter-spacing:.3px}.task-indicator-constraint{background:#f59e0b33;color:#f59e0b}.task-indicator-type{background:#8b5cf633;color:#a78bfa}.priority-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.column-picker-header{position:relative}.column-picker-dropdown{position:absolute;right:0;top:100%;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;padding:8px;min-width:160px;box-shadow:0 4px 16px #0006;z-index:100}.column-picker-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;color:var(--text-light);cursor:pointer;white-space:nowrap}.column-picker-item:hover{color:var(--text-white)}.column-picker-item input[type=checkbox]{accent-color:var(--blue-primary)}.context-menu{position:fixed;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;padding:4px 0;min-width:160px;box-shadow:0 4px 16px #00000080;z-index:1000}.ctx-item{padding:6px 16px;font-size:12px;color:var(--text-light);cursor:pointer;white-space:nowrap}.ctx-item:hover{background:var(--bg-selected);color:var(--text-white)}.ctx-danger{color:#ef4444}.ctx-danger:hover{background:#ef444426;color:#ef4444}.ctx-submenu-label{padding:4px 16px 2px;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.ctx-separator{height:1px;background:var(--border-color);margin:4px 0}.task-filter-bar{padding:6px 12px;background:var(--bg-dark);border-bottom:1px solid var(--border-subtle)}.filter-row-main{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-row-main select{height:28px;font-size:11px;padding:0 6px;min-width:100px}.filter-search{height:28px;font-size:12px;padding:0 10px;width:180px;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-white);font-family:var(--font-family)}.filter-search::placeholder{color:var(--text-muted)}.filter-search:focus{outline:none;border-color:var(--blue-primary)}.filter-toggle.active{color:var(--blue-primary)}.filter-clear{color:var(--text-muted);font-size:11px}.filter-row-advanced{display:flex;align-items:center;gap:12px;margin-top:6px;flex-wrap:wrap}.filter-row-advanced label{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-light)}.filter-row-advanced select{height:26px;font-size:11px;padding:0 4px;min-width:90px}.filter-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase}.task-group-header{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-input);border-bottom:1px solid var(--border-subtle);font-size:12px;font-weight:600;color:var(--text-light);cursor:pointer}.task-group-header:hover{background:var(--bg-hover)}.task-group-count{font-size:10px;font-weight:500;color:var(--text-muted);background:var(--bg-dark);padding:1px 6px;border-radius:8px}.task-detail-panel{width:340px;min-width:300px;max-width:400px;height:100%;display:flex;flex-direction:column;background:var(--bg-card);border-left:1px solid var(--border-subtle);overflow:hidden}.tdp-header{display:flex;align-items:flex-start;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-subtle);gap:8px}.tdp-header-info{display:flex;flex-direction:column;gap:4px;min-width:0}.tdp-task-name{font-weight:600;font-size:14px;color:var(--text-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tdp-task-meta{display:flex;gap:6px;align-items:center}.tdp-wbs{font-size:11px;color:var(--text-muted);font-family:monospace}.tdp-badge{display:inline-block;font-size:10px;padding:1px 6px;border-radius:3px;background:var(--bg-input);color:var(--text-light)}.tdp-badge-level{background:#a78bfa33;color:#a78bfa}.tdp-badge-critical{background:#ef444433;color:#ef4444}.tdp-tabs{display:flex;border-bottom:1px solid var(--border-subtle);background:var(--bg-dark)}.tdp-tab{flex:1;padding:8px 4px;font-size:11px;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;text-align:center;white-space:nowrap}.tdp-tab:hover{color:var(--text-light)}.tdp-tab.active{color:var(--blue-primary);border-bottom-color:var(--blue-primary)}.tdp-body{flex:1;overflow-y:auto;padding:12px}.tdp-section{display:flex;flex-direction:column;gap:12px}.tdp-field-group{display:flex;flex-direction:column;gap:4px}.tdp-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.tdp-select{background:var(--bg-input);border:1px solid var(--border-default);border-radius:4px;color:var(--text-white);font-size:12px;padding:6px 8px;outline:none}.tdp-select:focus{border-color:var(--blue-primary)}.tdp-select-grow{flex:1;min-width:0}.tdp-input{background:var(--bg-input);border:1px solid var(--border-default);border-radius:4px;color:var(--text-white);font-size:12px;padding:6px 8px;outline:none}.tdp-input:focus{border-color:var(--blue-primary)}.tdp-hint{font-size:11px;color:var(--text-muted);line-height:1.4}.tdp-color-row{display:flex;align-items:center;gap:8px}.tdp-color-row input[type=color]{width:32px;height:28px;padding:0;border:1px solid var(--border-default);border-radius:4px;cursor:pointer;background:none}.tdp-info-grid{border-top:1px solid var(--border-subtle);padding-top:8px;margin-top:4px}.tdp-info-row{display:flex;justify-content:space-between;font-size:11px;padding:2px 0}.tdp-info-row span:first-child{color:var(--text-muted)}.tdp-info-row span:last-child{color:var(--text-light);font-family:monospace}.tdp-empty{text-align:center;color:var(--text-muted);font-size:12px;padding:16px 0}.tdp-list-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:var(--bg-input);border-radius:4px;gap:8px}.tdp-list-item-info{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.tdp-list-item-name{font-size:12px;color:var(--text-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tdp-remove-btn{color:var(--text-muted)!important;font-size:16px!important;padding:0 4px!important;flex-shrink:0}.tdp-remove-btn:hover{color:#ef4444!important}.tdp-add-row{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--border-subtle);margin-top:4px}.tdp-textarea{width:100%;min-height:120px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:4px;color:var(--text-white);font-size:12px;font-family:inherit;padding:8px;outline:none;resize:vertical;line-height:1.5}.tdp-textarea:focus{border-color:var(--blue-primary)}.task-comments{display:flex;flex-direction:column;height:100%;min-height:300px}.task-comments-list{flex:1;overflow-y:auto;padding:8px 0;display:flex;flex-direction:column;gap:12px}.comment-item{padding:0 4px}.comment-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.comment-avatar{width:20px;height:20px;border-radius:50%}.comment-author{font-size:11px;font-weight:600;color:var(--text-white)}.comment-time{font-size:10px;color:var(--text-muted);flex:1}.comment-delete{opacity:0;font-size:14px!important;padding:0 4px!important;color:var(--text-muted)!important}.comment-item:hover .comment-delete{opacity:1}.comment-delete:hover{color:#ef4444!important}.comment-text{font-size:12px;color:var(--text-light);line-height:1.5;white-space:pre-wrap;word-break:break-word}.comment-reply{margin-left:20px;margin-top:8px;padding-left:8px;border-left:2px solid var(--border-subtle)}.comment-input-area{display:flex;gap:8px;align-items:flex-end;padding:8px 0;border-top:1px solid var(--border-subtle);margin-top:auto}.comment-input{flex:1;background:var(--bg-input);border:1px solid var(--border-default);border-radius:4px;color:var(--text-white);font-size:12px;font-family:inherit;padding:6px 8px;outline:none;resize:none;line-height:1.4}.comment-input:focus{border-color:var(--blue-primary)}.task-attachments{display:flex;flex-direction:column;gap:12px;height:100%}.attachment-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px;border:2px dashed var(--border-default);border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s}.attachment-dropzone:hover,.attachment-dropzone.dragover{border-color:var(--blue-primary);background:#3b82f60d}.attachment-dropzone-icon{font-size:20px;color:var(--text-muted);line-height:1}.attachment-dropzone-text{font-size:12px;color:var(--text-light)}.attachment-dropzone-hint{font-size:10px;color:var(--text-muted)}.attachment-list{display:flex;flex-direction:column;gap:6px}.attachment-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg-input);border-radius:4px}.attachment-item-icon{font-size:18px;flex-shrink:0;width:24px;text-align:center}.attachment-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.attachment-item-name{font-size:12px;color:var(--blue-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-item-name:hover{text-decoration:underline}.attachment-item-meta{font-size:10px;color:var(--text-muted)}.attachment-delete{opacity:0;font-size:16px!important;padding:0 4px!important;color:var(--text-muted)!important;flex-shrink:0}.attachment-item:hover .attachment-delete{opacity:1}.attachment-delete:hover{color:#ef4444!important}.custom-field-label-row{display:flex;align-items:center;justify-content:space-between}.custom-field-delete{opacity:0;font-size:14px!important;padding:0 4px!important;color:var(--text-muted)!important}.tdp-field-group:hover .custom-field-delete{opacity:1}.custom-field-delete:hover{color:#ef4444!important}.custom-field-checkbox{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-light);cursor:pointer}.custom-field-checkbox input[type=checkbox]{width:14px;height:14px;cursor:pointer}.custom-field-add-form{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--bg-input);border-radius:4px;border:1px solid var(--border-default)}.command-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:1000}.command-palette{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;width:480px;max-height:400px;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;overflow:hidden}.command-palette-input{width:100%;padding:14px 16px;background:transparent;border:none;border-bottom:1px solid var(--border-color);color:var(--text-white);font-size:14px;font-family:var(--font-family);outline:none}.command-palette-input::placeholder{color:var(--text-muted)}.command-palette-results{overflow-y:auto;max-height:340px;padding:4px 0}.command-palette-item{display:flex;align-items:center;gap:10px;padding:8px 16px;cursor:pointer;font-size:13px;color:var(--text-light)}.command-palette-item.selected{background:var(--bg-selected);color:var(--text-white)}.command-palette-item:hover{background:var(--bg-selected)}.command-palette-wbs{color:var(--text-muted);font-size:11px;min-width:40px;font-family:monospace}.command-palette-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-palette-badge{font-size:9px;font-weight:600;padding:1px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px}.command-palette-badge.critical{background:#ef444433;color:#ef4444}.command-palette-badge.milestone{background:#f59e0b33;color:#f59e0b}.command-palette-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:13px}.gantt-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.gantt-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--bg-dark);border-bottom:1px solid var(--border-subtle);min-height:38px;gap:12px}.gantt-toolbar-left,.gantt-toolbar-center,.gantt-toolbar-right{display:flex;align-items:center;gap:6px}.zoom-controls{display:flex;gap:2px;background:var(--bg-input);padding:2px;border-radius:4px}.gantt-bulk-bar{display:flex;align-items:center;gap:10px;padding:6px 12px;background:#3b82f614;border-bottom:1px solid var(--border-subtle)}.bulk-bar-label{font-size:11px;font-weight:600;color:var(--blue-primary);white-space:nowrap}.gantt-new-task{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-card);border-bottom:1px solid var(--border-subtle)}.gantt-new-task input{flex:1;max-width:400px}.quick-add-level{background:var(--bg-input);border:1px solid var(--border-default);border-radius:4px;color:var(--text-white);font-size:12px;font-weight:600;padding:4px 8px;outline:none;cursor:pointer}.quick-add-level:focus{border-color:var(--blue-primary)}.quick-add-parent{font-size:10px;color:var(--text-muted);background:#a78bfa26;padding:2px 6px;border-radius:3px;display:flex;align-items:center;gap:4px;white-space:nowrap}.gantt-split-pane{flex:1;display:flex;overflow:hidden}.gantt-table-pane{overflow:auto;min-width:200px;border-right:1px solid var(--border-subtle)}.gantt-divider{width:4px;cursor:col-resize;background:var(--border-subtle);transition:background .1s;flex-shrink:0}.gantt-divider:hover{background:var(--blue-primary)}.shortcuts-list{display:flex;flex-direction:column;gap:4px}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.shortcut-key{display:inline-block;background:var(--bg-input);border:1px solid var(--border-default);border-radius:4px;padding:2px 8px;font-size:11px;font-family:monospace;color:var(--text-white);min-width:60px;text-align:center}.shortcut-desc{font-size:12px;color:var(--text-light)}.kanban-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.kanban-toolbar{display:flex;align-items:center;justify-content:flex-end;padding:6px 12px;background:var(--bg-dark);border-bottom:1px solid var(--border-subtle);min-height:34px}.kanban-board{flex:1;display:flex;gap:10px;padding:12px;overflow-x:auto;overflow-y:hidden}.kanban-column{min-width:260px;max-width:300px;flex:1;display:flex;flex-direction:column;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.kanban-column-unassigned{background:var(--bg-darkest);border-style:dashed}.kanban-column-dragover{border-color:var(--blue-primary);background:#3b82f60d}.kanban-column-limit{border-color:var(--status-amber)}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-top:3px solid var(--border-subtle);background:var(--bg-card)}.kanban-column-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.kanban-column-count{font-size:11px;color:var(--text-muted)}.kanban-column-body{flex:1;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:6px}.kanban-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-left:3px solid var(--blue-primary);border-radius:6px;padding:10px;cursor:grab;transition:transform .1s,box-shadow .1s}.kanban-card:hover{border-color:var(--border-default);box-shadow:0 2px 8px #0000004d}.kanban-card-dragging{opacity:.5;transform:rotate(2deg)}.kanban-card-critical{border-left-color:var(--status-red)}.kanban-card-header{display:flex;align-items:flex-start;gap:6px;margin-bottom:6px}.kanban-card-name{font-size:12px;font-weight:600;line-height:1.4;flex:1}.milestone-icon-sm{color:var(--gantt-bar-milestone);font-size:10px}.kanban-card-footer{display:flex;align-items:center;gap:8px}.kanban-card-priority{font-size:10px;font-weight:600;text-transform:capitalize}.kanban-card-progress{display:flex;align-items:center;gap:4px}.kanban-card-assignees{display:flex;gap:4px;margin-top:6px}.kanban-card-assignee{width:22px;height:22px;border-radius:50%;background:var(--blue-dark);color:var(--text-light);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.resource-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.resource-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--bg-dark);border-bottom:1px solid var(--border-subtle);min-height:38px}.resource-create-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-card);border-bottom:1px solid var(--border-subtle)}.resource-create-row input,.resource-create-row select{max-width:200px}.resource-table-wrap{flex:1;overflow:auto}.resource-table{border-collapse:collapse;width:100%;min-width:800px}.resource-table th{position:sticky;top:0;z-index:2;background:var(--bg-card);text-align:left;white-space:nowrap}.resource-table td{white-space:nowrap;font-size:12px;padding:0 10px;height:38px;vertical-align:middle}.resource-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.resource-type-badge{font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:3px}.type-work{background:#3b82f626;color:var(--blue-primary)}.type-material{background:#fbbf2426;color:var(--status-amber)}.type-cost{background:#4ade8026;color:var(--status-green)}.utilization-bar-wrap{display:flex;align-items:center;gap:8px}.calendar-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--bg-dark);border-bottom:1px solid var(--border-subtle);min-height:38px}.calendar-toolbar-left,.calendar-toolbar-right{display:flex;align-items:center;gap:6px}.calendar-title{font-size:14px;font-weight:700;margin-left:8px}.calendar-month{flex:1;display:flex;flex-direction:column;overflow:hidden}.calendar-day-headers{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day-header{padding:6px;text-align:center;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;background:var(--bg-card);border-bottom:1px solid var(--border-subtle)}.calendar-grid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;overflow-y:auto}.calendar-cell{border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:4px;min-height:80px;overflow:hidden}.calendar-cell-outside{background:var(--bg-darkest);opacity:.5}.calendar-cell-today{background:#3b82f614}.calendar-cell-date{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:2px}.calendar-cell-today .calendar-cell-date{color:var(--blue-primary)}.calendar-cell-tasks{display:flex;flex-direction:column;gap:2px}.calendar-task-chip{font-size:10px;padding:2px 4px;border-radius:3px;background:var(--blue-subtle);color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.calendar-task-chip:hover{background:var(--bg-selected)}.calendar-task-critical{background:#ef444426;color:var(--status-red)}.calendar-task-more{font-size:10px;color:var(--text-muted);padding:1px 4px}.calendar-week{flex:1;display:grid;grid-template-columns:repeat(7,1fr);overflow-y:auto}.calendar-week-day{border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;min-height:0}.calendar-week-day-header{display:flex;justify-content:space-between;padding:8px;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);font-size:12px;font-weight:600}.calendar-week-day-tasks{flex:1;overflow-y:auto;padding:4px;display:flex;flex-direction:column;gap:4px}.calendar-task-chip-lg{padding:6px 8px;font-size:11px;display:flex;justify-content:space-between;align-items:center}.calendar-task-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.calendar-editor{display:flex;height:100%;overflow:hidden}.calendar-editor-sidebar{width:200px;border-right:1px solid var(--border-subtle);padding:12px;overflow-y:auto}.calendar-editor-title{font-size:13px;font-weight:700;margin-bottom:10px}.calendar-editor-item{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:none;color:var(--text-light);font-size:12px;font-family:var(--font-family);border-radius:4px;cursor:pointer;margin-bottom:2px}.calendar-editor-item:hover{background:var(--bg-hover)}.calendar-editor-item.active{background:var(--bg-selected);color:var(--text-white)}.calendar-editor-main{flex:1;padding:16px 20px;overflow-y:auto}.calendar-editor-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-subtle)}.working-days-grid{display:flex;gap:6px;flex-wrap:wrap}.working-day-toggle{padding:8px 14px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-input);color:var(--text-muted);font-family:var(--font-family);font-size:12px;cursor:pointer;transition:all .15s}.working-day-toggle.active{background:var(--blue-primary);color:#fff;border-color:var(--blue-primary)}.working-day-toggle:hover{border-color:var(--blue-hover)}.exception-form{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.exception-form input[type=date],.exception-form input[type=text]{max-width:180px}.exception-list{display:flex;flex-direction:column;gap:4px}.exception-item{display:flex;gap:12px;padding:6px 8px;font-size:12px;border-radius:4px}.exception-item:hover{background:var(--bg-hover)}.exception-holiday{color:var(--status-red)}.dashboard-view{padding:20px;overflow-y:auto;height:100%}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:20px}.dash-card{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:14px;text-align:center}.dash-card-value{font-size:24px;font-weight:700;color:var(--text-white);margin-bottom:2px}.dash-card-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.dashboard-section{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:16px;margin-bottom:12px}.dashboard-section-title{font-size:12px;font-weight:700;color:var(--text-light);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.dashboard-progress-wrap{display:flex;align-items:center;gap:12px}.dashboard-progress-label{font-size:14px;font-weight:700;color:var(--text-white);min-width:48px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.priority-bars{display:flex;flex-direction:column;gap:8px}.priority-bar-row{display:flex;align-items:center;gap:8px}.priority-bar-label{font-size:11px;font-weight:600;text-transform:capitalize;min-width:52px}.priority-bar-count{font-size:11px;color:var(--text-muted);min-width:24px;text-align:right}.milestone-list{display:flex;flex-direction:column;gap:6px}.milestone-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;font-size:12px}.milestone-item:hover{background:var(--bg-hover)}.milestone-critical .milestone-diamond{color:var(--status-red)}.milestone-diamond{color:var(--gantt-bar-milestone);font-size:10px}.milestone-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.completion-ring-wrap{display:flex;justify-content:center;padding:8px 0}.completion-ring{width:120px;height:120px}.recent-list{display:flex;flex-direction:column;gap:4px}.recent-item{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:12px;border-radius:4px}.recent-item:hover{background:var(--bg-hover)}.recent-check{color:var(--status-green);font-size:11px}.recent-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.network-diagram{display:flex;flex-direction:column;height:100%}.network-toolbar{display:flex;align-items:center;gap:16px;padding:8px 16px;background:var(--bg-dark);border-bottom:1px solid var(--border-subtle)}.network-legend{display:flex;gap:12px;margin-left:auto}.network-legend-item{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted)}.legend-dot{width:8px;height:8px;border-radius:2px}.network-canvas-container{flex:1;overflow:hidden;cursor:grab;background:var(--bg-darkest);background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);background-size:20px 20px}.network-canvas-container canvas{display:block}.baseline-view{padding:16px 20px;height:100%;overflow-y:auto}.baseline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.baseline-save-form{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:10px 14px;margin-bottom:12px}.baseline-save-form input{flex:1}.baseline-list{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.baseline-card{display:flex;align-items:center;justify-content:space-between;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:6px;padding:10px 14px;cursor:pointer;transition:border-color .15s}.baseline-card:hover,.baseline-card.active{border-color:var(--blue-primary)}.baseline-card.active{background:var(--blue-subtle)}.baseline-card-name{font-size:13px;font-weight:600}.baseline-card-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.baseline-comparison{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:14px;overflow-x:auto}.baseline-comparison h3{margin-bottom:10px}.variance-late{color:var(--status-red);font-weight:600}.variance-early{color:var(--status-green);font-weight:600}.variance-on-time{color:var(--text-muted)}.evm-view{padding:16px 20px;height:100%;overflow-y:auto}.evm-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-muted)}.evm-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.evm-progress-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.evm-progress-item{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:6px;padding:10px 14px}.evm-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:16px}.evm-cards-sm{display:grid;grid-template-columns:1fr 1fr;gap:10px}.evm-card{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:6px;padding:12px 14px}.evm-card-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.evm-card-value{font-size:18px;font-weight:700;margin-bottom:2px}.evm-card-value-lg{font-size:28px;font-weight:800;margin-bottom:2px}.evm-card-sub{font-size:11px;color:var(--text-muted)}.evm-index-bar{position:relative;height:4px;background:var(--bg-input);border-radius:2px;margin-top:8px}.evm-index-fill{height:100%;border-radius:2px;transition:width .3s}.evm-index-target{position:absolute;left:50%;top:-2px;width:2px;height:8px;background:var(--text-muted)}.evm-section-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.evm-section{margin-bottom:16px}.evm-section-title{font-size:12px;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.evm-bar-chart{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:6px;padding:14px}.evm-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.evm-bar-row:last-child{margin-bottom:0}.evm-bar-label{width:30px;font-size:11px;font-weight:700;color:var(--text-muted)}.evm-bar-track{flex:1;height:20px;background:var(--bg-input);border-radius:4px;overflow:hidden}.evm-bar-fill{height:100%;border-radius:4px;transition:width .3s}.evm-bar-value{width:90px;text-align:right;font-size:12px;font-weight:600;color:var(--text-light)}.util-view{padding:16px 20px;height:100%;overflow-y:auto}.util-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.util-alerts{background:#f8717114;border:1px solid rgba(248,113,113,.2);border-radius:var(--radius);padding:12px;margin-bottom:16px}.util-alerts-title{font-size:12px;font-weight:700;color:var(--status-red);margin-bottom:8px}.util-alert{display:flex;align-items:center;gap:12px;padding:4px 0;font-size:12px;border-bottom:1px solid rgba(248,113,113,.1)}.util-alert:last-child{border-bottom:none}.util-alert-name{font-weight:600;color:var(--text-white);min-width:120px}.util-alert-date{color:var(--text-muted);min-width:90px}.util-alert-units{color:var(--status-red);font-weight:600;min-width:110px}.util-alert-tasks{color:var(--text-muted)}.util-resource{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:12px;margin-bottom:10px}.util-resource-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.util-resource-name{font-size:13px;font-weight:600}.util-color-dot{width:10px;height:10px;border-radius:50%}.util-histogram{position:relative;display:flex;align-items:flex-end;height:60px;gap:1px}.util-bar-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;position:relative}.util-bar{border-radius:1px 1px 0 0;min-height:1px;transition:height .2s}.util-bar-over{position:absolute;bottom:0;left:0;right:0;background:#f871714d;border-radius:1px 1px 0 0}.util-max-line{position:absolute;bottom:100%;left:0;right:0;height:1px;background:#f8717166}.template-view{padding:16px 20px;height:100%;overflow-y:auto}.template-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.template-form,.template-category{margin-bottom:16px}.template-category-title{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.template-card{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:6px;padding:14px}.template-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.template-card-name{font-size:13px;font-weight:600}.template-card-cat{font-size:10px;font-weight:600;color:var(--blue-primary);background:var(--blue-subtle);padding:1px 6px;border-radius:3px}.template-card-desc{font-size:12px;color:var(--text-muted);margin-bottom:6px;line-height:1.4}.template-card-meta{font-size:11px;color:var(--text-muted);margin-bottom:10px}.template-card-actions{display:flex;gap:6px}.audit-view{padding:16px 20px;height:100%;overflow-y:auto}.audit-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.audit-timeline{position:relative;padding-left:20px}.audit-timeline:before{content:"";position:absolute;left:5px;top:0;bottom:0;width:2px;background:var(--border-subtle)}.audit-entry{position:relative;padding-bottom:12px}.audit-entry-dot{position:absolute;left:-20px;top:4px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-darkest)}.audit-entry-content{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:6px;padding:10px 14px}.audit-entry-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.audit-entry-action{font-size:12px;font-weight:700;text-transform:uppercase}.audit-entry-entity{font-size:12px;color:var(--text-light);font-weight:600}.audit-entry-date{font-size:11px;color:var(--text-muted);margin-left:auto}.audit-entry-user{font-size:11px;color:var(--text-muted);margin-bottom:4px}.audit-entry-changes{background:var(--bg-card);border-radius:4px;padding:6px 8px;margin-top:6px}.audit-change{font-size:11px;margin-bottom:2px}.audit-change:last-child{margin-bottom:0}.audit-change-key{color:var(--text-muted);margin-right:4px}.audit-change-val{color:var(--text-light);font-family:monospace;font-size:10px}.timesheet-view{display:flex;flex-direction:column;gap:20px;padding:20px;height:100%;overflow-y:auto}.timesheet-header{display:flex;align-items:center;justify-content:space-between}.timesheet-header h2{font-size:16px;font-weight:600;color:var(--text-white);margin:0}.timesheet-nav{display:flex;align-items:center;gap:8px}.timesheet-week-label{font-size:13px;color:var(--text-light);min-width:180px;text-align:center}.timesheet-loading{text-align:center;color:var(--text-muted);padding:40px 0}.timesheet-grid-wrapper{overflow-x:auto}.timesheet-grid{width:100%;border-collapse:collapse;font-size:12px}.timesheet-grid th{padding:6px 8px;text-align:center;font-weight:600;color:var(--text-muted);text-transform:uppercase;font-size:10px;letter-spacing:.5px;border-bottom:1px solid var(--border-subtle)}.ts-task-col{text-align:left!important;min-width:200px}.ts-day-col{width:70px}.ts-day-date{font-size:12px;color:var(--text-light);font-weight:400;margin-top:2px}.ts-total-col{width:70px}.timesheet-grid td{padding:8px;border-bottom:1px solid var(--border-subtle)}.ts-task-name{color:var(--text-white);font-size:12px;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-cell{text-align:center;color:var(--text-light)}.ts-hours{color:var(--blue-primary);font-weight:500}.ts-hours-empty{color:var(--text-muted);opacity:.5}.ts-total{font-weight:600;color:var(--text-white)!important}.ts-grand-total-row{background:var(--bg-input)}.ts-empty{text-align:center;color:var(--text-muted);padding:24px 0!important}.timesheet-add-section h3,.timesheet-summary h3{font-size:13px;font-weight:600;color:var(--text-white);margin:0 0 8px}.timesheet-add-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.timesheet-summary{max-width:500px}.ts-summary-total{font-size:13px;color:var(--text-light);margin-bottom:12px}.ts-summary-tasks{display:flex;flex-direction:column;gap:6px}.ts-summary-task-row{display:flex;align-items:center;gap:8px}.ts-summary-task-name{font-size:12px;color:var(--text-light);width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.ts-summary-bar-wrap{flex:1;height:8px;background:var(--bg-input);border-radius:4px;overflow:hidden}.ts-summary-bar{height:100%;background:var(--blue-primary);border-radius:4px;transition:width .3s}.ts-summary-hours{font-size:11px;color:var(--text-muted);width:50px;text-align:right;flex-shrink:0}.scenario-view{display:flex;flex-direction:column;gap:20px;padding:20px;height:100%;overflow-y:auto}.scenario-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.scenario-header h2{font-size:16px;font-weight:600;color:var(--text-white);margin:0}.scenario-create-row{display:flex;gap:8px;align-items:center}.scenario-loading,.scenario-empty{text-align:center;color:var(--text-muted);font-size:13px;padding:30px 0}.scenario-list{display:flex;flex-direction:column;gap:8px}.scenario-card{padding:12px 14px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;transition:border-color .15s}.scenario-card.active{border-color:var(--blue-primary)}.scenario-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.scenario-card-name{font-size:14px;font-weight:600;color:var(--text-white)}.scenario-card-actions{display:flex;gap:4px}.scenario-card-stats{display:flex;gap:12px;margin-top:6px;font-size:11px;color:var(--text-muted)}.scenario-compare h3{font-size:14px;font-weight:600;color:var(--text-white);margin:0 0 8px}.scenario-compare-wrapper{overflow-x:auto}.scenario-compare-table{width:100%;border-collapse:collapse;font-size:11px}.scenario-compare-table th{padding:6px 8px;text-align:left;font-weight:600;color:var(--text-muted);text-transform:uppercase;font-size:10px;letter-spacing:.5px;border-bottom:1px solid var(--border-subtle)}.scenario-compare-table td{padding:5px 8px;border-bottom:1px solid var(--border-subtle);color:var(--text-light)}.compare-task-name{color:var(--text-white)!important;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-delta{font-weight:600;font-family:monospace}tr.delta-late .compare-delta{color:#ef4444}tr.delta-early .compare-delta{color:#22c55e}.skills-view{padding:24px;max-width:1200px}.skills-header h2{margin:0 0 4px;font-size:1.25rem}.skills-subtitle{color:var(--text-secondary);font-size:.85rem;margin:0 0 20px}.skills-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border-color);padding-bottom:0}.skills-tab{background:none;border:none;padding:8px 16px;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;font-size:.85rem;margin-bottom:-1px}.skills-tab:hover{color:var(--text-primary)}.skills-tab.active{color:var(--blue-primary);border-bottom-color:var(--blue-primary)}.skills-section{background:var(--bg-secondary);border-radius:8px;padding:20px;border:1px solid var(--border-color)}.skills-add-row{display:flex;gap:8px;margin-bottom:16px}.skills-input{flex:1;max-width:300px;padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.85rem}.skills-list{display:flex;flex-wrap:wrap;gap:8px}.skill-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;font-size:.85rem}.skill-chip-delete{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;line-height:1;padding:0}.skill-chip-delete:hover{color:var(--red)}.skills-empty{color:var(--text-secondary);font-size:.85rem;text-align:center;padding:24px}.skills-loading{color:var(--text-secondary);padding:24px;text-align:center}.skills-matrix{overflow-x:auto}.skills-matrix table{width:100%;border-collapse:collapse;font-size:.85rem}.skills-matrix th,.skills-matrix td{padding:8px 12px;border-bottom:1px solid var(--border-color);text-align:center}.skills-matrix th{color:var(--text-secondary);font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.resource-name-cell{text-align:left!important;font-weight:500;white-space:nowrap}.prof-select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);padding:4px 8px;font-size:.8rem;cursor:pointer;width:52px}.match-controls{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.match-controls label{font-size:.85rem;color:var(--text-secondary)}.match-task-select{padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.85rem;min-width:200px}.match-results{display:flex;flex-direction:column;gap:8px}.match-result-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-primary);border-radius:6px}.match-name{min-width:150px;font-weight:500;font-size:.85rem}.match-bar-container{flex:1;height:8px;background:var(--bg-tertiary, rgba(255,255,255,.05));border-radius:4px;overflow:hidden}.match-bar{height:100%;border-radius:4px;transition:width .3s ease}.match-score{min-width:48px;text-align:right;font-weight:600;font-size:.85rem}.cr-view{padding:24px;max-width:900px}.cr-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.cr-header h2{margin:0 0 4px;font-size:1.25rem}.cr-subtitle{color:var(--text-secondary);font-size:.85rem;margin:0}.cr-loading{color:var(--text-secondary);padding:24px;text-align:center}.cr-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.cr-input,.cr-textarea{padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.85rem;font-family:inherit}.cr-textarea{resize:vertical}.cr-stats{display:flex;gap:16px;margin-bottom:20px}.cr-stat{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:12px 20px;text-align:center;flex:1}.cr-stat-value{display:block;font-size:1.5rem;font-weight:700}.cr-stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.cr-empty{color:var(--text-secondary);text-align:center;padding:40px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.cr-list{display:flex;flex-direction:column;gap:8px}.cr-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;cursor:pointer;transition:border-color .15s}.cr-card:hover{border-color:var(--blue-primary)}.cr-card-header{display:flex;justify-content:space-between;align-items:center}.cr-card-title-row{display:flex;align-items:center;gap:10px}.cr-status-badge{font-size:.7rem;padding:2px 8px;border-radius:10px;color:#fff;text-transform:uppercase;font-weight:600;letter-spacing:.05em;white-space:nowrap}.cr-card-title{font-weight:500;font-size:.9rem}.cr-card-meta{display:flex;gap:12px;font-size:.75rem;color:var(--text-secondary)}.cr-card-body{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.cr-description{font-size:.85rem;color:var(--text-secondary);margin:0 0 8px}.cr-impact{font-size:.85rem;margin-bottom:8px;padding:8px;background:#ffa5001a;border-radius:4px}.cr-reviewed{font-size:.8rem;color:var(--text-secondary);margin-bottom:8px}.cr-actions{display:flex;gap:8px;margin-top:8px}.xdep-view{padding:24px;max-width:1100px}.xdep-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.xdep-header h2{margin:0 0 4px;font-size:1.25rem}.xdep-subtitle{color:var(--text-secondary);font-size:.85rem;margin:0}.xdep-loading{color:var(--text-secondary);padding:24px;text-align:center}.xdep-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.xdep-form-row{display:flex;flex-direction:column;gap:4px}.xdep-form-row label{font-size:.8rem;color:var(--text-secondary)}.xdep-form-row.xdep-inline{flex-direction:row;align-items:flex-end;gap:12px}.xdep-select,.xdep-input{padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.85rem}.xdep-sm{width:80px}.xdep-empty{color:var(--text-secondary);text-align:center;padding:40px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.xdep-table-wrap{overflow-x:auto}.xdep-table{width:100%;border-collapse:collapse;font-size:.85rem;background:var(--bg-secondary);border-radius:8px;overflow:hidden}.xdep-table th{padding:10px 12px;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:500;text-align:left;border-bottom:1px solid var(--border-color)}.xdep-table td{padding:10px 12px;border-bottom:1px solid var(--border-color)}.xdep-proj-badge{font-size:.8rem;padding:2px 8px;border-radius:4px;background:#ffffff0d}.xdep-proj-badge.xdep-this{background:#3b82f626;color:var(--blue-primary);font-weight:500}.xdep-link-cell{display:flex;align-items:center;gap:6px}.xdep-link-badge{font-size:.75rem;font-weight:600;padding:1px 6px;background:#ffa50026;color:var(--orange);border-radius:3px}.xdep-arrow{color:var(--text-secondary)}.xdep-outgoing{border-left:3px solid var(--blue-primary)}.xdep-incoming{border-left:3px solid var(--green)}.admin-page{min-height:100vh;padding:24px;max-width:1100px;margin:0 auto}.admin-loading{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-muted)}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.admin-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:24px}.admin-stat-card{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:16px;text-align:center}.admin-stat-value{font-size:28px;font-weight:800;color:var(--text-white);margin-bottom:4px}.admin-stat-label{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.admin-section{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:16px}.admin-section h2{margin-bottom:12px}.admin-badge{font-size:10px;font-weight:700;color:var(--status-amber);background:#fbbf2426;padding:2px 6px;border-radius:3px}.program-view{min-height:100vh;display:flex;flex-direction:column}.program-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 24px;background:var(--bg-dark);border-bottom:1px solid var(--border-subtle)}.program-list{padding:12px 24px;display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.program-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;transition:border-color .15s}.program-row:hover{border-color:var(--blue-primary)}.program-row-name{font-size:13px;font-weight:600;flex:1}.program-row-meta{display:flex;gap:8px;font-size:11px;color:var(--text-muted)}.program-gantt{flex:1;min-height:200px;overflow:hidden;background:var(--bg-darkest)}.program-gantt canvas{display:block}:root{--bg-darkest: #111118;--bg-dark: #191922;--bg-card: #1f1f2e;--bg-input: #272738;--bg-hover: #2e2e42;--bg-selected: #1B3A5C;--blue-primary: #3b82f6;--blue-dark: #1e3a5f;--blue-hover: #60a5fa;--blue-subtle: #1e2d4a;--text-white: #e4e4ec;--text-light: #a8a8be;--text-muted: #64647a;--status-green: #4ade80;--status-red: #f87171;--status-amber: #fbbf24;--status-blue: #60a5fa;--border-subtle: #2a2a3d;--border-default: #363650;--font-family: "Inter", "Segoe UI", "Calibri", system-ui, sans-serif;--radius: 8px;--text-xs: 10px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 18px;--text-xl: 24px;--text-2xl: 28px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--gantt-bar-normal: #3b82f6;--gantt-bar-critical: #ef4444;--gantt-bar-summary: #a78bfa;--gantt-bar-milestone: #f59e0b;--gantt-bar-progress: rgba(255,255,255,.25);--gantt-grid-line: rgba(255,255,255,.04);--gantt-today-line: #f59e0b;--gantt-dependency-line: #64748b;--gantt-row-alt: rgba(255,255,255,.02);--gantt-row-height: 34px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background:var(--bg-darkest);color:var(--text-white);min-height:100vh;font-size:13px;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;overflow:hidden;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-default)}*{scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}:focus-visible{outline:none;box-shadow:0 0 0 2px var(--blue-primary)}input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:none;border-color:var(--blue-primary)}.card{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:16px}.page-title{font-size:var(--text-lg);font-weight:700;color:var(--text-white);margin-bottom:4px}.page-subtitle{font-size:var(--text-sm);color:var(--text-muted);font-weight:400;margin-bottom:16px}.section-title{font-size:var(--text-md);font-weight:600;color:var(--text-white);margin-bottom:6px}.label{font-size:var(--text-sm);font-weight:600;color:var(--text-light);margin-bottom:4px}.text-muted{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:none;border-radius:6px;font-family:var(--font-family);font-size:12px;font-weight:600;cursor:pointer;transition:all .12s;white-space:nowrap}.btn-primary{background:var(--blue-primary);color:#fff}.btn-primary:hover{background:var(--blue-hover)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{background:var(--bg-input);color:var(--text-light);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-white)}.btn-ghost{background:transparent;color:var(--text-muted);padding:5px 8px}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-white)}.btn-danger{background:transparent;color:var(--status-red);border:1px solid transparent}.btn-danger:hover{background:#f871711a;border-color:#f871714d}.btn-sm{padding:4px 8px;font-size:11px}.btn-lg{padding:10px 20px;font-size:14px}input,select,textarea{font-family:var(--font-family);font-size:13px;color:var(--text-white);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:6px;padding:7px 10px;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--blue-primary)}input::placeholder,textarea::placeholder{color:var(--text-muted)}select{cursor:pointer}select option{background:var(--bg-card);color:var(--text-white)}table{width:100%;border-collapse:collapse}th{background:var(--bg-card);color:var(--text-muted);font-size:11px;font-weight:600;padding:8px 10px;text-align:left;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-subtle)}td{padding:0 10px;height:var(--gantt-row-height);border-bottom:1px solid var(--border-subtle);font-size:13px}tr:hover td{background:var(--bg-card)}tr.selected td{background:var(--blue-subtle)}.status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:capitalize}.priority-critical{color:var(--status-red);font-weight:600}.priority-high{color:#f0a060;font-weight:600}.priority-medium{color:var(--status-amber);font-weight:600}.priority-low{color:var(--status-green);font-weight:600}.progress-bar-container{width:100%;height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--blue-primary);border-radius:3px;transition:width .3s ease}.toast{position:fixed;bottom:20px;right:20px;padding:10px 16px;border-radius:6px;font-size:12px;font-weight:600;z-index:1000;animation:slideIn .2s ease;box-shadow:0 4px 16px #0006}.toast-success{background:#065f46;color:var(--status-green)}.toast-error{background:#7f1d1d;color:var(--status-red)}.toast-info{background:var(--blue-dark);color:var(--status-blue)}@keyframes slideIn{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal-content{background:var(--bg-darkest);border:1px solid var(--border-default);border-radius:var(--radius);padding:20px;min-width:380px;max-width:500px;box-shadow:0 8px 32px #00000080}.modal-content h3{font-size:14px;font-weight:700;margin-bottom:14px}.context-menu{position:fixed;background:var(--bg-card);border:1px solid var(--border-default);border-radius:6px;padding:4px 0;z-index:100;min-width:180px;box-shadow:0 4px 16px #0006}.ctx-item{padding:7px 14px;cursor:pointer;font-size:12px;color:var(--text-white);transition:background .1s;display:flex;align-items:center;gap:8px}.ctx-item:hover{background:var(--blue-subtle)}.ctx-sep{height:1px;background:var(--border-subtle);margin:3px 0}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-spin{animation:icon-spin 1s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state-title{font-size:var(--text-md);font-weight:600;color:var(--text-light);margin-bottom:4px}.empty-state-desc{font-size:var(--text-sm);color:var(--text-muted);max-width:320px;line-height:1.5}.skeleton-pulse{background:linear-gradient(90deg,var(--bg-hover) 25%,var(--bg-card) 50%,var(--bg-hover) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.flex{display:flex}.flex-col{flex-direction:column}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.items-center{align-items:center}.justify-between{justify-content:space-between}.flex-1{flex:1}.w-full{width:100%}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-darkest)}.login-card{display:flex;flex-direction:column;align-items:center;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:48px 40px;min-width:360px;box-shadow:0 8px 32px #0006}.login-logo{margin-bottom:16px}.login-title{font-size:var(--text-2xl);font-weight:700;margin-bottom:4px}.login-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:32px}.login-btn{width:100%;justify-content:center;padding:12px 20px;font-size:14px;margin-bottom:16px}.login-footer{font-size:11px}.text-light{color:var(--text-light)}.project-list-page{min-height:100vh;display:flex;flex-direction:column}.project-list-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--bg-dark);border-bottom:1px solid var(--border-subtle)}.project-list-header-left{display:flex;align-items:center;gap:10px}.project-list-header-left h1{font-size:18px;font-weight:700}.project-list-header-right{display:flex;align-items:center}.project-list-content{flex:1;max-width:960px;width:100%;margin:0 auto;padding:24px}.project-list-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.project-list-toolbar h2{font-size:18px;font-weight:600}.project-create-form{display:flex;flex-direction:column;gap:10px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:16px;margin-bottom:20px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.project-card{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:16px;cursor:pointer;transition:border-color .15s,background .15s}.project-card:hover{border-color:var(--blue-primary);background:var(--bg-card)}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.project-card-name{font-size:14px;font-weight:600}.project-card-status{font-size:11px;font-weight:600;text-transform:capitalize}.project-card-desc{font-size:12px;color:var(--text-muted);margin-bottom:12px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.project-card-footer{display:flex;gap:16px;font-size:11px}.workspace{display:flex;min-height:100vh;height:100vh;overflow:hidden}.workspace-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.workspace-content{flex:1;overflow:hidden}.status-active{background:#4ade8026;color:var(--status-green)}.status-on_hold{background:#fbbf2426;color:var(--status-amber)}.status-completed{background:#3b82f626;color:var(--blue-primary)}.status-archived{background:var(--bg-hover);color:var(--text-muted)}
