*{margin:0;padding:0;box-sizing:border-box;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}:root{--primary: #ff7eb9;--secondary: #7e8ce0;--accent: #ff9a8b;--light: #f8f9fa;--dark: #212529;--pastel-pink: #ffd1dc;--pastel-blue: #c9e4ff;--pastel-purple: #e0bbff}body{background:linear-gradient(135deg,#f5f7fa,#e4edf5);color:var(--dark);overflow-x:hidden;background-attachment:fixed;background-size:cover;min-height:100vh}.floating-element{position:fixed;z-index:-1;opacity:.3;animation:float 8s infinite ease-in-out}.floating-element:nth-child(1){top:10%;left:5%;font-size:4rem;color:var(--primary);animation-delay:0s}.floating-element:nth-child(2){top:20%;right:10%;font-size:3rem;color:var(--secondary);animation-delay:1s}.floating-element:nth-child(3){bottom:30%;left:15%;font-size:5rem;color:var(--accent);animation-delay:2s}.floating-element:nth-child(4){bottom:15%;right:20%;font-size:3.5rem;color:var(--pastel-purple);animation-delay:3s}@keyframes float{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(10deg)}to{transform:translateY(0) rotate(0)}}header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000000d;transition:all .4s ease}header.scrolled{padding:.8rem 2rem;box-shadow:0 2px 15px #0000001a}.logo{display:flex;align-items:center;gap:10px;font-size:1.8rem;font-weight:700;color:var(--primary);text-decoration:none}.logo img{color:var(--secondary);animation:spin 4s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nav-links{display:flex;gap:2rem}.nav-links a{text-decoration:none;color:var(--dark);font-weight:500;position:relative;padding:.5rem 0;transition:all .3s ease}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--primary);transition:width .3s ease}.nav-links a:hover{color:var(--primary)}.nav-links a:hover:after{width:100%}.nav-links a.router-link-active{color:var(--primary)}.nav-links a.router-link-active:after{width:100%}.main-content{min-height:calc(100vh - 200px);padding-top:80px}.page{min-height:calc(100vh - 200px);padding:2rem 10% 5rem}.section-title{text-align:center;font-size:2.5rem;margin-bottom:3rem;position:relative;color:var(--secondary)}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:80px;height:4px;background:var(--primary);border-radius:2px}.todo-container{max-width:800px;margin:0 auto}footer{background:var(--dark);color:#fff;padding:3rem 10% 2rem;text-align:center}.footer-content{max-width:800px;margin:0 auto 2rem}.footer-logo{font-size:2rem;margin-bottom:1rem;color:var(--primary)}.footer-links{display:flex;justify-content:center;gap:2rem;margin:1.5rem 0}.footer-links a{color:#ddd;text-decoration:none;transition:all .3s ease}.footer-links a:hover,.footer-links a.router-link-active{color:var(--primary)}.copyright{color:#aaa;font-size:.9rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #444}@media(max-width:768px){.page{padding:1rem 5% 3rem}.section-title{font-size:2rem}header{padding:1rem}.nav-links{gap:1rem}.logo{font-size:1.5rem}.form-row{grid-template-columns:1fr}.management-header{flex-direction:column;gap:1rem;align-items:flex-start}.search-box input{width:100%}}@media(max-width:480px){.todo-stats{flex-direction:column;gap:1rem}.stat-item{flex-direction:row;justify-content:space-between;width:100%}.todo-filters{flex-wrap:wrap}.admin-header{flex-direction:column;gap:1rem;align-items:flex-start}}.toast-container{position:fixed;top:100px;right:20px;z-index:9999;pointer-events:none}.toast-wrapper{display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{position:relative;display:flex;align-items:center;min-width:300px;max-width:400px;padding:16px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001f;border-left:4px solid;pointer-events:all;animation:slideInRight .3s ease}.toast-closeable{padding-right:40px}.toast-success{border-left-color:#10b981;background:linear-gradient(135deg,#f0fdf4,#ecfdf5)}.toast-error{border-left-color:#ef4444;background:linear-gradient(135deg,#fef2f2,#fef2f2)}.toast-warning{border-left-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fffbeb)}.toast-info{border-left-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#eff6ff)}.toast-icon{flex-shrink:0;width:24px;height:24px;margin-right:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.toast-success .toast-icon{color:#10b981}.toast-error .toast-icon{color:#ef4444}.toast-warning .toast-icon{color:#f59e0b}.toast-info .toast-icon{color:#3b82f6}.toast-content{flex:1;min-width:0}.toast-title{font-weight:600;font-size:.95rem;margin-bottom:4px;color:#1f2937}.toast-message{font-size:.875rem;line-height:1.4;color:#6b7280}.toast-close{position:absolute;top:12px;right:12px;width:24px;height:24px;border:none;background:none;color:#9ca3af;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.toast-close:hover{background:#0000000d;color:#374151}.toast-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#0000001a;border-radius:0 0 12px 12px;overflow:hidden}.toast-progress-bar{height:100%;background:currentColor;animation:progress linear forwards;transform-origin:left}.toast-success .toast-progress-bar{background:#10b981}.toast-error .toast-progress-bar{background:#ef4444}.toast-warning .toast-progress-bar{background:#f59e0b}.toast-info .toast-progress-bar{background:#3b82f6}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-enter{animation:slideInRight .3s ease}.toast-exit{animation:slideOutRight .3s ease}@media(max-width:640px){.toast-container{right:10px;left:10px;top:80px}.toast{min-width:auto;max-width:none}}.todo-stats[data-v-dff3cb73]{display:flex;justify-content:space-around;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000000d}.stat-item[data-v-dff3cb73]{display:flex;flex-direction:column;align-items:center}.stat-number[data-v-dff3cb73]{font-size:2rem;font-weight:700;color:var(--secondary)}.stat-label[data-v-dff3cb73]{color:#666;font-size:.9rem;margin-top:.5rem}.todo-filters[data-v-dff3cb73]{display:flex;gap:1rem;margin-bottom:1.5rem;justify-content:center}.filter-btn[data-v-dff3cb73]{padding:.5rem 1.5rem;border:2px solid var(--secondary);background:transparent;color:var(--secondary);border-radius:25px;cursor:pointer;transition:all .3s ease}.filter-btn.active[data-v-dff3cb73],.filter-btn[data-v-dff3cb73]:hover{background:var(--secondary);color:#fff}.todo-item[data-v-dff3cb73]{display:flex;align-items:flex-start;padding:1.5rem;background:#fff;border-radius:12px;margin-bottom:1rem;box-shadow:0 3px 15px #00000014;transition:all .3s ease;position:relative;overflow:hidden}.todo-item[data-v-dff3cb73]:hover{transform:translateY(-2px);box-shadow:0 5px 20px #7e8ce026}.todo-item.completed[data-v-dff3cb73]{opacity:.7;background:#f8f9ff}.todo-priority[data-v-dff3cb73]{width:4px;height:100%;position:absolute;left:0;top:0}.priority-high[data-v-dff3cb73]{background:#ef4444}.priority-medium[data-v-dff3cb73]{background:#f59e0b}.priority-low[data-v-dff3cb73]{background:#10b981}.todo-content[data-v-dff3cb73]{flex:1;margin-left:1rem}.todo-title[data-v-dff3cb73]{font-size:1.2rem;margin-bottom:.5rem;color:var(--dark)}.todo-item.completed .todo-title[data-v-dff3cb73]{text-decoration:line-through;color:#999}.todo-description[data-v-dff3cb73]{color:#666;margin-bottom:.8rem;line-height:1.4}.todo-meta[data-v-dff3cb73]{display:flex;gap:1rem;font-size:.8rem;color:#999}.todo-status[data-v-dff3cb73]{display:flex;align-items:center;margin-left:1rem}.completed-icon[data-v-dff3cb73]{color:#10b981;font-size:1.5rem}.status-pending[data-v-dff3cb73]{color:#f59e0b;font-weight:500}.empty-state[data-v-dff3cb73]{text-align:center;padding:3rem;color:#999}.empty-state i[data-v-dff3cb73]{font-size:4rem;margin-bottom:1rem;color:#ddd}