*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color:#4caf50;--primary-dark:#388e3c;--primary-light:#c8e6c9;--secondary-color:#2196f3;--danger-color:#f44336;--warning-color:#ff9800;--text-primary:#333;--text-secondary:#666;--bg-primary:#f5f5f5;--bg-white:#fff;--border-color:#e0e0e0;--shadow:0 2px 8px #0000001a;--radius:8px}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.6}.app-container{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--bg-white);box-shadow:var(--shadow);z-index:100;padding:12px 20px;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.app-logo{color:var(--primary-color);align-items:center;gap:8px;font-size:24px;font-weight:700;display:flex}.nav-menu{-webkit-overflow-scrolling:touch;gap:8px;display:flex;overflow-x:auto}.nav-item{cursor:pointer;border-radius:var(--radius);white-space:nowrap;color:var(--text-secondary);background:0 0;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:14px;transition:all .3s;display:flex}.nav-item:hover{background:var(--primary-light);color:var(--primary-dark)}.nav-item.active{background:var(--primary-color);color:#fff}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:20px}.login-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-box{background:var(--bg-white);border-radius:16px;width:100%;max-width:400px;padding:40px;box-shadow:0 8px 32px #0003}.login-title{text-align:center;color:var(--primary-color);margin-bottom:8px;font-size:32px;font-weight:700}.login-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:32px}.form-group{margin-bottom:20px}.form-label{color:var(--text-primary);margin-bottom:8px;font-weight:500;display:block}.form-input{border:2px solid var(--border-color);border-radius:var(--radius);width:100%;padding:12px 16px;font-size:16px;transition:border-color .3s}.form-input:focus{border-color:var(--primary-color);outline:none}.btn{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:16px;font-weight:500;transition:all .3s;display:inline-flex}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--secondary-color);color:#fff}.btn-danger{background:var(--danger-color);color:#fff}.btn-block{width:100%}.card{background:var(--bg-white);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:20px}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-title{font-size:20px;font-weight:600}.task-item{border:1px solid var(--border-color);border-radius:var(--radius);align-items:flex-start;gap:12px;margin-bottom:12px;padding:16px;transition:all .3s;display:flex}.task-item:hover{box-shadow:var(--shadow)}.task-status{border:2px solid var(--border-color);cursor:pointer;border-radius:50%;flex-shrink:0;width:20px;height:20px;margin-top:2px}.task-status.completed{background:var(--primary-color);border-color:var(--primary-color)}.task-content{flex:1}.task-title{margin-bottom:4px;font-size:16px;font-weight:500}.task-title.completed{color:var(--text-secondary);text-decoration:line-through}.task-meta{color:var(--text-secondary);flex-wrap:wrap;gap:12px;font-size:14px;display:flex}.task-actions{gap:8px;display:flex}.priority-badge{border-radius:12px;padding:2px 8px;font-size:12px;font-weight:500}.priority-high{color:var(--danger-color);background:#ffebee}.priority-medium{color:var(--warning-color);background:#fff3e0}.priority-low{background:var(--primary-light);color:var(--primary-dark)}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-white);border-radius:16px;width:100%;max-width:500px;max-height:90vh;padding:32px;overflow-y:auto}.modal-title{margin-bottom:24px;font-size:24px;font-weight:600}.empty-state{text-align:center;color:var(--text-secondary);padding:60px 20px}.empty-icon{margin-bottom:16px;font-size:64px}.empty-text{margin-bottom:8px;font-size:18px}.empty-hint{font-size:14px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-white);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;padding:24px}.stat-number{color:var(--primary-color);margin-bottom:8px;font-size:36px;font-weight:700}.stat-label{color:var(--text-secondary);font-size:14px}.loading{text-align:center;color:var(--text-secondary);padding:40px}.spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.message{border-radius:var(--radius);margin-bottom:16px;padding:12px 16px}.message-success{background:var(--primary-light);color:var(--primary-dark);border:1px solid var(--primary-color)}.message-error{color:var(--danger-color);border:1px solid var(--danger-color);background:#ffebee}@media (width<=1024px){.main-content{padding:16px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (width<=768px){.app-header{padding:8px 12px}.header-content{flex-direction:column;gap:12px}.app-logo{font-size:20px}.nav-menu{justify-content:space-between;width:100%}.nav-item{padding:6px 12px;font-size:13px}.main-content{padding:12px}.login-box{padding:24px}.login-title{font-size:24px}.task-item{flex-direction:column}.task-actions{justify-content:flex-end;width:100%}.modal-content{margin:10px;padding:20px}.stats-grid{grid-template-columns:1fr 1fr}}@media (width<=480px){.nav-item span:not(.nav-icon){display:none}.stats-grid{grid-template-columns:1fr}.card-header{flex-direction:column;align-items:flex-start;gap:12px}}.text-center{text-align:center}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}.flex{display:flex}.gap-8{gap:8px}.gap-16{gap:16px}
