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