.task-list-container{background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.task-list-header{align-items:center;border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;padding:16px 20px}.task-list-header h3{align-items:center;color:var(--color-gray-800);display:flex;font-size:var(--font-size-lg);font-weight:600;gap:8px;margin:0}.task-list-header .icon{color:var(--color-primary)}.task-list-header .badge{align-items:center;background:linear-gradient(to right,var(--color-primary),var(--color-primary-light));border-radius:var(--border-radius-full);box-shadow:var(--shadow-sm);color:#fff;display:inline-flex;font-size:var(--font-size-xs);font-weight:600;height:24px;justify-content:center;min-width:24px;padding:0 8px}.task-list-empty{align-items:center;color:var(--color-gray-500);display:flex;flex-direction:column;font-size:var(--font-size-sm);justify-content:center;padding:40px 20px;text-align:center}.task-list-empty .icon{font-size:36px;margin-bottom:16px;opacity:.5}.task-list-body{max-height:500px;overflow-y:auto;padding:20px}.task-item{background-color:#fff;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);margin-bottom:16px;transition:var(--transition-normal)}.task-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.task-item:last-child{margin-bottom:0}.task-item-critical{border-left:4px solid var(--color-error)}.task-item-normal{border-left:4px solid var(--color-primary)}.task-item-completed{border-left:4px solid var(--color-success)}.task-item-content{display:flex;flex-direction:column;gap:10px;padding:16px;position:relative}.task-item-header{align-items:flex-start;display:flex;justify-content:space-between}.task-item-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-gray-900);display:-webkit-box;font-size:var(--font-size-md);font-weight:600;line-height:1.4;margin:0;overflow:hidden}.task-item-badge{align-items:center;border-radius:var(--border-radius-full);color:#fff;display:inline-flex;font-size:var(--font-size-xs);font-weight:500;height:22px;justify-content:center;padding:0 10px;white-space:nowrap}.task-item-badge.critical{background:var(--color-error)}.task-item-badge.normal{background:var(--color-primary)}.task-item-badge.completed{background:var(--color-success)}.task-item-dates{align-items:center;color:var(--color-gray-700);display:flex;font-size:var(--font-size-sm);gap:16px}.task-item-date{align-items:center;display:flex;gap:6px}.task-item-date .icon{color:var(--color-gray-500);font-size:14px}.task-item-progress-container{background-color:var(--color-gray-100);border-radius:var(--border-radius-full);height:8px;margin-top:4px;overflow:hidden;width:100%}.task-item-progress-bar{border-radius:var(--border-radius-full);height:100%;transition:width .3s ease}.task-item-progress-bar.critical{background:linear-gradient(to right,var(--color-warning),var(--color-error))}.task-item-progress-bar.normal{background:linear-gradient(to right,var(--color-primary-light),var(--color-primary))}.task-item-progress-bar.completed{background:linear-gradient(to right,var(--color-success),var(--color-info))}.task-item-footer{align-items:center;border-top:1px solid var(--color-gray-100);display:flex;justify-content:space-between;margin-top:6px;padding-top:10px}.task-item-progress-text{font-size:var(--font-size-sm);font-weight:600}.task-item-progress-text.critical{color:var(--color-error)}.task-item-progress-text.normal{color:var(--color-primary)}.task-item-progress-text.completed{color:var(--color-success)}.task-item-actions{display:flex;gap:8px}.task-item-btn{align-items:center;background-color:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-md);color:var(--color-gray-600);cursor:pointer;display:flex;height:32px;justify-content:center;transition:var(--transition-fast);width:32px}.task-item-btn:hover{background-color:var(--color-gray-100);color:var(--color-primary);transform:translateY(-1px)}.task-item-btn.edit:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.task-item-btn.delete:hover{border-color:var(--color-error);color:var(--color-error)}.task-edit-form{display:flex;flex-direction:column;gap:12px;padding:16px}.task-edit-input{border:1px solid var(--color-gray-300);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);padding:10px 12px;transition:var(--transition-normal);width:100%}.task-edit-input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.task-edit-actions{display:flex;gap:8px;justify-content:flex-end}.task-edit-btn{border-radius:var(--border-radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;padding:8px 16px;transition:var(--transition-fast)}.task-edit-btn.save{background-color:var(--color-primary);border:none;color:#fff}.task-edit-btn.save:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.task-edit-btn.cancel{background-color:var(--color-gray-100);border:1px solid var(--color-gray-300);color:var(--color-gray-700)}.task-edit-btn.cancel:hover{background-color:var(--color-gray-200);transform:translateY(-1px)}.task-list-body::-webkit-scrollbar{height:6px;width:6px}.task-list-body::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:3px}.task-list-body::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:3px}.task-list-body::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}:root{--color-primary:#4f46e5;--color-primary-rgb:79,70,229;--color-primary-dark:#3c2abe;--color-primary-dark-rgb:60,42,190;--color-primary-light:#6366f1;--color-primary-light-rgb:99,102,241;--color-secondary:#7209b7;--color-success:#22c55e;--color-success-rgb:34,197,94;--color-warning:#eab308;--color-warning-rgb:234,179,8;--color-error:#ef4444;--color-error-rgb:239,68,68;--color-info:#3b82f6;--color-info-rgb:59,130,246;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012,0 2px 4px #0000000d;--shadow-lg:0 10px 15px #00000012,0 4px 6px #0000000d;--shadow-xl:0 15px 25px #00000012,0 5px 10px #0000000d;--shadow-inner:inset 0 2px 4px #0000000f;--shadow-focus:0 0 0 3px #4299e159;--transition-fast:all 0.15s ease;--transition-normal:all 0.3s ease;--transition-slow:all 0.5s ease;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--sidebar-width:360px;--sidebar-collapsed-width:60px;--header-height:64px;--content-max-width:1400px;--border-radius-lg:12px;--border-radius-xl:16px;--border-radius-2xl:24px;--border-radius-full:9999px;--color-bg-primary:#fff;--color-bg-secondary:#f8fafc;--color-bg-hover:#f1f5f9;--color-text-primary:var(--color-gray-900);--color-text-secondary:var(--color-gray-700);--color-text-muted:var(--color-gray-500)}*{margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;text-rendering:optimizeLegibility}body,html{line-height:1.5}body{background-color:#f9fafb;color:#1f2937;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-sans)}a{color:#4f46e5;color:var(--color-primary);text-decoration:none;transition:all .3s ease;transition:var(--transition-normal)}a:hover{color:#3c2abe;color:var(--color-primary-dark)}button{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-sans);transition:var(--transition-normal)}.app-container{--transition-speed:0.3s;--transition-ease:cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column;min-height:100vh;overflow:hidden;position:relative}.particles-container{height:100%;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:-1}.particle{animation:float 8s ease-in-out infinite;background:#4f46e533;background:rgba(var(--color-primary-rgb),.2);border-radius:50%;position:absolute;transition:background .3s ease}.particle:first-child{animation-delay:0s;height:70px;left:10%;opacity:.2;top:10%;width:70px}.particle:nth-child(2){animation-delay:1s;height:40px;left:20%;opacity:.15;top:40%;width:40px}.particle:nth-child(3){animation-delay:2s;background:#3b82f633;background:rgba(var(--color-info-rgb),.2);height:80px;opacity:.1;right:15%;top:30%;width:80px}.particle:nth-child(4){animation-delay:3s;background:#22c55e26;background:rgba(var(--color-success-rgb),.15);bottom:20%;height:50px;opacity:.15;right:30%;width:50px}.particle:nth-child(5){animation-delay:4s;bottom:10%;height:60px;left:40%;opacity:.1;width:60px}.particle:nth-child(6){animation-delay:5s;background:#eab30826;background:rgba(var(--color-warning-rgb),.15);bottom:30%;height:35px;left:5%;opacity:.2;width:35px}.particle:nth-child(7){animation-delay:6s;height:90px;opacity:.05;right:5%;top:5%;width:90px}.particle:nth-child(8){animation-delay:7s;background:#4f46e533;background:rgba(var(--color-primary-rgb),.2);bottom:10%;height:45px;opacity:.15;right:10%;width:45px}.particle:nth-child(9){animation-delay:8s;background:#3b82f633;background:rgba(var(--color-info-rgb),.2);height:55px;left:30%;opacity:.1;top:60%;width:55px}.particle:nth-child(10){animation-delay:9s;background:#22c55e26;background:rgba(var(--color-success-rgb),.15);height:75px;left:60%;opacity:.1;top:15%;width:75px}@keyframes float{0%,to{transform:translateY(0) translateX(0)}25%{transform:translateY(-15px) translateX(10px)}50%{transform:translateY(5px) translateX(-10px)}75%{transform:translateY(10px) translateX(5px)}}.app-header{background-color:#fff;box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);height:64px;justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.app-header,.logo-container{align-items:center;display:flex}.logo-icon{font-size:24px;margin-right:12px}.app-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,#4f46e5,#3b82f6);background:linear-gradient(120deg,var(--color-primary),var(--color-info));-webkit-background-clip:text;color:#111827;color:var(--color-gray-900);font-size:20px;font-weight:600;margin:0}.app-nav{align-items:center;display:flex;gap:24px}.app-nav a{border-radius:4px;border-radius:var(--border-radius-sm);color:#4b5563;color:var(--color-gray-600);font-size:15px;font-weight:500;padding:4px 8px}.app-nav a:hover{color:#4f46e5;color:var(--color-primary)}.github-button{align-items:center;background-color:#4f46e5;background-color:var(--color-primary);border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);color:#fff!important;display:flex;font-weight:500;gap:8px;padding:8px 16px;transition:all .3s ease}.github-button:hover{background-color:#3c2abe;background-color:var(--color-primary-dark);box-shadow:0 4px 6px #00000012,0 2px 4px #0000000d;box-shadow:var(--shadow-md);transform:translateY(-2px)}.github-icon{align-items:center;display:flex}.mobile-menu-button{background:#0000;border:none;display:none;flex-direction:column;height:18px;justify-content:space-between;padding:0;width:24px}.mobile-menu-button span{background-color:#1f2937;background-color:var(--color-gray-800);border-radius:2px;height:2px;transition:all .3s ease;width:100%}.app-main{display:flex;flex:1 1;position:relative}.app-sidebar{background-color:#fff;border-right:1px solid #e5e7eb;border-right:1px solid var(--color-gray-200);box-shadow:1px 0 5px #00000008;height:calc(100vh - 64px);height:calc(100vh - var(--header-height));overflow-y:auto;padding:0;position:-webkit-sticky;position:sticky;top:64px;top:var(--header-height);transition:width var(--transition-speed) var(--transition-ease),transform var(--transition-speed) var(--transition-ease),opacity var(--transition-speed) var(--transition-ease);width:360px;width:var(--sidebar-width);z-index:5}.app-sidebar.collapsed{padding:0;width:60px;width:var(--sidebar-collapsed-width)}.sidebar-toggle{align-items:center;background:#4f46e5;background:var(--color-primary);border:none;border-radius:50%;box-shadow:0 4px 6px #00000012,0 2px 4px #0000000d;box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;opacity:.9;position:absolute;right:-12px;top:20px;transition:transform .15s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease;width:24px;z-index:10}.sidebar-toggle:hover{background:#3c2abe;background:var(--color-primary-dark);opacity:1;transform:scale(1.1)}.sidebar-section{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-gray-200);margin-bottom:0;opacity:1;padding:1rem;padding:var(--spacing-md);transition:all .3s ease;transition:var(--transition-normal)}.sidebar-section:last-child{border-bottom:none}.app-sidebar.collapsed .sidebar-section{opacity:0;pointer-events:none}.sidebar-section h3{align-items:center;border-bottom:none;color:#4f46e5;color:var(--color-primary);display:flex;font-size:.875rem;font-size:var(--font-size-sm);font-weight:600;letter-spacing:.02em;margin-bottom:.5rem;margin-bottom:var(--spacing-sm);padding-bottom:.25rem;padding-bottom:var(--spacing-xs);position:relative;text-transform:uppercase}.sidebar-section h3:after{background:linear-gradient(90deg,#4f46e5,#6366f1);background:linear-gradient(to right,var(--color-primary),var(--color-primary-light));border-radius:1px;bottom:0;content:"";height:2px;left:0;position:absolute;width:36px}.task-input-group{background-color:#fff;border:1px solid #d1d5db;border:1px solid var(--color-gray-300);border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);display:flex;gap:0;overflow:hidden;padding:0;transition:all .3s ease;transition:var(--transition-normal)}.task-input-group:focus-within{border-color:#4f46e5;border-color:var(--color-primary);box-shadow:0 0 0 3px #4299e159;box-shadow:var(--shadow-focus)}.task-input{background-color:initial;border:none;border-radius:0;flex:1 1;font-size:.875rem;font-size:var(--font-size-sm);padding:12px 16px;transition:all .3s ease;transition:var(--transition-normal)}.task-input:focus{background-color:initial;border-color:#0000;box-shadow:none;outline:none}.task-input::placeholder{color:#6b7280;color:var(--color-gray-500)}.add-task-button{align-items:center;background:linear-gradient(90deg,#4f46e5,#6366f1);background:linear-gradient(to right,var(--color-primary),var(--color-primary-light));border:none;border-radius:0;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;height:40px;justify-content:center;letter-spacing:.5px;line-height:1;min-width:70px;padding:0;text-align:center;white-space:nowrap}.add-task-button:hover{background:linear-gradient(90deg,#3c2abe,#4f46e5);background:linear-gradient(to right,var(--color-primary-dark),var(--color-primary));box-shadow:none;transform:none}.view-controls{background-color:#f3f4f6;background-color:var(--color-gray-100);border-radius:9999px;border-radius:var(--border-radius-full);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);display:flex;margin-top:.5rem;margin-top:var(--spacing-sm);padding:4px}.view-control-button{background:none;border:none;border-radius:9999px;border-radius:var(--border-radius-full);color:#4b5563;color:var(--color-gray-600);cursor:pointer;flex:1 1;font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);transition:transform .15s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}.view-control-button.active,.view-control-button:hover{color:#4f46e5;color:var(--color-primary)}.view-control-button.active{background-color:#fff;box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);font-weight:600}.filter-section{display:flex;flex-direction:column;gap:1rem;gap:var(--spacing-md)}.filter-group{gap:.25rem;gap:var(--spacing-xs)}.filter-label{align-items:center;color:#374151;color:var(--color-gray-700);display:flex;font-size:.75rem;font-size:var(--font-size-xs);font-weight:600;letter-spacing:.03em}.filter-label svg{color:#4f46e5;color:var(--color-primary);margin-right:.25rem;margin-right:var(--spacing-xs)}.search-input{background-color:#f9fafb;background-color:var(--color-gray-50);border:1px solid #d1d5db;border-radius:8px;border-radius:var(--border-radius-md);font-size:.875rem;font-size:var(--font-size-sm);padding:10px 12px;transition:all .3s ease;transition:var(--transition-normal)}.search-input:focus{background-color:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4299e159;box-shadow:var(--shadow-focus)}.select-control{-webkit-appearance:none;appearance:none;background-color:#f9fafb;background-color:var(--color-gray-50);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' stroke='%236c757d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid #d1d5db;border:1px solid var(--color-gray-300);border-radius:8px;border-radius:var(--border-radius-md);color:#1f2937;color:var(--color-gray-800);cursor:pointer;font-size:.875rem;font-size:var(--font-size-sm);padding:10px 12px;transition:all .3s ease;transition:var(--transition-normal);width:100%}.select-control:focus{background-color:#fff;border-color:#4f46e5;border-color:var(--color-primary);box-shadow:0 0 0 3px #4299e159;box-shadow:var(--shadow-focus);outline:none}.date-range-group{display:flex;flex-direction:column;margin-top:.25rem;margin-top:var(--spacing-xs)}.date-range,.date-range-group{gap:.25rem;gap:var(--spacing-xs)}.date-input{background-color:#f9fafb;background-color:var(--color-gray-50);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M8 2v4m8-4v4M3 10h18M5 4h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z' stroke='%236c757d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:14px;border:1px solid #d1d5db;border:1px solid var(--color-gray-300);border-radius:8px;border-radius:var(--border-radius-md);flex:1 1;font-size:.875rem;font-size:var(--font-size-sm);padding:10px 12px;transition:all .3s ease;transition:var(--transition-normal)}.date-input:focus{background-color:#fff;border-color:#4f46e5;border-color:var(--color-primary);box-shadow:0 0 0 3px #4299e159;box-shadow:var(--shadow-focus);outline:none}.date-range-separator{color:#6b7280;color:var(--color-gray-500);font-weight:500}.reset-button{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;border-radius:var(--border-radius-md);color:#374151;color:var(--color-gray-700);font-size:.75rem;font-size:var(--font-size-xs);margin-top:.5rem;margin-top:var(--spacing-sm);padding:8px 16px;transition:transform .15s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}.reset-button:hover{background-color:#e5e7eb;border-color:#9ca3af;transform:translateY(-1px)}.filter-results{background-color:#f9fafb;background-color:var(--color-gray-50);border-radius:8px;border-radius:var(--border-radius-md);margin-top:1rem;margin-top:var(--spacing-md);padding:.5rem;padding:var(--spacing-sm)}.result-count{background:linear-gradient(90deg,#6366f1,#4f46e5);background:linear-gradient(to right,var(--color-primary-light),var(--color-primary));border-radius:9999px;border-radius:var(--border-radius-full);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);color:#374151;color:var(--color-gray-700);color:#fff;display:inline-block;font-size:.75rem;font-size:var(--font-size-xs);font-weight:600;padding:2px 8px}.app-content{flex:1 1;margin:0 auto;max-width:1400px;padding:24px;width:100%}.content-card{background-color:#fff;border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 4px 6px #00000012,0 2px 4px #0000000d;box-shadow:var(--shadow-md);margin-bottom:24px;overflow:hidden}.card-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;padding:16px 24px}.card-header h2{color:#1f2937;color:var(--color-gray-800);font-size:18px;font-weight:600;margin:0}.card-actions{display:flex;gap:8px}.action-button{align-items:center;background-color:#6366f1;background-color:var(--color-primary-light);border:1px solid var(--color-border);border-radius:50%;color:#4f46e5;color:var(--color-primary);cursor:pointer;display:flex;height:36px;justify-content:center;margin-left:8px;transition:transform .15s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease;width:36px}.action-button:hover{background-color:#4f46e5;background-color:var(--color-primary);box-shadow:0 3px 6px #0000001a;color:#fff;transform:translateY(-2px)}.action-button:active{background-color:#3c2abe;background-color:var(--color-primary-dark);transform:translateY(1px)}.action-button:after{background-color:#fff6;border-radius:50%;height:100%;left:0;top:0;transform:scale(0);transition:all .3s ease-out;width:100%}.action-button:active:after{opacity:1;transform:scale(2);transition:0s}.action-button span{font-size:16px;pointer-events:none;-webkit-user-select:none;user-select:none}.action-button.processing{background-color:var(--color-warning-light);color:#eab308;color:var(--color-warning);cursor:wait;opacity:.7}.action-button:before{background-color:#000000b3;border-radius:4px;color:#fff;content:attr(title);font-size:12px;left:50%;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;top:-30px;transform:translateX(-50%) scale(0);transition:all .2s ease;white-space:nowrap}.action-button:hover:before{opacity:1;transform:translateX(-50%) scale(1)}.badge{background-color:#6366f1;background-color:var(--color-primary-light);border-radius:12px;color:#fff;font-size:12px;font-weight:500;padding:2px 8px}.chart-container{height:500px;padding:16px}.chart-container:fullscreen{align-items:center;background:#fff;display:flex;justify-content:center;padding:20px}.chart-container:fullscreen .gantt-chart-container{height:90vh;max-width:none;width:95vw}.task-list-container{height:400px}.app-footer{background:linear-gradient(135deg,#1f2937,#111827);background:linear-gradient(135deg,var(--color-gray-800),var(--color-gray-900));color:#d1d5db;color:var(--color-gray-300);margin-top:auto;padding:48px 24px 24px}.footer-content{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;margin:0 auto 40px;max-width:1400px}.footer-section{flex:1 1;min-width:200px}.footer-section h3{color:#fff;font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:10px;position:relative}.footer-section h3:after{background:#4f46e5;background:var(--color-primary);border-radius:2px;bottom:0;content:"";height:3px;left:0;position:absolute;width:40px}.footer-section p{font-size:14px;margin-bottom:16px}.footer-section ul{display:flex;flex-direction:column;gap:8px}.footer-section ul li a{color:#d1d5db;color:var(--color-gray-300);display:inline-block;font-size:14px;transition:all .3s ease}.footer-section ul li a:hover{color:#fff;transform:translateX(5px)}.social-links{display:flex;gap:16px}.social-links a{align-items:center;background-color:#ffffff1a;border-radius:50%;box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);color:#d1d5db;color:var(--color-gray-300);display:flex;height:36px;justify-content:center;transition:all .3s ease;width:36px}.social-links a:hover{background-color:#4f46e5;background-color:var(--color-primary);box-shadow:0 4px 6px #00000012,0 2px 4px #0000000d;box-shadow:var(--shadow-md);color:#fff;transform:translateY(-2px)}.footer-bottom{border-top:1px solid #ffffff1a;font-size:14px;margin:0 auto;max-width:1400px;padding-top:24px;text-align:center}@media (max-width:1280px){:root{--sidebar-width:340px;--content-max-width:100%}.app-content{padding:1rem;padding:var(--spacing-md)}.chart-container{height:450px}}@media (max-width:1024px){:root{--sidebar-width:320px}.app-sidebar{width:360px;width:var(--sidebar-width)}.app-content{padding:.5rem;padding:var(--spacing-sm)}.chart-container{height:400px}.add-task-button{min-width:60px;padding:0}.add-task-button,.view-control-button{font-size:.75rem;font-size:var(--font-size-xs)}.toolbar-button,.view-control-button{padding:6px 10px}.toolbar-button span{display:none}.sidebar-section{padding:.5rem;padding:var(--spacing-sm)}}@media (max-width:768px){:root{--header-height:56px;--sidebar-width:300px}.app-nav{display:none}.mobile-menu-button{display:flex}.app-header{padding:0 1rem;padding:0 var(--spacing-md)}.app-sidebar{box-shadow:0 10px 15px #00000012,0 4px 6px #0000000d;box-shadow:var(--shadow-lg);left:0;position:fixed;transform:translateX(-100%);z-index:30}.app-sidebar.collapsed{max-width:320px;padding:0;transform:translateX(0);width:85%}.app-sidebar.collapsed .sidebar-section{opacity:1;pointer-events:auto}.sidebar-toggle{right:16px}.footer-content{flex-direction:column;gap:32px}.task-input-group{flex-direction:column;gap:0}.add-task-button{border-radius:0 0 8px 8px;border-radius:0 0 var(--border-radius-md) var(--border-radius-md);height:40px;min-width:100%}.task-input{border-radius:8px 8px 0 0;border-radius:var(--border-radius-md) var(--border-radius-md) 0 0}}@media (max-width:480px){.view-controls{background:none;box-shadow:none;flex-direction:column;gap:.25rem;gap:var(--spacing-xs)}.view-control-button{background-color:#f3f4f6;background-color:var(--color-gray-100);border-radius:8px;border-radius:var(--border-radius-md);width:100%}.view-control-button.active{background:linear-gradient(90deg,#4f46e5,#6366f1);background:linear-gradient(to right,var(--color-primary),var(--color-primary-light));color:#fff}.toolbar-actions{justify-content:space-between}.toolbar-button{flex:1 1;padding:8px 0}.date-range{flex-direction:column;gap:.25rem;gap:var(--spacing-xs)}.date-range-separator{align-self:center}}.toolbar-container{border-radius:8px;border-radius:var(--border-radius-md);display:flex;flex-direction:column;gap:1rem;gap:var(--spacing-md);margin-top:.5rem;margin-top:var(--spacing-sm);overflow:hidden}.toolbar-actions{display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-sm);margin-top:.25rem;margin-top:var(--spacing-xs)}.toolbar-button{align-items:center;background-color:#f3f4f6;background-color:var(--color-gray-100);border:1px solid #d1d5db;border:1px solid var(--color-gray-300);border-radius:8px;border-radius:var(--border-radius-md);color:#374151;color:var(--color-gray-700);cursor:pointer;display:flex;font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;gap:6px;justify-content:center;padding:8px 12px;transition:transform .15s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}.toolbar-button svg{opacity:.8;transition:all .15s ease;transition:var(--transition-fast)}.toolbar-button:hover{background-color:#e5e7eb;background-color:var(--color-gray-200);border-color:#9ca3af;border-color:var(--color-gray-400);color:#1f2937;color:var(--color-gray-800);transform:translateY(-1px)}.toolbar-button:hover svg{opacity:1}.toolbar-button.disabled{cursor:not-allowed;opacity:.5}.toolbar-button.disabled,.toolbar-button.disabled:hover{background-color:#e5e7eb;background-color:var(--color-gray-200)}.toolbar-button.disabled:hover{transform:none}.toolbar-button.danger{background-color:#e6394614;border-color:#e639464d;color:#ef4444;color:var(--color-error)}.toolbar-button.danger:hover{background-color:#e6394626;border-color:#e6394666}.task-details-card{animation:fadeIn .3s ease-out;background-color:#fff;border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--transition-speed) var(--transition-ease),opacity var(--transition-speed) var(--transition-ease)}.task-details-header{align-items:center;background-color:#f9fafb;background-color:var(--color-gray-50);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md)}.task-details-title{align-items:center;color:#1f2937;color:var(--color-gray-800);display:flex;font-size:.875rem;font-size:var(--font-size-sm);font-weight:600;gap:.25rem;gap:var(--spacing-xs);margin:0}.task-details-title .icon{color:#4f46e5;color:var(--color-primary)}.task-details-body{padding:1rem;padding:var(--spacing-md)}.detail-row{display:flex;font-size:.875rem;font-size:var(--font-size-sm);margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.detail-label{color:#4b5563;color:var(--color-gray-600);flex:0 0 120px;font-weight:500}.detail-value{color:#1f2937;color:var(--color-gray-800);flex:1 1;font-weight:400}.detail-progress{background-color:#e5e7eb;background-color:var(--color-gray-200);height:6px;margin-top:.25rem;margin-top:var(--spacing-xs);overflow:hidden}.detail-progress,.detail-progress-bar{border-radius:9999px;border-radius:var(--border-radius-full)}.detail-progress-bar{background:linear-gradient(90deg,#22c55e,#6366f1);background:linear-gradient(to right,var(--color-success),var(--color-primary-light));height:100%;width:75%}.detail-progress-bar.critical{background:linear-gradient(90deg,#eab308,#ef4444);background:linear-gradient(to right,var(--color-warning),var(--color-error))}.task-type-badge{background-color:#e5e7eb;background-color:var(--color-gray-200);border-radius:9999px;border-radius:var(--border-radius-full);color:#374151;color:var(--color-gray-700);display:inline-block;font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;padding:2px 8px}.task-type-badge.milestone{background-color:#7209b7;background-color:var(--color-secondary);color:#fff}.task-type-badge.critical{background-color:#ef4444;background-color:var(--color-error);color:#fff}::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}::-webkit-scrollbar-thumb{background:#d1d5db;background:var(--color-gray-300);border-radius:4px;-webkit-transition:all .3s ease;transition:all .3s ease;-webkit-transition:var(--transition-normal);transition:var(--transition-normal)}::-webkit-scrollbar-thumb:hover{background:#9ca3af;background:var(--color-gray-400)}:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:#4361ee33;color:#111827;color:var(--color-gray-900)}.app-background{background:linear-gradient(to bottom right,#fff,#f8fafc);background:linear-gradient(to bottom right,var(--color-bg-primary),var(--color-bg-secondary));bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:-2}.app-background:before{background:radial-gradient(circle at 15% 50%,#4f46e508 0,#0000 25%),radial-gradient(circle at 85% 30%,#3b82f608 0,#0000 25%);background:radial-gradient(circle at 15% 50%,rgba(var(--color-primary-rgb),.03) 0,#0000 25%),radial-gradient(circle at 85% 30%,rgba(var(--color-info-rgb),.03) 0,#0000 25%);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:-1}.app-background-shape{animation:morphShape 25s ease-in-out infinite alternate;border-radius:50%;filter:blur(40px);opacity:.07;position:absolute;z-index:-1}.app-background-shape-1{background:linear-gradient(135deg,#4f46e5b3,#3b82f6b3);background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.7),rgba(var(--color-info-rgb),.7));height:60vw;right:-10%;top:-5%;transform-origin:center;width:60vw}.app-background-shape-2{animation-delay:10s;background:linear-gradient(135deg,#22c55eb3,#3b82f6b3);background:linear-gradient(135deg,rgba(var(--color-success-rgb),.7),rgba(var(--color-info-rgb),.7));bottom:-10%;height:40vw;left:-5%;transform-origin:center;width:40vw}@keyframes morphShape{0%{border-radius:50% 30% 70% 50%}25%{border-radius:70% 60% 30% 40%}50%{border-radius:30% 40% 70% 60%}75%{border-radius:40% 70% 60% 30%}to{border-radius:60% 30% 40% 70%}}.action-button{isolation:isolate;overflow:hidden;position:relative;z-index:1}.action-button:after{background:radial-gradient(circle at center,#6366f1b3 0,#0000 70%);background:radial-gradient(circle at center,rgba(var(--color-primary-light-rgb),.7) 0,#0000 70%);content:"";inset:0;opacity:0;position:absolute;transition:opacity .5s ease;z-index:-1}.action-button:hover:after{opacity:.3}.content-card{position:relative;transition:transform .3s ease,box-shadow .3s ease;z-index:1}.content-card:hover{box-shadow:0 10px 15px #00000012,0 4px 6px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.app-header,.app-sidebar,.task-details-card{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#ffffffd9}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:rgba(#e5e7eb,.5);background:rgba(var(--color-gray-200),.5);border-radius:10px}::-webkit-scrollbar-thumb{background:#6366f199;background:rgba(var(--color-primary-light-rgb),.6);border-radius:10px;-webkit-transition:background .3s ease;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:#4f46e5cc;background:rgba(var(--color-primary-rgb),.8)}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skeleton{animation:skeleton-loading 1.5s infinite;background:linear-gradient(90deg,#f3f4f6,#e5e7eb 50%,#f3f4f6);background:linear-gradient(90deg,var(--color-gray-100) 0,var(--color-gray-200) 50%,var(--color-gray-100) 100%);background-size:200% 100%;border-radius:4px;border-radius:var(--border-radius-sm)}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}.export-status-message{align-items:center;background-color:var(--color-primary-lighter);border:1px solid #6366f1;border:1px solid var(--color-primary-light);border-radius:8px;border-radius:var(--border-radius-md);color:#4f46e5;color:var(--color-primary);display:flex;font-size:14px;justify-content:center;margin:10px;padding:10px}.export-note{font-size:12px;margin-left:6px;opacity:.7}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #6366f1;border-top:2px solid #4f46e5;border:2px solid var(--color-primary-light);border-radius:50%;border-top-color:var(--color-primary);display:inline-block;height:16px;margin-right:8px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.gantt-chart .selected-task{animation:pulse 2s infinite}.task-list-row{transition:background-color .2s ease}.task-list-row:hover{background-color:#f1f5f9;background-color:var(--color-bg-hover)}.content-card{animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app-nav a{position:relative;transition:color .2s ease}.app-nav a:after{background-color:#4f46e5;background-color:var(--color-primary);bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.app-nav a:hover:after{width:100%}input,select,textarea{transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e533;box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}.task-details-body{animation:expand .3s ease-out;transform-origin:top}@keyframes expand{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}.add-task-button{overflow:hidden;transition:all .2s ease}.add-task-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.add-task-button:hover:before{left:100%}.action-button.processing span{animation:rotate 1.5s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.stats-section{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.stats-dashboard{background:#fffc;border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease}.stats-dashboard:hover{box-shadow:0 4px 6px #00000012,0 2px 4px #0000000d;box-shadow:var(--shadow-md);transform:translateY(-2px)}.stats-header{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-gray-200);justify-content:space-between;padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md)}.stats-header,.stats-title{align-items:center;display:flex}.stats-title{color:#111827;color:var(--color-gray-900);font-size:1rem;font-size:var(--font-size-md);font-weight:600;margin:0}.stats-body{padding:1rem;padding:var(--spacing-md)}.progress-container{align-items:center;display:flex;flex-direction:column;gap:1.5rem;gap:var(--spacing-lg)}.progress-ring-container{display:flex;justify-content:center;margin-bottom:1rem;margin-bottom:var(--spacing-md);position:relative}.progress-ring{height:120px;position:relative;width:120px}.progress-percent{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.big-number{color:#4f46e5;color:var(--color-primary);font-size:24px;font-weight:700}.project-stats-grid{grid-gap:1rem;grid-gap:var(--spacing-md);display:grid;gap:1rem;gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);margin-top:1rem;margin-top:var(--spacing-md);width:100%}.stat-box{align-items:center;background:#ffffffe6;border-radius:8px;border-radius:var(--border-radius-md);box-shadow:var(--shadow-xs);display:flex;gap:.5rem;gap:var(--spacing-sm);padding:1rem;padding:var(--spacing-md);transition:transform .2s ease}.stat-box.vertical{align-items:center;flex-direction:column;padding:1rem .5rem;padding:var(--spacing-md) var(--spacing-sm);text-align:center}.stat-box:hover{transform:translateY(-2px)}.stat-icon{align-items:center;border-radius:8px;border-radius:var(--border-radius-md);color:#fff;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.stat-box.vertical .stat-icon{border-radius:50%;height:48px;margin-bottom:.5rem;margin-bottom:var(--spacing-sm);padding:12px;width:48px}.stat-box.vertical .stat-icon svg{stroke-width:2.5;height:24px;width:24px}.stat-box.vertical .stat-content{align-items:center;width:100%}.stat-box.vertical .stat-number{font-size:24px;line-height:1;margin-bottom:4px}.stat-box.vertical .stat-label{font-size:12px;text-align:center;white-space:nowrap}.status-complete{background-color:#22c55e;background-color:var(--color-success)}.status-progress{background-color:#4f46e5;background-color:var(--color-primary)}.status-not-started{background-color:#eab308;background-color:var(--color-warning)}.task-status-distribution{margin-top:1.5rem;margin-top:var(--spacing-lg)}.distribution-title{color:#374151;color:var(--color-gray-700);font-size:.875rem;font-size:var(--font-size-sm);font-weight:600;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.status-bars{display:flex;flex-direction:column;gap:.5rem;gap:var(--spacing-sm)}.status-bar-container{grid-gap:.5rem;grid-gap:var(--spacing-sm);align-items:center;display:grid;gap:.5rem;gap:var(--spacing-sm);grid-template-columns:80px 1fr 40px}.status-label{color:#374151;color:var(--color-gray-700);font-size:.75rem;font-size:var(--font-size-xs)}.status-bar-wrapper{background-color:#e5e7eb;background-color:var(--color-gray-200);height:8px;overflow:hidden}.status-bar,.status-bar-wrapper{border-radius:9999px;border-radius:var(--border-radius-full)}.status-bar{height:100%;transition:width 1s ease-in-out}.status-bar.status-complete{background-color:#22c55e;background-color:var(--color-success)}.status-bar.status-progress{background-color:#4f46e5;background-color:var(--color-primary)}.status-bar.status-not-started{background-color:#eab308;background-color:var(--color-warning)}.status-value{color:#374151;color:var(--color-gray-700);font-size:.75rem;font-size:var(--font-size-xs);font-weight:600;text-align:right}.task-card.not-started{border-left:3px solid #eab308;border-left:3px solid var(--color-warning)}.task-card.in-progress{border-left:3px solid #4f46e5;border-left:3px solid var(--color-primary)}.task-card.completed{border-left:3px solid #22c55e;border-left:3px solid var(--color-success)}.task-card.delayed{border-left:3px solid #ef4444;border-left:3px solid var(--color-error)}@media screen and (max-width:1280px){.project-stats-grid{gap:.5rem;gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr)}}@media screen and (max-width:1024px){.progress-ring{height:100px;width:100px}.big-number{font-size:20px}.stat-box{padding:.5rem;padding:var(--spacing-sm)}.stat-icon{height:28px;width:28px}.stat-number{font-size:1rem;font-size:var(--font-size-md)}}@media screen and (max-width:768px){.collapsed .stats-dashboard{display:none}.project-stats-grid{grid-template-columns:repeat(2,1fr)}.status-bar-container{grid-template-columns:70px 1fr 35px}}@media screen and (max-width:480px){.progress-ring{height:80px;width:80px}.big-number{font-size:18px}.stat-box{gap:.25rem;gap:var(--spacing-xs);padding:.25rem;padding:var(--spacing-xs)}.stat-icon{height:24px;width:24px}.stat-content{font-size:.75rem;font-size:var(--font-size-xs)}.stat-number{font-size:.875rem;font-size:var(--font-size-sm)}}.progress-ring circle:nth-child(2){stroke-dashoffset:339.3;animation:progress-ring-fill 1.5s ease-out forwards}@keyframes progress-ring-fill{to{stroke-dashoffset:339.3;stroke-dashoffset:var(--stroke-dashoffset,339.3)}}.big-number,.stat-number{animation:number-increment 1.5s ease-out forwards;counter-reset:num 0;counter-reset:num var(--num-value,0)}@keyframes number-increment{0%{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.status-bar{animation:status-bar-fill 1.2s ease-out forwards;animation-delay:.3s;width:0}@keyframes status-bar-fill{to{width:0;width:var(--width-value,0)}}.stat-box{animation:stat-box-appear .5s ease-out forwards;opacity:0;transform:translateY(15px)}.stat-box:first-child{animation-delay:.2s}.stat-box:nth-child(2){animation-delay:.4s}.stat-box:nth-child(3){animation-delay:.6s}.stat-box:nth-child(4){animation-delay:.8s}@keyframes stat-box-appear{to{opacity:1;transform:translateY(0)}}.stat-icon{overflow:hidden;position:relative}.stat-icon:after{animation:stat-icon-pulse 2s infinite;background:#ffffff4d;border-radius:inherit;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0}@keyframes stat-icon-pulse{0%,to{opacity:0;transform:scale(.8)}50%{opacity:.3;transform:scale(1.1)}}.stats-dashboard{overflow:hidden;position:relative}.stats-dashboard:before{animation:gradient-move 15s ease infinite;background:linear-gradient(-45deg,#4f46e508,#22c55e08 25%,#3b82f608 50%,#4f46e508 75%,#22c55e08);background:linear-gradient(-45deg,rgba(var(--color-primary-rgb),.03) 0,rgba(var(--color-success-rgb),.03) 25%,rgba(var(--color-info-rgb),.03) 50%,rgba(var(--color-primary-rgb),.03) 75%,rgba(var(--color-success-rgb),.03) 100%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%;z-index:-1}@keyframes gradient-move{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media screen and (min-width:769px){.project-stats-grid{grid-template-columns:repeat(4,1fr)}}@media screen and (max-width:768px){.project-stats-grid{grid-template-columns:repeat(2,1fr)}.stat-box.vertical{padding:.5rem;padding:var(--spacing-sm)}.stat-box.vertical .stat-icon{height:40px;padding:8px;width:40px}.stat-box.vertical .stat-icon svg{height:20px;width:20px}.stat-box.vertical .stat-number{font-size:20px}}@media screen and (max-width:480px){.project-stats-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.stat-box.vertical{padding:8px}.stat-box.vertical .stat-icon{height:36px;margin-bottom:6px;padding:6px;width:36px}.stat-box.vertical .stat-icon svg{height:18px;width:18px}.stat-box.vertical .stat-number{font-size:18px;margin-bottom:2px}.stat-box.vertical .stat-label{font-size:10px}}.status-ontime{background-color:#3b82f6;background-color:var(--color-info)}.stat-content{display:flex;flex-direction:column}.stat-number{color:#111827;color:var(--color-gray-900);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:700;line-height:1.2}.stat-label{color:#4b5563;color:var(--color-gray-600);font-size:.75rem;font-size:var(--font-size-xs)}.gantt-task-filter{background-color:#fff;border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);box-sizing:border-box;display:flex;flex-direction:column;font-family:var(--font-family);font-size:14px;max-width:320px;padding:16px;width:100%}.filter-search{margin-bottom:var(--spacing-md)}.search-input{border:1px solid var(--color-gray-300);border-radius:var(--border-radius-sm);font-size:14px;padding:8px 12px;transition:all .3s;width:100%}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #4361ee33;outline:none}.filter-options{border-bottom:1px solid var(--color-gray-200);gap:12px;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md)}.filter-group,.filter-options{display:flex;flex-direction:column}.filter-group{gap:4px}.filter-group label{color:var(--color-gray-700);font-size:13px;font-weight:600}.filter-group select{background-color:#fff;border:1px solid var(--color-gray-300);border-radius:var(--border-radius-sm);padding:6px 10px;transition:all .3s}.filter-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #4361ee1a;outline:none}.date-range{align-items:center;display:flex;gap:8px}.date-range input{border:1px solid var(--color-gray-300);border-radius:var(--border-radius-sm);flex:1 1;font-size:12px;padding:6px 10px}.date-range input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #4361ee1a;outline:none}.date-range span{color:var(--color-gray-500);font-size:12px}.reset-button{align-self:flex-end;background-color:var(--color-gray-100);border:1px solid var(--color-gray-300);border-radius:var(--border-radius-sm);color:var(--color-gray-600);cursor:pointer;font-weight:500;margin-top:8px;padding:8px 14px;transition:all .3s}.reset-button:hover{background-color:var(--color-gray-200);border-color:var(--color-gray-400);color:var(--color-gray-800)}.filter-results{flex:1 1;max-height:300px;overflow-y:auto;padding-right:4px}.filter-results::-webkit-scrollbar{height:6px;width:6px}.filter-results::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:3px}.filter-results::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:3px}.filter-results::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.filter-results h4{color:var(--color-gray-800);font-size:14px;font-weight:600;margin:0 0 12px}.task-list{list-style:none;margin:0;padding:0}.task-item{background-color:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-sm);cursor:pointer;margin-bottom:8px;overflow:hidden;padding:12px;position:relative;transition:all .3s}.task-item:hover{background-color:#e0e7ff;border-color:var(--color-primary-light);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.task-progress{background-color:var(--color-success);bottom:0;height:3px;left:0;position:absolute;transition:width .3s}.task-info{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}.task-name{color:var(--color-gray-800);font-weight:600}.task-dates{color:var(--color-gray-600);font-size:12px}.task-type{position:absolute;right:8px;top:8px}.milestone-badge,.project-badge{border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:500;padding:2px 8px}.milestone-badge{background-color:var(--color-info)}.project-badge{background-color:var(--color-warning)}.no-results{color:var(--color-gray-500);font-style:italic;padding:16px;text-align:center}.gantt-chart-container{background-color:#fff;border:1px solid var(--color-gray-200);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);font-family:var(--font-family);height:100%;overflow:hidden;position:relative;width:100%}.gantt-chart-header{align-items:center;background-color:var(--color-gray-100);border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;padding:12px 16px}.gantt-chart-title{color:var(--color-gray-800);font-size:16px;font-weight:500}.gantt-chart-toolbar{display:flex;gap:8px}.gantt-chart-body{display:flex;height:calc(100% - 48px)}.gantt-chart-sidebar{background-color:var(--color-gray-50);border-right:1px solid var(--color-gray-200);overflow-x:hidden;overflow-y:auto;width:220px}.gantt-chart-main{flex:1 1;overflow:auto;position:relative}.gantt-chart-grid{bottom:0;left:0;position:absolute;right:0;top:0}.gantt-chart-timeline{background-color:var(--color-gray-100);border-bottom:1px solid var(--color-gray-200);height:44px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.gantt-chart-tasks{position:relative}.gantt-task{background-color:#e0e7ff;border:1px solid var(--color-primary-light);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);box-sizing:border-box;cursor:move;height:28px;margin:8px 0;overflow:hidden;padding:0 10px;position:absolute;text-overflow:ellipsis;transition:all .3s ease;white-space:nowrap;z-index:5}.gantt-task:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);z-index:6}.gantt-task.dragging{box-shadow:var(--shadow-lg);opacity:.85;transform:scale(1.02);z-index:100}.gantt-task-progress{background-color:#4361ee59;height:100%;left:0;position:absolute;top:0;z-index:-1}.gantt-task-label{color:var(--color-gray-800);font-size:13px;font-weight:500;line-height:26px}.gantt-milestone{border-bottom:24px solid var(--color-info);border-left:12px solid #0000;border-right:12px solid #0000;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));height:0;margin:10px 0;position:absolute;transition:filter .3s ease,transform .3s ease;width:0;z-index:5}.gantt-milestone:hover{filter:drop-shadow(0 2px 4px rgba(0,0,0,.15));transform:translateY(-2px)}.gantt-milestone-label{color:var(--color-gray-700);font-size:12px;font-weight:500;position:absolute;top:24px;white-space:nowrap}.gantt-task-resize-handle{background-color:initial;cursor:ew-resize;height:100%;position:absolute;top:0;width:6px;z-index:7}.gantt-task-resize-handle.left{left:0}.gantt-task-resize-handle.right{right:0}.gantt-dependencies{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:4}.gantt-dependency-line{stroke:var(--color-gray-400);stroke-width:1.5;fill:none;marker-end:url(#arrowhead);transition:stroke .3s ease,stroke-width .3s ease}.gantt-dependency-line:hover{stroke:var(--color-primary);stroke-width:2}.gantt-task.critical{background-color:#ffe0f0;border:1px solid #f72585}.gantt-dependency-line.critical{stroke:#f72585;stroke-width:2}.gantt-grid-line-horizontal,.gantt-grid-line-vertical{stroke:var(--color-gray-200);stroke-width:1}.gantt-grid-line-today{stroke:var(--color-primary);stroke-width:1.5;stroke-dasharray:4 4}.gantt-date-label{fill:var(--color-gray-600);text-anchor:middle;font-size:12px;font-weight:500}.gantt-tooltip{background-color:var(--color-gray-800);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);color:#fff;font-size:12px;padding:8px 12px;pointer-events:none;position:absolute;white-space:nowrap;z-index:1000}.gantt-tooltip:after{border-color:var(--color-gray-800) #0000 #0000 #0000;border-style:solid;border-width:5px 5px 0;bottom:-5px;content:"";left:50%;margin-left:-5px;position:absolute}.gantt-task-drop-indicator{background-color:var(--color-primary);box-shadow:var(--shadow-sm);height:2px;position:absolute;z-index:99}.gantt-chart-main::-webkit-scrollbar,.gantt-chart-sidebar::-webkit-scrollbar{height:6px;width:6px}.gantt-chart-main::-webkit-scrollbar-track,.gantt-chart-sidebar::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:3px}.gantt-chart-main::-webkit-scrollbar-thumb,.gantt-chart-sidebar::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:3px}.gantt-chart-main::-webkit-scrollbar-thumb:hover,.gantt-chart-sidebar::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}@media (max-width:768px){.gantt-chart-sidebar{width:160px}}@media (max-width:576px){.gantt-chart-sidebar{width:120px}.gantt-task-label{font-size:11px}}:root{--color-primary:#4361ee;--color-primary-light:#4895ef;--color-primary-dark:#3f37c9;--color-success:#4cc9f0;--color-warning:#f72585;--color-info:#7209b7;--color-gray-50:#f8f9fa;--color-gray-100:#f1f3f5;--color-gray-200:#e9ecef;--color-gray-300:#dee2e6;--color-gray-400:#ced4da;--color-gray-500:#adb5bd;--color-gray-600:#6c757d;--color-gray-700:#495057;--color-gray-800:#343a40;--color-gray-900:#212529;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:16px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;background-color:var(--color-gray-50);color:#343a40;color:var(--color-gray-800);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family);margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}button{cursor:pointer;transition:all .3s ease}button:hover{opacity:.85}button:active{transform:translateY(1px)}input,select,textarea{border:1px solid #dee2e6;border:1px solid var(--color-gray-300);border-radius:4px;border-radius:var(--border-radius-sm);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family);font-size:14px;padding:8px 12px;transition:all .3s}input:focus,select:focus,textarea:focus{border-color:#4361ee;border-color:var(--color-primary);box-shadow:0 0 0 2px #4361ee33;outline:none}ul{list-style-type:none;padding-left:0}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#f1f3f5;background:var(--color-gray-100);border-radius:3px}::-webkit-scrollbar-thumb{background:#ced4da;background:var(--color-gray-400);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#adb5bd;background:var(--color-gray-500)}.container{margin:0 auto;max-width:1200px;padding:20px}.header{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.header h1{color:#333;font-size:24px;margin:0}.header p{color:#666;margin-top:10px}.card{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.footer{color:#666;font-size:14px;margin-top:40px;padding:20px;text-align:center}.github-link{align-items:center;background-color:#24292e;border-radius:4px;color:#fff;display:inline-flex;font-weight:700;margin-top:10px;padding:8px 16px;text-decoration:none;transition:background-color .3s}.github-link:hover{background-color:#1b1f23}.demo-page,.features-page{margin:0 auto;max-width:1200px;padding:40px 20px}.demo-header{margin-bottom:40px;text-align:center}.demo-header h1{background:linear-gradient(to right,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;background-clip:text;color:#0000;font-size:2.5rem;margin-bottom:12px}.demo-header p{color:var(--color-gray-600);font-size:1.1rem;margin:0 auto 30px;max-width:700px}.view-mode-controls{display:flex;gap:10px;justify-content:center;margin:20px 0}.view-mode-controls button{background-color:var(--color-gray-100);border:1px solid var(--color-gray-300);border-radius:4px;color:var(--color-gray-700);font-weight:500;padding:8px 16px;transition:all .3s ease}.view-mode-controls button.active{background-color:var(--color-primary);border-color:var(--color-primary-dark);color:#fff}.view-mode-controls button:hover{background-color:var(--color-gray-200)}.view-mode-controls button.active:hover{background-color:var(--color-primary-dark)}.demo-chart{box-shadow:var(--shadow-md);height:500px;margin-bottom:40px;overflow:hidden}.demo-chart,.demo-instructions{background-color:#fff;border-radius:8px}.demo-instructions{box-shadow:var(--shadow);margin-bottom:30px;padding:24px}.demo-instructions h2{border-bottom:1px solid var(--color-gray-200);color:var(--color-gray-800);font-size:1.5rem;margin-bottom:16px;padding-bottom:10px}.demo-instructions ul{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.demo-instructions li{line-height:1.6;padding-left:25px;position:relative}.demo-instructions li:before{color:var(--color-primary);content:"→";font-weight:700;left:0;position:absolute}.demo-footer{color:var(--color-gray-600);margin-top:40px;text-align:center}.demo-footer a{color:var(--color-primary);text-decoration:underline;-webkit-text-decoration-color:#0000;text-decoration-color:#0000;transition:-webkit-text-decoration-color .3s ease;transition:text-decoration-color .3s ease;transition:text-decoration-color .3s ease,-webkit-text-decoration-color .3s ease}.demo-footer a:hover{-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}.features-header{margin-bottom:60px;text-align:center}.features-header h1{background:linear-gradient(to right,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;background-clip:text;color:#0000;font-size:2.5rem;margin-bottom:16px}.features-header p{color:var(--color-gray-600);font-size:1.2rem;margin:0 auto;max-width:700px}.features-showcase{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:80px}.feature-card{align-items:center;background-color:#fff;border-radius:8px;box-shadow:var(--shadow);display:flex;flex-direction:column;padding:30px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.feature-icon{font-size:2.5rem;margin-bottom:20px}.feature-card h3{color:var(--color-gray-800);font-size:1.3rem;font-weight:600;margin-bottom:12px}.feature-card p{color:var(--color-gray-600);line-height:1.6}.use-cases{margin-bottom:80px}.use-cases h2{color:var(--color-gray-800);font-size:2rem;margin-bottom:40px;text-align:center}.use-case{align-items:center;display:flex;gap:40px;margin-bottom:60px}.use-case.reverse{flex-direction:row-reverse}.use-case-content{flex:1 1}.use-case-content h3{color:var(--color-gray-800);font-size:1.5rem;margin-bottom:16px}.use-case-content p{color:var(--color-gray-600);line-height:1.6;margin-bottom:16px}.use-case-content ul{margin-left:20px}.use-case-content li{color:var(--color-gray-700);margin-bottom:8px;padding-left:20px;position:relative}.use-case-content li:before{color:var(--color-success);content:"✓";font-weight:700;left:0;position:absolute}.use-case-image{align-items:center;background-color:var(--color-gray-100);border-radius:8px;color:var(--color-gray-500);display:flex;flex:1 1;font-style:italic;justify-content:center;min-height:300px}.cta-section{background-color:#fff;border-radius:8px;box-shadow:var(--shadow);padding:50px;text-align:center}.cta-section h2{color:var(--color-gray-800);font-size:1.8rem;margin-bottom:16px}.cta-section p{color:var(--color-gray-600);font-size:1.1rem;margin:0 auto 30px;max-width:600px}.cta-buttons{display:flex;gap:20px;justify-content:center;margin-top:30px}.cta-button{border-radius:6px;font-weight:600;padding:12px 24px;text-decoration:none;transition:all .3s ease}.cta-button.primary{background-color:var(--color-primary);color:#fff}.cta-button.primary:hover{background-color:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}.cta-button.secondary{background-color:#fff;border:1px solid var(--color-primary);color:var(--color-primary)}.cta-button.secondary:hover{background-color:var(--color-gray-50);box-shadow:var(--shadow-md);transform:translateY(-2px)}@media (max-width:768px){.demo-instructions ul{grid-template-columns:1fr}.use-case,.use-case.reverse{flex-direction:column;gap:30px}.features-showcase{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.cta-buttons{align-items:center;flex-direction:column;gap:15px}.cta-button{max-width:300px;text-align:center;width:100%}}
/*# sourceMappingURL=main.ac875bdb.css.map*/