*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-width:700px;margin:0 auto;padding:20px;background:#f5f5f5;color:#333}.app-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.app-header h1{margin:0;font-size:1.5rem;color:#333}.user-email{color:#999;font-size:.85rem}.card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #00000014;margin-bottom:20px}.auth-card{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 12px #0000001a;max-width:400px;margin:40px auto}.auth-card h1{margin:0 0 20px;font-size:1.4rem;text-align:center;color:#0070f3}.auth-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid #eee}.auth-tab{flex:1;padding:8px 0;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;color:#999;font-size:.95rem;font-weight:500;transition:color .15s}.auth-tab.active{color:#0070f3;border-bottom-color:#0070f3}input,textarea{display:block;width:100%;padding:10px 12px;margin:8px 0;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.95rem;transition:border-color .15s;background:#fafafa}input:focus,textarea:focus{outline:none;border-color:#0070f3;background:#fff}textarea{resize:vertical;min-height:60px}.form-row{display:flex;gap:10px}.form-row input{flex:1}button{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:500;transition:background .15s,opacity .15s}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#0070f3;color:#fff}.btn-primary:hover:not(:disabled){background:#0051a8}.btn-ghost{background:transparent;color:#666;border:1px solid #ddd}.btn-ghost:hover:not(:disabled){background:#f0f0f0}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background:#c82333}.btn-add{background:#0070f3;color:#fff;width:100%;padding:12px;font-size:1rem}.btn-add:hover{background:#0051a8}.form-actions{display:flex;gap:10px;margin-top:10px;align-items:center}.todo-form{margin-top:10px}.todos-list{display:flex;flex-direction:column;gap:10px}.todo-card{background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f;border:1px solid #eee;transition:box-shadow .15s;cursor:pointer}.todo-card:hover{box-shadow:0 2px 10px #0000001a}.todo-card.completed{opacity:.6}.todo-card.completed .todo-title{text-decoration:line-through;color:#999}.todo-content{padding:15px 20px}.todo-title-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}.todo-title{font-weight:600;font-size:1rem;color:#333}.completed-badge{font-size:.75rem;background:#d4edda;color:#155724;padding:2px 8px;border-radius:10px;font-weight:500}.todo-desc{margin:4px 0 6px;color:#666;font-size:.9rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.todo-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}.meta-item{font-size:.8rem;color:#999}.tag{font-size:.75rem;background:#eef2ff;color:#4f46e5;padding:2px 8px;border-radius:10px;font-weight:500}.empty-state{text-align:center;color:#999;padding:30px;background:#fff;border-radius:8px;border:1px dashed #ddd}.error-msg{color:#dc3545;font-size:.875rem;margin-top:6px;min-height:20px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}
