.custom-gantt{width:100%;overflow-x:auto;overflow-y:auto;background:#fff;border:1px solid var(--slate-200, #e2e8f0);border-radius:8px;max-height:calc(100vh - 250px);min-height:600px}.gantt-timeline-container{display:flex;min-width:fit-content}.gantt-sidebar{flex-shrink:0;width:250px;border-right:1px solid var(--slate-200, #e2e8f0);background:var(--slate-50, #f8fafc);position:sticky;left:0;z-index:10}.gantt-header-cell,.gantt-footer-header-cell{display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:var(--text-primary, #212b36);border-bottom:1px solid var(--slate-200, #e2e8f0);background:var(--slate-100, #f1f5f9)}.gantt-footer-header-cell{border-top:1px solid var(--slate-200, #e2e8f0);border-bottom:none}.gantt-lane-header{display:flex;flex-direction:column;justify-content:center;padding:12px 16px;border-bottom:1px solid var(--slate-200, #e2e8f0);background:var(--slate-50, #f8fafc);transition:background-color .2s ease}.gantt-lane-header:hover{background:var(--slate-100, #f1f5f9)}.lane-title{font-weight:600;font-size:14px;color:var(--text-primary, #212b36);margin-bottom:4px;word-wrap:break-word}.lane-task-count{font-size:12px;color:var(--slate-500, #64748b)}.gantt-capacity-header{display:flex;flex-direction:column;justify-content:center;padding:12px 16px;border-top:2px solid var(--slate-300, #cbd5e1);background:var(--slate-100, #f1f5f9)}.capacity-header-title{font-weight:600;font-size:14px;color:var(--text-primary, #212b36);margin-bottom:4px}.capacity-header-subtitle{font-size:12px;color:var(--slate-500, #64748b)}.gantt-timeline{flex:1;position:relative;overflow:visible}.gantt-svg{display:block}.timeline-header-cell{fill:var(--slate-100, #f1f5f9);stroke:var(--slate-200, #e2e8f0);stroke-width:1}.timeline-header-text{font-size:11px;font-weight:600;fill:var(--slate-700, #334155);-webkit-user-select:none;user-select:none}.grid-line{stroke:var(--slate-200, #e2e8f0);stroke-width:1}.today-line{stroke:var(--warning-500, #f59e0b);stroke-width:2;stroke-dasharray:4,4}.today-label{font-size:10px;font-weight:700;fill:var(--warning-600, #d97706);-webkit-user-select:none;user-select:none}.task-block{transition:opacity .2s ease}.task-block.hovered{opacity:.9}.task-rect{stroke-width:2;transition:all .2s ease}.task-rect.task-not-started,.task-rect.task-pending{fill:#fef3c7;stroke:var(--warning-600, #d97706)}.task-rect.task-started,.task-rect.task-in-progress{fill:#dbeafe;stroke:var(--info-600, #2563eb)}.task-rect.task-done,.task-rect.task-completed{fill:#dcfce7;stroke:var(--success-600, #16a34a)}.task-rect.task-auto-assigned.task-not-started,.task-rect.task-auto-assigned.task-pending,.task-rect.task-auto-assigned{fill:#f3e8ff!important;stroke:#9333ea!important;stroke-dasharray:5,3}.task-rect.task-auto-assigned.task-started,.task-rect.task-auto-assigned.task-in-progress{fill:#e9d5ff!important;stroke:#7c3aed!important;stroke-dasharray:5,3}.task-rect.task-auto-assigned.task-done,.task-rect.task-auto-assigned.task-completed{fill:#ddd6fe!important;stroke:#6d28d9!important;stroke-dasharray:5,3}.task-rect.task-unapproved.task-not-started,.task-rect.task-unapproved.task-pending,.task-rect.task-unapproved{fill:#f1f5f9!important;stroke:#94a3b8!important;stroke-width:1.5;stroke-dasharray:3,2;opacity:.8}.task-rect.task-unapproved.task-started,.task-rect.task-unapproved.task-in-progress{fill:#e2e8f0!important;stroke:#64748b!important;stroke-width:1.5;stroke-dasharray:3,2;opacity:.8}.task-rect.task-unapproved.task-done,.task-rect.task-unapproved.task-completed{fill:#cbd5e1!important;stroke:#475569!important;stroke-width:1.5;stroke-dasharray:3,2;opacity:.8}.task-block:hover .task-rect{filter:brightness(.95);stroke-width:3}.task-progress{fill:#00000026}.task-name-text{font-size:11px;font-weight:600;fill:var(--text-primary, #212b36);pointer-events:none;-webkit-user-select:none;user-select:none}.task-meta-text{font-size:9px;fill:var(--text-secondary, #596370);pointer-events:none;-webkit-user-select:none;user-select:none;font-style:italic}.task-block-expanded{pointer-events:none;filter:drop-shadow(0 6px 12px rgba(0,0,0,.3))}.task-rect-expanded{stroke-width:3}.task-rect-expanded.task-not-started,.task-rect-expanded.task-pending{fill:#fef3c7;stroke:var(--warning-600, #d97706)}.task-rect-expanded.task-started,.task-rect-expanded.task-in-progress{fill:#dbeafe;stroke:var(--info-600, #2563eb)}.task-rect-expanded.task-done,.task-rect-expanded.task-completed{fill:#dcfce7;stroke:var(--success-600, #16a34a)}.task-rect-expanded.task-auto-assigned.task-not-started,.task-rect-expanded.task-auto-assigned.task-pending,.task-rect-expanded.task-auto-assigned{fill:#f3e8ff!important;stroke:#9333ea!important;stroke-dasharray:5,3}.task-rect-expanded.task-auto-assigned.task-started,.task-rect-expanded.task-auto-assigned.task-in-progress{fill:#e9d5ff!important;stroke:#7c3aed!important;stroke-dasharray:5,3}.task-rect-expanded.task-auto-assigned.task-done,.task-rect-expanded.task-auto-assigned.task-completed{fill:#ddd6fe!important;stroke:#6d28d9!important;stroke-dasharray:5,3}.task-rect-expanded.task-unapproved.task-not-started,.task-rect-expanded.task-unapproved.task-pending,.task-rect-expanded.task-unapproved{fill:#f1f5f9!important;stroke:#94a3b8!important;stroke-width:2;stroke-dasharray:3,2;opacity:.8}.task-rect-expanded.task-unapproved.task-started,.task-rect-expanded.task-unapproved.task-in-progress{fill:#e2e8f0!important;stroke:#64748b!important;stroke-width:2;stroke-dasharray:3,2;opacity:.8}.task-rect-expanded.task-unapproved.task-done,.task-rect-expanded.task-unapproved.task-completed{fill:#cbd5e1!important;stroke:#475569!important;stroke-width:2;stroke-dasharray:3,2;opacity:.8}.dependency-arrow{pointer-events:none}.arrow-path{fill:none;stroke:var(--slate-400, #94a3b8);stroke-width:2;stroke-dasharray:4,2;opacity:.6}.arrow-head{fill:var(--slate-400, #94a3b8);opacity:.6}.custom-gantt::-webkit-scrollbar{height:12px;width:12px}.custom-gantt::-webkit-scrollbar-track{background:var(--slate-100, #f1f5f9);border-radius:6px}.custom-gantt::-webkit-scrollbar-thumb{background:var(--slate-400, #94a3b8);border-radius:6px}.custom-gantt::-webkit-scrollbar-thumb:hover{background:var(--slate-500, #64748b)}.capacity-separator{stroke:var(--slate-300, #cbd5e1);stroke-width:2}.capacity-title{font-size:13px;font-weight:600;fill:var(--text-primary, #212b36);-webkit-user-select:none;user-select:none}.capacity-bar-free{fill:var(--success-500, #22c55e);stroke:var(--success-600, #16a34a);stroke-width:1}.capacity-bar-used{fill:var(--error-500, #ef4444);stroke:var(--error-600, #dc2626);stroke-width:1}.capacity-label{font-size:12px;font-weight:700;fill:var(--success-600, #16a34a);-webkit-user-select:none;user-select:none}.capacity-label-used{font-size:12px;font-weight:700;fill:var(--error-600, #dc2626);-webkit-user-select:none;user-select:none}.capacity-axis{stroke:var(--slate-400, #94a3b8);stroke-width:1}.capacity-legend-text{font-size:11px;fill:var(--text-secondary, #596370);-webkit-user-select:none;user-select:none}@media (max-width: 768px){.gantt-sidebar{width:180px}.lane-title{font-size:12px}.task-name-text{font-size:10px}.task-meta-text{font-size:8px}}.time-allocation{margin:10px 0;padding:8px;background:transparent;border-radius:4px}.allocation-bar{display:flex;flex-direction:column;gap:4px}.allocation-label{font-size:10px;font-weight:500;color:var(--slate-500, #64748b);text-transform:uppercase;letter-spacing:.3px}.bar-container{position:relative;height:16px;background:var(--slate-100, #f1f5f9);border-radius:3px;overflow:hidden}.bar-desired{position:absolute;top:0;left:0;height:100%;background:var(--info-100, #dbeafe);border-right:1px solid var(--info-400, #60a5fa);transition:width .3s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:4px}.bar-target-label{font-size:9px;font-weight:500;color:var(--info-700, #1d4ed8);white-space:nowrap}.bar-actual{position:absolute;top:0;left:0;height:100%;background:var(--success-200, #bbf7d0);border-right:1px solid var(--success-500, #22c55e);transition:width .3s ease;opacity:.8}.bar-actual.bar-over-allocated{background:var(--error-200, #fecaca);border-right:1px solid var(--error-500, #ef4444)}.person-view{padding:24px;max-width:1200px;margin:0 auto}.person-view h1{font-size:28px;font-weight:600;margin-bottom:24px;color:var(--text-primary, #212b36)}.person-selector{margin-bottom:32px}.person-selector label{display:block;font-weight:500;margin-bottom:8px;color:var(--text-primary, #212b36)}.person-selector select{width:100%;max-width:400px;padding:10px 12px;font-size:14px;border:1px solid var(--slate-300, #cbd5e1);border-radius:8px;background:#fff;cursor:pointer;transition:border-color .2s ease}.person-selector select:focus{outline:none;border-color:var(--primary-600, #009e99);box-shadow:0 0 0 3px #009e991a}.task-sequence{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.today-marker{display:flex;align-items:center;gap:12px;margin:8px 0;padding:8px 0}.today-line{flex:1;height:2px;background:repeating-linear-gradient(to right,var(--warning-500, #f59e0b) 0,var(--warning-500, #f59e0b) 8px,transparent 8px,transparent 16px)}.today-label{font-size:12px;font-weight:700;color:var(--warning-600, #d97706);white-space:nowrap;padding:4px 12px;background:var(--warning-50, #fffbeb);border-radius:12px;border:1px solid var(--warning-200, #fde68a)}.task-card{background:#fff;border:1px solid var(--slate-200, #e2e8f0);border-radius:12px;padding:20px;transition:all .2s ease;box-shadow:0 1px 3px #0000001a;cursor:pointer}.task-card:hover{box-shadow:0 4px 6px -1px #0000001a;border-color:var(--slate-300, #cbd5e1);transform:translateY(-1px)}.task-card.task-active-today{border-color:var(--warning-400, #fbbf24);border-width:2px;background:var(--warning-50, #fffbeb)}.task-card.task-completed{opacity:.85;background:var(--slate-50, #f8fafc);border-color:var(--slate-300, #cbd5e1)}.task-card.task-completed:hover{opacity:1;background:#fff}.task-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.task-name{font-size:18px;font-weight:600;color:var(--text-primary, #212b36);margin:0;flex:1;min-width:200px}.task-status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.task-status.not_started{background:#fef3c7;color:var(--warning-700, #b45309)}.task-status.started{background:#dbeafe;color:var(--info-700, #1e40af)}.task-status.done{background:#dcfce7;color:var(--success-700, #15803d)}.today-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;background:var(--warning-500, #f59e0b);color:#fff;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.task-description{color:var(--text-secondary, #596370);font-size:14px;margin-bottom:16px;line-height:1.6}.task-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:12px;padding:12px;background:var(--slate-50, #f8fafc);border-radius:8px}.task-meta div{font-size:13px;color:var(--text-secondary, #596370)}.task-meta strong{color:var(--text-primary, #212b36);font-weight:600}.task-context{font-size:13px;color:var(--text-secondary, #596370);padding-top:12px;border-top:1px solid var(--slate-200, #e2e8f0)}.task-context strong{color:var(--text-primary, #212b36);font-weight:500}.task-start-date{font-size:13px;color:var(--text-secondary, #596370);font-weight:400}.completed-tasks-section{margin-top:40px;padding-top:32px;border-top:2px solid var(--slate-200, #e2e8f0)}.completed-tasks-section h3{font-size:20px;font-weight:600;color:var(--text-primary, #212b36);margin-bottom:20px;display:flex;align-items:center;gap:12px}.completed-tasks-section h3:before{content:"✓";display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--success-100, #dcfce7);color:var(--success-700, #15803d);border-radius:50%;font-size:18px;font-weight:700}.person-summary{background:var(--slate-50, #f8fafc);border:1px solid var(--slate-200, #e2e8f0);border-radius:12px;padding:24px;margin-top:32px}.person-summary h3{font-size:18px;font-weight:600;color:var(--text-primary, #212b36);margin-bottom:16px}.person-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.summary-item{display:flex;flex-direction:column;gap:8px;padding:16px;background:#fff;border-radius:8px;border:1px solid var(--slate-200, #e2e8f0)}.summary-label{font-size:12px;font-weight:500;color:var(--text-secondary, #596370);text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:24px;font-weight:600;color:var(--text-primary, #212b36)}.loading,.no-data{text-align:center;padding:40px;color:var(--text-secondary, #596370)}@media (max-width: 768px){.person-view{padding:16px}.person-view h1{font-size:24px}.task-name{font-size:16px}.person-summary-grid,.task-meta{grid-template-columns:1fr}.today-label{font-size:10px;padding:2px 8px}}.task-form-container{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a;max-width:800px;margin:0 auto}.task-form-container h1{margin-bottom:8px;color:var(--text-primary, #212b36);font-size:24px;font-weight:600;line-height:32px}.task-form-subtitle{color:var(--text-secondary, #596370);margin-bottom:24px;font-size:14px}.error{padding:14px 16px;background-color:var(--error-50, #fef2f2);border-left:4px solid var(--error-600, #dc2626);border-radius:8px;color:var(--error-600, #dc2626);margin-bottom:16px;font-size:14px;font-weight:500}.success{padding:14px 16px;background-color:var(--success-50, #dcfce7);border-left:4px solid var(--success-600, #16a34a);border-radius:8px;color:var(--success-600, #16a34a);margin-bottom:16px;font-size:14px;font-weight:500}.task-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;font-size:14px;color:var(--text-primary, #212b36);display:flex;flex-direction:column;gap:4px}.required{color:var(--error-500, #ef4444);margin-left:4px}.help-text{font-size:12px;color:var(--text-secondary, #596370);font-weight:400}.checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;flex-direction:row!important}.form-checkbox{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0}.checkbox-label-text{display:flex;flex-direction:column;gap:4px}.form-control{padding:10px 12px;font-size:14px;border:1px solid var(--slate-300, #cbd5e1);background-color:#fff;border-radius:8px;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.form-control:focus{outline:none;border-color:var(--primary-500, #4ecca3);box-shadow:0 0 0 3px #4ecca31a}.form-control:disabled{background-color:var(--slate-100, #f1f5f9);cursor:not-allowed;opacity:.6}textarea.form-control{resize:vertical;min-height:80px}.rice-score-section{margin-top:8px;padding:20px;background-color:var(--slate-50);border-radius:12px;border:1px solid var(--slate-200)}.rice-score-section h3{margin-bottom:4px;color:var(--text-primary, #212b36);font-size:16px;font-weight:600}.rice-subtitle{font-size:12px;color:var(--text-secondary, #596370);margin-bottom:16px}.rice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.rice-score-display{margin-top:16px;padding:12px 16px;background-color:var(--primary-50, #e6f7f4);border-radius:8px;text-align:center;font-size:16px;font-weight:500;color:var(--primary-700, #2d9a84)}.form-actions{margin-top:8px;display:flex;justify-content:flex-end;gap:12px}.btn-primary{padding:12px 24px;font-size:14px;font-weight:500;color:#fff;background-color:var(--primary-600, #4ecca3);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.btn-primary:hover:not(:disabled){background-color:var(--primary-700, #2d9a84);box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:12px 24px;font-size:14px;font-weight:500;color:var(--text-primary, #212b36);background-color:var(--slate-100, #f1f5f9);border:1px solid var(--slate-300, #cbd5e1);border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.btn-secondary:hover{background-color:var(--slate-200, #e2e8f0);border-color:var(--slate-400, #94a3b8)}.dependency-filter{margin-bottom:8px}.dependencies-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;padding:12px;background-color:var(--slate-50);border:1px solid var(--slate-200);border-radius:8px;margin-top:8px}.no-tasks-text{color:var(--text-secondary, #596370);font-size:14px;text-align:center;padding:20px;margin:0}.dependency-checkbox{display:flex;align-items:flex-start;gap:8px;padding:8px;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.dependency-checkbox:hover{background-color:#fff}.dependency-checkbox input[type=checkbox]{margin-top:4px;cursor:pointer;width:16px;height:16px;flex-shrink:0}.dependency-task-info{display:flex;flex-direction:column;gap:4px;flex:1}.dependency-task-info strong{color:var(--text-primary, #212b36);font-size:14px;font-weight:500}.dependency-context{color:var(--text-secondary, #596370);font-size:12px}.task-status-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;text-transform:capitalize}.task-status-not_started{background-color:#fef3c7;color:var(--warning-700, #b45309)}.task-status-started{background-color:#dbeafe;color:var(--info-700, #1e40af)}.task-status-done{background-color:#dcfce7;color:var(--success-700, #15803d)}@media (max-width: 768px){.task-form-container{padding:16px}.rice-grid{grid-template-columns:1fr}}.tasks-for-grabs-view{padding:24px;max-width:1800px;margin:0 auto}.no-tasks p{color:var(--text-secondary, #596370);font-size:16px}.objectives-grid{display:flex;gap:24px;align-items:start;overflow-x:auto;overflow-y:visible;padding-bottom:16px}.objective-column{background:var(--slate-50, #f8fafc);border-radius:12px;padding:20px;border:1px solid var(--slate-200, #e2e8f0);min-height:200px;min-width:400px;max-width:450px;flex-shrink:0}.objective-header{margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--slate-200, #e2e8f0)}.objective-header h2{font-size:18px;font-weight:600;color:var(--text-primary, #212b36);margin-bottom:8px}.objective-description{font-size:13px;color:var(--text-secondary, #596370);margin-bottom:8px;line-height:1.5}.task-count{display:inline-block;font-size:12px;font-weight:500;color:var(--slate-600, #475569);background:var(--slate-200, #e2e8f0);padding:4px 10px;border-radius:12px}.key-results-list{margin-bottom:12px;padding:8px 0;background:transparent}.key-results-label{font-size:10px;font-weight:500;color:var(--slate-500, #64748b);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.key-results-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.key-result-item{font-size:12px;color:var(--slate-600, #475569);padding:2px 0 2px 12px;position:relative;font-weight:400}.key-result-item:before{content:"•";position:absolute;left:0;color:var(--slate-400, #94a3b8);font-weight:400}.tasks-list{display:flex;flex-direction:column;gap:12px}.task-card{background:#fff;border:1px solid var(--slate-200, #e2e8f0);border-radius:10px;padding:16px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.task-card:hover{box-shadow:0 4px 6px -1px #0000001a;border-color:var(--primary-400, #4ecca3);transform:translateY(-2px)}.task-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.task-name{font-size:15px;font-weight:600;color:var(--text-primary, #212b36);margin:0;flex:1;line-height:1.4}.task-status{padding:3px 10px;border-radius:10px;font-size:11px;font-weight:500;text-transform:capitalize;white-space:nowrap;flex-shrink:0}.task-status-not_started{background:#fef3c7;color:var(--warning-700, #b45309)}.task-status-started{background:#dbeafe;color:var(--info-700, #1e40af)}.task-status-done{background:#dcfce7;color:var(--success-700, #15803d)}.task-description{font-size:13px;color:var(--text-secondary, #596370);margin-bottom:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-meta{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;padding:10px;background:var(--slate-50, #f8fafc);border-radius:6px}.meta-item{display:flex;align-items:center;gap:8px;font-size:12px}.meta-label{color:var(--text-secondary, #596370);font-weight:500}.meta-value{color:var(--text-primary, #212b36);font-weight:400}.rice-score-display{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;gap:12px;margin-top:8px;background:var(--slate-50, #f8fafc);border-radius:6px}.rice-components{display:flex;gap:12px;font-size:12px;color:var(--slate-500, #64748b)}.rice-components span{font-weight:400}.rice-total{font-size:16px;font-weight:600;color:var(--slate-700, #334155);margin-left:auto}.objectives-grid::-webkit-scrollbar{height:12px}.objectives-grid::-webkit-scrollbar-track{background:var(--slate-100, #f1f5f9);border-radius:6px}.objectives-grid::-webkit-scrollbar-thumb{background:var(--slate-400, #94a3b8);border-radius:6px}.objectives-grid::-webkit-scrollbar-thumb:hover{background:var(--slate-500, #64748b)}@media (max-width: 768px){.tasks-for-grabs-view{padding:16px}.view-header h1{font-size:24px}.objectives-grid{gap:16px}.objective-column{padding:16px;min-width:320px;max-width:380px}.task-card-header{flex-direction:column;align-items:flex-start}.rice-score-display{flex-direction:column;align-items:stretch;gap:8px}.rice-components{justify-content:space-around}}@media (prefers-reduced-motion: reduce){.task-card{transition:none}.task-card:hover{transform:none}}.unapproved-tasks-view{padding:24px;max-width:1800px;margin:0 auto}.view-header{margin-bottom:32px}.view-header h1{font-size:28px;font-weight:600;margin-bottom:8px;color:var(--text-primary, #212b36)}.view-subtitle{color:var(--text-secondary, #596370);font-size:14px}.no-tasks{text-align:center;padding:60px 20px;background:var(--slate-50, #f8fafc);border-radius:12px;border:2px dashed var(--slate-300, #cbd5e1)}.no-tasks p{color:var(--text-primary, #212b36);font-size:18px;font-weight:500;margin-bottom:8px}.no-tasks-subtitle{color:var(--text-secondary, #596370);font-size:14px;font-weight:400!important}.tasks-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.tasks-table{width:100%;border-collapse:collapse;font-size:14px}.tasks-table thead{background:var(--slate-100, #f1f5f9)}.tasks-table th{padding:12px 16px;text-align:left;font-weight:600;color:var(--text-primary, #212b36);border-bottom:2px solid var(--slate-200, #e2e8f0);font-size:12px;text-transform:uppercase;letter-spacing:.3px}.tasks-table tbody tr{border-bottom:1px solid var(--slate-200, #e2e8f0);transition:background-color .2s ease}.tasks-table tbody tr:hover{background-color:var(--slate-50, #f8fafc);cursor:pointer}.tasks-table tbody tr:last-child{border-bottom:none}.tasks-table td{padding:16px;color:var(--text-primary, #212b36);vertical-align:top}.task-name-cell{min-width:300px;max-width:400px}.task-name{font-weight:600;margin-bottom:4px;color:var(--text-primary, #212b36)}.task-description{font-size:12px;color:var(--text-secondary, #596370);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.objective-cell,.key-result-cell{min-width:150px;max-width:200px;font-size:13px;color:var(--text-secondary, #596370)}.status-cell{min-width:100px}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:500;text-transform:capitalize;white-space:nowrap}.status-badge.status-not_started{background:#fef3c7;color:var(--warning-700, #b45309)}.status-badge.status-started{background:#dbeafe;color:var(--info-700, #1e40af)}.status-badge.status-done{background:#dcfce7;color:var(--success-700, #15803d)}.rice-cell{min-width:100px;text-align:center}.rice-score{font-size:16px;font-weight:600;color:var(--text-primary, #212b36);margin-bottom:2px}.rice-breakdown{font-size:10px;color:var(--text-tertiary, #6a7482);font-family:monospace}.creator-cell,.date-cell{min-width:120px;font-size:13px;color:var(--text-secondary, #596370)}.date-cell{min-width:150px}.actions-cell{min-width:80px;text-align:right}.approve-button{padding:6px 16px;background-color:var(--primary-600, #009e99);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.approve-button:hover:not(:disabled){background-color:var(--primary-700, #05807d);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.approve-button:disabled{background-color:var(--slate-400, #94a3b8);cursor:not-allowed;opacity:.6}.loading,.error{text-align:center;padding:40px;color:var(--text-secondary, #596370)}.error{color:var(--error-600, #dc2626);background:var(--error-50, #fef2f2);border-radius:8px;border:1px solid var(--error-200, #fecaca)}@media (max-width: 1400px){.tasks-table-container{overflow-x:auto}.tasks-table{min-width:1200px}}@media (max-width: 768px){.unapproved-tasks-view{padding:16px}.view-header h1{font-size:24px}.tasks-table{font-size:12px}.tasks-table th,.tasks-table td{padding:12px}}.conflicts-view{padding:24px;max-width:1400px;margin:0 auto}.conflicts-header{margin-bottom:32px}.conflicts-header h1{font-size:28px;font-weight:600;margin-bottom:8px;color:var(--text-primary, #212b36)}.conflicts-subtitle{color:var(--text-secondary, #596370);font-size:14px;line-height:1.5}.no-conflicts{text-align:center;padding:60px 20px;background:var(--slate-50, #f8fafc);border-radius:12px;border:1px solid var(--slate-200, #e2e8f0)}.no-conflicts-icon{font-size:48px;color:var(--success-500, #22c55e);margin-bottom:12px}.no-conflicts h2{font-size:20px;font-weight:600;color:var(--text-primary, #212b36);margin-bottom:8px}.no-conflicts p{color:var(--text-secondary, #596370);font-size:14px;max-width:500px;margin:0 auto}.conflicts-list{display:flex;flex-direction:column;gap:16px}.conflicts-count{font-size:14px;font-weight:500;color:var(--slate-600, #475569);padding:8px 12px;background:var(--slate-50, #f8fafc);border-radius:6px;margin-bottom:8px}.conflict-card{background:#fff;border:1px solid var(--slate-200, #e2e8f0);border-radius:10px;padding:20px;box-shadow:0 1px 2px #0000000d}.conflict-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--slate-200, #e2e8f0)}.conflict-person{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary, #212b36);font-weight:500}.person-icon{font-size:18px}.conflict-badge{padding:3px 10px;border-radius:10px;font-size:11px;font-weight:500;background:var(--slate-100, #f1f5f9);color:var(--slate-600, #475569)}.conflict-tasks{display:flex;align-items:center;gap:16px}.conflict-task{flex:1;background:var(--slate-50, #f8fafc);border:1px solid var(--slate-200, #e2e8f0);border-radius:8px;padding:14px;cursor:pointer;transition:all .2s ease}.conflict-task:hover{background:#fff;border-color:var(--slate-300, #cbd5e1);box-shadow:0 2px 4px #00000014;transform:translateY(-1px)}.task-header{margin-bottom:10px}.task-header h3{font-size:15px;font-weight:600;color:var(--text-primary, #212b36);margin:0;line-height:1.4}.task-dates{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.date-range{font-size:12px;font-weight:400;color:var(--text-secondary, #596370)}.task-effort{font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px;background:var(--slate-100, #f1f5f9);color:var(--slate-600, #475569)}.task-context{font-size:12px;color:var(--text-secondary, #596370);line-height:1.4}.conflict-overlap-indicator{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.overlap-icon{font-size:24px;color:var(--slate-400, #94a3b8)}.overlap-text{font-size:10px;font-weight:500;color:var(--slate-500, #64748b);text-transform:uppercase;letter-spacing:.3px}.loading{text-align:center;padding:40px;color:var(--text-secondary, #596370);font-size:14px}.error{text-align:center;padding:40px;color:var(--text-secondary, #596370);background:var(--slate-50, #f8fafc);border-radius:8px;border:1px solid var(--slate-200, #e2e8f0);font-size:14px}@media (max-width: 768px){.conflicts-view{padding:16px}.conflicts-header h1{font-size:24px}.conflict-card{padding:16px}.conflict-tasks{flex-direction:column;gap:12px}.conflict-overlap-indicator{flex-direction:row;width:100%;justify-content:center;padding:8px 0}.overlap-icon{font-size:24px}.task-dates{flex-direction:column;align-items:flex-start;gap:6px}.conflict-header{flex-direction:column;align-items:flex-start;gap:12px}}@media (prefers-reduced-motion: reduce){.conflict-task{transition:none}.conflict-task:hover{transform:none}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-50: #e6f7f7;--primary-500: #04c8be;--primary-600: #009e99;--primary-700: #05807d;--primary-900: #008380;--success-500: #22c55e;--success-600: #16a34a;--warning-500: #f59e0b;--warning-600: #d97706;--error-500: #ef4444;--error-600: #dc2626;--info-500: #3b82f6;--info-600: #2563eb;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--text-primary: #212b36;--text-secondary: #596370;--text-tertiary: #6a7482;--light_green: var(--primary-600);--dark-orange: #ff9300}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--slate-50);color:var(--text-primary);font-size:14px}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}.app{min-height:100vh;display:flex;flex-direction:column}.navbar{background-color:var(--primary-600);color:#fff;padding:16px 32px;box-shadow:0 1px 3px #0000001a}.nav-container{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.nav-title{font-size:20px;font-weight:600;line-height:28px}.nav-links{display:flex;gap:12px}.nav-link{color:#fff;text-decoration:none;padding:8px 16px;border-radius:4px;transition:opacity .2s ease;font-size:14px;font-weight:500}.nav-link:hover{opacity:.8}.main-content{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:24px}.loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:16px;color:var(--slate-500)}.error{padding:14px 16px;background-color:#fef2f2;border-left:4px solid var(--error-600);border-radius:8px;color:var(--error-600);margin-bottom:16px;font-size:12px}.gantt-container{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:all .3s ease}.gantt-container.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;border-radius:0;padding:24px;overflow-y:auto}.gantt-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.gantt-container h1{margin-bottom:8px;color:var(--text-primary);font-size:24px;font-weight:600;line-height:32px}.expand-button{padding:10px 16px;background-color:var(--primary-600);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:50px}.expand-button svg{display:block}.expand-button:hover{background-color:var(--primary-700);box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.refresh-button{padding:10px 20px;background-color:var(--primary-600);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.refresh-button:hover:not(:disabled){background-color:var(--primary-700);box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.refresh-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.gantt-controls{margin-bottom:16px;display:flex;gap:8px}.gantt-controls button{padding:8px 16px;border:1px solid var(--slate-200);background-color:#fff;border-radius:4px;cursor:pointer;transition:opacity .2s ease;font-size:14px;font-weight:500;color:var(--slate-600);min-height:36px}.gantt-controls button:hover{opacity:.8}.gantt-controls button.active{background-color:var(--primary-600);color:#fff;border-color:var(--primary-600)}.gantt-subtitle{color:var(--text-secondary);margin-bottom:16px;font-size:14px}.gantt-chart{overflow-x:auto}.person-view{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a}.person-view h1{margin-bottom:16px;color:var(--text-primary);font-size:24px;font-weight:600}.person-selector{margin-bottom:24px}.person-selector label{display:block;margin-bottom:8px;font-weight:400;font-size:12px;color:var(--slate-500)}.person-selector select{padding:8px 16px;font-size:14px;border:1px solid transparent;background-color:var(--slate-100);border-radius:8px;min-width:300px;cursor:pointer;transition:all .2s ease}.person-selector select:focus{background-color:#fff;border-color:var(--slate-400);outline:none}.task-sequence{display:flex;flex-direction:column;gap:12px}.task-card{padding:16px;border:1px solid var(--slate-200);border-radius:8px;background-color:#fff;transition:box-shadow .2s ease}.task-card:hover{box-shadow:0 4px 6px -1px #0000001a}.task-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.task-name{font-size:16px;font-weight:600;color:var(--text-primary)}.task-status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.task-status.not_started,.task-status.pending{background-color:#fef3c7;color:var(--warning-600)}.task-status.started,.task-status.in_progress{background-color:#dbeafe;color:var(--info-600)}.task-status.done,.task-status.completed{background-color:#dcfce7;color:var(--success-600)}.task-meta{display:flex;gap:24px;margin-bottom:12px;font-size:14px;color:var(--text-secondary)}.task-description{margin-bottom:12px;color:var(--text-secondary);font-size:14px}.task-context{font-size:12px;color:var(--text-tertiary)}.person-summary{margin-top:24px;padding:16px;background-color:var(--primary-50);border-radius:8px;border-left:4px solid var(--primary-600)}.person-summary h3{margin-bottom:8px;color:var(--primary-700);font-size:16px;font-weight:600}.person-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.summary-item{display:flex;flex-direction:column}.summary-label{font-size:12px;color:var(--slate-500);margin-bottom:4px}.summary-value{font-size:20px;font-weight:600;color:var(--primary-700)}
