body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-50:#f0f9ff;--primary-100:#e0f2fe;--primary-200:#bae6fd;--primary-300:#7dd3fc;--primary-400:#38bdf8;--primary-500:#0ea5e9;--primary-600:#0284c7;--primary-700:#0369a1;--primary-800:#075985;--primary-900:#0c4a6e;--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#e5e5e5;--neutral-300:#d4d4d4;--neutral-400:#a3a3a3;--neutral-500:#737373;--neutral-600:#525252;--neutral-700:#404040;--neutral-800:#262626;--neutral-900:#171717;--neutral-950:#0a0a0a;--success-50:#f0fdf4;--success-500:#22c55e;--success-600:#16a34a;--warning-50:#fffbeb;--warning-500:#f59e0b;--warning-600:#d97706;--error-50:#fef2f2;--error-500:#ef4444;--error-600:#dc2626;--font-family-base:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-family-mono:"JetBrains Mono","Fira Code",Consolas,monospace;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.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;--space-20:5rem;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-inner:inset 0 2px 4px 0 #0000000d;--duration-75:75ms;--duration-100:100ms;--duration-150:150ms;--duration-200:200ms;--duration-300:300ms;--duration-500:500ms;--duration-700:700ms;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080}.light-theme,[data-theme=light]{--bg-primary:var(--neutral-50);--bg-secondary:#fff;--bg-tertiary:var(--neutral-100);--bg-accent:var(--primary-50);--bg-hover:var(--neutral-100);--bg-active:var(--neutral-200);--text-primary:var(--neutral-900);--text-secondary:var(--neutral-600);--text-tertiary:var(--neutral-500);--text-accent:var(--primary-600);--text-inverse:#fff;--border-primary:var(--neutral-200);--border-secondary:var(--neutral-300);--border-accent:var(--primary-300);--glass-bg:#fffc;--glass-border:#fff3;--backdrop-blur:blur(12px)}.dark-theme,[data-theme=dark]{--bg-primary:var(--neutral-950);--bg-secondary:var(--neutral-900);--bg-tertiary:var(--neutral-800);--bg-accent:var(--primary-900);--bg-hover:var(--neutral-800);--bg-active:var(--neutral-700);--text-primary:var(--neutral-50);--text-secondary:var(--neutral-300);--text-tertiary:var(--neutral-400);--text-accent:var(--primary-400);--text-inverse:var(--neutral-900);--border-primary:var(--neutral-700);--border-secondary:var(--neutral-600);--border-accent:var(--primary-600);--glass-bg:#0009;--glass-border:#ffffff1a;--backdrop-blur:blur(16px);--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -2px #0006;--shadow-lg:0 10px 15px -3px #00000080,0 4px 6px -4px #00000080;--shadow-xl:0 20px 25px -5px #0009,0 8px 10px -6px #0009}*{box-sizing:border-box;margin:0;padding:0}:after,:before{box-sizing:inherit}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;scroll-behavior:smooth;text-rendering:optimizeLegibility}body{background:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font-family-base);line-height:1.6;overflow-x:hidden;transition:background-color .3s ease,color .3s ease;transition:background-color var(--duration-300) ease,color var(--duration-300) ease}::selection{background:#bae6fd;background:var(--primary-200);color:#0c4a6e;color:var(--primary-900)}::-moz-selection{background:#bae6fd;background:var(--primary-200);color:#0c4a6e;color:var(--primary-900)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb,::-webkit-scrollbar-track{border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--border-secondary);-webkit-transition:background-color .2s ease;transition:background-color .2s ease;-webkit-transition:background-color var(--duration-200) ease;transition:background-color var(--duration-200) ease}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}:focus-visible{border-radius:.375rem;border-radius:var(--radius-md);outline:2px solid #0ea5e9;outline:2px solid var(--primary-500);outline-offset:2px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-30px,0)}70%{transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}.spinner{animation:spin .7s linear infinite;animation:spin var(--duration-700) linear infinite;border-radius:50%;border-top-color:#0ea5e9;border:2px solid var(--border-primary);border-top-color:var(--primary-500);height:20px;width:20px}.spinner.small{border-width:1.5px;height:16px;width:16px}.loading-screen{align-items:center;background:var(--bg-primary);display:flex;inset:0;justify-content:center;position:fixed;z-index:1050;z-index:var(--z-modal)}.loading-spinner{animation:fadeIn .3s ease;animation:fadeIn var(--duration-300) ease;text-align:center}.loading-spinner p{color:var(--text-secondary);font-weight:500;margin-top:1rem;margin-top:var(--space-4)}.auth-container{align-items:center;background:linear-gradient(135deg,#0284c7,#0369a1 50%,#075985);background:linear-gradient(135deg,var(--primary-600) 0,var(--primary-700) 50%,var(--primary-800) 100%);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:1rem;padding:var(--space-4);position:relative}.auth-container:before{animation:pulse 4s ease-in-out infinite;background:radial-gradient(circle at 20% 50%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 40% 80%,#ffffff1a 0,#0000 50%);content:"";inset:0;position:absolute}.theme-toggle-auth{position:absolute;right:1.5rem;right:var(--space-6);top:1.5rem;top:var(--space-6);z-index:10}.theme-btn{align-items:center;-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:9999px;border-radius:var(--radius-full);color:var(--text-primary);cursor:pointer;display:flex;height:48px;justify-content:center;transition:all .2s ease;transition:all var(--duration-200) ease;width:48px}.theme-btn:hover{background:#fff3;transform:scale(1.05)}.auth-card{animation:scaleIn .5s cubic-bezier(.34,1.56,.64,1);animation:scaleIn var(--duration-500) cubic-bezier(.34,1.56,.64,1);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:1rem;border-radius:var(--radius-2xl);box-shadow:0 25px 50px -12px #00000040;box-shadow:var(--shadow-2xl);max-width:420px;padding:2rem;padding:var(--space-8);position:relative;width:100%;z-index:1}.auth-header{margin-bottom:2rem;margin-bottom:var(--space-8);text-align:center}.logo{align-items:center;display:flex;gap:.75rem;gap:var(--space-3);justify-content:center;margin-bottom:1rem;margin-bottom:var(--space-4)}.logo-icon{filter:drop-shadow(0 0 10px rgba(255,255,255,.3));font-size:2rem}.logo h1{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#fff,#fffc);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;text-shadow:0 0 30px #ffffff80}.auth-header p{color:#fffc;font-size:.95rem}.auth-tabs{background:#ffffff1a;border:1px solid #ffffff1a;border-radius:.5rem;border-radius:var(--radius-lg);display:flex;margin-bottom:1.5rem;margin-bottom:var(--space-6);padding:.25rem;padding:var(--space-1)}.auth-tabs button{background:#0000;border:none;border-radius:.375rem;border-radius:var(--radius-md);color:#ffffffb3;cursor:pointer;flex:1 1;font-weight:500;padding:.75rem 1rem;padding:var(--space-3) var(--space-4);transition:all .2s ease;transition:all var(--duration-200) ease}.auth-tabs button.active{background:#fff3;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#fff}.auth-tabs button:hover:not(.active){background:#ffffff1a;color:#ffffffe6}.auth-form{display:flex;flex-direction:column;gap:1rem;gap:var(--space-4)}.input-group{position:relative}.input-group input{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #fff3;border-radius:.5rem;border-radius:var(--radius-lg);color:#fff;font-size:1rem;padding:1rem;padding:var(--space-4);transition:all .2s ease;transition:all var(--duration-200) ease;width:100%}.input-group input::placeholder{color:#fff9}.input-group input:focus{background:#ffffff26;border-color:#fff6;box-shadow:0 0 0 3px #ffffff1a;outline:none}.auth-submit{background:linear-gradient(45deg,#fff3,#ffffff1a);border:1px solid #fff3;border-radius:.5rem;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;margin-top:var(--space-2);padding:1rem;padding:var(--space-4);transition:all .2s ease;transition:all var(--duration-200) ease}.auth-submit:hover:not(:disabled){background:linear-gradient(45deg,#ffffff4d,#fff3);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-1px)}.auth-submit:disabled{cursor:not-allowed;opacity:.6}.button-loading{align-items:center;display:flex;gap:.5rem;gap:var(--space-2);justify-content:center}.auth-footer{margin-top:1.5rem;margin-top:var(--space-6);text-align:center}.auth-footer p{color:#fff9;font-size:.875rem}.error-message{align-items:center;animation:slideInDown .3s ease,shake .5s ease;animation:slideInDown var(--duration-300) ease,shake var(--duration-500) ease;background:#fef2f2;background:var(--error-50);border:1px solid #ef4444;border:1px solid var(--error-500);border-radius:.5rem;border-radius:var(--radius-lg);color:#dc2626;color:var(--error-600);display:flex;gap:.5rem;gap:var(--space-2);padding:.75rem 1rem;padding:var(--space-3) var(--space-4);position:relative}.dark-theme .error-message{background:#ef44441a;border-color:#ef44444d;color:#fca5a5}.error-message button{background:none;border:none;border-radius:.25rem;border-radius:var(--radius-sm);color:inherit;cursor:pointer;font-size:1.2rem;margin-left:auto;padding:.25rem;padding:var(--space-1);transition:background-color .15s ease;transition:background-color var(--duration-150) ease}.error-message button:hover{background:#ef44441a}.todo-app{background:var(--bg-primary);min-height:100vh;transition:background-color .3s ease;transition:background-color var(--duration-300) ease}.app-header{-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);background:var(--glass-bg);border-bottom:1px solid var(--border-primary);justify-content:space-between;padding:1rem 1.5rem;padding:var(--space-4) var(--space-6);position:-webkit-sticky;position:sticky;top:0;transition:all .3s ease;transition:all var(--duration-300) ease;z-index:1020;z-index:var(--z-sticky)}.app-header,.header-left{align-items:center;display:flex}.header-left{gap:2rem;gap:var(--space-8)}.app-header .logo{align-items:center;display:flex;gap:.75rem;gap:var(--space-3)}.app-header .logo h1{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#0284c7,#38bdf8);background:linear-gradient(45deg,var(--primary-600),var(--primary-400));-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.header-stats{border-radius:.5rem;border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:1.5rem;gap:var(--space-6);padding:.5rem 1rem;padding:var(--space-2) var(--space-4);transition:background-color .2s ease;transition:background-color var(--duration-200) ease}.header-stats:hover{background:var(--bg-hover)}.stat-item{align-items:center;display:flex;flex-direction:column;gap:.25rem;gap:var(--space-1)}.stat-number{color:#0284c7;color:var(--primary-600);font-size:1.25rem;font-weight:700}.stat-label{color:var(--text-secondary);font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.header-right{gap:1rem;gap:var(--space-4)}.header-right,.icon-btn{align-items:center;display:flex}.icon-btn{background:var(--bg-hover);border:none;border-radius:.5rem;border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;height:40px;justify-content:center;transition:all .2s ease;transition:all var(--duration-200) ease;width:40px}.icon-btn:hover{background:var(--bg-active);color:var(--text-primary);transform:scale(1.05)}.user-menu{align-items:center;border-radius:.5rem;border-radius:var(--radius-lg);display:flex;gap:.75rem;gap:var(--space-3);padding:.5rem;padding:var(--space-2);position:relative;transition:background-color .2s ease;transition:background-color var(--duration-200) ease}.user-menu:hover{background:var(--bg-hover)}.user-avatar{align-items:center;background:#e0f2fe;background:var(--primary-100);border-radius:9999px;border-radius:var(--radius-full);color:#0284c7;color:var(--primary-600);display:flex;height:40px;justify-content:center;width:40px}.dark-theme .user-avatar{background:#075985;background:var(--primary-800);color:#7dd3fc;color:var(--primary-300)}.user-info{display:flex;flex-direction:column;gap:.25rem;gap:var(--space-1)}.user-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.logout-btn{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.75rem;gap:.25rem;gap:var(--space-1);padding:.25rem 0;padding:var(--space-1) 0;transition:color .15s ease;transition:color var(--duration-150) ease}.logout-btn:hover{color:#ef4444;color:var(--error-500)}.stats-panel{animation:slideInDown .3s ease;animation:slideInDown var(--duration-300) ease;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);padding:1.5rem;padding:var(--space-6)}.stats-grid{grid-gap:1rem;grid-gap:var(--space-4);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 auto;max-width:1200px}.stat-card,.stats-grid{gap:1rem;gap:var(--space-4)}.stat-card{align-items:center;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:.75rem;border-radius:var(--radius-xl);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);display:flex;padding:1.5rem;padding:var(--space-6);transition:all .2s ease;transition:all var(--duration-200) ease}.stat-card:hover{border-color:#7dd3fc;border-color:var(--primary-300);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{align-items:center;background:#f0f9ff;background:var(--primary-50);border-radius:.75rem;border-radius:var(--radius-xl);display:flex;font-size:2rem;height:60px;justify-content:center;width:60px}.dark-theme .stat-icon{background:#0c4a6e;background:var(--primary-900)}.stat-info h3{color:var(--text-primary);font-size:1.875rem;font-weight:700;margin-bottom:.25rem;margin-bottom:var(--space-1)}.stat-info p{color:var(--text-secondary);font-size:.875rem;font-weight:500}.controls-bar{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);display:flex;flex-wrap:wrap;gap:1rem;gap:var(--space-4);padding:1.5rem;padding:var(--space-6)}.search-container{flex:1 1;min-width:300px;position:relative}.search-container .icon{color:var(--text-tertiary);left:1rem;left:var(--space-4);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:.75rem;border-radius:var(--radius-xl);color:var(--text-primary);font-size:1rem;height:48px;padding:0 1rem 0 3rem;padding:0 var(--space-4) 0 var(--space-12);transition:all .2s ease;transition:all var(--duration-200) ease;width:100%}.search-input:focus{background:var(--bg-secondary);border-color:#38bdf8;border-color:var(--primary-400);box-shadow:0 0 0 3px #e0f2fe;box-shadow:0 0 0 3px var(--primary-100);outline:none}.dark-theme .search-input:focus{box-shadow:0 0 0 3px #0ea5e933}.search-input::placeholder{color:var(--text-tertiary)}.filter-controls{display:flex;gap:.75rem;gap:var(--space-3)}.filter-select{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:.75rem;border-radius:var(--radius-xl);color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:500;height:48px;min-width:140px;padding:0 1rem;padding:0 var(--space-4);transition:all .2s ease;transition:all var(--duration-200) ease}.filter-select:focus{border-color:#38bdf8;border-color:var(--primary-400);box-shadow:0 0 0 3px #e0f2fe;box-shadow:0 0 0 3px var(--primary-100);outline:none}.dark-theme .filter-select:focus{box-shadow:0 0 0 3px #0ea5e933}.add-btn{align-items:center;background:#0284c7;background:var(--primary-600);border:none;border-radius:.75rem;border-radius:var(--radius-xl);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;gap:var(--space-2);height:48px;padding:0 1.5rem;padding:0 var(--space-6);transition:all .2s ease;transition:all var(--duration-200) ease}.add-btn:hover{background:#0369a1;background:var(--primary-700);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.add-btn:active{transform:translateY(0)}.add-form-container{animation:slideInDown .3s ease;animation:slideInDown var(--duration-300) ease;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);padding:1.5rem;padding:var(--space-6)}.todo-form{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:1rem;border-radius:var(--radius-2xl);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);margin:0 auto;max-width:800px;padding:2rem;padding:var(--space-8)}.form-row{display:flex;flex-direction:column;gap:.75rem;gap:var(--space-3);margin-bottom:1rem;margin-bottom:var(--space-4)}.form-row:last-of-type{flex-direction:row;gap:1rem;gap:var(--space-4)}.title-input{background:var(--bg-primary);border:2px solid var(--border-primary);border-radius:.75rem;border-radius:var(--radius-xl);color:var(--text-primary);font-size:1.125rem;font-weight:600;height:56px;padding:0 1rem;padding:0 var(--space-4);transition:all .2s ease;transition:all var(--duration-200) ease;width:100%}.title-input:focus{background:var(--bg-secondary);border-color:#0ea5e9;border-color:var(--primary-500);box-shadow:0 0 0 3px #e0f2fe;box-shadow:0 0 0 3px var(--primary-100);outline:none}.dark-theme .title-input:focus{box-shadow:0 0 0 3px #0ea5e933}.title-input::placeholder{color:var(--text-tertiary);font-weight:500}.description-input{background:var(--bg-primary);border:2px solid var(--border-primary);border-radius:.75rem;border-radius:var(--radius-xl);color:var(--text-primary);font-family:inherit;font-size:1rem;min-height:100px;padding:1rem;padding:var(--space-4);resize:vertical;transition:all .2s ease;transition:all var(--duration-200) ease;width:100%}.description-input:focus{background:var(--bg-secondary);border-color:#0ea5e9;border-color:var(--primary-500);box-shadow:0 0 0 3px #e0f2fe;box-shadow:0 0 0 3px var(--primary-100);outline:none}.dark-theme .description-input:focus{box-shadow:0 0 0 3px #0ea5e933}.description-input::placeholder{color:var(--text-tertiary)}.category-select,.priority-select{background:var(--bg-primary);border:2px solid var(--border-primary);border-radius:.75rem;border-radius:var(--radius-xl);color:var(--text-primary);cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;height:48px;padding:0 1rem;padding:0 var(--space-4);transition:all .2s ease;transition:all var(--duration-200) ease}.category-select:focus,.priority-select:focus{border-color:#0ea5e9;border-color:var(--primary-500);box-shadow:0 0 0 3px #e0f2fe;box-shadow:0 0 0 3px var(--primary-100);outline:none}.dark-theme .category-select:focus,.dark-theme .priority-select:focus{box-shadow:0 0 0 3px #0ea5e933}.form-actions{border-top:1px solid var(--border-primary);display:flex;gap:.75rem;gap:var(--space-3);justify-content:flex-end;margin-top:1.5rem;margin-top:var(--space-6);padding-top:1.5rem;padding-top:var(--space-6)}.cancel-btn{background:#0000;border:2px solid var(--border-secondary);border-radius:.75rem;border-radius:var(--radius-xl);color:var(--text-secondary);cursor:pointer;font-weight:600;height:48px;padding:0 1.5rem;padding:0 var(--space-6);transition:all .2s ease;transition:all var(--duration-200) ease}.cancel-btn:hover{background:var(--bg-hover);border-color:var(--border-primary);color:var(--text-primary)}.submit-btn{align-items:center;background:#0284c7;background:var(--primary-600);border:none;border-radius:.75rem;border-radius:var(--radius-xl);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;gap:var(--space-2);height:48px;padding:0 1.5rem;padding:0 var(--space-6);transition:all .2s ease;transition:all var(--duration-200) ease}.submit-btn:hover:not(:disabled){background:#0369a1;background:var(--primary-700);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.todos-container{margin:0 auto;max-width:1400px;padding:1.5rem;padding:var(--space-6)}.empty-state{animation:fadeIn .5s ease;animation:fadeIn var(--duration-500) ease;padding:5rem 1rem;padding:var(--space-20) var(--space-4);text-align:center}.empty-icon{font-size:4rem;margin-bottom:1.5rem;margin-bottom:var(--space-6);opacity:.6}.empty-state h3{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:.75rem;margin-bottom:var(--space-3)}.empty-state p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0 auto;max-width:400px}.todos-grid{grid-gap:1.5rem;grid-gap:var(--space-6);animation:fadeIn .3s ease;animation:fadeIn var(--duration-300) ease;display:grid;gap:1.5rem;gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.todo-item{animation:slideInUp .3s ease;animation:slideInUp var(--duration-300) ease;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:1rem;border-radius:var(--radius-2xl);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);cursor:move;overflow:hidden;padding:1.5rem;padding:var(--space-6);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--duration-300) cubic-bezier(.4,0,.2,1)}.todo-item:hover{border-color:#7dd3fc;border-color:var(--primary-300);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;box-shadow:var(--shadow-xl);transform:translateY(-4px)}.todo-item.completed{background:var(--bg-tertiary);opacity:.7}.todo-item.completed .todo-description,.todo-item.completed .todo-title{color:var(--text-tertiary);text-decoration:line-through}.todo-priority-bar{border-radius:1rem 1rem 0 0;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;height:4px;left:0;position:absolute;right:0;top:0}.priority-high{--priority-color:var(--error-500)}.priority-medium{--priority-color:var(--warning-500)}.priority-low{--priority-color:var(--success-500)}.todo-header{align-items:flex-start;display:flex;gap:.75rem;gap:var(--space-3);justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--space-4)}.todo-checkbox{align-items:center;background:#0000;border:2px solid var(--border-secondary);border-radius:.375rem;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;margin-top:.25rem;margin-top:var(--space-1);transition:all .2s ease;transition:all var(--duration-200) ease;width:24px}.todo-checkbox:hover{background:#f0f9ff;background:var(--primary-50);border-color:#38bdf8;border-color:var(--primary-400)}.dark-theme .todo-checkbox:hover{background:#0c4a6e;background:var(--primary-900)}.todo-checkbox.checked{background:#0ea5e9;background:var(--primary-500);border-color:#0ea5e9;border-color:var(--primary-500);color:#fff}.todo-meta{flex:1 1;flex-direction:column;min-width:0}.todo-category,.todo-meta{display:flex;gap:.5rem;gap:var(--space-2)}.todo-category{align-items:center;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase}.todo-category,.todo-priority{font-size:.75rem;font-weight:600}.todo-priority{border-radius:9999px;border-radius:var(--radius-full);display:inline-block;padding:.25rem .5rem;padding:var(--space-1) var(--space-2);text-transform:capitalize;width:-webkit-fit-content;width:fit-content}.priority-high .todo-priority{background:var(--error-100);color:var(--error-700)}.priority-medium .todo-priority{background:var(--warning-100);color:var(--warning-700)}.priority-low .todo-priority{background:var(--success-100);color:var(--success-700)}.dark-theme .priority-high .todo-priority{background:#ef444433;color:#fca5a5}.dark-theme .priority-medium .todo-priority{background:#f59e0b33;color:#fcd34d}.dark-theme .priority-low .todo-priority{background:#22c55e33;color:#86efac}.todo-actions{display:flex;gap:.25rem;gap:var(--space-1);opacity:0;transition:opacity .2s ease;transition:opacity var(--duration-200) ease}.todo-item:hover .todo-actions{opacity:1}.action-btn{align-items:center;background:#0000;border:none;border-radius:.375rem;border-radius:var(--radius-md);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s ease;transition:all var(--duration-150) ease;width:32px}.action-btn.edit{color:#0284c7;color:var(--primary-600)}.action-btn.edit:hover{background:#e0f2fe;background:var(--primary-100);color:#0369a1;color:var(--primary-700)}.dark-theme .action-btn.edit:hover{background:#0c4a6e;background:var(--primary-900);color:#7dd3fc;color:var(--primary-300)}.action-btn.delete{color:#ef4444;color:var(--error-500)}.action-btn.delete:hover{background:var(--error-100);color:#dc2626;color:var(--error-600)}.dark-theme .action-btn.delete:hover{background:#ef444433;color:#fca5a5}.action-btn.save{color:#16a34a;color:var(--success-600)}.action-btn.save:hover{background:var(--success-100);color:var(--success-700)}.dark-theme .action-btn.save:hover{background:#22c55e33;color:#86efac}.action-btn.cancel{color:var(--text-secondary)}.action-btn.cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.todo-content{margin-bottom:1rem;margin-bottom:var(--space-4)}.todo-title{word-wrap:break-word;color:var(--text-primary);font-size:1.125rem;font-weight:600;line-height:1.4;margin-bottom:.5rem;margin-bottom:var(--space-2)}.todo-description{word-wrap:break-word;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.edit-title{background:var(--bg-primary);border:2px solid #7dd3fc;border:2px solid var(--primary-300);border-radius:.5rem;border-radius:var(--radius-lg);color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:.75rem;margin-bottom:var(--space-3);padding:.75rem;padding:var(--space-3);transition:all .2s ease;transition:all var(--duration-200) ease;width:100%}.edit-title:focus{border-color:#0ea5e9;border-color:var(--primary-500);box-shadow:0 0 0 3px #e0f2fe;box-shadow:0 0 0 3px var(--primary-100);outline:none}.dark-theme .edit-title:focus{box-shadow:0 0 0 3px #0ea5e933}.edit-description{background:var(--bg-primary);border:2px solid #7dd3fc;border:2px solid var(--primary-300);border-radius:.5rem;border-radius:var(--radius-lg);color:var(--text-primary);font-family:inherit;font-size:.875rem;min-height:80px;padding:.75rem;padding:var(--space-3);resize:vertical;transition:all .2s ease;transition:all var(--duration-200) ease;width:100%}.edit-description:focus{border-color:#0ea5e9;border-color:var(--primary-500);box-shadow:0 0 0 3px #e0f2fe;box-shadow:0 0 0 3px var(--primary-100);outline:none}.dark-theme .edit-description:focus{box-shadow:0 0 0 3px #0ea5e933}.todo-footer{border-top:1px solid var(--border-primary);justify-content:space-between;padding-top:.75rem;padding-top:var(--space-3)}.todo-date,.todo-footer{align-items:center;display:flex}.todo-date{color:var(--text-tertiary);font-size:.75rem;font-weight:500;gap:.5rem;gap:var(--space-2)}.icon{align-items:center;display:inline-flex;justify-content:center;transition:transform .15s ease;transition:transform var(--duration-150) ease}@media (max-width:768px){.app-header{align-items:stretch;flex-direction:column;gap:1rem;gap:var(--space-4);padding:1rem;padding:var(--space-4)}.header-left,.header-right{justify-content:space-between}.header-stats{justify-content:center}.controls-bar{align-items:stretch;flex-direction:column;gap:1rem;gap:var(--space-4);padding:1rem;padding:var(--space-4)}.search-container{min-width:auto}.filter-controls{grid-gap:.75rem;grid-gap:var(--space-3);display:grid;gap:.75rem;gap:var(--space-3);grid-template-columns:1fr 1fr}.todos-grid{gap:1rem;gap:var(--space-4);grid-template-columns:1fr}.stats-grid{gap:.75rem;gap:var(--space-3);grid-template-columns:repeat(2,1fr)}.stat-card{flex-direction:column;padding:1rem;padding:var(--space-4);text-align:center}.stat-icon{font-size:1.5rem;height:48px;width:48px}.form-row:last-of-type{flex-direction:column}.auth-card{margin:1rem;margin:var(--space-4);padding:1.5rem;padding:var(--space-6)}.theme-toggle-auth{right:1rem;right:var(--space-4);top:1rem;top:var(--space-4)}}@media (max-width:480px){.add-form-container,.todo-item,.todos-container{padding:1rem;padding:var(--space-4)}.todo-header{margin-bottom:.75rem;margin-bottom:var(--space-3)}.todo-meta{gap:.25rem;gap:var(--space-1)}.header-stats,.user-info{display:none}.stats-grid{grid-template-columns:1fr}}@media (prefers-contrast:high){:root{--border-primary:#000;--border-secondary:#333;--text-primary:#000;--text-secondary:#333}.dark-theme{--border-primary:#fff;--border-secondary:#ccc;--text-primary:#fff;--text-secondary:#ccc}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.spinner{animation:none}}@media print{.add-form-container,.app-header,.controls-bar,.stats-panel,.todo-actions{display:none!important}.todo-item{border:1px solid #000;box-shadow:none;break-inside:avoid;margin-bottom:1rem;margin-bottom:var(--space-4);page-break-inside:avoid}.todos-grid{display:block}body{background:#fff!important;color:#000!important}}
/*# sourceMappingURL=main.c0b6511d.css.map*/