.date-filter{width:100%;margin-bottom:8px;overflow:hidden}.date-scroll{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;gap:12px;padding:8px 4px 12px;display:flex;overflow-x:auto}.date-scroll::-webkit-scrollbar{display:none}.date-item{background:var(--white);border-radius:var(--border-radius-sm);cursor:pointer;box-shadow:var(--shadow-sm);border:2px solid #0000;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;min-width:80px;padding:12px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;transform:translateY(0)}.date-item .weekday{color:var(--text-light);font-size:.75rem;font-weight:500}.date-item .day{color:var(--text-dark);font-size:1.5rem;font-weight:700;line-height:1}.date-item .month{color:var(--text-light);font-size:.7rem;font-weight:500}.date-item:hover{box-shadow:var(--shadow-md);border-color:var(--primary-orange);transform:translateY(-4px)}.date-item.today{background:linear-gradient(135deg,var(--primary-orange),var(--secondary-orange));color:var(--white)}.date-item.today .weekday,.date-item.today .day,.date-item.today .month{color:var(--white)}.date-item.active{background:linear-gradient(135deg,var(--primary-blue),var(--secondary-blue));color:var(--white);box-shadow:var(--shadow-lg);border-color:#0000;transform:translateY(-4px)scale(1.05)}.date-item.active .weekday,.date-item.active .day,.date-item.active .month{color:var(--white)}.date-item.active.today{background:linear-gradient(135deg,var(--primary-orange),var(--primary-blue))}@media (max-width:768px){.date-item{min-width:70px;padding:10px 12px}.date-item .day{font-size:1.3rem}}@media (max-width:480px){.date-item{gap:2px;min-width:60px;padding:8px 10px}.date-item .weekday{font-size:.7rem}.date-item .day{font-size:1.2rem}.date-item .month{font-size:.65rem}}.todo-form-container{width:100%;margin-bottom:8px}.add-button{background:linear-gradient(135deg,var(--primary-orange),var(--secondary-orange));width:100%;color:var(--white);border-radius:var(--border-radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:1.1rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;transform:translateY(0);box-shadow:0 4px 12px #ff8a3d4d,0 8px 20px #ff8a3d33,inset 0 1px 2px #ffffff4d,inset 0 -3px #0003}.add-button .add-icon{font-size:1.5rem;font-weight:700}.add-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff8a3d59,0 10px 28px #ff8a3d40,inset 0 1px 2px #fff6,inset 0 -3px #00000040}.add-button:active{transform:translateY(1px);box-shadow:0 2px 6px #ff8a3d66,inset 0 2px 8px #0000004d}.todo-form{background:var(--bg-light);border-radius:var(--border-radius);box-shadow:var(--shadow-md);padding:20px;animation:.3s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-group{margin-bottom:16px}.form-group label{color:var(--text-dark);margin-bottom:8px;font-size:.95rem;font-weight:600;display:block}.form-group input{border-radius:var(--border-radius-sm);background:var(--white);border:2px solid #e0e0e0;width:100%;padding:12px 16px;font-size:1rem;transition:all .3s}.form-group input:focus{border-color:var(--primary-blue);outline:none;box-shadow:0 0 0 3px #4a90e21a}.form-group input::placeholder{color:var(--text-light)}.form-group input[type=number]{max-width:200px}.form-actions{gap:12px;margin-top:20px;display:flex}.submit-button,.cancel-button{border-radius:var(--border-radius-sm);cursor:pointer;border:none;flex:1;padding:12px 24px;font-size:1rem;font-weight:600;transition:all .2s;transform:translateY(0)}.submit-button:hover,.cancel-button:hover{transform:translateY(-2px)}.submit-button:active,.cancel-button:active{transform:translateY(1px)}.submit-button{background:linear-gradient(135deg,var(--primary-blue),var(--secondary-blue));color:var(--white);box-shadow:0 3px 8px #4a90e24d,0 6px 16px #4a90e233,inset 0 1px 2px #ffffff4d,inset 0 -3px #0003}.submit-button:hover{box-shadow:0 4px 10px #4a90e259,0 8px 20px #4a90e240,inset 0 1px 2px #fff6,inset 0 -3px #00000040}.submit-button:active{box-shadow:0 2px 4px #4a90e266,inset 0 2px 6px #0000004d}.cancel-button{color:var(--text-dark);background:linear-gradient(145deg,#fff,#f5f5f5);border:2px solid #0000001a;box-shadow:0 2px 6px #00000014,0 4px 12px #0000000f,inset 0 1px 2px #fffc,inset 0 -2px #00000014}.cancel-button:hover{background:linear-gradient(145deg,#f8f8f8,#eee);border-color:#00000026}.cancel-button:active{background:linear-gradient(145deg,#eee,#e0e0e0);box-shadow:0 1px 3px #0000001f,inset 0 1px 4px #00000026}@media (max-width:768px){.todo-form{padding:16px}.add-button{padding:14px;font-size:1rem}}@media (max-width:480px){.todo-form{padding:12px}.add-button{padding:12px;font-size:.95rem}.add-button .add-icon{font-size:1.3rem}.form-group{margin-bottom:12px}.form-group label{font-size:.9rem}.form-group input{padding:10px 12px;font-size:.95rem}.form-actions{flex-direction:column;gap:8px}.submit-button,.cancel-button{padding:10px 20px;font-size:.95rem}}.timer-container{border-radius:var(--border-radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ff8a3d14,#4a90e214);border:2px solid #ff8a3d26;margin-top:16px;padding:20px;position:relative;overflow:hidden}.timer-container:before{content:"";background:linear-gradient(90deg,var(--primary-orange),var(--primary-blue));border-radius:var(--border-radius-lg)var(--border-radius-lg)0 0;height:4px;position:absolute;top:0;left:0;right:0}.timer-display{text-align:center;margin-bottom:18px}.timer-display .time-text{color:var(--text-dark);font-variant-numeric:tabular-nums;letter-spacing:.08em;text-shadow:0 3px 6px #0000001f;background:linear-gradient(135deg,var(--primary-orange),var(--primary-blue));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding:8px 0;font-size:2.8rem;font-weight:800;display:inline-block}.timer-display .time-status{color:var(--text-light);margin-top:10px;font-size:.95rem;font-weight:600;display:block}.timer-controls{justify-content:center;gap:12px;display:flex}.timer-btn{border-radius:var(--border-radius-lg);cursor:pointer;border:none;flex:1;max-width:200px;padding:14px 28px;font-size:1.05rem;font-weight:700;transition:all .3s;position:relative;transform:translateY(0);box-shadow:0 3px 8px #00000026,0 6px 16px #0000001a,inset 0 1px 2px #fff6,inset 0 -3px #00000026}.timer-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 12px #0000002e,0 8px 20px #0000001f,inset 0 1px 2px #ffffff80,inset 0 -3px #0003}.timer-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 4px #0003,inset 0 2px 6px #00000040}.timer-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.timer-btn:disabled:hover{transform:none;box-shadow:0 3px 8px #00000026,0 6px 16px #0000001a,inset 0 1px 2px #fff6,inset 0 -3px #00000026}.start-btn{background:linear-gradient(135deg,var(--primary-orange),var(--secondary-orange));color:var(--white);position:relative;overflow:hidden}.start-btn.running{background:linear-gradient(135deg,#ffc107,#ff9800);animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 #ff8a3db3}50%{box-shadow:0 0 0 10px #ff8a3d00}}.reset-btn{color:var(--text-dark);background:linear-gradient(145deg,#fff,#f5f5f5);border:2px solid #0000001a;box-shadow:0 3px 8px #0000001f,0 6px 16px #00000014,inset 0 1px 2px #fffc,inset 0 -3px #00000014}.reset-btn:hover:not(:disabled){background:linear-gradient(145deg,#f8f8f8,#eee);border-color:#00000026}.reset-btn:active:not(:disabled){background:linear-gradient(145deg,#eee,#e0e0e0)}.timer-notification{background:linear-gradient(135deg,var(--primary-orange),var(--primary-blue));color:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-3d);z-index:1000;padding:24px 48px;font-size:1.5rem;font-weight:700;animation:.5s cubic-bezier(.68,-.55,.265,1.55) notificationPop;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes notificationPop{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}50%{transform:translate(-50%,-50%)scale(1.1)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (max-width:768px){.timer-container{padding:14px}.timer-display .time-text{font-size:2rem}.timer-btn{padding:10px 20px;font-size:.95rem}.timer-notification{padding:20px 40px;font-size:1.3rem}}@media (max-width:480px){.timer-container{padding:12px}.timer-display{margin-bottom:12px}.timer-display .time-text{font-size:1.8rem}.timer-display .time-status{font-size:.85rem}.timer-controls{flex-direction:column;gap:8px}.timer-btn{max-width:none;padding:10px 16px;font-size:.9rem}.timer-notification{text-align:center;max-width:90%;padding:16px 32px;font-size:1.1rem}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0006;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(145deg,#fff,#fafbfc);border-radius:20px;min-width:320px;max-width:90vw;padding:32px;animation:.2s ease-out scaleIn;position:relative;box-shadow:0 8px 24px #00000026,0 16px 48px #0000001a,inset 0 -2px 4px #0000000d,inset 0 2px 2px #ffffffe6}.modal-content:before{content:"";border-radius:20px 20px 0 0;height:4px;position:absolute;top:0;left:0;right:0}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-title{color:#2c3e50;margin:0 0 16px;font-size:20px;font-weight:600}.modal-message{color:#5a6c7d;margin:0 0 24px;font-size:15px;line-height:1.5}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:12px;padding:10px 24px;font-size:14px;font-weight:500;transition:all .2s;box-shadow:0 2px 4px #0000001a,0 4px 8px #00000014,inset 0 1px #ffffff4d,inset 0 -2px #0000001a}.modal-btn:active{transform:translateY(1px);box-shadow:0 1px 2px #00000026,inset 0 1px 3px #0003}.cancel-btn{color:#5a6c7d;background:linear-gradient(145deg,#fff,#f0f4f8)}.cancel-btn:hover{box-shadow:0 3px 6px #0000001f,0 6px 12px #0000001a,inset 0 1px #ffffff4d,inset 0 -2px #0000001a}.confirm-btn{color:#fff;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);box-shadow:0 2px 4px #ff6b6b4d,0 4px 8px #ff6b6b33,0 6px 16px #ff6b6b26,inset 0 1px #fff3,inset 0 -2px #00000026}.confirm-btn:hover{box-shadow:0 3px 6px #ff6b6b59,0 6px 12px #ff6b6b40,0 8px 20px #ff6b6b2e,inset 0 1px #fff3,inset 0 -2px #00000026}@media (max-width:480px){.modal-content{min-width:280px;padding:24px}.modal-title{font-size:18px}.modal-message{font-size:14px}.modal-btn{padding:8px 20px;font-size:13px}}.todo-item{border-radius:var(--border-radius-lg);background:linear-gradient(145deg,#fff,#fafbfc);border:1px solid #00000014;padding:24px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000f,0 4px 12px #00000014,0 8px 24px #0000000d,inset 0 -2px 4px #00000005,inset 0 2px 2px #ffffffe6}.todo-item:after{content:"";filter:blur(4px);z-index:-1;background:radial-gradient(#00000026 0%,#0000 70%);height:8px;position:absolute;bottom:-8px;left:10%;right:10%}.todo-item:before{content:"";background:linear-gradient(180deg,var(--primary-orange),var(--primary-blue));opacity:.7;width:5px;height:100%;position:absolute;top:0;left:0;box-shadow:2px 0 8px #ff8a3d4d}.todo-item.completed{background:linear-gradient(145deg,#f0fdf4,#dcfce7);border:1px solid #22c55e33;box-shadow:0 1px 3px #22c55e14,0 4px 12px #22c55e1f,0 8px 24px #22c55e0f,inset 0 -2px 4px #22c55e0d,inset 0 2px 2px #ffffffe6}.todo-item.completed .todo-title{color:#16a34a;opacity:.85;text-decoration:line-through}.todo-item.completed .todo-time{color:#22c55e;opacity:.75}.todo-item.completed:before{opacity:.6;background:linear-gradient(#22c55e,#16a34a);box-shadow:2px 0 8px #22c55e40}.todo-item.completed:after{background:radial-gradient(#22c55e1f 0%,#0000 70%)}.todo-main{align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.complete-toggle{border:3px solid var(--primary-blue);cursor:pointer;width:36px;height:36px;color:var(--white);background:linear-gradient(145deg,#fff,#f0f4f8);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;transition:all .3s;display:flex;box-shadow:0 2px 6px #4a90e233,0 4px 12px #4a90e226,inset 0 -2px 4px #0000000d,inset 0 1px 2px #fffc}.complete-toggle:hover{border-width:4px;box-shadow:0 3px 8px #4a90e240,0 6px 16px #4a90e233,0 0 0 4px #4a90e21a,inset 0 -2px 4px #00000014,inset 0 1px 2px #ffffffe6}.complete-toggle:active{transform:scale(.95);box-shadow:0 1px 3px #4a90e24d,inset 0 2px 4px #00000026}.complete-toggle.checked{background:linear-gradient(135deg,var(--primary-blue),var(--secondary-blue));border-color:var(--primary-blue);box-shadow:0 3px 8px #4a90e266,0 6px 16px #4a90e24d,inset 0 1px 2px #ffffff4d,inset 0 -2px 4px #0003}.complete-toggle.checked .check-icon{animation:.5s cubic-bezier(.68,-.55,.265,1.55) checkPop}.complete-toggle.checked:active{box-shadow:0 2px 4px #4a90e280,inset 0 2px 6px #0000004d}@keyframes checkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.todo-content{flex:1;min-width:0}.todo-content .todo-title{color:var(--text-dark);word-wrap:break-word;margin-bottom:8px;font-size:1.15rem;font-weight:700;line-height:1.4}.todo-content .todo-time{color:var(--text-light);align-items:center;gap:6px;font-size:.9rem;font-weight:500;display:flex}.todo-content .todo-time:before{content:"⏱";font-size:1rem}.edit-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.edit-form .edit-input{border:2px solid var(--primary-blue);border-radius:var(--border-radius-sm);flex:1;min-width:200px;padding:8px 12px;font-size:1rem}.edit-form .edit-input:focus{outline:none;box-shadow:0 0 0 3px #4a90e21a}.edit-form .edit-time-input{border:2px solid var(--primary-blue);border-radius:var(--border-radius-sm);width:80px;padding:8px 12px;font-size:1rem}.edit-form .edit-time-input:focus{outline:none;box-shadow:0 0 0 3px #4a90e21a}.edit-form .time-unit{color:var(--text-light);font-size:.9rem}.todo-actions{flex-shrink:0;gap:8px;display:flex}.action-btn{border-radius:var(--border-radius-sm);cursor:pointer;white-space:nowrap;border:none;padding:10px 18px;font-size:.9rem;font-weight:700;transition:all .2s;position:relative;box-shadow:0 2px 4px #0000001a,0 4px 8px #00000014,inset 0 1px #ffffff4d,inset 0 -2px #0000001a}.action-btn:hover:not(:disabled){box-shadow:0 3px 6px #0000001f,0 6px 12px #0000001a,inset 0 1px #fff6,inset 0 -2px #00000026}.action-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 2px #00000026,inset 0 1px 3px #0003}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn:disabled:hover{box-shadow:0 2px 4px #0000001a,0 4px 8px #00000014,inset 0 1px #ffffff4d,inset 0 -2px #0000001a}.edit-btn{background:linear-gradient(135deg,var(--primary-blue),var(--secondary-blue));color:var(--white)}.edit-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--secondary-blue),var(--primary-blue))}.delete-btn{color:var(--white);background:linear-gradient(135deg,#ff6b6b,#ee5a6f)}.delete-btn:hover:not(:disabled){background:linear-gradient(135deg,#ee5a6f,#ff6b6b)}.save-btn{color:var(--white);background:linear-gradient(135deg,#51cf66,#37b24d)}.save-btn:hover:not(:disabled){background:linear-gradient(135deg,#37b24d,#51cf66)}.cancel-btn{background:var(--white);color:var(--text-dark);border:2px solid #e0e0e0}.cancel-btn:hover{border-color:var(--text-dark);background:#f5f5f5}@media (max-width:768px){.todo-item{padding:16px}.todo-main{gap:12px;margin-bottom:12px}.complete-toggle{width:28px;height:28px;font-size:.9rem}.todo-content .todo-title{font-size:1rem}.todo-content .todo-time{font-size:.85rem}.action-btn{padding:6px 12px;font-size:.85rem}}@media (max-width:480px){.todo-item{padding:12px}.todo-main{flex-wrap:wrap;gap:10px}.complete-toggle{width:26px;height:26px}.todo-content{flex:100%;order:2}.todo-content .todo-title{font-size:.95rem}.todo-content .todo-time{font-size:.8rem}.todo-actions{order:3;justify-content:flex-end;gap:6px;width:100%}.action-btn{flex:1;padding:8px;font-size:.8rem}.edit-form .edit-input{min-width:100%}.edit-form .edit-time-input{width:100px}}.todo-list{scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;margin-top:8px;padding:12px;overflow-y:auto}.todo-list::-webkit-scrollbar{display:none}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-state .empty-icon{opacity:.6;margin-bottom:16px;font-size:4rem;animation:2s ease-in-out infinite bounce}.empty-state p{color:var(--text-light);margin-bottom:8px;font-size:1.1rem}.empty-state .empty-hint{color:var(--text-light);opacity:.7;font-size:.9rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.todo-items{flex-direction:column;gap:16px;display:flex}@media (max-width:768px){.empty-state{padding:40px 20px}.empty-state .empty-icon{font-size:3rem}.empty-state p{font-size:1rem}.todo-items{gap:12px}}@media (max-width:480px){.empty-state{padding:30px 16px}.empty-state .empty-icon{font-size:2.5rem}.empty-state p{font-size:.95rem}.empty-state .empty-hint{font-size:.85rem}}.app{flex-direction:column;width:100%;max-width:1200px;height:100vh;margin:0 auto;padding:20px;display:flex;overflow:hidden}.app-header{text-align:center;margin-bottom:30px}.app-title{color:var(--white);text-shadow:0 4px 12px #0000004d;justify-content:center;align-items:center;gap:12px;font-size:2.5rem;font-weight:800;display:flex}.app-title .title-icon{font-size:2.8rem;animation:3s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.app-main{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-3d);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;flex-direction:column;flex:1;gap:20px;min-height:0;padding:24px;display:flex;overflow:hidden}.loading{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.loading .loading-spinner{border:4px solid #ff8a3d33;border-top-color:var(--primary-orange);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}.loading p{color:var(--text-light);font-size:1rem}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:768px){.app{padding:12px}.app-title{font-size:1.8rem}.app-title .title-icon{font-size:2rem}.app-main{gap:16px;padding:16px}}@media (max-width:480px){.app{padding:8px}.app-title{font-size:1.5rem}.app-title .title-icon{font-size:1.6rem}.app-main{padding:12px}}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-orange:#ff8a3d;--primary-blue:#4a90e2;--secondary-orange:#ffb366;--secondary-blue:#6bb6ff;--bg-gradient:linear-gradient(135deg,#667eea 0%,#764ba2 100%);--bg-light:#f5f7fa;--text-dark:#2c3e50;--text-light:#7f8c8d;--white:#fff;--shadow-sm:0 2px 8px #0000001a;--shadow-md:0 4px 16px #00000026;--shadow-lg:0 8px 32px #0003;--shadow-3d:0 10px 30px #0000004d;--border-radius:16px;--border-radius-sm:12px;--border-radius-lg:24px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-gradient);color:var(--text-dark);height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow:hidden}#root{flex-direction:column;height:100vh;display:flex;overflow:hidden}::-webkit-scrollbar{width:0;height:0;display:none}::-webkit-scrollbar-track{display:none}::-webkit-scrollbar-thumb{display:none}
