.header{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));color:#fff;padding:var(--space-4) 0;box-shadow:var(--shadow-lg);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content{max-width:1400px;margin:0 auto;padding:0 var(--space-6);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.header-title{margin:0;font-size:var(--font-size-2xl);font-weight:700;letter-spacing:-.5px;display:flex;align-items:center;gap:var(--space-2)}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.user-email{font-size:var(--font-size-sm);opacity:.95;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}@media (max-width: 768px){.header{padding:var(--space-3) 0}.header-content{padding:0 var(--space-4)}.header-title{font-size:var(--font-size-xl)}.user-email{max-width:120px;font-size:var(--font-size-xs)}.header-actions{gap:var(--space-2)}.header-actions .btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}}@media (max-width: 480px){.header-content{padding:0 var(--space-3)}.header-title{font-size:var(--font-size-lg)}.user-email{display:none}.header-actions .btn{padding:var(--space-2)}}.btn{padding:.5rem 1rem;border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover{background-color:#1d4ed8}.btn-secondary{background-color:#fff;color:#2563eb}.btn-secondary:hover{background-color:#f1f5f9}.btn-danger{background-color:#dc2626;color:#fff}.btn-danger:hover{background-color:#b91c1c}.btn-ai{background-color:#8b5cf6;color:#fff}.btn-ai:hover{background-color:#7c3aed}.btn:disabled{opacity:.5;cursor:not-allowed}.empty-state{display:flex;align-items:center;justify-content:center;min-height:400px;padding:var(--space-8);animation:fadeIn var(--transition-slow) ease-out}.empty-state-content{text-align:center;max-width:400px}.empty-state-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;width:120px;height:120px;margin:0 auto var(--space-6);background:linear-gradient(135deg,var(--primary-100) 0%,var(--primary-200) 100%);border-radius:var(--radius-full);animation:bounce 3s ease-in-out infinite}.empty-state-icon{width:60px;height:60px;color:var(--primary-600);stroke-width:1.5}.empty-state-title{font-size:var(--font-size-2xl);font-weight:600;color:var(--gray-900);margin-bottom:var(--space-3)}.empty-state-description{font-size:var(--font-size-base);color:var(--gray-600);line-height:1.6;margin-bottom:var(--space-6)}.empty-state-action{display:flex;gap:var(--space-3);justify-content:center}@media (max-width: 640px){.empty-state{min-height:300px;padding:var(--space-6)}.empty-state-icon-wrapper{width:100px;height:100px;margin-bottom:var(--space-4)}.empty-state-icon{width:50px;height:50px}.empty-state-title{font-size:var(--font-size-xl)}.empty-state-description{font-size:var(--font-size-sm)}}.skeleton{background:linear-gradient(90deg,var(--gray-200) 0%,var(--gray-100) 50%,var(--gray-200) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.task-card-skeleton{background:#fff;border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4)}.task-card-skeleton-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);gap:var(--space-4)}.task-card-skeleton-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--gray-100)}.task-list-skeleton{display:flex;flex-direction:column;gap:var(--space-4)}.spinner-container{display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.spinner{position:relative;animation:spin 1s linear infinite}.spinner-sm{width:24px;height:24px}.spinner-md{width:40px;height:40px}.spinner-lg{width:56px;height:56px}.spinner-circle{stroke:var(--primary-600);stroke-dasharray:60;stroke-dashoffset:45;stroke-linecap:round;opacity:.25}.spinner svg{width:100%;height:100%}.spinner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid transparent;border-top-color:var(--primary-600);animation:spin .8s linear infinite}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn var(--transition-base) ease-out}.loading-overlay-content{text-align:center}.loading-overlay-message{margin-top:var(--space-4);font-size:var(--font-size-lg);font-weight:500;color:var(--gray-700)}@media (max-width: 640px){.task-card-skeleton{padding:var(--space-4)}.spinner-lg{width:48px;height:48px}}.subtask-list{animation:fadeIn var(--transition-base) ease-out}.subtask-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.subtask-title{font-size:var(--font-size-lg);font-weight:600;color:var(--gray-900);margin:0}.subtask-progress-badge{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);background:var(--primary-100);color:var(--primary-700);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600}.subtask-progress-bar{height:6px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-4)}.subtask-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-500),var(--success));border-radius:var(--radius-full);transition:width var(--transition-slow) ease-out}.subtasks-container{display:flex;flex-direction:column;gap:var(--space-3)}.subtask-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-lg);border:2px solid transparent;transition:all var(--transition-base);animation:slideIn var(--transition-base) ease-out}.subtask-item:hover{background:#fff;border-color:var(--primary-200);box-shadow:var(--shadow-sm)}.subtask-item.completed{opacity:.7;background:var(--success-light)}.subtask-item.completed:hover{opacity:.85}.subtask-checkbox-wrapper{position:relative;display:flex;align-items:center;cursor:pointer;flex-shrink:0}.subtask-checkbox{position:absolute;opacity:0;cursor:pointer;width:0;height:0}.checkbox-custom{position:relative;display:block;width:22px;height:22px;background:#fff;border:2px solid var(--gray-300);border-radius:var(--radius-sm);transition:all var(--transition-base)}.subtask-checkbox:hover~.checkbox-custom{border-color:var(--primary-500)}.subtask-checkbox:checked~.checkbox-custom{background:var(--primary-500);border-color:var(--primary-500)}.subtask-checkbox:checked~.checkbox-custom:after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.subtask-content{flex:1;min-width:0}.subtask-item-title{display:block;font-weight:500;color:var(--gray-900);line-height:1.5;margin-bottom:var(--space-2);word-break:break-word}.subtask-item.completed .subtask-item-title{text-decoration:line-through;color:var(--gray-600)}.subtask-description{font-size:var(--font-size-sm);color:var(--gray-600);line-height:1.6;margin:0 0 var(--space-2) 0}.subtask-item.completed .subtask-description{color:var(--gray-500)}.ai-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:linear-gradient(135deg,var(--primary-500),#8b5cf6);color:#fff;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.subtask-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8);color:var(--gray-600)}.no-subtasks{padding:var(--space-6);text-align:center;background:var(--gray-50);border-radius:var(--radius-lg);border:2px dashed var(--gray-300)}.no-subtasks p{margin:0;color:var(--gray-600);font-size:var(--font-size-sm)}.subtask-error{padding:var(--space-4)}@media (max-width: 640px){.subtask-item{padding:var(--space-3);gap:var(--space-2)}.subtask-title{font-size:var(--font-size-base)}.checkbox-custom{width:20px;height:20px}}.thinking-log{background:linear-gradient(to bottom,var(--gray-50),white);border:2px solid var(--primary-200);border-radius:var(--radius-lg);padding:var(--space-5);margin-top:var(--space-4);box-shadow:var(--shadow-md);animation:fadeIn var(--transition-base) ease-out}.thinking-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--primary-100)}.thinking-log-title{font-size:var(--font-size-lg);font-weight:600;color:var(--gray-900);margin:0;display:flex;align-items:center;gap:var(--space-2)}.thinking-log-status{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;transition:all var(--transition-base)}.thinking-log-status.status-connecting{background:var(--gray-100);color:var(--gray-700)}.thinking-log-status.status-streaming{background:var(--primary-100);color:var(--primary-700);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.thinking-log-status.status-complete{background:var(--success-light);color:var(--success)}.thinking-log-status.status-error{background:var(--error-light);color:var(--error)}.thinking-log-content{display:flex;flex-direction:column;gap:var(--space-3);max-height:400px;overflow-y:auto;padding-right:var(--space-2)}.thinking-log-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:#fff;border-left:3px solid transparent;transition:all var(--transition-base)}.thinking-log-item.start{border-left-color:var(--primary-500);background:var(--primary-50)}.thinking-log-item.progress{border-left-color:var(--primary-400);background:#fff}.thinking-log-item.complete{border-left-color:var(--success);background:var(--success-light)}.thinking-log-item.error{border-left-color:var(--error);background:var(--error-light)}.thinking-log-item.thinking{border-left-color:var(--primary-300);background:var(--primary-50)}.log-message{flex:1;font-size:var(--font-size-sm);color:var(--gray-800);font-weight:500;line-height:1.5}.log-step{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);background:var(--gray-100);color:var(--gray-600);border-radius:var(--radius-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.thinking-dots{display:inline-flex;gap:4px}.thinking-dots span{animation:blink 1.4s infinite;opacity:0}.thinking-dots span:nth-child(1){animation-delay:0s}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,20%{opacity:0}50%{opacity:1}to{opacity:0}}.thinking-log-content::-webkit-scrollbar{width:6px}.thinking-log-content::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-sm)}.thinking-log-content::-webkit-scrollbar-thumb{background:var(--primary-300);border-radius:var(--radius-sm)}.thinking-log-content::-webkit-scrollbar-thumb:hover{background:var(--primary-500)}@media (max-width: 640px){.thinking-log{padding:var(--space-4)}.thinking-log-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.thinking-log-content{max-height:300px}.log-step{display:none}}.task-card{background:#fff;border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);transition:all var(--transition-base);border:1px solid transparent;animation:fadeIn var(--transition-slow) ease-out;position:relative;overflow:hidden}.task-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary-500);opacity:0;transition:opacity var(--transition-base)}.task-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-200)}.task-card:hover:before{opacity:1}.task-card.completed{opacity:.85;background:var(--gray-50)}.task-card.completed:before{background:var(--success)}.task-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.task-title{font-size:var(--font-size-xl);font-weight:600;color:var(--gray-900);line-height:1.4;flex:1;word-break:break-word;margin:0}.task-card.completed .task-title{text-decoration:line-through;color:var(--gray-600)}.task-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.category-work{background:var(--primary-100);color:var(--primary-700)}.category-personal{background:#ddd6fe;color:#6d28d9}.category-urgent{background:var(--error-light);color:#dc2626}.category-other{background:var(--gray-200);color:var(--gray-700)}.priority-high{background:var(--error-light);color:#dc2626}.priority-medium{background:var(--warning-light);color:#d97706}.priority-low{background:var(--success-light);color:#059669}.badge-ai{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#fff;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.task-description{color:var(--gray-700);line-height:1.6;margin:0 0 var(--space-4) 0;font-size:var(--font-size-base)}.task-card.completed .task-description{color:var(--gray-500)}.task-progress{margin:var(--space-4) 0;padding:var(--space-3);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.progress-bar{height:8px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-2)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-500),var(--primary-600));border-radius:var(--radius-full);transition:width var(--transition-slow) ease-out;box-shadow:0 0 10px #3b82f680}.progress-text{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:500;color:var(--gray-600)}.task-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--gray-100)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-base);white-space:nowrap;border:1px solid transparent}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn svg{flex-shrink:0}.btn-primary{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-600),var(--primary-700));box-shadow:0 4px 12px #3b82f666}.btn-secondary{background:var(--gray-100);color:var(--gray-700)}.btn-secondary:hover:not(:disabled){background:var(--gray-200)}.btn-outline{background:transparent;border-color:var(--gray-300);color:var(--gray-700)}.btn-outline:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.btn-ai{background:linear-gradient(135deg,var(--primary-500),#8b5cf6);color:#fff;position:relative;overflow:hidden}.btn-ai:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-ai:hover:not(:disabled):before{width:300px;height:300px}.btn-ai:hover:not(:disabled){box-shadow:0 4px 12px #8b5cf666}.btn-danger-outline{background:transparent;border-color:var(--error);color:var(--error);padding:var(--space-3)}.btn-danger-outline:hover:not(:disabled){background:var(--error);color:#fff}.task-details{margin-top:var(--space-6);padding:var(--space-5);background:linear-gradient(to bottom,var(--gray-50),white);border-radius:var(--radius-lg);border:2px solid var(--primary-100);animation:fadeIn var(--transition-base) ease-out;box-shadow:inset 0 2px 4px #00000005}.task-card.creating{position:relative;opacity:.75;pointer-events:none;background:linear-gradient(to bottom right,var(--primary-50),white);border:2px dashed var(--primary-300);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.task-card.creating:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.1),transparent);animation:shimmer 2s infinite}.creating-indicator{position:absolute;top:var(--space-3);right:var(--space-3);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--primary-500);color:#fff;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;z-index:10;box-shadow:var(--shadow-md)}.creating-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}@media (max-width: 768px){.task-card{padding:var(--space-4)}.task-card-header{flex-direction:column;gap:var(--space-3)}.task-title{font-size:var(--font-size-lg)}.task-badges{width:100%}.task-actions{gap:var(--space-2)}.btn{flex:1;min-width:fit-content}.btn span{display:none}.btn-danger-outline{flex:0}.creating-indicator{top:var(--space-2);right:var(--space-2);padding:var(--space-1) var(--space-2);font-size:10px}.creating-spinner{width:10px;height:10px}}@media (min-width: 769px) and (max-width: 1024px){.task-actions{gap:var(--space-3)}}.task-form{display:flex;flex-direction:column;gap:var(--space-5);width:100%}.form-group{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.form-group label{font-weight:600;color:var(--gray-700);font-size:var(--font-size-sm);text-align:left;margin-bottom:var(--space-1)}.form-input,.task-form input,.task-form textarea,.task-form select{padding:var(--space-3) var(--space-4);border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;color:var(--gray-900);background:#fff;text-align:left;width:100%;box-sizing:border-box;transition:all var(--transition-base)}.form-input::placeholder,.task-form input::placeholder,.task-form textarea::placeholder{color:var(--gray-400);text-align:left}.form-input:hover,.task-form input:hover,.task-form textarea:hover,.task-form select:hover{border-color:var(--primary-300)}.form-input:focus,.task-form input:focus,.task-form textarea:focus,.task-form select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a}.task-form textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);width:100%}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.error-message{padding:var(--space-3) var(--space-4);background:var(--error-light);border:1px solid var(--error);color:var(--error);border-radius:var(--radius-md);font-size:var(--font-size-sm)}@media (max-width: 640px){.form-row{grid-template-columns:1fr;gap:var(--space-4)}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.task-list-container{max-width:1400px;margin:0 auto;padding:var(--space-8) var(--space-6);min-height:calc(100vh - 80px)}.task-list-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--primary-100)}.header-content{flex:1;min-width:0}.title-wrapper{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.page-title{font-size:var(--font-size-3xl);font-weight:700;color:var(--gray-900);margin:0;background:linear-gradient(135deg,var(--primary-600),var(--primary-800));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.task-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--space-2);background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#fff;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:700;box-shadow:var(--shadow-sm)}.header-actions-group{display:flex;gap:var(--space-2);align-items:center}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--font-size-base);font-weight:600}.task-form-container{background:#fff;padding:var(--space-6);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin-bottom:var(--space-8);border:2px solid var(--primary-200)}.filters-container{background:#fff;padding:var(--space-6);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-8);border:1px solid var(--gray-200)}.filters-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--gray-200)}.filters-header-left{display:flex;align-items:center;gap:var(--space-2)}.filters-header svg{color:var(--primary-600)}.filters-title{font-size:var(--font-size-lg);font-weight:600;color:var(--gray-900)}.btn-close-filters{display:none;width:32px;height:32px;align-items:center;justify-content:center;background:transparent;border:2px solid var(--gray-300);border-radius:var(--radius-md);color:var(--gray-600);font-size:var(--font-size-xl);cursor:pointer;transition:all var(--transition-base);padding:0;line-height:1}.btn-close-filters:hover{background:var(--error-light);border-color:var(--error);color:var(--error)}.btn-icon-mobile{display:flex}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.filter-group{display:flex;flex-direction:column;gap:var(--space-2)}.filter-group.search-group{grid-column:1 / -1}.filter-label{font-size:var(--font-size-sm);font-weight:500;color:var(--gray-700)}.filter-select,.filter-input{padding:var(--space-3) var(--space-4);border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:var(--font-size-base);background:#fff;color:var(--gray-900);transition:all var(--transition-base)}.filter-select:hover,.filter-input:hover{border-color:var(--primary-300)}.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-wrapper svg{position:absolute;left:var(--space-4);color:var(--gray-400);pointer-events:none}.search-input-wrapper .filter-input{padding-left:var(--space-10);width:100%}.tasks-grid{display:grid;gap:var(--space-6);animation:fadeIn var(--transition-slow) ease-out}.error-container{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6)}@media (max-width: 1024px){.task-list-container{padding:var(--space-6) var(--space-4)}.page-title{font-size:var(--font-size-3xl)}}@media (max-width: 768px){.task-list-container{padding:var(--space-4) var(--space-3);min-height:calc(100vh - 60px)}.task-list-header{flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.page-title{font-size:var(--font-size-2xl)}.task-count-badge{min-width:28px;height:28px;font-size:var(--font-size-xs)}.header-actions-group{width:100%;justify-content:stretch}.header-actions-group .btn{flex:1}.btn-text{display:inline}.btn-close-filters{display:flex}.filters{grid-template-columns:1fr}.filter-group.search-group{grid-column:1}.filters-container{position:relative;padding:var(--space-4);margin-bottom:var(--space-4)}.task-form-container{padding:var(--space-4)}}@media (max-width: 640px){.task-list-container{padding:var(--space-3) var(--space-2)}.page-title{font-size:var(--font-size-xl)}.task-count-badge{min-width:24px;height:24px;font-size:11px}.filters-container{padding:var(--space-3)}.btn-lg{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm)}.btn-text{display:none}.btn-icon-mobile svg{margin:0}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-800) 100%);padding:var(--space-4);position:relative;overflow:hidden}.auth-decorations{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.auth-circle{position:absolute;border-radius:50%;background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.auth-circle-1{width:400px;height:400px;top:-100px;right:-100px;animation:float 20s ease-in-out infinite}.auth-circle-2{width:300px;height:300px;bottom:-50px;left:-50px;animation:float 15s ease-in-out infinite reverse}.auth-circle-3{width:200px;height:200px;top:50%;left:50%;transform:translate(-50%,-50%);animation:float 25s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(-30px) translate(30px)}}.auth-card{background:#fff;padding:var(--space-10);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:440px;position:relative;z-index:1;animation:fadeIn var(--transition-slow) ease-out}.auth-header{text-align:center;margin-bottom:var(--space-8)}.auth-logo{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,var(--primary-500),var(--primary-600));border-radius:var(--radius-xl);margin:0 auto var(--space-4);box-shadow:0 8px 16px #3b82f64d;animation:bounce 3s ease-in-out infinite}.auth-logo svg{color:#fff;width:32px;height:32px}.auth-title{color:var(--gray-900);margin:0 0 var(--space-2) 0;font-size:var(--font-size-3xl);font-weight:700;letter-spacing:-.5px}.auth-subtitle{color:var(--gray-600);margin:0;font-size:var(--font-size-base);font-weight:400;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--font-size-sm);font-weight:600;color:var(--gray-700)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:var(--space-4);display:flex;align-items:center;color:var(--gray-400);pointer-events:none;transition:color var(--transition-base)}.form-input{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-12);border:2px solid var(--gray-200);border-radius:var(--radius-lg);font-size:var(--font-size-base);color:var(--gray-900);background:#fff;transition:all var(--transition-base)}.form-input:hover{border-color:var(--primary-300)}.form-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a}.form-input:focus+.input-icon,.input-wrapper:focus-within .input-icon{color:var(--primary-600)}.form-hint{font-size:var(--font-size-xs);color:var(--gray-500);margin:0;animation:fadeIn var(--transition-base) ease-out}.auth-submit{width:100%;padding:var(--space-4);background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 12px #3b82f64d;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #3b82f666;background:linear-gradient(135deg,var(--primary-600),var(--primary-700))}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.error-message{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--error-light);border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-size:var(--font-size-sm);font-weight:500}.error-message svg{flex-shrink:0}.auth-divider{display:flex;align-items:center;text-align:center;margin:var(--space-6) 0;color:var(--gray-400);font-size:var(--font-size-sm)}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--gray-200)}.auth-divider span{padding:0 var(--space-3);font-weight:500}.auth-toggle{text-align:center}.auth-toggle p{color:var(--gray-600);font-size:var(--font-size-sm);margin:0 0 var(--space-2) 0}.auth-toggle-btn{background:none;border:none;color:var(--primary-600);cursor:pointer;font-weight:600;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:all var(--transition-base)}.auth-toggle-btn:hover{background:var(--primary-50);color:var(--primary-700)}@media (max-width: 640px){.auth-container{padding:var(--space-3)}.auth-card{padding:var(--space-6)}.auth-title{font-size:var(--font-size-2xl)}.auth-logo{width:56px;height:56px}.auth-logo svg{width:28px;height:28px}.auth-circle-1,.auth-circle-2{width:250px;height:250px}.auth-circle-3{display:none}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f1f5f9}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding-bottom:2rem}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.loader{border:4px solid #f3f4f6;border-top:4px solid #2563eb;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: #93c5fd;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #1d4ed8;--primary-800: #1e40af;--primary-900: #1e3a8a;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--success: #10b981;--success-light: #d1fae5;--warning: #f59e0b;--warning-light: #fef3c7;--error: #ef4444;--error-light: #fee2e2;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(135deg,var(--primary-50) 0%,var(--gray-50) 100%);color:var(--gray-900);overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--primary-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary-400)}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-in{animation:slideIn var(--transition-slow) ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}button{font-family:inherit;cursor:pointer;border:none;background:none;transition:all var(--transition-base)}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:inherit;font-size:inherit}@media (max-width: 768px){:root{--font-size-base: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.1875rem;--font-size-2xl: 1.375rem;--font-size-3xl: 1.625rem;--font-size-4xl: 2rem}}
